From 920d307141d06487f48cedadb0695b351e854a83 Mon Sep 17 00:00:00 2001 From: NADAL Jean-Baptiste Date: Thu, 28 Mar 2019 22:49:48 +0100 Subject: [PATCH] Bump buildroot to 2019.02 --- bsp/buildroot/.flake8 | 5 + bsp/buildroot/.gitlab-ci.yml | 397 ++++ bsp/buildroot/.gitlab-ci.yml.in | 86 + bsp/buildroot/CHANGES | 1119 +++++++++- bsp/buildroot/Config.in | 66 +- bsp/buildroot/Config.in.legacy | 1572 +++++++++++-- bsp/buildroot/DEVELOPERS | 583 +++-- bsp/buildroot/Makefile | 257 ++- bsp/buildroot/VERSION | 2 +- bsp/buildroot/arch/Config.in | 147 +- bsp/buildroot/arch/Config.in.arc | 2 +- bsp/buildroot/arch/Config.in.arm | 141 +- bsp/buildroot/arch/Config.in.bfin | 102 - bsp/buildroot/arch/Config.in.m68k | 2 +- bsp/buildroot/arch/Config.in.mips | 50 +- bsp/buildroot/arch/Config.in.powerpc | 4 +- bsp/buildroot/arch/Config.in.riscv | 127 ++ bsp/buildroot/arch/Config.in.sh | 2 +- bsp/buildroot/arch/Config.in.sparc | 2 +- bsp/buildroot/arch/Config.in.x86 | 30 +- bsp/buildroot/arch/Config.in.xtensa | 20 +- bsp/buildroot/arch/arch.mk | 22 + bsp/buildroot/arch/arch.mk.riscv | 30 + bsp/buildroot/arch/arch.mk.xtensa | 2 +- .../{pc => aarch64-efi}/genimage-efi.cfg | 7 +- bsp/buildroot/board/aarch64-efi/grub.cfg | 6 + bsp/buildroot/board/aarch64-efi/post-image.sh | 5 + bsp/buildroot/board/aarch64-efi/readme.txt | 34 + .../board/amarula/a64-relic/extlinux.conf | 4 + .../board/amarula/a64-relic/genimage.cfg | 10 + .../board/amarula/a64-relic/post-build.sh | 4 + .../board/amarula/a64-relic/readme.txt | 90 + .../lib/firmware/brcm/brcmfmac4330-sdio.txt | 83 + .../board/amarula/vyasa/extlinux.conf | 4 + .../board/amarula/vyasa/genimage.cfg | 22 + .../board/amarula/vyasa/linux_gmac.fragment | 3 + .../board/amarula/vyasa/post-build.sh | 9 + bsp/buildroot/board/amarula/vyasa/readme.txt | 31 + .../arcturus/aarch64-ucls1012a/post-image.sh | 6 + .../arcturus/aarch64-ucls1012a/readme.txt | 74 + .../rootfs_overlay/etc/init.d/S09modload | 14 + bsp/buildroot/board/asus/tinker/extlinux.conf | 4 + bsp/buildroot/board/asus/tinker/genimage.cfg | 15 + bsp/buildroot/board/asus/tinker/post-build.sh | 9 + bsp/buildroot/board/asus/tinker/readme.txt | 37 + bsp/buildroot/board/atmel/flasher.sh | 10 + .../board/bananapi/bananapi-m2-ultra/boot.cmd | 7 + .../bananapi/bananapi-m2-ultra/genimage.cfg | 33 + .../bananapi/bananapi-m2-ultra/readme.txt | 35 + bsp/buildroot/board/beaglebone/uEnv.txt | 8 +- .../boundarydevices/common/6x_bootscript.txt | 131 -- .../boundarydevices/common/6x_upgrade.txt | 69 - .../board/boundarydevices/common/boot.cmd | 40 +- .../boundarydevices/common/post-build.sh | 28 +- .../board/boundarydevices/common/upgrade.cmd | 69 +- ...dts-tpm.patch => linux-4.15-dts-tpm.patch} | 0 ...linux-4.6.fragment => linux-4.15.fragment} | 0 .../0001-mips-Remove-default-endiannes.patch | 66 + ...ine-for-serial-console-and-rootfs-on.patch | 25 + .../board/digilent/zybo/post-image.sh | 18 - bsp/buildroot/board/digilent/zybo/readme.txt | 76 - bsp/buildroot/board/digilent/zybo/uEnv.txt | 5 - .../board/embest/riotboard/genimage.cfg | 17 + .../board/embest/riotboard/readme.txt | 38 + .../boot/extlinux/extlinux.conf | 6 + .../common/imx/genimage.cfg.template | 2 +- .../common/imx/genimage.cfg.template_imx8 | 40 + .../common/imx/imx8-bootloader-prepare.sh | 20 + .../board/freescale/common/imx/post-image.sh | 21 +- ...nct-pre-processed-mkimage-config-fil.patch | 89 + .../board/freescale/imx8mqevk/readme.txt | 80 + .../board/freescale/p1025twr/readme.txt | 25 + .../board/freescale/t1040d4rdb/readme.txt | 24 + .../board/gdb/bfin-bf512/linux.config | 87 - bsp/buildroot/board/gdb/bfin-bf512/readme.txt | 11 - bsp/buildroot/board/gdb/post-build.sh | 4 - .../board/hardkernel/odroidxu4/boot.ini | 38 + .../board/hardkernel/odroidxu4/genimage.cfg | 54 + .../board/hardkernel/odroidxu4/post-image.sh | 24 + .../board/hardkernel/odroidxu4/readme.txt | 37 + bsp/buildroot/board/lego/ev3/genimage.cfg | 14 +- bsp/buildroot/board/lego/ev3/linux.fragment | 6 + ...s-legoev3-increase-flash-image-sizes.patch | 31 - bsp/buildroot/board/lego/ev3/readme.txt | 17 + .../board/olimex/a10_olinuxino/boot.cmd | 1 + .../board/olimex/a10_olinuxino/genimage.cfg | 1 + .../board/olimex/a10_olinuxino/post-build.sh | 1 + .../board/olimex/a10_olinuxino/readme.txt | 57 + .../{boot-mali.cmd => boot-legacy.cmd} | 0 .../board/olimex/a20_olinuxino/readme.txt | 4 +- .../orangepi-lite/linux-extras.config | 7 + .../orangepi/orangepi-lite2/extlinux.conf | 4 + .../orangepi/orangepi-lite2/genimage.cfg | 33 + .../orangepi/orangepi-lite2/post-build.sh | 4 + .../board/orangepi/orangepi-lite2/readme.txt | 44 + .../lib/firmware/brcm/brcmfmac43455-sdio.txt | 82 + .../orangepi/orangepi-one-plus/extlinux.conf | 4 + .../orangepi/orangepi-one-plus/genimage.cfg | 33 + .../orangepi/orangepi-one-plus/post-build.sh | 4 + .../orangepi/orangepi-one-plus/readme.txt | 37 + .../board/orangepi/orangepi-pc/linux.fragment | 5 + .../orangepi-zero-plus2/linux-extras.config | 10 + ...ange-pi-zero-plus2-fix-sdcard-detect.patch | 30 - .../lib/firmware/brcm/brcmfmac43430-sdio.txt | 54 + .../orangepi-zero/linux-extras.config | 3 + bsp/buildroot/board/pc/grub-efi.cfg | 0 bsp/buildroot/board/pc/linux.config | 1 + bsp/buildroot/board/pc/post-build.sh | 10 + bsp/buildroot/board/pc/post-image-efi-gpt.sh | 62 + bsp/buildroot/board/pc/post-image.sh | 14 - bsp/buildroot/board/pc/readme.txt | 2 +- .../board/pine64/rock64/extlinux.conf | 4 + .../board/pine64/rock64/genimage.cfg | 23 + ...328-needs-itb-image-to-boot-properly.patch | 32 + .../board/pine64/rock64/post-build.sh | 9 + bsp/buildroot/board/pine64/rock64/readme.txt | 95 + .../{linux-4.13.config => linux.config} | 2 - .../board/qemu/aarch64-virt/readme.txt | 4 +- ...ux-4.4-nommu.config => linux-nommu.config} | 3 +- .../{linux-4.13.config => linux.config} | 0 .../patches/linux/versatile-nommu.patch | 121 +- .../board/qemu/arm-versatile/readme.txt | 4 +- .../board/qemu/arm-vexpress/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/m68k-mcf5208/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 bsp/buildroot/board/qemu/m68k-q800/readme.txt | 4 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/microblazebe-mmu/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/microblazeel-mmu/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips32r2-malta/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips32r2el-malta/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips32r6-malta/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips32r6el-malta/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips64-malta/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips64el-malta/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips64r6-malta/readme.txt | 5 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/mips64r6el-malta/readme.txt | 2 +- .../{linux-4.11.fragment => linux.fragment} | 0 .../board/qemu/nios2-10m50/readme.txt | 2 +- bsp/buildroot/board/qemu/or1k/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/ppc-g3beige/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/ppc-mpc8544ds/readme.txt | 2 +- .../{linux-4.9.config => linux.config} | 0 .../board/qemu/ppc-virtex-ml507/readme.txt | 2 +- .../board/qemu/ppc64-e5500/linux.fragment | 10 + .../board/qemu/ppc64-e5500/readme.txt | 7 + .../board/qemu/ppc64-pseries/readme.txt | 2 +- .../board/qemu/ppc64le-pseries/readme.txt | 2 +- .../board/qemu/riscv32-virt/linux.config | 23 + .../board/qemu/riscv32-virt/readme.txt | 7 + .../board/qemu/riscv64-virt/readme.txt | 7 + .../{linux-4.9.config => linux.config} | 0 ...-sci-increase-RX-FIFO-trigger-defaul.patch | 61 + bsp/buildroot/board/qemu/sh4-r2d/readme.txt | 2 +- .../{linux-4.9.config => linux.config} | 0 ...-sci-increase-RX-FIFO-trigger-defaul.patch | 61 + bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/sparc-ss10/readme.txt | 2 +- .../{linux-4.11.config => linux.config} | 0 .../board/qemu/sparc64-sun4u/readme.txt | 2 +- .../x86/{linux-4.15.config => linux.config} | 0 bsp/buildroot/board/qemu/x86/readme.txt | 2 +- .../{linux-4.15.config => linux.config} | 0 bsp/buildroot/board/qemu/x86_64/readme.txt | 2 +- ...x-4.11-nommu.config => linux-nommu.config} | 1 + .../{linux-4.11.config => linux.config} | 0 .../board/qemu/xtensa-lx60/readme.txt | 2 +- .../raspberrypi/genimage-raspberrypi0.cfg | 1 - .../raspberrypi/genimage-raspberrypi0w.cfg | 31 + .../raspberrypi/genimage-raspberrypi3-64.cfg | 1 + .../raspberrypi/genimage-raspberrypi3.cfg | 1 + bsp/buildroot/board/raspberrypi/post-image.sh | 4 +- bsp/buildroot/board/raspberrypi/readme.txt | 3 +- bsp/buildroot/board/raspberrypi0w | 1 + bsp/buildroot/board/sheevaplug/readme.txt | 36 + .../board/solidrun/clearfog/extlinux.conf | 4 + .../board/solidrun/clearfog/genimage.cfg | 16 + .../board/solidrun/clearfog/linux.fragment | 1 + .../board/solidrun/clearfog/post-build.sh | 5 + .../board/solidrun/clearfog/readme.txt | 61 + .../board/solidrun/macchiatobin/extlinux.conf | 4 + .../solidrun/macchiatobin/linux-extras.config | 2 +- .../macchiatobin/post-build-mainline.sh | 5 + .../board/solidrun/macchiatobin/readme.txt | 30 +- .../macchiatobin/uboot-fragment.config | 2 + .../synopsys/axs10x/fs-overlay/etc/inittab | 42 - ...01-axs103-Clean-up-smp_kick_all_cpus.patch | 48 - ...lave-core-kick-start-on-axs103-v1.1-.patch | 72 - .../board/synopsys/axs10x/post-build.sh | 11 + .../zybo => synopsys/hsdk}/genimage.cfg | 10 +- .../board/synopsys/hsdk/linux.fragment | 2 + bsp/buildroot/board/synopsys/hsdk/readme.txt | 33 + .../board/synopsys/hsdk/uboot.env.txt | 9 + .../technexion/imx6ulpico/linux.fragment | 1 - .../patches/uboot/0001-picomx7dname.patch | 31 + bsp/buildroot/board/zynqmp/genimage.cfg | 28 + ...64-zynqmp-zcu106-fix-SPL-MMC-booting.patch | 52 + ...2-arm64-zynqmp-Enable-booting-to-ATF.patch | 114 + ...ept-an-absolute-path-for-PMUFW_INIT_.patch | 68 + ...ynqmp-pass-the-PS-init-file-as-a-kco.patch | 175 ++ bsp/buildroot/board/zynqmp/post-image.sh | 13 + bsp/buildroot/board/zynqmp/readme.txt | 51 + bsp/buildroot/boot/Config.in | 3 +- .../boot/afboot-stm32/afboot-stm32.mk | 6 +- .../boot/arm-trusted-firmware/Config.in | 19 + .../arm-trusted-firmware.mk | 44 +- bsp/buildroot/boot/at91bootstrap/Config.in | 8 +- .../boot/at91bootstrap/at91bootstrap.mk | 2 +- bsp/buildroot/boot/at91bootstrap3/Config.in | 12 +- .../boot/at91dataflashboot/Config.in | 2 +- bsp/buildroot/boot/barebox/Config.in | 4 +- bsp/buildroot/boot/barebox/barebox.hash | 6 +- bsp/buildroot/boot/barebox/barebox.mk | 2 +- bsp/buildroot/boot/barebox/barebox/Config.in | 1 - bsp/buildroot/boot/binaries-marvell/Config.in | 4 +- .../binaries-marvell/binaries-marvell.hash | 4 +- .../boot/binaries-marvell/binaries-marvell.mk | 3 +- ...reat-R_X86_64_PLT32-as-R_X86_64_PC32.patch | 74 + bsp/buildroot/boot/grub2/Config.in | 48 +- bsp/buildroot/boot/grub2/grub2.mk | 74 +- bsp/buildroot/boot/grub2/readme.txt | 102 +- bsp/buildroot/boot/gummiboot/Config.in | 1 + bsp/buildroot/boot/lpc32xxcdl/Config.in | 2 +- bsp/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk | 8 +- .../boot/mv-ddr-marvell/mv-ddr-marvell.hash | 2 +- .../boot/mv-ddr-marvell/mv-ddr-marvell.mk | 3 +- bsp/buildroot/boot/mxs-bootlets/Config.in | 8 +- bsp/buildroot/boot/riscv-pk/Config.in | 14 + bsp/buildroot/boot/riscv-pk/riscv-pk.mk | 32 + bsp/buildroot/boot/shim/Config.in | 19 + bsp/buildroot/boot/shim/shim.hash | 3 + bsp/buildroot/boot/shim/shim.mk | 31 + ...inux-Use-the-host-toolchain-to-build.patch | 53 + ...-sysmacros-h-for-major-minor-makedev.patch | 34 + ...Fix-build-with-gnu-efi-version-3.0.9.patch | 45 + bsp/buildroot/boot/syslinux/Config.in | 2 +- bsp/buildroot/boot/syslinux/syslinux.mk | 2 +- bsp/buildroot/boot/uboot/Config.in | 152 +- bsp/buildroot/boot/uboot/uboot.hash | 2 +- bsp/buildroot/boot/uboot/uboot.mk | 79 +- bsp/buildroot/boot/xloader/Config.in | 17 - bsp/buildroot/boot/xloader/xloader.mk | 32 - bsp/buildroot/configs/aarch64_efi_defconfig | 38 + .../configs/amarula_a64_relic_defconfig | 62 + .../configs/amarula_vyasa_rk3288_defconfig | 46 + .../configs/arcturus_ucls1012a_defconfig | 36 + bsp/buildroot/configs/arm_juno_defconfig | 2 +- .../configs/asus_tinker_rk3288_defconfig | 45 + .../configs/at91sam9260eknf_defconfig | 2 +- .../configs/at91sam9g20dfc_defconfig | 9 +- .../configs/at91sam9g45m10ek_defconfig | 2 +- bsp/buildroot/configs/at91sam9rlek_defconfig | 2 +- bsp/buildroot/configs/at91sam9x5ek_defconfig | 9 +- .../configs/at91sam9x5ek_dev_defconfig | 9 +- .../configs/at91sam9x5ek_mmc_defconfig | 9 +- .../configs/at91sam9x5ek_mmc_dev_defconfig | 9 +- .../atmel_sama5d27_som1_ek_mmc_dev_defconfig | 9 +- .../atmel_sama5d2_xplained_mmc_defconfig | 9 +- .../atmel_sama5d2_xplained_mmc_dev_defconfig | 9 +- .../configs/atmel_sama5d3_xplained_defconfig | 9 +- .../atmel_sama5d3_xplained_dev_defconfig | 9 +- .../atmel_sama5d3_xplained_mmc_defconfig | 9 +- .../atmel_sama5d3_xplained_mmc_dev_defconfig | 9 +- .../configs/atmel_sama5d3xek_defconfig | 12 +- .../configs/atmel_sama5d4_xplained_defconfig | 9 +- .../atmel_sama5d4_xplained_dev_defconfig | 9 +- .../atmel_sama5d4_xplained_mmc_defconfig | 9 +- .../atmel_sama5d4_xplained_mmc_dev_defconfig | 9 +- bsp/buildroot/configs/bananapi_m1_defconfig | 36 +- .../configs/bananapi_m2_ultra_defconfig | 29 + bsp/buildroot/configs/bananapro_defconfig | 4 +- bsp/buildroot/configs/beaglebone_defconfig | 8 +- .../configs/chromebook_snow_defconfig | 8 +- bsp/buildroot/configs/ci20_defconfig | 6 +- bsp/buildroot/configs/csky_gx6605s_defconfig | 7 +- bsp/buildroot/configs/cubieboard2_defconfig | 9 +- .../configs/freescale_imx28evk_defconfig | 8 +- .../configs/freescale_imx7dsabresd_defconfig | 3 + .../configs/freescale_imx8mqevk_defconfig | 42 + .../configs/freescale_p1025twr_defconfig | 24 + .../configs/freescale_t1040d4rdb_defconfig | 24 + bsp/buildroot/configs/galileo_defconfig | 5 +- .../configs/gdb_bfin_bf512_defconfig | 33 - .../configs/grinn_chiliboard_defconfig | 11 +- .../configs/grinn_liteboard_defconfig | 8 +- bsp/buildroot/configs/imx23evk_defconfig | 2 +- bsp/buildroot/configs/imx6-sabresd_defconfig | 8 +- .../configs/imx6-sabresd_qt5_defconfig | 8 +- bsp/buildroot/configs/imx6slevk_defconfig | 2 +- bsp/buildroot/configs/imx6ulevk_defconfig | 9 +- bsp/buildroot/configs/imx6ulpico_defconfig | 10 +- bsp/buildroot/configs/imx7d-sdb_defconfig | 36 + bsp/buildroot/configs/imx7dpico_defconfig | 14 +- bsp/buildroot/configs/lego_ev3_defconfig | 19 +- .../minnowboard_max-graphical_defconfig | 4 +- .../configs/minnowboard_max_defconfig | 6 +- bsp/buildroot/configs/mx25pdk_defconfig | 9 +- bsp/buildroot/configs/mx51evk_defconfig | 9 +- bsp/buildroot/configs/mx53loco_defconfig | 8 +- bsp/buildroot/configs/mx6cubox_defconfig | 9 +- bsp/buildroot/configs/nexbox_a95x_defconfig | 5 +- bsp/buildroot/configs/nitrogen8m_defconfig | 54 + bsp/buildroot/configs/odroidc2_defconfig | 5 +- bsp/buildroot/configs/odroidxu4_defconfig | 27 + .../olimex_a10_olinuxino_lime_defconfig | 47 + .../olimex_a20_olinuxino_lime2_defconfig | 13 +- .../olimex_a20_olinuxino_lime_defconfig | 13 +- ...limex_a20_olinuxino_lime_legacy_defconfig} | 15 +- .../configs/olimex_imx233_olinuxino_defconfig | 6 +- .../configs/orangepi_lite2_defconfig | 60 + bsp/buildroot/configs/orangepi_lite_defconfig | 7 +- .../configs/orangepi_one_plus_defconfig | 46 + bsp/buildroot/configs/orangepi_pc_defconfig | 11 +- bsp/buildroot/configs/orangepi_zero_defconfig | 6 +- .../configs/orangepi_zero_plus2_defconfig | 27 +- .../configs/pc_x86_64_bios_defconfig | 10 +- bsp/buildroot/configs/pc_x86_64_efi_defconfig | 11 +- .../configs/qemu_aarch64_virt_defconfig | 10 +- .../configs/qemu_arm_versatile_defconfig | 8 +- .../qemu_arm_versatile_nommu_defconfig | 10 +- .../configs/qemu_arm_vexpress_defconfig | 6 +- .../configs/qemu_m68k_mcf5208_defconfig | 8 +- .../configs/qemu_m68k_q800_defconfig | 8 +- .../configs/qemu_microblazebe_mmu_defconfig | 8 +- .../configs/qemu_microblazeel_mmu_defconfig | 8 +- .../configs/qemu_mips32r2_malta_defconfig | 8 +- .../configs/qemu_mips32r2el_malta_defconfig | 8 +- .../configs/qemu_mips32r6_malta_defconfig | 8 +- .../configs/qemu_mips32r6el_malta_defconfig | 8 +- .../configs/qemu_mips64_malta_defconfig | 8 +- .../configs/qemu_mips64el_malta_defconfig | 8 +- .../configs/qemu_mips64r6_malta_defconfig | 8 +- .../configs/qemu_mips64r6el_malta_defconfig | 8 +- .../configs/qemu_nios2_10m50_defconfig | 8 +- bsp/buildroot/configs/qemu_or1k_defconfig | 6 +- .../configs/qemu_ppc64_e5500_defconfig | 21 + .../configs/qemu_ppc64_pseries_defconfig | 6 +- .../configs/qemu_ppc64le_pseries_defconfig | 6 +- .../configs/qemu_ppc_g3beige_defconfig | 8 +- .../configs/qemu_ppc_mpc8544ds_defconfig | 8 +- .../configs/qemu_ppc_virtex_ml507_defconfig | 8 +- .../configs/qemu_riscv32_virt_defconfig | 25 + .../configs/qemu_riscv64_virt_defconfig | 24 + bsp/buildroot/configs/qemu_sh4_r2d_defconfig | 9 +- .../configs/qemu_sh4eb_r2d_defconfig | 9 +- .../configs/qemu_sparc64_sun4u_defconfig | 8 +- .../configs/qemu_sparc_ss10_defconfig | 8 +- bsp/buildroot/configs/qemu_x86_64_defconfig | 8 +- bsp/buildroot/configs/qemu_x86_defconfig | 8 +- .../configs/qemu_xtensa_lx60_defconfig | 8 +- .../configs/qemu_xtensa_lx60_nommu_defconfig | 8 +- bsp/buildroot/configs/raspberrypi0_defconfig | 11 +- bsp/buildroot/configs/raspberrypi0w_defconfig | 30 + bsp/buildroot/configs/raspberrypi2_defconfig | 9 +- .../configs/raspberrypi3_64_defconfig | 11 +- bsp/buildroot/configs/raspberrypi3_defconfig | 11 +- .../configs/raspberrypi3_qt5we_defconfig | 11 +- bsp/buildroot/configs/raspberrypi_defconfig | 9 +- bsp/buildroot/configs/riotboard_defconfig | 42 + bsp/buildroot/configs/rock64_defconfig | 38 + bsp/buildroot/configs/roseapplepi_defconfig | 5 +- .../configs/s6lx9_microboard_defconfig | 1 - bsp/buildroot/configs/sheevaplug_defconfig | 4 +- .../configs/snps_arc700_axs101_defconfig | 10 +- .../configs/snps_archs38_axs103_defconfig | 11 +- .../configs/snps_archs38_haps_defconfig | 6 +- .../configs/snps_archs38_hsdk_defconfig | 40 + .../configs/snps_archs38_vdk_defconfig | 8 +- .../configs/socrates_cyclone5_defconfig | 12 +- .../configs/solidrun_clearfog_defconfig | 42 + .../solidrun_macchiatobin_mainline_defconfig | 16 +- .../solidrun_macchiatobin_marvell_defconfig | 11 +- bsp/buildroot/configs/ts7680_defconfig | 5 +- bsp/buildroot/configs/wandboard_defconfig | 11 +- bsp/buildroot/configs/warp7_defconfig | 9 +- bsp/buildroot/configs/zynq_microzed_defconfig | 7 +- bsp/buildroot/configs/zynq_zc706_defconfig | 7 +- bsp/buildroot/configs/zynq_zed_defconfig | 11 +- bsp/buildroot/configs/zynq_zybo_defconfig | 30 - bsp/buildroot/configs/zynqmp_zcu106_defconfig | 34 + .../docs/manual/adding-packages-directory.txt | 19 +- .../docs/manual/adding-packages-generic.txt | 19 +- .../docs/manual/adding-packages-golang.txt | 119 + .../docs/manual/adding-packages-kconfig.txt | 4 + .../docs/manual/adding-packages-luarocks.txt | 10 + .../docs/manual/adding-packages-meson.txt | 126 +- .../docs/manual/adding-packages-perl.txt | 10 +- .../docs/manual/adding-packages-python.txt | 6 + .../docs/manual/adding-packages-rebar.txt | 6 + .../docs/manual/adding-packages-tips.txt | 43 +- .../docs/manual/adding-packages-waf.txt | 8 +- bsp/buildroot/docs/manual/adding-packages.txt | 7 +- bsp/buildroot/docs/manual/common-usage.txt | 4 +- bsp/buildroot/docs/manual/contribute.txt | 47 +- .../docs/manual/customize-rootfs.txt | 15 + bsp/buildroot/docs/manual/developers.txt | 15 +- bsp/buildroot/docs/manual/manual.html | 472 ++-- bsp/buildroot/docs/manual/manual.pdf | Bin 523864 -> 538851 bytes bsp/buildroot/docs/manual/manual.text | 637 ++++-- bsp/buildroot/docs/manual/manual.txt | 2 +- .../docs/manual/package-make-target.txt | 16 +- bsp/buildroot/docs/manual/prerequisite.txt | 2 +- .../manual/using-buildroot-development.txt | 16 + .../docs/manual/using-buildroot-toolchain.txt | 26 +- bsp/buildroot/docs/website/association.html | 122 ++ bsp/buildroot/docs/website/contribute.html | 2 +- bsp/buildroot/docs/website/copyright.txt | 2 +- bsp/buildroot/docs/website/download.html | 54 +- bsp/buildroot/docs/website/favicon.png | Bin 0 -> 1801 bytes bsp/buildroot/docs/website/footer.html | 7 +- bsp/buildroot/docs/website/header.html | 8 +- .../website/images/amarula-solutions-logo.png | Bin 0 -> 16768 bytes .../docs/website/images/bootlin-logo.png | Bin 0 -> 6171 bytes .../docs/website/images/logilin-logo.png | Bin 0 -> 34112 bytes .../docs/website/images/owi-smile-logo.png | Bin 25258 -> 0 bytes .../website/images/rockwell-collins-logo.png | Bin 0 -> 6124 bytes .../docs/website/images/scaleway-logo.png | Bin 0 -> 12331 bytes .../docs/website/images/smile-logo.png | Bin 0 -> 60367 bytes .../docs/website/images/tkos-logo.png | Bin 0 -> 10101 bytes .../docs/website/images/zillabit-logo.png | Bin 0 -> 5394 bytes bsp/buildroot/docs/website/js/buildroot.js | 61 +- bsp/buildroot/docs/website/news.html | 775 ++++++- bsp/buildroot/docs/website/sponsors.html | 179 +- bsp/buildroot/docs/website/support.html | 6 + bsp/buildroot/fs/Config.in | 2 + bsp/buildroot/fs/btrfs/Config.in | 50 + bsp/buildroot/fs/btrfs/btrfs.mk | 36 + bsp/buildroot/fs/common.mk | 96 +- bsp/buildroot/fs/cpio/Config.in | 6 +- bsp/buildroot/fs/cpio/cpio.mk | 6 +- bsp/buildroot/fs/cramfs/Config.in | 22 +- bsp/buildroot/fs/cramfs/cramfs.mk | 12 +- bsp/buildroot/fs/ext2/Config.in | 22 +- bsp/buildroot/fs/f2fs/Config.in | 59 + bsp/buildroot/fs/f2fs/f2fs.mk | 45 + bsp/buildroot/fs/initramfs/Config.in | 3 +- bsp/buildroot/fs/initramfs/initramfs.mk | 3 +- bsp/buildroot/fs/iso9660/iso9660.mk | 31 +- bsp/buildroot/fs/jffs2/Config.in | 23 +- bsp/buildroot/fs/squashfs/Config.in | 3 + bsp/buildroot/fs/squashfs/squashfs.mk | 2 + bsp/buildroot/fs/tar/Config.in | 2 +- bsp/buildroot/fs/tar/tar.mk | 2 + bsp/buildroot/fs/ubi/Config.in | 11 +- bsp/buildroot/fs/ubi/ubi.mk | 6 +- .../fs/yaffs2/{yaffs.mk => yaffs2.mk} | 0 bsp/buildroot/linux/Config.ext.in | 27 +- bsp/buildroot/linux/Config.in | 71 +- bsp/buildroot/linux/linux-ext-aufs.mk | 2 +- .../linux/linux-ext-ev3dev-linux-drivers.mk | 2 +- bsp/buildroot/linux/linux-ext-fbtft.mk | 2 +- bsp/buildroot/linux/linux-ext-rtai.mk | 6 +- bsp/buildroot/linux/linux-ext-xenomai.mk | 4 +- bsp/buildroot/linux/linux.hash | 6 + bsp/buildroot/linux/linux.mk | 138 +- .../package/18xx-ti-utils/18xx-ti-utils.hash | 3 + .../package/18xx-ti-utils/18xx-ti-utils.mk | 30 + bsp/buildroot/package/18xx-ti-utils/Config.in | 14 + bsp/buildroot/package/Config.in | 224 +- bsp/buildroot/package/Config.in.host | 10 + bsp/buildroot/package/Makefile.in | 53 +- bsp/buildroot/package/abootimg/Config.in | 10 + bsp/buildroot/package/abootimg/abootimg.hash | 3 + bsp/buildroot/package/abootimg/abootimg.mk | 23 + bsp/buildroot/package/acpica/acpica.mk | 1 + bsp/buildroot/package/acpid/Config.in | 2 +- bsp/buildroot/package/acpid/S02acpid | 0 bsp/buildroot/package/acpid/acpid.hash | 4 +- bsp/buildroot/package/acpid/acpid.mk | 10 +- bsp/buildroot/package/acpid/acpid.service | 9 + bsp/buildroot/package/acpitool/Config.in | 2 - bsp/buildroot/package/acsccid/acsccid.mk | 1 + .../aircrack-ng/0001-stack-protector.patch | 58 - bsp/buildroot/package/aircrack-ng/Config.in | 12 +- .../package/aircrack-ng/aircrack-ng.hash | 7 +- .../package/aircrack-ng/aircrack-ng.mk | 100 +- bsp/buildroot/package/alljoyn/Config.in | 1 - bsp/buildroot/package/alljoyn/alljoyn.mk | 6 +- ...01-Don-t-use-fork-on-noMMU-platforms.patch | 60 + .../package/alsa-lib/0001-no-mmu.patch | 45 - ...nally-enable-libdl-in-AM_PATH_ALSA-.patch} | 18 +- .../package/alsa-lib/0002-dlmisc.patch | 59 - bsp/buildroot/package/alsa-lib/alsa-lib.hash | 4 +- bsp/buildroot/package/alsa-lib/alsa-lib.mk | 8 +- ...logy.c-drop-unneeded-dlfcn.h-include.patch | 29 + bsp/buildroot/package/alsa-utils/Config.in | 13 +- .../package/alsa-utils/alsa-utils.hash | 2 +- .../package/alsa-utils/alsa-utils.mk | 21 +- bsp/buildroot/package/amd-catalyst/Config.in | 16 - .../package/amd-catalyst/amd-catalyst.mk | 12 +- ...les-for-out-of-tree-ext4_utils-build.patch | 48 + ...atch-for-openssl-1.1.0-compatibility.patch | 47 + .../package/android-tools/Config.in.host | 7 + .../package/android-tools/android-tools.mk | 23 +- bsp/buildroot/package/angularjs/angularjs.mk | 2 +- bsp/buildroot/package/apache/S50apache | 15 + bsp/buildroot/package/apache/apache.hash | 4 +- bsp/buildroot/package/apache/apache.mk | 32 +- bsp/buildroot/package/apache/apache.service | 13 + bsp/buildroot/package/apr/apr.mk | 7 +- bsp/buildroot/package/argparse/argparse.hash | 5 +- bsp/buildroot/package/argparse/argparse.mk | 3 +- bsp/buildroot/package/armadillo/Config.in | 4 - ...igure-do-not-configure-in-menuselect.patch | 58 - ...nds-do-not-download-and-check-sha1s.patch} | 0 ...configure-fix-detection-of-libcrypt.patch} | 0 ...target-directory-for-modules-exists.patch} | 0 ...install-samples-need-the-data-files.patch} | 0 ...tection-of-re-entrant-resolver-funct.patch | 38 + ...uild-fix-issues-building-without-ssl.patch | 57 - bsp/buildroot/package/asterisk/Config.in | 16 +- bsp/buildroot/package/asterisk/asterisk.hash | 10 +- bsp/buildroot/package/asterisk/asterisk.mk | 44 +- bsp/buildroot/package/at-spi2-atk/Config.in | 22 + .../package/at-spi2-atk/at-spi2-atk.hash | 3 + .../package/at-spi2-atk/at-spi2-atk.mk | 16 + bsp/buildroot/package/at-spi2-core/Config.in | 25 + .../package/at-spi2-core/at-spi2-core.hash | 3 + .../package/at-spi2-core/at-spi2-core.mk | 17 + bsp/buildroot/package/at/Config.in | 2 + bsp/buildroot/package/at/S99at | 9 + bsp/buildroot/package/at/at.hash | 7 +- bsp/buildroot/package/at/at.mk | 9 +- bsp/buildroot/package/atest/Config.in | 2 - ...ld-replace-shared_library-by-library.patch | 33 + bsp/buildroot/package/atk/atk.hash | 7 +- bsp/buildroot/package/atk/atk.mk | 8 +- bsp/buildroot/package/atop/Config.in | 5 + bsp/buildroot/package/atop/atop.hash | 2 +- bsp/buildroot/package/atop/atop.mk | 2 +- .../0001-Fix-build-with-FFmpeg-4.0.patch | 32 + bsp/buildroot/package/aubio/aubio.hash | 7 +- bsp/buildroot/package/aubio/aubio.mk | 15 +- bsp/buildroot/package/augeas/augeas.hash | 4 +- bsp/buildroot/package/augeas/augeas.mk | 2 +- bsp/buildroot/package/autofs/Config.in | 9 +- bsp/buildroot/package/autofs/autofs.mk | 9 +- .../package/autossh/0001-honour-LDFLAGS.patch | 16 - bsp/buildroot/package/autossh/autossh.hash | 8 +- bsp/buildroot/package/autossh/autossh.mk | 9 +- bsp/buildroot/package/avahi/S05avahi-setup.sh | 0 bsp/buildroot/package/avahi/S50avahi-daemon | 0 bsp/buildroot/package/avahi/avahi.mk | 10 + .../package/avahi/avahi_sysusers.conf | 5 + bsp/buildroot/package/avrdude/Config.in | 2 - bsp/buildroot/package/avrdude/avrdude.mk | 2 - bsp/buildroot/package/azmq/azmq.hash | 5 +- bsp/buildroot/package/azmq/azmq.mk | 2 +- .../azure-iot-sdk-c/azure-iot-sdk-c.mk | 2 +- bsp/buildroot/package/bandwidthd/Config.in | 5 +- ...file.am-Use-install-data-hook-not-in.patch | 35 + .../package/bash-completion/Config.in | 15 + .../bash-completion/bash-completion.hash | 3 + .../bash-completion/bash-completion.mk | 19 + bsp/buildroot/package/bash/bash.hash | 4 +- bsp/buildroot/package/bash/bash.mk | 14 +- bsp/buildroot/package/bc/bc.mk | 5 - ...d-check-for-NO_GETCONTEXT-definition.patch | 28 - ...h-of-bdw-gc-with-a-system-atomic_ops.patch | 57 + ...s-unknown-error-in-brief_async_signa.patch | 35 - bsp/buildroot/package/bdwgc/bdwgc.hash | 4 +- bsp/buildroot/package/bdwgc/bdwgc.mk | 22 +- .../0002-atomic_compare_exchange.patch | 27 + .../package/berkeleydb/berkeleydb.mk | 7 - bsp/buildroot/package/bind/S81named | 1 - bsp/buildroot/package/bind/bind.hash | 6 +- bsp/buildroot/package/bind/bind.mk | 8 +- .../binutils/2.27/0905-bfin-rofixup-bug.patch | 21 - .../2.28.1/0905-bfin-rofixup-bug.patch | 21 - ...R-BUG-.rofixup-section-size-mismatch.patch | 31 - ...ocation-where-GOT-information-is-col.patch | 197 ++ ...R-BUG-.rofixup-section-size-mismatch.patch | 31 - ...ustness.-Return-FALSE-in-case-of-NUL.patch | 34 + ...obal-symbol-is-not-an-indirect-or-wa.patch | 42 + ...ion-was-still-being-generated-when-s.patch | 35 + .../binutils/2.31.1/0001-sh-conf.patch | 48 + .../0005-poison-system-directories.patch | 60 +- ...ion-where-GOT-information-is-collect.patch | 198 ++ ...ess.-Return-FALSE-in-case-of-NULL-po.patch | 35 + ...-symbol-is-not-an-indirect-or-warnin.patch | 43 + ...was-still-being-generated-when-symbo.patch | 37 + ...ation-of-undefined-weak-references-i.patch | 48 + ...mic-relocations-sections-consistency.patch | 90 + bsp/buildroot/package/binutils/Config.in.host | 10 +- .../0002-ld-makefile.patch | 41 - .../0003-check-ldrunpath-length.patch | 36 - .../0004-add-sysroot-fix-from-bug-3049.patch | 51 - .../0005-poison-system-directories.patch | 306 +++ bsp/buildroot/package/binutils/binutils.hash | 3 +- bsp/buildroot/package/binutils/binutils.mk | 17 +- bsp/buildroot/package/bird/Config.in | 23 + bsp/buildroot/package/bird/bird.hash | 2 + bsp/buildroot/package/bird/bird.mk | 20 + .../package/bitstream/bitstream.hash | 10 +- bsp/buildroot/package/bitstream/bitstream.mk | 2 +- .../0001-iowatcher-link-with-lrt.patch | 31 - bsp/buildroot/package/blktrace/Config.in | 8 +- bsp/buildroot/package/blktrace/blktrace.hash | 6 +- bsp/buildroot/package/blktrace/blktrace.mk | 2 +- bsp/buildroot/package/bluez-alsa/Config.in | 42 + .../package/bluez-alsa/bluez-alsa.hash | 3 + .../package/bluez-alsa/bluez-alsa.mk | 50 + .../package/bluez5_utils-headers/Config.in | 7 + .../bluez5_utils-headers.hash | 1 + .../bluez5_utils-headers.mk | 23 + ...-Remove-include-linux-if_bridge.h-to.patch | 45 - ...all-only-be-build-if-readline-is-pre.patch | 32 - bsp/buildroot/package/bluez5_utils/Config.in | 10 +- .../package/bluez5_utils/bluez5_utils.hash | 4 +- .../package/bluez5_utils/bluez5_utils.mk | 24 +- .../package/boinc/boinc-client.service | 10 - bsp/buildroot/package/boinc/boinc.hash | 2 +- bsp/buildroot/package/boinc/boinc.mk | 10 +- .../boost/0005-fix-build-with-g-5.patch | 32 - bsp/buildroot/package/boost/Config.in | 80 +- bsp/buildroot/package/boost/boost.hash | 4 +- bsp/buildroot/package/boost/boost.mk | 29 +- .../package/bootstrap/bootstrap.hash | 4 +- bsp/buildroot/package/bootstrap/bootstrap.mk | 6 +- .../0001-fix-musl-compilation-issue.patch | 31 - bsp/buildroot/package/bootutils/Config.in | 10 - .../package/bootutils/bootutils.hash | 2 - bsp/buildroot/package/bootutils/bootutils.mk | 13 - .../0001-remove-mips64-explicit-mabi.patch | 10 +- bsp/buildroot/package/botan/Config.in | 13 +- bsp/buildroot/package/botan/botan.hash | 6 +- bsp/buildroot/package/botan/botan.mk | 73 +- .../package/brcm-patchram-plus/Config.in | 7 + .../brcm-patchram-plus.hash | 3 + .../brcm-patchram-plus/brcm-patchram-plus.mk | 13 + ...s-from-generating-spurious-log-messa.patch | 28 - ...0001-buildsys-fix-cross-compilation.patch} | 0 ...-to-make-sure-the-platform-supports-.patch | 31 - .../0002-Fix-linking-error-on-mips64el.patch | 42 + ...0003-Remove-MKOBJ-in-favour-of-MKMOD.patch | 64 - bsp/buildroot/package/brltty/Config.in | 2 +- bsp/buildroot/package/brltty/brltty.hash | 4 +- bsp/buildroot/package/brltty/brltty.mk | 8 +- ...-static-library-and-headers-in-insta.patch | 6 +- ...ogs-convert-add-missing-types-header.patch | 39 - bsp/buildroot/package/btrfs-progs/Config.in | 1 - .../package/btrfs-progs/Config.in.host | 6 + .../package/btrfs-progs/btrfs-progs.hash | 4 +- .../package/btrfs-progs/btrfs-progs.mk | 29 +- ...trip-non-l-arguments-returned-by-pkg.patch | 6 +- ...-per-arch-Makefile-before-Makefile.f.patch | 46 - ...l.sh-don-t-clobber-dangling-symlinks.patch | 38 + ...rc-sparc64-Makefile-define-ARCH_FPIC.patch | 79 - ...httpd-fix-handling-of-range-requests.patch | 27 - ...2-fix-runCnt-overflow-from-bug-10431.patch | 101 - .../0007-unlzma-fix-SEGV-closes-10436.patch | 34 - bsp/buildroot/package/busybox/Config.in | 2 - bsp/buildroot/package/busybox/S01logging | 40 - bsp/buildroot/package/busybox/S01syslogd | 55 + bsp/buildroot/package/busybox/S02klogd | 55 + bsp/buildroot/package/busybox/S50telnet | 0 .../package/busybox/busybox-minimal.config | 93 +- bsp/buildroot/package/busybox/busybox.config | 87 +- bsp/buildroot/package/busybox/busybox.hash | 8 +- bsp/buildroot/package/busybox/busybox.mk | 115 +- bsp/buildroot/package/c-ares/c-ares.hash | 5 +- bsp/buildroot/package/c-ares/c-ares.mk | 6 +- .../package/c-periphery/c-periphery.hash | 3 +- .../package/c-periphery/c-periphery.mk | 2 +- .../ca-certificates/ca-certificates.hash | 4 +- .../ca-certificates/ca-certificates.mk | 4 +- .../cache-calibrator/cache-calibrator.mk | 2 +- .../cairo/0001-blackfin-build-fix.patch | 55 - ...uild.patch => 0001-fix-nofork-build.patch} | 0 .../package/cairo/0005-fix-gcc-49-build.patch | 38 - bsp/buildroot/package/cairo/cairo.hash | 11 +- bsp/buildroot/package/cairo/cairo.mk | 5 +- bsp/buildroot/package/can-utils/Config.in | 8 +- .../package/can-utils/can-utils.hash | 3 +- bsp/buildroot/package/can-utils/can-utils.mk | 3 +- ...01-Do-not-use-execinfo-h-with-uclibc.patch | 30 + bsp/buildroot/package/capnproto/Config.in | 24 + .../package/capnproto/capnproto.hash | 3 + bsp/buildroot/package/capnproto/capnproto.mk | 25 + .../package/cargo-bin/cargo-bin.hash | 13 +- bsp/buildroot/package/cargo-bin/cargo-bin.mk | 2 +- bsp/buildroot/package/cargo/Config.in.host | 3 +- bsp/buildroot/package/cargo/cargo.hash | 6 +- bsp/buildroot/package/cargo/cargo.mk | 10 +- bsp/buildroot/package/cc-tool/Config.in | 1 - ...t-to-sysroot-option-to-relative-path.patch | 43 - bsp/buildroot/package/ccache/ccache.hash | 7 +- bsp/buildroot/package/ccache/ccache.mk | 13 +- bsp/buildroot/package/ccid/Config.in | 2 +- bsp/buildroot/package/ccid/ccid.hash | 6 +- bsp/buildroot/package/ccid/ccid.mk | 7 +- bsp/buildroot/package/ccrypt/ccrypt.mk | 2 +- bsp/buildroot/package/cgilua/Config.in | 3 +- bsp/buildroot/package/cgilua/cgilua.hash | 5 +- bsp/buildroot/package/cgilua/cgilua.mk | 2 +- .../package/checkpolicy/checkpolicy.hash | 5 +- .../package/checkpolicy/checkpolicy.mk | 4 +- ...cksec-Fixed-issue-with-relative-path.patch | 43 + bsp/buildroot/package/checksec/Config.in.host | 17 + bsp/buildroot/package/checksec/checksec.hash | 3 + bsp/buildroot/package/checksec/checksec.mk | 16 + .../0001-Fix-build-failure-on-musl.patch | 37 + bsp/buildroot/package/chipmunk/Config.in | 12 + bsp/buildroot/package/chipmunk/chipmunk.hash | 5 + bsp/buildroot/package/chipmunk/chipmunk.mk | 28 + ...02-hash-include-util.h-for-MIN-macro.patch | 28 + ...o-reading-dev-urandom-when-getrandom.patch | 42 - bsp/buildroot/package/chrony/S49chrony | 4 +- bsp/buildroot/package/chrony/chrony.hash | 6 +- bsp/buildroot/package/chrony/chrony.mk | 2 +- ...ount.cifs-Remove-data_blob.h-include.patch | 32 - .../package/cifs-utils/cifs-utils.hash | 5 +- .../package/cifs-utils/cifs-utils.mk | 2 +- ...ame-async-argument-of-_create_circus.patch | 97 + ...x-a-typo-changing-LFS_DIR-to-LFS_DIR.patch | 27 - .../0001-modlua.ini-include-dlfcn.h.patch | 34 + bsp/buildroot/package/civetweb/Config.in | 12 + bsp/buildroot/package/civetweb/civetweb.hash | 3 +- bsp/buildroot/package/civetweb/civetweb.mk | 57 +- bsp/buildroot/package/cjson/cjson.hash | 2 +- bsp/buildroot/package/cjson/cjson.mk | 2 +- ...n-libs-curl.m4-fix-curl-config-detec.patch | 75 - bsp/buildroot/package/clamav/Config.in | 7 +- bsp/buildroot/package/clamav/clamav.hash | 2 +- bsp/buildroot/package/clamav/clamav.mk | 20 +- bsp/buildroot/package/clang/Config.in | 26 + bsp/buildroot/package/clang/clang.hash | 3 + bsp/buildroot/package/clang/clang.mk | 98 + bsp/buildroot/package/clapack/Config.in | 5 - bsp/buildroot/package/clinfo/Config.in | 12 + bsp/buildroot/package/clinfo/clinfo.hash | 4 + bsp/buildroot/package/clinfo/clinfo.mk | 21 + ...k-uv-version-h-for-version-detection.patch | 32 + ...ime-include-stdint.h-before-cmocka.h.patch | 35 + bsp/buildroot/package/cmocka/Config.in | 15 + bsp/buildroot/package/cmocka/cmocka.hash | 3 + bsp/buildroot/package/cmocka/cmocka.mk | 23 + ...gps-plugin-fix-build-with-newer-gpsd.patch | 43 + ...checks-for-upper-limit-of-SENSORS_AP.patch | 89 + bsp/buildroot/package/collectd/Config.in | 12 +- bsp/buildroot/package/collectd/collectd.mk | 9 +- ...ure.patch => 0001-nat-build-failure.patch} | 0 ...01-tethering-Reorder-header-includes.patch | 37 - bsp/buildroot/package/connman/S45connman | 0 bsp/buildroot/package/connman/connman.hash | 4 +- bsp/buildroot/package/connman/connman.mk | 2 +- .../conntrack-tools/conntrack-tools.hash | 7 +- .../conntrack-tools/conntrack-tools.mk | 11 +- bsp/buildroot/package/copas/Config.in | 7 +- bsp/buildroot/package/copas/copas.hash | 3 +- bsp/buildroot/package/copas/copas.mk | 2 +- .../package/coreutils/coreutils.hash | 2 +- bsp/buildroot/package/coreutils/coreutils.mk | 24 +- bsp/buildroot/package/corkscrew/Config.in | 7 + .../package/corkscrew/corkscrew.hash | 3 + bsp/buildroot/package/corkscrew/corkscrew.mk | 13 + bsp/buildroot/package/coxpcall/coxpcall.hash | 5 +- bsp/buildroot/package/coxpcall/coxpcall.mk | 2 +- bsp/buildroot/package/cpio/cpio.mk | 1 - bsp/buildroot/package/cppcms/cppcms.hash | 13 +- bsp/buildroot/package/cppcms/cppcms.mk | 6 +- ...01-fix-install-without-static-libzmq.patch | 47 + bsp/buildroot/package/cppzmq/cppzmq.hash | 3 +- bsp/buildroot/package/cppzmq/cppzmq.mk | 11 +- bsp/buildroot/package/cracklib/cracklib.mk | 2 +- .../package/cramfs/0001-endian.patch | 288 --- .../package/cramfs/0002-cygwin_IO.patch | 15 - .../cramfs/0003-fix-missing-types.patch | 17 - ...smacros.h-to-compile-with-glibc-2.28.patch | 33 - bsp/buildroot/package/cramfs/Config.in | 2 +- bsp/buildroot/package/cramfs/Config.in.host | 2 +- bsp/buildroot/package/cramfs/cramfs.hash | 2 +- bsp/buildroot/package/cramfs/cramfs.mk | 4 +- ...support-python-3-in-utils-key2pub.py.patch | 18 +- bsp/buildroot/package/crda/crda.hash | 4 +- bsp/buildroot/package/crda/crda.mk | 5 +- .../cryptodev-linux/cryptodev-linux.hash | 3 +- .../cryptodev-linux/cryptodev-linux.mk | 2 +- ...-DoS-in-ASN.1-decoders-CVE-2016-9939.patch | 69 - ...001-config.h-avx2-depends-on-gcc-4.9.patch | 40 + bsp/buildroot/package/cryptopp/cryptopp.hash | 7 +- bsp/buildroot/package/cryptopp/cryptopp.mk | 6 +- bsp/buildroot/package/cryptsetup/Config.in | 1 + .../package/cryptsetup/cryptsetup.hash | 2 +- .../package/cryptsetup/cryptsetup.mk | 6 +- bsp/buildroot/package/cunit/Config.in | 6 + bsp/buildroot/package/cunit/cunit.hash | 3 + bsp/buildroot/package/cunit/cunit.mk | 17 + ...ed-memCheck-and-gMemReport-functions.patch | 79 + .../package/cups-filters/cups-filters.hash | 4 +- .../package/cups-filters/cups-filters.mk | 3 +- ...05-Fix-builds-without-PAM-Issue-5283.patch | 189 ++ bsp/buildroot/package/cups/cups.hash | 3 +- bsp/buildroot/package/cups/cups.mk | 3 +- bsp/buildroot/package/cutelyst/Config.in | 17 + bsp/buildroot/package/cutelyst/cutelyst.hash | 3 + bsp/buildroot/package/cutelyst/cutelyst.mk | 38 + bsp/buildroot/package/czmq/czmq.hash | 6 +- bsp/buildroot/package/czmq/czmq.mk | 12 +- bsp/buildroot/package/dado/dado.hash | 3 +- .../package/dahdi-linux/dahdi-linux.mk | 2 +- bsp/buildroot/package/dante/dante.mk | 13 +- ...02-histedit-fix-build-with-musl-libc.patch | 35 - bsp/buildroot/package/dash/dash.hash | 6 +- bsp/buildroot/package/dash/dash.mk | 12 +- ...do-not-hardcode-fstack-protector-str.patch | 45 + bsp/buildroot/package/davfs2/Config.in | 18 + bsp/buildroot/package/davfs2/davfs2.hash | 4 + bsp/buildroot/package/davfs2/davfs2.mk | 17 + bsp/buildroot/package/davici/Config.in | 18 + bsp/buildroot/package/davici/davici.hash | 3 + bsp/buildroot/package/davici/davici.mk | 20 + .../package/dbus-glib/dbus-glib.hash | 2 +- bsp/buildroot/package/dbus-glib/dbus-glib.mk | 2 +- .../package/dbus-python/dbus-python.hash | 2 +- .../package/dbus-python/dbus-python.mk | 2 +- bsp/buildroot/package/dbus/S30dbus | 3 - bsp/buildroot/package/dbus/dbus.hash | 5 +- bsp/buildroot/package/dbus/dbus.mk | 2 +- .../dc3dd/0003-fix-for-glibc-2.28.patch | 87 + bsp/buildroot/package/dcron/dcron.mk | 5 - .../package/debianutils/debianutils.mk | 2 - bsp/buildroot/package/dehydrated/Config.in | 33 + .../package/dehydrated/dehydrated.hash | 6 + .../package/dehydrated/dehydrated.mk | 18 + bsp/buildroot/package/devmem2/Config.in | 2 +- bsp/buildroot/package/devmem2/devmem2.mk | 4 +- bsp/buildroot/package/dhcpcd/S41dhcpcd | 1 - bsp/buildroot/package/dhcpcd/dhcpcd.hash | 6 +- bsp/buildroot/package/dhcpcd/dhcpcd.mk | 9 +- .../0002-fix-strsep-feature-test.patch | 27 - bsp/buildroot/package/dhcpdump/dhcpdump.mk | 5 +- bsp/buildroot/package/dhrystone/dhrystone.mk | 2 +- bsp/buildroot/package/diffutils/diffutils.mk | 4 - .../package/dmalloc/0005-fix-strdup.patch | 24 + .../package/dmalloc/0006-fix-strndup.patch | 24 + bsp/buildroot/package/dmraid/S20dmraid | 2 - ...ildcard-NSEC-records.-CVE-2017-15107.patch | 212 -- ...ation-errors-introduced-in-4fe6744a2.patch | 29 - bsp/buildroot/package/dnsmasq/S80dnsmasq | 1 - bsp/buildroot/package/dnsmasq/dnsmasq.hash | 4 +- bsp/buildroot/package/dnsmasq/dnsmasq.mk | 14 +- bsp/buildroot/package/docker-cli/Config.in | 25 + .../package/docker-cli/docker-cli.hash | 3 + .../package/docker-cli/docker-cli.mk | 31 + ...low-all-recent-2.x-requests-releases.patch | 34 + .../0002-Upgrade-pyyaml-to-4.2b1.patch | 27 + .../package/docker-compose/Config.in | 29 + .../docker-compose/docker-compose.hash | 4 + .../package/docker-compose/docker-compose.mk | 13 + .../package/docker-containerd/Config.in | 21 +- .../docker-containerd/docker-containerd.hash | 3 +- .../docker-containerd/docker-containerd.mk | 51 +- ...ix-faulty-runc-version-commit-scrape.patch | 45 + bsp/buildroot/package/docker-engine/Config.in | 37 +- .../package/docker-engine/S60dockerd | 38 + .../package/docker-engine/docker-engine.hash | 3 +- .../package/docker-engine/docker-engine.mk | 85 +- .../package/docker-proxy/docker-proxy.mk | 33 +- .../domoticz/0001-Bumped-version.patch | 20 + ...0001-Fix-compilation-with-boost-1.66.patch | 56 - ...-fix-build-with-python-and-cmake-3.7.patch | 40 + bsp/buildroot/package/domoticz/Config.in | 8 +- bsp/buildroot/package/domoticz/domoticz.hash | 2 +- bsp/buildroot/package/domoticz/domoticz.mk | 26 +- bsp/buildroot/package/doom-wad/doom-wad.mk | 2 +- bsp/buildroot/package/dos2unix/dos2unix.mk | 4 +- .../dovecot-pigeonhole.hash | 2 +- .../dovecot-pigeonhole/dovecot-pigeonhole.mk | 6 +- bsp/buildroot/package/dovecot/dovecot.hash | 2 +- bsp/buildroot/package/dovecot/dovecot.mk | 13 +- ...3-Regression-Segfault-building-the-b.patch | 30 - ...-fix-the-way-lang_cfg.h-is-generated.patch | 58 - bsp/buildroot/package/doxygen/doxygen.hash | 2 +- bsp/buildroot/package/doxygen/doxygen.mk | 2 +- bsp/buildroot/package/dropbear/Config.in | 10 + bsp/buildroot/package/dropbear/dropbear.mk | 32 +- bsp/buildroot/package/dropbear/etc-pam.d-sshd | 7 + bsp/buildroot/package/dsp-tools/Config.in | 8 - .../package/dsp-tools/dsp-tools.hash | 2 - bsp/buildroot/package/dsp-tools/dsp-tools.mk | 21 - ...-common-Rename-strlcpy-to-DT_strlcpy.patch | 58 - ...ion-for-glibc-version-2.27.9000-36.f.patch | 75 + ...02-common-Include-sys-types.h-header.patch | 38 - bsp/buildroot/package/dt-utils/dt-utils.hash | 3 + bsp/buildroot/package/dt-utils/dt-utils.mk | 2 +- ...001-Kill-bogus-TYPE_BLOB-marker-type.patch | 138 ++ ...ards-for-older-kernel-u-boot-sources.patch | 62 + ...s-fix-simple-bus-compatible-matching.patch | 120 + bsp/buildroot/package/dtc/dtc.hash | 2 +- bsp/buildroot/package/dtc/dtc.mk | 20 +- .../dtv-scan-tables/dtv-scan-tables.hash | 4 +- .../dtv-scan-tables/dtv-scan-tables.mk | 11 +- bsp/buildroot/package/duktape/Config.in | 16 + bsp/buildroot/package/duktape/duktape.hash | 3 + bsp/buildroot/package/duktape/duktape.mk | 27 + bsp/buildroot/package/dvblast/Config.in | 8 +- bsp/buildroot/package/dvblast/dvblast.hash | 9 +- bsp/buildroot/package/dvblast/dvblast.mk | 2 +- ...ysmacros.h-to-compile-with-newer-gcc.patch | 14 + .../package/e2fsprogs/e2fsprogs.hash | 6 +- bsp/buildroot/package/e2fsprogs/e2fsprogs.mk | 38 +- .../ecryptfs-utils/0002-openssl110.patch | 173 ++ .../package/ecryptfs-utils/Config.in | 4 + bsp/buildroot/package/ed/ed.hash | 6 +- bsp/buildroot/package/ed/ed.mk | 5 +- ...tch => 0001-Allow-build-with-uClibc.patch} | 0 ...-dont-use-fshort-wchar-when-building.patch | 28 - ...ra-const-keywords-gcc-7-gripes-about.patch | 51 - bsp/buildroot/package/efibootmgr/Config.in | 11 +- .../package/efibootmgr/efibootmgr.hash | 3 +- .../package/efibootmgr/efibootmgr.mk | 18 +- ...tch => 0001-Allow-build-with-uClibc.patch} | 2 +- ...-avoid-the-multiple-definitions-bug-.patch | 29 - ...extra-const-that-gcc-complains-about.patch | 47 - bsp/buildroot/package/efivar/Config.in | 13 +- bsp/buildroot/package/efivar/efivar.hash | 3 +- bsp/buildroot/package/efivar/efivar.mk | 9 +- bsp/buildroot/package/efl/Config.in | 2 +- bsp/buildroot/package/efl/efl.hash | 11 +- bsp/buildroot/package/efl/efl.mk | 11 +- ...not-download-or-compile-dependencies.patch | 35 + .../0001-remove-make-targets-for-deps.patch | 43 - ...rdctl.patch => 0002-fix-ejabberdctl.patch} | 0 ...emove-dependencies-from-rebar-config.patch | 106 - .../0003-remove-checking-erlang-version.patch | 32 - .../ejabberd/0004-correct-includes.patch | 1919 ---------------- ...0005-disable-ERLANG_DEPRECATED_CHECK.patch | 29 - .../0006-fix-install-permissions.patch | 84 - .../0008-handle-error-case-from-lib_dir.patch | 32 - .../ejabberd/0009-disable-mod_avatar.patch | 32 - bsp/buildroot/package/ejabberd/Config.in | 5 +- bsp/buildroot/package/ejabberd/ejabberd.hash | 2 +- bsp/buildroot/package/ejabberd/ejabberd.mk | 26 +- ...akefile-fix-build-with-Binutils-2.31.patch | 34 + bsp/buildroot/package/elfutils/Config.in | 4 - bsp/buildroot/package/ell/Config.in | 13 + bsp/buildroot/package/ell/ell.hash | 5 + bsp/buildroot/package/ell/ell.mk | 27 + .../package/enlightenment/enlightenment.hash | 4 +- .../package/enlightenment/enlightenment.mk | 37 +- bsp/buildroot/package/erlang-eimp/Config.in | 12 + .../package/erlang-eimp/erlang-eimp.mk | 13 + .../erlang-p1-cache-tab.hash | 2 +- .../erlang-p1-cache-tab.mk | 2 +- .../erlang-p1-iconv/erlang-p1-iconv.hash | 2 +- .../erlang-p1-iconv/erlang-p1-iconv.mk | 2 +- .../erlang-p1-oauth2/erlang-p1-oauth2.hash | 2 +- .../erlang-p1-oauth2/erlang-p1-oauth2.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 20 - .../package/erlang-p1-sip/erlang-p1-sip.hash | 2 +- .../package/erlang-p1-sip/erlang-p1-sip.mk | 2 +- .../erlang-p1-stringprep.hash | 2 +- .../erlang-p1-stringprep.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 16 - .../erlang-p1-stun/erlang-p1-stun.hash | 2 +- .../package/erlang-p1-stun/erlang-p1-stun.mk | 2 +- .../package/erlang-p1-tls/erlang-p1-tls.hash | 2 +- .../package/erlang-p1-tls/erlang-p1-tls.mk | 2 +- .../erlang-p1-utils/erlang-p1-utils.hash | 2 +- .../erlang-p1-utils/erlang-p1-utils.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 18 - .../package/erlang-p1-xml/erlang-p1-xml.hash | 2 +- .../package/erlang-p1-xml/erlang-p1-xml.mk | 2 +- ...emove-dependencies-from-rebar-config.patch | 19 - .../package/erlang-p1-xmpp/Config.in | 2 + .../erlang-p1-xmpp/erlang-p1-xmpp.hash | 2 +- .../package/erlang-p1-xmpp/erlang-p1-xmpp.mk | 4 +- ...emove-dependencies-from-rebar-config.patch | 18 - .../erlang-p1-yaml/erlang-p1-yaml.hash | 2 +- .../package/erlang-p1-yaml/erlang-p1-yaml.mk | 2 +- .../erlang-p1-zlib/erlang-p1-zlib.hash | 2 +- .../package/erlang-p1-zlib/erlang-p1-zlib.mk | 2 +- ...ulator-reorder-inclued-headers-paths.patch | 13 +- bsp/buildroot/package/erlang/Config.in | 5 +- bsp/buildroot/package/erlang/erlang.hash | 4 +- bsp/buildroot/package/erlang/erlang.mk | 11 +- bsp/buildroot/package/espeak/espeak.mk | 2 +- bsp/buildroot/package/ethtool/ethtool.hash | 3 +- bsp/buildroot/package/ethtool/ethtool.mk | 4 +- .../0002-missing.h-add-KEY_ALS_TOGGLE.patch | 34 + .../0003-missing.h-add-BTN_DPAD_UP.patch | 35 + bsp/buildroot/package/eudev/S10udev | 6 +- bsp/buildroot/package/eudev/eudev.hash | 4 +- bsp/buildroot/package/eudev/eudev.mk | 5 +- bsp/buildroot/package/execline/execline.hash | 4 +- bsp/buildroot/package/execline/execline.mk | 2 +- bsp/buildroot/package/exempi/Config.in | 16 + bsp/buildroot/package/exempi/exempi.hash | 3 + bsp/buildroot/package/exempi/exempi.mk | 17 + .../package/exfat-utils/exfat-utils.hash | 3 +- .../package/exfat-utils/exfat-utils.mk | 2 +- bsp/buildroot/package/exfat/exfat.hash | 3 +- bsp/buildroot/package/exfat/exfat.mk | 2 +- .../package/exim/0006-remove-libnsl.patch | 37 + bsp/buildroot/package/exim/Local-Makefile | 15 - bsp/buildroot/package/exim/exim.mk | 9 - bsp/buildroot/package/expat/expat.hash | 8 +- bsp/buildroot/package/expat/expat.mk | 5 +- bsp/buildroot/package/expedite/Config.in | 12 - bsp/buildroot/package/expedite/expedite.hash | 2 - bsp/buildroot/package/expedite/expedite.mk | 24 - ...0001-configure-uclinux-is-also-linux.patch | 31 + .../package/f2fs-tools/Config.in.host | 7 + .../package/f2fs-tools/f2fs-tools.hash | 3 +- .../package/f2fs-tools/f2fs-tools.mk | 25 +- bsp/buildroot/package/fail2ban/Config.in | 15 + bsp/buildroot/package/fail2ban/S60fail2ban | 23 + bsp/buildroot/package/fail2ban/fail2ban.hash | 3 + bsp/buildroot/package/fail2ban/fail2ban.mk | 27 + bsp/buildroot/package/fan-ctrl/fan-ctrl.mk | 2 +- bsp/buildroot/package/fbset/fbset.mk | 5 - bsp/buildroot/package/fdk-aac/Config.in | 9 +- bsp/buildroot/package/fdk-aac/fdk-aac.hash | 6 +- bsp/buildroot/package/fdk-aac/fdk-aac.mk | 2 +- bsp/buildroot/package/feh/Config.in | 2 - bsp/buildroot/package/feh/feh.hash | 3 +- bsp/buildroot/package/feh/feh.mk | 30 +- .../0001-bfin-disable-optimization.patch | 26 - ...reads.patch => 0001-ffmpeg-pthreads.patch} | 0 ...cenc-Fix-building-with-libfdk-aac-v2.patch | 100 + ...stently-use-a-proper-version-check-m.patch | 99 + ...dk-aac-Don-t-use-defined-in-a-define.patch | 72 + bsp/buildroot/package/ffmpeg/ffmpeg.hash | 2 +- bsp/buildroot/package/ffmpeg/ffmpeg.mk | 22 +- bsp/buildroot/package/fftw/Config.in | 55 +- .../package/fftw/fftw-double/Config.in | 5 + .../package/fftw/fftw-double/fftw-double.hash | 1 + .../package/fftw/fftw-double/fftw-double.mk | 22 + .../package/fftw/fftw-long-double/Config.in | 8 + .../fftw-long-double/fftw-long-double.hash | 1 + .../fftw/fftw-long-double/fftw-long-double.mk | 22 + .../package/fftw/fftw-quad/Config.in | 7 + .../package/fftw/fftw-quad/fftw-quad.hash | 1 + .../package/fftw/fftw-quad/fftw-quad.mk | 22 + .../package/fftw/fftw-single/Config.in | 5 + .../package/fftw/fftw-single/fftw-single.hash | 1 + .../package/fftw/fftw-single/fftw-single.mk | 37 + bsp/buildroot/package/fftw/fftw.hash | 6 +- bsp/buildroot/package/fftw/fftw.mk | 35 +- ...ding-past-the-end-of-buffer-Rui-Reis.patch | 30 - bsp/buildroot/package/file/file.hash | 2 +- bsp/buildroot/package/file/file.mk | 2 +- ...ntlist-include-sysmacros-h-for-glibc.patch | 81 + ...adjust-to-glibc-2-28-libio-h-removal.patch | 152 ++ bsp/buildroot/package/findutils/findutils.mk | 2 + bsp/buildroot/package/fio/fio.hash | 4 +- bsp/buildroot/package/fio/fio.mk | 2 +- bsp/buildroot/package/flannel/flannel.mk | 32 +- bsp/buildroot/package/flare-engine/Config.in | 23 + .../package/flare-engine/flare-engine.hash | 3 + .../package/flare-engine/flare-engine.mk | 22 + bsp/buildroot/package/flare-game/Config.in | 13 + .../package/flare-game/flare-game.hash | 3 + .../package/flare-game/flare-game.mk | 18 + bsp/buildroot/package/flashrom/flashrom.hash | 6 +- bsp/buildroot/package/flashrom/flashrom.mk | 4 +- .../package/flatbuffers/flatbuffers.hash | 2 +- .../package/flatbuffers/flatbuffers.mk | 2 +- ...onditionally-require-C-based-on-FLAT.patch | 56 + bsp/buildroot/package/flatcc/Config.in | 8 + bsp/buildroot/package/flatcc/flatcc.hash | 3 + bsp/buildroot/package/flatcc/flatcc.mk | 30 + bsp/buildroot/package/fmt/fmt.hash | 3 +- bsp/buildroot/package/fmt/fmt.mk | 2 +- ...x-the-build-issue-with-enable-static.patch | 133 ++ bsp/buildroot/package/fontconfig/Config.in | 2 + .../package/fontconfig/fontconfig.hash | 4 +- .../package/fontconfig/fontconfig.mk | 7 +- .../0001-Fix-gstreamer-1.0-detection.patch | 28 - bsp/buildroot/package/freerdp/freerdp.hash | 2 +- bsp/buildroot/package/freerdp/freerdp.mk | 4 +- bsp/buildroot/package/freescale-imx/Config.in | 14 +- .../freescale-imx/firmware-imx/Config.in | 2 +- .../firmware-imx/firmware-imx.hash | 6 +- .../firmware-imx/firmware-imx.mk | 33 +- .../gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk | 2 +- .../freescale-imx/imx-alsa-plugins/Config.in | 22 + .../imx-alsa-plugins/imx-alsa-plugins.hash | 3 + .../imx-alsa-plugins/imx-alsa-plugins.mk | 21 + .../freescale-imx/imx-codec/imx-codec.hash | 4 +- .../freescale-imx/imx-codec/imx-codec.mk | 4 +- .../imx-gpu-g2d/imx-gpu-g2d.hash | 2 +- .../freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk | 4 +- .../freescale-imx/imx-gpu-viv/Config.in | 21 +- .../imx-gpu-viv/imx-gpu-viv.hash | 3 +- .../freescale-imx/imx-gpu-viv/imx-gpu-viv.mk | 18 +- .../freescale-imx/imx-lib/imx-lib.hash | 2 +- .../package/freescale-imx/imx-lib/imx-lib.mk | 2 +- .../freescale-imx/imx-parser/imx-parser.hash | 4 +- .../freescale-imx/imx-parser/imx-parser.mk | 4 +- .../package/freescale-imx/imx-uuc/Config.in | 6 +- .../freescale-imx/imx-uuc/imx-uuc.hash | 2 +- .../package/freescale-imx/imx-uuc/imx-uuc.mk | 5 +- ...on.h-header-inclusion-to-be-standard.patch | 44 + .../freescale-imx/imx-vpu-hantro/Config.in | 20 + .../imx-vpu-hantro/imx-vpu-hantro.hash | 3 + .../imx-vpu-hantro/imx-vpu-hantro.mk | 42 + .../package/freescale-imx/imx-vpu/Config.in | 13 +- .../freescale-imx/imx-vpu/imx-vpu.hash | 4 +- .../package/freescale-imx/imx-vpu/imx-vpu.mk | 4 +- .../freescale-imx/imx-vpuwrap/Config.in | 11 +- .../imx-vpuwrap/imx-vpuwrap.hash | 4 +- .../freescale-imx/imx-vpuwrap/imx-vpuwrap.mk | 13 +- .../kernel-module-imx-gpu-viv.hash | 2 +- .../kernel-module-imx-gpu-viv.mk | 2 +- .../package/freescale-imx/libz160/libz160.mk | 2 +- .../freeswitch-mod-bcg729.hash | 2 +- .../freeswitch-mod-bcg729.mk | 2 +- ... => 0001-Fix-cross-compiling-libvpx.patch} | 6 +- bsp/buildroot/package/freeswitch/Config.in | 2 + .../package/freeswitch/freeswitch.hash | 17 +- .../package/freeswitch/freeswitch.mk | 21 +- bsp/buildroot/package/freetype/Config.in | 2 +- bsp/buildroot/package/freetype/freetype.hash | 10 +- bsp/buildroot/package/freetype/freetype.mk | 6 +- .../fwts/0001-build-do-not-use-Werror.patch | 19 +- bsp/buildroot/package/fwts/Config.in | 21 +- bsp/buildroot/package/fwts/fwts.hash | 2 +- bsp/buildroot/package/fwts/fwts.mk | 10 +- bsp/buildroot/package/fwup/fwup.hash | 3 +- bsp/buildroot/package/fwup/fwup.mk | 2 +- bsp/buildroot/package/gadgetfs-test/Config.in | 1 - bsp/buildroot/package/gauche/gauche.mk | 2 +- .../package/gawk/0001-no-versioned.patch | 10 - bsp/buildroot/package/gawk/Config.in | 5 +- bsp/buildroot/package/gawk/gawk.hash | 5 +- bsp/buildroot/package/gawk/gawk.mk | 15 +- .../4.9.4/0002-m68k-coldfire-pr68467.patch | 48 + ...3-libsanitizer-Use-pre-computed-size.patch | 71 + .../gcc/4.9.4/891-fix-m68k-uclinux.patch | 18 - .../5.5.0/0001-m68k-coldfire-pr68467.patch | 48 + ...2-libsanitizer-Use-pre-computed-size.patch | 72 + .../gcc/5.5.0/891-fix-m68k-uclinux.patch | 18 - .../6.4.0/0002-fix-building-on-ppc64.patch | 38 - .../870-xtensa-fix-PR-target-82181.patch | 31 - .../871-xtensa-fix-PR-target-65416.patch | 101 - ...ix-NAND-code-in-xtensa_expand_atomic.patch | 39 - .../gcc/6.4.0/891-fix-m68k-uclinux.patch | 18 - ...mkmap-symver-support-skip_underscore.patch | 60 - ...in-use-the-generic-linker-version-in.patch | 1944 ----------------- ...DWARF-compilation-with-FDPIC-targets.patch | 59 - .../gcc/6.4.0/895-bfin-define-REENTRANT.patch | 17 - ...ot-struct-ucontext-in-linux-unwind.h.patch | 192 -- .../gcc/6.4.0/943-sanitizer-linux.patch | 91 - .../6.5.0/0001-m68k-coldfire-pr68467.patch | 48 + ...a-don-t-force-PIC-for-uclinux-target.patch | 0 .../{6.4.0 => 6.5.0}/100-uclibc-conf.patch | 0 .../301-missing-execinfo_h.patch | 0 .../810-arm-softfloat-libgcc.patch | 0 .../830-arm_unbreak_armv4t.patch | 0 ...473-Reduce-size-of-Cortex-A8-automat.patch | 0 .../gcc/{6.4.0 => 6.5.0}/860-cilk-wchar.patch | 0 .../890-fix-m68k-compile.patch | 0 .../896-microblaze-Revert.patch | 0 ...support-DWARF-EH-old-Xilinx-patch-ne.patch | 0 .../940-uclinux-enable-threads.patch | 0 ...41-mips-Add-support-for-mips-r6-musl.patch | 0 .../7.3.0/0002-fix-building-on-ppc64.patch | 40 - .../0002-xtensa-fix-PR-target-65416.patch | 101 - ...ix-NAND-code-in-xtensa_expand_atomic.patch | 39 - ...a-don-t-force-PIC-for-uclinux-target.patch | 41 - .../gcc/7.3.0/0891-fix-m68k-uclinux.patch | 30 - .../gcc/7.3.0/0900-remove-selftests.patch | 111 - .../{7.3.0 => 7.4.0}/0100-uclibc-conf.patch | 0 .../0810-arm-softfloat-libgcc.patch | 0 .../0860-cilk-fix-build-without-wchar.patch | 0 .../0892-microblaze-Revert.patch | 1 + ...PR-target-81497-Fix-arm_acle.h-for-C.patch | 10 +- ...TRANT-for-RISC-V-when-pthread-is-pas.patch | 31 + bsp/buildroot/package/gcc/Config.in.host | 35 +- .../0001-fix-checking-for-jumps.patch | 49 - .../0860-cilk-fix-build-without-wchar.patch | 64 - .../0900-remove-selftests.patch | 111 - .../0100-uclibc-conf.patch | 0 .../package/gcc/gcc-final/gcc-final.mk | 21 +- .../package/gcc/gcc-initial/gcc-initial.mk | 15 +- bsp/buildroot/package/gcc/gcc.hash | 12 +- bsp/buildroot/package/gcc/gcc.mk | 96 +- bsp/buildroot/package/gconf/gconf.mk | 2 +- ...-Add-some-casts-for-building-on-musl.patch | 90 - ...Move-W_STOPCODE-to-common-gdb_wait-h.patch | 63 - .../gdb/7.10.1/0003-move-__SIGRTMIN.patch | 58 - .../0004-xtensa-implement-NPTL-helpers.patch | 267 --- .../0005-target.h-include-sys-types.h.patch | 30 - ...-Revert-sim-unify-SIM_CPU-definition.patch | 372 ---- ...c-proc_service-definition-with-GLIBC.patch | 287 --- ...-Fix-gdbserver-build-on-uClibc-noMMU.patch | 32 - ...ut-common-mach-model-defines-into-ar.patch | 155 -- ...c-proc_service-definition-with-GLIBC.patch | 389 ---- ...-Fix-gdbserver-build-on-uClibc-noMMU.patch | 32 - ...-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} | 12 +- ...pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch} | 12 +- .../0003-use-asm-sgidefs.h.patch} | 0 .../0004-gdbserver-fix-build-for-m68k.patch | 62 + ...fork-inferior-include-linux-ptrace.h.patch | 51 + ...file-from-common-utils.c-to-filestuf.patch | 172 ++ ...-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} | 14 +- ...pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch} | 8 +- .../0003-use-asm-sgidefs.h.patch} | 15 +- .../0004-gdbserver-fix-build-for-m68k.patch | 62 + ...fork-inferior-include-linux-ptrace.h.patch | 51 + bsp/buildroot/package/gdb/Config.in | 10 +- bsp/buildroot/package/gdb/Config.in.host | 46 +- ...ining-TRAP_HWBKPT-before-including-g.patch | 52 + bsp/buildroot/package/gdb/gdb.hash | 6 +- bsp/buildroot/package/gdb/gdb.mk | 27 +- bsp/buildroot/package/genimage/genimage.hash | 2 +- bsp/buildroot/package/genimage/genimage.mk | 2 +- bsp/buildroot/package/geoip/geoip.hash | 3 +- bsp/buildroot/package/geoip/geoip.mk | 2 +- bsp/buildroot/package/gerbera/Config.in | 27 + bsp/buildroot/package/gerbera/S99gerbera | 52 + bsp/buildroot/package/gerbera/config.xml | 139 ++ bsp/buildroot/package/gerbera/gerbera.hash | 3 + bsp/buildroot/package/gerbera/gerbera.mk | 114 + ...nitize-op-stack-for-error-conditions.patch | 176 ++ ...rocedures-that-call-.force-operators.patch | 441 ++++ ...700317-Fix-logic-for-an-older-change.patch | 31 + ...Harden-some-uses-of-.force-operators.patch | 135 ++ ...-bunch-of-gs_fonts.ps-specific-procs.patch | 587 +++++ ....forcedef-and-harden-.force-ops-more.patch | 345 +++ .../package/ghostscript/ghostscript.hash | 4 +- .../package/ghostscript/ghostscript.mk | 4 +- bsp/buildroot/package/git-crypt/Config.in | 11 +- .../package/git-crypt/git-crypt.hash | 7 +- bsp/buildroot/package/git-crypt/git-crypt.mk | 5 +- .../package/glib-networking/Config.in | 8 +- .../glib-networking/glib-networking.hash | 5 +- .../glib-networking/glib-networking.mk | 21 +- ...C-V-32-bit-build-of-riscv-glibc-2.26.patch | 59 + ...rror-that-breaks-RISC-V-architecture.patch | 39 + .../glibc.hash | 7 + .../glibc/arc-2018.09-release/glibc.hash | 7 + .../glibc.hash | 7 + bsp/buildroot/package/glibc/glibc.hash | 6 +- bsp/buildroot/package/glibc/glibc.mk | 43 +- bsp/buildroot/package/glibmm/glibmm.hash | 7 +- bsp/buildroot/package/glibmm/glibmm.mk | 4 +- bsp/buildroot/package/glorytun/glorytun.hash | 2 +- bsp/buildroot/package/glorytun/glorytun.mk | 2 +- ...FLAGS-to-be-completed-from-the-envir.patch | 103 - .../0001-efilink-fix-build-with-gcc-4.8.patch | 35 + ...n-t-override-ARCH-when-cross-compili.patch | 32 + bsp/buildroot/package/gnu-efi/Config.in | 11 +- bsp/buildroot/package/gnu-efi/gnu-efi.hash | 7 +- bsp/buildroot/package/gnu-efi/gnu-efi.mk | 17 +- bsp/buildroot/package/gnuchess/gnuchess.hash | 3 +- bsp/buildroot/package/gnuchess/gnuchess.mk | 4 +- bsp/buildroot/package/gnupg2/gnupg2.hash | 9 +- bsp/buildroot/package/gnupg2/gnupg2.mk | 2 +- ...001-suppress-boost_unitest-detection.patch | 41 - bsp/buildroot/package/gnuradio/Config.in | 25 +- bsp/buildroot/package/gnuradio/gnuradio.hash | 5 +- bsp/buildroot/package/gnuradio/gnuradio.mk | 30 +- bsp/buildroot/package/gnutls/Config.in | 3 +- bsp/buildroot/package/gnutls/gnutls.hash | 4 +- bsp/buildroot/package/gnutls/gnutls.mk | 30 +- ...explicit-option-for-crosscompilation.patch | 40 + bsp/buildroot/package/go/Config.in.host | 1 + bsp/buildroot/package/go/go.hash | 3 +- bsp/buildroot/package/go/go.mk | 37 +- .../package/googlefontdirectory/Config.in | 11 +- .../googlefontdirectory.hash | 994 ++++++++- .../googlefontdirectory.mk | 32 +- .../gpm/0005-fix-building-w-newer-glibc.patch | 32 + ...nc-build-when-ublox-not-selected-too.patch | 36 - ...-fix-build-with-reconfigure-disabled.patch | 49 + bsp/buildroot/package/gpsd/Config.in | 5 + bsp/buildroot/package/gpsd/gpsd.hash | 2 +- bsp/buildroot/package/gpsd/gpsd.mk | 16 +- bsp/buildroot/package/gptfdisk/Config.in | 1 - .../gqrx/0001-fix_compilation_in_gcc-6.patch | 34 - bsp/buildroot/package/gqrx/Config.in | 21 +- bsp/buildroot/package/gqrx/gqrx.hash | 4 +- bsp/buildroot/package/gqrx/gqrx.mk | 8 +- .../package/gr-osmosdr/gr-osmosdr.mk | 2 +- .../0001-disable-double-promotion.patch | 23 - bsp/buildroot/package/grep/grep.hash | 7 +- bsp/buildroot/package/grep/grep.mk | 7 +- .../0001-target-build-using-host-plugin.patch | 52 + ...the-availability-of-pthread_setname_.patch | 52 + bsp/buildroot/package/grpc/Config.in | 25 + bsp/buildroot/package/grpc/grpc.hash | 3 + bsp/buildroot/package/grpc/grpc.mk | 41 + bsp/buildroot/package/gstreamer/Config.in | 1 - .../package/gstreamer/gst-dsp/Config.in | 8 - .../package/gstreamer/gst-dsp/gst-dsp.hash | 2 - .../package/gstreamer/gst-dsp/gst-dsp.mk | 20 - .../package/gstreamer/gst-ffmpeg/Config.in | 4 + .../gstreamer/gst-plugins-bad/Config.in | 7 +- .../gst-plugins-bad/gst-plugins-bad.mk | 3 +- .../package/gstreamer/gstreamer/gstreamer.mk | 4 +- bsp/buildroot/package/gstreamer1/Config.in | 3 + .../package/gstreamer1/gst-omx/gst-omx.hash | 5 +- .../package/gstreamer1/gst-omx/gst-omx.mk | 2 +- .../package/gstreamer1/gst1-imx/gst1-imx.hash | 1 + .../gstreamer1/gst1-interpipe/Config.in | 10 + .../gst1-interpipe/gst1-interpipe.hash | 5 + .../gst1-interpipe/gst1-interpipe.mk | 21 + .../gstreamer1/gst1-libav/gst1-libav.hash | 5 +- .../gstreamer1/gst1-libav/gst1-libav.mk | 2 +- .../0001-fdkaacenc-Remove-MODE_2_1.patch | 32 + ...V-channel-mapping-instead-of-interle.patch | 49 + .../gstreamer1/gst1-plugins-bad/Config.in | 139 +- .../gst1-plugins-bad/gst1-plugins-bad.hash | 6 +- .../gst1-plugins-bad/gst1-plugins-bad.mk | 61 +- .../gstreamer1/gst1-plugins-base/Config.in | 130 ++ .../gst1-plugins-base/gst1-plugins-base.hash | 6 +- .../gst1-plugins-base/gst1-plugins-base.mk | 66 +- .../gstreamer1/gst1-plugins-good/Config.in | 14 +- .../gst1-plugins-good/gst1-plugins-good.hash | 5 +- .../gst1-plugins-good/gst1-plugins-good.mk | 27 +- .../gstreamer1/gst1-plugins-ugly/Config.in | 12 - .../gst1-plugins-ugly/gst1-plugins-ugly.hash | 5 +- .../gst1-plugins-ugly/gst1-plugins-ugly.mk | 16 +- .../gst1-rtsp-server/gst1-rtsp-server.hash | 6 +- .../gst1-rtsp-server/gst1-rtsp-server.mk | 2 +- .../package/gstreamer1/gst1-shark/Config.in | 13 + .../gstreamer1/gst1-shark/gst1-shark.hash | 5 + .../gstreamer1/gst1-shark/gst1-shark.mk | 19 + .../gstreamer1/gst1-vaapi/gst1-vaapi.hash | 5 +- .../gstreamer1/gst1-vaapi/gst1-vaapi.mk | 2 +- .../gst1-validate/gst1-validate.hash | 5 +- .../gstreamer1/gst1-validate/gst1-validate.mk | 2 +- ...01-examples-ges-ui-fix-some-gtk2-ism.patch | 66 + .../gstreamer1-editing-services/Config.in | 18 + .../gstreamer1-editing-services.hash | 6 + .../gstreamer1-editing-services.mk | 39 + ...stconfig.h.in-initial-RISC-V-support.patch | 34 + .../gstreamer1/gstreamer1/gstreamer1.hash | 5 +- .../gstreamer1/gstreamer1/gstreamer1.mk | 3 +- .../package/gtksourceview/gtksourceview.hash | 4 +- .../package/gtksourceview/gtksourceview.mk | 2 +- bsp/buildroot/package/gupnp/gupnp.hash | 4 +- bsp/buildroot/package/gupnp/gupnp.mk | 2 +- bsp/buildroot/package/gvfs/gvfs.hash | 7 +- bsp/buildroot/package/gvfs/gvfs.mk | 57 +- ...adjust-to-glibc-2.28-libio.h-removal.patch | 189 ++ bsp/buildroot/package/gzip/gzip.hash | 6 +- bsp/buildroot/package/gzip/gzip.mk | 6 +- .../0001-Don-t-require-a-C-compiler.patch | 37 + bsp/buildroot/package/hackrf/Config.in | 14 + bsp/buildroot/package/hackrf/hackrf.hash | 3 + bsp/buildroot/package/hackrf/hackrf.mk | 26 + bsp/buildroot/package/haproxy/Config.in | 12 + bsp/buildroot/package/haproxy/haproxy.hash | 5 + bsp/buildroot/package/haproxy/haproxy.mk | 82 + bsp/buildroot/package/harfbuzz/harfbuzz.hash | 5 +- bsp/buildroot/package/harfbuzz/harfbuzz.mk | 2 +- bsp/buildroot/package/haveged/S21haveged | 2 - bsp/buildroot/package/hdparm/hdparm.hash | 7 +- bsp/buildroot/package/hdparm/hdparm.mk | 2 +- .../0001-cmake-allow-build-without-c.patch | 34 - bsp/buildroot/package/hiawatha/hiawatha.hash | 3 +- bsp/buildroot/package/hiawatha/hiawatha.mk | 2 +- bsp/buildroot/package/hiredis/hiredis.hash | 2 +- bsp/buildroot/package/hiredis/hiredis.mk | 4 +- bsp/buildroot/package/hostapd/Config.in | 57 +- bsp/buildroot/package/hostapd/hostapd.hash | 5 +- bsp/buildroot/package/hostapd/hostapd.mk | 64 +- ...Panel-remove-0xe2-from-MetersPanel.c.patch | 52 + bsp/buildroot/package/htop/htop.hash | 6 +- bsp/buildroot/package/htop/htop.mk | 2 +- bsp/buildroot/package/httping/httping.mk | 4 +- ...b-Module.mk-Add-missing-dependencies.patch | 34 - ...-Add-flag-to-disable-dynamic-library.patch | 64 - ....mk-Drop-unused-variable-LIB_OBJECTS.patch | 33 - ...s-Module.mk-Add-missing-dependencies.patch | 67 - ...b-Module.mk-Fix-LIB_LINKS-dependency.patch | 34 - ...o-really-disable-the-dynamic-library.patch | 33 - ...rog-Module.mk-Add-missing-dependency.patch | 30 - ...n-t-install-dynamic-library-when-dis.patch | 41 - .../package/i2c-tools/i2c-tools.hash | 6 +- bsp/buildroot/package/i2c-tools/i2c-tools.mk | 18 +- ....txt-don-t-install-source-and-licens.patch | 58 + bsp/buildroot/package/i2pd/Config.in | 37 + bsp/buildroot/package/i2pd/S99i2pd | 38 + bsp/buildroot/package/i2pd/i2pd.hash | 3 + bsp/buildroot/package/i2pd/i2pd.mk | 67 + bsp/buildroot/package/i2pd/i2pd.service | 29 + ...-added-openssl-1.1-compatibility-264.patch | 357 +++ ...sl-gcm-fix-static-build-with-openssl.patch | 94 + .../package/ibrcommon/ibrcommon.hash | 2 + ...-ibrdtnd-added-openssl-compatibility.patch | 205 ++ ...icateManager.cpp-include-cstring-267.patch | 29 + .../0003-detect-compiler-symbol-prefix.patch | 116 - ...h => 0003-link-icudata-as-data-only.patch} | 0 ...0004-fix-static-linking-with-icu-uc.patch} | 0 bsp/buildroot/package/icu/icu.hash | 4 +- bsp/buildroot/package/icu/icu.mk | 2 +- bsp/buildroot/package/ifenslave/ifenslave.mk | 1 - bsp/buildroot/package/ifplugd/ifplugd.mk | 5 - .../package/ifupdown-scripts/S40network | 0 .../ifupdown-scripts/ifupdown-scripts.mk | 1 + bsp/buildroot/package/ifupdown/ifupdown.mk | 1 - .../package/igmpproxy/igmpproxy.hash | 2 +- bsp/buildroot/package/igmpproxy/igmpproxy.mk | 2 +- bsp/buildroot/package/imagemagick/Config.in | 4 +- .../package/imagemagick/imagemagick.mk | 41 +- bsp/buildroot/package/imlib2/imlib2.hash | 7 +- bsp/buildroot/package/imlib2/imlib2.mk | 2 +- ...overriding-bl32-and-bl33-not-only-bl.patch | 58 + .../0002-add-ldflags-to-link-step.patch | 26 + .../package/imx-mkimage/Config.in.host | 7 + .../package/imx-mkimage/imx-mkimage.hash | 3 + .../package/imx-mkimage/imx-mkimage.mk | 25 + .../package/imx-usb-loader/Config.in | 13 + .../package/imx-usb-loader/Config.in.host | 4 +- .../imx-usb-loader/imx-usb-loader.hash | 2 +- .../package/imx-usb-loader/imx-usb-loader.mk | 13 +- bsp/buildroot/package/inadyn/inadyn.hash | 6 +- bsp/buildroot/package/inadyn/inadyn.mk | 2 +- .../package/inotify-tools/0001-gcc6.patch | 49 - .../package/inotify-tools/inotify-tools.hash | 3 +- .../package/inotify-tools/inotify-tools.mk | 4 +- bsp/buildroot/package/intel-gmmlib/Config.in | 10 + .../package/intel-gmmlib/intel-gmmlib.hash | 3 + .../package/intel-gmmlib/intel-gmmlib.mk | 17 + .../intel-microcode/intel-microcode.hash | 4 +- .../intel-microcode/intel-microcode.mk | 17 +- ... => 0001-Add-new-targets-for-iozone.patch} | 47 +- bsp/buildroot/package/iozone/iozone.hash | 2 +- bsp/buildroot/package/iozone/iozone.mk | 2 +- ...01-util.h-add-missing-stdbool-header.patch | 54 - ...0002-fix-speed-display-in-csv-report.patch | 39 - bsp/buildroot/package/iperf/iperf.hash | 5 +- bsp/buildroot/package/iperf/iperf.mk | 4 +- bsp/buildroot/package/iperf3/iperf3.hash | 6 +- bsp/buildroot/package/iperf3/iperf3.mk | 13 +- ....1-compatibility-error-storage-size-.patch | 108 + ...iler-happier-about-changes-related-t.patch | 40 + ...ool-coredumps-in-EVP_CIPHER_CTX_init.patch | 57 + ...CIPHER_CTX_free-instead-of-EVP_CIPHE.patch | 148 ++ ...ompile-with-deprecated-APIs-disabled.patch | 50 + bsp/buildroot/package/ipmiutil/ipmiutil.hash | 8 +- bsp/buildroot/package/ipmiutil/ipmiutil.mk | 6 +- ...workaround-to-the-libc-compat.h-copy.patch | 38 - ...rovide-fallback-CLOCK_TAI-definition.patch | 32 + ...-ss-fix-compilation-under-glibc-2.18.patch | 39 + bsp/buildroot/package/iproute2/iproute2.hash | 2 +- bsp/buildroot/package/iproute2/iproute2.mk | 45 +- bsp/buildroot/package/iprutils/Config.in | 1 - .../ipsec-tools/0006-openssl-1.1.patch | 1104 ++++++++++ bsp/buildroot/package/ipsec-tools/Config.in | 8 +- .../package/ipsec-tools/ipsec-tools.mk | 6 +- ...t-reference-to-u_int8_t-with-uint8_t.patch | 28 - bsp/buildroot/package/ipset/ipset.hash | 6 +- bsp/buildroot/package/ipset/ipset.mk | 2 +- ...x-userspace-kernel-headers-collision.patch | 45 + ...-nfsynproxy-fix-build-with-musl-libc.patch | 44 - ...s-monitor-fix-build-with-older-glibc.patch | 77 + ...build-with-kernel-headers-before-4.2.patch | 51 + ...les-monitor-fix-build-with-musl-libc.patch | 44 + ...he-headers-conflict-workaround-to-in.patch | 37 + bsp/buildroot/package/iptables/iptables.hash | 7 +- bsp/buildroot/package/iptables/iptables.mk | 4 +- ...ix-AI_CANONIDN-usage-on-some-systems.patch | 57 + bsp/buildroot/package/iputils/iputils.hash | 3 +- bsp/buildroot/package/iputils/iputils.mk | 8 +- bsp/buildroot/package/iqvlinux/Config.in | 18 - bsp/buildroot/package/iqvlinux/iqvlinux.hash | 5 - bsp/buildroot/package/iqvlinux/iqvlinux.mk | 21 - bsp/buildroot/package/irqbalance/Config.in | 8 + .../package/irqbalance/irqbalance.hash | 3 +- .../package/irqbalance/irqbalance.mk | 32 +- bsp/buildroot/package/irrlicht/irrlicht.mk | 2 +- .../package/iucode-tool/S00iucode-tool | 35 +- .../package/iucode-tool/iucode-tool.hash | 2 +- .../package/iucode-tool/iucode-tool.mk | 10 +- .../package/iucode-tool/iucode.service | 10 + bsp/buildroot/package/iw/iw.hash | 4 +- bsp/buildroot/package/iw/iw.mk | 5 +- bsp/buildroot/package/iwd/Config.in | 14 + bsp/buildroot/package/iwd/iwd.hash | 5 + bsp/buildroot/package/iwd/iwd.mk | 47 + bsp/buildroot/package/jansson/jansson.hash | 3 +- bsp/buildroot/package/jansson/jansson.mk | 2 +- bsp/buildroot/package/janus-gateway/Config.in | 33 +- .../package/janus-gateway/janus-gateway.hash | 2 +- .../package/janus-gateway/janus-gateway.mk | 30 +- bsp/buildroot/package/jasper/jasper.hash | 2 +- bsp/buildroot/package/jasper/jasper.mk | 2 +- bsp/buildroot/package/jemalloc/Config.in | 2 +- ...-Fix-int-overflow-segfault-w-big-BMP.patch | 51 + ...on-t-allow-quantization-w-non-RGB-CS.patch | 39 + .../package/jpeg-turbo/jpeg-turbo.hash | 12 +- .../package/jpeg-turbo/jpeg-turbo.mk | 18 +- .../package/jquery-mobile/jquery-mobile.mk | 2 +- .../jquery-sparkline/jquery-sparkline.mk | 2 +- .../package/jquery-ui-themes/Config.in | 96 +- .../jquery-ui-themes/jquery-ui-themes.mk | 2 +- bsp/buildroot/package/jquery-ui/jquery-ui.mk | 2 +- .../jquery-validation/jquery-validation.mk | 2 +- bsp/buildroot/package/jquery/jquery.mk | 2 +- .../0001-configure.ac-remove-Werror.patch | 32 - bsp/buildroot/package/json-c/json-c.hash | 2 +- bsp/buildroot/package/json-c/json-c.mk | 11 +- .../json-for-modern-cpp.hash | 4 +- .../json-for-modern-cpp.mk | 4 +- .../package/json-glib/json-glib.hash | 7 +- bsp/buildroot/package/json-glib/json-glib.mk | 6 +- bsp/buildroot/package/jsoncpp/jsoncpp.hash | 3 +- bsp/buildroot/package/jsoncpp/jsoncpp.mk | 8 +- ...uild-with-Linux-kernel-headers-v4.15.patch | 59 - ...01-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch | 61 + ...de-files-in-configure-COLLISION-test.patch | 38 + bsp/buildroot/package/keepalived/Config.in | 1 - .../package/keepalived/keepalived.hash | 3 +- .../package/keepalived/keepalived.mk | 20 +- bsp/buildroot/package/kexec/Config.in | 2 +- bsp/buildroot/package/kexec/kexec.hash | 4 +- bsp/buildroot/package/kexec/kexec.mk | 2 +- .../keyutils/0001-fix-install-rule.patch | 10 +- .../0003-Add-missing-limits.h-include.patch | 32 - bsp/buildroot/package/keyutils/keyutils.hash | 4 +- bsp/buildroot/package/keyutils/keyutils.mk | 2 +- bsp/buildroot/package/kf5/Config.in | 14 + .../kf5/kf5-extra-cmake-modules/Config.in | 10 + .../kf5-extra-cmake-modules.hash | 3 + .../kf5-extra-cmake-modules.mk | 17 + .../package/kf5/kf5-kcoreaddons/Config.in | 14 + .../kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash | 3 + .../kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk | 16 + .../package/kf5/kf5-modemmanager-qt/Config.in | 20 + .../kf5-modemmanager-qt.hash | 3 + .../kf5-modemmanager-qt.mk | 16 + .../kf5/kf5-networkmanager-qt/Config.in | 20 + .../kf5-networkmanager-qt.hash | 3 + .../kf5-networkmanager-qt.mk | 16 + bsp/buildroot/package/kf5/kf5.mk | 11 + ...sert_cc-can-only-be-used-inside-func.patch | 56 - bsp/buildroot/package/kmod/kmod.hash | 2 +- bsp/buildroot/package/kmod/kmod.mk | 9 +- bsp/buildroot/package/kmsxx/kmsxx.mk | 6 - .../package/kodi-adsp-basic/Config.in | 12 - .../kodi-adsp-basic/kodi-adsp-basic.hash | 2 - .../kodi-adsp-basic/kodi-adsp-basic.mk | 15 - .../package/kodi-adsp-freesurround/Config.in | 11 - .../kodi-adsp-freesurround.hash | 2 - .../kodi-adsp-freesurround.mk | 15 - .../kodi-inputstream-adaptive.hash | 2 +- .../kodi-inputstream-adaptive.mk | 2 +- .../kodi/0004-Fix-ffmpeg-build-for-mips.patch | 43 + .../kodi/0005-Fix-crosscompiling-issues.patch | 81 + bsp/buildroot/package/kodi/Config.in | 80 +- bsp/buildroot/package/kodi/S50kodi | 0 bsp/buildroot/package/kodi/kodi.hash | 2 + bsp/buildroot/package/kodi/kodi.mk | 97 +- ...ILL_ARRAY-macro-to-prevent-warning-o.patch | 56 - bsp/buildroot/package/kvazaar/kvazaar.hash | 3 +- bsp/buildroot/package/kvazaar/kvazaar.mk | 2 +- .../package/kvm-unit-tests/kvm-unit-tests.mk | 2 +- bsp/buildroot/package/lbase64/Config.in | 1 - bsp/buildroot/package/lcdapi/lcdapi.mk | 6 - bsp/buildroot/package/lcms2/lcms2.mk | 2 +- .../package/leptonica/leptonica.hash | 3 +- bsp/buildroot/package/leptonica/leptonica.mk | 2 +- bsp/buildroot/package/less/less.mk | 3 +- .../leveldb/0003-fix-parallel-build.patch | 36 - bsp/buildroot/package/leveldb/Config.in | 3 - bsp/buildroot/package/leveldb/leveldb.mk | 6 +- bsp/buildroot/package/lftp/lftp.hash | 9 +- bsp/buildroot/package/lftp/lftp.mk | 10 +- bsp/buildroot/package/libaacs/libaacs.hash | 3 + .../package/libaio/0001-arches.patch | 249 --- ...ENABLE_SHARED-boolean-to-allow-stat.patch} | 4 +- ...le-add-missing-DESTDIR-variable-use.patch} | 22 +- ...t-libgcc-to-avoid-unresolved-symbols.patch | 57 + bsp/buildroot/package/libaio/Config.in | 10 +- bsp/buildroot/package/libaio/libaio.hash | 7 +- bsp/buildroot/package/libaio/libaio.mk | 20 +- bsp/buildroot/package/libao/libao.hash | 3 + ...ree-when-a-window-size-of-0-is-speci.patch | 40 + ...cross-multi-part-archives-must-match.patch | 81 + .../0003-Skip-0-length-ACL-fields.patch | 52 + .../0004-warc-consume-data-once-read.patch | 46 + ...n-expected-Rockridge-extensions-is-m.patch | 62 + ...-crash-when-parsing-certain-archives.patch | 62 + .../package/libargtable2/libargtable2.hash | 1 + bsp/buildroot/package/libart/libart.hash | 3 + .../package/libasplib/libasplib.hash | 1 + bsp/buildroot/package/libasplib/libasplib.mk | 8 - bsp/buildroot/package/libass/libass.hash | 3 +- bsp/buildroot/package/libass/libass.mk | 6 +- .../package/libassuan/libassuan.hash | 7 +- bsp/buildroot/package/libassuan/libassuan.mk | 3 +- .../package/libatasmart/libatasmart.hash | 1 + .../package/libatomic_ops/libatomic_ops.hash | 4 +- .../package/libatomic_ops/libatomic_ops.mk | 2 +- .../libb64/0001-Integer-overflows.patch | 73 + .../libb64/0002-Initialize-C++-objects.patch | 38 + bsp/buildroot/package/libb64/libb64.hash | 3 + bsp/buildroot/package/libb64/libb64.mk | 2 +- .../package/libbdplus/libbdplus.hash | 3 + .../package/libbroadvoice/libbroadvoice.hash | 1 + ...0001-flopen-fix-build-with-musl-libc.patch | 40 + bsp/buildroot/package/libbsd/Config.in | 9 +- bsp/buildroot/package/libbsd/libbsd.hash | 6 +- bsp/buildroot/package/libbsd/libbsd.mk | 5 +- bsp/buildroot/package/libbson/libbson.hash | 4 +- bsp/buildroot/package/libbson/libbson.mk | 2 +- ...01-Fix-compilation-without-pthread.h.patch | 47 + .../package/libcap-ng/libcap-ng.hash | 4 +- bsp/buildroot/package/libcap-ng/libcap-ng.mk | 4 +- .../package/libcdaudio/libcdaudio.hash | 1 + bsp/buildroot/package/libcddb/libcddb.hash | 1 + .../package/libcdio-paranoia/Config.in | 8 + .../libcdio-paranoia/libcdio-paranoia.hash | 3 + .../libcdio-paranoia/libcdio-paranoia.mk | 19 + bsp/buildroot/package/libcdio/libcdio.hash | 5 +- bsp/buildroot/package/libcdio/libcdio.mk | 2 +- bsp/buildroot/package/libcec/libcec.hash | 1 + bsp/buildroot/package/libcgicc/libcgicc.hash | 6 +- bsp/buildroot/package/libcgicc/libcgicc.mk | 4 +- .../package/libcgroup/libcgroup.hash | 1 + bsp/buildroot/package/libclc/Config.in | 10 + bsp/buildroot/package/libclc/libclc.hash | 3 + bsp/buildroot/package/libclc/libclc.mk | 47 + bsp/buildroot/package/libcli/libcli.hash | 1 + .../0001-Add-disable-doc-option.patch | 54 + bsp/buildroot/package/libconfig/Config.in | 2 +- .../package/libconfig/libconfig.hash | 3 +- bsp/buildroot/package/libconfig/libconfig.mk | 6 +- .../package/libconfuse/libconfuse.hash | 7 +- .../package/libconfuse/libconfuse.mk | 2 +- ...ists.txt-conditionally-use-Wpedantic.patch | 42 + ...-conditionally-use-fsanitize-address.patch | 35 + bsp/buildroot/package/libcorrect/Config.in | 12 + .../package/libcorrect/libcorrect.hash | 3 + .../package/libcorrect/libcorrect.mk | 13 + .../0001-fix-xlocale-header-check.patch | 55 - ...dk-fix-building-as-a-static-library.patch} | 0 ...-include-sys-time-for-struct-timeval.patch | 28 - .../libcpprestsdk/0003-fix-strand.patch | 28 - .../package/libcpprestsdk/libcpprestsdk.hash | 2 +- .../package/libcpprestsdk/libcpprestsdk.mk | 8 +- bsp/buildroot/package/libcroco/libcroco.hash | 3 + bsp/buildroot/package/libcsv/libcsv.hash | 1 + bsp/buildroot/package/libcue/libcue.hash | 3 +- bsp/buildroot/package/libcue/libcue.mk | 15 +- .../package/libcuefile/libcuefile.hash | 3 + bsp/buildroot/package/libcurl/Config.in | 32 + bsp/buildroot/package/libcurl/libcurl.hash | 6 +- bsp/buildroot/package/libcurl/libcurl.mk | 48 +- .../package/libdaemon/libdaemon.hash | 1 + .../package/libdcadec/libdcadec.hash | 1 + bsp/buildroot/package/libdmtx/libdmtx.hash | 1 + bsp/buildroot/package/libdnet/libdnet.hash | 1 + bsp/buildroot/package/libdri2/Config.in | 2 +- bsp/buildroot/package/libdri2/libdri2.hash | 1 + bsp/buildroot/package/libdri2/libdri2.mk | 2 +- bsp/buildroot/package/libdrm/libdrm.hash | 10 +- bsp/buildroot/package/libdrm/libdrm.mk | 5 +- .../package/libdvbcsa/libdvbcsa.hash | 3 + .../package/libdvbpsi/libdvbpsi.hash | 11 +- bsp/buildroot/package/libdvbpsi/libdvbpsi.mk | 2 +- bsp/buildroot/package/libdvbsi/libdvbsi.hash | 3 + .../package/libdvdcss/libdvdcss.hash | 7 +- bsp/buildroot/package/libdvdcss/libdvdcss.mk | 2 +- .../package/libdvdnav/libdvdnav.hash | 7 +- bsp/buildroot/package/libdvdnav/libdvdnav.mk | 2 +- .../package/libdvdread/libdvdread.hash | 7 +- .../package/libdvdread/libdvdread.mk | 2 +- .../package/libeXosip2/libeXosip2.hash | 1 + bsp/buildroot/package/libeastl/Config.in | 27 + bsp/buildroot/package/libeastl/libeastl.hash | 2 + bsp/buildroot/package/libeastl/libeastl.mk | 13 + ...nteger-Use-limits-instead-of-climits.patch | 28 + bsp/buildroot/package/libebml/libebml.hash | 3 +- bsp/buildroot/package/libebml/libebml.mk | 6 +- .../0001-check-bsd-functions-in-libbsd.patch | 6 +- bsp/buildroot/package/libedit/libedit.hash | 3 +- bsp/buildroot/package/libedit/libedit.mk | 11 +- bsp/buildroot/package/libee/libee.hash | 3 + bsp/buildroot/package/libenca/libenca.hash | 1 + ...001-Forward-EGL-cflags-into-epoxy.pc.patch | 32 - bsp/buildroot/package/libepoxy/libepoxy.hash | 7 +- bsp/buildroot/package/libepoxy/libepoxy.mk | 4 +- .../package/liberation/liberation.hash | 1 + bsp/buildroot/package/libesmtp/libesmtp.hash | 2 + bsp/buildroot/package/libestr/libestr.hash | 3 + bsp/buildroot/package/libev/Config.in | 2 - bsp/buildroot/package/libev/libev.hash | 1 + ...ure-add-disable-runtime-tests-option.patch | 25 +- bsp/buildroot/package/libevdev/libevdev.hash | 13 +- bsp/buildroot/package/libevdev/libevdev.mk | 2 +- bsp/buildroot/package/libevent/libevent.hash | 1 + bsp/buildroot/package/libevent/libevent.mk | 4 +- bsp/buildroot/package/libexif/libexif.hash | 1 + .../0001-m4-fix-detection-of-atomics.patch | 86 - .../package/libfastjson/libfastjson.hash | 3 +- .../package/libfastjson/libfastjson.mk | 2 +- bsp/buildroot/package/libfcgi/libfcgi.hash | 1 + ...-hardfloat-in-the-MIPS-assembly-code.patch | 5 +- ...004-m68k-support-ISA-A-Coldfire-CPUs.patch | 77 - ...005-mips-use-__linux__-and-not-linux.patch | 37 - bsp/buildroot/package/libffi/libffi.hash | 4 +- bsp/buildroot/package/libffi/libffi.mk | 26 +- .../package/libfm-extra/libfm-extra.hash | 8 +- .../package/libfm-extra/libfm-extra.mk | 2 +- .../0001-modules-fix-cross-compilation.patch | 27 + bsp/buildroot/package/libfm/libfm.hash | 8 +- bsp/buildroot/package/libfm/libfm.mk | 4 +- .../package/libfreefare/libfreefare.hash | 3 + .../package/libfreeglut/libfreeglut.hash | 3 + .../0005-Manage-powf64-with-glibc.patch | 725 ++++++ bsp/buildroot/package/libfreeimage/Config.in | 3 - .../package/libfreeimage/libfreeimage.hash | 3 + .../package/libfreeimage/libfreeimage.mk | 2 +- bsp/buildroot/package/libftdi/Config.in | 2 +- bsp/buildroot/package/libftdi/libftdi.mk | 2 +- .../libftdi1/0004-cmake-find-swig.patch | 29 + bsp/buildroot/package/libftdi1/libftdi1.hash | 5 + bsp/buildroot/package/libg7221/libg7221.hash | 1 + .../0001-ac_cv_sys_symbol_underscore.patch | 27 - ...configure.patch => 0001-reconfigure.patch} | 0 .../package/libgcrypt/libgcrypt.hash | 9 +- bsp/buildroot/package/libgcrypt/libgcrypt.mk | 2 +- ...e-texts-in-LICENSE-like-on-Mono-repo.patch | 1863 ++++++++++++++++ ...o-match-the-headers-of-the-source-fi.patch | 1018 +++++++++ .../package/libgdiplus/libgdiplus.hash | 3 +- .../package/libgdiplus/libgdiplus.mk | 8 +- bsp/buildroot/package/libgee/libgee.hash | 7 +- bsp/buildroot/package/libgee/libgee.mk | 2 +- ...GEO_NORMALIZE_DISABLE_TOWGS84-define.patch | 20 + ...tiff-configure.ac-do-not-check-for-C.patch | 65 + .../package/libgeotiff/libgeotiff.hash | 3 +- .../package/libgeotiff/libgeotiff.mk | 9 +- bsp/buildroot/package/libgit2/Config.in | 9 + bsp/buildroot/package/libgit2/libgit2.hash | 3 + bsp/buildroot/package/libgit2/libgit2.mk | 51 + bsp/buildroot/package/libglade/libglade.hash | 3 + bsp/buildroot/package/libglfw/libglfw.hash | 1 + bsp/buildroot/package/libglib2/libglib2.hash | 4 +- bsp/buildroot/package/libglib2/libglib2.mk | 11 +- bsp/buildroot/package/libglob/libglob.hash | 1 + bsp/buildroot/package/libglu/libglu.hash | 1 + bsp/buildroot/package/libgpg-error/Config.in | 11 +- .../package/libgpg-error/libgpg-error.hash | 5 +- .../package/libgpg-error/libgpg-error.mk | 13 +- ...1-core-Tweak-STATUS_FAILURE-handling.patch | 51 - bsp/buildroot/package/libgpgme/libgpgme.hash | 9 +- bsp/buildroot/package/libgpgme/libgpgme.mk | 3 +- .../package/libgphoto2/libgphoto2.hash | 9 +- .../package/libgphoto2/libgphoto2.mk | 2 +- bsp/buildroot/package/libgpiod/libgpiod.hash | 2 +- bsp/buildroot/package/libgpiod/libgpiod.mk | 20 +- bsp/buildroot/package/libgsasl/Config.in | 4 + bsp/buildroot/package/libgsasl/libgsasl.hash | 5 + bsp/buildroot/package/libgsm/libgsm.hash | 1 + bsp/buildroot/package/libgtk2/libgtk2.hash | 7 +- bsp/buildroot/package/libgtk2/libgtk2.mk | 2 +- bsp/buildroot/package/libgtk3/libgtk3.hash | 7 +- bsp/buildroot/package/libgtk3/libgtk3.mk | 6 +- bsp/buildroot/package/libgudev/libgudev.hash | 7 +- bsp/buildroot/package/libgudev/libgudev.mk | 3 +- .../package/libhdhomerun/libhdhomerun.hash | 3 +- .../package/libhdhomerun/libhdhomerun.mk | 2 +- bsp/buildroot/package/libhid/libhid.hash | 1 + .../package/libhttpparser/libhttpparser.hash | 3 +- .../package/libhttpparser/libhttpparser.mk | 4 +- bsp/buildroot/package/libical/libical.hash | 1 + bsp/buildroot/package/libiconv/libiconv.hash | 4 + .../0001-configure-automake-foreign.patch | 16 + bsp/buildroot/package/libid3tag/id3tag.pc | 12 + .../package/libid3tag/libid3tag.hash | 2 + bsp/buildroot/package/libid3tag/libid3tag.mk | 12 +- ....c-decode_digit-Fix-integer-overflow.patch | 36 - ...e-intprops.h-for-gcc-7-compatibility.patch | 333 --- bsp/buildroot/package/libidn/libidn.hash | 11 +- bsp/buildroot/package/libidn/libidn.mk | 4 +- bsp/buildroot/package/libidn2/Config.in | 17 + bsp/buildroot/package/libidn2/libidn2.hash | 8 + bsp/buildroot/package/libidn2/libidn2.mk | 30 + bsp/buildroot/package/libiio/Config.in | 6 +- bsp/buildroot/package/libiio/libiio.hash | 3 +- bsp/buildroot/package/libiio/libiio.mk | 2 +- bsp/buildroot/package/libilbc/libilbc.hash | 1 + .../package/libimxvpuapi/libimxvpuapi.hash | 1 + ...le-CPP-include-check-only-in-case-CP.patch | 49 + bsp/buildroot/package/libinput/libinput.hash | 13 +- bsp/buildroot/package/libinput/libinput.mk | 10 +- bsp/buildroot/package/libiscsi/libiscsi.mk | 6 + bsp/buildroot/package/libite/libite.hash | 6 +- bsp/buildroot/package/libite/libite.mk | 4 +- bsp/buildroot/package/libjpeg/libjpeg.hash | 3 +- bsp/buildroot/package/libjpeg/libjpeg.mk | 2 +- bsp/buildroot/package/libjson/libjson.hash | 1 + bsp/buildroot/package/libjson/libjson.mk | 2 +- ...e-sufficient-memory-size-for-message.patch | 31 - ...pi-hasher.c-fix-build-with-gcc-8.2.x.patch | 54 + ...0002-Do-not-compile-unused-functions.patch | 35 - ...Unify-code-to-read-from-seed-sources.patch | 132 -- ...ernal.h-make-inline-functions-static.patch | 103 - bsp/buildroot/package/libkcapi/Config.in | 21 +- bsp/buildroot/package/libkcapi/libkcapi.hash | 5 +- bsp/buildroot/package/libkcapi/libkcapi.mk | 34 +- bsp/buildroot/package/libkrb5/Config.in | 18 + bsp/buildroot/package/libkrb5/libkrb5.hash | 5 + bsp/buildroot/package/libkrb5/libkrb5.mk | 59 + bsp/buildroot/package/libksba/libksba.hash | 7 + bsp/buildroot/package/libldns/libldns.hash | 3 + ...0001-blas-don-t-overwrite-ar-options.patch | 5 +- .../package/liblinear/liblinear.hash | 3 +- bsp/buildroot/package/liblinear/liblinear.mk | 2 +- bsp/buildroot/package/libllcp/libllcp.hash | 1 + ...001-server-use-correct-poll.h-header.patch | 32 + ...rver.c-fix-stringop-truncation-error.patch | 30 + bsp/buildroot/package/liblo/liblo.hash | 9 +- bsp/buildroot/package/liblo/liblo.mk | 11 +- .../liblog4c-localtime.hash | 1 + .../package/liblogging/liblogging.hash | 5 +- .../package/liblogging/liblogging.mk | 2 +- .../0006-configure-ac-automake-foreign.patch | 16 + bsp/buildroot/package/libmad/libmad.hash | 1 + bsp/buildroot/package/libmad/libmad.mk | 8 +- .../package/libmatroska/libmatroska.hash | 3 +- .../package/libmatroska/libmatroska.mk | 6 +- ...er-realpath-to-canonicalize_file_nam.patch | 37 - bsp/buildroot/package/libmbim/libmbim.hash | 2 +- bsp/buildroot/package/libmbim/libmbim.mk | 4 +- bsp/buildroot/package/libmbus/libmbus.hash | 1 + .../package/libmcrypt/libmcrypt.hash | 1 + bsp/buildroot/package/libmediaart/Config.in | 17 +- .../package/libmediaart/libmediaart.mk | 10 +- .../package/libmemcached/libmemcached.hash | 3 + bsp/buildroot/package/libmhash/libmhash.hash | 1 + .../package/libmicrohttpd/libmicrohttpd.hash | 2 +- .../package/libmicrohttpd/libmicrohttpd.mk | 10 +- .../0001-miniupnpc-Fix-CVE-2017-8798.patch | 59 - .../package/libminiupnpc/libminiupnpc.hash | 4 +- .../package/libminiupnpc/libminiupnpc.mk | 2 +- bsp/buildroot/package/libmms/libmms.hash | 3 +- bsp/buildroot/package/libmms/libmms.mk | 2 +- bsp/buildroot/package/libmng/libmng.hash | 3 + bsp/buildroot/package/libmnl/libmnl.hash | 3 + .../package/libmodbus/libmodbus.hash | 1 + .../package/libmodplug/libmodplug.hash | 1 + ...x-build-on-archlinux-missing-include.patch | 24 + bsp/buildroot/package/libmpd/libmpd.hash | 1 + .../package/libmpdclient/libmpdclient.hash | 5 +- .../package/libmpdclient/libmpdclient.mk | 5 +- bsp/buildroot/package/libmpeg2/libmpeg2.hash | 1 + .../package/libnatpmp/libnatpmp.hash | 1 + bsp/buildroot/package/libndp/libndp.hash | 3 +- bsp/buildroot/package/libndp/libndp.mk | 2 +- .../libnetfilter_acct/libnetfilter_acct.hash | 3 + .../libnetfilter_conntrack.hash | 8 +- .../libnetfilter_conntrack.mk | 2 +- .../libnetfilter_cthelper.hash | 3 + .../libnetfilter_cttimeout.hash | 3 + .../libnetfilter_log/libnetfilter_log.hash | 3 + .../libnetfilter_queue/0001-uclinux.patch | 26 - .../libnetfilter_queue/0002-musl.patch | 45 - .../libnetfilter_queue.hash | 9 +- .../libnetfilter_queue/libnetfilter_queue.mk | 2 +- bsp/buildroot/package/libnfc/libnfc.hash | 1 + .../package/libnfnetlink/libnfnetlink.hash | 3 + ...-libnfs.c-include-time.h-in-libnfs.c.patch | 35 + bsp/buildroot/package/libnfs/libnfs.hash | 4 +- bsp/buildroot/package/libnfs/libnfs.mk | 2 +- ...libnftnl_xfree-to-avoid-symbol-namin.patch | 297 ++- bsp/buildroot/package/libnftnl/Config.in | 10 - bsp/buildroot/package/libnftnl/libnftnl.hash | 5 +- bsp/buildroot/package/libnftnl/libnftnl.mk | 4 +- ...igure-failure-when-building-without-.patch | 45 - bsp/buildroot/package/libnice/Config.in | 7 +- bsp/buildroot/package/libnice/libnice.hash | 7 +- bsp/buildroot/package/libnice/libnice.mk | 23 +- bsp/buildroot/package/libnpth/libnpth.hash | 7 +- bsp/buildroot/package/libnpth/libnpth.mk | 2 +- bsp/buildroot/package/libnspr/Config.in | 2 +- bsp/buildroot/package/libnspr/libnspr.mk | 3 + .../0002-add-zlib-include-dir-variable.patch | 49 + bsp/buildroot/package/libnss/Config.in | 4 + bsp/buildroot/package/libnss/libnss.mk | 48 + ...Fixes-build-issue-with-OpenSSL-1.1.0.patch | 156 ++ bsp/buildroot/package/liboauth/liboauth.hash | 1 + bsp/buildroot/package/libogg/libogg.hash | 3 + .../package/libopenh264/libopenh264.hash | 3 +- .../package/libopenh264/libopenh264.mk | 2 +- ...building-manpages-if-we-re-not-going.patch | 34 +- ...ible-build-do-not-leak-compiler-path.patch | 29 + ...-Fix-issue-with-signature-generation.patch | 450 ---- ...ENSSL_NO_MADVISE-to-disable-call-to-.patch | 27 + ...ible-build-do-not-leak-compiler-path.patch | 26 - ...the-same-HAVE_FORK-NO_FORK-as-in-spe.patch | 46 + ...uce-stack-usage-in-tls13_hkdf_expand.patch | 62 + ...me-SSL_export_keying_material-issues.patch | 426 ++++ .../package/libopenssl/libopenssl.hash | 15 +- .../package/libopenssl/libopenssl.mk | 65 +- ...to-make-GCC-s-truncation-check-happy.patch | 31 + bsp/buildroot/package/liboping/liboping.hash | 5 +- bsp/buildroot/package/liboping/liboping.mk | 10 +- bsp/buildroot/package/libopusenc/Config.in | 8 + .../package/libopusenc/libopusenc.hash | 3 + .../package/libopusenc/libopusenc.mk | 16 + bsp/buildroot/package/libosip2/libosip2.hash | 3 + bsp/buildroot/package/libostree/Config.in | 5 +- .../package/libostree/libostree.hash | 2 +- bsp/buildroot/package/libostree/libostree.mk | 18 +- ...01-configure.ac-fix-handling-of-with.patch | 76 + ...-use-AS_HELP_STRING-for-with-openssl.patch | 28 + ...figure.ac-use-pkg-config-for-openssl.patch | 137 ++ bsp/buildroot/package/libpagekite/Config.in | 24 + .../package/libpagekite/libpagekite.hash | 7 + .../package/libpagekite/libpagekite.mk | 29 + .../libpam-radius-auth.hash | 3 + .../0001-Fix-getrandom-call-in-magic.c.patch | 30 + ...Fix-compilation-of-tacc.c-with-GCC-8.patch | 39 + .../libpam-tacplus/libpam-tacplus.hash | 3 +- .../package/libpam-tacplus/libpam-tacplus.mk | 3 +- ...dd-missing-limits.h-for-musl-systems.patch | 26 + bsp/buildroot/package/libpcap/libpcap.hash | 5 +- bsp/buildroot/package/libpcap/libpcap.mk | 14 +- .../package/libpciaccess/libpciaccess.hash | 3 + bsp/buildroot/package/libpfm4/libpfm4.hash | 7 +- bsp/buildroot/package/libpfm4/libpfm4.mk | 2 +- .../package/libphidget/libphidget.hash | 3 +- .../package/libphidget/libphidget.mk | 2 +- bsp/buildroot/package/libpjsip/libpjsip.mk | 28 +- bsp/buildroot/package/libplayer/Config.in | 5 - bsp/buildroot/package/libplayer/libplayer.mk | 8 +- ...ix-to-symbol-names-in-version-script.patch | 55 - bsp/buildroot/package/libpng/libpng.hash | 11 +- bsp/buildroot/package/libpng/libpng.mk | 6 +- ...ys-time.h-outside-fallback-select-55.patch | 119 - bsp/buildroot/package/libpqxx/libpqxx.hash | 2 +- bsp/buildroot/package/libpqxx/libpqxx.mk | 2 +- ...isable-nls-on-platforms-without-libi.patch | 47 - ...in-settings-when-using-bad-word-list.patch | 26 - .../package/libpwquality/libpwquality.hash | 3 +- .../package/libpwquality/libpwquality.mk | 2 +- bsp/buildroot/package/libqmi/libqmi.hash | 2 +- bsp/buildroot/package/libqmi/libqmi.mk | 2 +- .../package/libqrencode/libqrencode.hash | 7 +- .../package/libqrencode/libqrencode.mk | 10 +- ...-paths-which-break-cross-compilation.patch | 29 - ...ibraw_x3f.cpp-remove-Byte-order-mark.patch | 39 - bsp/buildroot/package/libraw/libraw.hash | 6 +- bsp/buildroot/package/libraw/libraw.mk | 11 +- ...-the-CLOCK_MONOTONIC_RAW-test-condit.patch | 38 - .../package/libraw1394/libraw1394.hash | 4 +- .../package/libraw1394/libraw1394.mk | 3 +- ...ild-with-musl-and-older-Linux-kernel.patch | 38 - bsp/buildroot/package/libressl/libressl.hash | 4 +- bsp/buildroot/package/libressl/libressl.mk | 2 +- bsp/buildroot/package/libroxml/libroxml.hash | 3 +- bsp/buildroot/package/libroxml/libroxml.mk | 4 +- ...Lists.txt-Don-t-require-a-C-compiler.patch | 33 - bsp/buildroot/package/librsync/librsync.hash | 3 +- bsp/buildroot/package/librsync/librsync.mk | 2 +- ...librtas-install-librtas.so.1-symlink.patch | 31 - bsp/buildroot/package/librtas/librtas.hash | 3 +- bsp/buildroot/package/librtas/librtas.mk | 24 +- ...sable_shared_library_target_in_build.patch | 69 +- ...lds-with-newer-compilers-C-standards.patch | 68 - .../package/librtlsdr/librtlsdr.hash | 4 +- bsp/buildroot/package/librtlsdr/librtlsdr.mk | 11 +- .../libseccomp/0001-remove-static.patch | 43 +- .../package/libseccomp/libseccomp.hash | 3 +- .../package/libseccomp/libseccomp.mk | 8 +- .../package/libsecret/libsecret.hash | 7 +- bsp/buildroot/package/libsecret/libsecret.mk | 2 +- ...-build.patch => 0001-fix-musl-build.patch} | 0 .../0001-workaround-blackfin-issue.patch | 24 - ...ve.patch => 0002-revert-ln-relative.patch} | 14 +- ...break-around-__atomic_-with-GCC-4.7.patch} | 0 ...-follow-standard-semantics-for-DESTD.patch | 137 -- .../package/libselinux/libselinux.hash | 5 +- .../package/libselinux/libselinux.mk | 11 +- .../0001-workaround-blackfin-issue.patch | 25 - ...-follow-standard-semantics-for-DESTD.patch | 118 - .../package/libsemanage/libsemanage.hash | 5 +- .../package/libsemanage/libsemanage.mk | 8 +- ...-follow-standard-semantics-for-DESTD.patch | 109 - ...y.patch => 0001-support-static-only.patch} | 16 +- ...ve.patch => 0002-revert-ln-relative.patch} | 10 +- .../0002-workaround-blackfin-issue.patch | 26 - bsp/buildroot/package/libsepol/libsepol.hash | 5 +- bsp/buildroot/package/libsepol/libsepol.mk | 16 +- ...ix-build-when-size_t-is-an-unsigned-.patch | 39 + .../0001-disable-python-bindings.patch | 26 - ...se-high-baudrates-when-not-available.patch | 65 - ...on-t-use-high-baudrates-when-not-ava.patch | 53 + bsp/buildroot/package/libserial/Config.in | 7 +- .../package/libserial/libserial.hash | 6 +- bsp/buildroot/package/libserial/libserial.mk | 13 +- ...shout-tls-compile-with-OpenSSL-1.1.0.patch | 59 + bsp/buildroot/package/libsigrok/Config.in | 3 +- .../package/libsigrok/libsigrok.hash | 2 +- bsp/buildroot/package/libsigrok/libsigrok.mk | 2 +- .../libsigrokdecode/libsigrokdecode.hash | 3 +- .../libsigrokdecode/libsigrokdecode.mk | 2 +- ...001-Improve-support-for-Linux-RISC-V.patch | 79 + ...irection-RISC-V-stack-grows-downward.patch | 35 + bsp/buildroot/package/libsigsegv/Config.in | 11 +- .../package/libsigsegv/libsigsegv.hash | 5 +- .../package/libsigsegv/libsigsegv.mk | 5 +- ...eck-psf-sf.channels-against-upper-bo.patch | 39 + ...MAX_CHANNELS-in-sndfile-deinterleave.patch | 36 + ...aw-fix-multiple-buffer-overflows-432.patch | 96 + bsp/buildroot/package/libsoil/libsoil.mk | 2 +- .../0001-Revert-tld-parser-use-Python-3.patch | 27 + ...-bail-if-hostname-is-an-empty-string.patch | 35 - bsp/buildroot/package/libsoup/libsoup.hash | 4 +- bsp/buildroot/package/libsoup/libsoup.mk | 4 +- ...-Add-Libs.private-for-static-linking.patch | 43 + bsp/buildroot/package/libsoxr/libsoxr.hash | 8 +- bsp/buildroot/package/libsoxr/libsoxr.mk | 6 +- ...ption-for-ln-to-remove-existing-dest.patch | 32 + bsp/buildroot/package/libsquish/Config.in | 5 +- .../package/libsquish/libsquish.hash | 2 + bsp/buildroot/package/libsquish/libsquish.mk | 15 +- ...tions-to-avoid-conflicts-with-downst.patch | 396 ---- bsp/buildroot/package/libsrtp/libsrtp.hash | 3 +- bsp/buildroot/package/libsrtp/libsrtp.mk | 6 +- ...uffer-Fix-size-comparison-with-count.patch | 48 + ...t-for-argc-argument-in-ssh_buffer_-u.patch | 152 ++ .../0003-more-strict-overflow-fixes.patch | 122 ++ bsp/buildroot/package/libssh/libssh.hash | 6 +- bsp/buildroot/package/libssh/libssh.mk | 2 +- ...002-acinclude.m4-add-mbedtls-to-LIBS.patch | 6 +- ...ferencing-ambiguity-potentially-caus.patch | 51 + bsp/buildroot/package/libssh2/libssh2.hash | 3 +- bsp/buildroot/package/libssh2/libssh2.mk | 4 +- .../0001-Namespace-SHA-functions.patch | 189 -- ...e.patch => 0001-make-autoreconfable.patch} | 0 .../package/libstrophe/libstrophe.hash | 4 +- .../package/libstrophe/libstrophe.mk | 6 +- .../0006-include-stdint.h-for-uintptr_t.patch | 31 - .../0006-rpc-types.h-fix-musl-build.patch | 31 + bsp/buildroot/package/libtirpc/libtirpc.hash | 5 +- bsp/buildroot/package/libtirpc/libtirpc.mk | 2 +- .../package/libtomcrypt/libtomcrypt.hash | 5 +- .../package/libtomcrypt/libtomcrypt.mk | 2 +- .../package/libtommath/libtommath.hash | 5 +- .../package/libtommath/libtommath.mk | 4 +- bsp/buildroot/package/libtool/libtool.mk | 16 +- .../package/libtorrent-rasterbar/Config.in | 23 + .../libtorrent-rasterbar.hash | 3 + .../libtorrent-rasterbar.mk | 25 + ...-compilation-based-on-OpenWRT-patch.patch} | 33 +- .../0002-Added-support-for-openssl-1.1.patch | 112 + .../package/libtorrent/libtorrent.hash | 3 +- .../package/libtorrent/libtorrent.mk | 15 +- bsp/buildroot/package/libucl/libucl.hash | 3 +- bsp/buildroot/package/libucl/libucl.mk | 9 +- bsp/buildroot/package/libuio/libuio.hash | 2 +- bsp/buildroot/package/libuio/libuio.mk | 4 +- .../package/libunistring/libunistring.hash | 6 +- .../package/libunistring/libunistring.mk | 10 +- ...-configure.ac-fix-build-with-openssl.patch | 51 + .../package/libupnp18/libupnp18.hash | 8 +- bsp/buildroot/package/libupnp18/libupnp18.mk | 15 +- bsp/buildroot/package/libupnpp/Config.in | 2 +- bsp/buildroot/package/libupnpp/libupnpp.hash | 4 +- bsp/buildroot/package/libupnpp/libupnpp.mk | 5 +- .../package/liburiparser/liburiparser.hash | 2 +- .../package/liburiparser/liburiparser.mk | 2 +- ...x-detection-of-clock_gettime-library.patch | 36 + bsp/buildroot/package/libusb/Config.in | 7 + bsp/buildroot/package/libusb/libusb.hash | 3 +- bsp/buildroot/package/libusb/libusb.mk | 14 +- .../0001-Add-include-of-sys-sysmacro.h.patch | 98 + bsp/buildroot/package/libusbgx/libusbgx.hash | 4 +- bsp/buildroot/package/libusbgx/libusbgx.mk | 2 +- bsp/buildroot/package/libuv/libuv.hash | 2 +- bsp/buildroot/package/libuv/libuv.mk | 2 +- ...uild-sdlcam-only-if-jpeg-is-enabled.patch} | 0 ...ional-copy-of-TEMP_FAILURE_RETRY-mac.patch | 39 - .../0004-v4l2-compliance-needs-fork.patch | 76 + bsp/buildroot/package/libv4l/libv4l.hash | 4 +- bsp/buildroot/package/libv4l/libv4l.mk | 13 +- ...Check-the-interface-from-libva-first.patch | 71 + .../package/libva-intel-driver/Config.in | 2 +- .../libva-intel-driver.hash | 6 +- .../libva-intel-driver/libva-intel-driver.mk | 4 +- .../package/libva-utils/0001-check-ssp.patch | 145 ++ ...failure-when-x11-support-is-disabled.patch | 33 + bsp/buildroot/package/libva-utils/Config.in | 2 +- .../package/libva-utils/libva-utils.hash | 6 +- .../package/libva-utils/libva-utils.mk | 13 +- bsp/buildroot/package/libva/Config.in | 2 +- bsp/buildroot/package/libva/libva.hash | 6 +- bsp/buildroot/package/libva/libva.mk | 5 +- bsp/buildroot/package/libvdpau/libvdpau.mk | 4 +- bsp/buildroot/package/libvips/libvips.mk | 4 +- bsp/buildroot/package/libvpx/Config.in | 2 - bsp/buildroot/package/libvpx/libvpx.hash | 4 +- bsp/buildroot/package/libvpx/libvpx.mk | 5 +- .../package/libwebsock/0002-fix-ssl.patch | 21 +- .../package/libwebsockets/libwebsockets.hash | 3 +- .../package/libwebsockets/libwebsockets.mk | 9 +- .../package/libxkbcommon/libxkbcommon.hash | 7 +- .../package/libxkbcommon/libxkbcommon.mk | 2 +- .../package/libxml2/0001-CVE-2017-8872.patch | 33 - bsp/buildroot/package/libxml2/libxml2.hash | 2 +- bsp/buildroot/package/libxml2/libxml2.mk | 2 +- bsp/buildroot/package/libxmlpp/libxmlpp.hash | 7 +- bsp/buildroot/package/libxmlpp/libxmlpp.mk | 2 +- .../libxmlrpc/0001-fix-gennmtab-build.patch | 25 - ...tch => 0001-use-correct-curl-config.patch} | 0 ...ix-shared-libraries-build-for-uClibc.patch | 27 - .../0003-fix-ar-ranlib-handling.patch | 28 - .../package/libxmlrpc/libxmlrpc.hash | 3 +- bsp/buildroot/package/libxmlrpc/libxmlrpc.mk | 6 +- bsp/buildroot/package/libxslt/libxslt.mk | 6 - bsp/buildroot/package/libyaml/libyaml.hash | 3 +- bsp/buildroot/package/libyaml/libyaml.mk | 3 +- ...Use-cmake-E-tar-to-extract-test-data.patch | 40 - bsp/buildroot/package/libzip/libzip.hash | 4 +- bsp/buildroot/package/libzip/libzip.mk | 16 +- bsp/buildroot/package/lighttpd/Config.in | 7 + bsp/buildroot/package/lighttpd/lighttpd.hash | 4 +- bsp/buildroot/package/lighttpd/lighttpd.mk | 10 +- bsp/buildroot/package/linphone/Config.in | 1 + .../package/linux-firmware/Config.in | 37 + .../linux-firmware/linux-firmware.hash | 9 +- .../package/linux-firmware/linux-firmware.mk | 49 +- .../package/linux-headers/Config.in.host | 117 +- .../package/linux-headers/linux-headers.hash | 1 + .../package/linux-headers/linux-headers.mk | 79 +- .../package/linux-pam/linux-pam.hash | 6 +- bsp/buildroot/package/linux-pam/linux-pam.mk | 6 +- .../linux-syscall-support.mk | 2 +- bsp/buildroot/package/linux-tools/Config.in | 23 +- .../package/linux-tools/linux-tool-pci.mk.in | 27 + .../package/linux-tools/linux-tool-perf.mk.in | 12 +- bsp/buildroot/package/linuxptp/Config.in | 4 - bsp/buildroot/package/linuxptp/S65linuxptp | 0 .../linuxptp/linuxptp-system-clock.service | 2 +- bsp/buildroot/package/linuxptp/linuxptp.hash | 9 +- bsp/buildroot/package/linuxptp/linuxptp.mk | 6 +- .../package/linuxptp/linuxptp.service | 2 + .../package/liquid-dsp/liquid-dsp.mk | 11 +- bsp/buildroot/package/lirc-tools/S25lircd | 0 .../package/lirc-tools/lirc-tools.mk | 2 +- bsp/buildroot/package/ljlinenoise/Config.in | 3 +- .../package/ljlinenoise/ljlinenoise.hash | 5 +- bsp/buildroot/package/ljsyscall/Config.in | 2 +- ...o-disable-libbsd-with-without-libbsd.patch | 106 + ...ation-of-atom-glue-compatible-with-o.patch | 43 - ...02-configure-do-not-check-for-libbsd.patch | 61 - ...nfigure-remove-check-on-CXX-compiler.patch | 35 - bsp/buildroot/package/lldpd/lldpd.hash | 2 +- bsp/buildroot/package/lldpd/lldpd.mk | 17 +- bsp/buildroot/package/llvm/Config.in | 48 + bsp/buildroot/package/llvm/llvm.hash | 3 + bsp/buildroot/package/llvm/llvm.mk | 275 +++ .../lm-sensors/0003-musl-fix-includes.patch | 100 - bsp/buildroot/package/lm-sensors/Config.in | 2 + .../package/lm-sensors/lm-sensors.hash | 4 +- .../package/lm-sensors/lm-sensors.mk | 6 +- bsp/buildroot/package/log4cplus/Config.in | 10 +- .../package/log4cplus/log4cplus.hash | 3 +- bsp/buildroot/package/log4cplus/log4cplus.mk | 8 +- bsp/buildroot/package/lpeg/Config.in | 3 +- bsp/buildroot/package/lpeg/lpeg.hash | 4 +- bsp/buildroot/package/lpty/Config.in | 1 - bsp/buildroot/package/lpty/lpty.hash | 5 +- bsp/buildroot/package/lrandom/Config.in | 1 - bsp/buildroot/package/lrandom/lrandom.hash | 6 +- bsp/buildroot/package/lrandom/lrandom.mk | 2 +- bsp/buildroot/package/lshw/Config.in | 3 + bsp/buildroot/package/lshw/lshw.mk | 1 + bsp/buildroot/package/lsof/lsof.hash | 7 +- bsp/buildroot/package/lsof/lsof.mk | 7 +- bsp/buildroot/package/lsqlite3/Config.in | 3 +- bsp/buildroot/package/lsqlite3/lsqlite3.hash | 4 +- bsp/buildroot/package/lsqlite3/lsqlite3.mk | 6 +- bsp/buildroot/package/lsscsi/lsscsi.hash | 3 +- bsp/buildroot/package/lsscsi/lsscsi.mk | 2 +- ...ble-tirpc_auth_authdes_-create-tests.patch | 2 +- ...a-v2-detection-for-cross-compilation.patch | 37 - .../package/ltp-testsuite/ltp-testsuite.hash | 4 +- .../package/ltp-testsuite/ltp-testsuite.mk | 15 +- bsp/buildroot/package/ltrace/Config.in | 1 + .../package/lua-basexx/lua-basexx.hash | 3 +- .../package/lua-basexx/lua-basexx.mk | 4 +- .../package/lua-bit32/lua-bit32.hash | 5 +- bsp/buildroot/package/lua-cjson/Config.in | 1 - .../package/lua-cjson/lua-cjson.hash | 5 +- bsp/buildroot/package/lua-cjson/lua-cjson.mk | 3 +- bsp/buildroot/package/lua-coat/Config.in | 4 +- bsp/buildroot/package/lua-coat/lua-coat.hash | 5 +- .../package/lua-coatpersistent/Config.in | 7 +- .../lua-coatpersistent.hash | 7 +- bsp/buildroot/package/lua-compat53/Config.in | 2 +- .../package/lua-compat53/lua-compat53.hash | 5 +- .../package/lua-compat53/lua-compat53.mk | 2 +- .../package/lua-cqueues/lua-cqueues.mk | 2 +- bsp/buildroot/package/lua-csnappy/Config.in | 2 +- .../package/lua-csnappy/lua-csnappy.hash | 5 +- .../0001-Fix-build-with-curl-7.62.0.patch | 58 - ...dd-variant-definition-of-lcurl_url_t.patch | 40 + bsp/buildroot/package/lua-curl/lua-curl.hash | 5 +- bsp/buildroot/package/lua-curl/lua-curl.mk | 2 +- .../package/lua-datafile/lua-datafile.hash | 5 +- .../package/lua-datafile/lua-datafile.mk | 2 +- bsp/buildroot/package/lua-ev/Config.in | 2 - bsp/buildroot/package/lua-fifo/lua-fifo.hash | 3 +- bsp/buildroot/package/lua-fifo/lua-fifo.mk | 4 +- bsp/buildroot/package/lua-flu/lua-flu.hash | 5 +- bsp/buildroot/package/lua-flu/lua-flu.mk | 2 +- bsp/buildroot/package/lua-http/Config.in | 18 +- bsp/buildroot/package/lua-http/lua-http.hash | 3 +- .../package/lua-iconv/lua-iconv.hash | 5 +- bsp/buildroot/package/lua-iconv/lua-iconv.mk | 2 +- .../package/lua-lpeg-patterns/Config.in | 3 +- .../lua-lpeg-patterns/lua-lpeg-patterns.hash | 5 +- .../lua-lpeg-patterns/lua-lpeg-patterns.mk | 2 +- .../package/lua-markdown/lua-markdown.hash | 3 +- .../package/lua-markdown/lua-markdown.mk | 2 +- .../package/lua-messagepack/Config.in | 2 +- .../lua-messagepack/lua-messagepack.hash | 3 +- .../package/lua-msgpack-native/Config.in | 3 +- ...issing-header-for-musl-compatibility.patch | 34 - .../0002-Fix-build-on-SPARC.patch | 60 - bsp/buildroot/package/lua-periphery/Config.in | 1 - .../package/lua-periphery/lua-periphery.hash | 5 +- .../package/lua-periphery/lua-periphery.mk | 2 +- .../lua-resty-http/lua-resty-http.hash | 3 +- bsp/buildroot/package/lua-sailor/Config.in | 15 +- .../package/lua-sailor/lua-sailor.hash | 3 +- .../package/lua-sailor/lua-sailor.mk | 2 +- bsp/buildroot/package/lua-std-debug/Config.in | 7 + .../package/lua-std-debug/lua-std-debug.hash | 3 + .../package/lua-std-debug/lua-std-debug.mk | 16 + .../package/lua-std-normalize/Config.in | 12 + .../lua-std-normalize/lua-std-normalize.hash | 3 + .../lua-std-normalize/lua-std-normalize.mk | 14 + .../package/lua-stdlib/lua-stdlib.hash | 5 +- .../package/lua-stdlib/lua-stdlib.mk | 2 +- bsp/buildroot/package/lua-testmore/Config.in | 2 +- .../package/lua-testmore/lua-testmore.hash | 5 +- bsp/buildroot/package/lua-utf8/lua-utf8.hash | 2 +- .../package/lua-valua/lua-valua.hash | 3 +- .../package/lua/5.2.4/0001-root-path.patch | 17 - .../lua/5.2.4/0002-shared-libs-for-lua.patch | 78 - .../package/lua/5.2.4/0011-linenoise.patch | 26 - .../lua/{5.3.4 => 5.3.5}/0001-root-path.patch | 0 .../0002-shared-libs-for-lua.patch | 0 .../lua/5.3.5/0003-fix-revision-number.patch | 31 + .../lua/{5.3.4 => 5.3.5}/0011-linenoise.patch | 0 bsp/buildroot/package/lua/Config.in | 4 - bsp/buildroot/package/lua/lua.hash | 7 +- bsp/buildroot/package/lua/lua.mk | 16 +- bsp/buildroot/package/luabitop/luabitop.hash | 4 +- bsp/buildroot/package/luacrypto/Config.in | 11 - .../package/luacrypto/luacrypto.hash | 2 - bsp/buildroot/package/luacrypto/luacrypto.mk | 12 - .../package/luadbi-sqlite3/Config.in | 2 +- .../luadbi-sqlite3/luadbi-sqlite3.hash | 3 +- .../package/luadbi-sqlite3/luadbi-sqlite3.mk | 2 +- bsp/buildroot/package/luadbi/luadbi.hash | 3 +- bsp/buildroot/package/luadbi/luadbi.mk | 2 +- .../0001-restore-getcurrentbytecount.patch | 40 + bsp/buildroot/package/luaexpat/Config.in | 3 +- bsp/buildroot/package/luaexpat/luaexpat.hash | 5 +- bsp/buildroot/package/luaexpat/luaexpat.mk | 6 +- bsp/buildroot/package/luafilesystem/Config.in | 1 - .../package/luafilesystem/luafilesystem.hash | 3 +- .../package/luafilesystem/luafilesystem.mk | 4 +- .../package/luainterpreter/Config.in | 4 + .../package/luainterpreter/luainterpreter.mk | 2 +- bsp/buildroot/package/luajit/Config.in | 5 + bsp/buildroot/package/luajit/luajit.mk | 6 + bsp/buildroot/package/luajson/Config.in | 3 +- bsp/buildroot/package/luajson/luajson.hash | 3 +- bsp/buildroot/package/lualogging/Config.in | 2 +- .../package/lualogging/lualogging.hash | 5 +- bsp/buildroot/package/luaossl/luaossl.hash | 5 +- bsp/buildroot/package/luaossl/luaossl.mk | 2 +- bsp/buildroot/package/luaposix/Config.in | 4 +- bsp/buildroot/package/luaposix/luaposix.hash | 2 +- bsp/buildroot/package/luaposix/luaposix.mk | 4 +- .../0001-allow-libluajit-detection.patch | 34 + bsp/buildroot/package/luarocks/buildroot.lua | 326 +++ .../package/luarocks/luarocks-br-config.lua | 13 + bsp/buildroot/package/luarocks/luarocks.hash | 3 +- bsp/buildroot/package/luarocks/luarocks.mk | 40 +- bsp/buildroot/package/luasec/Config.in | 5 +- bsp/buildroot/package/luasec/luasec.hash | 5 +- bsp/buildroot/package/luasec/luasec.mk | 5 +- bsp/buildroot/package/luasocket/Config.in | 1 - .../package/luasocket/luasocket.hash | 5 +- .../package/luasql-sqlite3/Config.in | 1 - .../luasql-sqlite3/luasql-sqlite3.hash | 5 +- .../package/luasql-sqlite3/luasql-sqlite3.mk | 2 +- bsp/buildroot/package/lunit/lunit.hash | 5 +- bsp/buildroot/package/lutok/Config.in | 1 - ...lude-compat-5.3.h-in-luv-header-file.patch | 62 + bsp/buildroot/package/luv/luv.hash | 3 +- bsp/buildroot/package/luv/luv.mk | 2 +- bsp/buildroot/package/luvi/luvi.hash | 3 +- bsp/buildroot/package/luvi/luvi.mk | 2 +- ...gure-Introduce-enable-symvers-option.patch | 55 +- bsp/buildroot/package/lvm2/Config.in | 1 + bsp/buildroot/package/lvm2/lvm2.hash | 4 +- bsp/buildroot/package/lvm2/lvm2.mk | 8 +- ...ilation-on-toolchain-without-prlimit.patch | 98 - ...legacy-PR_-G-S-ET_NO_NEW_PRIVS-handl.patch | 49 - bsp/buildroot/package/lxc/Config.in | 4 +- bsp/buildroot/package/lxc/lxc.hash | 2 +- bsp/buildroot/package/lxc/lxc.mk | 21 +- ...-t-build-host-tools-with-target-LDFL.patch | 41 - bsp/buildroot/package/lynx/lynx.hash | 2 +- bsp/buildroot/package/lynx/lynx.mk | 4 +- bsp/buildroot/package/lz4/lz4.hash | 4 +- bsp/buildroot/package/lz4/lz4.mk | 21 +- bsp/buildroot/package/lzip/lzip.hash | 6 +- bsp/buildroot/package/lzip/lzip.mk | 4 +- bsp/buildroot/package/lzo/lzo.mk | 2 + .../0002-buildroot-libtool-v1.5.patch.patch | 109 - .../0002-configure-ac-automake-foreign.patch | 16 + ...ure-ac-use-pkg-config-to-find-id3tag.patch | 23 + bsp/buildroot/package/madplay/madplay.hash | 2 + bsp/buildroot/package/madplay/madplay.mk | 10 +- ...pport-GLIBC-glob-interface-version-2.patch | 31 + bsp/buildroot/package/make/make.mk | 12 +- bsp/buildroot/package/mariadb/mariadb.hash | 12 +- bsp/buildroot/package/mariadb/mariadb.mk | 21 +- bsp/buildroot/package/mbedtls/mbedtls.hash | 6 +- bsp/buildroot/package/mbedtls/mbedtls.mk | 2 +- bsp/buildroot/package/mdadm/mdadm.mk | 23 +- ...FER_PADDING_SIZE-to-determine-paddin.patch | 64 + .../package/mediastreamer/mediastreamer.hash | 1 + .../package/mediastreamer/mediastreamer.mk | 4 +- .../package/memcached/memcached.hash | 9 +- bsp/buildroot/package/memcached/memcached.mk | 2 +- bsp/buildroot/package/mender/Config.in | 19 + bsp/buildroot/package/mender/S42mender | 56 + bsp/buildroot/package/mender/artifact_info | 1 + bsp/buildroot/package/mender/device_type | 1 + bsp/buildroot/package/mender/mender.conf | 10 + bsp/buildroot/package/mender/mender.hash | 41 + bsp/buildroot/package/mender/mender.mk | 79 + bsp/buildroot/package/mender/mender.service | 24 + bsp/buildroot/package/mender/readme.txt | 18 + bsp/buildroot/package/mender/server.crt | 22 + .../package/menu-cache/menu-cache.hash | 9 +- .../package/menu-cache/menu-cache.mk | 4 +- ...-makes-opengl-an-optional-component.patch} | 56 +- .../package/mesa3d-demos/mesa3d-demos.hash | 7 +- .../package/mesa3d-demos/mesa3d-demos.mk | 5 +- .../package/mesa3d-headers/mesa3d-headers.mk | 7 +- bsp/buildroot/package/mesa3d/0001-musl.patch | 26 +- ...detection-with-musl-based-toolchains.patch | 67 - ...vert-order-for-wayland-scanner-check.patch | 51 + ...vert-order-for-wayland-scanner-check.patch | 44 - .../mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch | 37 + ...sing-include-stddef.h-in-egldevice.h.patch | 47 + bsp/buildroot/package/mesa3d/Config.in | 129 +- bsp/buildroot/package/mesa3d/mesa3d.hash | 11 +- bsp/buildroot/package/mesa3d/mesa3d.mk | 60 +- ...-RPATH-if-install_rpath-is-not-empty.patch | 36 + .../package/meson/cross-compilation.conf.in | 1 + bsp/buildroot/package/meson/meson.hash | 6 +- bsp/buildroot/package/meson/meson.mk | 39 +- .../micropython-lib/micropython-lib.hash | 2 +- .../micropython-lib/micropython-lib.mk | 2 +- bsp/buildroot/package/micropython/Config.in | 3 - .../package/micropython/micropython.hash | 2 +- .../package/micropython/micropython.mk | 7 +- ...vert-Default-Shorter-and-better-ABMs.patch | 54 - .../package/minetest-game/minetest-game.hash | 4 +- .../package/minetest-game/minetest-game.mk | 2 +- bsp/buildroot/package/minetest/minetest.hash | 2 +- bsp/buildroot/package/minetest/minetest.mk | 2 +- ...d-zero-byte-before-unsigned-integers.patch | 31 + ...igned-integers-to-have-an-extra-byte.patch | 28 + bsp/buildroot/package/mini-snmpd/Config.in | 7 + .../package/mini-snmpd/mini-snmpd.hash | 3 + .../package/mini-snmpd/mini-snmpd.mk | 21 + .../package/mini-snmpd/mini-snmpd.service | 12 + .../minicom/0001-musl-libc-compile-fix.patch | 28 - ...-RS485-is-support-before-setting-its.patch | 36 + ...-change-maxnamlen-to-posixs-name-max.patch | 51 - bsp/buildroot/package/minicom/Config.in | 2 +- bsp/buildroot/package/minicom/minicom.hash | 2 +- bsp/buildroot/package/minicom/minicom.mk | 17 +- .../package/minissdpd/minissdpd.hash | 4 +- bsp/buildroot/package/minissdpd/minissdpd.mk | 2 +- bsp/buildroot/package/minizip/Config.in | 9 +- bsp/buildroot/package/minizip/minizip.hash | 3 +- bsp/buildroot/package/minizip/minizip.mk | 35 +- bsp/buildroot/package/mjpegtools/Config.in | 5 + .../package/mjpegtools/mjpegtools.mk | 6 + .../mjpg-streamer/0001-musl-pthread.patch | 18 - bsp/buildroot/package/mjpg-streamer/Config.in | 8 +- .../package/mjpg-streamer/mjpg-streamer.hash | 3 +- .../package/mjpg-streamer/mjpg-streamer.mk | 46 +- bsp/buildroot/package/mksh/mksh.mk | 8 + .../0002-fix-overlapping-with-strncpy.patch | 2 +- ...Name-Collision-With-LibTomMath-Funcs.patch | 65 + .../mobile-broadband-provider-info.hash | 6 +- .../mobile-broadband-provider-info.mk | 2 +- ...erneldevice-fix-build-with-musl-libc.patch | 67 + bsp/buildroot/package/modem-manager/Config.in | 10 +- .../package/modem-manager/S44modem-manager | 7 +- .../package/modem-manager/modem-manager.hash | 2 +- .../package/modem-manager/modem-manager.mk | 12 +- ...fix-build-with-gcc-7-and-fpermissive.patch | 55 + bsp/buildroot/package/mongodb/Config.in | 20 +- bsp/buildroot/package/mongodb/mongodb.hash | 4 +- bsp/buildroot/package/mongodb/mongodb.mk | 38 +- ...-length-calculation-in-mg_handle_cgi.patch | 46 - bsp/buildroot/package/mongoose/mongoose.hash | 3 +- bsp/buildroot/package/mongoose/mongoose.mk | 2 +- bsp/buildroot/package/monit/monit.hash | 6 +- bsp/buildroot/package/monit/monit.mk | 2 +- bsp/buildroot/package/monkey/Config.in | 8 +- bsp/buildroot/package/monkey/monkey.hash | 7 +- bsp/buildroot/package/monkey/monkey.mk | 55 +- ...ing-initialization-of-have-vasprintf.patch | 29 - ...ove-unit-tests-from-mono-compilation.patch | 29 - bsp/buildroot/package/mono/Config.in | 4 +- bsp/buildroot/package/mono/mono.hash | 5 +- bsp/buildroot/package/mono/mono.mk | 23 +- bsp/buildroot/package/monolite/monolite.hash | 2 +- bsp/buildroot/package/monolite/monolite.mk | 2 +- bsp/buildroot/package/mosh/Config.in | 8 +- bsp/buildroot/package/mosh/mosh.mk | 3 + bsp/buildroot/package/mosquitto/Config.in | 15 +- .../package/mosquitto/mosquitto.hash | 2 +- bsp/buildroot/package/mosquitto/mosquitto.mk | 22 +- bsp/buildroot/package/motion/Config.in | 1 + bsp/buildroot/package/motion/motion.hash | 2 +- bsp/buildroot/package/motion/motion.mk | 4 +- bsp/buildroot/package/mpd-mpc/mpd-mpc.hash | 3 +- bsp/buildroot/package/mpd-mpc/mpd-mpc.mk | 5 +- bsp/buildroot/package/mpd/Config.in | 23 +- bsp/buildroot/package/mpd/S95mpd | 1 - bsp/buildroot/package/mpd/mpd.hash | 3 +- bsp/buildroot/package/mpd/mpd.mk | 27 +- .../mplayer/0001-disable-install-strip.patch | 23 - ...0002-mpdemux-live555-async-interface.patch | 126 -- .../mplayer/0003-configure-armv8.patch | 43 - .../package/mplayer/0004-configure-zlib.patch | 30 - .../package/mplayer/0005-tremor-ogg.patch | 29 - .../package/mplayer/0006-musl-ldt.patch | 22 - .../package/mplayer/0007-fixmmx.patch | 77 - bsp/buildroot/package/mplayer/Config.in | 42 - bsp/buildroot/package/mplayer/mplayer.hash | 4 - bsp/buildroot/package/mplayer/mplayer.mk | 391 ---- bsp/buildroot/package/mpv/Config.in | 3 - bsp/buildroot/package/mpv/mpv.mk | 11 +- bsp/buildroot/package/msgpack/msgpack.hash | 4 +- bsp/buildroot/package/msgpack/msgpack.mk | 4 +- bsp/buildroot/package/msmtp/Config.in | 2 +- bsp/buildroot/package/msmtp/msmtp.hash | 10 +- bsp/buildroot/package/msmtp/msmtp.mk | 42 +- bsp/buildroot/package/mtd/mtd.mk | 4 - .../multicat/0001-Fix-missing-pthread.patch | 20 - .../multicat/0002-Fix-musl-build.patch | 47 - ...Fix-have-clock-nanosleep-with-uclibc.patch | 24 - bsp/buildroot/package/multicat/multicat.hash | 8 +- bsp/buildroot/package/multicat/multicat.mk | 6 +- .../musl-compat-headers.mk | 2 +- ...api-guards-for-Linux-kernel-header-f.patch | 69 - bsp/buildroot/package/musl/musl.hash | 5 +- bsp/buildroot/package/musl/musl.mk | 2 +- bsp/buildroot/package/mutt/mutt.hash | 3 +- bsp/buildroot/package/mutt/mutt.mk | 12 +- bsp/buildroot/package/mysql/Config.in | 4 +- bsp/buildroot/package/nano/nano.hash | 4 +- bsp/buildroot/package/nano/nano.mk | 4 +- bsp/buildroot/package/ncdu/ncdu.hash | 9 +- bsp/buildroot/package/ncdu/ncdu.mk | 2 +- ...e_ptr-error-with-some-old-toolchains.patch | 54 + ...constructor-to-simplify-initializers.patch | 217 ++ bsp/buildroot/package/ncmpc/Config.in | 7 +- bsp/buildroot/package/ncmpc/ncmpc.hash | 5 +- bsp/buildroot/package/ncmpc/ncmpc.mk | 15 +- .../ncurses/0001-gcc-5.x-MKlib_gen.patch | 5 +- .../ncurses/0002-recognise-uclinux.patch | 29 - bsp/buildroot/package/ncurses/Config.in | 12 +- bsp/buildroot/package/ncurses/ncurses.hash | 2 +- bsp/buildroot/package/ncurses/ncurses.mk | 6 +- bsp/buildroot/package/neard/S53neard | 6 +- bsp/buildroot/package/net-tools/net-tools.mk | 8 +- bsp/buildroot/package/netatalk/S50netatalk | 0 bsp/buildroot/package/netatalk/netatalk.hash | 6 +- bsp/buildroot/package/netatalk/netatalk.mk | 2 +- .../netcat-openbsd/netcat-openbsd.hash | 2 +- .../package/netcat-openbsd/netcat-openbsd.mk | 8 +- bsp/buildroot/package/netplug/S29netplug | 0 .../package/netsniff-ng/netsniff-ng.hash | 2 +- .../package/netsniff-ng/netsniff-ng.mk | 2 +- bsp/buildroot/package/netsnmp/S59snmpd | 3 - bsp/buildroot/package/netsnmp/netsnmp.mk | 8 - .../0001-avoid-system-perl-dependencies.patch | 29 + .../netsurf/0002-fix-freetype-detection.patch | 32 + .../0003-do-not-cross-compile-nsgenbind.patch | 30 + .../0004-fix-compilation-without-curl.patch | 27 + bsp/buildroot/package/netsurf/Config.in | 41 + bsp/buildroot/package/netsurf/netsurf.hash | 3 + bsp/buildroot/package/netsurf/netsurf.mk | 96 + ...1-Fix-accidental-use-of-C99-for-loop.patch | 71 + bsp/buildroot/package/nettle/nettle.hash | 4 +- bsp/buildroot/package/nettle/nettle.mk | 2 +- .../network-manager/S45network-manager | 11 +- .../network-manager/network-manager.hash | 7 +- .../network-manager/network-manager.mk | 2 +- bsp/buildroot/package/nfs-utils/S60nfs | 5 - .../0001-src-fix-build-with-older-glibc.patch | 38 - bsp/buildroot/package/nftables/nftables.hash | 7 +- bsp/buildroot/package/nftables/nftables.mk | 20 +- bsp/buildroot/package/nghttp2/Config.in | 7 + bsp/buildroot/package/nghttp2/nghttp2.hash | 3 + bsp/buildroot/package/nghttp2/nghttp2.mk | 22 + bsp/buildroot/package/nginx/S50nginx | 0 bsp/buildroot/package/nginx/nginx.hash | 2 +- bsp/buildroot/package/nginx/nginx.mk | 2 +- ...nfigure-in-when-testing-for-use_pcre.patch | 25 + .../package/ngrep/0001-make-objs.patch | 23 - ...heck-for-libnet_init-in-configure-in.patch | 28 + .../package/ngrep/0002-pcre-header.patch | 16 - .../ngrep/0003-fix-disable-tcpkill.patch | 39 + .../package/ngrep/0003-fix-static-link.patch | 25 - bsp/buildroot/package/ngrep/Config.in | 2 +- bsp/buildroot/package/ngrep/ngrep.hash | 3 +- bsp/buildroot/package/ngrep/ngrep.mk | 23 +- bsp/buildroot/package/nilfs-utils/Config.in | 6 +- ...-AC_CHECK_HEADER-call-to-test-for-li.patch | 30 - bsp/buildroot/package/nmap/Config.in | 47 +- bsp/buildroot/package/nmap/nmap.hash | 6 +- bsp/buildroot/package/nmap/nmap.mk | 54 +- bsp/buildroot/package/nmon/nmon.mk | 2 +- bsp/buildroot/package/nodejs/nodejs.hash | 4 +- bsp/buildroot/package/nodejs/nodejs.mk | 13 +- bsp/buildroot/package/nodm/S90nodm | 0 bsp/buildroot/package/nss-mdns/nss-mdns.mk | 8 +- .../package/nss-myhostname/Config.in | 12 + .../nss-myhostname/nss-myhostname.hash | 3 + .../package/nss-myhostname/nss-myhostname.mk | 20 + bsp/buildroot/package/ntp/Config.in | 7 +- bsp/buildroot/package/ntp/S48sntp | 55 + bsp/buildroot/package/ntp/S49ntp | 6 +- bsp/buildroot/package/ntp/ntp.mk | 19 +- bsp/buildroot/package/numactl/numactl.hash | 3 +- bsp/buildroot/package/numactl/numactl.mk | 7 +- ...Add-compatibility-with-openssl-1.1.0.patch | 76 + bsp/buildroot/package/nvidia-driver/Config.in | 5 + .../package/nvidia-driver/nvidia-driver.hash | 5 +- .../package/nvidia-driver/nvidia-driver.mk | 20 +- .../nvidia-tegra23-codecs.mk | 2 +- bsp/buildroot/package/ocrad/ocrad.hash | 2 +- bsp/buildroot/package/ocrad/ocrad.mk | 2 +- .../0001-dhcpv6-fix-strncpy-bounds.patch | 28 + .../package/ofono/0002-fix-musl-compile.patch | 37 + bsp/buildroot/package/ofono/S46ofono | 0 bsp/buildroot/package/ofono/ofono.hash | 4 +- bsp/buildroot/package/ofono/ofono.mk | 2 +- bsp/buildroot/package/olsr/S50olsr | 0 bsp/buildroot/package/openal/openal.hash | 2 +- bsp/buildroot/package/openal/openal.mk | 2 +- ...01-Complete-support-for-MIPS-n32-ABI.patch | 116 - ...0001-Makefile.arm-remove-march-flags.patch | 55 + ...0002-Makefile.arm-remove-march-flags.patch | 73 - ...REREQ-checks-to-avoid-breaking-non-g.patch | 73 + ...d-when-__GLIBC_PREREQ-is-not-defined.patch | 45 + bsp/buildroot/package/openblas/openblas.hash | 3 +- bsp/buildroot/package/openblas/openblas.mk | 2 +- ...3-Update-OpenCVCompilerOptions.cmake.patch | 32 - bsp/buildroot/package/opencv/Config.in | 12 - bsp/buildroot/package/opencv/opencv.hash | 2 +- bsp/buildroot/package/opencv/opencv.mk | 10 +- ...otobuf-fix-compilation-issue-on-s390.patch | 38 + bsp/buildroot/package/opencv3/Config.in | 16 +- bsp/buildroot/package/opencv3/opencv3.hash | 5 +- bsp/buildroot/package/opencv3/opencv3.mk | 32 +- bsp/buildroot/package/opengl/Config.in | 1 + .../package/opengl/libopencl/Config.in | 6 + .../package/opengl/libopencl/libopencl.mk | 7 + bsp/buildroot/package/openldap/openldap.hash | 11 +- bsp/buildroot/package/openldap/openldap.mk | 6 +- bsp/buildroot/package/openmpi/openmpi.hash | 9 +- bsp/buildroot/package/openmpi/openmpi.mk | 4 +- bsp/buildroot/package/openntpd/S49ntp | 1 - bsp/buildroot/package/openocd/Config.in | 11 + bsp/buildroot/package/openocd/openocd.mk | 3 +- .../package/openpowerlink/openpowerlink.hash | 8 +- .../package/openpowerlink/openpowerlink.mk | 4 +- bsp/buildroot/package/openresolv/Config.in | 8 + .../package/openresolv/openresolv.hash | 3 + .../package/openresolv/openresolv.mk | 24 + .../0001-fix-pam-uclibc-pthreads-clash.patch | 44 - ...w-empty-incoming-filename-or-ones-th.patch | 39 + .../openssh/0002-fix-howmany-include.patch | 49 - ...e-scp-filenames-via-snmprintf.-To-do.patch | 275 +++ ...n-scp-client-that-filenames-sent-dur.patch | 186 ++ bsp/buildroot/package/openssh/openssh.hash | 4 +- bsp/buildroot/package/openssh/openssh.mk | 19 +- .../package/openssh/sshd-sysusers.conf | 1 + ...d-static-target-a-configurable-optio.patch | 74 - .../package/opentracing-cpp/Config.in | 7 +- .../opentracing-cpp/opentracing-cpp.hash | 4 +- .../opentracing-cpp/opentracing-cpp.mk | 6 +- .../opentyrian-data/opentyrian-data.mk | 2 +- .../openvmtools/0001-has_bsd_printf.patch | 26 - ...rror.patch => 0001-no_cflags_werror.patch} | 4 +- ...s.patch => 0002-dont-force-cppflags.patch} | 4 +- .../0004-uclibc_secure_getenv.patch | 18 - bsp/buildroot/package/openvmtools/Config.in | 6 +- .../package/openvmtools/openvmtools.hash | 3 +- .../package/openvmtools/openvmtools.mk | 11 +- bsp/buildroot/package/openvpn/S60openvpn | 6 +- bsp/buildroot/package/openvpn/openvpn.hash | 3 +- bsp/buildroot/package/openvpn/openvpn.mk | 15 +- ...-error-in-regards-to-Werror-restrict.patch | 39 + bsp/buildroot/package/opkg/opkg.hash | 4 +- bsp/buildroot/package/opkg/opkg.mk | 15 +- .../0002-Fix-FTBFS-problem-with-GCC-6.patch | 51 - ...ve-replace-basename-with-op_basename.patch | 34 + bsp/buildroot/package/oprofile/oprofile.hash | 9 +- bsp/buildroot/package/oprofile/oprofile.mk | 2 +- bsp/buildroot/package/opus-tools/Config.in | 4 +- .../package/opus-tools/opus-tools.hash | 5 +- .../package/opus-tools/opus-tools.mk | 4 +- bsp/buildroot/package/opus/opus.hash | 5 +- bsp/buildroot/package/opus/opus.mk | 2 +- bsp/buildroot/package/opusfile/opusfile.hash | 5 +- bsp/buildroot/package/opusfile/opusfile.mk | 6 +- .../package/oracle-mysql/oracle-mysql.mk | 1 + bsp/buildroot/package/orbit/Config.in | 7 +- bsp/buildroot/package/orbit/orbit.hash | 4 +- bsp/buildroot/package/orbit/orbit.mk | 7 +- ...02-include-sys-sysmacros.h-for-major.patch | 50 + bsp/buildroot/package/owfs/S25owserver | 0 bsp/buildroot/package/owfs/S30owfs | 0 bsp/buildroot/package/owfs/owfs.hash | 10 +- bsp/buildroot/package/owfs/owfs.mk | 5 +- bsp/buildroot/package/p7zip/0001-bfin.patch | 19 - ...clare-mqtt-tests-as-a-C-only-project.patch | 27 - .../package/paho-mqtt-c/paho-mqtt-c.hash | 2 +- .../package/paho-mqtt-c/paho-mqtt-c.mk | 2 +- bsp/buildroot/package/pamtester/Config.in | 15 + .../package/pamtester/pamtester.hash | 3 + bsp/buildroot/package/pamtester/pamtester.mk | 13 + ...rtion-with-invalid-Unicode-sequences.patch | 38 + bsp/buildroot/package/patchelf/patchelf.mk | 2 +- bsp/buildroot/package/pciutils/Config.in | 2 - bsp/buildroot/package/pciutils/pciutils.mk | 5 - ...ook-for-pcm-core-at-the-default-path.patch | 46 + bsp/buildroot/package/pcm-tools/Config.in | 33 + .../package/pcm-tools/pcm-tools.hash | 3 + bsp/buildroot/package/pcm-tools/pcm-tools.mk | 36 + bsp/buildroot/package/pcmanfm/pcmanfm.hash | 7 +- bsp/buildroot/package/pcmanfm/pcmanfm.mk | 2 +- bsp/buildroot/package/pcre/pcre.hash | 4 +- bsp/buildroot/package/pcre/pcre.mk | 2 +- .../pcre2/0001-fix-heapframe-alignment.patch | 49 - bsp/buildroot/package/pcre2/pcre2.hash | 6 +- bsp/buildroot/package/pcre2/pcre2.mk | 2 +- bsp/buildroot/package/pcsc-lite/Config.in | 2 +- .../package/pcsc-lite/pcsc-lite.hash | 3 +- bsp/buildroot/package/pcsc-lite/pcsc-lite.mk | 11 +- bsp/buildroot/package/pdbg/pdbg.hash | 3 +- bsp/buildroot/package/pdbg/pdbg.mk | 2 +- .../perl-apache-logformat-compiler/Config.in | 7 + .../perl-apache-logformat-compiler.hash | 6 + .../perl-apache-logformat-compiler.mk | 15 + .../package/perl-appconfig/Config.in | 8 + .../perl-appconfig/perl-appconfig.hash | 6 + .../package/perl-appconfig/perl-appconfig.mk | 14 + .../package/perl-astro-suntime/Config.in | 6 + .../perl-astro-suntime.hash | 6 + .../perl-astro-suntime/perl-astro-suntime.mk | 15 + .../package/perl-class-inspector/Config.in | 6 + .../perl-class-inspector.hash | 6 + .../perl-class-inspector.mk | 14 + .../package/perl-class-load/Config.in | 15 + .../perl-class-load/perl-class-load.hash | 6 + .../perl-class-load/perl-class-load.mk | 14 + .../perl-class-method-modifiers/Config.in | 6 + .../perl-class-method-modifiers.hash | 6 + .../perl-class-method-modifiers.mk | 14 + .../package/perl-class-std-fast/Config.in | 7 + .../perl-class-std-fast.hash | 6 + .../perl-class-std-fast.mk | 15 + .../package/perl-class-std/Config.in | 6 + .../perl-class-std/perl-class-std.hash | 6 + .../package/perl-class-std/perl-class-std.mk | 15 + .../package/perl-convert-asn1/Config.in | 7 + .../perl-convert-asn1/perl-convert-asn1.hash | 6 + .../perl-convert-asn1/perl-convert-asn1.mk | 14 + .../package/perl-cookie-baker/Config.in | 7 + .../perl-cookie-baker/perl-cookie-baker.hash | 6 + .../perl-cookie-baker/perl-cookie-baker.mk | 15 + .../package/perl-crypt-blowfish/Config.in | 10 + .../perl-crypt-blowfish.hash | 6 + .../perl-crypt-blowfish.mk | 14 + .../package/perl-crypt-cbc/Config.in | 6 + .../perl-crypt-cbc/perl-crypt-cbc.hash | 6 + .../package/perl-crypt-cbc/perl-crypt-cbc.mk | 14 + .../perl-crypt-openssl-guess.hash | 6 + .../perl-crypt-openssl-guess.mk | 14 + .../perl-crypt-openssl-random/Config.in | 4 +- .../perl-crypt-openssl-random.hash | 7 +- .../perl-crypt-openssl-random.mk | 11 +- .../package/perl-crypt-openssl-rsa/Config.in | 6 +- .../perl-crypt-openssl-rsa.hash | 7 +- .../perl-crypt-openssl-rsa.mk | 13 +- .../package/perl-data-dump/Config.in | 6 + .../perl-data-dump/perl-data-dump.hash | 6 + .../package/perl-data-dump/perl-data-dump.mk | 14 + .../package/perl-data-optlist/Config.in | 12 + .../perl-data-optlist/perl-data-optlist.hash | 6 + .../perl-data-optlist/perl-data-optlist.mk | 14 + .../package/perl-data-uuid/Config.in | 10 + .../perl-data-uuid/perl-data-uuid.hash | 6 + .../package/perl-data-uuid/perl-data-uuid.mk | 19 + .../package/perl-date-manip/Config.in | 6 + .../perl-date-manip/perl-date-manip.hash | 6 + .../perl-date-manip/perl-date-manip.mk | 14 + .../package/perl-datetime-tiny/Config.in | 2 +- .../perl-datetime-tiny.hash | 7 +- .../perl-datetime-tiny/perl-datetime-tiny.mk | 3 +- .../package/perl-dbd-mysql/Config.in | 17 + .../perl-dbd-mysql/perl-dbd-mysql.hash | 6 + .../package/perl-dbd-mysql/perl-dbd-mysql.mk | 19 + bsp/buildroot/package/perl-dbi/Config.in | 10 + bsp/buildroot/package/perl-dbi/perl-dbi.hash | 6 + bsp/buildroot/package/perl-dbi/perl-dbi.mk | 15 + .../perl-devel-globaldestruction/Config.in | 8 + .../perl-devel-globaldestruction.hash | 6 + .../perl-devel-globaldestruction.mk | 14 + .../perl-devel-stacktrace-ashtml/Config.in | 7 + .../perl-devel-stacktrace-ashtml.hash | 6 + .../perl-devel-stacktrace-ashtml.mk | 14 + .../package/perl-devel-stacktrace/Config.in | 6 + .../perl-devel-stacktrace.hash | 6 + .../perl-devel-stacktrace.mk | 14 + .../package/perl-device-serialport/Config.in | 10 + .../perl-device-serialport.hash | 6 + .../perl-device-serialport.mk | 14 + .../package/perl-digest-hmac/Config.in | 4 +- .../perl-digest-hmac/perl-digest-hmac.hash | 3 + .../perl-digest-hmac/perl-digest-hmac.mk | 1 + .../package/perl-digest-md5/Config.in | 10 + .../perl-digest-md5/perl-digest-md5.hash | 6 + .../perl-digest-md5/perl-digest-md5.mk | 14 + .../package/perl-digest-sha1/Config.in | 2 +- .../perl-digest-sha1/perl-digest-sha1.hash | 3 + .../perl-digest-sha1/perl-digest-sha1.mk | 1 + .../perl-dist-checkconflicts/Config.in | 7 + .../perl-dist-checkconflicts.hash | 6 + .../perl-dist-checkconflicts.mk | 14 + .../perl-encode-detect.hash | 3 + .../perl-encode-detect/perl-encode-detect.mk | 1 + .../package/perl-encode-locale/Config.in | 4 +- .../perl-encode-locale.hash | 3 + .../perl-encode-locale/perl-encode-locale.mk | 1 + .../package/perl-exporter-tiny/Config.in | 7 + .../perl-exporter-tiny.hash | 7 + .../perl-exporter-tiny/perl-exporter-tiny.mk | 14 + .../perl-extutils-config.hash | 6 + .../perl-extutils-config.mk | 14 + .../perl-extutils-helpers.hash | 6 + .../perl-extutils-helpers.mk | 14 + .../perl-extutils-installpaths.hash | 6 + .../perl-extutils-installpaths.mk | 15 + .../package/perl-file-listing/Config.in | 6 +- .../perl-file-listing/perl-file-listing.hash | 3 + .../perl-file-listing/perl-file-listing.mk | 2 +- .../perl-file-sharedir-install.hash | 6 + .../perl-file-sharedir-install.mk | 14 + .../package/perl-file-sharedir/Config.in | 7 + .../perl-file-sharedir.hash | 6 + .../perl-file-sharedir/perl-file-sharedir.mk | 15 + .../package/perl-file-slurp/Config.in | 7 + .../perl-file-slurp/perl-file-slurp.hash | 6 + .../perl-file-slurp/perl-file-slurp.mk | 14 + .../package/perl-file-util/Config.in | 2 +- .../perl-file-util/perl-file-util.hash | 4 + .../package/perl-file-util/perl-file-util.mk | 1 + .../perl-filesys-notify-simple/Config.in | 6 + .../perl-filesys-notify-simple.hash | 6 + .../perl-filesys-notify-simple.mk | 14 + bsp/buildroot/package/perl-gd/Config.in | 2 +- bsp/buildroot/package/perl-gd/perl-gd.hash | 7 +- bsp/buildroot/package/perl-gd/perl-gd.mk | 3 +- bsp/buildroot/package/perl-gdgraph/Config.in | 6 +- .../package/perl-gdgraph/perl-gdgraph.hash | 3 + .../package/perl-gdgraph/perl-gdgraph.mk | 2 +- .../package/perl-gdtextutil/Config.in | 2 +- .../perl-gdtextutil/perl-gdtextutil.hash | 3 + .../perl-gdtextutil/perl-gdtextutil.mk | 1 + .../package/perl-hash-multivalue/Config.in | 6 + .../perl-hash-multivalue.hash | 6 + .../perl-hash-multivalue.mk | 14 + .../package/perl-html-parser/Config.in | 4 +- .../perl-html-parser/perl-html-parser.hash | 3 + .../perl-html-parser/perl-html-parser.mk | 2 +- .../package/perl-html-tagset/Config.in | 4 +- .../perl-html-tagset/perl-html-tagset.hash | 3 + .../perl-html-tagset/perl-html-tagset.mk | 1 + .../package/perl-http-cookies/Config.in | 6 +- .../perl-http-cookies/perl-http-cookies.hash | 3 + .../perl-http-cookies/perl-http-cookies.mk | 2 +- .../package/perl-http-daemon/Config.in | 11 +- .../perl-http-daemon/perl-http-daemon.hash | 3 + .../perl-http-daemon/perl-http-daemon.mk | 2 +- .../package/perl-http-date/Config.in | 5 +- .../perl-http-date/perl-http-date.hash | 3 + .../package/perl-http-date/perl-http-date.mk | 1 + .../package/perl-http-entity-parser/Config.in | 11 + .../perl-http-entity-parser.hash | 6 + .../perl-http-entity-parser.mk | 15 + .../package/perl-http-headers-fast/Config.in | 7 + .../perl-http-headers-fast.hash | 6 + .../perl-http-headers-fast.mk | 15 + .../package/perl-http-message/Config.in | 12 +- .../perl-http-message/perl-http-message.hash | 7 +- .../perl-http-message/perl-http-message.mk | 4 +- .../perl-http-multipartparser/Config.in | 6 + .../perl-http-multipartparser.hash | 6 + .../perl-http-multipartparser.mk | 14 + .../package/perl-http-negotiate/Config.in | 8 +- .../perl-http-negotiate.hash | 3 + .../perl-http-negotiate.mk | 2 +- bsp/buildroot/package/perl-io-html/Config.in | 5 +- .../package/perl-io-html/perl-io-html.hash | 3 + .../package/perl-io-html/perl-io-html.mk | 1 + .../package/perl-io-interface/Config.in | 10 + .../perl-io-interface/perl-io-interface.hash | 6 + .../perl-io-interface/perl-io-interface.mk | 15 + .../perl-io-socket-multicast/Config.in | 11 + .../perl-io-socket-multicast.hash | 6 + .../perl-io-socket-multicast.mk | 14 + .../package/perl-io-socket-ssl/Config.in | 2 +- .../perl-io-socket-ssl.hash | 7 +- .../perl-io-socket-ssl/perl-io-socket-ssl.mk | 4 +- .../package/perl-json-maybexs/Config.in | 7 + .../perl-json-maybexs/perl-json-maybexs.hash | 6 + .../perl-json-maybexs/perl-json-maybexs.mk | 14 + .../perl-json-tiny/perl-json-tiny.hash | 3 + .../package/perl-json-tiny/perl-json-tiny.mk | 1 + .../package/perl-libwww-perl/Config.in | 28 +- .../perl-libwww-perl/perl-libwww-perl.hash | 7 +- .../perl-libwww-perl/perl-libwww-perl.mk | 17 +- .../package/perl-lwp-mediatypes/Config.in | 5 +- .../perl-lwp-mediatypes.hash | 3 + .../perl-lwp-mediatypes.mk | 1 + .../package/perl-mail-dkim/Config.in | 8 +- .../perl-mail-dkim/perl-mail-dkim.hash | 4 +- .../package/perl-mail-dkim/perl-mail-dkim.mk | 4 +- .../package/perl-mailtools/Config.in | 4 +- .../perl-mailtools/perl-mailtools.hash | 7 +- .../package/perl-mailtools/perl-mailtools.mk | 4 +- .../perl-mime-base64-urlsafe/Config.in | 6 + .../perl-mime-base64-urlsafe.hash | 6 + .../perl-mime-base64-urlsafe.mk | 14 + .../package/perl-mime-base64/Config.in | 5 +- .../perl-mime-base64/perl-mime-base64.hash | 3 + .../perl-mime-base64/perl-mime-base64.mk | 1 + .../package/perl-mime-tools/Config.in | 7 + .../perl-mime-tools/perl-mime-tools.hash | 6 + .../perl-mime-tools/perl-mime-tools.mk | 14 + .../perl-module-build-tiny.hash | 6 + .../perl-module-build-tiny.mk | 18 + .../perl-module-build/perl-module-build.hash | 3 + .../perl-module-build/perl-module-build.mk | 1 + .../perl-module-implementation/Config.in | 9 + .../perl-module-implementation.hash | 6 + .../perl-module-implementation.mk | 14 + .../package/perl-module-runtime/Config.in | 6 + .../perl-module-runtime.hash | 6 + .../perl-module-runtime.mk | 15 + .../Config.in | 7 + ...erl-mojolicious-plugin-authentication.hash | 6 + .../perl-mojolicious-plugin-authentication.mk | 14 + .../package/perl-mojolicious/Config.in | 4 +- .../perl-mojolicious/perl-mojolicious.hash | 7 +- .../perl-mojolicious/perl-mojolicious.mk | 3 +- bsp/buildroot/package/perl-moo/Config.in | 11 + bsp/buildroot/package/perl-moo/perl-moo.hash | 6 + bsp/buildroot/package/perl-moo/perl-moo.mk | 14 + bsp/buildroot/package/perl-net-dns/Config.in | 4 +- .../package/perl-net-dns/perl-net-dns.hash | 7 +- .../package/perl-net-dns/perl-net-dns.mk | 4 +- bsp/buildroot/package/perl-net-http/Config.in | 4 +- .../package/perl-net-http/perl-net-http.hash | 7 +- .../package/perl-net-http/perl-net-http.mk | 4 +- bsp/buildroot/package/perl-net-ping/Config.in | 6 + .../package/perl-net-ping/perl-net-ping.hash | 6 + .../package/perl-net-ping/perl-net-ping.mk | 14 + bsp/buildroot/package/perl-net-snmp/Config.in | 6 + .../package/perl-net-snmp/perl-net-snmp.hash | 6 + .../package/perl-net-snmp/perl-net-snmp.mk | 15 + bsp/buildroot/package/perl-net-ssh2/Config.in | 18 + .../package/perl-net-ssh2/perl-net-ssh2.hash | 6 + .../package/perl-net-ssh2/perl-net-ssh2.mk | 24 + .../package/perl-net-ssleay/Config.in | 2 +- .../perl-net-ssleay/perl-net-ssleay.hash | 7 +- .../perl-net-ssleay/perl-net-ssleay.mk | 3 +- .../package/perl-net-telnet/Config.in | 6 + .../perl-net-telnet/perl-net-telnet.hash | 6 + .../perl-net-telnet/perl-net-telnet.mk | 14 + .../package/perl-netaddr-ip/Config.in | 2 +- .../perl-netaddr-ip/perl-netaddr-ip.hash | 4 + .../perl-netaddr-ip/perl-netaddr-ip.mk | 5 +- .../package/perl-number-bytes-human/Config.in | 6 + .../perl-number-bytes-human.hash | 6 + .../perl-number-bytes-human.mk | 14 + .../package/perl-package-stash/Config.in | 8 + .../perl-package-stash.hash | 6 + .../perl-package-stash/perl-package-stash.mk | 14 + .../package/perl-params-util/Config.in | 10 + .../perl-params-util/perl-params-util.hash | 6 + .../perl-params-util/perl-params-util.mk | 14 + .../package/perl-path-tiny/Config.in | 2 +- .../perl-path-tiny/perl-path-tiny.hash | 7 +- .../package/perl-path-tiny/perl-path-tiny.mk | 3 +- bsp/buildroot/package/perl-plack/Config.in | 21 + .../package/perl-plack/perl-plack.hash | 6 + .../package/perl-plack/perl-plack.mk | 15 + .../perl-posix-strftime-compiler/Config.in | 6 + .../perl-posix-strftime-compiler.hash | 6 + .../perl-posix-strftime-compiler.mk | 15 + .../package/perl-role-tiny/Config.in | 6 + .../perl-role-tiny/perl-role-tiny.hash | 6 + .../package/perl-role-tiny/perl-role-tiny.mk | 14 + .../package/perl-stream-buffered/Config.in | 6 + .../perl-stream-buffered.hash | 6 + .../perl-stream-buffered.mk | 14 + .../perl-sub-exporter-progressive/Config.in | 6 + .../perl-sub-exporter-progressive.hash | 6 + .../perl-sub-exporter-progressive.mk | 14 + .../package/perl-sub-install/Config.in | 6 + .../perl-sub-install/perl-sub-install.hash | 6 + .../perl-sub-install/perl-sub-install.mk | 14 + .../package/perl-sub-quote/Config.in | 6 + .../perl-sub-quote/perl-sub-quote.hash | 6 + .../package/perl-sub-quote/perl-sub-quote.mk | 14 + .../0001-remove-extraneous-include.patch | 20 + bsp/buildroot/package/perl-sys-cpu/Config.in | 9 + .../package/perl-sys-cpu/perl-sys-cpu.hash | 2 + .../package/perl-sys-cpu/perl-sys-cpu.mk | 13 + .../package/perl-sys-meminfo/Config.in | 10 + .../perl-sys-meminfo/perl-sys-meminfo.hash | 6 + .../perl-sys-meminfo/perl-sys-meminfo.mk | 14 + bsp/buildroot/package/perl-sys-mmap/Config.in | 10 + .../package/perl-sys-mmap/perl-sys-mmap.hash | 7 + .../package/perl-sys-mmap/perl-sys-mmap.mk | 14 + .../package/perl-time-hires/Config.in | 10 - .../perl-time-hires/perl-time-hires.hash | 3 - .../perl-time-hires/perl-time-hires.mk | 13 - .../package/perl-time-parsedate/Config.in | 6 + .../perl-time-parsedate.hash | 7 + .../perl-time-parsedate.mk | 14 + bsp/buildroot/package/perl-timedate/Config.in | 2 +- .../package/perl-timedate/perl-timedate.hash | 3 + .../package/perl-timedate/perl-timedate.mk | 1 + bsp/buildroot/package/perl-try-tiny/Config.in | 2 +- .../package/perl-try-tiny/perl-try-tiny.hash | 3 + .../package/perl-try-tiny/perl-try-tiny.mk | 1 + .../package/perl-type-tiny/Config.in | 7 + .../perl-type-tiny/perl-type-tiny.hash | 7 + .../package/perl-type-tiny/perl-type-tiny.mk | 14 + bsp/buildroot/package/perl-uri/Config.in | 2 +- bsp/buildroot/package/perl-uri/perl-uri.hash | 7 +- bsp/buildroot/package/perl-uri/perl-uri.mk | 5 +- .../perl-www-form-urlencoded/Config.in | 6 + .../perl-www-form-urlencoded.hash | 6 + .../perl-www-form-urlencoded.mk | 15 + .../package/perl-www-robotrules/Config.in | 7 +- .../perl-www-robotrules.hash | 3 + .../perl-www-robotrules.mk | 2 +- bsp/buildroot/package/perl-x10/Config.in | 13 + bsp/buildroot/package/perl-x10/perl-x10.hash | 6 + bsp/buildroot/package/perl-x10/perl-x10.mk | 14 + .../package/perl-xml-libxml/Config.in | 8 +- .../perl-xml-libxml/perl-xml-libxml.hash | 3 + .../perl-xml-libxml/perl-xml-libxml.mk | 3 +- .../perl-xml-namespacesupport/Config.in | 2 +- .../perl-xml-namespacesupport.hash | 3 + .../perl-xml-namespacesupport.mk | 1 + .../package/perl-xml-sax-base/Config.in | 2 +- .../perl-xml-sax-base/perl-xml-sax-base.hash | 3 + .../perl-xml-sax-base/perl-xml-sax-base.mk | 1 + bsp/buildroot/package/perl-xml-sax/Config.in | 6 +- .../package/perl-xml-sax/perl-xml-sax.hash | 7 +- .../package/perl-xml-sax/perl-xml-sax.mk | 4 +- ...isting-files-before-overwriting-them.patch | 46 - ...the-generated-subdirectory-Makefiles.patch | 30 + bsp/buildroot/package/perl/perl.hash | 12 +- bsp/buildroot/package/perl/perl.mk | 8 +- .../phidgetwebservice/phidgetwebservice.hash | 3 +- .../phidgetwebservice/phidgetwebservice.mk | 2 +- bsp/buildroot/package/php-amqp/php-amqp.hash | 3 +- bsp/buildroot/package/php-amqp/php-amqp.mk | 2 +- .../package/php-memcached/php-memcached.hash | 5 +- .../package/php-memcached/php-memcached.mk | 2 +- ...fix-php_url-fields-usage-for-PHP-7-3.patch | 302 +++ ...estored-commented-reference-counting.patch | 746 +++++++ bsp/buildroot/package/php-yaml/php-yaml.hash | 3 +- bsp/buildroot/package/php-yaml/php-yaml.mk | 2 +- ...1-PHP-7.3-compatibility-and-bugfixes.patch | 271 +++ ...1-acinclude.m4-don-t-unset-variables.patch | 6 +- .../0002-iconv-tweak-iconv-detection.patch | 10 +- ...0003-configure-disable-the-phar-tool.patch | 4 +- ...chanism-is-obviously-linux-so-force-.patch | 58 +- ... 0005-Call-apxs-with-correct-prefix.patch} | 6 +- ...fig.m4-allow-cache-answer-for-strcas.patch | 37 - .../php/0006-avoid-bfin-gcc-segfault.patch | 17 - ...t_compat.h-add-missing-php.h-include.patch | 71 - bsp/buildroot/package/php/Config.ext | 32 +- bsp/buildroot/package/php/Config.in | 8 +- bsp/buildroot/package/php/php.hash | 4 +- bsp/buildroot/package/php/php.mk | 19 +- ...-with-libc-s-without-cispeed-cospeed.patch | 49 + bsp/buildroot/package/picocom/picocom.hash | 2 +- bsp/buildroot/package/picocom/picocom.mk | 2 +- bsp/buildroot/package/pigpio/Config.in | 14 + bsp/buildroot/package/pigpio/pigpio.hash | 3 + bsp/buildroot/package/pigpio/pigpio.mk | 25 + bsp/buildroot/package/pigz/Config.in | 14 + bsp/buildroot/package/pigz/pigz.hash | 3 + bsp/buildroot/package/pigz/pigz.mk | 21 + bsp/buildroot/package/pinentry/Config.in | 18 - bsp/buildroot/package/pinentry/pinentry.mk | 11 +- bsp/buildroot/package/pixiewps/Config.in | 11 + bsp/buildroot/package/pixiewps/pixiewps.hash | 3 + bsp/buildroot/package/pixiewps/pixiewps.mk | 21 + bsp/buildroot/package/pkg-cmake.mk | 15 +- bsp/buildroot/package/pkg-download.mk | 176 +- bsp/buildroot/package/pkg-generic.mk | 146 +- bsp/buildroot/package/pkg-golang.mk | 134 ++ bsp/buildroot/package/pkg-kconfig.mk | 51 +- bsp/buildroot/package/pkg-luarocks.mk | 15 +- bsp/buildroot/package/pkg-meson.mk | 169 ++ bsp/buildroot/package/pkg-perl.mk | 10 +- bsp/buildroot/package/pkg-python.mk | 56 +- bsp/buildroot/package/pkg-rebar.mk | 15 + bsp/buildroot/package/pkg-utils.mk | 23 +- bsp/buildroot/package/pkg-waf.mk | 10 +- ...all-variables-sysroot-prefix-problem.patch | 64 - ...th-the-sysroot-a-subset-of-variables.patch | 142 ++ ...me-modversion-insted-of-version-if-o.patch | 45 + bsp/buildroot/package/pkgconf/Config.in | 2 +- bsp/buildroot/package/pkgconf/pkgconf.hash | 2 +- bsp/buildroot/package/pkgconf/pkgconf.mk | 6 +- bsp/buildroot/package/pngquant/pngquant.hash | 5 +- bsp/buildroot/package/pngquant/pngquant.mk | 4 +- ...-add-the-staging-path-to-search-path.patch | 10 +- .../0002-Add-support-for-m68000-1856.patch | 30 + .../0002-fix-m68k-double-conv-detect.patch | 19 - ...tils.h-backport-double-conversion-ch.patch | 32 + bsp/buildroot/package/poco/Config.in | 23 +- bsp/buildroot/package/poco/poco.mk | 5 + ...-all-paths-that-use-an-absolute-path.patch | 8 +- .../0002-Add-PREFIX-to-host-paths.patch | 33 +- .../policycoreutils/policycoreutils.hash | 2 +- .../policycoreutils/policycoreutils.mk | 4 +- bsp/buildroot/package/polkit/Config.in | 5 +- bsp/buildroot/package/polkit/polkit.hash | 2 +- bsp/buildroot/package/polkit/polkit.mk | 2 +- bsp/buildroot/package/poppler/Config.in | 8 - bsp/buildroot/package/poppler/poppler.mk | 9 +- .../popt/0004-add-libiconv-to-popt.pc.patch | 19 + bsp/buildroot/package/postgresql/Config.in | 5 +- bsp/buildroot/package/postgresql/pg_config | 5 +- .../package/postgresql/postgresql.hash | 8 +- .../package/postgresql/postgresql.mk | 26 +- .../package/postgresql/postgresql.service | 12 +- .../pound/0002-fix-openssl-1.1.0.patch | 334 +++ ...bressl-coexisting-with-openssl-1.1.x.patch | 140 ++ bsp/buildroot/package/pound/pound.hash | 3 +- bsp/buildroot/package/pound/pound.mk | 4 +- .../package/powerpc-utils/powerpc-utils.hash | 3 +- .../package/powerpc-utils/powerpc-utils.mk | 2 +- bsp/buildroot/package/powertop/Config.in | 2 - ...he-DES-instead-of-the-libcrypt-glibc.patch | 113 + .../pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch | 38 + bsp/buildroot/package/pppd/Config.in | 1 + bsp/buildroot/package/pppd/pppd.mk | 5 +- .../package/pps-tools/pps-tools.hash | 2 +- bsp/buildroot/package/pps-tools/pps-tools.mk | 2 +- bsp/buildroot/package/procps-ng/Config.in | 5 - bsp/buildroot/package/procps-ng/procps-ng.mk | 10 +- bsp/buildroot/package/proftpd/Config.in | 68 + bsp/buildroot/package/proftpd/S50proftpd | 4 +- bsp/buildroot/package/proftpd/proftpd.mk | 63 +- bsp/buildroot/package/proj/proj.hash | 4 +- bsp/buildroot/package/proj/proj.mk | 2 +- .../package/prosody/0001-enable-syslog.patch | 25 + .../package/prosody/0002-add-pidfile.patch | 26 + bsp/buildroot/package/prosody/Config.in | 14 +- bsp/buildroot/package/prosody/S50prosody | 6 +- bsp/buildroot/package/prosody/prosody.cfg.lua | 184 -- bsp/buildroot/package/prosody/prosody.hash | 10 +- bsp/buildroot/package/prosody/prosody.mk | 32 +- .../0001-Add-std-to-some-types.patch | 110 + .../0002-Fix-build-with-protobuf-3.6.x.patch | 160 ++ bsp/buildroot/package/protobuf-c/Config.in | 6 +- .../package/protobuf-c/protobuf-c.mk | 3 + ...ompilation-under-mips-big-endian-wit.patch | 38 + bsp/buildroot/package/protobuf/Config.in | 10 +- bsp/buildroot/package/protobuf/protobuf.hash | 3 +- bsp/buildroot/package/protobuf/protobuf.mk | 2 +- .../psmisc/0001-link-against-libintl.patch | 37 - .../psmisc/0002-add-git-version-get.patch | 198 -- bsp/buildroot/package/psmisc/psmisc.hash | 7 +- bsp/buildroot/package/psmisc/psmisc.mk | 14 +- bsp/buildroot/package/ptpd/S65ptpd | 0 bsp/buildroot/package/ptpd2/S65ptpd2 | 0 bsp/buildroot/package/ptpd2/ptpd2.mk | 6 - ...1-check-cxx_long_long_type-existence.patch | 33 - bsp/buildroot/package/pugixml/Config.in | 32 + bsp/buildroot/package/pugixml/pugixml.hash | 3 +- bsp/buildroot/package/pugixml/pugixml.mk | 22 +- .../0001-padsp-Make-it-compile-on-musl.patch | 75 - .../package/pulseaudio/S50pulseaudio | 11 +- .../package/pulseaudio/pulseaudio.hash | 9 +- .../package/pulseaudio/pulseaudio.mk | 4 +- ...ar-fix-build-without-libsigrokdecode.patch | 37 + bsp/buildroot/package/pulseview/Config.in | 7 +- .../package/pulseview/pulseview.hash | 2 +- bsp/buildroot/package/pulseview/pulseview.mk | 2 +- bsp/buildroot/package/pure-ftpd/pure-ftpd.mk | 7 + bsp/buildroot/package/python-aiodns/Config.in | 8 + .../package/python-aiodns/python-aiodns.hash | 5 + .../package/python-aiodns/python-aiodns.mk | 14 + .../package/python-aiohttp-jinja2/Config.in | 10 + .../python-aiohttp-jinja2.hash | 5 + .../python-aiohttp-jinja2.mk | 14 + .../package/python-aiohttp-remotes/Config.in | 8 + .../python-aiohttp-remotes.hash | 5 + .../python-aiohttp-remotes.mk | 14 + .../package/python-aiohttp-security/Config.in | 8 + .../python-aiohttp-security.hash | 5 + .../python-aiohttp-security.mk | 14 + .../package/python-aiohttp-session/Config.in | 8 + .../python-aiohttp-session.hash | 5 + .../python-aiohttp-session.mk | 14 + .../package/python-aiohttp-sse/Config.in | 8 + .../python-aiohttp-sse.hash | 5 + .../python-aiohttp-sse/python-aiohttp-sse.mk | 14 + .../package/python-aiohttp/Config.in | 15 + .../python-aiohttp/python-aiohttp.hash | 5 + .../package/python-aiohttp/python-aiohttp.mk | 14 + .../package/python-aiojobs/Config.in | 8 + .../python-aiojobs/python-aiojobs.hash | 5 + .../package/python-aiojobs/python-aiojobs.mk | 14 + .../package/python-aiorwlock/Config.in | 7 + .../python-aiorwlock/python-aiorwlock.hash | 5 + .../python-aiorwlock/python-aiorwlock.mk | 14 + .../python-asn1crypto/python-asn1crypto.hash | 8 +- .../python-asn1crypto/python-asn1crypto.mk | 5 +- .../package/python-async-timeout/Config.in | 7 + .../python-async-timeout.hash | 5 + .../python-async-timeout.mk | 14 + .../package/python-attrs/python-attrs.hash | 8 +- .../package/python-attrs/python-attrs.mk | 4 +- .../python-autobahn/python-autobahn.hash | 9 +- .../python-autobahn/python-autobahn.mk | 4 +- .../python-automat/python-automat.hash | 8 +- .../package/python-automat/python-automat.mk | 4 +- .../package/python-babel/python-babel.hash | 8 +- .../package/python-babel/python-babel.mk | 4 +- .../Config.in | 7 + .../python-backports-ssl-match-hostname.hash | 4 + .../python-backports-ssl-match-hostname.mk | 14 + .../package/python-bcrypt/python-bcrypt.hash | 8 +- .../package/python-bcrypt/python-bcrypt.mk | 4 +- .../package/python-cached-property/Config.in | 6 + .../python-cached-property.hash | 4 + .../python-cached-property.mk | 14 + bsp/buildroot/package/python-can/Config.in | 7 +- .../package/python-can/python-can.hash | 8 +- .../package/python-can/python-can.mk | 6 +- .../package/python-cchardet/Config.in | 11 + .../python-cchardet/python-cchardet.hash | 5 + .../python-cchardet/python-cchardet.mk | 14 + .../package/python-certifi/Config.in | 2 +- .../python-certifi/python-certifi.hash | 7 +- .../package/python-certifi/python-certifi.mk | 4 +- .../package/python-click/python-click.hash | 8 +- .../package/python-click/python-click.mk | 8 +- .../0002-Remove-idna-requirement.patch | 29 + .../0002-Rework-runtime-dependencies.patch | 37 - .../package/python-crossbar/Config.in | 21 +- .../python-crossbar/python-crossbar.hash | 7 +- .../python-crossbar/python-crossbar.mk | 4 +- .../package/python-cryptography/Config.in | 2 +- .../python-cryptography.hash | 10 +- .../python-cryptography.mk | 5 +- .../package/python-cython/Config.in.host | 7 + .../package/python-cython/python-cython.hash | 6 + .../package/python-cython/python-cython.mk | 14 + .../package/python-daemonize/Config.in | 8 + .../python-daemonize/python-daemonize.hash | 3 + .../python-daemonize/python-daemonize.mk | 14 + .../package/python-dateutil/Config.in | 2 +- .../python-dateutil/python-dateutil.hash | 8 +- .../python-dateutil/python-dateutil.mk | 5 +- .../python-decorator/python-decorator.hash | 2 + .../python-decorator/python-decorator.mk | 2 + bsp/buildroot/package/python-django/Config.in | 9 +- .../package/python-django/python-django.hash | 6 +- .../package/python-django/python-django.mk | 4 +- .../package/python-docker-pycreds/Config.in | 7 + .../python-docker-pycreds.hash | 4 + .../python-docker-pycreds.mk | 14 + bsp/buildroot/package/python-docker/Config.in | 15 + .../package/python-docker/python-docker.hash | 4 + .../package/python-docker/python-docker.mk | 14 + .../package/python-dockerpty/Config.in | 7 + .../python-dockerpty/python-dockerpty.hash | 4 + .../python-dockerpty/python-dockerpty.mk | 14 + .../python-engineio/python-engineio.hash | 9 +- .../python-engineio/python-engineio.mk | 4 +- bsp/buildroot/package/python-falcon/Config.in | 9 + .../package/python-falcon/python-falcon.hash | 5 + .../package/python-falcon/python-falcon.mk | 18 + .../python-fastentrypoints/Config.in.host | 6 + .../python-fastentrypoints.hash | 4 + .../python-fastentrypoints.mk | 14 + bsp/buildroot/package/python-fire/Config.in | 8 + .../package/python-fire/python-fire.hash | 5 + .../package/python-fire/python-fire.mk | 14 + .../package/python-flask-sqlalchemy/Config.in | 9 + .../python-flask-sqlalchemy.hash | 4 + .../python-flask-sqlalchemy.mk | 14 + .../package/python-functools32/Config.in | 4 +- .../python-futures/python-futures.hash | 8 +- .../package/python-futures/python-futures.mk | 4 +- .../package/python-gunicorn/Config.in | 1 - .../python-gunicorn/python-gunicorn.hash | 8 +- .../python-gunicorn/python-gunicorn.mk | 4 +- .../package/python-hyperlink/Config.in | 1 + .../python-hyperlink/python-hyperlink.hash | 8 +- .../python-hyperlink/python-hyperlink.mk | 4 +- .../package/python-idna/python-idna.hash | 8 +- .../package/python-idna/python-idna.mk | 4 +- .../python-incremental.hash | 8 +- .../python-incremental/python-incremental.mk | 4 +- .../package/python-influxdb/Config.in | 10 + .../python-influxdb/python-influxdb.hash | 5 + .../python-influxdb/python-influxdb.mk | 14 + .../python-ipaddress/python-ipaddress.hash | 8 +- .../python-ipaddress/python-ipaddress.mk | 4 +- .../python-ipython/python-ipython.hash | 8 +- .../package/python-ipython/python-ipython.mk | 4 +- .../package/python-jinja2/python-jinja2.hash | 8 +- .../package/python-jinja2/python-jinja2.mk | 4 +- .../package/python-jsonmodels/Config.in | 9 + .../python-jsonmodels/python-jsonmodels.hash | 5 + .../python-jsonmodels/python-jsonmodels.mk | 14 + ...python-name-depending-on-current-Pyt.patch | 10 +- .../package/python-libusb1/Config.in | 11 + .../python-libusb1/python-libusb1.hash | 4 + .../package/python-libusb1/python-libusb1.mk | 15 + .../package/python-lmdb/python-lmdb.hash | 7 +- .../package/python-lmdb/python-lmdb.mk | 5 +- .../package/python-logbook/Config.in | 2 + .../python-logbook/python-logbook.hash | 8 +- .../package/python-logbook/python-logbook.mk | 5 +- bsp/buildroot/package/python-lxml/Config.in | 3 +- .../package/python-lxml/python-lxml.hash | 6 +- .../package/python-lxml/python-lxml.mk | 6 +- .../python-markdown/python-markdown.hash | 8 +- .../python-markdown/python-markdown.mk | 6 +- .../python-markdown2/python-markdown2.hash | 3 +- .../python-markdown2/python-markdown2.mk | 2 +- .../package/python-mimeparse/Config.in | 7 + .../python-mimeparse/python-mimeparse.hash | 5 + .../python-mimeparse/python-mimeparse.mk | 13 + .../python-msgpack/python-msgpack.hash | 8 +- .../package/python-msgpack/python-msgpack.mk | 6 +- .../package/python-multidict/Config.in | 8 + .../python-multidict/python-multidict.hash | 5 + .../python-multidict/python-multidict.mk | 14 + .../python-mwclient/python-mwclient.hash | 7 +- .../python-mwclient/python-mwclient.mk | 4 +- .../python-networkmanager.hash | 6 +- .../python-networkmanager.mk | 4 +- .../package/python-networkx/Config.in | 9 + .../python-networkx/python-networkx.hash | 4 + .../python-networkx/python-networkx.mk | 17 + .../0002-Add-support-of-ARC.patch | 68 - ...-no-FPU-exceptions-bits-on-ARC-glibc.patch | 42 + bsp/buildroot/package/python-numpy/Config.in | 4 +- .../package/python-numpy/python-numpy.hash | 6 +- .../package/python-numpy/python-numpy.mk | 5 +- .../package/python-oauthlib/Config.in | 2 +- .../python-oauthlib/python-oauthlib.hash | 7 +- .../python-oauthlib/python-oauthlib.mk | 4 +- .../package/python-paramiko/Config.in | 4 +- .../python-paramiko/python-paramiko.hash | 8 +- .../python-paramiko/python-paramiko.mk | 4 +- .../package/python-passlib/Config.in | 7 + .../python-passlib/python-passlib.hash | 5 + .../package/python-passlib/python-passlib.mk | 14 + .../python-pathlib2/python-pathlib2.hash | 8 +- .../python-pathlib2/python-pathlib2.mk | 4 +- .../python-pexpect/python-pexpect.hash | 8 +- .../package/python-pexpect/python-pexpect.mk | 6 +- bsp/buildroot/package/python-pigpio/Config.in | 8 + .../package/python-pigpio/python-pigpio.hash | 3 + .../package/python-pigpio/python-pigpio.mk | 13 + .../package/python-pillow/python-pillow.hash | 7 +- .../package/python-pillow/python-pillow.mk | 4 +- bsp/buildroot/package/python-pip/Config.in | 7 + .../package/python-pip/python-pip.hash | 5 + .../package/python-pip/python-pip.mk | 14 + bsp/buildroot/package/python-ply/Config.in | 6 + .../package/python-ply/python-ply.hash | 5 + .../package/python-ply/python-ply.mk | 14 + .../package/python-posix-ipc/Config.in | 1 - .../python-posix-ipc/python-posix-ipc.hash | 8 +- .../python-posix-ipc/python-posix-ipc.mk | 6 +- .../package/python-protobuf/Config.in | 2 +- .../python-protobuf/python-protobuf.hash | 3 +- .../package/python-psutil/python-psutil.hash | 8 +- .../package/python-psutil/python-psutil.mk | 4 +- ...id-installing-tests-to-site-packages.patch | 31 + .../package/python-psycopg2/Config.in | 26 + .../python-psycopg2/python-psycopg2.hash | 5 + .../python-psycopg2/python-psycopg2.mk | 20 + bsp/buildroot/package/python-py/Config.in | 7 + .../package/python-py/python-py.hash | 5 + bsp/buildroot/package/python-py/python-py.mk | 15 + .../package/python-pyasn1-modules/Config.in | 7 + .../python-pyasn1-modules.hash | 5 + .../python-pyasn1-modules.mk | 14 + bsp/buildroot/package/python-pyasn1/Config.in | 6 + .../package/python-pyasn1/python-pyasn1.hash | 5 + .../package/python-pyasn1/python-pyasn1.mk | 14 + .../package/python-pycares/Config.in | 6 + .../python-pycares/python-pycares.hash | 5 + .../package/python-pycares/python-pycares.mk | 14 + .../python-pycparser/python-pycparser.hash | 8 +- .../python-pycparser/python-pycparser.mk | 4 +- .../package/python-pycryptodomex/Config.in | 6 + .../python-pycryptodomex.hash | 6 + .../python-pycryptodomex.mk | 17 + .../package/python-pydal/python-pydal.hash | 6 +- .../package/python-pydal/python-pydal.mk | 5 +- .../package/python-pyhamcrest/Config.in | 8 + .../python-pyhamcrest/python-pyhamcrest.hash | 5 + .../python-pyhamcrest/python-pyhamcrest.mk | 14 + .../package/python-pymodbus/Config.in | 7 + .../python-pymodbus/python-pymodbus.hash | 3 + .../python-pymodbus/python-pymodbus.mk | 13 + .../package/python-pynacl/python-pynacl.hash | 8 +- .../package/python-pynacl/python-pynacl.mk | 4 +- .../python-pyopenssl/python-pyopenssl.hash | 8 +- .../python-pyopenssl/python-pyopenssl.mk | 4 +- .../0001-configure-skip-qtdetail.patch | 29 - .../python-pyqt/0002-configure-set-qws.patch | 43 - .../python-pyqt/0003-sip-add_qws.patch | 44 - ...ip-QtGuit-hide-qfont-cachestatistics.patch | 18 - .../python-pyqt/0005-sip-fix_qws_handle.patch | 24 - bsp/buildroot/package/python-pyqt/Config.in | 21 - .../package/python-pyqt/python-pyqt.hash | 5 - .../package/python-pyqt/python-pyqt.mk | 113 - ...drop-qttest-qtestmouse-waitforevents.patch | 32 + .../package/python-pyqt5/python-pyqt5.mk | 2 +- .../package/python-pyroute2/Config.in | 2 + .../python-pyroute2/python-pyroute2.hash | 10 +- .../python-pyroute2/python-pyroute2.mk | 4 +- bsp/buildroot/package/python-pysmi/Config.in | 7 + .../package/python-pysmi/python-pysmi.hash | 5 + .../package/python-pysmi/python-pysmi.mk | 14 + bsp/buildroot/package/python-pysnmp/Config.in | 9 +- .../package/python-pysnmp/python-pysnmp.hash | 8 +- .../package/python-pysnmp/python-pysnmp.mk | 8 +- bsp/buildroot/package/python-pytrie/Config.in | 1 + .../package/python-pytrie/python-pytrie.hash | 8 +- .../package/python-pytrie/python-pytrie.mk | 8 +- .../package/python-pytz/python-pytz.hash | 9 +- .../package/python-pytz/python-pytz.mk | 12 +- .../package/python-pyyaml/python-pyyaml.hash | 6 +- .../package/python-pyyaml/python-pyyaml.mk | 6 +- ...ldroot-zmq-version-instead-of-detect.patch | 11 +- ...pile_and_run-with-compile_and_forget.patch | 76 - .../package/python-pyzmq/python-pyzmq.hash | 4 +- .../package/python-pyzmq/python-pyzmq.mk | 8 +- .../package/python-raven/python-raven.hash | 8 +- .../package/python-raven/python-raven.mk | 4 +- .../package/python-reentry/Config.in | 10 + .../python-reentry/python-reentry.hash | 4 + .../package/python-reentry/python-reentry.mk | 14 + .../package/python-remi/python-remi.hash | 2 +- .../package/python-remi/python-remi.mk | 2 +- .../package/python-request-id/Config.in | 7 + .../python-request-id/python-request-id.hash | 5 + .../python-request-id/python-request-id.mk | 14 + .../python-requests-oauthlib.hash | 7 +- .../python-requests-oauthlib.mk | 4 +- .../python-requests/python-requests.hash | 8 +- .../python-requests/python-requests.mk | 4 +- .../python-scandir/python-scandir.hash | 8 +- .../package/python-scandir/python-scandir.mk | 4 +- bsp/buildroot/package/python-scapy/Config.in | 8 + .../package/python-scapy/python-scapy.hash | 5 + .../package/python-scapy/python-scapy.mk | 14 + .../python-schedule/python-schedule.hash | 4 +- .../python-schedule/python-schedule.mk | 4 +- .../python-sdnotify/python-sdnotify.hash | 9 +- .../python-sdnotify/python-sdnotify.mk | 4 +- bsp/buildroot/package/python-semver/Config.in | 6 + .../package/python-semver/python-semver.hash | 3 + .../package/python-semver/python-semver.mk | 14 + .../package/python-sentry-sdk/Config.in | 8 + .../python-sentry-sdk/python-sentry-sdk.hash | 5 + .../python-sentry-sdk/python-sentry-sdk.mk | 14 + .../package/python-serial-asyncio/Config.in | 8 + .../python-serial-asyncio.hash | 5 + .../python-serial-asyncio.mk | 14 + .../package/python-serial/python-serial.hash | 8 +- .../package/python-serial/python-serial.mk | 14 +- .../python-setuptools/python-setuptools.hash | 5 +- .../python-setuptools/python-setuptools.mk | 23 +- .../python-simplegeneric.mk | 2 +- bsp/buildroot/package/python-sip/Config.in | 14 +- .../package/python-sip/python-sip.mk | 4 - .../package/python-six/python-six.hash | 9 +- .../package/python-six/python-six.mk | 4 +- .../python-sortedcontainers.hash | 8 +- .../python-sortedcontainers.mk | 4 +- .../package/python-sqlalchemy/Config.in | 13 + .../python-sqlalchemy/python-sqlalchemy.hash | 4 + .../python-sqlalchemy/python-sqlalchemy.mk | 14 + .../package/python-subprocess32/Config.in | 13 + .../python-subprocess32.hash | 5 + .../python-subprocess32.mk | 14 + .../package/python-texttable/Config.in | 6 + .../python-texttable/python-texttable.hash | 4 + .../python-texttable/python-texttable.mk | 14 + .../0001-Disable-SSL-checks.patch | 45 + .../package/python-tornado/Config.in | 2 + .../python-tornado/python-tornado.hash | 8 +- .../package/python-tornado/python-tornado.mk | 5 +- .../package/python-twisted/Config.in | 2 + .../python-twisted/python-twisted.hash | 8 +- .../package/python-twisted/python-twisted.mk | 4 +- .../package/python-txaio/python-txaio.hash | 9 +- .../package/python-txaio/python-txaio.mk | 4 +- .../python-txtorcon/python-txtorcon.hash | 9 +- .../python-txtorcon/python-txtorcon.mk | 4 +- bsp/buildroot/package/python-typing/Config.in | 8 + .../package/python-typing/python-typing.hash | 5 + .../package/python-typing/python-typing.mk | 15 + .../python-u-msgpack/python-u-msgpack.hash | 8 +- .../python-u-msgpack/python-u-msgpack.mk | 4 +- .../package/python-ubjson/python-ubjson.hash | 8 +- .../package/python-ubjson/python-ubjson.mk | 4 +- .../python-urllib3/python-urllib3.hash | 8 +- .../package/python-urllib3/python-urllib3.mk | 4 +- bsp/buildroot/package/python-uvloop/Config.in | 18 + .../package/python-uvloop/python-uvloop.hash | 6 + .../package/python-uvloop/python-uvloop.mk | 17 + .../package/python-validators/Config.in | 8 + .../python-validators/python-validators.hash | 5 + .../python-validators/python-validators.mk | 14 + .../package/python-visitor/Config.in | 6 + .../python-visitor/python-visitor.hash | 4 + .../package/python-visitor/python-visitor.mk | 14 + .../package/python-web2py/python-web2py.hash | 3 +- .../package/python-web2py/python-web2py.mk | 2 +- bsp/buildroot/package/python-webob/Config.in | 9 + .../package/python-webob/python-webob.hash | 5 + .../package/python-webob/python-webob.mk | 14 + .../package/python-websocket-client/Config.in | 9 + .../python-websocket-client.hash | 4 + .../python-websocket-client.mk | 14 + ...ehavior-of-recv-in-the-CLOSING-state.patch | 261 --- .../package/python-websockets/Config.in | 3 +- .../python-websockets/python-websockets.hash | 7 +- .../python-websockets/python-websockets.mk | 6 +- bsp/buildroot/package/python-wrapt/Config.in | 6 + .../package/python-wrapt/python-wrapt.hash | 5 + .../package/python-wrapt/python-wrapt.mk | 14 + .../package/python-wtforms/Config.in | 7 + .../python-wtforms/python-wtforms.hash | 5 + .../package/python-wtforms/python-wtforms.mk | 14 + .../package/python-xlrd/Config.in.host | 7 + .../package/python-xlrd/python-xlrd.mk | 1 + bsp/buildroot/package/python-yarl/Config.in | 9 + .../package/python-yarl/python-yarl.hash | 5 + .../package/python-yarl/python-yarl.mk | 14 + .../package/python-yieldfrom/Config.in | 8 + .../python-yieldfrom/python-yieldfrom.hash | 4 + .../python-yieldfrom/python-yieldfrom.mk | 15 + .../package/python-zeroconf/Config.in | 9 + .../python-zeroconf/python-zeroconf.hash | 5 + .../python-zeroconf/python-zeroconf.mk | 14 + .../python-zope-interface.hash | 9 +- .../python-zope-interface.mk | 4 +- ...gfault-in-ssl-s-cert-parser-GH-11569.patch | 121 + .../0001-add-executable.patch | 1 + .../python3-setuptools.hash | 1 + .../python3-setuptools/python3-setuptools.mk | 24 + ...e-the-build-of-pyc-files-conditional.patch | 6 +- ...taddrinfo-configure-test-when-cross-.patch | 2 +- ...re-to-disable-the-build-of-certain-e.patch | 16 +- ...y-header-paths-for-cross-compilation.patch | 2 +- ...ook-in-usr-lib-termcap-for-libraries.patch | 2 +- .../0006-Don-t-add-multiarch-paths.patch | 2 +- .../0007-Abort-on-failed-module-build.patch | 2 +- .../0008-Serial-ioctl-workaround.patch | 2 +- ...ig.sh.in-ensure-sed-invocations-only.patch | 37 +- ...locale-and-set-to-default-when-addin.patch | 2 +- ...Add-importlib-fix-for-PEP-3147-issue.patch | 6 +- ...-disable-installation-of-test-module.patch | 21 +- .../0014-Add-an-option-to-disable-pydoc.patch | 14 +- ...015-Add-an-option-to-disable-lib2to3.patch | 16 +- ...option-to-disable-the-sqlite3-module.patch | 10 +- ...d-an-option-to-disable-the-tk-module.patch | 8 +- ...-option-to-disable-the-curses-module.patch | 6 +- .../0019-Add-an-option-to-disable-expat.patch | 10 +- ...-Add-an-option-to-disable-CJK-codecs.patch | 2 +- .../0021-Add-an-option-to-disable-NIS.patch | 2 +- ...Add-an-option-to-disable-unicodedata.patch | 2 +- .../0023-Add-an-option-to-disable-IDLE.patch | 10 +- ...024-Add-an-option-to-disable-decimal.patch | 8 +- ...on-to-disable-the-ossaudiodev-module.patch | 2 +- ...an-option-to-disable-openssl-support.patch | 2 +- ...ption-to-disable-the-readline-module.patch | 2 +- ...to-disable-zlib-bzip2-and-xz-modules.patch | 2 +- ...thon-config.sh-don-t-reassign-prefix.patch | 22 +- ...-Fix-cross-compiling-the-uuid-module.patch | 38 + ...Add-an-option-to-disable-uuid-module.patch | 33 + ...-fix-building-on-older-distributions.patch | 38 + ...gfault-in-ssl-s-cert-parser-GH-11569.patch | 121 + bsp/buildroot/package/python3/Config.in | 1 + bsp/buildroot/package/python3/python3.hash | 7 +- bsp/buildroot/package/python3/python3.mk | 23 +- .../0002-configure-improve-usbfs-check.patch | 60 + bsp/buildroot/package/qemu/Config.in | 33 +- bsp/buildroot/package/qemu/Config.in.host | 6 + bsp/buildroot/package/qemu/qemu.hash | 2 +- bsp/buildroot/package/qemu/qemu.mk | 35 +- .../package/qextserialport/Config.in | 2 +- .../package/qextserialport/qextserialport.mk | 10 +- bsp/buildroot/package/qjson/Config.in | 7 +- bsp/buildroot/package/qjson/qjson.mk | 4 +- bsp/buildroot/package/qpdf/qpdf.hash | 6 +- bsp/buildroot/package/qpdf/qpdf.mk | 2 +- ...ON-1326-Modify-openssl-DH-code-to-wo.patch | 78 + ...ore-anonymous-cyphers-by-lowering-Op.patch | 62 + ...openssl-error-handling-causing-spuri.patch | 58 + ...l-openssl-add-libressl-compatibility.patch | 53 + .../qt-webkit-kiosk/qt-webkit-kiosk.hash | 2 +- .../qt-webkit-kiosk/qt-webkit-kiosk.mk | 2 +- ...ck-to-treat-alsalib-1.1.x-as-correct.patch | 29 - bsp/buildroot/package/qt/0002-configure.patch | 52 - .../package/qt/0003-eglwsegl-use-system.patch | 802 ------- .../package/qt/0004-fix-const-atomics.patch | 50 - .../package/qt/0005-pthread_getattr_np.patch | 107 - .../qt/0006-script-qtdbus-no-gui.patch | 22 - ...-initial-support-of-ARC-architecture.patch | 183 -- ...0008-Prevent-unaligned-access-on-ARC.patch | 92 - ...onstructor-error-for-legacy-c-compil.patch | 163 -- ...-socklen_t-on-other-C-libraries-than.patch | 43 - ...ldl-option-only-when-it-is-supported.patch | 116 - ...penGL-EGL-Avoid-X11-header-collision.patch | 60 - ...-qatomic_arm.h-fix-build-on-ARMv8-32.patch | 37 - .../0014-Enable-QtWebKit-with-newer-GCC.patch | 50 - ...igure-fix-build-on-non-x86-platforms.patch | 146 -- bsp/buildroot/package/qt/Config.gfx.in | 31 - bsp/buildroot/package/qt/Config.in | 543 ----- bsp/buildroot/package/qt/Config.keyboard.in | 12 - bsp/buildroot/package/qt/Config.mouse.in | 26 - bsp/buildroot/package/qt/Config.sql.in | 59 - bsp/buildroot/package/qt/powervr.ini | 2 - bsp/buildroot/package/qt/qt.hash | 3 - bsp/buildroot/package/qt/qt.mk | 725 ------ bsp/buildroot/package/qt5/Config.in | 6 +- bsp/buildroot/package/qt5/qt5.mk | 6 +- bsp/buildroot/package/qt5/qt53d/qt53d.hash | 4 +- bsp/buildroot/package/qt5/qt53d/qt53d.mk | 2 +- ...tbase-Fix-build-error-when-using-EGL.patch | 37 + ...ble-conversion-enable-for-aarch64_be.patch | 26 + ...03-double-conversion-enable-for-or1k.patch | 27 + ...ble-conversion-enable-for-microblaze.patch | 27 + ...5-double-conversion-enable-for-riscv.patch | 31 + .../package/qt5/qt5base/5.11.3/qt5base.hash | 11 + ...tbase-Fix-build-error-when-using-EGL.patch | 37 + ...rmissive-gcc-flag-to-allow-compilati.patch | 29 + .../package/qt5/qt5base/5.6.3/qt5base.hash | 3 + bsp/buildroot/package/qt5/qt5base/Config.in | 12 +- .../package/qt5/qt5base/qt5base.hash | 16 +- bsp/buildroot/package/qt5/qt5base/qt5base.mk | 53 +- .../package/qt5/qt5canvas3d/qt5canvas3d.hash | 8 +- .../package/qt5/qt5canvas3d/qt5canvas3d.mk | 14 +- bsp/buildroot/package/qt5/qt5charts/Config.in | 4 - .../package/qt5/qt5charts/qt5charts.hash | 7 +- .../package/qt5/qt5charts/qt5charts.mk | 7 +- .../5.11.3/qt5connectivity.hash | 9 + .../5.6.3/qt5connectivity.hash | 10 + .../qt5/qt5connectivity/qt5connectivity.hash | 7 +- .../qt5/qt5connectivity/qt5connectivity.mk | 2 +- ...gtexture-fix-debug-build-with-uclibc.patch | 45 + .../qt5/qt5declarative/qt5declarative.hash | 4 +- .../qt5/qt5declarative/qt5declarative.mk | 2 +- .../package/qt5/qt5enginio/qt5enginio.mk | 2 +- .../qt5graphicaleffects.hash | 4 +- .../qt5graphicaleffects.mk | 2 +- .../qt5/qt5imageformats/qt5imageformats.hash | 4 +- .../qt5/qt5imageformats/qt5imageformats.mk | 2 +- ...tivegeomap-fix-building-with-GCC-5.x.patch | 48 + .../package/qt5/qt5location/Config.in | 1 + .../package/qt5/qt5location/qt5location.hash | 7 +- .../package/qt5/qt5location/qt5location.mk | 17 +- .../qt5/qt5multimedia/qt5multimedia.hash | 5 +- .../qt5/qt5multimedia/qt5multimedia.mk | 19 +- .../qt5quickcontrols/qt5quickcontrols.hash | 4 +- .../qt5/qt5quickcontrols/qt5quickcontrols.mk | 9 +- .../5.11.3/qt5quickcontrols2.hash | 7 + .../5.6.3/qt5quickcontrols2.hash | 3 + .../qt5quickcontrols2/qt5quickcontrols2.hash | 12 +- .../qt5quickcontrols2/qt5quickcontrols2.mk | 2 +- .../package/qt5/qt5script/qt5script.hash | 8 +- .../package/qt5/qt5script/qt5script.mk | 18 +- .../package/qt5/qt5scxml/qt5scxml.hash | 4 +- .../package/qt5/qt5scxml/qt5scxml.mk | 7 +- .../package/qt5/qt5sensors/qt5sensors.hash | 4 +- .../package/qt5/qt5sensors/qt5sensors.mk | 9 +- .../qt5/qt5serialbus/5.11.3/qt5serialbus.hash | 8 + .../qt5/qt5serialbus/5.6.3/qt5serialbus.hash | 8 + .../qt5/qt5serialbus/qt5serialbus.hash | 13 +- .../package/qt5/qt5serialbus/qt5serialbus.mk | 9 +- .../qt5serialport/5.11.3/qt5serialport.hash | 9 + .../qt5serialport/5.6.3/qt5serialport.hash | 10 + .../qt5/qt5serialport/qt5serialport.hash | 19 +- .../qt5/qt5serialport/qt5serialport.mk | 15 +- bsp/buildroot/package/qt5/qt5svg/qt5svg.hash | 4 +- bsp/buildroot/package/qt5/qt5svg/qt5svg.mk | 15 +- .../package/qt5/qt5tools/qt5tools.hash | 4 +- .../package/qt5/qt5tools/qt5tools.mk | 2 +- ...emove-weird-install-path-for-example.patch | 38 + .../2.0/qt5virtualkeyboard.hash | 8 + .../5.11.3/qt5virtualkeyboard.hash | 9 + .../package/qt5/qt5virtualkeyboard/Config.in | 12 +- .../qt5virtualkeyboard.hash | 8 +- .../qt5virtualkeyboard/qt5virtualkeyboard.mk | 31 +- .../package/qt5/qt5wayland/Config.in | 3 - .../package/qt5/qt5wayland/qt5wayland.hash | 4 +- .../package/qt5/qt5wayland/qt5wayland.mk | 22 +- .../qt5/qt5webchannel/qt5webchannel.hash | 4 +- .../qt5/qt5webchannel/qt5webchannel.mk | 2 +- .../package/qt5/qt5webengine/Config.in | 7 + .../qt5/qt5webengine/chromium-latest.inc | 681 +++--- .../package/qt5/qt5webengine/chromium-lts.inc | 2 +- .../qt5/qt5webengine/host-pkg-config.in | 6 + .../qt5/qt5webengine/qt5webengine.hash | 4 +- .../package/qt5/qt5webengine/qt5webengine.mk | 19 +- .../qt5webkit-examples/qt5webkit-examples.mk | 2 +- ...05-Fix-installation-of-class-headers.patch | 31 + .../package/qt5/qt5webkit/qt5webkit.mk | 9 +- .../qt5/qt5websockets/qt5websockets.hash | 4 +- .../qt5/qt5websockets/qt5websockets.mk | 2 +- .../qt5/qt5x11extras/5.11.3/qt5x11extras.hash | 9 + .../{ => 5.6.3}/qt5x11extras.hash | 6 +- .../package/qt5/qt5x11extras/qt5x11extras.mk | 4 +- .../qt5/qt5xmlpatterns/qt5xmlpatterns.hash | 4 +- .../qt5/qt5xmlpatterns/qt5xmlpatterns.mk | 2 +- bsp/buildroot/package/qt5cinex/qt5cinex.mk | 2 +- ...1-TuioServer.cpp-add-missing-include.patch | 28 - .../qtuio/0002-dont-append-_d-for-debug.patch | 29 - bsp/buildroot/package/qtuio/Config.in | 22 - bsp/buildroot/package/qtuio/qtuio.hash | 2 - bsp/buildroot/package/qtuio/qtuio.mk | 72 - ...ure-fix-static-linking-with-readline.patch | 41 - ...y-fix-indirect-static-link-with-zlib.patch | 108 - ...PATH-size-calculation-for-long-paths.patch | 33 - ...valid-attr-length-sends-NOTIFY-with-.patch | 69 - ...Fix-double-free-of-unknown-attribute.patch | 112 - ...bug-print-of-received-NOTIFY-data-ca.patch | 114 - ...x-infinite-loop-on-certain-invalid-O.patch | 43 - bsp/buildroot/package/quagga/Config.in | 6 + bsp/buildroot/package/quagga/quagga.hash | 5 +- bsp/buildroot/package/quagga/quagga.mk | 14 +- bsp/buildroot/package/quazip/Config.in | 1 + bsp/buildroot/package/quazip/quazip.hash | 4 +- bsp/buildroot/package/quazip/quazip.mk | 15 +- ...sing-__P-definition-for-musl-compile.patch | 36 + bsp/buildroot/package/quotatool/Config.in | 7 + .../package/quotatool/quotatool.hash | 5 + bsp/buildroot/package/quotatool/quotatool.mk | 17 + bsp/buildroot/package/qwt/Config.in | 21 +- bsp/buildroot/package/qwt/qwt.mk | 10 +- bsp/buildroot/package/rabbitmq-c/Config.in | 5 +- .../package/rabbitmq-c/rabbitmq-c.hash | 3 +- .../package/rabbitmq-c/rabbitmq-c.mk | 21 +- .../rabbitmq-server/S50rabbitmq-server | 0 bsp/buildroot/package/radvd/S50radvd | 0 bsp/buildroot/package/rapidxml/rapidxml.mk | 2 +- bsp/buildroot/package/rauc/Config.in | 1 + bsp/buildroot/package/rauc/rauc.hash | 4 +- bsp/buildroot/package/rauc/rauc.mk | 2 +- bsp/buildroot/package/rcw/Config.in.host | 12 + bsp/buildroot/package/rcw/rcw.hash | 3 + bsp/buildroot/package/rcw/rcw.mk | 20 + .../package/rdesktop/0002-openssl11.patch | 130 ++ bsp/buildroot/package/readline/readline.hash | 5 +- bsp/buildroot/package/readline/readline.mk | 20 +- .../package/reaver/0001-fix-271.patch | 32 + bsp/buildroot/package/reaver/Config.in | 9 + bsp/buildroot/package/reaver/reaver.hash | 3 + bsp/buildroot/package/reaver/reaver.mk | 23 + bsp/buildroot/package/redis/Config.in | 5 +- bsp/buildroot/package/redis/redis.hash | 3 +- bsp/buildroot/package/redis/redis.mk | 2 +- .../package/restorecond/restorecond.hash | 5 +- .../package/restorecond/restorecond.mk | 4 +- bsp/buildroot/package/rhash/rhash.hash | 9 +- bsp/buildroot/package/rhash/rhash.mk | 2 +- .../package/riemann-c-client/Config.in | 6 +- .../riemann-c-client/riemann-c-client.mk | 5 - bsp/buildroot/package/rings/Config.in | 1 - bsp/buildroot/package/rings/rings.hash | 5 +- bsp/buildroot/package/rng-tools/S21rngd | 0 bsp/buildroot/package/rp-pppoe/Config.in | 2 +- .../package/rpi-bt-firmware/Config.in | 5 +- .../rpi-bt-firmware/rpi-bt-firmware.hash | 3 +- .../rpi-bt-firmware/rpi-bt-firmware.mk | 12 +- .../package/rpi-firmware/rpi-firmware.hash | 2 +- .../package/rpi-firmware/rpi-firmware.mk | 9 +- .../0003-Disable-Werror-everywhere.patch | 29 +- ...lay-don-t-install-script-in-random-l.patch | 45 - bsp/buildroot/package/rpi-userland/S94vcfiled | 0 .../package/rpi-userland/rpi-userland.hash | 2 +- .../package/rpi-userland/rpi-userland.mk | 2 +- .../package/rpi-wifi-firmware/Config.in | 11 +- .../rpi-wifi-firmware/rpi-wifi-firmware.hash | 3 +- .../rpi-wifi-firmware/rpi-wifi-firmware.mk | 16 +- bsp/buildroot/package/rrdtool/rrdtool.hash | 6 +- bsp/buildroot/package/rrdtool/rrdtool.mk | 2 +- bsp/buildroot/package/rsyslog/S01logging | 36 - bsp/buildroot/package/rsyslog/S01rsyslogd | 53 + bsp/buildroot/package/rsyslog/rsyslog.mk | 9 +- bsp/buildroot/package/rtc-tools/Config.in | 7 + .../package/rtc-tools/rtc-tools.hash | 3 + bsp/buildroot/package/rtc-tools/rtc-tools.mk | 30 + .../package/rtl8188eu/rtl8188eu.hash | 2 +- bsp/buildroot/package/rtl8188eu/rtl8188eu.mk | 2 +- bsp/buildroot/package/rtmpdump/rtmpdump.mk | 3 - .../package/rtorrent/0001-cross_compile.patch | 31 +- bsp/buildroot/package/rtorrent/Config.in | 7 +- bsp/buildroot/package/rtorrent/rtorrent.hash | 3 +- bsp/buildroot/package/rtorrent/rtorrent.mk | 2 +- bsp/buildroot/package/ruby/ruby.mk | 7 - ...oc-self-exe-to-avoid-exposing-host-b.patch | 338 +++ bsp/buildroot/package/runc/Config.in | 9 +- bsp/buildroot/package/runc/runc.hash | 3 +- bsp/buildroot/package/runc/runc.mk | 39 +- bsp/buildroot/package/rust-bin/rust-bin.hash | 60 +- bsp/buildroot/package/rust-bin/rust-bin.mk | 17 +- bsp/buildroot/package/rust/rust.hash | 4 +- bsp/buildroot/package/rust/rust.mk | 3 +- bsp/buildroot/package/rustc/Config.in.host | 21 +- bsp/buildroot/package/rustc/rustc.mk | 2 + ...low-UI-build-without-gstreamer-video.patch | 37 - bsp/buildroot/package/rygel/rygel.hash | 4 +- bsp/buildroot/package/rygel/rygel.mk | 2 +- .../package/s6-linux-init/s6-linux-init.hash | 4 +- .../package/s6-linux-init/s6-linux-init.mk | 2 +- .../s6-linux-utils/s6-linux-utils.hash | 4 +- .../package/s6-linux-utils/s6-linux-utils.mk | 2 +- .../package/s6-networking/s6-networking.mk | 2 +- bsp/buildroot/package/s6-rc/s6-rc.hash | 2 +- bsp/buildroot/package/s6-rc/s6-rc.mk | 2 +- bsp/buildroot/package/s6/s6.hash | 2 +- bsp/buildroot/package/s6/s6.mk | 2 +- .../0001-Add-disable-doc-option.patch | 59 + ...Fix-install-when-HAVE_WCHAR-is-unset.patch | 50 - ...flag-to-RETPOLINE-cflags-and-ldflags.patch | 62 + bsp/buildroot/package/safeclib/safeclib.hash | 2 +- bsp/buildroot/package/safeclib/safeclib.mk | 2 +- bsp/buildroot/package/sam-ba/sam-ba.hash | 7 +- bsp/buildroot/package/sam-ba/sam-ba.mk | 9 +- ...01-libreplace-disable-libbsd-support.patch | 12 +- ...-on-64bit-platforms-by-including-std.patch | 76 +- ...-build-of-manpages-and-documentation.patch | 19 +- bsp/buildroot/package/samba4/Config.in | 1 + bsp/buildroot/package/samba4/samba4-cache.txt | 1 + bsp/buildroot/package/samba4/samba4.hash | 4 +- bsp/buildroot/package/samba4/samba4.mk | 17 +- bsp/buildroot/package/sconeserver/Config.in | 1 + .../package/sconeserver/sconeserver.hash | 3 +- .../package/sconeserver/sconeserver.mk | 4 +- bsp/buildroot/package/screen/screen.mk | 9 +- bsp/buildroot/package/sdl/Config.in | 4 - bsp/buildroot/package/sdl/sdl.mk | 9 +- ...FB-renderer-not-being-enabled-in-aut.patch | 42 - .../0001-fix-build-with-disable-threads.patch | 63 + bsp/buildroot/package/sdl2/sdl2.hash | 4 +- bsp/buildroot/package/sdl2/sdl2.mk | 2 +- bsp/buildroot/package/sdl2_net/sdl2_net.mk | 2 +- bsp/buildroot/package/sdl_sound/sdl_sound.mk | 11 +- bsp/buildroot/package/sed/sed.hash | 6 +- bsp/buildroot/package/sed/sed.mk | 2 +- ...001-Common-log.h-time-2-needs-time.h.patch | 37 + bsp/buildroot/package/sedutil/Config.in | 29 + bsp/buildroot/package/sedutil/sedutil.hash | 3 + bsp/buildroot/package/sedutil/sedutil.mk | 20 + ...-follow-standard-semantics-for-DESTD.patch | 117 - .../selinux-python/selinux-python.hash | 5 +- .../package/selinux-python/selinux-python.mk | 4 +- .../semodule-utils/semodule-utils.hash | 5 +- .../package/semodule-utils/semodule-utils.mk | 4 +- bsp/buildroot/package/ser2net/Config.in | 2 +- bsp/buildroot/package/ser2net/ser2net.hash | 6 +- bsp/buildroot/package/ser2net/ser2net.mk | 2 +- ...py-drop-path-prefix-from-man-install.patch | 42 + bsp/buildroot/package/setools/Config.in | 2 + bsp/buildroot/package/setools/setools.mk | 16 +- ...le.am-add-missing-RT_LIB-for-sg_turs.patch | 29 + bsp/buildroot/package/sg3_utils/Config.in | 2 - .../package/sg3_utils/sg3_utils.hash | 6 +- bsp/buildroot/package/sg3_utils/sg3_utils.mk | 5 +- ...-static-build-with-netfilter_conntra.patch | 31 + .../package/shadowsocks-libev/Config.in | 34 + .../shadowsocks-libev/shadowsocks-libev.hash | 7 + .../shadowsocks-libev/shadowsocks-libev.mk | 26 + .../package/shairport-sync/S99shairport-sync | 6 +- .../shairport-sync/shairport-sync.hash | 2 +- .../package/shairport-sync/shairport-sync.mk | 2 +- ...launcher.c-include-sys-ttydefaults.h.patch | 27 - .../package/shellinabox/shellinabox.hash | 6 +- .../package/shellinabox/shellinabox.mk | 4 +- bsp/buildroot/package/sigrok-cli/Config.in | 6 +- ...0002-No-runtime-tests-for-type-sizes.patch | 40 +- bsp/buildroot/package/skalibs/skalibs.hash | 2 +- bsp/buildroot/package/skalibs/skalibs.mk | 2 +- .../skeleton-custom/skeleton-custom.mk | 28 +- .../skeleton-init-common.mk | 15 +- .../skeleton-init-systemd.mk | 6 - bsp/buildroot/package/skeleton/skeleton.mk | 13 + bsp/buildroot/package/smcroute/smcroute.hash | 7 +- bsp/buildroot/package/smcroute/smcroute.mk | 2 +- bsp/buildroot/package/snappy/snappy.hash | 3 +- bsp/buildroot/package/snappy/snappy.mk | 2 +- ...0001-capture-fix-typo-in-FILE-object.patch | 43 + bsp/buildroot/package/sngrep/sngrep.hash | 6 +- bsp/buildroot/package/sngrep/sngrep.mk | 2 +- ...in-Avoid-path-poisoning-with-libpcap.patch | 35 + ...ow-to-override-the-INADDR_NONE-check.patch | 44 + ...vert-AC_RUN_IFELSE-to-AC_CHECK_MEMBE.patch | 239 ++ ...vert-AC_RUN_IFELSE-to-AC_COMPILE_IFE.patch | 48 + .../package/snort/0005-fix-sparc.patch | 28 + bsp/buildroot/package/snort/Config.in | 26 + bsp/buildroot/package/snort/snort.hash | 6 + bsp/buildroot/package/snort/snort.mk | 34 + .../0003-use-fhs-install-directories.patch | 19 +- ...ult-RSA-key-size-to-1024-everywhere-.patch | 78 + .../package/softether/softether.hash | 4 +- bsp/buildroot/package/softether/softether.mk | 4 +- .../solarus/0001-cmake-remove-Werror.patch | 27 +- bsp/buildroot/package/solarus/Config.in | 6 +- bsp/buildroot/package/solarus/solarus.hash | 5 +- bsp/buildroot/package/solarus/solarus.mk | 9 +- bsp/buildroot/package/spandsp/Config.in | 9 + bsp/buildroot/package/spandsp/spandsp.hash | 3 + bsp/buildroot/package/spandsp/spandsp.mk | 27 + .../package/speex/0001-thumb2-support.patch | 6 +- bsp/buildroot/package/speex/speex.hash | 8 +- bsp/buildroot/package/speex/speex.mk | 17 +- .../0001-port-resample-neon-to-aarch64.patch | 250 +++ bsp/buildroot/package/speexdsp/Config.in | 6 + bsp/buildroot/package/speexdsp/speexdsp.hash | 3 + bsp/buildroot/package/speexdsp/speexdsp.mk | 22 + .../package/spi-tools/spi-tools.hash | 3 +- bsp/buildroot/package/spi-tools/spi-tools.mk | 2 +- .../package/spidev_test/spidev_test.mk | 2 +- ...0001-Support-OpenSSL-1.1.0-and-prior.patch | 97 + ...it-and-cleanup-routines-on-versions-.patch | 42 + ...rect-compliation-under-openssl-1.1.x.patch | 48 + bsp/buildroot/package/sqlcipher/Config.in | 1 + .../package/sqlcipher/sqlcipher.hash | 1 + bsp/buildroot/package/sqlcipher/sqlcipher.mk | 2 + bsp/buildroot/package/sqlite/Config.in | 7 + bsp/buildroot/package/sqlite/sqlite.hash | 6 +- bsp/buildroot/package/sqlite/sqlite.mk | 14 +- bsp/buildroot/package/squashfs/Config.in | 14 +- bsp/buildroot/package/squashfs/squashfs.mk | 13 +- ... 0003-Replace-deprecated-FFmpeg-API.patch} | 26 +- .../0004-Fix-FTBFS-with-FFmpeg-4.0.patch | 31 + .../package/squeezelite/squeezelite.hash | 1 + .../0001-assume-get-certificate-ok.patch | 17 - ...re.ac-use-pkg-config-to-find-libxml2.patch | 79 + .../squid/0002-missing-include-time_h.patch | 28 - bsp/buildroot/package/squid/Config.in | 10 +- bsp/buildroot/package/squid/S97squid | 1 - bsp/buildroot/package/squid/squid.hash | 11 +- bsp/buildroot/package/squid/squid.mk | 29 +- .../start-stop-daemon/start-stop-daemon.mk | 3 +- .../0001-Fix-build-for-no-MMU-targets.patch | 49 + .../0002-Fix-build-for-mips-targets.patch | 68 + bsp/buildroot/package/strace/Config.in | 3 + bsp/buildroot/package/strace/strace.hash | 12 +- bsp/buildroot/package/strace/strace.mk | 26 +- ...link-proc-fix-build-with-kernel-v3.9.patch | 38 - ...ress-ng.h-fix-include-on-semaphore.h.patch | 34 + ...2-stress-stackmmap-needs-swapcontext.patch | 29 + ...bsd-wchar-Explicitly-include-stdio.h.patch | 29 + bsp/buildroot/package/stress-ng/Config.in | 7 +- .../package/stress-ng/stress-ng.hash | 3 +- bsp/buildroot/package/stress-ng/stress-ng.mk | 6 +- .../package/strongswan/strongswan.mk | 4 +- .../package/subversion/subversion.hash | 9 +- .../package/subversion/subversion.mk | 2 +- bsp/buildroot/package/sudo/sudo.hash | 4 +- bsp/buildroot/package/sudo/sudo.mk | 4 +- .../package/sunxi-cedarx/sunxi-cedarx.mk | 2 +- .../sunxi-mali-mainline-driver/Config.in | 25 + .../sunxi-mali-mainline-driver.hash | 3 + .../sunxi-mali-mainline-driver.mk | 35 + .../package/sunxi-mali-mainline/Config.in | 42 + .../package/sunxi-mali-mainline/egl.pc | 12 + .../package/sunxi-mali-mainline/glesv2.pc | 12 + .../sunxi-mali-mainline.hash | 3 + .../sunxi-mali-mainline.mk | 49 + bsp/buildroot/package/sunxi-tools/Config.in | 68 +- .../package/sunxi-tools/sunxi-tools.mk | 45 +- bsp/buildroot/package/supertux/Config.in | 9 +- bsp/buildroot/package/supertux/supertux.hash | 2 +- bsp/buildroot/package/supertux/supertux.mk | 12 +- .../package/supervisor/S99supervisord | 0 bsp/buildroot/package/swig/Config.in.host | 8 + ...pat.h-introduce-compatibility-header.patch | 87 - ...build-if-DOWNLOAD-is-set-but-no-JSON.patch | 107 - .../package/swupdate/swupdate.config | 25 +- bsp/buildroot/package/swupdate/swupdate.hash | 6 +- bsp/buildroot/package/swupdate/swupdate.mk | 18 +- bsp/buildroot/package/sylpheed/sylpheed.hash | 4 +- bsp/buildroot/package/sylpheed/sylpheed.mk | 4 +- ...ow-building-of-synergy-without-tests.patch | 86 - ...e-output-path-when-building-in-debug.patch | 33 - bsp/buildroot/package/synergy/Config.in | 10 +- bsp/buildroot/package/synergy/synergy.hash | 3 +- bsp/buildroot/package/synergy/synergy.mk | 10 +- bsp/buildroot/package/sysdig/Config.in | 10 +- bsp/buildroot/package/sysdig/sysdig.hash | 5 +- bsp/buildroot/package/sysdig/sysdig.mk | 4 +- bsp/buildroot/package/sysklogd/S01logging | 25 - bsp/buildroot/package/sysklogd/S01syslogd | 62 + bsp/buildroot/package/sysklogd/S02klogd | 65 + bsp/buildroot/package/sysklogd/sysklogd.mk | 11 +- .../syslog-ng/0001-fix-build-on-uclibc.patch | 51 + ...ules-json-Adaptions-for-json-c-v0.13.patch | 39 - .../0002-build-make-dlsym-optional.patch | 160 ++ bsp/buildroot/package/syslog-ng/S01logging | 38 - bsp/buildroot/package/syslog-ng/S01syslog-ng | 62 + .../package/syslog-ng/syslog-ng.conf | 2 +- .../package/syslog-ng/syslog-ng.hash | 5 +- bsp/buildroot/package/syslog-ng/syslog-ng.mk | 38 +- .../package/syslog-ng/syslog-ng@default | 8 + bsp/buildroot/package/sysstat/sysstat.hash | 4 +- bsp/buildroot/package/sysstat/sysstat.mk | 2 +- .../package/systemd/0001-fix-getty-unit.patch | 47 +- .../0002-install-don-t-use-ln-relative.patch | 12 +- .../0003-fix-am-path-libgcrypt-no-found.patch | 159 -- ...cross-compilation-compatible-c-check.patch | 60 + ...ity-fix-build-without-PR_CAP_AMBIENT.patch | 61 + ...-include-libmount-h-in-a-header-file.patch | 75 - .../0005-basic-macros-rename-noreturn.patch | 201 -- ...e-util.c-fix-build-without-O_TMPFILE.patch | 34 + ...we-have-enough-space-for-the-DHCP6-o.patch | 30 - ...missing_if_link.h-add-IFLA_BOND_MODE.patch | 49 + ...07-missing_syscall.h-include-errno.h.patch | 28 + ...util.c-fix-build-without-F_OFD_SETLK.patch | 34 + ...store-the-iovec-entry-for-process-co.patch | 205 ++ ...t-a-limit-on-the-number-of-fields-1k.patch | 57 + ...mote-verify-entry-length-from-header.patch | 112 + ...et-a-limit-on-the-number-of-fields-i.patch | 81 + ...var-to-device_path_parse_major_minor.patch | 116 + ...c-fix-build-without-BRIDGE_VLAN_INFO.patch | 34 + ...-fix-build-without-IFA_F_NOPREFIXROU.patch | 33 + ....c-fix-build-without-IFA_F_NOPREFIXR.patch | 33 + ...-fix-build-without-IFA_F_NOPREFIXROU.patch | 33 + ...age-paths-longer-than-BUS_PATH_SIZE_.patch | 53 + ...ry-strings-to-hold-dbus-paths-on-the.patch | 194 ++ bsp/buildroot/package/systemd/Config.in | 7 +- bsp/buildroot/package/systemd/systemd.hash | 4 +- bsp/buildroot/package/systemd/systemd.mk | 119 +- .../sysvinit/0001-fix-libcrypt-test.patch | 20 - .../0002-musl-fix-compilation-errors.patch | 38 - bsp/buildroot/package/sysvinit/sysvinit.hash | 8 +- bsp/buildroot/package/sysvinit/sysvinit.mk | 22 +- bsp/buildroot/package/szip/szip.hash | 3 +- bsp/buildroot/package/szip/szip.mk | 4 +- bsp/buildroot/package/tar/tar.mk | 14 +- bsp/buildroot/package/targetcli-fb/S50target | 0 ...add-install-target-to-the-CMakeLists.patch | 48 - ...ve-explicit-uses-of-__ptrace_request.patch | 103 - ...nonicalize_file_name-for-all-c-libs-.patch | 46 - bsp/buildroot/package/tcf-agent/Config.in | 5 +- bsp/buildroot/package/tcf-agent/S55tcf-agent | 0 .../package/tcf-agent/tcf-agent.hash | 2 +- bsp/buildroot/package/tcf-agent/tcf-agent.mk | 2 +- .../package/tcpreplay/tcpreplay.hash | 5 +- bsp/buildroot/package/tcpreplay/tcpreplay.mk | 16 +- bsp/buildroot/package/tekui/tekui.mk | 3 + .../package/terminology/terminology.hash | 5 +- .../package/terminology/terminology.mk | 14 +- .../package/tesseract-ocr/tesseract-ocr.hash | 15 +- .../package/tesseract-ocr/tesseract-ocr.mk | 7 +- bsp/buildroot/package/tftpd/S80tftpd-hpa | 0 bsp/buildroot/package/tftpd/tftpd.mk | 5 - ...ipedTransport-peek-to-avoid-linker-e.patch | 31 + .../package/thrift/0001-libevent-cross.patch | 16 - .../package/thrift/0002-autoreconf.patch | 28 - .../package/thrift/0003-zlib-cross.patch | 16 - ...k-minimum-required-version-of-automa.patch | 47 - .../0005-configure.ac-C-11-is-optional.patch | 28 - bsp/buildroot/package/thrift/thrift.hash | 6 +- bsp/buildroot/package/thrift/thrift.mk | 88 +- .../package/ti-cgt-pru/ti-cgt-pru.mk | 4 +- bsp/buildroot/package/ti-gfx/ti-gfx.mk | 4 +- bsp/buildroot/package/ti-sgx-km/Config.in | 14 +- bsp/buildroot/package/ti-sgx-km/ti-sgx-km.mk | 8 +- .../package/tidsp-binaries/Config.in | 7 - .../tidsp-binaries/tidsp-binaries.hash | 2 - .../package/tidsp-binaries/tidsp-binaries.mk | 16 - bsp/buildroot/package/time/time.hash | 2 +- bsp/buildroot/package/time/time.mk | 10 +- bsp/buildroot/package/tini/Config.in | 17 + bsp/buildroot/package/tini/tini.hash | 3 + bsp/buildroot/package/tini/tini.mk | 35 + ...x-undefined-encode_half-in-json2cbor.patch | 44 + bsp/buildroot/package/tinycbor/tinycbor.hash | 2 +- bsp/buildroot/package/tinycbor/tinycbor.mk | 10 +- bsp/buildroot/package/tinyhttpd/S85tinyhttpd | 1 - .../package/tinymembench/tinymembench.hash | 3 +- .../package/tinymembench/tinymembench.mk | 4 +- bsp/buildroot/package/tinyxml2/tinyxml2.hash | 3 +- bsp/buildroot/package/tinyxml2/tinyxml2.mk | 2 +- bsp/buildroot/package/tk/Config.in | 18 + bsp/buildroot/package/tk/tk.hash | 3 + bsp/buildroot/package/tk/tk.mk | 31 + bsp/buildroot/package/tmux/tmux.hash | 4 +- bsp/buildroot/package/tmux/tmux.mk | 12 +- .../package/tn5250/0001-ssldir.patch | 17 - ...-against-OpenSSL-without-SSLv2_SSLv3.patch | 32 - bsp/buildroot/package/tn5250/Config.in | 8 - bsp/buildroot/package/tn5250/tn5250.hash | 2 - bsp/buildroot/package/tn5250/tn5250.mk | 29 - ...0001-Fix-static-linking-with-OpenSSL.patch | 95 + .../package/tor/0001-openssl-libz.patch | 129 -- bsp/buildroot/package/tor/tor.hash | 4 +- bsp/buildroot/package/tor/tor.mk | 6 +- bsp/buildroot/package/tovid/Config.in | 23 +- bsp/buildroot/package/tovid/tovid.hash | 3 +- bsp/buildroot/package/tovid/tovid.mk | 4 +- bsp/buildroot/package/tpm-tools/Config.in | 2 - bsp/buildroot/package/tpm-tools/tpm-tools.mk | 4 + bsp/buildroot/package/tpm2-abrmd/Config.in | 27 + .../package/tpm2-abrmd/S80tpm2-abrmd | 74 + .../package/tpm2-abrmd/tpm2-abrmd.hash | 3 + .../package/tpm2-abrmd/tpm2-abrmd.mk | 40 + ...-type-may-be-used-uninitialized-warn.patch | 36 + bsp/buildroot/package/tpm2-tools/Config.in | 29 + .../package/tpm2-tools/tpm2-tools.hash | 3 + .../package/tpm2-tools/tpm2-tools.mk | 18 + ...ypes.c-fix-maybe-uninitialized-error.patch | 37 + bsp/buildroot/package/tpm2-tss/Config.in | 37 + bsp/buildroot/package/tpm2-tss/tpm2-tss.hash | 3 + bsp/buildroot/package/tpm2-tss/tpm2-tss.mk | 23 + .../package/trace-cmd/trace-cmd.hash | 4 +- bsp/buildroot/package/trace-cmd/trace-cmd.mk | 2 +- .../package/traceroute/traceroute.mk | 5 - ...clude.patch => 0003-fix-utp-include.patch} | 0 .../transmission/0003-miniupnpc-cross.patch | 31 - ....0.18-has-sys-quota.h-synced-with-G.patch} | 0 ...libsystemd.patch => 0005-libsystemd.patch} | 0 .../package/transmission/transmission.hash | 2 +- .../package/transmission/transmission.mk | 2 +- .../package/triggerhappy/S10triggerhappy | 6 +- .../package/triggerhappy/triggerhappy.mk | 4 + ...0002-memfd-fix-build-with-glibc-2.27.patch | 87 + ...-fix-build-with-kernel-headers-v4.17.patch | 73 + ...-Check-if-VIDIOC_RESERVED-is-defined.patch | 56 + ...s-include-libc-network-headers-first.patch | 48 + ...r-understands-pie-and-relro-options.patch} | 17 +- ...-inline-for-read_data-and-write_data.patch | 94 - ...went_r-is-available-before-using-it.patch} | 8 +- ...m-include-limits.h-to-fix-musl-build.patch | 29 - bsp/buildroot/package/trousers/Config.in | 3 - bsp/buildroot/package/trousers/trousers.hash | 9 +- bsp/buildroot/package/trousers/trousers.mk | 2 +- .../package/ts4900-fpga/ts4900-fpga.mk | 2 +- bsp/buildroot/package/tslib/tslib.hash | 4 +- bsp/buildroot/package/tslib/tslib.mk | 2 +- ...02-sbuf-fix-uclibc-compilation-error.patch | 33 - bsp/buildroot/package/tvheadend/Config.in | 2 +- bsp/buildroot/package/tvheadend/S99tvheadend | 5 +- .../package/tvheadend/tvheadend.hash | 2 +- bsp/buildroot/package/tvheadend/tvheadend.mk | 8 +- bsp/buildroot/package/tzdata/tzdata.hash | 4 +- bsp/buildroot/package/tzdata/tzdata.mk | 2 +- bsp/buildroot/package/tzdump/tzdump.hash | 2 +- bsp/buildroot/package/tzdump/tzdump.mk | 2 +- ...Boot-libfdt-headers-from-their-actua.patch | 33 - .../package/uboot-tools/uboot-tools.hash | 2 +- .../package/uboot-tools/uboot-tools.mk | 2 +- ...O_CRYPT-to-fix-build-with-glibc-2.28.patch | 43 + .../package/uclibc-ng-test/uclibc-ng-test.mk | 5 + ...ucontext.h-include-bits-sigcontext.h.patch | 49 - ...tfs.h-sync-generic-header-with-glibc.patch | 169 ++ .../0002-xtensa-add-custom-bits-poll.h.patch | 93 + ...stemp64-clear-flags-as-mkostemp-does.patch | 38 - bsp/buildroot/package/uclibc/Config.in | 10 +- bsp/buildroot/package/uclibc/uclibc.hash | 6 +- bsp/buildroot/package/uclibc/uclibc.mk | 29 +- ...tsetup.c-do-not-include-bits-types.h.patch | 32 + ...ect-readline-via-pkg-config-when-pos.patch | 60 + ...event-build-breakage-with-glibc-2-25.patch | 38 + bsp/buildroot/package/udftools/Config.in | 12 + bsp/buildroot/package/udftools/udftools.hash | 3 + bsp/buildroot/package/udftools/udftools.mk | 14 + ...issue-with-missing-sys-sysmacros.h-i.patch | 81 + bsp/buildroot/package/udisks/Config.in | 6 +- .../uemacs/02-skip-xcase-termios-flag.patch | 16 - bsp/buildroot/package/uemacs/uemacs.hash | 3 +- bsp/buildroot/package/uemacs/uemacs.mk | 6 +- bsp/buildroot/package/uhubctl/uhubctl.hash | 3 +- bsp/buildroot/package/uhubctl/uhubctl.mk | 2 +- bsp/buildroot/package/unixodbc/Config.in | 4 + bsp/buildroot/package/unixodbc/unixodbc.hash | 8 +- bsp/buildroot/package/unixodbc/unixodbc.mk | 2 +- bsp/buildroot/package/unrar/unrar.hash | 2 +- bsp/buildroot/package/unrar/unrar.mk | 2 +- bsp/buildroot/package/unscd/unscd.mk | 2 +- bsp/buildroot/package/unzip/unzip.hash | 13 + bsp/buildroot/package/unzip/unzip.mk | 17 +- ...01-Use-uint64_t-instead-of-u_int64_t.patch | 72 + bsp/buildroot/package/upmpdcli/Config.in | 8 +- bsp/buildroot/package/upmpdcli/S99upmpdcli | 6 +- bsp/buildroot/package/upmpdcli/upmpdcli.hash | 6 +- bsp/buildroot/package/upmpdcli/upmpdcli.mk | 9 +- bsp/buildroot/package/urg/urg.mk | 2 +- .../usb_modeswitch/usb_modeswitch.hash | 3 +- .../package/usb_modeswitch/usb_modeswitch.mk | 10 +- .../usb_modeswitch_data.hash | 3 +- .../usb_modeswitch_data.mk | 2 +- .../usbutils/0001-add-gpl-license-files.patch | 1030 +++++++++ bsp/buildroot/package/usbutils/usbutils.hash | 5 +- bsp/buildroot/package/usbutils/usbutils.mk | 15 +- .../package/ustream-ssl/ustream-ssl.hash | 3 + .../package/ustream-ssl/ustream-ssl.mk | 2 +- .../0001-docs-add-ISC-licence.patch | 38 - ...se-poweroff-if-shutdown-is-not-found.patch | 86 + ...tty-fix-output-of-escaped-characters.patch | 26 + ...-randutils-Do-not-block-on-getrandom.patch | 52 - ...ils-don-t-break-on-EAGAIN-use-usleep.patch | 71 - ...rch-fix-obscure-sparc32bash-use-case.patch | 84 + bsp/buildroot/package/util-linux/Config.in | 2 +- .../package/util-linux/util-linux.hash | 14 +- .../package/util-linux/util-linux.mk | 22 +- bsp/buildroot/package/utp_com/Config.in.host | 7 + bsp/buildroot/package/utp_com/utp_com.hash | 3 + bsp/buildroot/package/utp_com/utp_com.mk | 21 + .../package/v4l2loopback/v4l2loopback.hash | 3 +- .../package/v4l2loopback/v4l2loopback.mk | 2 +- ...disable-gcc-march-mips64r2-detection.patch | 49 + .../valgrind/0004-Fixes-for-musl-libc.patch | 99 - bsp/buildroot/package/valgrind/Config.in | 8 +- bsp/buildroot/package/valgrind/valgrind.hash | 6 +- bsp/buildroot/package/valgrind/valgrind.mk | 19 +- bsp/buildroot/package/valijson/valijson.hash | 2 +- bsp/buildroot/package/valijson/valijson.mk | 2 +- .../0006-Update-for-openssl-1.1.patch | 268 +++ bsp/buildroot/package/vde2/vde2.hash | 3 + .../vdr-plugin-vnsiserver.mk | 3 +- bsp/buildroot/package/vim/vim.hash | 2 +- bsp/buildroot/package/vim/vim.mk | 8 +- ...ding-of-statically-linked-vlc-binary.patch | 40 + .../package/vlc/0001-vlc-static.patch | 24 - ...d-check-for-libgcrypt-config-program.patch | 43 - ...OMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch | 41 + ...3-automake-add-subdir-objects-option.patch | 20 +- ...ld-use-pkg-config-to-get-tremor-libs.patch | 50 + .../0004-implicit-function-declaration.patch | 20 - ...r-using-uClibc-by-adding-sys-types.h.patch | 44 + .../package/vlc/0005-libvorbisidec.patch | 18 - ...Don-t-assume-strerror_l-is-available.patch | 58 + bsp/buildroot/package/vlc/0006-qt-x11.patch | 16 - ...ient-run-time-fallback-to-real-time-.patch | 187 ++ bsp/buildroot/package/vlc/0007-strerror.patch | 43 - .../vlc/0008-Add-support-for-freerdp2.patch | 150 ++ ...de-and-add-required-realtime-library.patch | 40 - ...o-use-AC_PATH_PROG-to-check-for-wayl.patch | 50 + .../package/vlc/0009-ffmpeg-3.0.patch | 283 --- .../package/vlc/0010-static-assert.patch | 25 - .../package/vlc/0011-static-assert.patch | 28 - ...-Fix-build-with-libupnp-above-1.6.23.patch | 64 - bsp/buildroot/package/vlc/Config.in | 14 +- bsp/buildroot/package/vlc/vlc.hash | 13 +- bsp/buildroot/package/vlc/vlc.mk | 268 ++- bsp/buildroot/package/vmtouch/Config.in | 11 + bsp/buildroot/package/vmtouch/vmtouch.hash | 5 + bsp/buildroot/package/vmtouch/vmtouch.mk | 21 + bsp/buildroot/package/vsftpd/S70vsftpd | 0 bsp/buildroot/package/vte/Config.in | 35 + bsp/buildroot/package/vte/vte.hash | 3 + bsp/buildroot/package/vte/vte.mk | 15 + .../vtun/0003-fixup-configure.in.patch | 92 - .../package/vtun/0003-openssl11.patch | 294 +++ bsp/buildroot/package/vtun/vtun.hash | 6 +- bsp/buildroot/package/vtun/vtun.mk | 2 +- bsp/buildroot/package/waf/waf.mk | 4 +- ...ads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch | 54 + ...lags-from-.pc-files-to-waffle-cflags.patch | 40 + bsp/buildroot/package/waffle/Config.in | 47 + bsp/buildroot/package/waffle/waffle.hash | 3 + bsp/buildroot/package/waffle/waffle.mk | 48 + bsp/buildroot/package/wampcc/Config.in | 30 + bsp/buildroot/package/wampcc/wampcc.hash | 3 + bsp/buildroot/package/wampcc/wampcc.mk | 19 + ...-on_exit-use-standard-atexit-instead.patch | 73 + bsp/buildroot/package/wavemon/wavemon.hash | 3 +- bsp/buildroot/package/wavemon/wavemon.mk | 2 +- .../wayland-protocols/wayland-protocols.hash | 8 +- .../wayland-protocols/wayland-protocols.mk | 2 +- ...tures-with-non-empty-__USER_LABEL_PR.patch | 57 - ...nfigure-add-option-to-disable-tests.patch} | 39 +- bsp/buildroot/package/wayland/wayland.hash | 10 +- bsp/buildroot/package/wayland/wayland.mk | 2 +- bsp/buildroot/package/webkitgtk/Config.in | 17 + .../package/webkitgtk/webkitgtk.hash | 8 +- bsp/buildroot/package/webkitgtk/webkitgtk.mk | 14 +- bsp/buildroot/package/webp/webp.hash | 2 +- bsp/buildroot/package/webp/webp.mk | 2 +- bsp/buildroot/package/websocketpp/Config.in | 15 + .../package/websocketpp/websocketpp.hash | 3 + .../package/websocketpp/websocketpp.mk | 15 + ...-shared-struct-timespec-is-in-time.h.patch | 44 - bsp/buildroot/package/weston/weston.hash | 12 +- bsp/buildroot/package/weston/weston.mk | 29 +- bsp/buildroot/package/wf111/wf111.hash | 4 + bsp/buildroot/package/wf111/wf111.mk | 9 +- bsp/buildroot/package/wget/wget.hash | 5 +- bsp/buildroot/package/wget/wget.mk | 24 +- bsp/buildroot/package/whetstone/whetstone.mk | 2 +- bsp/buildroot/package/whois/whois.hash | 7 +- bsp/buildroot/package/whois/whois.mk | 13 +- .../wilc1000-firmware/wilc1000-firmware.mk | 2 +- bsp/buildroot/package/wine/Config.in | 19 +- bsp/buildroot/package/wine/wine.hash | 2 +- bsp/buildroot/package/wine/wine.mk | 15 +- .../package/wireguard/wireguard.hash | 4 +- bsp/buildroot/package/wireguard/wireguard.mk | 2 +- .../package/wireless-regdb/Config.in | 7 +- .../wireless-regdb/wireless-regdb.hash | 2 +- .../package/wireless-regdb/wireless-regdb.mk | 12 +- ...not-assume-broken-inet_pton-in-case-.patch | 35 - ...iddump-add-missing-sys-time.h-header.patch | 35 - bsp/buildroot/package/wireshark/Config.in | 3 + .../package/wireshark/wireshark.hash | 4 +- bsp/buildroot/package/wireshark/wireshark.mk | 94 +- .../0001-Adjust-for-buildroot-build.patch | 16 +- bsp/buildroot/package/wiringpi/Config.in | 5 +- bsp/buildroot/package/wiringpi/wiringpi.hash | 2 +- bsp/buildroot/package/wiringpi/wiringpi.mk | 31 +- bsp/buildroot/package/woff2/woff2.mk | 6 - bsp/buildroot/package/wolfssl/wolfssl.hash | 2 +- bsp/buildroot/package/wolfssl/wolfssl.mk | 15 +- ...pplicant-2.7-fix-undefined-remove-ie.patch | 43 + .../wpa_supplicant/wpa_supplicant.hash | 12 +- .../package/wpa_supplicant/wpa_supplicant.mk | 11 +- bsp/buildroot/package/wsapi-fcgi/Config.in | 5 +- .../package/wsapi-fcgi/wsapi-fcgi.hash | 6 +- .../package/wsapi-fcgi/wsapi-fcgi.mk | 11 +- bsp/buildroot/package/wsapi-xavante/Config.in | 9 +- .../package/wsapi-xavante/wsapi-xavante.hash | 6 +- .../package/wsapi-xavante/wsapi-xavante.mk | 9 +- .../wsapi/0001-Lua-5.3-compatibility.patch | 41 - bsp/buildroot/package/wsapi/Config.in | 9 +- bsp/buildroot/package/wsapi/wsapi.hash | 6 +- bsp/buildroot/package/wsapi/wsapi.mk | 7 +- bsp/buildroot/package/x11r7/Config.in | 31 +- .../package/x11r7/libxcb/libxcb.hash | 9 +- bsp/buildroot/package/x11r7/libxcb/libxcb.mk | 2 +- .../x11r7/xapp_appres/xapp_appres.hash | 9 +- .../package/x11r7/xapp_appres/xapp_appres.mk | 2 +- .../xapp_beforelight/xapp_beforelight.mk | 1 + .../package/x11r7/xapp_bitmap/xapp_bitmap.mk | 1 + .../x11r7/xapp_editres/xapp_editres.hash | 9 +- .../x11r7/xapp_editres/xapp_editres.mk | 3 +- .../x11r7/xapp_iceauth/xapp_iceauth.hash | 9 +- .../x11r7/xapp_iceauth/xapp_iceauth.mk | 2 +- .../package/x11r7/xapp_ico/xapp_ico.hash | 9 +- .../package/x11r7/xapp_ico/xapp_ico.mk | 2 +- .../x11r7/xapp_listres/xapp_listres.hash | 9 +- .../x11r7/xapp_listres/xapp_listres.mk | 2 +- .../package/x11r7/xapp_mkfontscale/Config.in | 2 + .../xapp_mkfontscale/xapp_mkfontscale.hash | 9 +- .../xapp_mkfontscale/xapp_mkfontscale.mk | 6 +- .../x11r7/xapp_oclock/xapp_oclock.hash | 9 +- .../package/x11r7/xapp_oclock/xapp_oclock.mk | 3 +- .../package/x11r7/xapp_rgb/Config.in | 2 +- .../package/x11r7/xapp_rgb/xapp_rgb.mk | 2 +- .../package/x11r7/xapp_sessreg/Config.in | 2 +- .../x11r7/xapp_sessreg/xapp_sessreg.mk | 2 +- .../package/x11r7/xapp_twm/xapp_twm.hash | 9 +- .../package/x11r7/xapp_twm/xapp_twm.mk | 2 +- .../x11r7/xapp_viewres/xapp_viewres.hash | 9 +- .../x11r7/xapp_viewres/xapp_viewres.mk | 3 +- .../xapp_xbacklight/xapp_xbacklight.hash | 9 +- .../x11r7/xapp_xbacklight/xapp_xbacklight.mk | 2 +- .../package/x11r7/xapp_xcalc/xapp_xcalc.mk | 1 + .../x11r7/xapp_xclipboard/xapp_xclipboard.mk | 1 + .../package/x11r7/xapp_xclock/xapp_xclock.mk | 1 + .../package/x11r7/xapp_xconsole/Config.in | 2 +- .../x11r7/xapp_xconsole/xapp_xconsole.mk | 3 +- .../xapp_xcursorgen/xapp_xcursorgen.hash | 9 +- .../x11r7/xapp_xcursorgen/xapp_xcursorgen.mk | 2 +- .../x11r7/xapp_xditview/xapp_xditview.mk | 1 + .../package/x11r7/xapp_xdm/Config.in | 3 +- .../package/x11r7/xapp_xdm/xapp_xdm.mk | 11 +- .../package/x11r7/xapp_xdriinfo/Config.in | 2 +- .../x11r7/xapp_xdriinfo/xapp_xdriinfo.hash | 9 +- .../x11r7/xapp_xdriinfo/xapp_xdriinfo.mk | 4 +- .../package/x11r7/xapp_xedit/xapp_xedit.mk | 4 +- .../package/x11r7/xapp_xeyes/xapp_xeyes.hash | 9 +- .../package/x11r7/xapp_xeyes/xapp_xeyes.mk | 2 +- .../package/x11r7/xapp_xfd/xapp_xfd.mk | 1 + .../package/x11r7/xapp_xfindproxy/Config.in | 3 +- .../x11r7/xapp_xfindproxy/xapp_xfindproxy.mk | 3 +- .../x11r7/xapp_xfontsel/xapp_xfontsel.hash | 9 +- .../x11r7/xapp_xfontsel/xapp_xfontsel.mk | 2 +- .../package/x11r7/xapp_xfs/Config.in | 2 +- .../package/x11r7/xapp_xfs/xapp_xfs.mk | 2 +- .../package/x11r7/xapp_xinit/xapp_xinit.hash | 9 +- .../package/x11r7/xapp_xinit/xapp_xinit.mk | 2 +- .../x11r7/xapp_xkbcomp/xapp_xkbcomp.hash | 12 +- .../x11r7/xapp_xkbcomp/xapp_xkbcomp.mk | 2 +- .../package/x11r7/xapp_xkill/xapp_xkill.hash | 9 +- .../package/x11r7/xapp_xkill/xapp_xkill.mk | 2 +- .../package/x11r7/xapp_xload/xapp_xload.hash | 9 +- .../package/x11r7/xapp_xload/xapp_xload.mk | 3 +- .../xapp_xlsclients/xapp_xlsclients.hash | 9 +- .../x11r7/xapp_xlsclients/xapp_xlsclients.mk | 2 +- .../x11r7/xapp_xlsfonts/xapp_xlsfonts.hash | 9 +- .../x11r7/xapp_xlsfonts/xapp_xlsfonts.mk | 2 +- .../package/x11r7/xapp_xmag/xapp_xmag.mk | 1 + .../package/x11r7/xapp_xman/xapp_xman.mk | 1 + .../x11r7/xapp_xmessage/xapp_xmessage.hash | 9 +- .../x11r7/xapp_xmessage/xapp_xmessage.mk | 3 +- .../package/x11r7/xapp_xpr/xapp_xpr.hash | 9 +- .../package/x11r7/xapp_xpr/xapp_xpr.mk | 2 +- .../package/x11r7/xapp_xprop/xapp_xprop.hash | 9 +- .../package/x11r7/xapp_xprop/xapp_xprop.mk | 2 +- .../package/x11r7/xapp_xrdb/xapp_xrdb.hash | 9 +- .../package/x11r7/xapp_xrdb/xapp_xrdb.mk | 2 +- .../x11r7/xapp_xrefresh/xapp_xrefresh.hash | 9 +- .../x11r7/xapp_xrefresh/xapp_xrefresh.mk | 2 +- .../package/x11r7/xapp_xset/xapp_xset.hash | 9 +- .../package/x11r7/xapp_xset/xapp_xset.mk | 2 +- .../package/x11r7/xapp_xsetpointer/Config.in | 2 +- .../xapp_xsetpointer/xapp_xsetpointer.mk | 2 +- .../x11r7/xapp_xsetroot/xapp_xsetroot.hash | 9 +- .../x11r7/xapp_xsetroot/xapp_xsetroot.mk | 2 +- .../package/x11r7/xapp_xsm/xapp_xsm.hash | 9 +- .../package/x11r7/xapp_xsm/xapp_xsm.mk | 2 +- .../package/x11r7/xapp_xwd/xapp_xwd.hash | 9 +- .../package/x11r7/xapp_xwd/xapp_xwd.mk | 2 +- .../x11r7/xapp_xwininfo/xapp_xwininfo.hash | 9 +- .../x11r7/xapp_xwininfo/xapp_xwininfo.mk | 2 +- .../package/x11r7/xapp_xwud/xapp_xwud.hash | 9 +- .../package/x11r7/xapp_xwud/xapp_xwud.mk | 2 +- .../0001-Make-whitespace-use-consistent.patch | 212 -- ...-is-a-function-and-needs-parentheses.patch | 70 - .../package/x11r7/xcb-proto/xcb-proto.hash | 9 +- .../package/x11r7/xcb-proto/xcb-proto.mk | 2 +- .../package/x11r7/xcb-util/xcb-util.hash | 3 +- .../package/x11r7/xcb-util/xcb-util.mk | 6 +- .../x11r7/xdata_xbitmaps/xdata_xbitmaps.hash | 9 +- .../x11r7/xdata_xbitmaps/xdata_xbitmaps.mk | 2 +- .../xdata_xcursor-themes.hash | 9 +- .../xdata_xcursor-themes.mk | 2 +- .../x11r7/xdriver_xf86-input-evdev/Config.in | 4 +- .../xdriver_xf86-input-evdev.mk | 4 +- .../xdriver_xf86-input-joystick/Config.in | 4 +- .../xdriver_xf86-input-joystick.mk | 2 +- .../xdriver_xf86-input-keyboard/Config.in | 5 +- .../xdriver_xf86-input-keyboard.mk | 2 +- .../xdriver_xf86-input-libinput/Config.in | 3 +- .../xdriver_xf86-input-libinput.hash | 12 +- .../xdriver_xf86-input-libinput.mk | 4 +- .../x11r7/xdriver_xf86-input-mouse/Config.in | 4 +- .../xdriver_xf86-input-mouse.hash | 9 +- .../xdriver_xf86-input-mouse.mk | 4 +- .../xdriver_xf86-input-synaptics/Config.in | 4 +- .../xdriver_xf86-input-synaptics.mk | 2 +- .../x11r7/xdriver_xf86-input-tslib/Config.in | 4 +- .../xdriver_xf86-input-tslib.mk | 4 +- .../xdriver_xf86-input-vmmouse/Config.in | 4 +- .../xdriver_xf86-input-vmmouse.mk | 2 +- .../x11r7/xdriver_xf86-video-amdgpu/Config.in | 9 +- .../xdriver_xf86-video-amdgpu.hash | 12 +- .../xdriver_xf86-video-amdgpu.mk | 11 +- .../x11r7/xdriver_xf86-video-ark/Config.in | 6 +- .../xdriver_xf86-video-ark.mk | 2 +- .../x11r7/xdriver_xf86-video-ast/Config.in | 3 +- .../xdriver_xf86-video-ast.mk | 2 +- .../x11r7/xdriver_xf86-video-ati/Config.in | 9 +- .../xdriver_xf86-video-ati.hash | 12 +- .../xdriver_xf86-video-ati.mk | 13 +- .../x11r7/xdriver_xf86-video-cirrus/Config.in | 7 +- .../xdriver_xf86-video-cirrus.mk | 2 +- .../x11r7/xdriver_xf86-video-dummy/Config.in | 7 +- .../xdriver_xf86-video-dummy.mk | 2 +- .../x11r7/xdriver_xf86-video-fbdev/Config.in | 6 +- .../xdriver_xf86-video-fbdev.mk | 2 +- .../xdriver_xf86-video-fbturbo/Config.in | 8 +- .../xdriver_xf86-video-fbturbo.mk | 11 +- .../x11r7/xdriver_xf86-video-geode/Config.in | 6 +- .../xdriver_xf86-video-geode.mk | 2 +- .../x11r7/xdriver_xf86-video-glint/Config.in | 10 +- .../xdriver_xf86-video-glint.mk | 2 +- .../0001-mbstring.patch | 35 - .../x11r7/xdriver_xf86-video-i128/Config.in | 7 +- .../xdriver_xf86-video-i128.hash | 9 +- .../xdriver_xf86-video-i128.mk | 4 +- .../xdriver_xf86-video-imx-viv/Config.in | 3 +- .../xdriver_xf86-video-imx-viv.mk | 2 +- .../x11r7/xdriver_xf86-video-imx/Config.in | 7 +- .../xdriver_xf86-video-imx.mk | 3 +- .../x11r7/xdriver_xf86-video-intel/Config.in | 3 +- .../xdriver_xf86-video-intel.hash | 3 + .../xdriver_xf86-video-intel.mk | 23 +- .../x11r7/xdriver_xf86-video-mach64/Config.in | 6 +- .../xdriver_xf86-video-mach64.hash | 9 +- .../xdriver_xf86-video-mach64.mk | 4 +- .../x11r7/xdriver_xf86-video-mga/Config.in | 9 +- .../xdriver_xf86-video-mga.hash | 9 +- .../xdriver_xf86-video-mga.mk | 4 +- .../xdriver_xf86-video-neomagic/Config.in | 8 +- .../xdriver_xf86-video-neomagic.hash | 9 +- .../xdriver_xf86-video-neomagic.mk | 4 +- .../xdriver_xf86-video-nouveau/Config.in | 6 +- .../xdriver_xf86-video-nouveau.mk | 6 +- .../x11r7/xdriver_xf86-video-nv/Config.in | 7 +- .../xdriver_xf86-video-nv.mk | 2 +- .../xdriver_xf86-video-openchrome/Config.in | 7 +- .../xdriver_xf86-video-openchrome.mk | 8 +- .../x11r7/xdriver_xf86-video-qxl/Config.in | 3 +- .../xdriver_xf86-video-qxl.mk | 3 +- .../0001-cross-compile.patch | 50 - .../x11r7/xdriver_xf86-video-r128/Config.in | 6 +- .../xdriver_xf86-video-r128.hash | 9 +- .../xdriver_xf86-video-r128.mk | 5 +- .../0002-xorg-xserver120.patch | 23 + .../x11r7/xdriver_xf86-video-savage/Config.in | 8 +- .../xdriver_xf86-video-savage.mk | 2 +- .../Config.in | 7 +- .../xdriver_xf86-video-siliconmotion.mk | 2 +- ...0002-Remove-reference-to-virtualFrom.patch | 33 + .../x11r7/xdriver_xf86-video-sis/Config.in | 10 +- .../xdriver_xf86-video-sis.mk | 2 +- .../x11r7/xdriver_xf86-video-tdfx/Config.in | 8 +- .../xdriver_xf86-video-tdfx.mk | 8 +- .../x11r7/xdriver_xf86-video-tga/Config.in | 8 +- .../xdriver_xf86-video-tga.mk | 2 +- .../xdriver_xf86-video-trident/Config.in | 8 +- .../xdriver_xf86-video-trident.mk | 2 +- .../x11r7/xdriver_xf86-video-vesa/Config.in | 6 +- .../xdriver_xf86-video-vesa.hash | 9 +- .../xdriver_xf86-video-vesa.mk | 4 +- .../x11r7/xdriver_xf86-video-vmware/Config.in | 7 +- .../xdriver_xf86-video-vmware.hash | 9 +- .../xdriver_xf86-video-vmware.mk | 4 +- .../x11r7/xdriver_xf86-video-voodoo/Config.in | 7 +- .../xdriver_xf86-video-voodoo.mk | 2 +- .../package/x11r7/xkeyboard-config/Config.in | 2 +- .../xkeyboard-config/xkeyboard-config.hash | 11 +- .../xkeyboard-config/xkeyboard-config.mk | 5 +- .../package/x11r7/xlib_libFS/Config.in | 3 +- .../package/x11r7/xlib_libFS/xlib_libFS.mk | 2 +- .../package/x11r7/xlib_libICE/Config.in | 2 +- .../package/x11r7/xlib_libICE/xlib_libICE.mk | 2 +- .../package/x11r7/xlib_libSM/Config.in | 2 +- .../package/x11r7/xlib_libSM/xlib_libSM.hash | 9 +- .../package/x11r7/xlib_libSM/xlib_libSM.mk | 4 +- .../package/x11r7/xlib_libX11/Config.in | 6 +- .../x11r7/xlib_libX11/xlib_libX11.hash | 9 +- .../package/x11r7/xlib_libX11/xlib_libX11.mk | 16 +- .../x11r7/xlib_libXScrnSaver/Config.in | 2 +- .../xlib_libXScrnSaver.hash | 9 +- .../xlib_libXScrnSaver/xlib_libXScrnSaver.mk | 4 +- .../package/x11r7/xlib_libXau/Config.in | 2 +- .../package/x11r7/xlib_libXau/xlib_libXau.mk | 4 +- .../package/x11r7/xlib_libXaw/Config.in | 2 +- .../package/x11r7/xlib_libXaw/xlib_libXaw.mk | 2 +- .../x11r7/xlib_libXcomposite/Config.in | 3 +- .../xlib_libXcomposite/xlib_libXcomposite.mk | 2 +- .../package/x11r7/xlib_libXcursor/Config.in | 2 +- .../x11r7/xlib_libXcursor/xlib_libXcursor.mk | 4 +- .../package/x11r7/xlib_libXdamage/Config.in | 3 +- .../x11r7/xlib_libXdamage/xlib_libXdamage.mk | 2 +- .../package/x11r7/xlib_libXdmcp/Config.in | 2 +- .../x11r7/xlib_libXdmcp/xlib_libXdmcp.mk | 4 +- .../package/x11r7/xlib_libXext/Config.in | 3 +- .../x11r7/xlib_libXext/xlib_libXext.mk | 2 +- .../package/x11r7/xlib_libXfixes/Config.in | 4 +- .../x11r7/xlib_libXfixes/xlib_libXfixes.mk | 5 +- .../package/x11r7/xlib_libXfont/Config.in | 3 +- .../x11r7/xlib_libXfont/xlib_libXfont.mk | 4 +- .../package/x11r7/xlib_libXfont2/Config.in | 3 +- .../x11r7/xlib_libXfont2/xlib_libXfont2.mk | 6 +- .../package/x11r7/xlib_libXft/Config.in | 2 +- .../package/x11r7/xlib_libXft/xlib_libXft.mk | 2 +- .../package/x11r7/xlib_libXi/Config.in | 3 +- .../package/x11r7/xlib_libXi/xlib_libXi.mk | 5 +- .../package/x11r7/xlib_libXinerama/Config.in | 2 +- .../xlib_libXinerama/xlib_libXinerama.hash | 9 +- .../xlib_libXinerama/xlib_libXinerama.mk | 4 +- .../package/x11r7/xlib_libXmu/Config.in | 2 +- .../package/x11r7/xlib_libXmu/xlib_libXmu.mk | 2 +- .../package/x11r7/xlib_libXpm/Config.in | 2 +- .../package/x11r7/xlib_libXpm/xlib_libXpm.mk | 2 +- .../package/x11r7/xlib_libXrandr/Config.in | 4 +- .../x11r7/xlib_libXrandr/xlib_libXrandr.mk | 2 +- .../package/x11r7/xlib_libXrender/Config.in | 3 +- .../x11r7/xlib_libXrender/xlib_libXrender.mk | 4 +- .../package/x11r7/xlib_libXres/Config.in | 3 +- .../x11r7/xlib_libXres/xlib_libXres.mk | 2 +- .../package/x11r7/xlib_libXt/Config.in | 3 +- .../package/x11r7/xlib_libXt/xlib_libXt.mk | 2 +- .../package/x11r7/xlib_libXtst/Config.in | 2 +- .../x11r7/xlib_libXtst/xlib_libXtst.mk | 2 +- .../package/x11r7/xlib_libXv/Config.in | 3 +- .../package/x11r7/xlib_libXv/xlib_libXv.mk | 2 +- .../package/x11r7/xlib_libXvMC/Config.in | 3 +- .../x11r7/xlib_libXvMC/xlib_libXvMC.mk | 2 +- .../package/x11r7/xlib_libXxf86dga/Config.in | 3 +- .../xlib_libXxf86dga/xlib_libXxf86dga.mk | 2 +- .../package/x11r7/xlib_libXxf86vm/Config.in | 3 +- .../x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk | 2 +- .../package/x11r7/xlib_libdmx/Config.in | 2 +- .../x11r7/xlib_libdmx/xlib_libdmx.hash | 9 +- .../package/x11r7/xlib_libdmx/xlib_libdmx.mk | 4 +- .../package/x11r7/xlib_libfontenc/Config.in | 2 +- .../x11r7/xlib_libfontenc/xlib_libfontenc.mk | 4 +- .../package/x11r7/xlib_libxkbfile/Config.in | 2 +- .../x11r7/xlib_libxkbfile/xlib_libxkbfile.mk | 4 +- .../package/x11r7/xlib_libxshmfence/Config.in | 2 +- .../xlib_libxshmfence/xlib_libxshmfence.hash | 9 +- .../xlib_libxshmfence/xlib_libxshmfence.mk | 4 +- .../package/x11r7/xorgproto/Config.in | 5 + .../package/x11r7/xorgproto/xorgproto.hash | 43 + .../package/x11r7/xorgproto/xorgproto.mk | 53 + .../x11r7/xproto_applewmproto/Config.in | 4 - .../xproto_applewmproto.hash | 3 - .../xproto_applewmproto.mk | 15 - .../x11r7/xproto_bigreqsproto/Config.in | 4 - .../xproto_bigreqsproto.hash | 2 - .../xproto_bigreqsproto.mk | 15 - .../x11r7/xproto_compositeproto/Config.in | 4 - .../xproto_compositeproto.hash | 3 - .../xproto_compositeproto.mk | 15 - .../x11r7/xproto_damageproto/Config.in | 4 - .../xproto_damageproto.hash | 3 - .../xproto_damageproto/xproto_damageproto.mk | 15 - .../package/x11r7/xproto_dmxproto/Config.in | 4 - .../xproto_dmxproto/xproto_dmxproto.hash | 3 - .../x11r7/xproto_dmxproto/xproto_dmxproto.mk | 15 - .../package/x11r7/xproto_dri2proto/Config.in | 4 - .../xproto_dri2proto/xproto_dri2proto.hash | 2 - .../xproto_dri2proto/xproto_dri2proto.mk | 15 - .../package/x11r7/xproto_dri3proto/Config.in | 4 - .../xproto_dri3proto/xproto_dri3proto.hash | 2 - .../xproto_dri3proto/xproto_dri3proto.mk | 15 - .../package/x11r7/xproto_fixesproto/Config.in | 4 - .../xproto_fixesproto/xproto_fixesproto.hash | 3 - .../xproto_fixesproto/xproto_fixesproto.mk | 16 - .../x11r7/xproto_fontcacheproto/Config.in | 4 - .../xproto_fontcacheproto.hash | 3 - .../xproto_fontcacheproto.mk | 16 - .../package/x11r7/xproto_fontsproto/Config.in | 4 - .../xproto_fontsproto/xproto_fontsproto.hash | 2 - .../xproto_fontsproto/xproto_fontsproto.mk | 16 - .../package/x11r7/xproto_glproto/Config.in | 4 - .../x11r7/xproto_glproto/xproto_glproto.hash | 2 - .../x11r7/xproto_glproto/xproto_glproto.mk | 15 - .../package/x11r7/xproto_inputproto/Config.in | 4 - .../xproto_inputproto/xproto_inputproto.hash | 2 - .../xproto_inputproto/xproto_inputproto.mk | 18 - .../package/x11r7/xproto_kbproto/Config.in | 4 - .../x11r7/xproto_kbproto/xproto_kbproto.hash | 2 - .../x11r7/xproto_kbproto/xproto_kbproto.mk | 16 - .../x11r7/xproto_presentproto/Config.in | 5 - .../xproto_presentproto.hash | 2 - .../xproto_presentproto.mk | 16 - .../package/x11r7/xproto_randrproto/Config.in | 4 - .../xproto_randrproto/xproto_randrproto.hash | 3 - .../xproto_randrproto/xproto_randrproto.mk | 15 - .../x11r7/xproto_recordproto/Config.in | 4 - .../xproto_recordproto.hash | 2 - .../xproto_recordproto/xproto_recordproto.mk | 15 - .../x11r7/xproto_renderproto/Config.in | 4 - .../xproto_renderproto.hash | 2 - .../xproto_renderproto/xproto_renderproto.mk | 16 - .../x11r7/xproto_resourceproto/Config.in | 4 - .../xproto_resourceproto.hash | 3 - .../xproto_resourceproto.mk | 15 - .../x11r7/xproto_scrnsaverproto/Config.in | 4 - .../xproto_scrnsaverproto.hash | 2 - .../xproto_scrnsaverproto.mk | 15 - .../package/x11r7/xproto_videoproto/Config.in | 4 - .../xproto_videoproto/xproto_videoproto.hash | 2 - .../xproto_videoproto/xproto_videoproto.mk | 15 - .../x11r7/xproto_windowswmproto/Config.in | 4 - .../xproto_windowswmproto.hash | 3 - .../xproto_windowswmproto.mk | 15 - .../x11r7/xproto_xcmiscproto/Config.in | 4 - .../xproto_xcmiscproto.hash | 2 - .../xproto_xcmiscproto/xproto_xcmiscproto.mk | 17 - .../package/x11r7/xproto_xextproto/Config.in | 4 - .../xproto_xextproto/xproto_xextproto.hash | 2 - .../xproto_xextproto/xproto_xextproto.mk | 17 - .../x11r7/xproto_xf86bigfontproto/Config.in | 4 - .../xproto_xf86bigfontproto.hash | 3 - .../xproto_xf86bigfontproto.mk | 16 - .../x11r7/xproto_xf86dgaproto/Config.in | 4 - .../xproto_xf86dgaproto.hash | 3 - .../xproto_xf86dgaproto.mk | 15 - .../x11r7/xproto_xf86driproto/Config.in | 4 - .../xproto_xf86driproto.hash | 3 - .../xproto_xf86driproto.mk | 15 - .../x11r7/xproto_xf86vidmodeproto/Config.in | 4 - .../xproto_xf86vidmodeproto.hash | 3 - .../xproto_xf86vidmodeproto.mk | 15 - .../x11r7/xproto_xineramaproto/Config.in | 4 - .../xproto_xineramaproto.hash | 3 - .../xproto_xineramaproto.mk | 15 - .../package/x11r7/xproto_xproto/Config.in | 4 - .../x11r7/xproto_xproto/xproto_xproto.hash | 2 - .../x11r7/xproto_xproto/xproto_xproto.mk | 16 - .../xproto_xproxymanagementprotocol/Config.in | 6 - .../xproto_xproxymanagementprotocol.hash | 2 - .../xproto_xproxymanagementprotocol.mk | 15 - ...-compositeext.h-if-COMPOSITE-is-supp.patch | 31 - ...and-modulepath-when-running-with-ele.patch | 52 - .../0001-modesettings-needs-dri2.patch | 5 +- ...ure.ac-Fix-check-for-CLOCK_MONOTONIC.patch | 0 ...003-Remove-check-for-useSIGIO-option.patch | 0 ...0004-include-misc.h-fix-uClibc-build.patch | 31 + .../x11r7/xserver_xorg-server/Config.in | 40 +- .../package/x11r7/xserver_xorg-server/S40xorg | 46 + .../xserver_xorg-server.hash | 10 +- .../xserver_xorg-server.mk | 54 +- .../package/x11r7/xutil_makedepend/Config.in | 1 + .../xutil_makedepend/xutil_makedepend.mk | 4 +- ...ection-when-using-without-crypt-cryp.patch | 27 - bsp/buildroot/package/x11vnc/x11vnc.hash | 3 +- bsp/buildroot/package/x11vnc/x11vnc.mk | 2 +- bsp/buildroot/package/x264/x264.hash | 3 +- bsp/buildroot/package/x264/x264.mk | 5 +- .../0002-fix-build-error-on-ppc64le.patch | 23 + .../x265/0003-arm-asm-primitives.patch | 354 +++ bsp/buildroot/package/x265/x265.hash | 3 +- bsp/buildroot/package/x265/x265.mk | 4 +- bsp/buildroot/package/xapian/Config.in | 18 + bsp/buildroot/package/xapian/xapian.hash | 3 + bsp/buildroot/package/xapian/xapian.mk | 15 + bsp/buildroot/package/xavante/Config.in | 9 +- bsp/buildroot/package/xavante/xavante.hash | 3 +- ...rm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch | 37 + bsp/buildroot/package/xen/Config.in | 2 - bsp/buildroot/package/xen/xen.hash | 2 +- bsp/buildroot/package/xen/xen.mk | 2 +- ...ated-destination-buffer-with-strncpy.patch | 91 + bsp/buildroot/package/xenomai/Config.in | 13 +- bsp/buildroot/package/xenomai/xenomai.mk | 3 - ...s-to-fail-and-fall-back-to-nothreads.patch | 38 + .../xerces/0001-fix-CVE-2017-12627.patch | 22 - .../0002-fix-static-linking-with-curl.patch | 39 + bsp/buildroot/package/xerces/Config.in | 2 +- bsp/buildroot/package/xerces/xerces.hash | 7 +- bsp/buildroot/package/xerces/xerces.mk | 27 +- ...-do-dynamic-linking-of-libtool-libra.patch | 33 +- ...-do-not-try-to-run-the-crc32selftest.patch | 8 +- bsp/buildroot/package/xfsprogs/xfsprogs.hash | 7 +- bsp/buildroot/package/xfsprogs/xfsprogs.mk | 13 +- bsp/buildroot/package/xl2tp/xl2tp.hash | 3 +- bsp/buildroot/package/xl2tp/xl2tp.mk | 2 +- .../package/xmlstarlet/xmlstarlet.mk | 4 +- bsp/buildroot/package/xterm/Config.in | 2 - .../xutil_util-macros/xutil_util-macros.hash | 9 +- .../xutil_util-macros/xutil_util-macros.mk | 2 +- bsp/buildroot/package/xxhash/xxhash.hash | 4 +- bsp/buildroot/package/xxhash/xxhash.mk | 2 +- bsp/buildroot/package/xz/xz.mk | 5 + bsp/buildroot/package/yaml-cpp/Config.in | 8 +- bsp/buildroot/package/yaml-cpp/yaml-cpp.hash | 3 +- bsp/buildroot/package/yaml-cpp/yaml-cpp.mk | 12 +- bsp/buildroot/package/ympd/ympd.hash | 3 +- bsp/buildroot/package/ympd/ympd.mk | 15 +- ...y-reducing-the-warning-error-checkin.patch | 26 - ...toype-to-be-compatible-with-recent-l.patch | 27 - .../0003-Disable-building-documentation.patch | 27 - ...ical-not-operations-into-parentheses.patch | 80 - bsp/buildroot/package/zbar/Config.in | 8 +- bsp/buildroot/package/zbar/zbar.hash | 3 +- bsp/buildroot/package/zbar/zbar.mk | 14 +- ...make-kernel-specific-flags-cacheable.patch | 199 -- ...-pkg-config-files-for-static-linking.patch | 29 - bsp/buildroot/package/zeromq/Config.in | 7 + bsp/buildroot/package/zeromq/zeromq.hash | 11 +- bsp/buildroot/package/zeromq/zeromq.mk | 25 +- bsp/buildroot/package/zic/zic.hash | 4 +- bsp/buildroot/package/zic/zic.mk | 2 +- ...ilding-shared-or-static-library-only.patch | 51 +- ...all-static-library-for-static-builds.patch | 33 - bsp/buildroot/package/zmqpp/Config.in | 4 + bsp/buildroot/package/zmqpp/zmqpp.hash | 3 +- bsp/buildroot/package/zmqpp/zmqpp.mk | 3 +- bsp/buildroot/package/znc/znc.hash | 2 +- bsp/buildroot/package/znc/znc.mk | 2 +- bsp/buildroot/package/zsh/Config.in | 1 - bsp/buildroot/package/zsh/zsh.hash | 6 +- bsp/buildroot/package/zsh/zsh.mk | 11 +- bsp/buildroot/package/zstd/Config.in.host | 8 + bsp/buildroot/package/zstd/zstd.hash | 2 +- bsp/buildroot/package/zstd/zstd.mk | 40 +- .../package/zynq-boot-bin/zynq-boot-bin.mk | 2 +- bsp/buildroot/package/zyre/zyre.hash | 2 +- bsp/buildroot/package/zyre/zyre.mk | 2 +- .../autobuild/arm-aarch64.config | 4 + .../autobuild/armv5-ctng-linux-gnueabi.config | 10 - .../armv7-ctng-linux-gnueabihf.config | 13 - .../autobuild/br-aarch64-glibc.config | 4 +- .../autobuild/br-arcle-hs38.config | 6 +- .../autobuild/br-arm-basic.config | 6 +- .../autobuild/br-arm-cortex-a9-glibc.config | 6 +- .../autobuild/br-arm-cortex-a9-musl.config | 6 +- .../autobuild/br-arm-cortex-m4-full.config | 6 +- .../autobuild/br-arm-full-nothread.config | 6 +- .../autobuild/br-arm-full-static.config | 6 +- .../autobuild/br-arm-full.config | 4 +- .../autobuild/br-bfin-full.config | 12 - .../autobuild/br-i386-pentium-mmx-musl.config | 6 +- .../autobuild/br-i386-pentium4-full.config | 6 +- .../autobuild/br-m68k-5208-full.config | 6 +- .../autobuild/br-m68k-68040-full.config | 6 +- .../autobuild/br-microblazeel-full.config | 7 +- .../autobuild/br-mips32r6-el-hf-glibc.config | 6 +- .../autobuild/br-mips64-n64-full.config | 4 +- .../autobuild/br-mips64r6-el-hf-glibc.config | 6 +- .../autobuild/br-mipsel-o32-full.config | 6 +- .../autobuild/br-nios2-glibc.config | 6 +- .../autobuild/br-openrisc-uclibc.config | 5 +- .../br-powerpc-603e-basic-cpp.config | 6 +- .../autobuild/br-powerpc-e500mc-full.config | 6 +- .../br-powerpc64-power7-glibc.config | 6 +- .../br-powerpc64le-power8-glibc.config | 6 +- .../autobuild/br-riscv32.config | 8 + .../autobuild/br-riscv64.config | 7 + .../autobuild/br-sh4-full.config | 6 +- .../autobuild/br-sparc-uclibc.config | 6 +- .../autobuild/br-sparc64-glibc.config | 6 +- .../autobuild/br-x86-64-core2-full.config | 6 +- .../autobuild/br-x86-64-musl.config | 6 +- .../autobuild/br-xtensa-full.config | 6 +- .../autobuild/i686-ctng-linux-gnu.config | 10 - .../autobuild/linaro-aarch64-be.config | 3 + .../mips64el-ctng_n32-linux-gnu.config | 9 - .../mips64el-ctng_n64-linux-gnu.config | 11 - .../powerpc-ctng_e500v2-linux-gnuspe.config | 11 - .../autobuild/toolchain-configs.csv | 42 +- .../x86_64-ctng_locales-linux-gnu.config | 11 - .../dependencies/check-host-bison-flex.mk | 10 + .../support/dependencies/check-host-cmake.mk | 11 +- .../support/dependencies/check-host-gzip.mk | 3 + .../support/dependencies/check-host-gzip.sh | 21 + .../support/dependencies/check-host-lzip.mk | 2 +- .../support/dependencies/check-host-make.mk | 21 + .../support/dependencies/check-host-make.sh | 37 + .../support/dependencies/check-host-tar.mk | 2 +- .../support/dependencies/check-host-tar.sh | 9 +- .../support/dependencies/check-host-xzcat.mk | 2 +- .../support/dependencies/dependencies.mk | 20 +- .../support/dependencies/dependencies.sh | 12 + bsp/buildroot/support/docker/Dockerfile | 32 +- bsp/buildroot/support/download/bzr | 25 +- bsp/buildroot/support/download/cvs | 42 +- bsp/buildroot/support/download/dl-wrapper | 180 +- bsp/buildroot/support/download/{cp => file} | 21 +- bsp/buildroot/support/download/git | 185 +- bsp/buildroot/support/download/hg | 25 +- bsp/buildroot/support/download/scp | 24 +- bsp/buildroot/support/download/svn | 25 +- bsp/buildroot/support/download/wget | 27 +- bsp/buildroot/support/kconfig/Makefile | 220 +- .../support/kconfig/README.buildroot | 7 +- bsp/buildroot/support/kconfig/check.sh | 2 +- bsp/buildroot/support/kconfig/conf.c | 127 +- bsp/buildroot/support/kconfig/confdata.c | 40 +- bsp/buildroot/support/kconfig/expr.c | 479 ++-- bsp/buildroot/support/kconfig/expr.h | 107 +- bsp/buildroot/support/kconfig/gconf.c | 33 +- bsp/buildroot/support/kconfig/kconf_id.c | 53 + bsp/buildroot/support/kconfig/kxgettext.c | 2 +- bsp/buildroot/support/kconfig/list.h | 7 +- bsp/buildroot/support/kconfig/lkc.h | 21 +- bsp/buildroot/support/kconfig/lkc_proto.h | 86 +- .../kconfig/lxdialog/check-lxdialog.sh | 4 +- .../support/kconfig/lxdialog/checklist.c | 4 +- .../support/kconfig/lxdialog/dialog.h | 2 +- .../support/kconfig/lxdialog/inputbox.c | 2 +- .../support/kconfig/lxdialog/menubox.c | 4 +- bsp/buildroot/support/kconfig/lxdialog/util.c | 2 +- bsp/buildroot/support/kconfig/mconf.c | 40 +- bsp/buildroot/support/kconfig/menu.c | 261 ++- bsp/buildroot/support/kconfig/merge_config.sh | 64 +- bsp/buildroot/support/kconfig/nconf.c | 20 +- bsp/buildroot/support/kconfig/nconf.gui.c | 22 +- bsp/buildroot/support/kconfig/nconf.h | 4 +- .../01-kconfig-kernel-to-buildroot.patch | 66 +- .../06-br-build-system-integration.patch | 89 +- .../kconfig/patches/10-br-build-system.patch | 8 +- .../patches/11-use-mktemp-for-lxdialog.patch | 8 +- .../patches/12-fix-glade-file-path.patch | 8 +- .../14-support-out-of-tree-config.patch | 42 +- .../patches/15-fix-qconf-moc-rule.patch | 24 - .../16-fix-space-to-de-select-options.patch | 8 +- .../kconfig/patches/17-backport-kecho.patch | 26 + ...g-get-ncurses-CFLAGS-with-pkg-config.patch | 50 - ...-nconfig-fix-multi-byte-UTF-handling.patch | 45 - ...fig.sh-create-temporary-files-in-tmp.patch | 27 + ...e_config.sh-add-br2-external-support.patch | 47 + ...fig.sh-Allow-to-define-config-prefix.patch | 31 + ...-positive-matches-from-comment-lines.patch | 32 + bsp/buildroot/support/kconfig/patches/series | 8 +- bsp/buildroot/support/kconfig/qconf.cc | 702 +++--- bsp/buildroot/support/kconfig/qconf.h | 150 +- .../support/kconfig/streamline_config.pl | 58 +- bsp/buildroot/support/kconfig/symbol.c | 167 +- bsp/buildroot/support/kconfig/util.c | 34 +- bsp/buildroot/support/kconfig/zconf.gperf | 47 - .../support/kconfig/zconf.hash.c_shipped | 286 --- bsp/buildroot/support/kconfig/zconf.l | 103 +- .../support/kconfig/zconf.lex.c_shipped | 1200 +++++----- .../support/kconfig/zconf.tab.c_shipped | 1890 ++++++++-------- bsp/buildroot/support/kconfig/zconf.y | 149 +- bsp/buildroot/support/misc/Vagrantfile | 4 +- .../support/misc/toolchainfile.cmake.in | 3 + bsp/buildroot/support/scripts/brpkgutil.py | 13 +- bsp/buildroot/support/scripts/check-bin-arch | 4 + .../support/scripts/check-host-rpath | 15 +- .../support/scripts/check-merged-usr.sh | 39 + .../support/scripts/check-uniq-files | 1 - .../support/scripts/generate-gitlab-ci-yml | 17 + .../support/scripts/graph-build-time | 8 +- bsp/buildroot/support/scripts/graph-depends | 329 +-- bsp/buildroot/support/scripts/pkg-stats | 1049 +++++---- bsp/buildroot/support/scripts/setlocalversion | 2 +- bsp/buildroot/support/scripts/xorg-release | 180 -- .../testing/conf/docker-compose-kernel.config | 103 + .../support/testing/conf/docker-compose.yml | 4 + .../testing/conf/f2fs-kernel-fragment.config | 5 + .../support/testing/infra/__init__.py | 6 +- .../support/testing/infra/basetest.py | 31 +- .../support/testing/infra/builder.py | 48 +- bsp/buildroot/support/testing/run-tests | 43 +- .../support/testing/tests/boot/test_atf.py | 6 +- .../testing/tests/core/test_hardening.py | 110 + .../testing/tests/core/test_post_scripts.py | 23 +- .../testing/tests/download/__init__.py} | 0 .../download/br2-external/git-hash/Config.in | 0 .../br2-external/git-hash/external.desc | 1 + .../br2-external/git-hash/external.mk | 4 + .../git-hash/package/bad/bad.hash | 1 + .../br2-external/git-hash/package/bad/bad.mk | 10 + .../git-hash/package/good/good.hash | 1 + .../git-hash/package/good/good.mk | 10 + .../git-hash/package/nohash/nohash.mk | 10 + .../download/br2-external/git-refs/Config.in | 0 .../br2-external/git-refs/external.desc | 1 + .../br2-external/git-refs/external.mk | 4 + .../git-partial-sha1-branch-head.hash | 2 + .../git-partial-sha1-branch-head.mk | 11 + .../git-partial-sha1-reachable-by-branch.hash | 2 + .../git-partial-sha1-reachable-by-branch.mk | 11 + .../git-partial-sha1-reachable-by-tag.hash | 2 + .../git-partial-sha1-reachable-by-tag.mk | 11 + .../git-partial-sha1-tag-itself.hash | 2 + .../git-partial-sha1-tag-itself.mk | 11 + .../git-partial-sha1-tag-points-to.hash | 2 + .../git-partial-sha1-tag-points-to.mk | 11 + .../git-sha1-branch-head.hash | 2 + .../git-sha1-branch-head.mk | 11 + .../git-sha1-reachable-by-branch.hash | 2 + .../git-sha1-reachable-by-branch.mk | 11 + .../git-sha1-reachable-by-tag.hash | 2 + .../git-sha1-reachable-by-tag.mk | 11 + .../git-sha1-tag-itself.hash | 2 + .../git-sha1-tag-itself.mk | 11 + .../git-sha1-tag-points-to.hash | 2 + .../git-sha1-tag-points-to.mk | 11 + .../git-submodule-disabled.hash | 2 + .../git-submodule-disabled.mk | 11 + .../git-submodule-enabled.hash | 1 + .../git-submodule-enabled.mk | 11 + .../git-refs/package/git-tag/git-tag.hash | 2 + .../git-refs/package/git-tag/git-tag.mk | 11 + .../git-wrong-content/git-wrong-content.hash | 2 + .../git-wrong-content/git-wrong-content.mk | 11 + .../package/git-wrong-sha1/git-wrong-sha1.mk | 11 + .../git-remote/refs-sub1.git/.gitattributes | 1 + .../download/git-remote/refs-sub1.git/HEAD | 1 + .../download/git-remote/refs-sub1.git/config | 4 + .../07/cabc655213bdf7087d8dd50fda95124e935570 | Bin 0 -> 22 bytes .../1d/f823cb8a6d1866148ae50a8009762a9c4c777f | Bin 0 -> 180 bytes .../7d/52f458bdb0f9f5a4beb46fa82824421b8b988e | Bin 0 -> 65 bytes .../99/f2e3e1cb15f9b52fa29f66d380dda061d917ab | Bin 0 -> 49 bytes .../a1/30af1626bbadd64841b2cbcb6ac4ed0638ba1a | Bin 0 -> 122 bytes .../bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 | Bin 0 -> 22 bytes .../cb/545facf77bbc5f24f95b6d503c338d10b7b717 | 1 + .../dd/130f6f4629514adaf2e03407f3ed9344eb6cd6 | Bin 0 -> 122 bytes .../e7/9c5e8f964493290a409888d5413a737e8e5dd5 | Bin 0 -> 23 bytes .../f8/001e5780100962a5e30a25cbc4c9609cfc7bf3 | Bin 0 -> 184 bytes .../refs-sub1.git/refs/heads/submodule | 1 + .../git-remote/refs-sub2.git/.gitattributes | 1 + .../download/git-remote/refs-sub2.git/HEAD | 1 + .../download/git-remote/refs-sub2.git/config | 4 + .../0a/846af45c3e455789435f49f80d70e86b65b9d7 | Bin 0 -> 22 bytes .../0b/32ebd8fc52cec991f18c94be980e85a8341585 | Bin 0 -> 22 bytes .../32/d61bae693af7879da63b89a60d3ae67f851e56 | 1 + .../3e/9b0a5198c64cea9c00f820433411e3b4d50c1c | Bin 0 -> 48 bytes .../85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 | Bin 0 -> 49 bytes .../99/f2e3e1cb15f9b52fa29f66d380dda061d917ab | Bin 0 -> 49 bytes .../cd/4d62ff218ab7b4a04f5bfdf800ace087af3ceb | 2 + .../e7/9c5e8f964493290a409888d5413a737e8e5dd5 | Bin 0 -> 23 bytes .../e8/3f6f805bd016b90acafc8702c52d778eb57310 | Bin 0 -> 182 bytes .../refs-sub2.git/refs/heads/submodule | 1 + .../git-remote/repo.git/.gitattributes | 1 + .../tests/download/git-remote/repo.git/HEAD | 1 + .../tests/download/git-remote/repo.git/config | 4 + .../0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 | Bin 0 -> 22 bytes .../11/93ff46343f4f6a0522e2b28b871e905178c1f0 | Bin 0 -> 23 bytes .../25/59d83bfe937fc0412d96ed664663c9e8a99055 | Bin 0 -> 22 bytes .../2b/0e0d98a49c97da6a618ab36337e2058eb733a2 | 1 + .../2f/a37f6885d7eb746df75eccaddbacf3ac82799d | Bin 0 -> 180 bytes .../31/7406308d9259e2231bd0d6ddad3de3832bce08 | 1 + .../34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 | Bin 0 -> 23 bytes .../46/bae5b639e5a18e2cc4dc508f080d566baeff59 | 1 + .../51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 | 2 + .../68/c197d0879d485f4f6cee85544722b79e68e59f | 1 + .../8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 | Bin 0 -> 65 bytes .../92/ef85be57d627f280d8ce3724452ac21c9a6452 | Bin 0 -> 20 bytes .../99/f2e3e1cb15f9b52fa29f66d380dda061d917ab | Bin 0 -> 49 bytes .../a2/38b1dfcd825d47d834af3c5223417c8411d90d | 1 + .../a9/dbc1e23c45e8e1b88c0448763f54d714eb6f8f | Bin 0 -> 183 bytes .../b2/4b387624edc78d0292a127c43cad9ba97c6232 | Bin 0 -> 49 bytes .../cf/0f4f85d7a1237e377a2d25b996518a877ea001 | Bin 0 -> 49 bytes .../d4/e2941d18a63535400476324ddeb7f40164be41 | Bin 0 -> 121 bytes .../e2/2695cbf976fed1f543ad7486a531c0af473482 | Bin 0 -> 49 bytes .../e2/cfe068f7e5bf4de32ffe1241da53abce9fa89e | Bin 0 -> 49 bytes .../e7/9c5e8f964493290a409888d5413a737e8e5dd5 | Bin 0 -> 23 bytes .../f6/476b879f65e956d7dedd5b08736369e9a24acc | Bin 0 -> 20 bytes .../fe/74231105841041d5f441e70399d37f0e600aa5 | Bin 0 -> 121 bytes .../git-remote/repo.git/refs/heads/master | 1 + .../git-remote/repo.git/refs/heads/mybranch | 1 + .../git-remote/repo.git/refs/heads/submodule | 1 + .../git-remote/repo.git/refs/tags/mytag | 1 + .../testing/tests/download/gitremote.py | 46 + .../testing/tests/download/test_git.py | 81 + .../support/testing/tests/fs/test_f2fs.py | 51 + .../package/copy-sample-script-to-target.sh | 7 + .../tests/package/sample_python_argh.py | 10 + .../tests/package/sample_python_attrs.py | 15 + .../tests/package/sample_python_autobahn.py | 1 + .../tests/package/sample_python_automat.py | 27 + .../tests/package/sample_python_bitstring.py | 6 + .../tests/package/sample_python_cbor_dec.py | 10 + .../tests/package/sample_python_cbor_enc.py | 14 + .../tests/package/sample_python_click.py | 12 + .../tests/package/sample_python_constantly.py | 19 + .../tests/package/sample_python_crossbar.py | 3 + .../package/sample_python_cryptography.py | 3 + .../package/sample_python_incremental.py | 3 + .../tests/package/sample_python_passlib.py | 5 + .../tests/package/sample_python_pexpect.py | 8 + .../tests/package/sample_python_pynacl.py | 3 + .../tests/package/sample_python_pyyaml_dec.py | 10 + .../tests/package/sample_python_pyyaml_enc.py | 14 + .../package/sample_python_service_identity.py | 2 + .../package/sample_python_subprocess32.py | 6 + .../tests/package/sample_python_treq.py | 16 + .../tests/package/sample_python_twisted.py | 9 + .../package/sample_python_txaio_asyncio.py | 3 + .../package/sample_python_txaio_twisted.py | 3 + .../tests/package/sample_python_txtorcon.py | 1 + .../tests/package/sample_python_ubjson_dec.py | 10 + .../tests/package/sample_python_ubjson_enc.py | 14 + .../testing/tests/package/test_atop.py | 40 + .../tests/package/test_docker_compose.py | 63 + .../testing/tests/package/test_dropbear.py | 17 +- .../support/testing/tests/package/test_lua.py | 59 + .../testing/tests/package/test_perl.py | 66 + .../tests/package/test_perl_class_load.py | 28 + .../tests/package/test_perl_dbd_mysql.py | 21 + .../tests/package/test_perl_encode_detect.py | 20 + .../tests/package/test_perl_gdgraph.py | 22 + .../package/test_perl_io_socket_multicast.py | 21 + .../tests/package/test_perl_io_socket_ssl.py | 21 + .../tests/package/test_perl_libwww_perl.py | 41 + .../tests/package/test_perl_mail_dkim.py | 28 + .../testing/tests/package/test_perl_x10.py | 22 + .../tests/package/test_perl_xml_libxml.py | 22 + .../testing/tests/package/test_prosody.py | 48 + .../testing/tests/package/test_python.py | 55 + .../testing/tests/package/test_python_argh.py | 45 + .../tests/package/test_python_attrs.py | 21 + .../tests/package/test_python_autobahn.py | 21 + .../tests/package/test_python_automat.py | 23 + .../tests/package/test_python_bitstring.py | 21 + .../testing/tests/package/test_python_cbor.py | 23 + .../tests/package/test_python_click.py | 44 + .../tests/package/test_python_constantly.py | 21 + .../tests/package/test_python_crossbar.py | 14 + .../tests/package/test_python_cryptography.py | 23 + .../tests/package/test_python_incremental.py | 23 + .../tests/package/test_python_passlib.py | 23 + .../tests/package/test_python_pexpect.py | 21 + .../tests/package/test_python_pynacl.py | 27 + .../tests/package/test_python_pyyaml.py | 23 + .../package/test_python_service_identity.py | 23 + .../tests/package/test_python_subprocess32.py | 11 + .../testing/tests/package/test_python_treq.py | 29 + .../tests/package/test_python_twisted.py | 39 + .../tests/package/test_python_txaio.py | 22 + .../tests/package/test_python_txtorcon.py | 23 + .../tests/package/test_python_ubjson.py | 23 + .../testing/tests/package/test_rust.py | 78 +- .../testing/tests/package/test_syslog_ng.py | 34 + bsp/buildroot/system/Config.in | 169 +- bsp/buildroot/system/skeleton/dev/fd | 1 + bsp/buildroot/system/skeleton/dev/stderr | 1 + bsp/buildroot/system/skeleton/dev/stdin | 1 + bsp/buildroot/system/skeleton/dev/stdout | 1 + bsp/buildroot/system/skeleton/etc/profile | 2 +- bsp/buildroot/system/system.mk | 4 + bsp/buildroot/toolchain/Config.in | 560 ++++- bsp/buildroot/toolchain/helpers.mk | 9 +- .../toolchain/toolchain-buildroot/Config.in | 10 +- bsp/buildroot/toolchain/toolchain-common.in | 469 ---- .../toolchain/toolchain-external/Config.in | 27 +- .../pkg-toolchain-external.mk | 69 +- .../Config.in | 19 + .../Config.in.options | 9 + .../toolchain-external-arm-aarch64-be.hash | 4 + .../toolchain-external-arm-aarch64-be.mk | 12 + .../toolchain-external-arm-aarch64/Config.in | 19 + .../Config.in.options | 9 + .../toolchain-external-arm-aarch64.hash | 4 + .../toolchain-external-arm-aarch64.mk | 12 + .../toolchain-external-arm-arm/Config.in | 30 + .../Config.in.options | 9 + .../toolchain-external-arm-arm.hash | 4 + .../toolchain-external-arm-arm.mk | 12 + .../Config.in | 20 +- ...toolchain-external-codescape-img-mips.hash | 8 +- .../toolchain-external-codescape-img-mips.mk | 8 +- .../Config.in | 20 +- ...toolchain-external-codescape-mti-mips.hash | 8 +- .../toolchain-external-codescape-mti-mips.mk | 8 +- .../Config.in | 1 + .../Config.in | 13 +- ...oolchain-external-codesourcery-niosII.hash | 10 +- .../toolchain-external-codesourcery-niosII.mk | 2 +- .../Config.in.options | 58 +- .../Config.in | 15 + .../Config.in.options | 9 + .../toolchain-external-linaro-aarch64-be.hash | 3 + .../toolchain-external-linaro-aarch64-be.mk | 16 + .../Config.in | 2 +- .../toolchain-external-linaro-aarch64.hash | 4 +- .../toolchain-external-linaro-aarch64.mk | 8 +- .../toolchain-external-linaro-arm/Config.in | 6 +- .../toolchain-external-linaro-arm.hash | 4 +- .../toolchain-external-linaro-arm.mk | 8 +- .../toolchain-external-linaro-armeb/Config.in | 6 +- .../toolchain-external-linaro-armeb.hash | 4 +- .../toolchain-external-linaro-armeb.mk | 8 +- .../toolchain-external-synopsys-arc/Config.in | 8 +- .../toolchain-external-synopsys-arc.hash | 10 +- .../toolchain-external-synopsys-arc.mk | 2 +- bsp/buildroot/toolchain/toolchain-wrapper.c | 91 +- bsp/buildroot/toolchain/toolchain-wrapper.mk | 20 +- bsp/buildroot/toolchain/toolchain.mk | 32 +- .../toolchain/toolchain/toolchain.mk | 13 +- bsp/buildroot/utils/check-package | 57 +- bsp/buildroot/utils/checkpackagelib/base.py | 2 + bsp/buildroot/utils/checkpackagelib/lib.py | 2 +- .../utils/checkpackagelib/lib_config.py | 16 +- .../utils/checkpackagelib/lib_hash.py | 10 +- bsp/buildroot/utils/checkpackagelib/lib_mk.py | 101 +- .../utils/checkpackagelib/lib_patch.py | 4 +- bsp/buildroot/utils/genrandconfig | 49 +- bsp/buildroot/utils/get-developers | 15 +- bsp/buildroot/utils/getdeveloperlib.py | 2 - bsp/buildroot/utils/scancpan | 240 +- bsp/buildroot/utils/scanpypi | 109 +- bsp/buildroot/utils/size-stats-compare | 7 +- bsp/buildroot/utils/test-pkg | 60 +- 5121 files changed, 78550 insertions(+), 46132 deletions(-) create mode 100644 bsp/buildroot/.flake8 create mode 100644 bsp/buildroot/.gitlab-ci.yml create mode 100644 bsp/buildroot/.gitlab-ci.yml.in delete mode 100644 bsp/buildroot/arch/Config.in.bfin create mode 100644 bsp/buildroot/arch/Config.in.riscv create mode 100644 bsp/buildroot/arch/arch.mk create mode 100644 bsp/buildroot/arch/arch.mk.riscv rename bsp/buildroot/board/{pc => aarch64-efi}/genimage-efi.cfg (85%) create mode 100644 bsp/buildroot/board/aarch64-efi/grub.cfg create mode 100755 bsp/buildroot/board/aarch64-efi/post-image.sh create mode 100644 bsp/buildroot/board/aarch64-efi/readme.txt create mode 100644 bsp/buildroot/board/amarula/a64-relic/extlinux.conf create mode 100644 bsp/buildroot/board/amarula/a64-relic/genimage.cfg create mode 100755 bsp/buildroot/board/amarula/a64-relic/post-build.sh create mode 100644 bsp/buildroot/board/amarula/a64-relic/readme.txt create mode 100644 bsp/buildroot/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt create mode 100644 bsp/buildroot/board/amarula/vyasa/extlinux.conf create mode 100644 bsp/buildroot/board/amarula/vyasa/genimage.cfg create mode 100644 bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment create mode 100755 bsp/buildroot/board/amarula/vyasa/post-build.sh create mode 100644 bsp/buildroot/board/amarula/vyasa/readme.txt create mode 100755 bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh create mode 100644 bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt create mode 100755 bsp/buildroot/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload create mode 100644 bsp/buildroot/board/asus/tinker/extlinux.conf create mode 100644 bsp/buildroot/board/asus/tinker/genimage.cfg create mode 100755 bsp/buildroot/board/asus/tinker/post-build.sh create mode 100644 bsp/buildroot/board/asus/tinker/readme.txt create mode 100644 bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd create mode 100644 bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg create mode 100644 bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt delete mode 100644 bsp/buildroot/board/boundarydevices/common/6x_bootscript.txt delete mode 100644 bsp/buildroot/board/boundarydevices/common/6x_upgrade.txt rename bsp/buildroot/board/chromebook/snow/{linux-4.6-dts-tpm.patch => linux-4.15-dts-tpm.patch} (100%) rename bsp/buildroot/board/chromebook/snow/{linux-4.6.fragment => linux-4.15.fragment} (100%) create mode 100644 bsp/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch create mode 100644 bsp/buildroot/board/csky/gx6605s/patches/linux/0001-csky-update-cmdline-for-serial-console-and-rootfs-on.patch delete mode 100755 bsp/buildroot/board/digilent/zybo/post-image.sh delete mode 100644 bsp/buildroot/board/digilent/zybo/readme.txt delete mode 100644 bsp/buildroot/board/digilent/zybo/uEnv.txt create mode 100644 bsp/buildroot/board/embest/riotboard/genimage.cfg create mode 100644 bsp/buildroot/board/embest/riotboard/readme.txt create mode 100644 bsp/buildroot/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf create mode 100644 bsp/buildroot/board/freescale/common/imx/genimage.cfg.template_imx8 create mode 100755 bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh create mode 100644 bsp/buildroot/board/freescale/imx7dsdb/patches/uboot/0001-imx-Create-distinct-pre-processed-mkimage-config-fil.patch create mode 100644 bsp/buildroot/board/freescale/imx8mqevk/readme.txt create mode 100644 bsp/buildroot/board/freescale/p1025twr/readme.txt create mode 100644 bsp/buildroot/board/freescale/t1040d4rdb/readme.txt delete mode 100644 bsp/buildroot/board/gdb/bfin-bf512/linux.config delete mode 100644 bsp/buildroot/board/gdb/bfin-bf512/readme.txt delete mode 100755 bsp/buildroot/board/gdb/post-build.sh create mode 100644 bsp/buildroot/board/hardkernel/odroidxu4/boot.ini create mode 100644 bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg create mode 100755 bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh create mode 100644 bsp/buildroot/board/hardkernel/odroidxu4/readme.txt delete mode 100644 bsp/buildroot/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch create mode 120000 bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd create mode 120000 bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg create mode 120000 bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh create mode 100644 bsp/buildroot/board/olimex/a10_olinuxino/readme.txt rename bsp/buildroot/board/olimex/a20_olinuxino/{boot-mali.cmd => boot-legacy.cmd} (100%) create mode 100644 bsp/buildroot/board/orangepi/orangepi-lite2/extlinux.conf create mode 100644 bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg create mode 100755 bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh create mode 100644 bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt create mode 100755 bsp/buildroot/board/orangepi/orangepi-lite2/rootfs_overlay/lib/firmware/brcm/brcmfmac43455-sdio.txt create mode 100644 bsp/buildroot/board/orangepi/orangepi-one-plus/extlinux.conf create mode 100644 bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg create mode 100755 bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh create mode 100644 bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt create mode 100644 bsp/buildroot/board/orangepi/orangepi-pc/linux.fragment create mode 100644 bsp/buildroot/board/orangepi/orangepi-zero-plus2/linux-extras.config delete mode 100644 bsp/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch create mode 100644 bsp/buildroot/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt mode change 100755 => 100644 bsp/buildroot/board/pc/grub-efi.cfg create mode 100755 bsp/buildroot/board/pc/post-build.sh create mode 100755 bsp/buildroot/board/pc/post-image-efi-gpt.sh delete mode 100755 bsp/buildroot/board/pc/post-image.sh create mode 100644 bsp/buildroot/board/pine64/rock64/extlinux.conf create mode 100644 bsp/buildroot/board/pine64/rock64/genimage.cfg create mode 100644 bsp/buildroot/board/pine64/rock64/patches/uboot/0001-Makefile-rk3328-needs-itb-image-to-boot-properly.patch create mode 100755 bsp/buildroot/board/pine64/rock64/post-build.sh create mode 100644 bsp/buildroot/board/pine64/rock64/readme.txt rename bsp/buildroot/board/qemu/aarch64-virt/{linux-4.13.config => linux.config} (97%) rename bsp/buildroot/board/qemu/arm-versatile/{linux-4.4-nommu.config => linux-nommu.config} (94%) rename bsp/buildroot/board/qemu/arm-versatile/{linux-4.13.config => linux.config} (100%) rename bsp/buildroot/board/qemu/m68k-mcf5208/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/m68k-q800/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/microblazebe-mmu/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/microblazeel-mmu/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips32r2-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips32r2el-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips32r6-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips32r6el-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips64-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips64el-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips64r6-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/mips64r6el-malta/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/nios2-10m50/{linux-4.11.fragment => linux.fragment} (100%) rename bsp/buildroot/board/qemu/ppc-g3beige/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/ppc-mpc8544ds/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/ppc-virtex-ml507/{linux-4.9.config => linux.config} (100%) create mode 100644 bsp/buildroot/board/qemu/ppc64-e5500/linux.fragment create mode 100644 bsp/buildroot/board/qemu/ppc64-e5500/readme.txt create mode 100644 bsp/buildroot/board/qemu/riscv32-virt/linux.config create mode 100644 bsp/buildroot/board/qemu/riscv32-virt/readme.txt create mode 100644 bsp/buildroot/board/qemu/riscv64-virt/readme.txt rename bsp/buildroot/board/qemu/sh4-r2d/{linux-4.9.config => linux.config} (100%) create mode 100644 bsp/buildroot/board/qemu/sh4-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch rename bsp/buildroot/board/qemu/sh4eb-r2d/{linux-4.9.config => linux.config} (100%) create mode 100644 bsp/buildroot/board/qemu/sh4eb-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch rename bsp/buildroot/board/qemu/sparc-ss10/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/sparc64-sun4u/{linux-4.11.config => linux.config} (100%) rename bsp/buildroot/board/qemu/x86/{linux-4.15.config => linux.config} (100%) rename bsp/buildroot/board/qemu/x86_64/{linux-4.15.config => linux.config} (100%) rename bsp/buildroot/board/qemu/xtensa-lx60/{linux-4.11-nommu.config => linux-nommu.config} (96%) rename bsp/buildroot/board/qemu/xtensa-lx60/{linux-4.11.config => linux.config} (100%) create mode 100644 bsp/buildroot/board/raspberrypi/genimage-raspberrypi0w.cfg create mode 120000 bsp/buildroot/board/raspberrypi0w create mode 100644 bsp/buildroot/board/sheevaplug/readme.txt create mode 100644 bsp/buildroot/board/solidrun/clearfog/extlinux.conf create mode 100644 bsp/buildroot/board/solidrun/clearfog/genimage.cfg create mode 100644 bsp/buildroot/board/solidrun/clearfog/linux.fragment create mode 100755 bsp/buildroot/board/solidrun/clearfog/post-build.sh create mode 100644 bsp/buildroot/board/solidrun/clearfog/readme.txt create mode 100644 bsp/buildroot/board/solidrun/macchiatobin/extlinux.conf create mode 100755 bsp/buildroot/board/solidrun/macchiatobin/post-build-mainline.sh create mode 100644 bsp/buildroot/board/solidrun/macchiatobin/uboot-fragment.config delete mode 100644 bsp/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab delete mode 100644 bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch delete mode 100644 bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch create mode 100755 bsp/buildroot/board/synopsys/axs10x/post-build.sh rename bsp/buildroot/board/{digilent/zybo => synopsys/hsdk}/genimage.cfg (70%) create mode 100644 bsp/buildroot/board/synopsys/hsdk/linux.fragment create mode 100644 bsp/buildroot/board/synopsys/hsdk/readme.txt create mode 100644 bsp/buildroot/board/synopsys/hsdk/uboot.env.txt delete mode 100644 bsp/buildroot/board/technexion/imx6ulpico/linux.fragment create mode 100644 bsp/buildroot/board/technexion/imx7dpico/patches/uboot/0001-picomx7dname.patch create mode 100644 bsp/buildroot/board/zynqmp/genimage.cfg create mode 100644 bsp/buildroot/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch create mode 100644 bsp/buildroot/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch create mode 100644 bsp/buildroot/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch create mode 100644 bsp/buildroot/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch create mode 100755 bsp/buildroot/board/zynqmp/post-image.sh create mode 100644 bsp/buildroot/board/zynqmp/readme.txt create mode 100644 bsp/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch create mode 100644 bsp/buildroot/boot/riscv-pk/Config.in create mode 100644 bsp/buildroot/boot/riscv-pk/riscv-pk.mk create mode 100644 bsp/buildroot/boot/shim/Config.in create mode 100644 bsp/buildroot/boot/shim/shim.hash create mode 100644 bsp/buildroot/boot/shim/shim.mk create mode 100644 bsp/buildroot/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch create mode 100644 bsp/buildroot/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch create mode 100644 bsp/buildroot/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch delete mode 100644 bsp/buildroot/boot/xloader/Config.in delete mode 100644 bsp/buildroot/boot/xloader/xloader.mk create mode 100644 bsp/buildroot/configs/aarch64_efi_defconfig create mode 100644 bsp/buildroot/configs/amarula_a64_relic_defconfig create mode 100644 bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig create mode 100644 bsp/buildroot/configs/arcturus_ucls1012a_defconfig create mode 100644 bsp/buildroot/configs/asus_tinker_rk3288_defconfig create mode 100644 bsp/buildroot/configs/bananapi_m2_ultra_defconfig create mode 100644 bsp/buildroot/configs/freescale_imx8mqevk_defconfig create mode 100644 bsp/buildroot/configs/freescale_p1025twr_defconfig create mode 100644 bsp/buildroot/configs/freescale_t1040d4rdb_defconfig delete mode 100644 bsp/buildroot/configs/gdb_bfin_bf512_defconfig create mode 100644 bsp/buildroot/configs/imx7d-sdb_defconfig create mode 100644 bsp/buildroot/configs/nitrogen8m_defconfig create mode 100644 bsp/buildroot/configs/odroidxu4_defconfig create mode 100644 bsp/buildroot/configs/olimex_a10_olinuxino_lime_defconfig rename bsp/buildroot/configs/{olimex_a20_olinuxino_lime_mali_defconfig => olimex_a20_olinuxino_lime_legacy_defconfig} (78%) create mode 100644 bsp/buildroot/configs/orangepi_lite2_defconfig create mode 100644 bsp/buildroot/configs/orangepi_one_plus_defconfig create mode 100644 bsp/buildroot/configs/qemu_ppc64_e5500_defconfig create mode 100644 bsp/buildroot/configs/qemu_riscv32_virt_defconfig create mode 100644 bsp/buildroot/configs/qemu_riscv64_virt_defconfig create mode 100644 bsp/buildroot/configs/raspberrypi0w_defconfig create mode 100644 bsp/buildroot/configs/riotboard_defconfig create mode 100644 bsp/buildroot/configs/rock64_defconfig create mode 100644 bsp/buildroot/configs/snps_archs38_hsdk_defconfig create mode 100644 bsp/buildroot/configs/solidrun_clearfog_defconfig delete mode 100644 bsp/buildroot/configs/zynq_zybo_defconfig create mode 100644 bsp/buildroot/configs/zynqmp_zcu106_defconfig create mode 100644 bsp/buildroot/docs/manual/adding-packages-golang.txt create mode 100644 bsp/buildroot/docs/website/association.html create mode 100644 bsp/buildroot/docs/website/favicon.png create mode 100644 bsp/buildroot/docs/website/images/amarula-solutions-logo.png create mode 100644 bsp/buildroot/docs/website/images/bootlin-logo.png create mode 100644 bsp/buildroot/docs/website/images/logilin-logo.png delete mode 100644 bsp/buildroot/docs/website/images/owi-smile-logo.png create mode 100644 bsp/buildroot/docs/website/images/rockwell-collins-logo.png create mode 100644 bsp/buildroot/docs/website/images/scaleway-logo.png create mode 100644 bsp/buildroot/docs/website/images/smile-logo.png create mode 100644 bsp/buildroot/docs/website/images/tkos-logo.png create mode 100644 bsp/buildroot/docs/website/images/zillabit-logo.png create mode 100644 bsp/buildroot/fs/btrfs/Config.in create mode 100644 bsp/buildroot/fs/btrfs/btrfs.mk create mode 100644 bsp/buildroot/fs/f2fs/Config.in create mode 100644 bsp/buildroot/fs/f2fs/f2fs.mk rename bsp/buildroot/fs/yaffs2/{yaffs.mk => yaffs2.mk} (100%) create mode 100644 bsp/buildroot/linux/linux.hash create mode 100644 bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.hash create mode 100644 bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.mk create mode 100644 bsp/buildroot/package/18xx-ti-utils/Config.in create mode 100644 bsp/buildroot/package/abootimg/Config.in create mode 100644 bsp/buildroot/package/abootimg/abootimg.hash create mode 100644 bsp/buildroot/package/abootimg/abootimg.mk mode change 100755 => 100644 bsp/buildroot/package/acpid/S02acpid create mode 100644 bsp/buildroot/package/acpid/acpid.service delete mode 100644 bsp/buildroot/package/aircrack-ng/0001-stack-protector.patch create mode 100644 bsp/buildroot/package/alsa-lib/0001-Don-t-use-fork-on-noMMU-platforms.patch delete mode 100644 bsp/buildroot/package/alsa-lib/0001-no-mmu.patch rename bsp/buildroot/package/alsa-lib/{0003-conditional-enabling-of-libdl-in-m4.patch => 0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch} (62%) delete mode 100644 bsp/buildroot/package/alsa-lib/0002-dlmisc.patch create mode 100644 bsp/buildroot/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch create mode 100644 bsp/buildroot/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch create mode 100644 bsp/buildroot/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch create mode 100644 bsp/buildroot/package/apache/S50apache create mode 100644 bsp/buildroot/package/apache/apache.service delete mode 100644 bsp/buildroot/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch rename bsp/buildroot/package/asterisk/{0002-sounds-do-not-download-and-check-sha1s.patch => 0001-sounds-do-not-download-and-check-sha1s.patch} (100%) rename bsp/buildroot/package/asterisk/{0003-configure-fix-detection-of-libcrypt.patch => 0002-configure-fix-detection-of-libcrypt.patch} (100%) rename bsp/buildroot/package/asterisk/{0004-build-ensure-target-directory-for-modules-exists.patch => 0003-build-ensure-target-directory-for-modules-exists.patch} (100%) rename bsp/buildroot/package/asterisk/{0005-install-samples-need-the-data-files.patch => 0004-install-samples-need-the-data-files.patch} (100%) create mode 100644 bsp/buildroot/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch delete mode 100644 bsp/buildroot/package/asterisk/0006-build-fix-issues-building-without-ssl.patch create mode 100644 bsp/buildroot/package/at-spi2-atk/Config.in create mode 100644 bsp/buildroot/package/at-spi2-atk/at-spi2-atk.hash create mode 100644 bsp/buildroot/package/at-spi2-atk/at-spi2-atk.mk create mode 100644 bsp/buildroot/package/at-spi2-core/Config.in create mode 100644 bsp/buildroot/package/at-spi2-core/at-spi2-core.hash create mode 100644 bsp/buildroot/package/at-spi2-core/at-spi2-core.mk mode change 100755 => 100644 bsp/buildroot/package/at/S99at create mode 100644 bsp/buildroot/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch create mode 100644 bsp/buildroot/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch delete mode 100644 bsp/buildroot/package/autossh/0001-honour-LDFLAGS.patch mode change 100755 => 100644 bsp/buildroot/package/avahi/S05avahi-setup.sh mode change 100755 => 100644 bsp/buildroot/package/avahi/S50avahi-daemon create mode 100644 bsp/buildroot/package/avahi/avahi_sysusers.conf create mode 100644 bsp/buildroot/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch create mode 100644 bsp/buildroot/package/bash-completion/Config.in create mode 100644 bsp/buildroot/package/bash-completion/bash-completion.hash create mode 100644 bsp/buildroot/package/bash-completion/bash-completion.mk delete mode 100644 bsp/buildroot/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch create mode 100644 bsp/buildroot/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch delete mode 100644 bsp/buildroot/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch create mode 100644 bsp/buildroot/package/berkeleydb/0002-atomic_compare_exchange.patch delete mode 100644 bsp/buildroot/package/binutils/2.27/0905-bfin-rofixup-bug.patch delete mode 100644 bsp/buildroot/package/binutils/2.28.1/0905-bfin-rofixup-bug.patch delete mode 100644 bsp/buildroot/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch create mode 100644 bsp/buildroot/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch delete mode 100644 bsp/buildroot/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch create mode 100644 bsp/buildroot/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch create mode 100644 bsp/buildroot/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch create mode 100644 bsp/buildroot/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch create mode 100644 bsp/buildroot/package/binutils/2.31.1/0001-sh-conf.patch rename bsp/buildroot/package/binutils/{arc-2017.09-release => 2.31.1}/0005-poison-system-directories.patch (89%) create mode 100644 bsp/buildroot/package/binutils/2.31.1/0006-Refactored-location-where-GOT-information-is-collect.patch create mode 100644 bsp/buildroot/package/binutils/2.31.1/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch create mode 100644 bsp/buildroot/package/binutils/2.31.1/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch create mode 100644 bsp/buildroot/package/binutils/2.31.1/0009-PLT-information-was-still-being-generated-when-symbo.patch create mode 100644 bsp/buildroot/package/binutils/2.31.1/0010-xtensa-fix-relaxation-of-undefined-weak-references-i.patch create mode 100644 bsp/buildroot/package/binutils/2.31.1/0011-xtensa-move-dynamic-relocations-sections-consistency.patch delete mode 100644 bsp/buildroot/package/binutils/arc-2017.09-release/0002-ld-makefile.patch delete mode 100644 bsp/buildroot/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch delete mode 100644 bsp/buildroot/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch create mode 100644 bsp/buildroot/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch create mode 100644 bsp/buildroot/package/bird/Config.in create mode 100644 bsp/buildroot/package/bird/bird.hash create mode 100644 bsp/buildroot/package/bird/bird.mk delete mode 100644 bsp/buildroot/package/blktrace/0001-iowatcher-link-with-lrt.patch create mode 100644 bsp/buildroot/package/bluez-alsa/Config.in create mode 100644 bsp/buildroot/package/bluez-alsa/bluez-alsa.hash create mode 100644 bsp/buildroot/package/bluez-alsa/bluez-alsa.mk create mode 100644 bsp/buildroot/package/bluez5_utils-headers/Config.in create mode 120000 bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.hash create mode 100644 bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.mk delete mode 100644 bsp/buildroot/package/bluez5_utils/0001-tools-bneptest.c-Remove-include-linux-if_bridge.h-to.patch delete mode 100644 bsp/buildroot/package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch delete mode 100644 bsp/buildroot/package/boinc/boinc-client.service delete mode 100644 bsp/buildroot/package/boost/0005-fix-build-with-g-5.patch delete mode 100644 bsp/buildroot/package/bootutils/0001-fix-musl-compilation-issue.patch delete mode 100644 bsp/buildroot/package/bootutils/Config.in delete mode 100644 bsp/buildroot/package/bootutils/bootutils.hash delete mode 100644 bsp/buildroot/package/bootutils/bootutils.mk create mode 100644 bsp/buildroot/package/brcm-patchram-plus/Config.in create mode 100644 bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.hash create mode 100644 bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.mk delete mode 100644 bsp/buildroot/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch rename bsp/buildroot/package/brltty/{0004-buildsys-fix-cross-compilation.patch => 0001-buildsys-fix-cross-compilation.patch} (100%) delete mode 100644 bsp/buildroot/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch create mode 100644 bsp/buildroot/package/brltty/0002-Fix-linking-error-on-mips64el.patch delete mode 100644 bsp/buildroot/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch delete mode 100644 bsp/buildroot/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch create mode 100644 bsp/buildroot/package/btrfs-progs/Config.in.host delete mode 100644 bsp/buildroot/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch create mode 100644 bsp/buildroot/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch delete mode 100644 bsp/buildroot/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch delete mode 100644 bsp/buildroot/package/busybox/0005-httpd-fix-handling-of-range-requests.patch delete mode 100644 bsp/buildroot/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch delete mode 100644 bsp/buildroot/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch delete mode 100644 bsp/buildroot/package/busybox/S01logging create mode 100644 bsp/buildroot/package/busybox/S01syslogd create mode 100644 bsp/buildroot/package/busybox/S02klogd mode change 100755 => 100644 bsp/buildroot/package/busybox/S50telnet delete mode 100644 bsp/buildroot/package/cairo/0001-blackfin-build-fix.patch rename bsp/buildroot/package/cairo/{0003-fix-nofork-build.patch => 0001-fix-nofork-build.patch} (100%) delete mode 100644 bsp/buildroot/package/cairo/0005-fix-gcc-49-build.patch create mode 100644 bsp/buildroot/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch create mode 100644 bsp/buildroot/package/capnproto/Config.in create mode 100644 bsp/buildroot/package/capnproto/capnproto.hash create mode 100644 bsp/buildroot/package/capnproto/capnproto.mk delete mode 100644 bsp/buildroot/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch create mode 100644 bsp/buildroot/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch create mode 100644 bsp/buildroot/package/checksec/Config.in.host create mode 100644 bsp/buildroot/package/checksec/checksec.hash create mode 100644 bsp/buildroot/package/checksec/checksec.mk create mode 100644 bsp/buildroot/package/chipmunk/0001-Fix-build-failure-on-musl.patch create mode 100644 bsp/buildroot/package/chipmunk/Config.in create mode 100644 bsp/buildroot/package/chipmunk/chipmunk.hash create mode 100644 bsp/buildroot/package/chipmunk/chipmunk.mk create mode 100644 bsp/buildroot/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch delete mode 100644 bsp/buildroot/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch mode change 100755 => 100644 bsp/buildroot/package/chrony/S49chrony delete mode 100644 bsp/buildroot/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch create mode 100644 bsp/buildroot/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch delete mode 100644 bsp/buildroot/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch create mode 100644 bsp/buildroot/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch delete mode 100644 bsp/buildroot/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch create mode 100644 bsp/buildroot/package/clang/Config.in create mode 100644 bsp/buildroot/package/clang/clang.hash create mode 100644 bsp/buildroot/package/clang/clang.mk create mode 100644 bsp/buildroot/package/clinfo/Config.in create mode 100644 bsp/buildroot/package/clinfo/clinfo.hash create mode 100644 bsp/buildroot/package/clinfo/clinfo.mk create mode 100644 bsp/buildroot/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch create mode 100644 bsp/buildroot/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch create mode 100644 bsp/buildroot/package/cmocka/Config.in create mode 100644 bsp/buildroot/package/cmocka/cmocka.hash create mode 100644 bsp/buildroot/package/cmocka/cmocka.mk create mode 100644 bsp/buildroot/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch create mode 100644 bsp/buildroot/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch rename bsp/buildroot/package/connman/{0002-nat-build-failure.patch => 0001-nat-build-failure.patch} (100%) delete mode 100644 bsp/buildroot/package/connman/0001-tethering-Reorder-header-includes.patch mode change 100755 => 100644 bsp/buildroot/package/connman/S45connman create mode 100644 bsp/buildroot/package/corkscrew/Config.in create mode 100644 bsp/buildroot/package/corkscrew/corkscrew.hash create mode 100644 bsp/buildroot/package/corkscrew/corkscrew.mk create mode 100644 bsp/buildroot/package/cppzmq/0001-fix-install-without-static-libzmq.patch delete mode 100644 bsp/buildroot/package/cramfs/0001-endian.patch delete mode 100644 bsp/buildroot/package/cramfs/0002-cygwin_IO.patch delete mode 100644 bsp/buildroot/package/cramfs/0003-fix-missing-types.patch delete mode 100644 bsp/buildroot/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch delete mode 100644 bsp/buildroot/package/cryptopp/0001-Fix-possible-DoS-in-ASN.1-decoders-CVE-2016-9939.patch create mode 100644 bsp/buildroot/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch create mode 100644 bsp/buildroot/package/cunit/Config.in create mode 100644 bsp/buildroot/package/cunit/cunit.hash create mode 100644 bsp/buildroot/package/cunit/cunit.mk create mode 100644 bsp/buildroot/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch create mode 100644 bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch create mode 100644 bsp/buildroot/package/cutelyst/Config.in create mode 100644 bsp/buildroot/package/cutelyst/cutelyst.hash create mode 100644 bsp/buildroot/package/cutelyst/cutelyst.mk delete mode 100644 bsp/buildroot/package/dash/0002-histedit-fix-build-with-musl-libc.patch create mode 100644 bsp/buildroot/package/davfs2/0001-src-Makefile.am-do-not-hardcode-fstack-protector-str.patch create mode 100644 bsp/buildroot/package/davfs2/Config.in create mode 100644 bsp/buildroot/package/davfs2/davfs2.hash create mode 100644 bsp/buildroot/package/davfs2/davfs2.mk create mode 100644 bsp/buildroot/package/davici/Config.in create mode 100644 bsp/buildroot/package/davici/davici.hash create mode 100644 bsp/buildroot/package/davici/davici.mk create mode 100644 bsp/buildroot/package/dc3dd/0003-fix-for-glibc-2.28.patch create mode 100644 bsp/buildroot/package/dehydrated/Config.in create mode 100644 bsp/buildroot/package/dehydrated/dehydrated.hash create mode 100644 bsp/buildroot/package/dehydrated/dehydrated.mk mode change 100755 => 100644 bsp/buildroot/package/dhcpcd/S41dhcpcd delete mode 100644 bsp/buildroot/package/dhcpdump/0002-fix-strsep-feature-test.patch create mode 100644 bsp/buildroot/package/dmalloc/0005-fix-strdup.patch create mode 100644 bsp/buildroot/package/dmalloc/0006-fix-strndup.patch delete mode 100644 bsp/buildroot/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch delete mode 100644 bsp/buildroot/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch mode change 100755 => 100644 bsp/buildroot/package/dnsmasq/S80dnsmasq create mode 100644 bsp/buildroot/package/docker-cli/Config.in create mode 100644 bsp/buildroot/package/docker-cli/docker-cli.hash create mode 100644 bsp/buildroot/package/docker-cli/docker-cli.mk create mode 100644 bsp/buildroot/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch create mode 100644 bsp/buildroot/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch create mode 100644 bsp/buildroot/package/docker-compose/Config.in create mode 100644 bsp/buildroot/package/docker-compose/docker-compose.hash create mode 100644 bsp/buildroot/package/docker-compose/docker-compose.mk create mode 100644 bsp/buildroot/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch create mode 100644 bsp/buildroot/package/docker-engine/S60dockerd create mode 100644 bsp/buildroot/package/domoticz/0001-Bumped-version.patch delete mode 100644 bsp/buildroot/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch create mode 100644 bsp/buildroot/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch delete mode 100644 bsp/buildroot/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch delete mode 100644 bsp/buildroot/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch create mode 100644 bsp/buildroot/package/dropbear/etc-pam.d-sshd delete mode 100644 bsp/buildroot/package/dsp-tools/Config.in delete mode 100644 bsp/buildroot/package/dsp-tools/dsp-tools.hash delete mode 100644 bsp/buildroot/package/dsp-tools/dsp-tools.mk delete mode 100644 bsp/buildroot/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch create mode 100644 bsp/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch delete mode 100644 bsp/buildroot/package/dt-utils/0002-common-Include-sys-types.h-header.patch create mode 100644 bsp/buildroot/package/dt-utils/dt-utils.hash create mode 100644 bsp/buildroot/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch create mode 100644 bsp/buildroot/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch create mode 100644 bsp/buildroot/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch create mode 100644 bsp/buildroot/package/duktape/Config.in create mode 100644 bsp/buildroot/package/duktape/duktape.hash create mode 100644 bsp/buildroot/package/duktape/duktape.mk create mode 100644 bsp/buildroot/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch create mode 100644 bsp/buildroot/package/ecryptfs-utils/0002-openssl110.patch rename bsp/buildroot/package/efibootmgr/{0002-Allow-build-with-uClibc.patch => 0001-Allow-build-with-uClibc.patch} (100%) delete mode 100644 bsp/buildroot/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch delete mode 100644 bsp/buildroot/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch rename bsp/buildroot/package/efivar/{0002-Allow-build-with-uClibc.patch => 0001-Allow-build-with-uClibc.patch} (96%) delete mode 100644 bsp/buildroot/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch delete mode 100644 bsp/buildroot/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch create mode 100644 bsp/buildroot/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch delete mode 100644 bsp/buildroot/package/ejabberd/0001-remove-make-targets-for-deps.patch rename bsp/buildroot/package/ejabberd/{0007-fix-ejabberdctl.patch => 0002-fix-ejabberdctl.patch} (100%) delete mode 100644 bsp/buildroot/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch delete mode 100644 bsp/buildroot/package/ejabberd/0003-remove-checking-erlang-version.patch delete mode 100644 bsp/buildroot/package/ejabberd/0004-correct-includes.patch delete mode 100644 bsp/buildroot/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch delete mode 100644 bsp/buildroot/package/ejabberd/0006-fix-install-permissions.patch delete mode 100644 bsp/buildroot/package/ejabberd/0008-handle-error-case-from-lib_dir.patch delete mode 100644 bsp/buildroot/package/ejabberd/0009-disable-mod_avatar.patch create mode 100644 bsp/buildroot/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch create mode 100644 bsp/buildroot/package/ell/Config.in create mode 100644 bsp/buildroot/package/ell/ell.hash create mode 100644 bsp/buildroot/package/ell/ell.mk create mode 100644 bsp/buildroot/package/erlang-eimp/Config.in create mode 100644 bsp/buildroot/package/erlang-eimp/erlang-eimp.mk delete mode 100644 bsp/buildroot/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch delete mode 100644 bsp/buildroot/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch delete mode 100644 bsp/buildroot/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch delete mode 100644 bsp/buildroot/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch delete mode 100644 bsp/buildroot/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch create mode 100644 bsp/buildroot/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch create mode 100644 bsp/buildroot/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch mode change 100755 => 100644 bsp/buildroot/package/eudev/S10udev create mode 100644 bsp/buildroot/package/exempi/Config.in create mode 100644 bsp/buildroot/package/exempi/exempi.hash create mode 100644 bsp/buildroot/package/exempi/exempi.mk create mode 100644 bsp/buildroot/package/exim/0006-remove-libnsl.patch delete mode 100644 bsp/buildroot/package/exim/Local-Makefile delete mode 100644 bsp/buildroot/package/expedite/Config.in delete mode 100644 bsp/buildroot/package/expedite/expedite.hash delete mode 100644 bsp/buildroot/package/expedite/expedite.mk create mode 100644 bsp/buildroot/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch create mode 100644 bsp/buildroot/package/f2fs-tools/Config.in.host create mode 100644 bsp/buildroot/package/fail2ban/Config.in create mode 100644 bsp/buildroot/package/fail2ban/S60fail2ban create mode 100644 bsp/buildroot/package/fail2ban/fail2ban.hash create mode 100644 bsp/buildroot/package/fail2ban/fail2ban.mk delete mode 100644 bsp/buildroot/package/ffmpeg/0001-bfin-disable-optimization.patch rename bsp/buildroot/package/ffmpeg/{0002-ffmpeg-pthreads.patch => 0001-ffmpeg-pthreads.patch} (100%) create mode 100644 bsp/buildroot/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch create mode 100644 bsp/buildroot/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch create mode 100644 bsp/buildroot/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch create mode 100644 bsp/buildroot/package/fftw/fftw-double/Config.in create mode 120000 bsp/buildroot/package/fftw/fftw-double/fftw-double.hash create mode 100644 bsp/buildroot/package/fftw/fftw-double/fftw-double.mk create mode 100644 bsp/buildroot/package/fftw/fftw-long-double/Config.in create mode 120000 bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.hash create mode 100644 bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.mk create mode 100644 bsp/buildroot/package/fftw/fftw-quad/Config.in create mode 120000 bsp/buildroot/package/fftw/fftw-quad/fftw-quad.hash create mode 100644 bsp/buildroot/package/fftw/fftw-quad/fftw-quad.mk create mode 100644 bsp/buildroot/package/fftw/fftw-single/Config.in create mode 120000 bsp/buildroot/package/fftw/fftw-single/fftw-single.hash create mode 100644 bsp/buildroot/package/fftw/fftw-single/fftw-single.mk delete mode 100644 bsp/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch create mode 100644 bsp/buildroot/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch create mode 100644 bsp/buildroot/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch create mode 100644 bsp/buildroot/package/flare-engine/Config.in create mode 100644 bsp/buildroot/package/flare-engine/flare-engine.hash create mode 100644 bsp/buildroot/package/flare-engine/flare-engine.mk create mode 100644 bsp/buildroot/package/flare-game/Config.in create mode 100644 bsp/buildroot/package/flare-game/flare-game.hash create mode 100644 bsp/buildroot/package/flare-game/flare-game.mk create mode 100644 bsp/buildroot/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch create mode 100644 bsp/buildroot/package/flatcc/Config.in create mode 100644 bsp/buildroot/package/flatcc/flatcc.hash create mode 100644 bsp/buildroot/package/flatcc/flatcc.mk create mode 100644 bsp/buildroot/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch delete mode 100644 bsp/buildroot/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch create mode 100644 bsp/buildroot/package/freescale-imx/imx-alsa-plugins/Config.in create mode 100644 bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash create mode 100644 bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk create mode 100644 bsp/buildroot/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch create mode 100644 bsp/buildroot/package/freescale-imx/imx-vpu-hantro/Config.in create mode 100644 bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash create mode 100644 bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk rename bsp/buildroot/package/freeswitch/{0001-libvpx-cross.patch => 0001-Fix-cross-compiling-libvpx.patch} (88%) create mode 100644 bsp/buildroot/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch create mode 100644 bsp/buildroot/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch delete mode 100644 bsp/buildroot/package/gcc/4.9.4/891-fix-m68k-uclinux.patch create mode 100644 bsp/buildroot/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch create mode 100644 bsp/buildroot/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch delete mode 100644 bsp/buildroot/package/gcc/5.5.0/891-fix-m68k-uclinux.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/891-fix-m68k-uclinux.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch delete mode 100644 bsp/buildroot/package/gcc/6.4.0/943-sanitizer-linux.patch create mode 100644 bsp/buildroot/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/100-uclibc-conf.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/301-missing-execinfo_h.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/810-arm-softfloat-libgcc.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/830-arm_unbreak_armv4t.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/860-cilk-wchar.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/890-fix-m68k-compile.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/896-microblaze-Revert.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/940-uclinux-enable-threads.patch (100%) rename bsp/buildroot/package/gcc/{6.4.0 => 6.5.0}/941-mips-Add-support-for-mips-r6-musl.patch (100%) delete mode 100644 bsp/buildroot/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch delete mode 100644 bsp/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch delete mode 100644 bsp/buildroot/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch delete mode 100644 bsp/buildroot/package/gcc/7.3.0/0005-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch delete mode 100644 bsp/buildroot/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch delete mode 100644 bsp/buildroot/package/gcc/7.3.0/0900-remove-selftests.patch rename bsp/buildroot/package/gcc/{7.3.0 => 7.4.0}/0100-uclibc-conf.patch (100%) rename bsp/buildroot/package/gcc/{7.3.0 => 7.4.0}/0810-arm-softfloat-libgcc.patch (100%) rename bsp/buildroot/package/gcc/{7.3.0 => 7.4.0}/0860-cilk-fix-build-without-wchar.patch (100%) rename bsp/buildroot/package/gcc/{7.3.0 => 7.4.0}/0892-microblaze-Revert.patch (96%) rename bsp/buildroot/package/gcc/{7.3.0 => 7.4.0}/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch (97%) create mode 100644 bsp/buildroot/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch delete mode 100644 bsp/buildroot/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch delete mode 100644 bsp/buildroot/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch delete mode 100644 bsp/buildroot/package/gcc/arc-2017.09-release/0900-remove-selftests.patch rename bsp/buildroot/package/gcc/{arc-2017.09-release => arc-2018.09-release}/0100-uclibc-conf.patch (100%) delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0001-Add-some-casts-for-building-on-musl.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0002-musl-Move-W_STOPCODE-to-common-gdb_wait-h.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0003-move-__SIGRTMIN.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0004-xtensa-implement-NPTL-helpers.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0005-target.h-include-sys-types.h.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0006-Revert-sim-unify-SIM_CPU-definition.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch delete mode 100644 bsp/buildroot/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch delete mode 100644 bsp/buildroot/package/gdb/7.11.1/0001-sim-bfin-split-out-common-mach-model-defines-into-ar.patch delete mode 100644 bsp/buildroot/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch delete mode 100644 bsp/buildroot/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch rename bsp/buildroot/package/gdb/{7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch => 8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} (83%) rename bsp/buildroot/package/gdb/{7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch => 8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch} (84%) rename bsp/buildroot/package/gdb/{7.11.1/0006-use-asm-sgidefs.h.patch => 8.1.1/0003-use-asm-sgidefs.h.patch} (100%) create mode 100644 bsp/buildroot/package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch create mode 100644 bsp/buildroot/package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch create mode 100644 bsp/buildroot/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch rename bsp/buildroot/package/gdb/{7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch => 8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch} (79%) rename bsp/buildroot/package/gdb/{7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch => 8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch} (85%) rename bsp/buildroot/package/gdb/{7.10.1/0011-use-asm-sgidefs.h.patch => 8.2.1/0003-use-asm-sgidefs.h.patch} (79%) create mode 100644 bsp/buildroot/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch create mode 100644 bsp/buildroot/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch create mode 100644 bsp/buildroot/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch create mode 100644 bsp/buildroot/package/gerbera/Config.in create mode 100644 bsp/buildroot/package/gerbera/S99gerbera create mode 100644 bsp/buildroot/package/gerbera/config.xml create mode 100644 bsp/buildroot/package/gerbera/gerbera.hash create mode 100644 bsp/buildroot/package/gerbera/gerbera.mk create mode 100644 bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch create mode 100644 bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch create mode 100644 bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch create mode 100644 bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch create mode 100644 bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch create mode 100644 bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch create mode 100644 bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch create mode 100644 bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch create mode 100644 bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash create mode 100644 bsp/buildroot/package/glibc/arc-2018.09-release/glibc.hash create mode 100644 bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash delete mode 100644 bsp/buildroot/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch create mode 100644 bsp/buildroot/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch create mode 100644 bsp/buildroot/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch delete mode 100644 bsp/buildroot/package/gnuradio/0001-suppress-boost_unitest-detection.patch create mode 100644 bsp/buildroot/package/go/0001-build.go-explicit-option-for-crosscompilation.patch create mode 100644 bsp/buildroot/package/gpm/0005-fix-building-w-newer-glibc.patch delete mode 100644 bsp/buildroot/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch create mode 100644 bsp/buildroot/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch delete mode 100644 bsp/buildroot/package/gqrx/0001-fix_compilation_in_gcc-6.patch delete mode 100644 bsp/buildroot/package/graphite2/0001-disable-double-promotion.patch create mode 100644 bsp/buildroot/package/grpc/0001-target-build-using-host-plugin.patch create mode 100644 bsp/buildroot/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch create mode 100644 bsp/buildroot/package/grpc/Config.in create mode 100644 bsp/buildroot/package/grpc/grpc.hash create mode 100644 bsp/buildroot/package/grpc/grpc.mk delete mode 100644 bsp/buildroot/package/gstreamer/gst-dsp/Config.in delete mode 100644 bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.hash delete mode 100644 bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.mk create mode 100644 bsp/buildroot/package/gstreamer1/gst1-interpipe/Config.in create mode 100644 bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash create mode 100644 bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk create mode 100644 bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch create mode 100644 bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch create mode 100644 bsp/buildroot/package/gstreamer1/gst1-shark/Config.in create mode 100644 bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.hash create mode 100644 bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.mk create mode 100644 bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch create mode 100644 bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/Config.in create mode 100644 bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash create mode 100644 bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk create mode 100644 bsp/buildroot/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch create mode 100644 bsp/buildroot/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch create mode 100644 bsp/buildroot/package/hackrf/0001-Don-t-require-a-C-compiler.patch create mode 100644 bsp/buildroot/package/hackrf/Config.in create mode 100644 bsp/buildroot/package/hackrf/hackrf.hash create mode 100644 bsp/buildroot/package/hackrf/hackrf.mk create mode 100644 bsp/buildroot/package/haproxy/Config.in create mode 100644 bsp/buildroot/package/haproxy/haproxy.hash create mode 100644 bsp/buildroot/package/haproxy/haproxy.mk mode change 100755 => 100644 bsp/buildroot/package/haveged/S21haveged delete mode 100644 bsp/buildroot/package/hiawatha/0001-cmake-allow-build-without-c.patch create mode 100644 bsp/buildroot/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch delete mode 100644 bsp/buildroot/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch create mode 100644 bsp/buildroot/package/i2pd/0001-build-CMakeLists.txt-don-t-install-source-and-licens.patch create mode 100644 bsp/buildroot/package/i2pd/Config.in create mode 100644 bsp/buildroot/package/i2pd/S99i2pd create mode 100644 bsp/buildroot/package/i2pd/i2pd.hash create mode 100644 bsp/buildroot/package/i2pd/i2pd.mk create mode 100644 bsp/buildroot/package/i2pd/i2pd.service create mode 100644 bsp/buildroot/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch create mode 100644 bsp/buildroot/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch create mode 100644 bsp/buildroot/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch create mode 100644 bsp/buildroot/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch delete mode 100644 bsp/buildroot/package/icu/0003-detect-compiler-symbol-prefix.patch rename bsp/buildroot/package/icu/{0004-link-icudata-as-data-only.patch => 0003-link-icudata-as-data-only.patch} (100%) rename bsp/buildroot/package/icu/{0005-fix-static-linking-with-icu-uc.patch => 0004-fix-static-linking-with-icu-uc.patch} (100%) mode change 100755 => 100644 bsp/buildroot/package/ifupdown-scripts/S40network create mode 100644 bsp/buildroot/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch create mode 100644 bsp/buildroot/package/imx-mkimage/0002-add-ldflags-to-link-step.patch create mode 100644 bsp/buildroot/package/imx-mkimage/Config.in.host create mode 100644 bsp/buildroot/package/imx-mkimage/imx-mkimage.hash create mode 100644 bsp/buildroot/package/imx-mkimage/imx-mkimage.mk create mode 100644 bsp/buildroot/package/imx-usb-loader/Config.in delete mode 100644 bsp/buildroot/package/inotify-tools/0001-gcc6.patch create mode 100644 bsp/buildroot/package/intel-gmmlib/Config.in create mode 100644 bsp/buildroot/package/intel-gmmlib/intel-gmmlib.hash create mode 100644 bsp/buildroot/package/intel-gmmlib/intel-gmmlib.mk rename bsp/buildroot/package/iozone/{0001-targets.patch => 0001-Add-new-targets-for-iozone.patch} (63%) delete mode 100644 bsp/buildroot/package/iperf/0001-util.h-add-missing-stdbool-header.patch delete mode 100644 bsp/buildroot/package/iperf/0002-fix-speed-display-in-csv-report.patch create mode 100644 bsp/buildroot/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch create mode 100644 bsp/buildroot/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch create mode 100644 bsp/buildroot/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch create mode 100644 bsp/buildroot/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch create mode 100644 bsp/buildroot/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch delete mode 100644 bsp/buildroot/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch create mode 100644 bsp/buildroot/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch create mode 100644 bsp/buildroot/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch create mode 100644 bsp/buildroot/package/ipsec-tools/0006-openssl-1.1.patch delete mode 100644 bsp/buildroot/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch create mode 100644 bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch delete mode 100644 bsp/buildroot/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch create mode 100644 bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch create mode 100644 bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch create mode 100644 bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch create mode 100644 bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch create mode 100644 bsp/buildroot/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch delete mode 100644 bsp/buildroot/package/iqvlinux/Config.in delete mode 100644 bsp/buildroot/package/iqvlinux/iqvlinux.hash delete mode 100644 bsp/buildroot/package/iqvlinux/iqvlinux.mk create mode 100644 bsp/buildroot/package/iucode-tool/iucode.service create mode 100644 bsp/buildroot/package/iwd/Config.in create mode 100644 bsp/buildroot/package/iwd/iwd.hash create mode 100644 bsp/buildroot/package/iwd/iwd.mk create mode 100644 bsp/buildroot/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch create mode 100644 bsp/buildroot/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch delete mode 100644 bsp/buildroot/package/json-c/0001-configure.ac-remove-Werror.patch delete mode 100644 bsp/buildroot/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch create mode 100644 bsp/buildroot/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch create mode 100644 bsp/buildroot/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch delete mode 100644 bsp/buildroot/package/keyutils/0003-Add-missing-limits.h-include.patch create mode 100644 bsp/buildroot/package/kf5/Config.in create mode 100644 bsp/buildroot/package/kf5/kf5-extra-cmake-modules/Config.in create mode 100644 bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash create mode 100644 bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk create mode 100644 bsp/buildroot/package/kf5/kf5-kcoreaddons/Config.in create mode 100644 bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash create mode 100644 bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk create mode 100644 bsp/buildroot/package/kf5/kf5-modemmanager-qt/Config.in create mode 100644 bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash create mode 100644 bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk create mode 100644 bsp/buildroot/package/kf5/kf5-networkmanager-qt/Config.in create mode 100644 bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash create mode 100644 bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk create mode 100644 bsp/buildroot/package/kf5/kf5.mk delete mode 100644 bsp/buildroot/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch delete mode 100644 bsp/buildroot/package/kodi-adsp-basic/Config.in delete mode 100644 bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.hash delete mode 100644 bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.mk delete mode 100644 bsp/buildroot/package/kodi-adsp-freesurround/Config.in delete mode 100644 bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash delete mode 100644 bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk create mode 100644 bsp/buildroot/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch create mode 100644 bsp/buildroot/package/kodi/0005-Fix-crosscompiling-issues.patch mode change 100755 => 100644 bsp/buildroot/package/kodi/S50kodi delete mode 100644 bsp/buildroot/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch delete mode 100644 bsp/buildroot/package/leveldb/0003-fix-parallel-build.patch delete mode 100644 bsp/buildroot/package/libaio/0001-arches.patch rename bsp/buildroot/package/libaio/{0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch => 0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch} (95%) rename bsp/buildroot/package/libaio/{0003-destdir.patch => 0002-Makefile-add-missing-DESTDIR-variable-use.patch} (56%) create mode 100644 bsp/buildroot/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch create mode 100644 bsp/buildroot/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch create mode 100644 bsp/buildroot/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch create mode 100644 bsp/buildroot/package/libarchive/0003-Skip-0-length-ACL-fields.patch create mode 100644 bsp/buildroot/package/libarchive/0004-warc-consume-data-once-read.patch create mode 100644 bsp/buildroot/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch create mode 100644 bsp/buildroot/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch create mode 100644 bsp/buildroot/package/libb64/0001-Integer-overflows.patch create mode 100644 bsp/buildroot/package/libb64/0002-Initialize-C++-objects.patch create mode 100644 bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch create mode 100644 bsp/buildroot/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch create mode 100644 bsp/buildroot/package/libcdio-paranoia/Config.in create mode 100644 bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.hash create mode 100644 bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.mk create mode 100644 bsp/buildroot/package/libclc/Config.in create mode 100644 bsp/buildroot/package/libclc/libclc.hash create mode 100644 bsp/buildroot/package/libclc/libclc.mk create mode 100644 bsp/buildroot/package/libconfig/0001-Add-disable-doc-option.patch create mode 100644 bsp/buildroot/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch create mode 100644 bsp/buildroot/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch create mode 100644 bsp/buildroot/package/libcorrect/Config.in create mode 100644 bsp/buildroot/package/libcorrect/libcorrect.hash create mode 100644 bsp/buildroot/package/libcorrect/libcorrect.mk delete mode 100644 bsp/buildroot/package/libcpprestsdk/0001-fix-xlocale-header-check.patch rename bsp/buildroot/package/libcpprestsdk/{0004-libcpprestsdk-fix-building-as-a-static-library.patch => 0001-libcpprestsdk-fix-building-as-a-static-library.patch} (100%) delete mode 100644 bsp/buildroot/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch delete mode 100644 bsp/buildroot/package/libcpprestsdk/0003-fix-strand.patch create mode 100644 bsp/buildroot/package/libeastl/Config.in create mode 100644 bsp/buildroot/package/libeastl/libeastl.hash create mode 100644 bsp/buildroot/package/libeastl/libeastl.mk create mode 100644 bsp/buildroot/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch delete mode 100644 bsp/buildroot/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch delete mode 100644 bsp/buildroot/package/libfastjson/0001-m4-fix-detection-of-atomics.patch delete mode 100644 bsp/buildroot/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch delete mode 100644 bsp/buildroot/package/libffi/0005-mips-use-__linux__-and-not-linux.patch create mode 100644 bsp/buildroot/package/libfm/0001-modules-fix-cross-compilation.patch create mode 100644 bsp/buildroot/package/libfreeimage/0005-Manage-powf64-with-glibc.patch create mode 100644 bsp/buildroot/package/libftdi1/0004-cmake-find-swig.patch delete mode 100644 bsp/buildroot/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch rename bsp/buildroot/package/libgcrypt/{0002-reconfigure.patch => 0001-reconfigure.patch} (100%) create mode 100644 bsp/buildroot/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch create mode 100644 bsp/buildroot/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch create mode 100644 bsp/buildroot/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch create mode 100644 bsp/buildroot/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch create mode 100644 bsp/buildroot/package/libgit2/Config.in create mode 100644 bsp/buildroot/package/libgit2/libgit2.hash create mode 100644 bsp/buildroot/package/libgit2/libgit2.mk delete mode 100644 bsp/buildroot/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch create mode 100644 bsp/buildroot/package/libid3tag/0001-configure-automake-foreign.patch create mode 100644 bsp/buildroot/package/libid3tag/id3tag.pc delete mode 100644 bsp/buildroot/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch delete mode 100644 bsp/buildroot/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch create mode 100644 bsp/buildroot/package/libidn2/Config.in create mode 100644 bsp/buildroot/package/libidn2/libidn2.hash create mode 100644 bsp/buildroot/package/libidn2/libidn2.mk create mode 100644 bsp/buildroot/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch delete mode 100644 bsp/buildroot/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch create mode 100644 bsp/buildroot/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch delete mode 100644 bsp/buildroot/package/libkcapi/0002-Do-not-compile-unused-functions.patch delete mode 100644 bsp/buildroot/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch delete mode 100644 bsp/buildroot/package/libkcapi/0004-internal.h-make-inline-functions-static.patch create mode 100644 bsp/buildroot/package/libkrb5/Config.in create mode 100644 bsp/buildroot/package/libkrb5/libkrb5.hash create mode 100644 bsp/buildroot/package/libkrb5/libkrb5.mk create mode 100644 bsp/buildroot/package/liblo/0001-server-use-correct-poll.h-header.patch create mode 100644 bsp/buildroot/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch create mode 100644 bsp/buildroot/package/libmad/0006-configure-ac-automake-foreign.patch delete mode 100644 bsp/buildroot/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch delete mode 100644 bsp/buildroot/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch create mode 100644 bsp/buildroot/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch delete mode 100644 bsp/buildroot/package/libnetfilter_queue/0001-uclinux.patch delete mode 100644 bsp/buildroot/package/libnetfilter_queue/0002-musl.patch create mode 100644 bsp/buildroot/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch delete mode 100644 bsp/buildroot/package/libnice/0001-configure-Fix-configure-failure-when-building-without-.patch create mode 100644 bsp/buildroot/package/libnss/0002-add-zlib-include-dir-variable.patch create mode 100644 bsp/buildroot/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch create mode 100644 bsp/buildroot/package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch delete mode 100644 bsp/buildroot/package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch create mode 100644 bsp/buildroot/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch delete mode 100644 bsp/buildroot/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch create mode 100644 bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch create mode 100644 bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch create mode 100644 bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch create mode 100644 bsp/buildroot/package/liboping/0001-ping_host_add-Decrease-buffer-size-to-make-GCC-s-truncation-check-happy.patch create mode 100644 bsp/buildroot/package/libopusenc/Config.in create mode 100644 bsp/buildroot/package/libopusenc/libopusenc.hash create mode 100644 bsp/buildroot/package/libopusenc/libopusenc.mk create mode 100644 bsp/buildroot/package/libpagekite/0001-configure.ac-fix-handling-of-with.patch create mode 100644 bsp/buildroot/package/libpagekite/0002-configure.ac-use-AS_HELP_STRING-for-with-openssl.patch create mode 100644 bsp/buildroot/package/libpagekite/0003-configure.ac-use-pkg-config-for-openssl.patch create mode 100644 bsp/buildroot/package/libpagekite/Config.in create mode 100644 bsp/buildroot/package/libpagekite/libpagekite.hash create mode 100644 bsp/buildroot/package/libpagekite/libpagekite.mk create mode 100644 bsp/buildroot/package/libpam-tacplus/0001-Fix-getrandom-call-in-magic.c.patch create mode 100644 bsp/buildroot/package/libpam-tacplus/0002-Fix-compilation-of-tacc.c-with-GCC-8.patch create mode 100644 bsp/buildroot/package/libpcap/0001-pcap-usb-linux.c-add-missing-limits.h-for-musl-systems.patch delete mode 100644 bsp/buildroot/package/libpng/0002-Don-t-append-prefix-to-symbol-names-in-version-script.patch delete mode 100644 bsp/buildroot/package/libpqxx/0001-include-sys-time.h-outside-fallback-select-55.patch delete mode 100644 bsp/buildroot/package/libpwquality/0001-Fix-build-with-disable-nls-on-platforms-without-libi.patch delete mode 100644 bsp/buildroot/package/libpwquality/0002-Fix-memory-leak-in-settings-when-using-bad-word-list.patch delete mode 100644 bsp/buildroot/package/libraw/0001-Remove-paths-which-break-cross-compilation.patch delete mode 100644 bsp/buildroot/package/libraw/0002-libraw_x3f.cpp-remove-Byte-order-mark.patch delete mode 100644 bsp/buildroot/package/libraw1394/0001-testlibraw-build-the-CLOCK_MONOTONIC_RAW-test-condit.patch delete mode 100644 bsp/buildroot/package/libressl/0002-Fix-build-with-musl-and-older-Linux-kernel.patch delete mode 100644 bsp/buildroot/package/librsync/0001-CMakeLists.txt-Don-t-require-a-C-compiler.patch delete mode 100644 bsp/buildroot/package/librtas/0001-librtas-install-librtas.so.1-symlink.patch delete mode 100644 bsp/buildroot/package/librtlsdr/0002-fix-builds-with-newer-compilers-C-standards.patch rename bsp/buildroot/package/libselinux/{0002-fix-musl-build.patch => 0001-fix-musl-build.patch} (100%) delete mode 100644 bsp/buildroot/package/libselinux/0001-workaround-blackfin-issue.patch rename bsp/buildroot/package/libselinux/{0004-revert-ln-relative.patch => 0002-revert-ln-relative.patch} (55%) rename bsp/buildroot/package/libselinux/{0004-Fix-build-break-around-__atomic_-with-GCC-4.7.patch => 0003-Fix-build-break-around-__atomic_-with-GCC-4.7.patch} (100%) delete mode 100644 bsp/buildroot/package/libselinux/0003-libselinux-build-follow-standard-semantics-for-DESTD.patch delete mode 100644 bsp/buildroot/package/libsemanage/0001-workaround-blackfin-issue.patch delete mode 100644 bsp/buildroot/package/libsemanage/0002-libsemanage-build-follow-standard-semantics-for-DESTD.patch delete mode 100644 bsp/buildroot/package/libsepol/0001-libsepol-build-follow-standard-semantics-for-DESTD.patch rename bsp/buildroot/package/libsepol/{0003-support-static-only.patch => 0001-support-static-only.patch} (68%) rename bsp/buildroot/package/libsepol/{0004-revert-ln-relative.patch => 0002-revert-ln-relative.patch} (68%) delete mode 100644 bsp/buildroot/package/libsepol/0002-workaround-blackfin-issue.patch create mode 100644 bsp/buildroot/package/libserial/0001-SerialPort.cpp-fix-build-when-size_t-is-an-unsigned-.patch delete mode 100644 bsp/buildroot/package/libserial/0001-disable-python-bindings.patch delete mode 100644 bsp/buildroot/package/libserial/0002-Don-t-use-high-baudrates-when-not-available.patch create mode 100644 bsp/buildroot/package/libserial/0002-SerialPort.cpp-don-t-use-high-baudrates-when-not-ava.patch create mode 100644 bsp/buildroot/package/libshout/0003-libshout-tls-compile-with-OpenSSL-1.1.0.patch create mode 100644 bsp/buildroot/package/libsigsegv/0001-Improve-support-for-Linux-RISC-V.patch create mode 100644 bsp/buildroot/package/libsigsegv/0002-m4-stack-direction-RISC-V-stack-grows-downward.patch create mode 100644 bsp/buildroot/package/libsndfile/0001-double64_init-Check-psf-sf.channels-against-upper-bo.patch create mode 100644 bsp/buildroot/package/libsndfile/0002-Check-MAX_CHANNELS-in-sndfile-deinterleave.patch create mode 100644 bsp/buildroot/package/libsndfile/0003-a-ulaw-fix-multiple-buffer-overflows-432.patch create mode 100644 bsp/buildroot/package/libsoup/0001-Revert-tld-parser-use-Python-3.patch delete mode 100644 bsp/buildroot/package/libsoup/0001-cookie-jar-bail-if-hostname-is-an-empty-string.patch create mode 100644 bsp/buildroot/package/libsoxr/0001-Add-Libs.private-for-static-linking.patch create mode 100644 bsp/buildroot/package/libsquish/0001-Makefile-add-f-option-for-ln-to-remove-existing-dest.patch delete mode 100644 bsp/buildroot/package/libsrtp/0001-Rename-SHA1-functions-to-avoid-conflicts-with-downst.patch create mode 100644 bsp/buildroot/package/libssh/0001-buffer-Fix-size-comparison-with-count.patch create mode 100644 bsp/buildroot/package/libssh/0002-buffer-Use-size_t-for-argc-argument-in-ssh_buffer_-u.patch create mode 100644 bsp/buildroot/package/libssh/0003-more-strict-overflow-fixes.patch create mode 100644 bsp/buildroot/package/libssh2/0003-openssl-fix-dereferencing-ambiguity-potentially-caus.patch delete mode 100644 bsp/buildroot/package/libstrophe/0001-Namespace-SHA-functions.patch rename bsp/buildroot/package/libstrophe/{0002-make-autoreconfable.patch => 0001-make-autoreconfable.patch} (100%) delete mode 100644 bsp/buildroot/package/libtirpc/0006-include-stdint.h-for-uintptr_t.patch create mode 100644 bsp/buildroot/package/libtirpc/0006-rpc-types.h-fix-musl-build.patch create mode 100644 bsp/buildroot/package/libtorrent-rasterbar/Config.in create mode 100644 bsp/buildroot/package/libtorrent-rasterbar/libtorrent-rasterbar.hash create mode 100644 bsp/buildroot/package/libtorrent-rasterbar/libtorrent-rasterbar.mk rename bsp/buildroot/package/libtorrent/{0001-cross_compile.patch => 0001-Fix-cross-compilation-based-on-OpenWRT-patch.patch} (68%) create mode 100644 bsp/buildroot/package/libtorrent/0002-Added-support-for-openssl-1.1.patch create mode 100644 bsp/buildroot/package/libupnp18/0001-configure.ac-fix-build-with-openssl.patch create mode 100644 bsp/buildroot/package/libusb/0001-configure.ac-fix-detection-of-clock_gettime-library.patch create mode 100644 bsp/buildroot/package/libusbgx/0001-Add-include-of-sys-sysmacro.h.patch rename bsp/buildroot/package/libv4l/{0004-Build-sdlcam-only-if-jpeg-is-enabled.patch => 0003-Build-sdlcam-only-if-jpeg-is-enabled.patch} (100%) delete mode 100644 bsp/buildroot/package/libv4l/0003-libdvbv5-add-optional-copy-of-TEMP_FAILURE_RETRY-mac.patch create mode 100644 bsp/buildroot/package/libv4l/0004-v4l2-compliance-needs-fork.patch create mode 100644 bsp/buildroot/package/libva-intel-driver/0001-Check-the-interface-from-libva-first.patch create mode 100644 bsp/buildroot/package/libva-utils/0001-check-ssp.patch create mode 100644 bsp/buildroot/package/libva-utils/0002-Fix-build-failure-when-x11-support-is-disabled.patch delete mode 100644 bsp/buildroot/package/libxml2/0001-CVE-2017-8872.patch delete mode 100644 bsp/buildroot/package/libxmlrpc/0001-fix-gennmtab-build.patch rename bsp/buildroot/package/libxmlrpc/{0004-use-correct-curl-config.patch => 0001-use-correct-curl-config.patch} (100%) delete mode 100644 bsp/buildroot/package/libxmlrpc/0002-config.mk.in-fix-shared-libraries-build-for-uClibc.patch delete mode 100644 bsp/buildroot/package/libxmlrpc/0003-fix-ar-ranlib-handling.patch delete mode 100644 bsp/buildroot/package/libzip/0001-Use-cmake-E-tar-to-extract-test-data.patch create mode 120000 bsp/buildroot/package/linux-headers/linux-headers.hash create mode 100644 bsp/buildroot/package/linux-tools/linux-tool-pci.mk.in mode change 100755 => 100644 bsp/buildroot/package/linuxptp/S65linuxptp mode change 100755 => 100644 bsp/buildroot/package/lirc-tools/S25lircd create mode 100644 bsp/buildroot/package/lldpd/0001-build-ability-to-disable-libbsd-with-without-libbsd.patch delete mode 100644 bsp/buildroot/package/lldpd/0001-build-make-generation-of-atom-glue-compatible-with-o.patch delete mode 100644 bsp/buildroot/package/lldpd/0002-configure-do-not-check-for-libbsd.patch delete mode 100644 bsp/buildroot/package/lldpd/0003-configure-remove-check-on-CXX-compiler.patch create mode 100644 bsp/buildroot/package/llvm/Config.in create mode 100644 bsp/buildroot/package/llvm/llvm.hash create mode 100644 bsp/buildroot/package/llvm/llvm.mk delete mode 100644 bsp/buildroot/package/lm-sensors/0003-musl-fix-includes.patch delete mode 100644 bsp/buildroot/package/ltp-testsuite/0002-numa-Fix-numa-v2-detection-for-cross-compilation.patch delete mode 100644 bsp/buildroot/package/lua-curl/0001-Fix-build-with-curl-7.62.0.patch create mode 100644 bsp/buildroot/package/lua-curl/0001-add-variant-definition-of-lcurl_url_t.patch delete mode 100644 bsp/buildroot/package/lua-periphery/0001-Add-missing-header-for-musl-compatibility.patch delete mode 100644 bsp/buildroot/package/lua-periphery/0002-Fix-build-on-SPARC.patch create mode 100644 bsp/buildroot/package/lua-std-debug/Config.in create mode 100644 bsp/buildroot/package/lua-std-debug/lua-std-debug.hash create mode 100644 bsp/buildroot/package/lua-std-debug/lua-std-debug.mk create mode 100644 bsp/buildroot/package/lua-std-normalize/Config.in create mode 100644 bsp/buildroot/package/lua-std-normalize/lua-std-normalize.hash create mode 100644 bsp/buildroot/package/lua-std-normalize/lua-std-normalize.mk delete mode 100644 bsp/buildroot/package/lua/5.2.4/0001-root-path.patch delete mode 100644 bsp/buildroot/package/lua/5.2.4/0002-shared-libs-for-lua.patch delete mode 100644 bsp/buildroot/package/lua/5.2.4/0011-linenoise.patch rename bsp/buildroot/package/lua/{5.3.4 => 5.3.5}/0001-root-path.patch (100%) rename bsp/buildroot/package/lua/{5.3.4 => 5.3.5}/0002-shared-libs-for-lua.patch (100%) create mode 100644 bsp/buildroot/package/lua/5.3.5/0003-fix-revision-number.patch rename bsp/buildroot/package/lua/{5.3.4 => 5.3.5}/0011-linenoise.patch (100%) delete mode 100644 bsp/buildroot/package/luacrypto/Config.in delete mode 100644 bsp/buildroot/package/luacrypto/luacrypto.hash delete mode 100644 bsp/buildroot/package/luacrypto/luacrypto.mk create mode 100644 bsp/buildroot/package/luaexpat/0001-restore-getcurrentbytecount.patch create mode 100644 bsp/buildroot/package/luarocks/0001-allow-libluajit-detection.patch create mode 100644 bsp/buildroot/package/luarocks/buildroot.lua create mode 100644 bsp/buildroot/package/luarocks/luarocks-br-config.lua create mode 100644 bsp/buildroot/package/luv/0001-Do-not-include-compat-5.3.h-in-luv-header-file.patch delete mode 100644 bsp/buildroot/package/lxc/0001-Fix-compilation-on-toolchain-without-prlimit.patch delete mode 100644 bsp/buildroot/package/lxc/0002-lxc-start.c-Fix-legacy-PR_-G-S-ET_NO_NEW_PRIVS-handl.patch delete mode 100644 bsp/buildroot/package/lynx/0001-src-chrtrans-don-t-build-host-tools-with-target-LDFL.patch delete mode 100644 bsp/buildroot/package/madplay/0002-buildroot-libtool-v1.5.patch.patch create mode 100644 bsp/buildroot/package/madplay/0002-configure-ac-automake-foreign.patch create mode 100644 bsp/buildroot/package/madplay/0003-configure-ac-use-pkg-config-to-find-id3tag.patch create mode 100644 bsp/buildroot/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch create mode 100644 bsp/buildroot/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch create mode 100644 bsp/buildroot/package/mender/Config.in create mode 100644 bsp/buildroot/package/mender/S42mender create mode 100644 bsp/buildroot/package/mender/artifact_info create mode 100644 bsp/buildroot/package/mender/device_type create mode 100644 bsp/buildroot/package/mender/mender.conf create mode 100644 bsp/buildroot/package/mender/mender.hash create mode 100644 bsp/buildroot/package/mender/mender.mk create mode 100644 bsp/buildroot/package/mender/mender.service create mode 100644 bsp/buildroot/package/mender/readme.txt create mode 100644 bsp/buildroot/package/mender/server.crt rename bsp/buildroot/package/mesa3d-demos/{0001-demos-optional-gl.patch => 0001-demos-makes-opengl-an-optional-component.patch} (52%) delete mode 100644 bsp/buildroot/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch create mode 100644 bsp/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch delete mode 100644 bsp/buildroot/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch create mode 100644 bsp/buildroot/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch create mode 100644 bsp/buildroot/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch create mode 100644 bsp/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch delete mode 100644 bsp/buildroot/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch create mode 100644 bsp/buildroot/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch create mode 100644 bsp/buildroot/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch create mode 100644 bsp/buildroot/package/mini-snmpd/Config.in create mode 100644 bsp/buildroot/package/mini-snmpd/mini-snmpd.hash create mode 100644 bsp/buildroot/package/mini-snmpd/mini-snmpd.mk create mode 100644 bsp/buildroot/package/mini-snmpd/mini-snmpd.service delete mode 100644 bsp/buildroot/package/minicom/0001-musl-libc-compile-fix.patch create mode 100644 bsp/buildroot/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch delete mode 100644 bsp/buildroot/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch delete mode 100644 bsp/buildroot/package/mjpg-streamer/0001-musl-pthread.patch create mode 100644 bsp/buildroot/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch create mode 100644 bsp/buildroot/package/modem-manager/0001-kerneldevice-fix-build-with-musl-libc.patch mode change 100755 => 100644 bsp/buildroot/package/modem-manager/S44modem-manager create mode 100644 bsp/buildroot/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch delete mode 100644 bsp/buildroot/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch delete mode 100644 bsp/buildroot/package/mono/0004-fixing-initialization-of-have-vasprintf.patch delete mode 100644 bsp/buildroot/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch delete mode 100644 bsp/buildroot/package/mplayer/0001-disable-install-strip.patch delete mode 100644 bsp/buildroot/package/mplayer/0002-mpdemux-live555-async-interface.patch delete mode 100644 bsp/buildroot/package/mplayer/0003-configure-armv8.patch delete mode 100644 bsp/buildroot/package/mplayer/0004-configure-zlib.patch delete mode 100644 bsp/buildroot/package/mplayer/0005-tremor-ogg.patch delete mode 100644 bsp/buildroot/package/mplayer/0006-musl-ldt.patch delete mode 100644 bsp/buildroot/package/mplayer/0007-fixmmx.patch delete mode 100644 bsp/buildroot/package/mplayer/Config.in delete mode 100644 bsp/buildroot/package/mplayer/mplayer.hash delete mode 100644 bsp/buildroot/package/mplayer/mplayer.mk delete mode 100644 bsp/buildroot/package/multicat/0001-Fix-missing-pthread.patch delete mode 100644 bsp/buildroot/package/multicat/0002-Fix-musl-build.patch delete mode 100644 bsp/buildroot/package/multicat/0003-Fix-have-clock-nanosleep-with-uclibc.patch delete mode 100644 bsp/buildroot/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch create mode 100644 bsp/buildroot/package/ncmpc/0001-Fix-unique_ptr-error-with-some-old-toolchains.patch create mode 100644 bsp/buildroot/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch delete mode 100644 bsp/buildroot/package/ncurses/0002-recognise-uclinux.patch mode change 100755 => 100644 bsp/buildroot/package/neard/S53neard mode change 100755 => 100644 bsp/buildroot/package/netatalk/S50netatalk mode change 100755 => 100644 bsp/buildroot/package/netplug/S29netplug mode change 100755 => 100644 bsp/buildroot/package/netsnmp/S59snmpd create mode 100644 bsp/buildroot/package/netsurf/0001-avoid-system-perl-dependencies.patch create mode 100644 bsp/buildroot/package/netsurf/0002-fix-freetype-detection.patch create mode 100644 bsp/buildroot/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch create mode 100644 bsp/buildroot/package/netsurf/0004-fix-compilation-without-curl.patch create mode 100644 bsp/buildroot/package/netsurf/Config.in create mode 100644 bsp/buildroot/package/netsurf/netsurf.hash create mode 100644 bsp/buildroot/package/netsurf/netsurf.mk create mode 100644 bsp/buildroot/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch mode change 100755 => 100644 bsp/buildroot/package/network-manager/S45network-manager mode change 100755 => 100644 bsp/buildroot/package/nfs-utils/S60nfs delete mode 100644 bsp/buildroot/package/nftables/0001-src-fix-build-with-older-glibc.patch create mode 100644 bsp/buildroot/package/nghttp2/Config.in create mode 100644 bsp/buildroot/package/nghttp2/nghttp2.hash create mode 100644 bsp/buildroot/package/nghttp2/nghttp2.mk mode change 100755 => 100644 bsp/buildroot/package/nginx/S50nginx create mode 100644 bsp/buildroot/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch delete mode 100644 bsp/buildroot/package/ngrep/0001-make-objs.patch create mode 100644 bsp/buildroot/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch delete mode 100644 bsp/buildroot/package/ngrep/0002-pcre-header.patch create mode 100644 bsp/buildroot/package/ngrep/0003-fix-disable-tcpkill.patch delete mode 100644 bsp/buildroot/package/ngrep/0003-fix-static-link.patch delete mode 100644 bsp/buildroot/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch mode change 100755 => 100644 bsp/buildroot/package/nodm/S90nodm create mode 100644 bsp/buildroot/package/nss-myhostname/Config.in create mode 100644 bsp/buildroot/package/nss-myhostname/nss-myhostname.hash create mode 100644 bsp/buildroot/package/nss-myhostname/nss-myhostname.mk create mode 100644 bsp/buildroot/package/ntp/S48sntp mode change 100755 => 100644 bsp/buildroot/package/ntp/S49ntp create mode 100644 bsp/buildroot/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch create mode 100644 bsp/buildroot/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch create mode 100644 bsp/buildroot/package/ofono/0002-fix-musl-compile.patch mode change 100755 => 100644 bsp/buildroot/package/ofono/S46ofono mode change 100755 => 100644 bsp/buildroot/package/olsr/S50olsr delete mode 100644 bsp/buildroot/package/openblas/0001-Complete-support-for-MIPS-n32-ABI.patch create mode 100644 bsp/buildroot/package/openblas/0001-Makefile.arm-remove-march-flags.patch delete mode 100644 bsp/buildroot/package/openblas/0002-Makefile.arm-remove-march-flags.patch create mode 100644 bsp/buildroot/package/openblas/0002-Rework-__GLIBC_PREREQ-checks-to-avoid-breaking-non-g.patch create mode 100644 bsp/buildroot/package/openblas/0003-Fix-build-when-__GLIBC_PREREQ-is-not-defined.patch delete mode 100644 bsp/buildroot/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch create mode 100644 bsp/buildroot/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch create mode 100644 bsp/buildroot/package/opengl/libopencl/Config.in create mode 100644 bsp/buildroot/package/opengl/libopencl/libopencl.mk mode change 100755 => 100644 bsp/buildroot/package/openntpd/S49ntp create mode 100644 bsp/buildroot/package/openresolv/Config.in create mode 100644 bsp/buildroot/package/openresolv/openresolv.hash create mode 100644 bsp/buildroot/package/openresolv/openresolv.mk delete mode 100644 bsp/buildroot/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch create mode 100644 bsp/buildroot/package/openssh/0001-upstream-disallow-empty-incoming-filename-or-ones-th.patch delete mode 100644 bsp/buildroot/package/openssh/0002-fix-howmany-include.patch create mode 100644 bsp/buildroot/package/openssh/0002-upstream-Sanitize-scp-filenames-via-snmprintf.-To-do.patch create mode 100644 bsp/buildroot/package/openssh/0003-upstream-check-in-scp-client-that-filenames-sent-dur.patch create mode 100644 bsp/buildroot/package/openssh/sshd-sysusers.conf delete mode 100644 bsp/buildroot/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch delete mode 100644 bsp/buildroot/package/openvmtools/0001-has_bsd_printf.patch rename bsp/buildroot/package/openvmtools/{0002-no_cflags_werror.patch => 0001-no_cflags_werror.patch} (65%) rename bsp/buildroot/package/openvmtools/{0003-dont-force-cppflags.patch => 0002-dont-force-cppflags.patch} (73%) delete mode 100644 bsp/buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch mode change 100755 => 100644 bsp/buildroot/package/openvpn/S60openvpn create mode 100644 bsp/buildroot/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch delete mode 100644 bsp/buildroot/package/oprofile/0002-Fix-FTBFS-problem-with-GCC-6.patch create mode 100644 bsp/buildroot/package/oprofile/0002-oparchive-replace-basename-with-op_basename.patch create mode 100644 bsp/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch mode change 100755 => 100644 bsp/buildroot/package/owfs/S25owserver mode change 100755 => 100644 bsp/buildroot/package/owfs/S30owfs delete mode 100644 bsp/buildroot/package/p7zip/0001-bfin.patch delete mode 100644 bsp/buildroot/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch create mode 100644 bsp/buildroot/package/pamtester/Config.in create mode 100644 bsp/buildroot/package/pamtester/pamtester.hash create mode 100644 bsp/buildroot/package/pamtester/pamtester.mk create mode 100644 bsp/buildroot/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch create mode 100644 bsp/buildroot/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch create mode 100644 bsp/buildroot/package/pcm-tools/Config.in create mode 100644 bsp/buildroot/package/pcm-tools/pcm-tools.hash create mode 100644 bsp/buildroot/package/pcm-tools/pcm-tools.mk delete mode 100644 bsp/buildroot/package/pcre2/0001-fix-heapframe-alignment.patch create mode 100644 bsp/buildroot/package/perl-apache-logformat-compiler/Config.in create mode 100644 bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash create mode 100644 bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk create mode 100644 bsp/buildroot/package/perl-appconfig/Config.in create mode 100644 bsp/buildroot/package/perl-appconfig/perl-appconfig.hash create mode 100644 bsp/buildroot/package/perl-appconfig/perl-appconfig.mk create mode 100644 bsp/buildroot/package/perl-astro-suntime/Config.in create mode 100644 bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.hash create mode 100644 bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.mk create mode 100644 bsp/buildroot/package/perl-class-inspector/Config.in create mode 100644 bsp/buildroot/package/perl-class-inspector/perl-class-inspector.hash create mode 100644 bsp/buildroot/package/perl-class-inspector/perl-class-inspector.mk create mode 100644 bsp/buildroot/package/perl-class-load/Config.in create mode 100644 bsp/buildroot/package/perl-class-load/perl-class-load.hash create mode 100644 bsp/buildroot/package/perl-class-load/perl-class-load.mk create mode 100644 bsp/buildroot/package/perl-class-method-modifiers/Config.in create mode 100644 bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.hash create mode 100644 bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.mk create mode 100644 bsp/buildroot/package/perl-class-std-fast/Config.in create mode 100644 bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.hash create mode 100644 bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.mk create mode 100644 bsp/buildroot/package/perl-class-std/Config.in create mode 100644 bsp/buildroot/package/perl-class-std/perl-class-std.hash create mode 100644 bsp/buildroot/package/perl-class-std/perl-class-std.mk create mode 100644 bsp/buildroot/package/perl-convert-asn1/Config.in create mode 100644 bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.hash create mode 100644 bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.mk create mode 100644 bsp/buildroot/package/perl-cookie-baker/Config.in create mode 100644 bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.hash create mode 100644 bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.mk create mode 100644 bsp/buildroot/package/perl-crypt-blowfish/Config.in create mode 100644 bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.hash create mode 100644 bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.mk create mode 100644 bsp/buildroot/package/perl-crypt-cbc/Config.in create mode 100644 bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.hash create mode 100644 bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.mk create mode 100644 bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash create mode 100644 bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk create mode 100644 bsp/buildroot/package/perl-data-dump/Config.in create mode 100644 bsp/buildroot/package/perl-data-dump/perl-data-dump.hash create mode 100644 bsp/buildroot/package/perl-data-dump/perl-data-dump.mk create mode 100644 bsp/buildroot/package/perl-data-optlist/Config.in create mode 100644 bsp/buildroot/package/perl-data-optlist/perl-data-optlist.hash create mode 100644 bsp/buildroot/package/perl-data-optlist/perl-data-optlist.mk create mode 100644 bsp/buildroot/package/perl-data-uuid/Config.in create mode 100644 bsp/buildroot/package/perl-data-uuid/perl-data-uuid.hash create mode 100644 bsp/buildroot/package/perl-data-uuid/perl-data-uuid.mk create mode 100644 bsp/buildroot/package/perl-date-manip/Config.in create mode 100644 bsp/buildroot/package/perl-date-manip/perl-date-manip.hash create mode 100644 bsp/buildroot/package/perl-date-manip/perl-date-manip.mk create mode 100644 bsp/buildroot/package/perl-dbd-mysql/Config.in create mode 100644 bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.hash create mode 100644 bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.mk create mode 100644 bsp/buildroot/package/perl-dbi/Config.in create mode 100644 bsp/buildroot/package/perl-dbi/perl-dbi.hash create mode 100644 bsp/buildroot/package/perl-dbi/perl-dbi.mk create mode 100644 bsp/buildroot/package/perl-devel-globaldestruction/Config.in create mode 100644 bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash create mode 100644 bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk create mode 100644 bsp/buildroot/package/perl-devel-stacktrace-ashtml/Config.in create mode 100644 bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash create mode 100644 bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk create mode 100644 bsp/buildroot/package/perl-devel-stacktrace/Config.in create mode 100644 bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.hash create mode 100644 bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.mk create mode 100644 bsp/buildroot/package/perl-device-serialport/Config.in create mode 100644 bsp/buildroot/package/perl-device-serialport/perl-device-serialport.hash create mode 100644 bsp/buildroot/package/perl-device-serialport/perl-device-serialport.mk create mode 100644 bsp/buildroot/package/perl-digest-md5/Config.in create mode 100644 bsp/buildroot/package/perl-digest-md5/perl-digest-md5.hash create mode 100644 bsp/buildroot/package/perl-digest-md5/perl-digest-md5.mk create mode 100644 bsp/buildroot/package/perl-dist-checkconflicts/Config.in create mode 100644 bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash create mode 100644 bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk create mode 100644 bsp/buildroot/package/perl-exporter-tiny/Config.in create mode 100644 bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.hash create mode 100644 bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.mk create mode 100644 bsp/buildroot/package/perl-extutils-config/perl-extutils-config.hash create mode 100644 bsp/buildroot/package/perl-extutils-config/perl-extutils-config.mk create mode 100644 bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.hash create mode 100644 bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.mk create mode 100644 bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.hash create mode 100644 bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.mk create mode 100644 bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.hash create mode 100644 bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.mk create mode 100644 bsp/buildroot/package/perl-file-sharedir/Config.in create mode 100644 bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.hash create mode 100644 bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.mk create mode 100644 bsp/buildroot/package/perl-file-slurp/Config.in create mode 100644 bsp/buildroot/package/perl-file-slurp/perl-file-slurp.hash create mode 100644 bsp/buildroot/package/perl-file-slurp/perl-file-slurp.mk create mode 100644 bsp/buildroot/package/perl-filesys-notify-simple/Config.in create mode 100644 bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash create mode 100644 bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk create mode 100644 bsp/buildroot/package/perl-hash-multivalue/Config.in create mode 100644 bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.hash create mode 100644 bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.mk create mode 100644 bsp/buildroot/package/perl-http-entity-parser/Config.in create mode 100644 bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.hash create mode 100644 bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.mk create mode 100644 bsp/buildroot/package/perl-http-headers-fast/Config.in create mode 100644 bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.hash create mode 100644 bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.mk create mode 100644 bsp/buildroot/package/perl-http-multipartparser/Config.in create mode 100644 bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.hash create mode 100644 bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.mk create mode 100644 bsp/buildroot/package/perl-io-interface/Config.in create mode 100644 bsp/buildroot/package/perl-io-interface/perl-io-interface.hash create mode 100644 bsp/buildroot/package/perl-io-interface/perl-io-interface.mk create mode 100644 bsp/buildroot/package/perl-io-socket-multicast/Config.in create mode 100644 bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.hash create mode 100644 bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.mk create mode 100644 bsp/buildroot/package/perl-json-maybexs/Config.in create mode 100644 bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.hash create mode 100644 bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.mk create mode 100644 bsp/buildroot/package/perl-mime-base64-urlsafe/Config.in create mode 100644 bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash create mode 100644 bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk create mode 100644 bsp/buildroot/package/perl-mime-tools/Config.in create mode 100644 bsp/buildroot/package/perl-mime-tools/perl-mime-tools.hash create mode 100644 bsp/buildroot/package/perl-mime-tools/perl-mime-tools.mk create mode 100644 bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.hash create mode 100644 bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.mk create mode 100644 bsp/buildroot/package/perl-module-implementation/Config.in create mode 100644 bsp/buildroot/package/perl-module-implementation/perl-module-implementation.hash create mode 100644 bsp/buildroot/package/perl-module-implementation/perl-module-implementation.mk create mode 100644 bsp/buildroot/package/perl-module-runtime/Config.in create mode 100644 bsp/buildroot/package/perl-module-runtime/perl-module-runtime.hash create mode 100644 bsp/buildroot/package/perl-module-runtime/perl-module-runtime.mk create mode 100644 bsp/buildroot/package/perl-mojolicious-plugin-authentication/Config.in create mode 100644 bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash create mode 100644 bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk create mode 100644 bsp/buildroot/package/perl-moo/Config.in create mode 100644 bsp/buildroot/package/perl-moo/perl-moo.hash create mode 100644 bsp/buildroot/package/perl-moo/perl-moo.mk create mode 100644 bsp/buildroot/package/perl-net-ping/Config.in create mode 100644 bsp/buildroot/package/perl-net-ping/perl-net-ping.hash create mode 100644 bsp/buildroot/package/perl-net-ping/perl-net-ping.mk create mode 100644 bsp/buildroot/package/perl-net-snmp/Config.in create mode 100644 bsp/buildroot/package/perl-net-snmp/perl-net-snmp.hash create mode 100644 bsp/buildroot/package/perl-net-snmp/perl-net-snmp.mk create mode 100644 bsp/buildroot/package/perl-net-ssh2/Config.in create mode 100644 bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.hash create mode 100644 bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.mk create mode 100644 bsp/buildroot/package/perl-net-telnet/Config.in create mode 100644 bsp/buildroot/package/perl-net-telnet/perl-net-telnet.hash create mode 100644 bsp/buildroot/package/perl-net-telnet/perl-net-telnet.mk create mode 100644 bsp/buildroot/package/perl-number-bytes-human/Config.in create mode 100644 bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.hash create mode 100644 bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.mk create mode 100644 bsp/buildroot/package/perl-package-stash/Config.in create mode 100644 bsp/buildroot/package/perl-package-stash/perl-package-stash.hash create mode 100644 bsp/buildroot/package/perl-package-stash/perl-package-stash.mk create mode 100644 bsp/buildroot/package/perl-params-util/Config.in create mode 100644 bsp/buildroot/package/perl-params-util/perl-params-util.hash create mode 100644 bsp/buildroot/package/perl-params-util/perl-params-util.mk create mode 100644 bsp/buildroot/package/perl-plack/Config.in create mode 100644 bsp/buildroot/package/perl-plack/perl-plack.hash create mode 100644 bsp/buildroot/package/perl-plack/perl-plack.mk create mode 100644 bsp/buildroot/package/perl-posix-strftime-compiler/Config.in create mode 100644 bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash create mode 100644 bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk create mode 100644 bsp/buildroot/package/perl-role-tiny/Config.in create mode 100644 bsp/buildroot/package/perl-role-tiny/perl-role-tiny.hash create mode 100644 bsp/buildroot/package/perl-role-tiny/perl-role-tiny.mk create mode 100644 bsp/buildroot/package/perl-stream-buffered/Config.in create mode 100644 bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.hash create mode 100644 bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.mk create mode 100644 bsp/buildroot/package/perl-sub-exporter-progressive/Config.in create mode 100644 bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash create mode 100644 bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk create mode 100644 bsp/buildroot/package/perl-sub-install/Config.in create mode 100644 bsp/buildroot/package/perl-sub-install/perl-sub-install.hash create mode 100644 bsp/buildroot/package/perl-sub-install/perl-sub-install.mk create mode 100644 bsp/buildroot/package/perl-sub-quote/Config.in create mode 100644 bsp/buildroot/package/perl-sub-quote/perl-sub-quote.hash create mode 100644 bsp/buildroot/package/perl-sub-quote/perl-sub-quote.mk create mode 100644 bsp/buildroot/package/perl-sys-cpu/0001-remove-extraneous-include.patch create mode 100644 bsp/buildroot/package/perl-sys-cpu/Config.in create mode 100644 bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.hash create mode 100644 bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.mk create mode 100644 bsp/buildroot/package/perl-sys-meminfo/Config.in create mode 100644 bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.hash create mode 100644 bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.mk create mode 100644 bsp/buildroot/package/perl-sys-mmap/Config.in create mode 100644 bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.hash create mode 100644 bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.mk delete mode 100644 bsp/buildroot/package/perl-time-hires/Config.in delete mode 100644 bsp/buildroot/package/perl-time-hires/perl-time-hires.hash delete mode 100644 bsp/buildroot/package/perl-time-hires/perl-time-hires.mk create mode 100644 bsp/buildroot/package/perl-time-parsedate/Config.in create mode 100644 bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.hash create mode 100644 bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.mk create mode 100644 bsp/buildroot/package/perl-type-tiny/Config.in create mode 100644 bsp/buildroot/package/perl-type-tiny/perl-type-tiny.hash create mode 100644 bsp/buildroot/package/perl-type-tiny/perl-type-tiny.mk create mode 100644 bsp/buildroot/package/perl-www-form-urlencoded/Config.in create mode 100644 bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash create mode 100644 bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk create mode 100644 bsp/buildroot/package/perl-x10/Config.in create mode 100644 bsp/buildroot/package/perl-x10/perl-x10.hash create mode 100644 bsp/buildroot/package/perl-x10/perl-x10.mk delete mode 100644 bsp/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch create mode 100644 bsp/buildroot/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch create mode 100644 bsp/buildroot/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch create mode 100644 bsp/buildroot/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch create mode 100644 bsp/buildroot/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch rename bsp/buildroot/package/php/{0007-Call-apxs-with-correct-prefix.patch => 0005-Call-apxs-with-correct-prefix.patch} (93%) delete mode 100644 bsp/buildroot/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch delete mode 100644 bsp/buildroot/package/php/0006-avoid-bfin-gcc-segfault.patch delete mode 100644 bsp/buildroot/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch create mode 100644 bsp/buildroot/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch create mode 100644 bsp/buildroot/package/pigpio/Config.in create mode 100644 bsp/buildroot/package/pigpio/pigpio.hash create mode 100644 bsp/buildroot/package/pigpio/pigpio.mk create mode 100644 bsp/buildroot/package/pigz/Config.in create mode 100644 bsp/buildroot/package/pigz/pigz.hash create mode 100644 bsp/buildroot/package/pigz/pigz.mk create mode 100644 bsp/buildroot/package/pixiewps/Config.in create mode 100644 bsp/buildroot/package/pixiewps/pixiewps.hash create mode 100644 bsp/buildroot/package/pixiewps/pixiewps.mk create mode 100644 bsp/buildroot/package/pkg-golang.mk create mode 100644 bsp/buildroot/package/pkg-meson.mk delete mode 100644 bsp/buildroot/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch create mode 100644 bsp/buildroot/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch create mode 100644 bsp/buildroot/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch create mode 100644 bsp/buildroot/package/poco/0002-Add-support-for-m68000-1856.patch delete mode 100644 bsp/buildroot/package/poco/0002-fix-m68k-double-conv-detect.patch create mode 100644 bsp/buildroot/package/poco/0003-Foundation-src-utils.h-backport-double-conversion-ch.patch create mode 100644 bsp/buildroot/package/popt/0004-add-libiconv-to-popt.pc.patch create mode 100644 bsp/buildroot/package/pound/0002-fix-openssl-1.1.0.patch create mode 100644 bsp/buildroot/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch create mode 100644 bsp/buildroot/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch create mode 100644 bsp/buildroot/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch mode change 100755 => 100644 bsp/buildroot/package/proftpd/S50proftpd create mode 100644 bsp/buildroot/package/prosody/0001-enable-syslog.patch create mode 100644 bsp/buildroot/package/prosody/0002-add-pidfile.patch delete mode 100644 bsp/buildroot/package/prosody/prosody.cfg.lua create mode 100644 bsp/buildroot/package/protobuf-c/0001-Add-std-to-some-types.patch create mode 100644 bsp/buildroot/package/protobuf-c/0002-Fix-build-with-protobuf-3.6.x.patch create mode 100644 bsp/buildroot/package/protobuf/0001-Fix-to-allow-a-compilation-under-mips-big-endian-wit.patch delete mode 100644 bsp/buildroot/package/psmisc/0001-link-against-libintl.patch delete mode 100644 bsp/buildroot/package/psmisc/0002-add-git-version-get.patch mode change 100755 => 100644 bsp/buildroot/package/ptpd/S65ptpd mode change 100755 => 100644 bsp/buildroot/package/ptpd2/S65ptpd2 delete mode 100644 bsp/buildroot/package/pugixml/0001-check-cxx_long_long_type-existence.patch delete mode 100644 bsp/buildroot/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch mode change 100755 => 100644 bsp/buildroot/package/pulseaudio/S50pulseaudio create mode 100644 bsp/buildroot/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch create mode 100644 bsp/buildroot/package/python-aiodns/Config.in create mode 100644 bsp/buildroot/package/python-aiodns/python-aiodns.hash create mode 100644 bsp/buildroot/package/python-aiodns/python-aiodns.mk create mode 100644 bsp/buildroot/package/python-aiohttp-jinja2/Config.in create mode 100644 bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash create mode 100644 bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk create mode 100644 bsp/buildroot/package/python-aiohttp-remotes/Config.in create mode 100644 bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.hash create mode 100644 bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.mk create mode 100644 bsp/buildroot/package/python-aiohttp-security/Config.in create mode 100644 bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.hash create mode 100644 bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.mk create mode 100644 bsp/buildroot/package/python-aiohttp-session/Config.in create mode 100644 bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.hash create mode 100644 bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.mk create mode 100644 bsp/buildroot/package/python-aiohttp-sse/Config.in create mode 100644 bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.hash create mode 100644 bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.mk create mode 100644 bsp/buildroot/package/python-aiohttp/Config.in create mode 100644 bsp/buildroot/package/python-aiohttp/python-aiohttp.hash create mode 100644 bsp/buildroot/package/python-aiohttp/python-aiohttp.mk create mode 100644 bsp/buildroot/package/python-aiojobs/Config.in create mode 100644 bsp/buildroot/package/python-aiojobs/python-aiojobs.hash create mode 100644 bsp/buildroot/package/python-aiojobs/python-aiojobs.mk create mode 100644 bsp/buildroot/package/python-aiorwlock/Config.in create mode 100644 bsp/buildroot/package/python-aiorwlock/python-aiorwlock.hash create mode 100644 bsp/buildroot/package/python-aiorwlock/python-aiorwlock.mk create mode 100644 bsp/buildroot/package/python-async-timeout/Config.in create mode 100644 bsp/buildroot/package/python-async-timeout/python-async-timeout.hash create mode 100644 bsp/buildroot/package/python-async-timeout/python-async-timeout.mk create mode 100644 bsp/buildroot/package/python-backports-ssl-match-hostname/Config.in create mode 100644 bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash create mode 100644 bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk create mode 100644 bsp/buildroot/package/python-cached-property/Config.in create mode 100644 bsp/buildroot/package/python-cached-property/python-cached-property.hash create mode 100644 bsp/buildroot/package/python-cached-property/python-cached-property.mk create mode 100644 bsp/buildroot/package/python-cchardet/Config.in create mode 100644 bsp/buildroot/package/python-cchardet/python-cchardet.hash create mode 100644 bsp/buildroot/package/python-cchardet/python-cchardet.mk create mode 100644 bsp/buildroot/package/python-crossbar/0002-Remove-idna-requirement.patch delete mode 100644 bsp/buildroot/package/python-crossbar/0002-Rework-runtime-dependencies.patch create mode 100644 bsp/buildroot/package/python-cython/Config.in.host create mode 100644 bsp/buildroot/package/python-cython/python-cython.hash create mode 100644 bsp/buildroot/package/python-cython/python-cython.mk create mode 100644 bsp/buildroot/package/python-daemonize/Config.in create mode 100644 bsp/buildroot/package/python-daemonize/python-daemonize.hash create mode 100644 bsp/buildroot/package/python-daemonize/python-daemonize.mk create mode 100644 bsp/buildroot/package/python-docker-pycreds/Config.in create mode 100644 bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.hash create mode 100644 bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.mk create mode 100644 bsp/buildroot/package/python-docker/Config.in create mode 100644 bsp/buildroot/package/python-docker/python-docker.hash create mode 100644 bsp/buildroot/package/python-docker/python-docker.mk create mode 100644 bsp/buildroot/package/python-dockerpty/Config.in create mode 100644 bsp/buildroot/package/python-dockerpty/python-dockerpty.hash create mode 100644 bsp/buildroot/package/python-dockerpty/python-dockerpty.mk create mode 100644 bsp/buildroot/package/python-falcon/Config.in create mode 100644 bsp/buildroot/package/python-falcon/python-falcon.hash create mode 100644 bsp/buildroot/package/python-falcon/python-falcon.mk create mode 100644 bsp/buildroot/package/python-fastentrypoints/Config.in.host create mode 100644 bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.hash create mode 100644 bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.mk create mode 100644 bsp/buildroot/package/python-fire/Config.in create mode 100644 bsp/buildroot/package/python-fire/python-fire.hash create mode 100644 bsp/buildroot/package/python-fire/python-fire.mk create mode 100644 bsp/buildroot/package/python-flask-sqlalchemy/Config.in create mode 100644 bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash create mode 100644 bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk create mode 100644 bsp/buildroot/package/python-influxdb/Config.in create mode 100644 bsp/buildroot/package/python-influxdb/python-influxdb.hash create mode 100644 bsp/buildroot/package/python-influxdb/python-influxdb.mk create mode 100644 bsp/buildroot/package/python-jsonmodels/Config.in create mode 100644 bsp/buildroot/package/python-jsonmodels/python-jsonmodels.hash create mode 100644 bsp/buildroot/package/python-jsonmodels/python-jsonmodels.mk create mode 100644 bsp/buildroot/package/python-libusb1/Config.in create mode 100644 bsp/buildroot/package/python-libusb1/python-libusb1.hash create mode 100644 bsp/buildroot/package/python-libusb1/python-libusb1.mk create mode 100644 bsp/buildroot/package/python-mimeparse/Config.in create mode 100644 bsp/buildroot/package/python-mimeparse/python-mimeparse.hash create mode 100644 bsp/buildroot/package/python-mimeparse/python-mimeparse.mk create mode 100644 bsp/buildroot/package/python-multidict/Config.in create mode 100644 bsp/buildroot/package/python-multidict/python-multidict.hash create mode 100644 bsp/buildroot/package/python-multidict/python-multidict.mk create mode 100644 bsp/buildroot/package/python-networkx/Config.in create mode 100644 bsp/buildroot/package/python-networkx/python-networkx.hash create mode 100644 bsp/buildroot/package/python-networkx/python-networkx.mk delete mode 100644 bsp/buildroot/package/python-numpy/0002-Add-support-of-ARC.patch create mode 100644 bsp/buildroot/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch create mode 100644 bsp/buildroot/package/python-passlib/Config.in create mode 100644 bsp/buildroot/package/python-passlib/python-passlib.hash create mode 100644 bsp/buildroot/package/python-passlib/python-passlib.mk create mode 100644 bsp/buildroot/package/python-pigpio/Config.in create mode 100644 bsp/buildroot/package/python-pigpio/python-pigpio.hash create mode 100644 bsp/buildroot/package/python-pigpio/python-pigpio.mk create mode 100644 bsp/buildroot/package/python-pip/Config.in create mode 100644 bsp/buildroot/package/python-pip/python-pip.hash create mode 100644 bsp/buildroot/package/python-pip/python-pip.mk create mode 100644 bsp/buildroot/package/python-ply/Config.in create mode 100644 bsp/buildroot/package/python-ply/python-ply.hash create mode 100644 bsp/buildroot/package/python-ply/python-ply.mk create mode 100644 bsp/buildroot/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch create mode 100644 bsp/buildroot/package/python-psycopg2/Config.in create mode 100644 bsp/buildroot/package/python-psycopg2/python-psycopg2.hash create mode 100644 bsp/buildroot/package/python-psycopg2/python-psycopg2.mk create mode 100644 bsp/buildroot/package/python-py/Config.in create mode 100644 bsp/buildroot/package/python-py/python-py.hash create mode 100644 bsp/buildroot/package/python-py/python-py.mk create mode 100644 bsp/buildroot/package/python-pyasn1-modules/Config.in create mode 100644 bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash create mode 100644 bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk create mode 100644 bsp/buildroot/package/python-pyasn1/Config.in create mode 100644 bsp/buildroot/package/python-pyasn1/python-pyasn1.hash create mode 100644 bsp/buildroot/package/python-pyasn1/python-pyasn1.mk create mode 100644 bsp/buildroot/package/python-pycares/Config.in create mode 100644 bsp/buildroot/package/python-pycares/python-pycares.hash create mode 100644 bsp/buildroot/package/python-pycares/python-pycares.mk create mode 100644 bsp/buildroot/package/python-pycryptodomex/Config.in create mode 100644 bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash create mode 100644 bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk create mode 100644 bsp/buildroot/package/python-pyhamcrest/Config.in create mode 100644 bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.hash create mode 100644 bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.mk create mode 100644 bsp/buildroot/package/python-pymodbus/Config.in create mode 100644 bsp/buildroot/package/python-pymodbus/python-pymodbus.hash create mode 100644 bsp/buildroot/package/python-pymodbus/python-pymodbus.mk delete mode 100644 bsp/buildroot/package/python-pyqt/0001-configure-skip-qtdetail.patch delete mode 100644 bsp/buildroot/package/python-pyqt/0002-configure-set-qws.patch delete mode 100644 bsp/buildroot/package/python-pyqt/0003-sip-add_qws.patch delete mode 100644 bsp/buildroot/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch delete mode 100644 bsp/buildroot/package/python-pyqt/0005-sip-fix_qws_handle.patch delete mode 100644 bsp/buildroot/package/python-pyqt/Config.in delete mode 100644 bsp/buildroot/package/python-pyqt/python-pyqt.hash delete mode 100644 bsp/buildroot/package/python-pyqt/python-pyqt.mk create mode 100644 bsp/buildroot/package/python-pyqt5/0004-drop-qttest-qtestmouse-waitforevents.patch create mode 100644 bsp/buildroot/package/python-pysmi/Config.in create mode 100644 bsp/buildroot/package/python-pysmi/python-pysmi.hash create mode 100644 bsp/buildroot/package/python-pysmi/python-pysmi.mk delete mode 100644 bsp/buildroot/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch create mode 100644 bsp/buildroot/package/python-reentry/Config.in create mode 100644 bsp/buildroot/package/python-reentry/python-reentry.hash create mode 100644 bsp/buildroot/package/python-reentry/python-reentry.mk create mode 100644 bsp/buildroot/package/python-request-id/Config.in create mode 100644 bsp/buildroot/package/python-request-id/python-request-id.hash create mode 100644 bsp/buildroot/package/python-request-id/python-request-id.mk create mode 100644 bsp/buildroot/package/python-scapy/Config.in create mode 100644 bsp/buildroot/package/python-scapy/python-scapy.hash create mode 100644 bsp/buildroot/package/python-scapy/python-scapy.mk create mode 100644 bsp/buildroot/package/python-semver/Config.in create mode 100644 bsp/buildroot/package/python-semver/python-semver.hash create mode 100644 bsp/buildroot/package/python-semver/python-semver.mk create mode 100644 bsp/buildroot/package/python-sentry-sdk/Config.in create mode 100644 bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.hash create mode 100644 bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.mk create mode 100644 bsp/buildroot/package/python-serial-asyncio/Config.in create mode 100644 bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.hash create mode 100644 bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.mk create mode 100644 bsp/buildroot/package/python-sqlalchemy/Config.in create mode 100644 bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.hash create mode 100644 bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.mk create mode 100644 bsp/buildroot/package/python-subprocess32/Config.in create mode 100644 bsp/buildroot/package/python-subprocess32/python-subprocess32.hash create mode 100644 bsp/buildroot/package/python-subprocess32/python-subprocess32.mk create mode 100644 bsp/buildroot/package/python-texttable/Config.in create mode 100644 bsp/buildroot/package/python-texttable/python-texttable.hash create mode 100644 bsp/buildroot/package/python-texttable/python-texttable.mk create mode 100644 bsp/buildroot/package/python-tornado/0001-Disable-SSL-checks.patch create mode 100644 bsp/buildroot/package/python-typing/Config.in create mode 100644 bsp/buildroot/package/python-typing/python-typing.hash create mode 100644 bsp/buildroot/package/python-typing/python-typing.mk create mode 100644 bsp/buildroot/package/python-uvloop/Config.in create mode 100644 bsp/buildroot/package/python-uvloop/python-uvloop.hash create mode 100644 bsp/buildroot/package/python-uvloop/python-uvloop.mk create mode 100644 bsp/buildroot/package/python-validators/Config.in create mode 100644 bsp/buildroot/package/python-validators/python-validators.hash create mode 100644 bsp/buildroot/package/python-validators/python-validators.mk create mode 100644 bsp/buildroot/package/python-visitor/Config.in create mode 100644 bsp/buildroot/package/python-visitor/python-visitor.hash create mode 100644 bsp/buildroot/package/python-visitor/python-visitor.mk create mode 100644 bsp/buildroot/package/python-webob/Config.in create mode 100644 bsp/buildroot/package/python-webob/python-webob.hash create mode 100644 bsp/buildroot/package/python-webob/python-webob.mk create mode 100644 bsp/buildroot/package/python-websocket-client/Config.in create mode 100644 bsp/buildroot/package/python-websocket-client/python-websocket-client.hash create mode 100644 bsp/buildroot/package/python-websocket-client/python-websocket-client.mk delete mode 100644 bsp/buildroot/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch create mode 100644 bsp/buildroot/package/python-wrapt/Config.in create mode 100644 bsp/buildroot/package/python-wrapt/python-wrapt.hash create mode 100644 bsp/buildroot/package/python-wrapt/python-wrapt.mk create mode 100644 bsp/buildroot/package/python-wtforms/Config.in create mode 100644 bsp/buildroot/package/python-wtforms/python-wtforms.hash create mode 100644 bsp/buildroot/package/python-wtforms/python-wtforms.mk create mode 100644 bsp/buildroot/package/python-xlrd/Config.in.host create mode 100644 bsp/buildroot/package/python-yarl/Config.in create mode 100644 bsp/buildroot/package/python-yarl/python-yarl.hash create mode 100644 bsp/buildroot/package/python-yarl/python-yarl.mk create mode 100644 bsp/buildroot/package/python-yieldfrom/Config.in create mode 100644 bsp/buildroot/package/python-yieldfrom/python-yieldfrom.hash create mode 100644 bsp/buildroot/package/python-yieldfrom/python-yieldfrom.mk create mode 100644 bsp/buildroot/package/python-zeroconf/Config.in create mode 100644 bsp/buildroot/package/python-zeroconf/python-zeroconf.hash create mode 100644 bsp/buildroot/package/python-zeroconf/python-zeroconf.mk create mode 100644 bsp/buildroot/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch create mode 120000 bsp/buildroot/package/python3-setuptools/0001-add-executable.patch create mode 120000 bsp/buildroot/package/python3-setuptools/python3-setuptools.hash create mode 100644 bsp/buildroot/package/python3-setuptools/python3-setuptools.mk create mode 100644 bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch create mode 100644 bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch create mode 100644 bsp/buildroot/package/python3/0032-fix-building-on-older-distributions.patch create mode 100644 bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch create mode 100644 bsp/buildroot/package/qemu/0002-configure-improve-usbfs-check.patch create mode 100644 bsp/buildroot/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch create mode 100644 bsp/buildroot/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch create mode 100644 bsp/buildroot/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch create mode 100644 bsp/buildroot/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch delete mode 100644 bsp/buildroot/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch delete mode 100644 bsp/buildroot/package/qt/0002-configure.patch delete mode 100644 bsp/buildroot/package/qt/0003-eglwsegl-use-system.patch delete mode 100644 bsp/buildroot/package/qt/0004-fix-const-atomics.patch delete mode 100644 bsp/buildroot/package/qt/0005-pthread_getattr_np.patch delete mode 100644 bsp/buildroot/package/qt/0006-script-qtdbus-no-gui.patch delete mode 100644 bsp/buildroot/package/qt/0007-Add-initial-support-of-ARC-architecture.patch delete mode 100644 bsp/buildroot/package/qt/0008-Prevent-unaligned-access-on-ARC.patch delete mode 100644 bsp/buildroot/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch delete mode 100644 bsp/buildroot/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch delete mode 100644 bsp/buildroot/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch delete mode 100644 bsp/buildroot/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch delete mode 100644 bsp/buildroot/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch delete mode 100644 bsp/buildroot/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch delete mode 100644 bsp/buildroot/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch delete mode 100644 bsp/buildroot/package/qt/Config.gfx.in delete mode 100644 bsp/buildroot/package/qt/Config.in delete mode 100644 bsp/buildroot/package/qt/Config.keyboard.in delete mode 100644 bsp/buildroot/package/qt/Config.mouse.in delete mode 100644 bsp/buildroot/package/qt/Config.sql.in delete mode 100644 bsp/buildroot/package/qt/powervr.ini delete mode 100644 bsp/buildroot/package/qt/qt.hash delete mode 100644 bsp/buildroot/package/qt/qt.mk create mode 100644 bsp/buildroot/package/qt5/qt5base/5.11.3/0001-qtbase-Fix-build-error-when-using-EGL.patch create mode 100644 bsp/buildroot/package/qt5/qt5base/5.11.3/0002-double-conversion-enable-for-aarch64_be.patch create mode 100644 bsp/buildroot/package/qt5/qt5base/5.11.3/0003-double-conversion-enable-for-or1k.patch create mode 100644 bsp/buildroot/package/qt5/qt5base/5.11.3/0004-double-conversion-enable-for-microblaze.patch create mode 100644 bsp/buildroot/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch create mode 100644 bsp/buildroot/package/qt5/qt5base/5.11.3/qt5base.hash create mode 100644 bsp/buildroot/package/qt5/qt5base/5.6.3/0002-qtbase-Fix-build-error-when-using-EGL.patch create mode 100644 bsp/buildroot/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch create mode 100644 bsp/buildroot/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash create mode 100644 bsp/buildroot/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash create mode 100644 bsp/buildroot/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch create mode 100644 bsp/buildroot/package/qt5/qt5location/5.11.3/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch create mode 100644 bsp/buildroot/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash create mode 100644 bsp/buildroot/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash create mode 100644 bsp/buildroot/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash create mode 100644 bsp/buildroot/package/qt5/qt5serialport/5.11.3/qt5serialport.hash create mode 100644 bsp/buildroot/package/qt5/qt5serialport/5.6.3/qt5serialport.hash create mode 100644 bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/0001-remove-weird-install-path-for-example.patch create mode 100644 bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash create mode 100644 bsp/buildroot/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash create mode 100644 bsp/buildroot/package/qt5/qt5webengine/host-pkg-config.in create mode 100644 bsp/buildroot/package/qt5/qt5webkit/5.9.1/0005-Fix-installation-of-class-headers.patch create mode 100644 bsp/buildroot/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash rename bsp/buildroot/package/qt5/qt5x11extras/{ => 5.6.3}/qt5x11extras.hash (64%) delete mode 100644 bsp/buildroot/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch delete mode 100644 bsp/buildroot/package/qtuio/0002-dont-append-_d-for-debug.patch delete mode 100644 bsp/buildroot/package/qtuio/Config.in delete mode 100644 bsp/buildroot/package/qtuio/qtuio.hash delete mode 100644 bsp/buildroot/package/qtuio/qtuio.mk delete mode 100644 bsp/buildroot/package/quagga/0002-configure-fix-static-linking-with-readline.patch delete mode 100644 bsp/buildroot/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch delete mode 100644 bsp/buildroot/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch delete mode 100644 bsp/buildroot/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch delete mode 100644 bsp/buildroot/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch delete mode 100644 bsp/buildroot/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch delete mode 100644 bsp/buildroot/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch create mode 100644 bsp/buildroot/package/quotatool/0001-fix-missing-__P-definition-for-musl-compile.patch create mode 100644 bsp/buildroot/package/quotatool/Config.in create mode 100644 bsp/buildroot/package/quotatool/quotatool.hash create mode 100644 bsp/buildroot/package/quotatool/quotatool.mk mode change 100755 => 100644 bsp/buildroot/package/rabbitmq-server/S50rabbitmq-server mode change 100755 => 100644 bsp/buildroot/package/radvd/S50radvd create mode 100644 bsp/buildroot/package/rcw/Config.in.host create mode 100644 bsp/buildroot/package/rcw/rcw.hash create mode 100644 bsp/buildroot/package/rcw/rcw.mk create mode 100644 bsp/buildroot/package/rdesktop/0002-openssl11.patch create mode 100644 bsp/buildroot/package/reaver/0001-fix-271.patch create mode 100644 bsp/buildroot/package/reaver/Config.in create mode 100644 bsp/buildroot/package/reaver/reaver.hash create mode 100644 bsp/buildroot/package/reaver/reaver.mk mode change 100755 => 100644 bsp/buildroot/package/rng-tools/S21rngd delete mode 100644 bsp/buildroot/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch mode change 100755 => 100644 bsp/buildroot/package/rpi-userland/S94vcfiled delete mode 100644 bsp/buildroot/package/rsyslog/S01logging create mode 100644 bsp/buildroot/package/rsyslog/S01rsyslogd create mode 100644 bsp/buildroot/package/rtc-tools/Config.in create mode 100644 bsp/buildroot/package/rtc-tools/rtc-tools.hash create mode 100644 bsp/buildroot/package/rtc-tools/rtc-tools.mk create mode 100644 bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch delete mode 100644 bsp/buildroot/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch create mode 100644 bsp/buildroot/package/safeclib/0001-Add-disable-doc-option.patch delete mode 100644 bsp/buildroot/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch create mode 100644 bsp/buildroot/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch delete mode 100644 bsp/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch create mode 100644 bsp/buildroot/package/sdl2/0001-fix-build-with-disable-threads.patch create mode 100644 bsp/buildroot/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch create mode 100644 bsp/buildroot/package/sedutil/Config.in create mode 100644 bsp/buildroot/package/sedutil/sedutil.hash create mode 100644 bsp/buildroot/package/sedutil/sedutil.mk delete mode 100644 bsp/buildroot/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch create mode 100644 bsp/buildroot/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch create mode 100644 bsp/buildroot/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch create mode 100644 bsp/buildroot/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch create mode 100644 bsp/buildroot/package/shadowsocks-libev/Config.in create mode 100644 bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash create mode 100644 bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk delete mode 100644 bsp/buildroot/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch create mode 100644 bsp/buildroot/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch create mode 100644 bsp/buildroot/package/snort/0001-configure.in-Avoid-path-poisoning-with-libpcap.patch create mode 100644 bsp/buildroot/package/snort/0002-configure.in-Allow-to-override-the-INADDR_NONE-check.patch create mode 100644 bsp/buildroot/package/snort/0003-configure.in-convert-AC_RUN_IFELSE-to-AC_CHECK_MEMBE.patch create mode 100644 bsp/buildroot/package/snort/0004-configure.in-convert-AC_RUN_IFELSE-to-AC_COMPILE_IFE.patch create mode 100644 bsp/buildroot/package/snort/0005-fix-sparc.patch create mode 100644 bsp/buildroot/package/snort/Config.in create mode 100644 bsp/buildroot/package/snort/snort.hash create mode 100644 bsp/buildroot/package/snort/snort.mk create mode 100644 bsp/buildroot/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch create mode 100644 bsp/buildroot/package/spandsp/Config.in create mode 100644 bsp/buildroot/package/spandsp/spandsp.hash create mode 100644 bsp/buildroot/package/spandsp/spandsp.mk create mode 100644 bsp/buildroot/package/speexdsp/0001-port-resample-neon-to-aarch64.patch create mode 100644 bsp/buildroot/package/speexdsp/Config.in create mode 100644 bsp/buildroot/package/speexdsp/speexdsp.hash create mode 100644 bsp/buildroot/package/speexdsp/speexdsp.mk create mode 100644 bsp/buildroot/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch create mode 100644 bsp/buildroot/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch create mode 100644 bsp/buildroot/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch rename bsp/buildroot/package/squeezelite/{0003-ffmpeg_2_9.patch => 0003-Replace-deprecated-FFmpeg-API.patch} (80%) create mode 100644 bsp/buildroot/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch delete mode 100644 bsp/buildroot/package/squid/0001-assume-get-certificate-ok.patch create mode 100644 bsp/buildroot/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch delete mode 100644 bsp/buildroot/package/squid/0002-missing-include-time_h.patch mode change 100755 => 100644 bsp/buildroot/package/squid/S97squid create mode 100644 bsp/buildroot/package/strace/0001-Fix-build-for-no-MMU-targets.patch create mode 100644 bsp/buildroot/package/strace/0002-Fix-build-for-mips-targets.patch delete mode 100644 bsp/buildroot/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch create mode 100644 bsp/buildroot/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch create mode 100644 bsp/buildroot/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch create mode 100644 bsp/buildroot/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch create mode 100644 bsp/buildroot/package/sunxi-mali-mainline-driver/Config.in create mode 100644 bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash create mode 100644 bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk create mode 100644 bsp/buildroot/package/sunxi-mali-mainline/Config.in create mode 100644 bsp/buildroot/package/sunxi-mali-mainline/egl.pc create mode 100644 bsp/buildroot/package/sunxi-mali-mainline/glesv2.pc create mode 100644 bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.hash create mode 100644 bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk mode change 100755 => 100644 bsp/buildroot/package/supervisor/S99supervisord create mode 100644 bsp/buildroot/package/swig/Config.in.host delete mode 100644 bsp/buildroot/package/swupdate/0001-compat.h-introduce-compatibility-header.patch delete mode 100644 bsp/buildroot/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch delete mode 100644 bsp/buildroot/package/synergy/0001-allow-building-of-synergy-without-tests.patch delete mode 100644 bsp/buildroot/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch delete mode 100644 bsp/buildroot/package/sysklogd/S01logging create mode 100644 bsp/buildroot/package/sysklogd/S01syslogd create mode 100644 bsp/buildroot/package/sysklogd/S02klogd create mode 100644 bsp/buildroot/package/syslog-ng/0001-fix-build-on-uclibc.patch delete mode 100644 bsp/buildroot/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch create mode 100644 bsp/buildroot/package/syslog-ng/0002-build-make-dlsym-optional.patch delete mode 100644 bsp/buildroot/package/syslog-ng/S01logging create mode 100644 bsp/buildroot/package/syslog-ng/S01syslog-ng create mode 100644 bsp/buildroot/package/syslog-ng/syslog-ng@default delete mode 100644 bsp/buildroot/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch create mode 100644 bsp/buildroot/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch create mode 100644 bsp/buildroot/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch delete mode 100644 bsp/buildroot/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch delete mode 100644 bsp/buildroot/package/systemd/0005-basic-macros-rename-noreturn.patch create mode 100644 bsp/buildroot/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch delete mode 100644 bsp/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch create mode 100644 bsp/buildroot/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch create mode 100644 bsp/buildroot/package/systemd/0007-missing_syscall.h-include-errno.h.patch create mode 100644 bsp/buildroot/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch create mode 100644 bsp/buildroot/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch create mode 100644 bsp/buildroot/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch create mode 100644 bsp/buildroot/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch create mode 100644 bsp/buildroot/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch create mode 100644 bsp/buildroot/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch create mode 100644 bsp/buildroot/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch create mode 100644 bsp/buildroot/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch create mode 100644 bsp/buildroot/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch create mode 100644 bsp/buildroot/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch create mode 100644 bsp/buildroot/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch create mode 100644 bsp/buildroot/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch delete mode 100644 bsp/buildroot/package/sysvinit/0001-fix-libcrypt-test.patch delete mode 100644 bsp/buildroot/package/sysvinit/0002-musl-fix-compilation-errors.patch mode change 100755 => 100644 bsp/buildroot/package/targetcli-fb/S50target delete mode 100644 bsp/buildroot/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch delete mode 100644 bsp/buildroot/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch delete mode 100644 bsp/buildroot/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch mode change 100755 => 100644 bsp/buildroot/package/tcf-agent/S55tcf-agent mode change 100755 => 100644 bsp/buildroot/package/tftpd/S80tftpd-hpa create mode 100644 bsp/buildroot/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch delete mode 100644 bsp/buildroot/package/thrift/0001-libevent-cross.patch delete mode 100644 bsp/buildroot/package/thrift/0002-autoreconf.patch delete mode 100644 bsp/buildroot/package/thrift/0003-zlib-cross.patch delete mode 100644 bsp/buildroot/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch delete mode 100644 bsp/buildroot/package/thrift/0005-configure.ac-C-11-is-optional.patch delete mode 100644 bsp/buildroot/package/tidsp-binaries/Config.in delete mode 100644 bsp/buildroot/package/tidsp-binaries/tidsp-binaries.hash delete mode 100644 bsp/buildroot/package/tidsp-binaries/tidsp-binaries.mk create mode 100644 bsp/buildroot/package/tini/Config.in create mode 100644 bsp/buildroot/package/tini/tini.hash create mode 100644 bsp/buildroot/package/tini/tini.mk create mode 100644 bsp/buildroot/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch mode change 100755 => 100644 bsp/buildroot/package/tinyhttpd/S85tinyhttpd create mode 100644 bsp/buildroot/package/tk/Config.in create mode 100644 bsp/buildroot/package/tk/tk.hash create mode 100644 bsp/buildroot/package/tk/tk.mk delete mode 100644 bsp/buildroot/package/tn5250/0001-ssldir.patch delete mode 100644 bsp/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch delete mode 100644 bsp/buildroot/package/tn5250/Config.in delete mode 100644 bsp/buildroot/package/tn5250/tn5250.hash delete mode 100644 bsp/buildroot/package/tn5250/tn5250.mk create mode 100644 bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch delete mode 100644 bsp/buildroot/package/tor/0001-openssl-libz.patch create mode 100644 bsp/buildroot/package/tpm2-abrmd/Config.in create mode 100644 bsp/buildroot/package/tpm2-abrmd/S80tpm2-abrmd create mode 100644 bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.hash create mode 100644 bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.mk create mode 100644 bsp/buildroot/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch create mode 100644 bsp/buildroot/package/tpm2-tools/Config.in create mode 100644 bsp/buildroot/package/tpm2-tools/tpm2-tools.hash create mode 100644 bsp/buildroot/package/tpm2-tools/tpm2-tools.mk create mode 100644 bsp/buildroot/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch create mode 100644 bsp/buildroot/package/tpm2-tss/Config.in create mode 100644 bsp/buildroot/package/tpm2-tss/tpm2-tss.hash create mode 100644 bsp/buildroot/package/tpm2-tss/tpm2-tss.mk rename bsp/buildroot/package/transmission/{0004-fix-utp-include.patch => 0003-fix-utp-include.patch} (100%) delete mode 100644 bsp/buildroot/package/transmission/0003-miniupnpc-cross.patch rename bsp/buildroot/package/transmission/{0005-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch => 0004-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch} (100%) rename bsp/buildroot/package/transmission/{0006-libsystemd.patch => 0005-libsystemd.patch} (100%) mode change 100755 => 100644 bsp/buildroot/package/triggerhappy/S10triggerhappy create mode 100644 bsp/buildroot/package/trinity/0002-memfd-fix-build-with-glibc-2.27.patch create mode 100644 bsp/buildroot/package/trinity/0003-configure-fix-build-with-kernel-headers-v4.17.patch create mode 100644 bsp/buildroot/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch create mode 100644 bsp/buildroot/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch rename bsp/buildroot/package/trousers/{0002-Check-if-the-compiler-understands-pie-and-relro-options.patch => 0001-Check-if-the-compiler-understands-pie-and-relro-options.patch} (97%) delete mode 100644 bsp/buildroot/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch rename bsp/buildroot/package/trousers/{0004-Check-that-getpwent_r-is-available-before-using-it.patch => 0002-Check-that-getpwent_r-is-available-before-using-it.patch} (93%) delete mode 100644 bsp/buildroot/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch delete mode 100644 bsp/buildroot/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch delete mode 100644 bsp/buildroot/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch create mode 100644 bsp/buildroot/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch delete mode 100644 bsp/buildroot/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch create mode 100644 bsp/buildroot/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch create mode 100644 bsp/buildroot/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch delete mode 100644 bsp/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch create mode 100644 bsp/buildroot/package/udftools/0001-pktsetup-pktsetup.c-do-not-include-bits-types.h.patch create mode 100644 bsp/buildroot/package/udftools/0002-configure.ac-detect-readline-via-pkg-config-when-pos.patch create mode 100644 bsp/buildroot/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch create mode 100644 bsp/buildroot/package/udftools/Config.in create mode 100644 bsp/buildroot/package/udftools/udftools.hash create mode 100644 bsp/buildroot/package/udftools/udftools.mk create mode 100644 bsp/buildroot/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch delete mode 100644 bsp/buildroot/package/uemacs/02-skip-xcase-termios-flag.patch create mode 100644 bsp/buildroot/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch create mode 100644 bsp/buildroot/package/usbutils/0001-add-gpl-license-files.patch create mode 100644 bsp/buildroot/package/ustream-ssl/ustream-ssl.hash delete mode 100644 bsp/buildroot/package/util-linux/0001-docs-add-ISC-licence.patch create mode 100644 bsp/buildroot/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch create mode 100644 bsp/buildroot/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch delete mode 100644 bsp/buildroot/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch delete mode 100644 bsp/buildroot/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch create mode 100644 bsp/buildroot/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch create mode 100644 bsp/buildroot/package/utp_com/Config.in.host create mode 100644 bsp/buildroot/package/utp_com/utp_com.hash create mode 100644 bsp/buildroot/package/utp_com/utp_com.mk create mode 100644 bsp/buildroot/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch delete mode 100644 bsp/buildroot/package/valgrind/0004-Fixes-for-musl-libc.patch create mode 100644 bsp/buildroot/package/vboot-utils/0006-Update-for-openssl-1.1.patch create mode 100644 bsp/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch delete mode 100644 bsp/buildroot/package/vlc/0001-vlc-static.patch delete mode 100644 bsp/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch create mode 100644 bsp/buildroot/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch create mode 100644 bsp/buildroot/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch delete mode 100644 bsp/buildroot/package/vlc/0004-implicit-function-declaration.patch create mode 100644 bsp/buildroot/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch delete mode 100644 bsp/buildroot/package/vlc/0005-libvorbisidec.patch create mode 100644 bsp/buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch delete mode 100644 bsp/buildroot/package/vlc/0006-qt-x11.patch create mode 100644 bsp/buildroot/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch delete mode 100644 bsp/buildroot/package/vlc/0007-strerror.patch create mode 100644 bsp/buildroot/package/vlc/0008-Add-support-for-freerdp2.patch delete mode 100644 bsp/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch create mode 100644 bsp/buildroot/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch delete mode 100644 bsp/buildroot/package/vlc/0009-ffmpeg-3.0.patch delete mode 100644 bsp/buildroot/package/vlc/0010-static-assert.patch delete mode 100644 bsp/buildroot/package/vlc/0011-static-assert.patch delete mode 100644 bsp/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch create mode 100644 bsp/buildroot/package/vmtouch/Config.in create mode 100644 bsp/buildroot/package/vmtouch/vmtouch.hash create mode 100644 bsp/buildroot/package/vmtouch/vmtouch.mk mode change 100755 => 100644 bsp/buildroot/package/vsftpd/S70vsftpd create mode 100644 bsp/buildroot/package/vte/Config.in create mode 100644 bsp/buildroot/package/vte/vte.hash create mode 100644 bsp/buildroot/package/vte/vte.mk delete mode 100644 bsp/buildroot/package/vtun/0003-fixup-configure.in.patch create mode 100644 bsp/buildroot/package/vtun/0003-openssl11.patch create mode 100644 bsp/buildroot/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch create mode 100644 bsp/buildroot/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch create mode 100644 bsp/buildroot/package/waffle/Config.in create mode 100644 bsp/buildroot/package/waffle/waffle.hash create mode 100644 bsp/buildroot/package/waffle/waffle.mk create mode 100644 bsp/buildroot/package/wampcc/Config.in create mode 100644 bsp/buildroot/package/wampcc/wampcc.hash create mode 100644 bsp/buildroot/package/wampcc/wampcc.mk create mode 100644 bsp/buildroot/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch delete mode 100644 bsp/buildroot/package/wayland/0001-Support-architectures-with-non-empty-__USER_LABEL_PR.patch rename bsp/buildroot/package/wayland/{0002-configure-add-option-to-disable-tests.patch => 0001-configure-add-option-to-disable-tests.patch} (60%) create mode 100644 bsp/buildroot/package/websocketpp/Config.in create mode 100644 bsp/buildroot/package/websocketpp/websocketpp.hash create mode 100644 bsp/buildroot/package/websocketpp/websocketpp.mk delete mode 100644 bsp/buildroot/package/weston/0002-shared-struct-timespec-is-in-time.h.patch create mode 100644 bsp/buildroot/package/wf111/wf111.hash delete mode 100644 bsp/buildroot/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch delete mode 100644 bsp/buildroot/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch create mode 100644 bsp/buildroot/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch delete mode 100644 bsp/buildroot/package/wsapi/0001-Lua-5.3-compatibility.patch delete mode 100644 bsp/buildroot/package/x11r7/xcb-proto/0001-Make-whitespace-use-consistent.patch delete mode 100644 bsp/buildroot/package/x11r7/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch delete mode 100644 bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch create mode 100644 bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash delete mode 100644 bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch create mode 100644 bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch create mode 100644 bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/0002-Remove-reference-to-virtualFrom.patch create mode 100644 bsp/buildroot/package/x11r7/xorgproto/Config.in create mode 100644 bsp/buildroot/package/x11r7/xorgproto/xorgproto.hash create mode 100644 bsp/buildroot/package/x11r7/xorgproto/xorgproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_applewmproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_bigreqsproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_compositeproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_damageproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_dmxproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_dri2proto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_dri3proto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_fixesproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_fontcacheproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_fontsproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_glproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_inputproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_kbproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_presentproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_randrproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_recordproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_renderproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_resourceproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_scrnsaverproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_videoproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_windowswmproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xcmiscproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xextproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86dgaproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86driproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xineramaproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xproto/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.mk delete mode 100644 bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/Config.in delete mode 100644 bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.hash delete mode 100644 bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.mk delete mode 100644 bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch delete mode 100644 bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0005-Disable-logfile-and-modulepath-when-running-with-ele.patch rename bsp/buildroot/package/x11r7/xserver_xorg-server/{1.19.6 => 1.20.3}/0001-modesettings-needs-dri2.patch (88%) rename bsp/buildroot/package/x11r7/xserver_xorg-server/{1.19.6 => 1.20.3}/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch (100%) rename bsp/buildroot/package/x11r7/xserver_xorg-server/{1.19.6 => 1.20.3}/0003-Remove-check-for-useSIGIO-option.patch (100%) create mode 100644 bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch create mode 100644 bsp/buildroot/package/x11r7/xserver_xorg-server/S40xorg delete mode 100644 bsp/buildroot/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch create mode 100644 bsp/buildroot/package/x265/0002-fix-build-error-on-ppc64le.patch create mode 100644 bsp/buildroot/package/x265/0003-arm-asm-primitives.patch create mode 100644 bsp/buildroot/package/xapian/Config.in create mode 100644 bsp/buildroot/package/xapian/xapian.hash create mode 100644 bsp/buildroot/package/xapian/xapian.mk create mode 100644 bsp/buildroot/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch create mode 100644 bsp/buildroot/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch create mode 100644 bsp/buildroot/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch delete mode 100644 bsp/buildroot/package/xerces/0001-fix-CVE-2017-12627.patch create mode 100644 bsp/buildroot/package/xerces/0002-fix-static-linking-with-curl.patch delete mode 100644 bsp/buildroot/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch delete mode 100644 bsp/buildroot/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch delete mode 100644 bsp/buildroot/package/zbar/0003-Disable-building-documentation.patch delete mode 100644 bsp/buildroot/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch delete mode 100644 bsp/buildroot/package/zeromq/0001-acinclude.m4-make-kernel-specific-flags-cacheable.patch delete mode 100644 bsp/buildroot/package/zeromq/0002-libzmq-Fix-pkg-config-files-for-static-linking.patch delete mode 100644 bsp/buildroot/package/zmqpp/0002-Install-static-library-for-static-builds.patch create mode 100644 bsp/buildroot/package/zstd/Config.in.host create mode 100644 bsp/buildroot/support/config-fragments/autobuild/arm-aarch64.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/br-bfin-full.config create mode 100644 bsp/buildroot/support/config-fragments/autobuild/br-riscv32.config create mode 100644 bsp/buildroot/support/config-fragments/autobuild/br-riscv64.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/i686-ctng-linux-gnu.config create mode 100644 bsp/buildroot/support/config-fragments/autobuild/linaro-aarch64-be.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config delete mode 100644 bsp/buildroot/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config create mode 100644 bsp/buildroot/support/dependencies/check-host-bison-flex.mk create mode 100644 bsp/buildroot/support/dependencies/check-host-gzip.mk create mode 100755 bsp/buildroot/support/dependencies/check-host-gzip.sh create mode 100644 bsp/buildroot/support/dependencies/check-host-make.mk create mode 100755 bsp/buildroot/support/dependencies/check-host-make.sh rename bsp/buildroot/support/download/{cp => file} (61%) create mode 100644 bsp/buildroot/support/kconfig/kconf_id.c delete mode 100644 bsp/buildroot/support/kconfig/patches/15-fix-qconf-moc-rule.patch create mode 100644 bsp/buildroot/support/kconfig/patches/17-backport-kecho.patch delete mode 100644 bsp/buildroot/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch delete mode 100644 bsp/buildroot/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch create mode 100644 bsp/buildroot/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch create mode 100644 bsp/buildroot/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch create mode 100644 bsp/buildroot/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch create mode 100644 bsp/buildroot/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch mode change 100644 => 100755 bsp/buildroot/support/kconfig/streamline_config.pl delete mode 100644 bsp/buildroot/support/kconfig/zconf.gperf delete mode 100644 bsp/buildroot/support/kconfig/zconf.hash.c_shipped create mode 100755 bsp/buildroot/support/scripts/check-merged-usr.sh create mode 100755 bsp/buildroot/support/scripts/generate-gitlab-ci-yml delete mode 100755 bsp/buildroot/support/scripts/xorg-release create mode 100644 bsp/buildroot/support/testing/conf/docker-compose-kernel.config create mode 100644 bsp/buildroot/support/testing/conf/docker-compose.yml create mode 100644 bsp/buildroot/support/testing/conf/f2fs-kernel-fragment.config create mode 100644 bsp/buildroot/support/testing/tests/core/test_hardening.py rename bsp/buildroot/{board/digilent/zybo/system.bit => support/testing/tests/download/__init__.py} (100%) create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/Config.in create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.desc create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/Config.in create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.desc create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk create mode 100644 bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/HEAD create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/config create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/07/cabc655213bdf7087d8dd50fda95124e935570 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/1d/f823cb8a6d1866148ae50a8009762a9c4c777f create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/7d/52f458bdb0f9f5a4beb46fa82824421b8b988e create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/a1/30af1626bbadd64841b2cbcb6ac4ed0638ba1a create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/cb/545facf77bbc5f24f95b6d503c338d10b7b717 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/dd/130f6f4629514adaf2e03407f3ed9344eb6cd6 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/f8/001e5780100962a5e30a25cbc4c9609cfc7bf3 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/HEAD create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/config create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/0a/846af45c3e455789435f49f80d70e86b65b9d7 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/0b/32ebd8fc52cec991f18c94be980e85a8341585 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/32/d61bae693af7879da63b89a60d3ae67f851e56 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/3e/9b0a5198c64cea9c00f820433411e3b4d50c1c create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/cd/4d62ff218ab7b4a04f5bfdf800ace087af3ceb create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/e8/3f6f805bd016b90acafc8702c52d778eb57310 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/.gitattributes create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/HEAD create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/config create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/11/93ff46343f4f6a0522e2b28b871e905178c1f0 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/25/59d83bfe937fc0412d96ed664663c9e8a99055 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/2b/0e0d98a49c97da6a618ab36337e2058eb733a2 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/2f/a37f6885d7eb746df75eccaddbacf3ac82799d create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/31/7406308d9259e2231bd0d6ddad3de3832bce08 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/92/ef85be57d627f280d8ce3724452ac21c9a6452 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/a2/38b1dfcd825d47d834af3c5223417c8411d90d create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/a9/dbc1e23c45e8e1b88c0448763f54d714eb6f8f create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/b2/4b387624edc78d0292a127c43cad9ba97c6232 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/cf/0f4f85d7a1237e377a2d25b996518a877ea001 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/d4/e2941d18a63535400476324ddeb7f40164be41 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/e2/2695cbf976fed1f543ad7486a531c0af473482 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/e2/cfe068f7e5bf4de32ffe1241da53abce9fa89e create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/f6/476b879f65e956d7dedd5b08736369e9a24acc create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/fe/74231105841041d5f441e70399d37f0e600aa5 create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/master create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule create mode 100644 bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag create mode 100644 bsp/buildroot/support/testing/tests/download/gitremote.py create mode 100644 bsp/buildroot/support/testing/tests/download/test_git.py create mode 100644 bsp/buildroot/support/testing/tests/fs/test_f2fs.py create mode 100755 bsp/buildroot/support/testing/tests/package/copy-sample-script-to-target.sh create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_argh.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_attrs.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_autobahn.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_automat.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_bitstring.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_cbor_dec.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_cbor_enc.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_click.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_constantly.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_crossbar.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_cryptography.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_incremental.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_passlib.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_pexpect.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_pynacl.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_dec.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_enc.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_service_identity.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_subprocess32.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_treq.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_twisted.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_txaio_asyncio.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_txaio_twisted.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_txtorcon.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_ubjson_dec.py create mode 100644 bsp/buildroot/support/testing/tests/package/sample_python_ubjson_enc.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_atop.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_docker_compose.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_lua.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_class_load.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_dbd_mysql.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_encode_detect.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_gdgraph.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_io_socket_multicast.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_io_socket_ssl.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_libwww_perl.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_mail_dkim.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_x10.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_perl_xml_libxml.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_prosody.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_argh.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_attrs.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_autobahn.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_automat.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_bitstring.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_cbor.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_click.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_constantly.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_crossbar.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_cryptography.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_incremental.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_passlib.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_pexpect.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_pynacl.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_pyyaml.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_service_identity.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_subprocess32.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_treq.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_twisted.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_txaio.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_txtorcon.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_python_ubjson.py create mode 100644 bsp/buildroot/support/testing/tests/package/test_syslog_ng.py create mode 120000 bsp/buildroot/system/skeleton/dev/fd create mode 120000 bsp/buildroot/system/skeleton/dev/stderr create mode 120000 bsp/buildroot/system/skeleton/dev/stdin create mode 120000 bsp/buildroot/system/skeleton/dev/stdout delete mode 100644 bsp/buildroot/toolchain/toolchain-common.in create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash create mode 100644 bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk diff --git a/bsp/buildroot/.flake8 b/bsp/buildroot/.flake8 new file mode 100644 index 00000000..7dd7b541 --- /dev/null +++ b/bsp/buildroot/.flake8 @@ -0,0 +1,5 @@ +[flake8] +exclude= + # copied from the kernel sources + utils/diffconfig +max-line-length=132 diff --git a/bsp/buildroot/.gitlab-ci.yml b/bsp/buildroot/.gitlab-ci.yml new file mode 100644 index 00000000..c373d4a7 --- /dev/null +++ b/bsp/buildroot/.gitlab-ci.yml @@ -0,0 +1,397 @@ +# Configuration for Gitlab-CI. +# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines +# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in. +# It needs to be regenerated every time a defconfig is added, using +# "make .gitlab-ci.yml". + +image: buildroot/base:20180318.1724 + +.defconfig_script: + script: + - echo 'Configure Buildroot' + - make ${CI_JOB_NAME} + - echo 'Build buildroot' + - | + make > >(tee build.log |grep '>>>') 2>&1 || { + echo 'Failed build last output' + tail -200 build.log + exit 1 + } + +check-gitlab-ci.yml: + script: + - mv .gitlab-ci.yml .gitlab-ci.yml.orig + - make .gitlab-ci.yml + - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml + +check-DEVELOPERS: + # get-developers should print just "No action specified"; if it prints + # anything else, it's a parse error. + # The initial ! is removed by YAML so we need to quote it. + script: + - "! utils/get-developers | grep -v 'No action specified'" + +check-flake8: + before_script: + # Help flake8 to find the Python files without .py extension. + - find * -type f -name '*.py' > files.txt + - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt + - sort -u files.txt | tee files.processed + script: + - python -m flake8 --statistics --count $(cat files.processed) + after_script: + - wc -l files.processed + +check-package: + script: + - make check-package + +.defconfig: + extends: .defconfig_script + # Running the defconfigs for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-defconfigs$/ + artifacts: + when: always + expire_in: 2 weeks + paths: + - .config + - build.log + - output/images/ + - output/build/build-time.log + - output/build/packages-file-list.txt + - output/build/*/.config + +.runtime_test: + # Running the runtime tests for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-runtime-tests$/ + # Keep build directories so the rootfs can be an artifact of the job. The + # runner will clean up those files for us. + # Multiply every emulator timeout by 10 to avoid sporadic failures in + # elastic runners. + script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME} + artifacts: + when: always + expire_in: 2 weeks + paths: + - test-output/*.log + - test-output/*/.config + - test-output/*/images/* +aarch64_efi_defconfig: { extends: .defconfig } +acmesystems_aria_g25_128mb_defconfig: { extends: .defconfig } +acmesystems_aria_g25_256mb_defconfig: { extends: .defconfig } +acmesystems_arietta_g25_128mb_defconfig: { extends: .defconfig } +acmesystems_arietta_g25_256mb_defconfig: { extends: .defconfig } +amarula_a64_relic_defconfig: { extends: .defconfig } +amarula_vyasa_rk3288_defconfig: { extends: .defconfig } +arcturus_ucls1012a_defconfig: { extends: .defconfig } +arcturus_ucp1020_defconfig: { extends: .defconfig } +arm_foundationv8_defconfig: { extends: .defconfig } +arm_juno_defconfig: { extends: .defconfig } +armadeus_apf27_defconfig: { extends: .defconfig } +armadeus_apf28_defconfig: { extends: .defconfig } +armadeus_apf51_defconfig: { extends: .defconfig } +asus_tinker_rk3288_defconfig: { extends: .defconfig } +at91sam9260eknf_defconfig: { extends: .defconfig } +at91sam9g20dfc_defconfig: { extends: .defconfig } +at91sam9g45m10ek_defconfig: { extends: .defconfig } +at91sam9rlek_defconfig: { extends: .defconfig } +at91sam9x5ek_defconfig: { extends: .defconfig } +at91sam9x5ek_dev_defconfig: { extends: .defconfig } +at91sam9x5ek_mmc_defconfig: { extends: .defconfig } +at91sam9x5ek_mmc_dev_defconfig: { extends: .defconfig } +atmel_sama5d27_som1_ek_mmc_dev_defconfig: { extends: .defconfig } +atmel_sama5d2_xplained_mmc_defconfig: { extends: .defconfig } +atmel_sama5d2_xplained_mmc_dev_defconfig: { extends: .defconfig } +atmel_sama5d3_xplained_defconfig: { extends: .defconfig } +atmel_sama5d3_xplained_dev_defconfig: { extends: .defconfig } +atmel_sama5d3_xplained_mmc_defconfig: { extends: .defconfig } +atmel_sama5d3_xplained_mmc_dev_defconfig: { extends: .defconfig } +atmel_sama5d3xek_defconfig: { extends: .defconfig } +atmel_sama5d4_xplained_defconfig: { extends: .defconfig } +atmel_sama5d4_xplained_dev_defconfig: { extends: .defconfig } +atmel_sama5d4_xplained_mmc_defconfig: { extends: .defconfig } +atmel_sama5d4_xplained_mmc_dev_defconfig: { extends: .defconfig } +bananapi_m1_defconfig: { extends: .defconfig } +bananapi_m2_plus_defconfig: { extends: .defconfig } +bananapi_m2_ultra_defconfig: { extends: .defconfig } +bananapi_m64_defconfig: { extends: .defconfig } +bananapro_defconfig: { extends: .defconfig } +beagleboardx15_defconfig: { extends: .defconfig } +beaglebone_defconfig: { extends: .defconfig } +beaglebone_qt5_defconfig: { extends: .defconfig } +chromebook_snow_defconfig: { extends: .defconfig } +ci20_defconfig: { extends: .defconfig } +csky_gx6605s_defconfig: { extends: .defconfig } +cubieboard2_defconfig: { extends: .defconfig } +engicam_imx6qdl_icore_defconfig: { extends: .defconfig } +engicam_imx6qdl_icore_qt5_defconfig: { extends: .defconfig } +engicam_imx6qdl_icore_rqs_defconfig: { extends: .defconfig } +engicam_imx6ul_geam_defconfig: { extends: .defconfig } +engicam_imx6ul_isiot_defconfig: { extends: .defconfig } +freescale_imx28evk_defconfig: { extends: .defconfig } +freescale_imx6dlsabreauto_defconfig: { extends: .defconfig } +freescale_imx6dlsabresd_defconfig: { extends: .defconfig } +freescale_imx6qsabreauto_defconfig: { extends: .defconfig } +freescale_imx6qsabresd_defconfig: { extends: .defconfig } +freescale_imx6sxsabresd_defconfig: { extends: .defconfig } +freescale_imx7dsabresd_defconfig: { extends: .defconfig } +freescale_imx8mqevk_defconfig: { extends: .defconfig } +freescale_p1025twr_defconfig: { extends: .defconfig } +freescale_t1040d4rdb_defconfig: { extends: .defconfig } +friendlyarm_nanopi_a64_defconfig: { extends: .defconfig } +friendlyarm_nanopi_neo2_defconfig: { extends: .defconfig } +galileo_defconfig: { extends: .defconfig } +grinn_chiliboard_defconfig: { extends: .defconfig } +grinn_liteboard_defconfig: { extends: .defconfig } +imx23evk_defconfig: { extends: .defconfig } +imx6-sabreauto_defconfig: { extends: .defconfig } +imx6-sabresd_defconfig: { extends: .defconfig } +imx6-sabresd_qt5_defconfig: { extends: .defconfig } +imx6slevk_defconfig: { extends: .defconfig } +imx6sx-sdb_defconfig: { extends: .defconfig } +imx6ulevk_defconfig: { extends: .defconfig } +imx6ulpico_defconfig: { extends: .defconfig } +imx7d-sdb_defconfig: { extends: .defconfig } +imx7dpico_defconfig: { extends: .defconfig } +lego_ev3_defconfig: { extends: .defconfig } +linksprite_pcduino_defconfig: { extends: .defconfig } +minnowboard_max-graphical_defconfig: { extends: .defconfig } +minnowboard_max_defconfig: { extends: .defconfig } +mx25pdk_defconfig: { extends: .defconfig } +mx51evk_defconfig: { extends: .defconfig } +mx53loco_defconfig: { extends: .defconfig } +mx6cubox_defconfig: { extends: .defconfig } +mx6sx_udoo_neo_defconfig: { extends: .defconfig } +mx6udoo_defconfig: { extends: .defconfig } +nanopi_m1_defconfig: { extends: .defconfig } +nanopi_m1_plus_defconfig: { extends: .defconfig } +nanopi_neo_defconfig: { extends: .defconfig } +nexbox_a95x_defconfig: { extends: .defconfig } +nitrogen6sx_defconfig: { extends: .defconfig } +nitrogen6x_defconfig: { extends: .defconfig } +nitrogen7_defconfig: { extends: .defconfig } +nitrogen8m_defconfig: { extends: .defconfig } +odroidc2_defconfig: { extends: .defconfig } +odroidxu4_defconfig: { extends: .defconfig } +olimex_a10_olinuxino_lime_defconfig: { extends: .defconfig } +olimex_a13_olinuxino_defconfig: { extends: .defconfig } +olimex_a20_olinuxino_lime2_defconfig: { extends: .defconfig } +olimex_a20_olinuxino_lime_defconfig: { extends: .defconfig } +olimex_a20_olinuxino_lime_legacy_defconfig: { extends: .defconfig } +olimex_a20_olinuxino_micro_defconfig: { extends: .defconfig } +olimex_a64_olinuxino_defconfig: { extends: .defconfig } +olimex_imx233_olinuxino_defconfig: { extends: .defconfig } +openblocks_a6_defconfig: { extends: .defconfig } +orangepi_lite2_defconfig: { extends: .defconfig } +orangepi_lite_defconfig: { extends: .defconfig } +orangepi_one_defconfig: { extends: .defconfig } +orangepi_one_plus_defconfig: { extends: .defconfig } +orangepi_pc2_defconfig: { extends: .defconfig } +orangepi_pc_defconfig: { extends: .defconfig } +orangepi_pc_plus_defconfig: { extends: .defconfig } +orangepi_plus_defconfig: { extends: .defconfig } +orangepi_prime_defconfig: { extends: .defconfig } +orangepi_win_defconfig: { extends: .defconfig } +orangepi_zero_defconfig: { extends: .defconfig } +orangepi_zero_plus2_defconfig: { extends: .defconfig } +pandaboard_defconfig: { extends: .defconfig } +pc_x86_64_bios_defconfig: { extends: .defconfig } +pc_x86_64_efi_defconfig: { extends: .defconfig } +pine64_defconfig: { extends: .defconfig } +pine64_sopine_defconfig: { extends: .defconfig } +qemu_aarch64_virt_defconfig: { extends: .defconfig } +qemu_arm_versatile_defconfig: { extends: .defconfig } +qemu_arm_versatile_nommu_defconfig: { extends: .defconfig } +qemu_arm_vexpress_defconfig: { extends: .defconfig } +qemu_m68k_mcf5208_defconfig: { extends: .defconfig } +qemu_m68k_q800_defconfig: { extends: .defconfig } +qemu_microblazebe_mmu_defconfig: { extends: .defconfig } +qemu_microblazeel_mmu_defconfig: { extends: .defconfig } +qemu_mips32r2_malta_defconfig: { extends: .defconfig } +qemu_mips32r2el_malta_defconfig: { extends: .defconfig } +qemu_mips32r6_malta_defconfig: { extends: .defconfig } +qemu_mips32r6el_malta_defconfig: { extends: .defconfig } +qemu_mips64_malta_defconfig: { extends: .defconfig } +qemu_mips64el_malta_defconfig: { extends: .defconfig } +qemu_mips64r6_malta_defconfig: { extends: .defconfig } +qemu_mips64r6el_malta_defconfig: { extends: .defconfig } +qemu_nios2_10m50_defconfig: { extends: .defconfig } +qemu_or1k_defconfig: { extends: .defconfig } +qemu_ppc64_e5500_defconfig: { extends: .defconfig } +qemu_ppc64_pseries_defconfig: { extends: .defconfig } +qemu_ppc64le_pseries_defconfig: { extends: .defconfig } +qemu_ppc_g3beige_defconfig: { extends: .defconfig } +qemu_ppc_mpc8544ds_defconfig: { extends: .defconfig } +qemu_ppc_virtex_ml507_defconfig: { extends: .defconfig } +qemu_riscv32_virt_defconfig: { extends: .defconfig } +qemu_riscv64_virt_defconfig: { extends: .defconfig } +qemu_sh4_r2d_defconfig: { extends: .defconfig } +qemu_sh4eb_r2d_defconfig: { extends: .defconfig } +qemu_sparc64_sun4u_defconfig: { extends: .defconfig } +qemu_sparc_ss10_defconfig: { extends: .defconfig } +qemu_x86_64_defconfig: { extends: .defconfig } +qemu_x86_defconfig: { extends: .defconfig } +qemu_xtensa_lx60_defconfig: { extends: .defconfig } +qemu_xtensa_lx60_nommu_defconfig: { extends: .defconfig } +raspberrypi0_defconfig: { extends: .defconfig } +raspberrypi0w_defconfig: { extends: .defconfig } +raspberrypi2_defconfig: { extends: .defconfig } +raspberrypi3_64_defconfig: { extends: .defconfig } +raspberrypi3_defconfig: { extends: .defconfig } +raspberrypi3_qt5we_defconfig: { extends: .defconfig } +raspberrypi_defconfig: { extends: .defconfig } +riotboard_defconfig: { extends: .defconfig } +rock64_defconfig: { extends: .defconfig } +roseapplepi_defconfig: { extends: .defconfig } +s6lx9_microboard_defconfig: { extends: .defconfig } +sheevaplug_defconfig: { extends: .defconfig } +snps_aarch64_vdk_defconfig: { extends: .defconfig } +snps_arc700_axs101_defconfig: { extends: .defconfig } +snps_archs38_axs103_defconfig: { extends: .defconfig } +snps_archs38_haps_defconfig: { extends: .defconfig } +snps_archs38_hsdk_defconfig: { extends: .defconfig } +snps_archs38_vdk_defconfig: { extends: .defconfig } +socrates_cyclone5_defconfig: { extends: .defconfig } +solidrun_clearfog_defconfig: { extends: .defconfig } +solidrun_macchiatobin_mainline_defconfig: { extends: .defconfig } +solidrun_macchiatobin_marvell_defconfig: { extends: .defconfig } +stm32f429_disco_defconfig: { extends: .defconfig } +stm32f469_disco_defconfig: { extends: .defconfig } +toradex_apalis_imx6_defconfig: { extends: .defconfig } +ts4800_defconfig: { extends: .defconfig } +ts4900_defconfig: { extends: .defconfig } +ts5500_defconfig: { extends: .defconfig } +ts7680_defconfig: { extends: .defconfig } +wandboard_defconfig: { extends: .defconfig } +warp7_defconfig: { extends: .defconfig } +warpboard_defconfig: { extends: .defconfig } +zynq_microzed_defconfig: { extends: .defconfig } +zynq_zc706_defconfig: { extends: .defconfig } +zynq_zed_defconfig: { extends: .defconfig } +zynqmp_zcu106_defconfig: { extends: .defconfig } +tests.boot.test_atf.TestATFAllwinner: { extends: .runtime_test } +tests.boot.test_atf.TestATFMarvell: { extends: .runtime_test } +tests.boot.test_atf.TestATFVexpress: { extends: .runtime_test } +tests.core.test_file_capabilities.TestFileCapabilities: { extends: .runtime_test } +tests.core.test_hardening.TestFortifyConserv: { extends: .runtime_test } +tests.core.test_hardening.TestFortifyNone: { extends: .runtime_test } +tests.core.test_hardening.TestRelro: { extends: .runtime_test } +tests.core.test_hardening.TestRelroPartial: { extends: .runtime_test } +tests.core.test_hardening.TestSspNone: { extends: .runtime_test } +tests.core.test_hardening.TestSspStrong: { extends: .runtime_test } +tests.core.test_post_scripts.TestPostScripts: { extends: .runtime_test } +tests.core.test_rootfs_overlay.TestRootfsOverlay: { extends: .runtime_test } +tests.core.test_timezone.TestGlibcAllTimezone: { extends: .runtime_test } +tests.core.test_timezone.TestGlibcNonDefaultLimitedTimezone: { extends: .runtime_test } +tests.core.test_timezone.TestNoTimezone: { extends: .runtime_test } +tests.download.test_git.TestGitHash: { extends: .runtime_test } +tests.download.test_git.TestGitRefs: { extends: .runtime_test } +tests.fs.test_ext.TestExt2: { extends: .runtime_test } +tests.fs.test_ext.TestExt2r1: { extends: .runtime_test } +tests.fs.test_ext.TestExt3: { extends: .runtime_test } +tests.fs.test_ext.TestExt4: { extends: .runtime_test } +tests.fs.test_f2fs.TestF2FS: { extends: .runtime_test } +tests.fs.test_iso9660.TestIso9660Grub2External: { extends: .runtime_test } +tests.fs.test_iso9660.TestIso9660Grub2ExternalCompress: { extends: .runtime_test } +tests.fs.test_iso9660.TestIso9660Grub2Internal: { extends: .runtime_test } +tests.fs.test_iso9660.TestIso9660SyslinuxExternal: { extends: .runtime_test } +tests.fs.test_iso9660.TestIso9660SyslinuxExternalCompress: { extends: .runtime_test } +tests.fs.test_iso9660.TestIso9660SyslinuxInternal: { extends: .runtime_test } +tests.fs.test_jffs2.TestJffs2: { extends: .runtime_test } +tests.fs.test_squashfs.TestSquashfs: { extends: .runtime_test } +tests.fs.test_ubi.TestUbi: { extends: .runtime_test } +tests.fs.test_yaffs2.TestYaffs2: { extends: .runtime_test } +tests.init.test_busybox.TestInitSystemBusyboxRo: { extends: .runtime_test } +tests.init.test_busybox.TestInitSystemBusyboxRoNet: { extends: .runtime_test } +tests.init.test_busybox.TestInitSystemBusyboxRw: { extends: .runtime_test } +tests.init.test_busybox.TestInitSystemBusyboxRwNet: { extends: .runtime_test } +tests.init.test_none.TestInitSystemNone: { extends: .runtime_test } +tests.init.test_systemd.TestInitSystemSystemdRoFull: { extends: .runtime_test } +tests.init.test_systemd.TestInitSystemSystemdRoIfupdown: { extends: .runtime_test } +tests.init.test_systemd.TestInitSystemSystemdRoNetworkd: { extends: .runtime_test } +tests.init.test_systemd.TestInitSystemSystemdRwFull: { extends: .runtime_test } +tests.init.test_systemd.TestInitSystemSystemdRwIfupdown: { extends: .runtime_test } +tests.init.test_systemd.TestInitSystemSystemdRwNetworkd: { extends: .runtime_test } +tests.package.test_atop.TestAtop: { extends: .runtime_test } +tests.package.test_docker_compose.TestDockerCompose: { extends: .runtime_test } +tests.package.test_dropbear.TestDropbear: { extends: .runtime_test } +tests.package.test_ipython.TestIPythonPy2: { extends: .runtime_test } +tests.package.test_ipython.TestIPythonPy3: { extends: .runtime_test } +tests.package.test_lua.TestLua: { extends: .runtime_test } +tests.package.test_lua.TestLuajit: { extends: .runtime_test } +tests.package.test_perl.TestPerl: { extends: .runtime_test } +tests.package.test_perl_class_load.TestPerlClassLoad: { extends: .runtime_test } +tests.package.test_perl_dbd_mysql.TestPerlDBDmysql: { extends: .runtime_test } +tests.package.test_perl_encode_detect.TestPerlEncodeDetect: { extends: .runtime_test } +tests.package.test_perl_gdgraph.TestPerlGDGraph: { extends: .runtime_test } +tests.package.test_perl_io_socket_multicast.TestPerlIOSocketMulticast: { extends: .runtime_test } +tests.package.test_perl_io_socket_ssl.TestPerlIOSocketSSL: { extends: .runtime_test } +tests.package.test_perl_libwww_perl.TestPerllibwwwperl: { extends: .runtime_test } +tests.package.test_perl_mail_dkim.TestPerlMailDKIM: { extends: .runtime_test } +tests.package.test_perl_x10.TestPerlX10: { extends: .runtime_test } +tests.package.test_perl_xml_libxml.TestPerlXMLLibXML: { extends: .runtime_test } +tests.package.test_prosody.TestProsodyLua51: { extends: .runtime_test } +tests.package.test_prosody.TestProsodyLuajit: { extends: .runtime_test } +tests.package.test_python.TestPython2: { extends: .runtime_test } +tests.package.test_python.TestPython3: { extends: .runtime_test } +tests.package.test_python_argh.TestPythonPy2Argh: { extends: .runtime_test } +tests.package.test_python_argh.TestPythonPy3Argh: { extends: .runtime_test } +tests.package.test_python_attrs.TestPythonPy2Attrs: { extends: .runtime_test } +tests.package.test_python_attrs.TestPythonPy3Attrs: { extends: .runtime_test } +tests.package.test_python_autobahn.TestPythonPy2Autobahn: { extends: .runtime_test } +tests.package.test_python_autobahn.TestPythonPy3Autobahn: { extends: .runtime_test } +tests.package.test_python_automat.TestPythonPy2Automat: { extends: .runtime_test } +tests.package.test_python_automat.TestPythonPy3Automat: { extends: .runtime_test } +tests.package.test_python_bitstring.TestPythonPy2Bitstring: { extends: .runtime_test } +tests.package.test_python_bitstring.TestPythonPy3Bitstring: { extends: .runtime_test } +tests.package.test_python_cbor.TestPythonPy2Cbor: { extends: .runtime_test } +tests.package.test_python_cbor.TestPythonPy3Cbor: { extends: .runtime_test } +tests.package.test_python_click.TestPythonPy2Click: { extends: .runtime_test } +tests.package.test_python_click.TestPythonPy3Click: { extends: .runtime_test } +tests.package.test_python_constantly.TestPythonPy2Constantly: { extends: .runtime_test } +tests.package.test_python_constantly.TestPythonPy3Constantly: { extends: .runtime_test } +tests.package.test_python_crossbar.TestPythonPy3Crossbar: { extends: .runtime_test } +tests.package.test_python_cryptography.TestPythonPy2Cryptography: { extends: .runtime_test } +tests.package.test_python_cryptography.TestPythonPy3Cryptography: { extends: .runtime_test } +tests.package.test_python_incremental.TestPythonPy2Incremental: { extends: .runtime_test } +tests.package.test_python_incremental.TestPythonPy3Incremental: { extends: .runtime_test } +tests.package.test_python_passlib.TestPythonPy2Passlib: { extends: .runtime_test } +tests.package.test_python_passlib.TestPythonPy3Passlib: { extends: .runtime_test } +tests.package.test_python_pexpect.TestPythonPy2Pexpect: { extends: .runtime_test } +tests.package.test_python_pexpect.TestPythonPy3Pexpect: { extends: .runtime_test } +tests.package.test_python_pynacl.TestPythonPy2Pynacl: { extends: .runtime_test } +tests.package.test_python_pynacl.TestPythonPy3Pynacl: { extends: .runtime_test } +tests.package.test_python_pyyaml.TestPythonPy2Pyyaml: { extends: .runtime_test } +tests.package.test_python_pyyaml.TestPythonPy3Pyyaml: { extends: .runtime_test } +tests.package.test_python_service_identity.TestPythonPy2ServiceIdentity: { extends: .runtime_test } +tests.package.test_python_service_identity.TestPythonPy3ServiceIdentity: { extends: .runtime_test } +tests.package.test_python_subprocess32.TestPythonPy2Subprocess32: { extends: .runtime_test } +tests.package.test_python_treq.TestPythonPy2Treq: { extends: .runtime_test } +tests.package.test_python_treq.TestPythonPy3Treq: { extends: .runtime_test } +tests.package.test_python_twisted.TestPythonPy2Twisted: { extends: .runtime_test } +tests.package.test_python_twisted.TestPythonPy3Twisted: { extends: .runtime_test } +tests.package.test_python_txaio.TestPythonPy2Txaio: { extends: .runtime_test } +tests.package.test_python_txaio.TestPythonPy3Txaio: { extends: .runtime_test } +tests.package.test_python_txtorcon.TestPythonPy2Txtorcon: { extends: .runtime_test } +tests.package.test_python_txtorcon.TestPythonPy3Txtorcon: { extends: .runtime_test } +tests.package.test_python_ubjson.TestPythonPy2Ubjson: { extends: .runtime_test } +tests.package.test_python_ubjson.TestPythonPy3Ubjson: { extends: .runtime_test } +tests.package.test_rust.TestRust: { extends: .runtime_test } +tests.package.test_rust.TestRustBin: { extends: .runtime_test } +tests.package.test_syslog_ng.TestSyslogNg: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainBuildrootMusl: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainBuildrootuClibc: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainCCache: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainCtngMusl: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainLinaroArm: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainSourceryArmv4: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainSourceryArmv5: { extends: .runtime_test } +tests.toolchain.test_external.TestExternalToolchainSourceryArmv7: { extends: .runtime_test } diff --git a/bsp/buildroot/.gitlab-ci.yml.in b/bsp/buildroot/.gitlab-ci.yml.in new file mode 100644 index 00000000..a5068408 --- /dev/null +++ b/bsp/buildroot/.gitlab-ci.yml.in @@ -0,0 +1,86 @@ +# Configuration for Gitlab-CI. +# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines +# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in. +# It needs to be regenerated every time a defconfig is added, using +# "make .gitlab-ci.yml". + +image: buildroot/base:20180318.1724 + +.defconfig_script: + script: + - echo 'Configure Buildroot' + - make ${CI_JOB_NAME} + - echo 'Build buildroot' + - | + make > >(tee build.log |grep '>>>') 2>&1 || { + echo 'Failed build last output' + tail -200 build.log + exit 1 + } + +check-gitlab-ci.yml: + script: + - mv .gitlab-ci.yml .gitlab-ci.yml.orig + - make .gitlab-ci.yml + - diff -u .gitlab-ci.yml.orig .gitlab-ci.yml + +check-DEVELOPERS: + # get-developers should print just "No action specified"; if it prints + # anything else, it's a parse error. + # The initial ! is removed by YAML so we need to quote it. + script: + - "! utils/get-developers | grep -v 'No action specified'" + +check-flake8: + before_script: + # Help flake8 to find the Python files without .py extension. + - find * -type f -name '*.py' > files.txt + - find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt + - sort -u files.txt | tee files.processed + script: + - python -m flake8 --statistics --count $(cat files.processed) + after_script: + - wc -l files.processed + +check-package: + script: + - make check-package + +.defconfig: + extends: .defconfig_script + # Running the defconfigs for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-defconfigs$/ + artifacts: + when: always + expire_in: 2 weeks + paths: + - .config + - build.log + - output/images/ + - output/build/build-time.log + - output/build/packages-file-list.txt + - output/build/*/.config + +.runtime_test: + # Running the runtime tests for every push is too much, so limit to + # explicit triggers through the API. + only: + - triggers + - tags + - /-runtime-tests$/ + # Keep build directories so the rootfs can be an artifact of the job. The + # runner will clean up those files for us. + # Multiply every emulator timeout by 10 to avoid sporadic failures in + # elastic runners. + script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME} + artifacts: + when: always + expire_in: 2 weeks + paths: + - test-output/*.log + - test-output/*/.config + - test-output/*/images/* diff --git a/bsp/buildroot/CHANGES b/bsp/buildroot/CHANGES index cf35c540..365d2bbe 100644 --- a/bsp/buildroot/CHANGES +++ b/bsp/buildroot/CHANGES @@ -1,3 +1,1094 @@ +2019.02, released March 4th, 2019 + + Minor fixes. + + Libressl support added for Qt 5.6 as a replacement for + openssl, as 5.6 is not compatible with openssl 1.1.x. + + Updated/fixed packages: cutelyst, devmem2, gqrx, + gst-plugins-bad, libraw, libsoxr, qt5base, runc, systemd, tor + +2019.02-rc3, released March 1st, 2019 + + Fixes all over the tree. + + Openssl support dropped from Qt 5.6, as it isn't compatible + with openssl 1.1.x. + + Toolchain: GCC 8.x updated to 8.3.0, fixing a number of + issues. + + Dependencies: Require CMake 3.8 or newer to fix compilation + issue with certain packages. If not available, host-cmake will + instead be built. + + Printvars: Fix performance regression since 2018.02 + + Scanypi: Correctly handle underscores in python package names. + + Updated/fixed packages: botan, clamav, cryptopp, i2pd, + ibrcommon, iproute2, libcpprestsdk, libssh, lua-curl, + luaexpat, qt5base, runc, stress-ng, syslinux, systemd, + upmpdcli, zbar + + Issues resolved (http://bugs.uclibc.org): + + #9966: util-linux-2.30/.stamp_built' failed + #11696: possible typo in board/pc/post-build.sh + +2019.02-rc2, released February 23th, 2019 + + Fixes all over the tree. + + Removed zynq_zybo defconfig, as it hasn't seen any update + since it was added in 2016, and uses a U-Boot version not + compatible with openssl-1.1.x. + + Linux: Ignore user supplied downloadable hashes, as no hash + checksums are available for those. + + Updated/fixed packages: bind, cryptopp, docker-containerd, + dtc, efivar, gdb, imagemagick, ipmiutil, libcpprestsdk, + libcurl, libgpiod, libid3tag, libv4l, log4cplus, luvi, + madplay, mender, mosquitto, poco, postgresql, proftpd, + pulseaudio, python-django, qemu, qt5base, qwt, rabbitmq-c, + reaver, safeclip, stress-ng, swupdate, syslog-ng, systemd, + tor, unzip, xenomai + + Issues resolved (http://bugs.uclibc.org): + + #11501: compile sdl2 with enable wayland + #11681: .. unable to initialize decompress status for section.. + +2019.02-rc1, released February 13th, 2019 + + Fixes all over the tree and new features. + + + Dependencies: + + Require Python >= 2.7 as it is needed for E.G. building + libglib2. + + Ensure GNU gzip is used for reproducible tarballs (instead of + pigz) + + + Infrastucture: + + Ensure the PLATFORM and OS environment variables are not set, + as they cause build issues for some packages. + + The package list infrastructure now correctly handles packages + installing files with old mtime. + + Add a config option to force all optional host utilities to be + built, even if suitable versions are available on the build + machine. + + graph-build-time: Also show time spent downloading + + Download: fixes for SSH/SCP support + + Ensure user provided permissions override permissions from + packages. + + SDK: Fix handling of relative symlinks (targets starting with + '.' or '..') + + BR2_SYSTEM_DEFAULT_PATH setting to customize the default path + for processes. + + The custom skeleton logic will now populate the needed /bin, + /lib, /sbin directories/symlinks if not present. Merged /usr + can now be used with a custom skeleton. + + Rootfs overlays can now override symbolic links from + packages. This was disabled to ensure the correct symbolic + links are present when merged /usr is used. Instead validate + that the rootfs overlays do not include invalid /bin, /sbin + and /lib entries. + + The waf infrastructure now support the _SUBDIR variable, + similar to the other package types. + + cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake + + Various improvements to the meson infrastructure. + + Luarocks: A Buildroot addon has been added to automate + creating a Buildroot package from luarocks, similar to + scancpan and scanpypi. + + scanpypi: protect against zip-slip vulnerability in zip/tar + handling + + check-package: fix Python 3 support + + get-developers: Fix behaviour when called from elsewhere than + the toplevel directory. + + pkg-stats: Show latest upstream version of each package, based + on data from release-monitoring.org + + kconfig: Fix for make linux-menuconfig / uboot-menuconfig from + a clean tree when ccache is enabled. + + Default to sha256 password encoding, drop md5 support. + + + Architecture: + + Support for RISC-V 32bit architecture, ARM A55, 75 and Saphira + variants, MIPS support for mips32r3, mips64r3 and Marvell + Octeon II/III variants. + + + Toolchain: + + ARC toolchain 2018.09, ARM 8.2-2018.11, Codescape IMG/MTI MIPS + 2018.09-02, MUSL 1.1.21, GCC 6.5.0 / 7.4.0, GDB 8.2.1 + + + Packages: + + openssl: Bump to 1.1.1x series, bringing TLSv1.3 support and + long term support. + + fftw: Split into fftw-{single,double,long-double,quad} + packages for the different data precision options. + + libcurl: Now has explicit TLS backend selection options. + + linux: Support building device tree blobs with the -@ option + for device tree overlays. + + weston: The weston-imx i.MX variant is now used when + imx-gpu-viv is enabled + + pkgconf: Update to 1.5.3, which brings support for + --define-prefix (used by GStreamer) + + Add host-python3-setuptools package to handle host python + packages needing python3 with setuptools support. + + + New defconfigs: Aarch64 EFI, Orangepi one plus, Orangepi lite + 2, QEMU RISC-V 32bit virt, Rock64 + + + New packages: brcm-patchram-plus, clinfo, cunit, docker-cli, + erlang-p1-eimp, exempi, fail2ban, fftw-double, + fftw-double-long, fftw-quad, fftw-single, gerbera, grpc, + gst1-shark, intel-gmmlib, iwd, kf5-kcoreaddons, libeastl, + libpackagekite, libtorrent-rasterbar, lua-std-debug, + lua-std-normalize, mini-snmpd, netsurf, pamtester, pcm-tools, + python-aiodns, python-aiohttp, python-aiohttp-jinja2, + python-aiohttp-remotes, python-aiohttp-security, + python-aiohttp-session, python-aiohttpd-sse, python-aiojobs, + python-cchardet, python-pycares, python-sentry-sdk, + python-wtforms, python3-setuptools, rcw, rtc-tools, shim, + utp_com, vmtouch, websocketpp + + Removed packages: fftw, lua 5.2.x, luacrypto, perl-time-hires, + python-pyqt, qt, qtuio, tn5250 + + Issues resolved (http://bugs.uclibc.org): + + #10851: Patch to handle numpad Enter key properly + #11066: x11r7 X11 S40xorg leads to a black screen on QEMU x86.. + #11126: Bash Shell Programming using Buildroot + #11426: pps-tools bash dependency + #11476: stdio2.h error invalid use of __builtin_va_arg_pack + #11536: dt-utils building fails with glibc 2.28 + #11546: open-vm-tools with glibc 2.28 + #11566: Fix init script + #11576: Unable to start apache with event MPM on raspberry pi 3 + #11591: [pkgconf 1.5.3] xserver OpenGL support is missing + #11606: libjpeg has no Config.in + #11616: 2018.02.09 fails to build libzlib with full RELRO.. + #11656: Custom device tree and u-boot boot.scr not integrated.. + #11666: Touchscreen with (Py)Qt5 should use tslib instead of evdev + +2018.11.3, Released February 23th, 2019 + + Important / security related fixes. + + Ensure the PLATFORM and OS environment variables are not set, + as they cause build issues for some packages. + + The package list infrastructure now correctly handles packages + installing files with old mtime. + + Linux: Skip hash checks for user supplied downloadable + patches, as no hash checksums are available for those. + + scanpypi: protect against zip-slip vulnerability in zip/tar + handling + + Download: fixes for SSH/SCP support + + SDK: Fix handling of relative symlinks (targets starting with + '.' or '..') + + Updated/fixed packages: bind, dhcpcd, docker-compose, + docker-containerd, docker-engine, dovecot, dovecot-pigeonhole, + dtc, efivar, ghostscript, gnuradio, imagemagick, jpeg-turbo, + libarchive, libb64, libcurl, libgeotiff, libgpiod, libid3tag, + libupnp18, log4cplus, madplay, meson, mosquitto, openssh, php, + poco, postgresql, proftpd, pulseaudio, python, python-django, + python3, qt5base, reaver, runc, sg3_utils, sqlcipher, + swupdate, systemd, unzip, webkitgtk, xenomai + +2018.11.2, Released January 30th, 2019 + + Important / security related fixes. + + Defconfigs: Fixes for imx6slevk, imx7dsabresd, imx8mqevk, Lego + EV3, QEMU AArch64-virt + + Download: Fix scp download handling + + check-package: fix Python 3 support + + get-developers: Fix behaviour when called from elsewhere than + the toplevel directory. + + kconfig: Fix for make linux-menuconfig / uboot-menuconfig from + a clean tree when ccache is enabled. + + cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake + + Updated/fixed packages: acpica, apache, apr, avrdude, cargo, + cc-tool, dash, dhcpdump, dmalloc, docker-containerd, efivar, + fwts, glibc, gnuchess, gnupg2, go, leveldb, libarchive, + libassuan, libftdi1, libgpg-error, libhttpparser, libkcapi, + libmad, libsndfile, libsquish, liburiparser, libwebsock, + libxml2, lighttpd, llvm, lm-sensors, lua-msgpack-native, lxc, + mariadb, mbedtls, meson, mosquitto, netatalk, nodejs, odhcp6c, + openresolv, openssh, pango, patchelf, php, python-django, + python-numpy, python-pyyaml, rauc, rp-pppoe, s6-networking, + samba4, sdl_sound, shairport-sync, sqlite, subversion, + sunxi-cedarx, swupdate, systemd, tcpreplay, tekui, tmp2-abrmd, + tpm2-tools, tpm2-tss, udisks, unixodbc, usb_modeswitch, + webkitgtk, wireshark, wolfssl, xapp_rgb, xenomai, xerces + + Issues resolved (http://bugs.uclibc.org): + + #11576: Unable to start apache with event MPM on raspberry pi 3 + +2018.11.1, Released December 20th, 2018 + + Important / security related fixes. + + defconfigs: Fixes for bananapi m2 ultra, ci20 + + Download wrapper: Fix for urlencode handling + + Updated/fixed packages: asterisk, docker-compose, + docker-engine, dt-utils, gnutls, go, grub, libbsd, libcurl, + libpgpme, libiscsi, liblo, libmpd, libopenssl, liboping, + libpam-tacplus, libpjsip, linux-firmware, liquid-dsp, + lua-cqueue, luvi, lxc, lynx, nginx, nodejs, openzwave, php, + pps-tools, proftpd, prosody, sdl2_net, squashfs, swupdate, + uclibc, vtu, webkitgtk, wine, xen + + New packages: docker-cli + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + #11536: dt-utils building fails with glibc 2.28 + +2018.11, Released December 1st, 2018 + + Minor fixes. + + Updated/fixed packages: c-ares, quagga, squid + +2018.11-rc3, released November 30th, 2018 + + Fixes all over the tree. + + Defconfigs: Fixes for Armadeus APF27, imx6sabre, Olimex A20 + olinuxino lime legacy, Orangepi zero plus 2, PC, Riotboard. + + graph-depends: Fix for package names starting with a non-alpha + character. + + Updated/fixed packages: alsa-utils, botan, dante, domoticz, + dtc, freetype, gauche, gcc, gdb, ghostscript, glibc, + imx-usb-loader, libbsd, libid3tag, libkrb5, libmicrohttpd, + libopenssl, libsoxr, linux, motion, msgpack, mtd, + perl-net-ssleay, php, popt, python-numpy, qt5declarative, + samba4, shadowsocks-libev, stress-ng, systemd, usb_modeswitch, + webkitgtk, valgrind, weston, xfsprogs + +2018.11-rc2, released November 21th, 2018 + + Fixes all over the tree. + + fs: Drop intermediate tarball from the filesystem handling to + fix an issue with xattrs handling related to fakeroot. Ensure + tarball target includes xattrs. + + download: Fix confusion in git submodule handling if dl/ is a + symlink. + + genrandconfig: Fix missing newline in BR2_WGET handling, + causing the following line to be ignored. This would affect + BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD, + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or + BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization. + + show-build-order: Also include the dependencies of + rootfs-common. + + Fix a number of build issues in packages for the recently + merged RISC-V architecture support. + + Updated/fixed packages: dt-utils, easydbus, elfutils, + flare-engine, flatcc, glibc, gstreamer, gstreamer1, imx-uuc, + libassuan, libcorrect, libiscsi, libkrb5, libmicrohttpd, + libnftnl, libnspr, libnss, libsemanage, libsigsegv, libv4l, + ltp-testsuite, luv, luvi, make, ncmpc, netplug, openocd, + prosody, qemu, rpm, sconeserver, shadowsocks-libev, + supertuxcart, syslinux, systemd, trace-cmd, uclibc, + uclibc-ng-test, vtun, webkitgtk, weston, wireshark, xen, + xlib_libfontenc + + Issues resolved (http://bugs.uclibc.org): + + #11086: download/git submodule breaks on symlinked dl folder + #11216: Capabilities not applied to filesystem + +2018.11-rc1, released November 9th, 2018 + + Fixes all over the tree and new features. + + Architecture: RISC-V support (64bit) added. + + Toolchain: Glibc bumped to 2.28. Fortran support for external + toolchains. ARM (Linaro) toolchains updated to 8.2-2018.08. + + Hardening flags (RELRO) are now handled by the toolchain + wrapper instead of explicitly through CFLAGS/LDFLAGS, fixing a + number of issues. + + Filesystems: Support for creating btrfs and f2fs filesystems + added. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Workaround added for incompatibility issues between host-dtc + and older U-Boot and Linux kernel versions. + + Detect and reject build paths containing '@', as this confuses + a number of packages, including GCC. + + utils/diffconfig: Make it work for (non-Buildroot) config + files not using the BR2_ prefix. + + New defconfigs: Amarula a64-relic, Bananapi m2 ultra, Embest + riotboard, Hardkernel Odroid XU-4, QEMU riscv64-virt. + olimex_a20_olinuxion_lime_mali is renamed to _legacy. + + OpenCL infrastructure support added, similar to how OpenGL is + handled. + + Linux-headers: Support for kernel headers from a custom + tarball / git repo added. + + New packages: bird, bluez5_utils-headers, btrfs-progs, + checksec, davici, duktape, ell, haproxy, libclc, libcorrect, + libopencl, libopenresolv, nss-myhostname, + perl-apache-logformat-compiler, perl-appconfig, + perl-astro-suntime, perl-class-inspector, perl-class-load, + perl-class-method-modifiers, perl-class-std, + perl-class-std-fast, perl-cookie-baker, perl-data-dump, + perl-data-optlist, perl-data-uuid, perl-data-manip, + perl-dbd-mysql, perl-dbi, perl-devel-globaldestruction, + perl-devel-stacktrace, perl-devel-stacktrace-ashtml, + perl-device-serialport, perl-dist-checkconflicts, + perl-exporter-tiny, perl-file-sharedir, perl-file-slurp, + perl-filesys-notify-simple, perl-hash-multivalue, + perl-http-entity-parser, perl-http-headers-fast, + perl-http-multipartparser, perl-io-interface, + perl-io-socket-multicast, perl-json-maybexs, perl-mime-tools, + perl-module-implementation, perl-module-runtime, perl-moo, + perl-number-bytes-human, perl-package-stash, perl-params-util, + perl-plack, perl-posix-strftime-compiler, perl-role-tiny, + perl-streams-buffered, perl-sub-exporter-progressive, + perl-sub-install, perl-sub-quote, perl-sys-cpu, + perl-sys-meminfo, perl-sys-mmap, perl-time-parsedate, + perl-type-tiny, perl-www-form-urlencoded, perl-x10, pigpio, + python-async-timeout, python-falcon, python-fire, + python-mimeparse, python-multidict, python-passlib, + python-pigpio, python-pip, python-ply, python-py, + python-pyasn1, python-pyasn1-modules, python-pycryptodomex, + python-pyhamcrest, python-pysmi, python-scapy, python-semver, + python-serial-asyncio, python-typing, python-uvloop, + pythonwrapt, python-yarl, python-zeroconf, riscv-pk, sedutil, + spandsp, tini, waffle, xapian + + Removed packages: bootutils, dsp-tools, expedite, gst-dsp, + xloader + + Issues resolved (http://bugs.uclibc.org): + + #11116: Buildroot should set PYTHON_EGG_CACHE instead of writing .. + #11156: In python3 module 'socket' has no attribute 'AF_BLUETOOTH' + #11166: Erlang bad argument on valid uint64 when crosscompiled on.. + #11206: zlib: fails to build with Linaro toolchain, BR2_RELRO_FULL.. + #11241: ACPID shouldn't depend on BR2_x86_64 || BR2_i386 + #11251: Util scanpypi failes when package change - to _ in tar file + #11266: qt5base-5.11.1 does not compile with musl, complains about.. + #11286: python-rpi-gpio only should depend on BR2_arm || BR2_aarch64 + #11321: Latest master fails to build readline with RELRO FULL + #11326: sysvinit fails to build in latest GIT master + #11331: Internal application no longer builds with latest GIT master + #11336: nfs-utils fails to build in latest GIT master + #11351: build root-2018-08, linaro aarch64 compile error + #11376: mdmon binary missing + #11391: Valgind availability on ARM + #11396: uboot environment image checksum invalid if target is big endian + #11421: GCC error message for ARM Cortex-A9/ARM.V7 + #11451: Can't find libmpfr.so.4 when using external toolchain on ubuntu.. + #11481: Docs: Is external.desc required? + +2018.08.4, Released December 20th, 2018 + + Important / security related fixes. + + Defconfigs: Fixes for ci20, orangepi zero plus 2 + + Download wrapper: Fix for urlencode handling + + Updated/fixed packages: c-ares, dante, docker-compose, + domoticz, freetype, ghostscript, gnutls, libcurl, libgpgme, + libid3tag, libiscsi, libmpd, libopenssl, liboping, libpjsip, + linux-firmware, liquid-dsp, luvi, lynx, msgpack, nginx, + nodejs, php, popt, pps-tools, prosody, python-numpy, + python-requests, samba4, sdl2_net, squashfs, swupdate, + systemd, uclibc, vte, webkitgtk, wine, xfsprogs + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + +2018.08.3, Released November 26th, 2018 + + Important / security related fixes. + + fs: Drop intermediate tarball from the filesystem handling to + fix an issue with xattrs handling related to fakeroot. Ensure + tarball target includes xattrs. + + download: Fix confusion in git submodule handling if dl/ is a + symlink. + + toolchain: Only allow enabling stack protection on + architectures with control flow integrity (CFI) support. Only + allow FORTIFY_SOURCE support on gcc >= 6. + + genrandconfig: Fix missing newline in BR2_WGET handling, + causing the following line to be ignored. This would affect + BR2_ENABLE_DEBUG, BR2_INIT_BUSYBOX, BR2_INIT_SYSTEMD, + BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV, BR2_STATIC_LIBS or + BR2_PACKAGE_PYTHON_PY_ONLY depending on the randomization. + + show-build-order: Also include the dependencies of + rootfs-common. + + Defconfigs: Fixes for Armadeus APF27, imx6sabre, Olimex A20 + olinuxino lime legacy, Orangepi zero plus 2. + + graph-depends: Fix for package names starting with a non-alpha + character. + + Updated/fixed packages: attr, audit, bind, brotli, busybox, + dtc, easydbus, elfutils, flare-engine, flatcc, gauche, gcc, + giflib, gpsd, lcdproc, libcurl, libiscsi, libkcapi, libnfs, + libnspr, libnss, libsemanage, liburiparser, lighttpd, + lua-curl, mariadb, mmc, mosquitto, mysql, ncmpc, neardal, + netplug, network-manager, nfs-utils, nginx, openocd, openswan, + p11-kit, postgresql, prosody, qemu, qt, rpm, ruby, samba4, + squid, supertuxkart, systemd, tar, trace-cmd, traceroute, + twolame, uclibc, usb_modeswitch, vtun, webkitgtk, weston, + xdriver_xf86-video-geode, xlib_libfontenc, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #11086: download/git submodule breaks on symlinked dl folder + #11481: Docs: Is external.desc required? + +2018.08.2, Released October 25th, 2018 + + Important / security related fixes. + + Workaround added for incompatibility issues between host-dtc + and older U-Boot and Linux kernel versions. + + Detect and reject build paths containing '@', as this confuses + a number of packages, including GCC. + + utils/get-developers: Add -e option for use with git + send-email. + + utils/diffconfig: Make it work for (non-Buildroot) config + files not using the BR2_ prefix. + + u-boot: Fix for environment image handling on big endian + systems. + + Updated/fixed packages: binutils, ca-certificates, + cups-filters, dtc, erlang, file, freetype, gcc, git, gvfs, + jasper, leveldb, libarchive, libssh, live555, ljlinenoise, + mariadb, mongoose, netsnmp, nmap, nodejs, ntp, open-plc-utils, + poco, psmisc, ptpd2, python-enum34, qemu, qt, qt5base, + setools, spice, spice-protocol, tinc, ustr, wireshark, + + Issues resolved (http://bugs.uclibc.org): + + #11396: uboot environment image checksum invalid if target is big endian + +2018.08.1, Released October 7th, 2018 + + Important / security related fixes. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Updated/fixed packages: acpid, android-tools, apache, + arp-scan, bandwidthd, bind, brltty, clamav, connman, cppcms, + domoticz, dtc, fio, gcc, gdb, ghostscript, gnupg, httpping, + igmpproxy, imlib2, ipsec-tools, libesmtp, libnfs, libxslt, + links, lua, mosquitto, nilfs-utils, ocrad, parted, php, + python-django, screen, shairport-sync, strongswan, + vboot-utils, webkitgtk, wireguard, x265 xen, xlib_libXdmcp, + xlib_libXfont, xlib_libXft, xlib_libxshmfence, + xutil_makedepend, zeromq + +2018.08, Released September 6th, 2018 + + Minor fixes. + + Known issues: + + - Glibc 2.28 on the build host breaks compilation of a number + of host packages. 2018.08 contains fixes for some of these + packages, but not all. Consider building on hosts (or in + containers) using older Glibc versions. + + - host-dtc 1.4.7 breaks compilation of older U-Boot and Linux + kernel configurations using FDT/DTC. Consider updating the + Linux kernel to >= 4.17 and U-Boot to >= 2018.07 or + backporting commit 9130ba8846 (scripts/dtc: Update to + upstream version v1.4.6-9-gaadd0b65c987) for the Linux + kernel / commit db405d1980 for U-Boot. + Alternatively revert commit 7b929ddcf0 (dtc: bump version to + 1.4.7) and ensure your build host does not have the libfdt + development headers installed. + + Updated/fixed packages: busybox, chipmunk, cutelyst, + domoticz, gcc, imagemagick, lcms2, libcurl, mediastreamer, + moarvm, php, qt, qt5virtualkeyboard, qt5webengine, screen, + sdl2, squashfs, uboot, xen + + Issues resolved (http://bugs.uclibc.org): + + #11261: ccache using wrong cached objects + #11276: Understanding the patch for kernel-4.9 and other.. + +2018.08-rc3, Released August 31th, 2018 + + Fixes all over the tree. + + linux: additional improvements to the flex / bison dependency + handling, use system provided variant if available. Ensure + toolchain is available when configuring for 4.18+ support. + + Download: Fix handling of primary sites using file:// + + Toolchain: Correct external toolchain musl detection for + static toolchains. + + Updated/fixed packages: aircrack-ng, bison, brltty, busybox, + cutelyst, dropbear, gr-osmosdr, i2c-tools, json-c, libconfuse, + libkcapi, libsoup, libssh, liburiparser, mbedtls, mender, + mesa3d, minicom, mjpegtools, mutt, openpowerlink, openssh, + oracle-mysql, php, postgresql, pv, qt5base, qt5quickcontrols, + rauc, shairport-sync, systemd, xlib_libX11, zeromq, + + Issues resolved (http://bugs.uclibc.org): + + #11091: BR2_PRIMARY_SITE doesn't work (wget is selected... + #11141: WF111 package no longer available + #11211: Internal compiler error: Killed (program cc1plus).. + #11236: util-linux fails to build on Travis CI when python.. + #11246: Glibc 2.28 - fails to build host-bison and host-m4 + #11256: Add python-falcon and python-mimeparse packages + +2018.08-rc2, Released August 20th, 2018 + + Fixes all over the tree. + + pkg-kconfig: Support dependencies needed to run the + configurator, E.G. recent Linux kernel versions needing flex + and bison. + + Defconfigs: ARM Juno: Bump ATF to fix a build + issue. Raspberrypi2: Bump rootfs size. Snps_archs38_vdk: + Correct /etc/inittab. Technologic ts7680: Correct genimage + configuration. Orange PI PC / Zero, Sheevaplug: Bump U-boot to + 2018.07 to fix build issue. Ensure host-openssl is pulled in + for kernel builds where needed. + + Updated/fixed packages: aircrack-ng, bind, boost, + boot-wrapper-aarch64, bzip2, busybox, chrony, cryptsetup, + dahdi-tools, dbus, domoticz, eigen, ipsec-tools, libarchive, + libfuse, libgit2, libopenssl, libselinux, lighttpd, lvm2, m4, + makedevs, mariadb, mesa3d-headers, mono, ncmpc, ncurses, + nodejs, php, python-django, python-pyqt5, qt5base, + qt5serialbus, ruby, samba4, uboot-tools, uclibc, vlc, + waylandpp, wireless_tools, wireshark, wpa_supplicant, mtd, + xdriver_xf86-video-ati, xserver_xorg-server + + Issues resolved (http://bugs.uclibc.org): + + #10781: cryptsetup luksOpen container_file container causes.. + #10996: bogus musl ARM toolchain + #11191: xattr and check-package issue + +2018.08-rc1, Released August 5th, 2018 + + Toolchain: + + - add support for gcc 8.x, switch to gcc 7.x as the default + version + - add support for gdb 8.1, switch to gdb 8.0 as the default + and remove gdb 7.10/7.11 + - add support for binutils 2.31 + - NIOSII CodeSourcery toolchain updated + - Linaro AArch64 BE toolchain added, and other Linaro + toolchains updated + - Synopsys ARC pre-built toolchain updated + + Architecture: add support for ARM Cortex-M7 + + Major updates: + + - systemd bumped to 239 + - Qt5 bumped to 5.11.1 + - Rust bumped to 1.27 + - GStreamer stack bumped to 1.14.2 + - X.org server bumped to 1.20, and all X.org proto packages + replaced by the single xorgproto package + - i.MX6 support packages bumped to 6.2.4 + - i.MX Vivante graphics version bumped to 6.2.4.p1.2, + adding support for Wayland and i.MX8MQ platforms + + Linux: bumped to 4.17 by default. + + Infrastructure: new package infrastructure added for packages + using the Meson build system + + New packages: at-spi2-atk, at-spi2-core, capnproto, cmocka, + corkscrew, cutelyst, davfs2, flatcc, libidn2, libgit2, + libopusenc, mender, nghttp2, perl-convert-asn1, perl-crypt-blowfish, + perl-crypt-cbc, perl-digest-md5, perl-mime-base64-urlsafe, + perl-mojolicious-plugin-authentication, perl-net-ping, + perl-net-snmp, perl-net-ssh2, perl-net-telnet, pigz, + python-reentry, python-request-id, python-validators, + python-webob, shadowsocks-libev, speexdsp, xorgproto, wampcc + + New defconfigs: NXP i.MX7D SDB, Boundary Devices Nitrogen 8M, + Olimex A10 OLinuxino, ZynqMP ZCU106 + + Removed packages: all xproto_* have been removed and replaced + by xorgproto + + Issues resolved (http://bugs.uclibc.org): + + #9411: MUSL build with RT Error relocating /lib/libgcc_s.so.1: + __cpu_indicator_init: symbol not found + #9921: lockfile module within python-daemon not available + #10341: gdb install of py files when using buildroot toolchain + includes build path + #10661: /etc/init.d/S29netplug starts multiple instances of netplugd + #10751: Missing dependency in pulseaudio package + #10811: kodi-17.6-Krypton does not compile for freescale_* devices + #10856: openblas on qemu_x86_64_defconfig fails with + "sgemm_kernel.o: No such file or directory" + #11056: Compiling a file that uses libdrm headers fails with: + fatal error: drm.h: No such file or directory + #11061: support/download: git version=master broken + #11071: Building postgresql package on Debian 9.4 x64 for armel target fails + #11076: Docker containerd installed to incorrect path + #11101: host-patchelf Endian Issue with relative RPATH + #11111: raspberry pi 3 b+: missing BSP for 64-bit kernel + #11121: statfs call corrupts memory struct statfs too small + #11181: Switching toolchain does not work + +2018.05.3, Released October 6th, 2018 + + Important / security related fixes. + + Add a number of patches to fix build errors for host utilities + on modern distributions using glibc-2.28. + + mkusers: Ensure existing group members are preserved when a + group is reprocessed. + + printvars: Fix issue with exceeding shell command line length + limits for certain setups. + + Updated/fixed packages: acpid, android-tools, apache, + arp-scan, bandwidthd, bind, bison, brltty, chipmunk, connman, + cppcms, fio, gcc, ghostscript, gnupg, httping, igmpproxy, + imagemagick, imlib2, ipsec-tools, lcm2, libcurl, libesmtp, + libnfs, libssh, libxslt, links, mediastreamer, minicom, + moarvm, nilfs-utils, ocrad, parted, php, postgresql, pv, + python-django, qt, qt5quickcontrols, qt5webengine, screen, + sdl2, shairport-sync, squashfs, strongswan, vboot-utils, + webkitgtk, wireguard, x265, xen, xlib_libXfont, xlib_libXft, + xlib_libxshmfence, zeromq + +2018.05.2, Released August 28th, 2018 + + Important / security related fixes. + + Defconfigs: Raspberrypi2: Bump rootfs size, T7680: Fix + genimage.cfg issue, ARM Juno: Bump ATF to v1.3 to fix build + issue. + + Updated/fixed packages: acl, attr, apache, bind, + boot-wrapper-aarch64, brltty, bzip2, chrony, crda, cryptsetup, + dahdi-tools, dmidecode, dropbear, eigen, ffmpeg, gawk, gcc, + ghostscript, gnutls, imx-gpu-viv, ipsec-tools, libarchive, + libfuse, libglib2, libopenssl, libselinux, libsoup, lighttpd, + linuxptp, lttng-modules, lttng-tools, lua-flu, lvm2, m4, + makedevs, mariadb, mbedtls, mesa3d-heders, mtd, ncurses, + nodejs, openssh, php, python-django, rauc, ruby, samba4, + stress-ng, ti-utils, uboot-tools, uclibc, vim, waylandpp, + wireless_tools, wireless-regdb, wireshark, wpa_supplicant, + xorriso, znc + + Issues resolved (http://bugs.uclibc.org): + + #10781: cryptsetup luksOpen container_file container causes.. + #10986: Installing package attr when already supplied by.. + #11191: xattr and check-package issue + +2018.05.1, Released July 20th, 2018 + + Important / security related fixes. + + U-Boot: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Linux: Enable CONFIG_PERF_EVENTS when perf is enabled. + + Toolchain: ARC tools updated to arc-2018.03. + + pkg-stats: Fix python 3.x compatibility. + + dl-wrapper: Fix support for URIs containing '+', fix + no-check-hash for inferred site method. + + Defconfigs: Raspberrypi3: Bump rootfs size, Minnowboard-max: + Support ethernet on Turbot variant. + + Updated/fixed packages: audit, bind, btrfs-progs, cifs-utils, + clamav, collectd, coreutils, docker-containerd, dos2unix, + edid-decode, file, gcc, gdb, gnupg, gnupg2, heimdal, hidapi, + imagemagick, libcurl, libgcrypt, libglib2, liblogging, + libostree, libressl, libsoup, libv4l, libvncserver, libvorbis, + libwebsockets, libxslt, lm-sensors, mariadb, mpg123, ncurses, + network-manager, nodejs, patchelf, perl, php-amqp, pinentry, + pixiewps, qpdf, qt53d, qt5base, qt5charts, qt5script, redis, + systemd, triggerhappy, uboot, wireguard, wireless-regdb, + wireshark + +2018.05, Released June 1st, 2018 + + Minor fixes. + + Download: Work around for hanging connections for packages + from CVS, by adding a 10 minute max timeout. + + Updated/fixed packages: binutils, clang, dash, expect, git, + glibc, jpeg-turbo, libjpeg, log4cplus, openvmtools, xen, + + Issues resolved (http://bugs.uclibc.org): + + #11051: runtime issue on STM32 with usage of binutils 2.29.x + +2018.05-rc3, Released May 28th, 2018 + + Fixes all over the tree. + + Toolchain: ARC tools updated to arc-2018.03-rc2. + + Fs: Ensure hard links in TARGET_DIR are correctly copied for + filesystem input. With the recent changes to the file system + generation logic, hard links were "expanded" in file system + images leading to bloated rootfs images for setups with hard + links. + + Infrastructure: Error out for packages using the 'local' + method but forgetting to specify _SITE. + + Build rpcgen for the host when needed to support distributions + no longer shipping rpcgen with glibc (E.G. recent Fedora). + + Updated/fixed packages: autofs, bash-completion, binutils, + busybox, cjson, elf2flt, libcoap, libcurl, libtirpc, lrzsz, + poppler, procps-ng, qt-webkit-kiosk, quota, samba4, xfsprogs + + Issues resolved (http://bugs.uclibc.org): + + #11031: ld-elf2flt: host/bin/ld.real': execvp: No such file.. + #11036: C compiler cannot create executables + #11046: Git package binaries are ~180MB (compared to ~20MB in.. + +2018.05-rc2, Released May 22nd, 2018 + + Fixes all over the tree. + + Dependencies: Check that the current working directory (.) + isn't listed in PATH as that causes various build issues. + + Manual: Clarify that git branch names may not be used as + version identifiers. This has never been supported, but was + kind of working (with some limitations) before the git + download rework - Now it does not work at all. + + Linux: Ensure host version of ncurses is picked up and not + host-ncurses built by buildroot, as that otherwise causes + widechar/non-widechar conflicts and corrupted menuconfig + menus. + + Packages: Renamed a number of package options not prefixed + with BR2_PACKAGE_ for consstency. + + Download infrastructure: Fix file:// protocol handling after + download rework. + + Updated/fixed packages: acl, apr-util, asterisk, attr, + bluez5_utils, cifs-utils, clamav, clang, cups-filters, + dahdi-linux, exim, faketime, gdb, go, gst1-plugins-bad, + imx-mkimage, ipsec-tools, jamvm, janus-gateway, + jquery-ui-themes, libcap, libcurl, libftdi, libkcapi, libkrb5, + libmediaart, libmodbus, libmodplug, libmpd, + libnetfilter_cthelper, libnetfilter_cttimeout, libnfc, + libnfnetlink, libnss, liboauth, libogg, libosip2, + libpam-radius-auth, libpcap, libpciaccess, llvm, log4cplus, + ltrace, lynx, mbedtls, modem-manager, nfs-utils, + python-cython, python-websockets, qt5cinex, qt5wayland, rauc, + snort, strace, ti-sgx-km, transmission, wavpack, wget, woff2, + xen, zmqpp, znc, zstd + + Issues resolved (http://bugs.uclibc.org): + + #10986: Installing package attr when already supplied by... + #11011: BUildroot for Raspberry Pi 2 + #11016: Wrong compiler used for external user host packages + +2018.05-rc1, Released May 9th, 2018 + + Toolchain: glibc bumped to 2.27, musl bumped to 1.1.19, + uClibc-ng 1.0.30, Linux kernel headers bumped to 4.16.x. + + Architecture: support for the Blackfin architecture has been + removed, as it was removed from Linux upstream, poorly + maintained in binutils/gdb, and abandoned by Analog Devices. + + Numerous packages updated to have hashes for their license + files. + + Systemd can now be built with uClibc toolchains. + + Linux: addition of BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF and + BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL to support building Linux + kernel configurations that need libelf on the host or openssl + on the host. + + Coding style: + - all Python scripts are now verified with flake8 + - check-package extended to check all Config.in and .mk files + in tree, not only the ones in package/ + + Infrastructure: + + - The download infrastructure has seen a major overhaul, with + the main visible new feature being Git caching: a package + fetched from Git no longer needs to be re-cloned entirely + everytime its version is changed. Anoter visible change is + that the download folder now has subfolders per package. See + http://lists.busybox.net/pipermail/buildroot/2018-April/217923.html + for more details about those changes. + + - The logic that generates the root filesystem images has been + reworked, with the main goal of allowing several filesystem + images to be produced in parallel, also a requirement for + top-level parallel build. Now, a .tar filesystem image is + always created, and re-extracted in a private directory to + create each format-specific filesystem image. + + - A new package infrastructure was introduced for Go-based + packages: golang-package. + + - Dependencies on extraction tools are now handled as proper + per-package dependencies, using + _EXTRACT_DEPENDENCIES. Beyond a cleanup, this is also a + preparation step for top-level parallel build support. + + - When a file being downloaded is part of a package with a + .hash file, but there is no hash listed for this file, the + file is now preserved in the download directory rather than + removed. This helps when updating a package, as it gives the + ability to easily calculate the hash of the file. + + - Addition of '-show-recursive-depends' and + '-show-recursive-rdepends' make targets, to + respectively display the recursive list of dependencies and + the recursive list of reverse dependencies of a given + package. + + - The /etc/shells file is now automatically generated with the + list of shell programs installed on the system. + + - Addition of -Ofast optimization level as an available + option. + + Major updates: Go updated to 1.10, Erlang bumped to 20.3, Qt5 + bumped to 5.10.1. + + New packages: 18xx-ti-utils, abootimg, bluez-alsa, brotli, + chipmunk, clang, docker-compose, docker-proxy, flare-engine, + flare-game, gst1-interpipe, gstreamer1-editing-services, + hackrf, i2pd, imx-alsa-plugins, imx-mkimage, libcdio-paranoia, + libkrb5, llvm, pixiewps, python-backports-ssl-match-hostname, + python-cached-property, python-cython, python-docker, + python-dockerpty, python-docker-pycreds, + python-flask-sqlalchemy, python-functools32, python-influxdb, + python-json-models, python-libusb1, python-networkx, + python-psycopg2, python-pymodbus, python-sqlalchemy, + python-subprocess32, python-texttable, + python-websocket-client, python-yieldfrom, quotatool, reaver, + snort, sunxi-mali-mainline, sunxi-mali-mainline-driver, tk, + tpm2-abrmd, tpm2-tools, tpm2-tss, udftools, vte, woff2. + + New defconfigs: ARC HS Development Kit, Arcturus ucls1012a, + Freescale i.MX6UL EVK (with vendor kernel), Freescale i.MX6 + SoloLite EVK (with vendor kernel), Freescale i.MX31 3Stack, + Freescale i.MX8Q EVK Freescale p1025twr, Freescale t1040d4rdb, + Qemu PPC64 E5500, SolidRun ClearFog Base, Tinker RK3288, Vyasa + RK3288, + + Removed packages: iqvlinux, kodi-adsp-*, mplayer + + Removed defconfigs: ci40, firefly_rk3288, + freescale_p1010rdb_pa, freescale_mpc8315erdb, riotboard, + teliv_evk_pro3 + + Issues resolved (http://bugs.uclibc.org): + + #10151: toolchain eclipse register : fails with a custom + BR2_HOST_DIR + #10511: Packages get downloaded uncompressed with wget + #10531: QtWebengine doesn't build if the host hasn't a 32 bits + C++ compiler working + #10846: error in compiling gnutls + #10886: openssl-1.0.2n fails to build + #10896: /bin/sh not in /etc/shells + #10961: Grub2 fails to build for x86_64 when BR2_SSP_ALL is + enabled + +2018.02.11, Released February 23th, 2019 + + Important / security related fixes. + + Ensure the PLATFORM and OS environment variables are not set, + as they cause build issues for some packages. + + The package list infrastructure now correctly handles packages + installing files with old mtime. + + Linux: Skip hash checks for user supplied downloadable + patches, as no hash checksums are available for those. + + scanpypi: protect against zip-slip vulnerability in zip/tar + handling + + Updated/fixed packages: bind, dhcpcd, dovecot, ghostscript, + gnuradio, imagemagick, jpeg-turbo, libarchive, libb64, + libcurl, libid3tag, madplay, mosquitto, openssh, php, + postgresql, proftpd, python, python-django, python3, qt5base, + sqlcipher, swupdate, systemd, unzip, webkitgtk + +2018.02.10, Released January 31th, 2019 + + Important / security related fixes. + + Defconfigs: Fixes for Lego EV3, QEMU AArch64-virt + + check-package: fix Python 3 support + + get-developers: Fix behaviour when called from elsewhere than + the toplevel directory. + + cmake: Also set CMAKE_SYSTEM_VERSION in toolchainfile.cmake + + Updated/fixed packages: acpica, apache, apr, asterisk, + avrdude, cargo, cc-tool, dash, dhcpdump, dmalloc, gnuchess, + gnupg2, leveldb, libarchive, libassuan, libftdi1, + libgpg-error, libhttpparser, libmad, libsndfile, libsquish, + liburiparser, libwebsock, libxml2, lighttpd, lm-sensors, + lua-msgpack-native, mbedtls, mosquitto, netatalk, nodejs, + openssh, pango, patchelf, php, python-django, python-pyyaml, + rauc, rp-pppoe, s6-networking, samba4, sdl_sound, + shairport-sync, sqlite, subversion, sunxi-cedarx, tcpreplay, + tekui, usb_modeswitch, webkitgtk, wireshark, wolfssl, + xapp_rgb, xenomai, xerces + + Issues resolved (http://bugs.uclibc.org): + + #11576: Unable to start apache with event MPM on raspberry pi 3 + +2018.02.9, Released December 20th, 2018 + + Important / security related fixes. + + defconfigs: Fixes for ci20 + + Updated/fixed packages: c-ares, dante, freetype, ghostscript, + glibc, gnutls, go, libcurl, libgpgme, libid3tag, libiscsi, + libmpd, libopenssl, libpjsip, linux, liquid-dsp, luvi, lynx, + msgpack, nginx, nodejs, php, popt, pps-tools, python-numpy, + python-requests, samba4, sdl2_net, squashfs, swupdate, uclibc, + wine, webkitgtk, xfsprogs + + Issues resolved (http://bugs.uclibc.org): + + #11426: pps-tools bash dependency + 2018.02.8, Released November 26th, 2018 Important / security related fixes. @@ -62,11 +1153,11 @@ systems. Updated/fixed packages: binutils, ca-certificates, - cups-filters, erlang, libarchive, libcurl, libssh, live555, - ljlinenoise, file, freetype, gcc, git, gvfs, leveldb, mariadb, + cups-filters, erlang, file, freetype, gcc, git, gvfs, leveldb, + libarchive, libcurl, libssh, live555, ljlinenoise, mariadb, mongoose, netsnmp, nmap, nodejs, ntp, open-plc-utils, poco, - psmisc, qptpd2, python-enum34, qemu, qt, qt5base, spice, - spice-protocols, setools, tinc, ustr, wireshark + psmisc, ptpd2, python-enum34, qemu, qt, qt5base, setools, + spice, spice-protocol, tinc, ustr, wireshark Issues resolved (http://bugs.uclibc.org): @@ -1143,6 +2234,26 @@ #9846: musl libc not installed correctly in target folder #9856: build libubox failed on ubuntu 17.04 64bit +2017.02.11, Released April 11th, 2018 + + Important / security related fixes. + + dependencies: Blacklist tar 1.30+ and build our own host-tar + if needed as tar 1.30+ changed the --numeric-owner output for + long path names. Build host-tar before other host-dependencies + as they need it to extract their source tarballs. + + Updated/fixed packages: apache, busybox, clamav, dhcp, + dnsmasq, dovecot, exim, imagemagick, irssi, jq, libcurl, + libpjsip, librsvg, libtasn1, libvorbis, libxml2, lz4, mariadb, + mbedtls, mosquitto, ntp, openblas, opencv3, openssl, patch, + postgresql, python-webpy, qt53d, qt5tools, quagga, rsync, + samba4, sngrep, tremor, wavpack, wireshark, xerces, xterm + + Issues resolved (http://bugs.uclibc.org): + + #10856: openblas on qemu_x86_64_defconfig fails with "sgemm_.. + 2017.02.10, Released January 31st, 2018 Important / security related fixes. diff --git a/bsp/buildroot/Config.in b/bsp/buildroot/Config.in index 102c8010..d58d8dc0 100644 --- a/bsp/buildroot/Config.in +++ b/bsp/buildroot/Config.in @@ -136,10 +136,6 @@ config BR2_SCP string "Secure copy (scp) command" default "scp" -config BR2_SSH - string "Secure shell (ssh) command" - default "ssh" - config BR2_HG string "Mercurial (hg) command" default "hg" @@ -183,8 +179,8 @@ config BR2_TAR_OPTIONS default "" help Options to pass to tar when extracting the sources. - E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files - and to be verbose. + E.g. " -v --exclude='*.svn*'" to exclude all .svn internal + files and to be verbose. endmenu @@ -208,6 +204,9 @@ config BR2_DL_DIR If the Linux shell environment has defined the BR2_DL_DIR environment variable, then this overrides this configuration item. + The directory is organized with a subdirectory for each + package. Each package has its own $(LIBFOO_DL_DIR) variable + that can be used to find the correct path. The default is $(TOPDIR)/dl @@ -432,8 +431,8 @@ endif config BR2_STRIP_strip bool "strip target binaries" - depends on !BR2_PACKAGE_HOST_ELF2FLT default y + depends on !BR2_PACKAGE_HOST_ELF2FLT help Binaries and libraries in the target filesystem will be stripped using the normal 'strip' command. This allows to save @@ -443,16 +442,16 @@ config BR2_STRIP_strip config BR2_STRIP_EXCLUDE_FILES string "executables that should not be stripped" - depends on BR2_STRIP_strip default "" + depends on BR2_STRIP_strip help You may specify a space-separated list of binaries and libraries here that should not be stripped on the target. config BR2_STRIP_EXCLUDE_DIRS string "directories that should be skipped when stripping" - depends on BR2_STRIP_strip default "" + depends on BR2_STRIP_strip help You may specify a space-separated list of directories that should be skipped when stripping. Binaries and libraries in @@ -538,11 +537,21 @@ config BR2_OPTIMIZE_S -ftree-vect-loop-version This is the default. +config BR2_OPTIMIZE_FAST + bool "optimize for fast" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + help + Optimize for fast. Disregard strict standards + compliance. -Ofast enables all -O3 optimizations. It also + enables optimizations that are not valid for all + standard-compliant programs. It turns on -ffast-math and the + Fortran-specific -fstack-arrays, unless -fmax-stack-var-size + is specified, and -fno-protect-parens. + endchoice config BR2_GOOGLE_BREAKPAD_ENABLE bool "Enable google-breakpad support" - select BR2_PACKAGE_GOOGLE_BREAKPAD depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 @@ -551,6 +560,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC) depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS + select BR2_PACKAGE_GOOGLE_BREAKPAD help This option will enable the use of google breakpad, a library and tool suite that allows you to distribute an application to @@ -617,7 +627,6 @@ config BR2_SHARED_STATIC_LIBS endchoice - config BR2_PACKAGE_OVERRIDE_FILE string "location of a package override file" default "$(CONFIG_DIR)/local.mk" @@ -665,7 +674,20 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH Note that this mechanism is available for both the internal toolchain (through the toolchain wrapper and binutils patches) - and external toolchain backends (through the toolchain wrapper). + and external toolchain backends (through the toolchain + wrapper). + +config BR2_FORCE_HOST_BUILD + bool "Force the building of host dependencies" + help + Build all available host dependencies, even if they are + already installed on the system. + + This option can be used to ensure that the download cache of + source archives for packages remain consistent between + different build hosts. + + This option will increase build time. config BR2_REPRODUCIBLE bool "Make the build reproducible (experimental)" @@ -749,9 +771,9 @@ choice bool "RELRO Protection" depends on BR2_SHARED_LIBS help - Enable a link-time protection know as RELRO (RELocation Read Only) - which helps to protect from certain type of exploitation techniques - altering the content of some ELF sections. + Enable a link-time protection know as RELRO (RELocation Read + Only) which helps to protect from certain type of exploitation + techniques altering the content of some ELF sections. config BR2_RELRO_NONE bool "None" @@ -767,9 +789,9 @@ config BR2_RELRO_PARTIAL config BR2_RELRO_FULL bool "Full" help - This option includes the partial configuration, but also - marks the GOT as read-only at the cost of initialization time - during program loading, i.e every time an executable is started. + This option includes the partial configuration, but also marks + the GOT as read-only at the cost of initialization time during + program loading, i.e every time an executable is started. endchoice @@ -782,10 +804,10 @@ choice depends on !BR2_OPTIMIZE_0 help Enable the _FORTIFY_SOURCE macro which introduces additional - checks to detect buffer-overflows in the following standard library - functions: memcpy, mempcpy, memmove, memset, strcpy, stpcpy, - strncpy, strcat, strncat, sprintf, vsprintf, snprintf, vsnprintf, - gets. + checks to detect buffer-overflows in the following standard + library functions: memcpy, mempcpy, memmove, memset, strcpy, + stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf, + vsnprintf, gets. NOTE: This feature requires an optimization level of s/1/2/3/g diff --git a/bsp/buildroot/Config.in.legacy b/bsp/buildroot/Config.in.legacy index 40f39e3a..25b48fba 100644 --- a/bsp/buildroot/Config.in.legacy +++ b/bsp/buildroot/Config.in.legacy @@ -99,11 +99,11 @@ if !BR2_SKIP_LEGACY config BR2_LEGACY bool help - This option is selected automatically when your old .config uses an - option that no longer exists in current buildroot. In that case, the - build will fail. Look for config options which are selected in the - menu below: they no longer exist and should be replaced by something - else. + This option is selected automatically when your old .config + uses an option that no longer exists in current buildroot. In + that case, the build will fail. Look for config options which + are selected in the menu below: they no longer exist and + should be replaced by something else. # This comment fits exactly in a 80-column display comment "Legacy detected: check the content of the menu below" @@ -143,7 +143,1093 @@ comment "----------------------------------------------------" endif ############################################################################### -comment "Legacy options removed in 2018.02" + +comment "Legacy options removed in 2019.02" + +config BR2_PACKAGE_QT + bool "qt package removed" + select BR2_LEGACY + help + The qt package was removed. + +config BR2_PACKAGE_QTUIO + bool "qtuio package removed" + select BR2_LEGACY + help + The qtuio package was removed. + +config BR2_PACKAGE_PINENTRY_QT4 + bool "pinentry-qt4 option removed" + select BR2_LEGACY + help + The pinentry-qt4 option was removed. + +config BR2_PACKAGE_POPPLER_QT + bool "poppler qt option removed" + select BR2_LEGACY + help + The poppler qt option was removed. + +config BR2_PACKAGE_OPENCV3_WITH_QT + bool "opencv3 qt backend option removed" + select BR2_LEGACY + help + The opencv3 qt backend option was removed. + +config BR2_PACKAGE_OPENCV_WITH_QT + bool "opencv qt backend option removed" + select BR2_LEGACY + help + The opencv qt backend option was removed. + +config BR2_PACKAGE_AMD_CATALYST_CCCLE + bool "catalyst control center option removed" + select BR2_LEGACY + help + The AMD Catalyst Control Center option was removed. + +config BR2_PACKAGE_SDL_QTOPIA + bool "sdl qtopia video driver option removed" + select BR2_LEGACY + help + The SDL QTopia video driver option was removed. + +config BR2_PACKAGE_PYTHON_PYQT + bool "python-pyqt package removed" + select BR2_LEGACY + help + The python-pyqt package was removed. Consider python-pyqt5 + instead. + +config BR2_PACKAGE_GNURADIO_QTGUI + bool "gnuradio gr-qtgui option removed" + select BR2_LEGACY + help + The gr-qtgui option was removed. + +config BR2_PACKAGE_LUACRYPTO + bool "luacrypto package removed" + select BR2_LEGACY + help + The luacrypto package was removed. Consider luaossl instead. + +config BR2_PACKAGE_TN5250 + bool "tn5250 package removed" + select BR2_LEGACY + help + The tn5250 package was removed. + +config BR2_PACKAGE_BOOST_SIGNALS + bool "Boost signals removed" + select BR2_LEGACY + help + Its removal was announced in boost 1.68 and its deprecation + was announced in 1.54. Users are encouraged to use Signals2 + instead. + +config BR2_PACKAGE_FFTW_PRECISION_SINGLE + bool "single" + select BR2_LEGACY + select BR2_PACKAGE_FFTW_SINGLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_SINGLE. + +config BR2_PACKAGE_FFTW_PRECISION_DOUBLE + bool "double" + select BR2_LEGACY + select BR2_PACKAGE_FFTW_DOUBLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_DOUBLE. + +config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE + bool "long double" + depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \ + (BR2_arm || BR2_mips || BR2_mipsel)) + select BR2_LEGACY + select BR2_PACKAGE_FFTW_LONG_DOUBLE + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_LONG_DOUBLE. + +config BR2_PACKAGE_FFTW_PRECISION_QUAD + bool "quad" + depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR + select BR2_LEGACY + select BR2_PACKAGE_FFTW_QUAD + help + This option has been removed in favor of + BR2_PACKAGE_FFTW_QUAD. + +config BR2_PACKAGE_LUA_5_2 + bool "Lua 5.2.x version removed" + select BR2_LEGACY + select BR2_PACKAGE_LUA_5_3 + help + The Lua 5.2.x version was removed. + +config BR2_TARGET_GENERIC_PASSWD_MD5 + bool "target passwd md5 format support has been removed" + select BR2_LEGACY + help + The default has been moved to SHA256 and all C libraries + now support that method by default + +comment "Legacy options removed in 2018.11" + +config BR2_TARGET_XLOADER + bool "xloader has been removed" + select BR2_LEGACY + help + The package has been removed as u-boot SPL provides + similar functionality + +config BR2_PACKAGE_TIDSP_BINARIES + bool "tidsp-binaries package removed" + select BR2_LEGACY + help + The tidsp-binaries package was removed. + +config BR2_PACKAGE_DSP_TOOLS + bool "dsp-tools package removed" + select BR2_LEGACY + help + The dsp-tools package was removed. + +config BR2_PACKAGE_GST_DSP + bool "gst-dsp package removed" + select BR2_LEGACY + help + The gst-dsp package was removed. + +config BR2_PACKAGE_BOOTUTILS + bool "bootutils package removed" + select BR2_LEGACY + help + The bootutils package was removed. + +config BR2_PACKAGE_EXPEDITE + bool "expedite package has been removed" + select BR2_LEGACY + help + expedite is not actively maintained anymore. + https://sourceforge.net/p/enlightenment/mailman/message/36428571 + +config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT + bool "mesa3d opengl texture float option removed" + select BR2_LEGACY + help + mesa3d now unconditionally enables floating-point textures, + as the corresponding patent has expired. + +config BR2_KERNEL_HEADERS_4_10 + bool "kernel headers version 4.10.x are no longer supported" + select BR2_LEGACY + help + Version 4.10.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_11 + bool "kernel headers version 4.11.x are no longer supported" + select BR2_LEGACY + help + Version 4.11.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_12 + bool "kernel headers version 4.12.x are no longer supported" + select BR2_LEGACY + help + Version 4.12.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_13 + bool "kernel headers version 4.13.x are no longer supported" + select BR2_LEGACY + help + Version 4.13.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_15 + bool "kernel headers version 4.15.x are no longer supported" + select BR2_LEGACY + help + Version 4.15.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_17 + bool "kernel headers version 4.17.x are no longer supported" + select BR2_LEGACY + help + Version 4.17.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_PACKAGE_LIBNFTNL_XML + bool "libnftl no longer supports XML output" + select BR2_LEGACY + help + libnftnl removed integration with libmxml. + +config BR2_KERNEL_HEADERS_3_2 + bool "kernel headers version 3.2.x are no longer supported" + select BR2_LEGACY + help + Version 3.2.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_1 + bool "kernel headers version 4.1.x are no longer supported" + select BR2_LEGACY + help + Version 4.1.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_16 + bool "kernel headers version 4.16.x are no longer supported" + select BR2_LEGACY + help + Version 4.16.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +config BR2_KERNEL_HEADERS_4_18 + bool "kernel headers version 4.18.x are no longer supported" + select BR2_LEGACY + help + Version 4.18.x of the Linux kernel headers are no longer + maintained upstream and are now removed. + +############################################################################### +comment "Legacy options removed in 2018.08" + +config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT + bool "docker-engine static client option renamed" + select BR2_LEGACY + select BR2_PACKAGE_DOCKER_CLI_STATIC + help + BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to + BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of + docker-engine and docker-cli. + +config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 + bool "Modular X.org server was updated to version 1.20.0" + select BR2_LEGACY + select BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 + help + Modular X.org server was updated to version 1.20.0 + +config BR2_PACKAGE_XPROTO_APPLEWMPROTO + bool "xproto-applewmproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-applewmproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_BIGREQSPROTO + bool "xproto-bigreqsproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-bigreqsproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_COMPOSITEPROTO + bool "xproto-compositeproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-compositeproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DAMAGEPROTO + bool "xproto-dameproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dameproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DMXPROTO + bool "xproto-dmxproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dmxproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DRI2PROTO + bool "xproto-dri2proto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dri2proto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_DRI3PROTO + bool "xproto-dri3proto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-dri3proto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_FIXESPROTO + bool "xproto-fixesproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-fixesproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_FONTCACHEPROTO + bool "xproto-fontcacheproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-fontcacheproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_FONTSPROTO + bool "xproto-fontsproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-fontsproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_GLPROTO + bool "xproto-glproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-glproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_INPUTPROTO + bool "xproto-inputproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-inputproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_KBPROTO + bool "xproto-kbproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-kbproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_PRESENTPROTO + bool "xproto-presentproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-presentproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RANDRPROTO + bool "xproto-randrproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-randrproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RECORDPROTO + bool "xproto-recordproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-recordproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RENDERPROTO + bool "xproto-renderproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-renderproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_RESOURCEPROTO + bool "xproto-resourceproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-resourceproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_SCRNSAVERPROTO + bool "xproto-scrnsaverprot package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-scrnsaverprot package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_VIDEOPROTO + bool "xproto-videoproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-videoproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_WINDOWSWMPROTO + bool "xproto-windowswmproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-windowswmproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XCMISCPROTO + bool "xproto-xcmiscproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xcmiscproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XEXTPROTO + bool "xproto-xextproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xextproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO + bool "xproto-xf86bigfontproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86bigfontproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86DGAPROTO + bool "xproto-xf86dgaproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86dgaproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86DRIPROTO + bool "xproto-xf86driproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86driproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO + bool "xproto-xf86vidmodeproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xf86vidmodeproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XINERAMAPROTO + bool "xproto-xineramaproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xineramaproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XPROTO + bool "xproto-xproto package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xproto package has been replaced by the + xorgproto package, which combines all xproto_* packages. + +config BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL + bool "xproto-xproxymanagementprotocol package replaced by xorgproto" + select BR2_LEGACY + select BR2_PACKAGE_XORGPROTO + help + The xproto-xproxymanagementprotocol package has been + replaced by the xorgproto package, which combines all + xproto_* packages. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL + bool "gst1-plugins-bad opengl option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL + help + The opengl option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 + bool "gst1-plugins-bad gles2 option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2 + help + The gles2 option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX + bool "gst1-plugins-bad glx option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX + help + The glx option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL + bool "gst1-plugins-bad egl option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL + help + The egl option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 + bool "gst1-plugins-bad x11 option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11 + help + The x11 option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND + bool "gst1-plugins-bad wayland option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND + help + The wayland option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX + bool "gst1-plugins-bad dispmanx option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX + help + The dispmanx option has been moved from gst1-plugins-mad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER + bool "gst1-plugins-bad audiomixer option moved to gst1-plugins-base" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER + help + The audiomixer option has been moved from gst1-plugins-bad to + gst1-plugins-base. + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME + bool "gst1-plugins-ugly lame option moved to gst1-plugins-good" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME + help + The lame option has been moved from gst1-plugins-ugly to + gst1-plugins-good. + +config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 + bool "gst1-plugins-ugly mpg123 option moved to gst1-plugins-good" + select BR2_LEGACY + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123 + help + The mpg123 option has been moved from gst1-plugins-ugly to + gst1-plugins-good. + +config BR2_GDB_VERSION_7_11 + bool "gdb 7.11 has been removed" + select BR2_LEGACY + help + The 7.11 version of gdb has been removed. Use a newer version + instead. + +config BR2_GDB_VERSION_7_10 + bool "gdb 7.10 has been removed" + select BR2_LEGACY + help + The 7.10 version of gdb has been removed. Use a newer version + instead. + +############################################################################### +comment "Legacy options removed in 2018.05" + +config BR2_PACKAGE_MEDIAART_BACKEND_NONE + bool "libmediaart none backend option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_MEDIAART_BACKEND_NONE has been renamed to + BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE + +config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF + bool "libmediaart gdk-pixbuf backend option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF has been renamed to + BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF + +config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF + bool "libmediaart qt backend option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_MEDIAART_BACKEND_QT has been renamed to + BR2_PACKAGE_LIBMEDIAART_BACKEND_QT + +# Note: BR2_PACKAGE_TI_SGX_AM335X is still referenced from +# package/ti-sgx-km/Config.in +config BR2_PACKAGE_TI_SGX_AM335X + bool "ti-sgx-km AM335X option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_TI_SGX_AM335X has been renamed to + BR2_PACKAGE_TI_SGX_KM_AM335X. + +# Note: BR2_PACKAGE_TI_SGX_AM437X is still referenced from +# package/ti-sgx-km/Config.in +config BR2_PACKAGE_TI_SGX_AM437X + bool "ti-sgx-km AM437X option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_TI_SGX_AM437X has been renamed to + BR2_PACKAGE_TI_SGX_KM_AM437X. + +# Note: BR2_PACKAGE_TI_SGX_AM4430 is still referenced from +# package/ti-sgx-km/Config.in +config BR2_PACKAGE_TI_SGX_AM4430 + bool "ti-sgx-km AM4430 option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_TI_SGX_AM4430 has been renamed to + BR2_PACKAGE_TI_SGX_KM_AM4430. + +# Note: BR2_PACKAGE_TI_SGX_AM5430 is still referenced from +# package/ti-sgx-km/Config.in +config BR2_PACKAGE_TI_SGX_AM5430 + bool "ti-sgx-km AM5430 option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_TI_SGX_AM5430 has been renamed to + BR2_PACKAGE_TI_SGX_KM_AM5430. + +config BR2_PACKAGE_JANUS_AUDIO_BRIDGE + bool "janus-gateway audio-bridge option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_AUDIO_BRIDGE has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE. + +config BR2_PACKAGE_JANUS_ECHO_TEST + bool "janus-gateway echo-test option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_ECHO_TEST has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST. + +config BR2_PACKAGE_JANUS_RECORDPLAY + bool "janus-gateway recordplay option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_RECORDPLAY has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY. + +config BR2_PACKAGE_JANUS_SIP_GATEWAY + bool "janus-gateway sip-gateway option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_SIP_GATEWAY has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY. + +config BR2_PACKAGE_JANUS_STREAMING + bool "janus-gateway streaming option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_STREAMING + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_STREAMING has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_STREAMING. + +config BR2_PACKAGE_JANUS_TEXT_ROOM + bool "janus-gateway text-room option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_TEXT_ROOM has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM. + +config BR2_PACKAGE_JANUS_VIDEO_CALL + bool "janus-gateway video-call option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_VIDEO_CALL has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL. + +config BR2_PACKAGE_JANUS_VIDEO_ROOM + bool "janus-gateway video-room option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_VIDEO_ROOM has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM. + +config BR2_PACKAGE_JANUS_MQTT + bool "janus-gateway mqtt option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_MQTT + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_MQTT has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_MQTT. + +config BR2_PACKAGE_JANUS_RABBITMQ + bool "janus-gateway rabbitmq option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_RABBITMQ has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ. + +config BR2_PACKAGE_JANUS_REST + bool "janus-gateway rest option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_REST + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_REST has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_REST. + +config BR2_PACKAGE_JANUS_UNIX_SOCKETS + bool "janus-gateway unix-sockets option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_UNIX_SOCKETS has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS. + +config BR2_PACKAGE_JANUS_WEBSOCKETS + bool "janus-gateway websockets option renamed" + select BR2_LEGACY + select BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS + help + For consistency reasons, the janus-gateway option + BR2_PACKAGE_JANUS_WEBSOCKETS has been renamed to + BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS. + +config BR2_PACKAGE_IPSEC_SECCTX_DISABLE + bool "ipsec-tools security context disable option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_IPSEC_SECCTX_DISABLE was renamed to + BR2_PACKAGE_IPSEC_TOOLS_SECCTX_DISABLE. + +config BR2_PACKAGE_IPSEC_SECCTX_ENABLE + bool "ipsec-tools SELinux security context enable option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_IPSEC_SECCTX_ENABLE was renamed to + BR2_PACKAGE_IPSEC_TOOLS_SECCTX_ENABLE. + +config BR2_PACKAGE_IPSEC_SECCTX_KERNEL + bool "ipsec-tools kernel security context enable option renamed" + select BR2_LEGACY + help + For consistency reasons, the option + BR2_PACKAGE_IPSEC_SECCTX_KERNEL was renamed to + BR2_PACKAGE_IPSEC_TOOLS_SECCTX_KERNEL. + +config BR2_PACKAGE_LIBTFDI_CPP + bool "libftdi C++ bindings option renamed" + select BR2_LEGACY + select BR2_PACKAGE_LIBFTDI_CPP + help + The option BR2_PACKAGE_LIBTFDI_CPP was renamed to + BR2_PACKAGE_LIBFTDI_CPP in order to fix a typo in the option + name. + +config BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE + bool "jquery-ui-themes option black-tie renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + black-tie theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE to + BR2_PACKAGE_JQUERY_UI_THEMES_BLACK_TIE. + +config BR2_PACKAGE_JQUERY_UI_THEME_BLITZER + bool "jquery-ui-themes option blitzer renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + blitzer theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_BLITZER to + BR2_PACKAGE_JQUERY_UI_THEMES_BLITZER. + +config BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO + bool "jquery-ui-themes option cupertino renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + cupertino theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO to + BR2_PACKAGE_JQUERY_UI_THEMES_CUPERTINO. + +config BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE + bool "jquery-ui-themes option dark-hive renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + dark-hive theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE to + BR2_PACKAGE_JQUERY_UI_THEMES_DARK_HIVE. + +config BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV + bool "jquery-ui-themes option dot-luv renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + dot-luv theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV to + BR2_PACKAGE_JQUERY_UI_THEMES_DOT_LUV. + +config BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT + bool "jquery-ui-themes option eggplant renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + eggplant theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT to + BR2_PACKAGE_JQUERY_UI_THEMES_EGGPLANT. + +config BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE + bool "jquery-ui-themes option excite-bike renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + excite-bike theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE to + BR2_PACKAGE_JQUERY_UI_THEMES_EXCITE_BIKE. + +config BR2_PACKAGE_JQUERY_UI_THEME_FLICK + bool "jquery-ui-themes option flick renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + flick theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_FLICK to + BR2_PACKAGE_JQUERY_UI_THEMES_FLICK. + +config BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS + bool "jquery-ui-themes option hot-sneaks renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + hot-sneaks theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS to + BR2_PACKAGE_JQUERY_UI_THEMES_HOT_SNEAKS. + +config BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY + bool "jquery-ui-themes option humanity renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + humanity theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY to + BR2_PACKAGE_JQUERY_UI_THEMES_HUMANITY. + +config BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG + bool "jquery-ui-themes option le-frog renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + le-frog theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG to + BR2_PACKAGE_JQUERY_UI_THEMES_LE_FROG. + +config BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC + bool "jquery-ui-themes option mint-choc renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + mint-choc theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC to + BR2_PACKAGE_JQUERY_UI_THEMES_MINT_CHOC. + +config BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST + bool "jquery-ui-themes option overcast renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + overcast theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST to + BR2_PACKAGE_JQUERY_UI_THEMES_OVERCAST. + +config BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER + bool "jquery-ui-themes option pepper-grinder renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + pepper-grinder theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER to + BR2_PACKAGE_JQUERY_UI_THEMES_PEPPER_GRINDER. + +config BR2_PACKAGE_JQUERY_UI_THEME_REDMOND + bool "jquery-ui-themes option redmond renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + redmond theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_REDMOND to + BR2_PACKAGE_JQUERY_UI_THEMES_REDMOND. + +config BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS + bool "jquery-ui-themes option smoothness renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + smoothness theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS to + BR2_PACKAGE_JQUERY_UI_THEMES_SMOOTHNESS. + +config BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET + bool "jquery-ui-themes option south-street renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + south-street theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET to + BR2_PACKAGE_JQUERY_UI_THEMES_SOUTH_STREET. + +config BR2_PACKAGE_JQUERY_UI_THEME_START + bool "jquery-ui-themes option start renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + start theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_START to + BR2_PACKAGE_JQUERY_UI_THEMES_START. + +config BR2_PACKAGE_JQUERY_UI_THEME_SUNNY + bool "jquery-ui-themes option sunny renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + sunny theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SUNNY to + BR2_PACKAGE_JQUERY_UI_THEMES_SUNNY. + +config BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE + bool "jquery-ui-themes option swanky-purse renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + swanky-purse theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE to + BR2_PACKAGE_JQUERY_UI_THEMES_SWANKY_PURSE. + +config BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC + bool "jquery-ui-themes option trontastic renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + trontastic theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC to + BR2_PACKAGE_JQUERY_UI_THEMES_TRONTASTIC. + +config BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS + bool "jquery-ui-themes option ui-darkness renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + ui-darkness theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS to + BR2_PACKAGE_JQUERY_UI_THEMES_UI_DARKNESS. + +config BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS + bool "jquery-ui-themes option ui-lightness renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + ui-lightness theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS to + BR2_PACKAGE_JQUERY_UI_THEMES_UI_LIGHTNESS. + +config BR2_PACKAGE_JQUERY_UI_THEME_VADER + bool "jquery-ui-themes option vader renamed" + select BR2_LEGACY + help + For consistency reasons, the jquery-ui-themes option for the + vader theme has been renamed from + BR2_PACKAGE_JQUERY_UI_THEME_VADER to + BR2_PACKAGE_JQUERY_UI_THEMES_VADER. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH + bool "bluez5-utils health plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI + bool "bluez5-utils midi plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_NFC + bool "bluez5-utils nfc plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_NFC has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_SAP + bool "bluez5-utils sap plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_SAP has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP. + +config BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS + bool "bluez5-utils sixaxis plugin option renamed" + select BR2_LEGACY + select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS + help + For consistency reasons, the option + BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS has been renamed to + BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS. config BR2_PACKAGE_TRANSMISSION_REMOTE bool "transmission remote tool option removed" @@ -156,35 +1242,108 @@ config BR2_PACKAGE_TRANSMISSION_REMOTE has automatically enabled BR2_PACKAGE_TRANSMISSION_DAEMON for you. +config BR2_PACKAGE_LIBKCAPI_APPS + bool "libkcapi test applications removed" + select BR2_LEGACY + select BR2_PACKAGE_LIBKCAPI_HASHER if !BR2_STATIC_LIBS + select BR2_PACKAGE_LIBKCAPI_RNGAPP + select BR2_PACKAGE_LIBKCAPI_SPEED + select BR2_PACKAGE_LIBKCAPI_TEST + help + Test applications (hasher, rng read, speed-test, test) now + have their own configuration options in the libkcapi menu. + +config BR2_PACKAGE_MPLAYER + bool "mplayer package removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_MPLAYER_MPLAYER + bool "mplayer package removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_MPLAYER_MENCODER + bool "mplayer package removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_LIBPLAYER_MPLAYER + bool "mplayer support in libplayer removed" + select BR2_LEGACY + help + The mplayer package was removed. + +config BR2_PACKAGE_IQVLINUX + bool "iqvlinux package removed" + select BR2_LEGACY + help + This package contained a kernel module from Intel, which + could only be used together with Intel userspace tools + provided under NDA, which also come with the same kernel + module. The copy of the kernel module available on + SourceForge is provided only to comply with the GPLv2 + requirement. Intel engineers were even surprised it even + built and were not willing to make any effort to fix their + tarball naming to contain a version number. Therefore, it + does not make sense for Buildroot to provide such a package. + + See https://sourceforge.net/p/e1000/bugs/589/ for the + discussion. + +config BR2_BINFMT_FLAT_SEP_DATA + bool "binfmt FLAT with separate code and data removed" + select BR2_LEGACY + help + This FLAT binary format was only used on Blackfin, which has + been removed. + +config BR2_bfin + bool "Blackfin architecture support removed" + select BR2_LEGACY + help + Following the removal of Blackfin support for the upstream + Linux kernel, Buildroot has removed support for this CPU + architecture. + +config BR2_PACKAGE_KODI_ADSP_BASIC + bool "kodi-adsp-basic package removed" + select BR2_LEGACY + help + kodi-adsp-basic is unmaintained + +config BR2_PACKAGE_KODI_ADSP_FREESURROUND + bool "kodi-adsp-freesurround package removed" + select BR2_LEGACY + help + kodi-adsp-freesurround is unmaintained + +############################################################################### +comment "Legacy options removed in 2018.02" + config BR2_KERNEL_HEADERS_3_4 bool "kernel headers version 3.4.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 select BR2_LEGACY help Version 3.4.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_3_10 bool "kernel headers version 3.10.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 select BR2_LEGACY help Version 3.10.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_3_12 bool "kernel headers version 3.12.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 select BR2_LEGACY help Version 3.12.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_BINUTILS_VERSION_2_27_X bool "binutils version 2.27 support removed" @@ -577,18 +1736,18 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH select BR2_LEGACY help The Sourcery CodeBench toolchain for the sh architecture has - been removed, since it uses glibc older than 2.17 that requires - -lrt to link executables using clock_* system calls. This makes - this toolchain difficult to maintain over time. + been removed, since it uses glibc older than 2.17 that + requires -lrt to link executables using clock_* system calls. + This makes this toolchain difficult to maintain over time. config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 bool "x86 Sourcery toolchain has been removed" select BR2_LEGACY help The Sourcery CodeBench toolchain for the x86 architecture has - been removed, since it uses glibc older than 2.17 that requires - -lrt to link executables using clock_* system calls. This makes - this toolchain difficult to maintain over time. + been removed, since it uses glibc older than 2.17 that + requires -lrt to link executables using clock_* system calls. + This makes this toolchain difficult to maintain over time. config BR2_GCC_VERSION_4_8_X bool "gcc 4.8.x support removed" @@ -683,10 +1842,10 @@ config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS int "extra size in blocks has been removed" default 0 help - Since the support for auto calculation of the filesystem size has been - removed, this option is now useless and must be 0. - You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS matchs - your needs. + Since the support for auto calculation of the filesystem size + has been removed, this option is now useless and must be 0. + You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS + matchs your needs. config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS_WRAP bool @@ -714,14 +1873,16 @@ config BR2_NBD_CLIENT select BR2_LEGACY select BR2_PACKAGE_NBD_CLIENT help - The nbd client option has been renamed to BR2_PACKAGE_NBD_CLIENT. + The nbd client option has been renamed to + BR2_PACKAGE_NBD_CLIENT. config BR2_NBD_SERVER bool "nbd server option was renamed" select BR2_LEGACY select BR2_PACKAGE_NBD_SERVER help - The nbd server option has been renamed to BR2_PACKAGE_NBD_SERVER. + The nbd server option has been renamed to + BR2_PACKAGE_NBD_SERVER. config BR2_PACKAGE_GMOCK bool "gmock merged into gtest package" @@ -733,23 +1894,17 @@ config BR2_PACKAGE_GMOCK config BR2_KERNEL_HEADERS_4_8 bool "kernel headers version 4.8.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 select BR2_LEGACY help Version 4.8.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_3_18 bool "kernel headers version 3.18.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help Version 3.18.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 3.12.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_GLIBC_VERSION_2_22 bool "glibc 2.22 removed" @@ -772,43 +1927,31 @@ config BR2_PACKAGE_PERL_DB_FILE config BR2_KERNEL_HEADERS_4_7 bool "kernel headers version 4.7.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 select BR2_LEGACY help Version 4.7.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_4_6 bool "kernel headers version 4.6.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 select BR2_LEGACY help Version 4.6.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_4_5 bool "kernel headers version 4.5.x are no longer supported" - select BR2_KERNEL_HEADERS_4_4 select BR2_LEGACY help Version 4.5.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.4.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_3_14 bool "kernel headers version 3.14.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help Version 3.14.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 3.12.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS bool "musl-cross 1.1.12 toolchain removed" @@ -816,8 +1959,8 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS help The support for the prebuilt toolchain based on the Musl C library provided by the musl-cross project has been removed. - Upstream doesn't provide any prebuilt toolchain anymore, use the - Buildroot toolchain instead. + Upstream doesn't provide any prebuilt toolchain anymore, use + the Buildroot toolchain instead. config BR2_UCLIBC_INSTALL_TEST_SUITE bool "uClibc tests now in uclibc-ng-test" @@ -937,23 +2080,17 @@ config BR2_PACKAGE_SSTRIP config BR2_KERNEL_HEADERS_4_3 bool "kernel headers version 4.3.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 select BR2_LEGACY help Version 4.3.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_KERNEL_HEADERS_4_2 bool "kernel headers version 4.2.x are no longer supported" - select BR2_KERNEL_HEADERS_4_1 select BR2_LEGACY help Version 4.2.x of the Linux kernel headers are no longer - maintained upstream and are now removed. As an alternative, - version 4.1.x of the headers have been automatically - selected in your configuration. + maintained upstream and are now removed. config BR2_PACKAGE_KODI_ADDON_XVDR bool "kodi-addon-xvdr removed" @@ -968,8 +2105,8 @@ config BR2_PACKAGE_IPKG select BR2_LEGACY help ipkg dates back to the early 2000s when Compaq started the - handhelds.org project and it hasn't seen development since 2006. - Use opkg as a replacement. + handhelds.org project and it hasn't seen development since + 2006. Use opkg as a replacement. config BR2_GCC_VERSION_4_7_X bool "gcc 4.7.x support removed" @@ -1028,31 +2165,26 @@ config BR2_GCC_VERSION_4_8_ARC config BR2_KERNEL_HEADERS_4_0 bool "kernel headers version 4.0.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help Version 4.0.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. config BR2_KERNEL_HEADERS_3_19 bool "kernel headers version 3.19.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help - Version 3.19.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + Version 3.19.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS bool "libevas-generic-loaders package removed" select BR2_LEGACY select BR2_PACKAGE_EFL help - With EFL 1.18, libevas-generic-loaders is now provided by the efl - package. + With EFL 1.18, libevas-generic-loaders is now provided by the + efl package. config BR2_PACKAGE_ELEMENTARY bool "elementary package removed" @@ -1064,8 +2196,9 @@ config BR2_PACKAGE_ELEMENTARY config BR2_LINUX_KERNEL_CUSTOM_LOCAL bool "Linux kernel local directory option removed" help - The option to select a local directory as the source of the Linux - kernel has been removed. It hurts reproducibility of builds. + The option to select a local directory as the source of the + Linux kernel has been removed. It hurts reproducibility of + builds. In case you were using this option during development of your Linux kernel, use the override mechanism instead. @@ -1103,14 +2236,16 @@ config BR2_PACKAGE_LIBFSLVPUWRAP select BR2_LEGACY select BR2_PACKAGE_IMX_VPUWRAP help - The libfslvpuwrap has been renamed to match the renamed package. + The libfslvpuwrap has been renamed to match the renamed + package. config BR2_PACKAGE_LIBFSLPARSER bool "libfslparser has been renamed to imx-parser" select BR2_LEGACY select BR2_PACKAGE_IMX_PARSER help - The libfslparser has been renamed to match the renamed package. + The libfslparser has been renamed to match the renamed + package. config BR2_PACKAGE_LIBFSLCODEC bool "libfslcodec has been renamed to imx-codec" @@ -1175,7 +2310,6 @@ config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL version provided in buildroot. And both can't coexist. It now uses OpenSSL as the only option. - config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE bool "nginx http spdy module removed" select BR2_LEGACY @@ -1255,13 +2389,11 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID config BR2_KERNEL_HEADERS_3_17 bool "kernel headers version 3.17.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help - Version 3.17.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + Version 3.17.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. config BR2_GDB_VERSION_7_7 bool "gdb 7.7 has been removed" @@ -1362,8 +2494,8 @@ config BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL bool "openpowerlink debug option has been removed" select BR2_LEGACY help - This option depends on BR2_ENABLE_DEBUG which should not be used - by packages anymore. + This option depends on BR2_ENABLE_DEBUG which should not be + used by packages anymore. config BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE bool "openpowerlink package has been updated" @@ -1402,13 +2534,11 @@ config BR2_PACKAGE_CUPS_PDFTOPS config BR2_KERNEL_HEADERS_3_16 bool "kernel headers version 3.16.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help - Version 3.16.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + Version 3.16.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. config BR2_PACKAGE_PYTHON_PYXML bool "python-pyxml package has been removed" @@ -1421,9 +2551,9 @@ config BR2_PACKAGE_PYTHON_PYXML config BR2_ENABLE_SSP bool "Stack Smashing protection now has different levels" help - The protection offered by SSP can now be selected from different - protection levels. Be sure to review the SSP level in the build - options menu. + The protection offered by SSP can now be selected from + different protection levels. Be sure to review the SSP level + in the build options menu. config BR2_PACKAGE_DIRECTFB_CLE266 bool "cle266 driver for directfb removed" @@ -1446,8 +2576,8 @@ config BR2_PACKAGE_LIBELEMENTARY select BR2_LEGACY select BR2_PACKAGE_ELEMENTARY help - The libelementary package has been renamed to match the upstream - name. + The libelementary package has been renamed to match the + upstream name. config BR2_PACKAGE_LIBEINA bool "libeina package has been removed" @@ -1525,8 +2655,8 @@ config BR2_PACKAGE_INFOZIP select BR2_PACKAGE_ZIP help Info-Zip's Zip package has been renamed from infozip to zip, - to avoid ambiguities with Info-Zip's UnZip which has been added - in the unzip package. + to avoid ambiguities with Info-Zip's UnZip which has been + added in the unzip package. config BR2_BR2_PACKAGE_NODEJS_0_10_X bool "nodejs 0.10.x option removed" @@ -1534,9 +2664,10 @@ config BR2_BR2_PACKAGE_NODEJS_0_10_X select BR2_PACKAGE_NODEJS help nodejs 0.10.x option has been removed. 0.10.x is now - automatically chosen for ARMv5 architectures only and the latest - nodejs for all other supported architectures. The correct nodejs - version has been automatically selected in your configuration. + automatically chosen for ARMv5 architectures only and the + latest nodejs for all other supported architectures. The + correct nodejs version has been automatically selected in your + configuration. config BR2_BR2_PACKAGE_NODEJS_0_12_X bool "nodejs version 0.12.x has been removed" @@ -1572,24 +2703,24 @@ config BR2_PACKAGE_MEDIA_CTL select BR2_PACKAGE_LIBV4L select BR2_PACKAGE_LIBV4L_UTILS help - media-ctl source and developement have been moved to - v4l-utils since June 2014. For an up-to-date media-ctl - version select BR2_PACKAGE_LIBV4L and BR2_PACKAGE_LIBV4L_UTILS. + media-ctl source and developement have been moved to v4l-utils + since June 2014. For an up-to-date media-ctl version select + BR2_PACKAGE_LIBV4L and BR2_PACKAGE_LIBV4L_UTILS. config BR2_PACKAGE_SCHIFRA bool "schifra package has been removed" select BR2_LEGACY help - Schifra package has been maked broken since 2014.11 release and - haven't been fixed since then. + Schifra package has been maked broken since 2014.11 release + and haven't been fixed since then. config BR2_PACKAGE_ZXING bool "zxing option has been renamed" select BR2_LEGACY select BR2_PACKAGE_ZXING_CPP help - ZXing no longer provides the cpp bindings, it has been renamed to - BR2_PACKAGE_ZXING_CPP which uses a new upstream. + ZXing no longer provides the cpp bindings, it has been renamed + to BR2_PACKAGE_ZXING_CPP which uses a new upstream. # Since FreeRDP has new dependencies, protect this legacy to avoid the # infamous "unmet direct dependencies" kconfig error. @@ -1608,43 +2739,34 @@ config BR2_PACKAGE_BLACKBOX config BR2_KERNEL_HEADERS_3_0 bool "kernel headers version 3.0.x are no longer supported" - select BR2_KERNEL_HEADERS_3_2 select BR2_LEGACY help Version 3.0.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.2.x of the headers have been - automatically selected in your configuration. config BR2_KERNEL_HEADERS_3_11 bool "kernel headers version 3.11.x are no longer supported" - select BR2_KERNEL_HEADERS_3_10 select BR2_LEGACY help - Version 3.11.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.10.x of the headers have been - automatically selected in your configuration. + Version 3.11.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. config BR2_KERNEL_HEADERS_3_13 bool "kernel headers version 3.13.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help - Version 3.13.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + Version 3.13.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. config BR2_KERNEL_HEADERS_3_15 bool "kernel headers version 3.15.x are no longer supported" - select BR2_KERNEL_HEADERS_3_12 select BR2_LEGACY help - Version 3.15.x of the Linux kernel headers have been deprecated - for more than four buildroot releases and are now removed. - As an alternative, version 3.12.x of the headers have been - automatically selected in your configuration. + Version 3.15.x of the Linux kernel headers have been + deprecated for more than four buildroot releases and are now + removed. config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI bool "DirectFB example df_andi has been removed" @@ -1982,8 +3104,8 @@ config BR2_PACKAGE_GPU_VIV_BIN_MX6Q name. config BR2_PACKAGE_LIBSEMANAGE_PYTHON_BINDINGS - depends on BR2_PACKAGE_PYTHON bool "libsemanage python bindings removed" + depends on BR2_PACKAGE_PYTHON select BR2_LEGACY help This option has been removed, since the libsemanage Python @@ -2070,8 +3192,9 @@ config BR2_TARGET_GENERIC_PASSWD_DES bool "Encoding passwords with DES has been removed" select BR2_LEGACY help - Paswords can now only be encoded with either of md5, sha256 or sha512. - The default is md5, which is stronger that DES (but still pretty weak). + Paswords can now only be encoded with either of md5, sha256 or + sha512. The default is md5, which is stronger that DES (but + still pretty weak). config BR2_PACKAGE_GTK2_THEME_HICOLOR bool "hicolor (default theme) is a duplicate" @@ -2095,16 +3218,17 @@ config BR2_PACKAGE_LIBGC select BR2_LEGACY select BR2_PACKAGE_BDWGC help - libgc has been removed because we have the same package under a - different name, bdwgc. + libgc has been removed because we have the same package under + a different name, bdwgc. config BR2_PACKAGE_WDCTL bool "util-linux' wdctl option has been renamed" select BR2_LEGACY select BR2_PACKAGE_UTIL_LINUX_WDCTL help - util-linux' wdctl option has been renamed to BR2_PACKAGE_UTIL_LINUX_WDCTL - to be aligned with how the other options are named. + util-linux' wdctl option has been renamed to + BR2_PACKAGE_UTIL_LINUX_WDCTL to be aligned with how the other + options are named. config BR2_PACKAGE_UTIL_LINUX_ARCH bool "util-linux' arch option has been removed" @@ -2124,16 +3248,17 @@ config BR2_PACKAGE_RPM_BZIP2_PAYLOADS select BR2_LEGACY select BR2_PACKAGE_BZIP2 help - The bzip2 payloads option rely entirely on the dependant package bzip2. - So, you need to select it to enable this feature. + The bzip2 payloads option rely entirely on the dependant + package bzip2. So, you need to select it to enable this + feature. config BR2_PACKAGE_RPM_XZ_PAYLOADS bool "rpm's xz payloads option has been removed" select BR2_LEGACY select BR2_PACKAGE_XZ help - The xz payloads option rely entirely on the dependant package xz. - So, you need to select it to enable this feature. + The xz payloads option rely entirely on the dependant package + xz. So, you need to select it to enable this feature. config BR2_PACKAGE_M4 bool "m4 target package removed" @@ -2188,9 +3313,9 @@ config BR2_PACKAGE_STRONGSWAN_TOOLS select BR2_PACKAGE_STRONGSWAN_PKI select BR2_PACKAGE_STRONGSWAN_SCEP help - The tools option has been removed upstream and the different tools - have been split between the pki and scep options, with others - deprecated. + The tools option has been removed upstream and the different + tools have been split between the pki and scep options, with + others deprecated. config BR2_PACKAGE_XBMC_ADDON_XVDR bool "xbmc-addon-xvdr removed" @@ -2205,126 +3330,144 @@ config BR2_PACKAGE_XBMC_PVR_ADDONS select BR2_LEGACY select BR2_PACKAGE_KODI_PVR_ADDONS help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_ALSA_LIB bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_ALSA_LIB help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_AVAHI bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_AVAHI help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_DBUS bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_DBUS help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBBLURAY bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBBLURAY help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_GOOM bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_GOOM help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_RSXS bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_RSXS help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBCEC bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBCEC help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBMICROHTTPD bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBMICROHTTPD help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBNFS bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBNFS help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_RTMPDUMP bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_RTMPDUMP help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBSHAIRPLAY bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBSHAIRPLAY help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBSMBCLIENT bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBSMBCLIENT help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBTHEORA bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBTHEORA help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBUSB bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBUSB help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_LIBVA bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_LIBVA help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PACKAGE_XBMC_WAVPACK bool "xbmc options have been renamed" select BR2_LEGACY select BR2_PACKAGE_KODI_WAVPACK help - The XBMC media center project was renamed to Kodi entertainment center + The XBMC media center project was renamed to Kodi + entertainment center config BR2_PREFER_STATIC_LIB bool "static library option renamed" @@ -2402,8 +3545,8 @@ config BR2_PACKAGE_LINUX_FIRMWARE_XC5000 select BR2_PACKAGE_LINUX_FIRMWARE_XCx000 help The Xceive xc5000 option now also handles older firmwares from - Xceive (the xc4000 series), as well as new firmwares (the xc5000c) - from Cresta, who bought Xceive. + Xceive (the xc4000 series), as well as new firmwares (the + xc5000c) from Cresta, who bought Xceive. config BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 bool "Chelsio T4 option has been renamed" @@ -2444,19 +3587,16 @@ config BR2_PACKAGE_LIBELF select BR2_PACKAGE_ELFUTILS select BR2_LEGACY help - The libelf package provided an old version of the libelf library - and is deprecated. The libelf library is now provided by the - elfutils package. + The libelf package provided an old version of the libelf + library and is deprecated. The libelf library is now provided + by the elfutils package. config BR2_KERNEL_HEADERS_3_8 bool "kernel headers version 3.8.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 select BR2_LEGACY help Version 3.8.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. config BR2_PACKAGE_GETTEXT_TOOLS bool "support for gettext-tools on target has been removed" @@ -2473,7 +3613,8 @@ config BR2_PACKAGE_PROCPS select BR2_PACKAGE_PROCPS_NG select BR2_LEGACY help - The procps package has been replaced by the equivalent procps-ng. + The procps package has been replaced by the equivalent + procps-ng. config BR2_BINUTILS_VERSION_2_20_1 bool "binutils 2.20.1 has been removed" @@ -2560,40 +3701,40 @@ config BR2_PACKAGE_LIBV4L_DECODE_TM6000 select BR2_PACKAGE_LIBV4L_UTILS select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + This libv4l option has been deprecated and replaced by a + single option to build all the libv4l utilities. config BR2_PACKAGE_LIBV4L_IR_KEYTABLE bool "ir-keytable" select BR2_PACKAGE_LIBV4L_UTILS select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + This libv4l option has been deprecated and replaced by a + single option to build all the libv4l utilities. config BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE bool "v4l2-compliance" select BR2_PACKAGE_LIBV4L_UTILS select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + This libv4l option has been deprecated and replaced by a + single option to build all the libv4l utilities. config BR2_PACKAGE_LIBV4L_V4L2_CTL bool "v4l2-ctl" select BR2_PACKAGE_LIBV4L_UTILS select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + This libv4l option has been deprecated and replaced by a + single option to build all the libv4l utilities. config BR2_PACKAGE_LIBV4L_V4L2_DBG bool "v4l2-dbg" select BR2_PACKAGE_LIBV4L_UTILS select BR2_LEGACY help - This libv4l option has been deprecated and replaced by a single - option to build all the libv4l utilities. + This libv4l option has been deprecated and replaced by a + single option to build all the libv4l utilities. ############################################################################### comment "Legacy options removed in 2014.05" @@ -2608,23 +3749,17 @@ config BR2_PACKAGE_EVTEST_CAPTURE config BR2_KERNEL_HEADERS_3_6 bool "kernel headers version 3.6.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 select BR2_LEGACY help Version 3.6.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. config BR2_KERNEL_HEADERS_3_7 bool "kernel headers version 3.7.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 select BR2_LEGACY help Version 3.7.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. config BR2_PACKAGE_VALA bool "vala target package has been removed" @@ -2641,8 +3776,8 @@ config BR2_PACKAGE_TZDATA_ZONELIST string "tzdata: the timezone list option has been renamed" help The option BR2_PACKAGE_TZDATA_ZONELIST has been renamed to - BR2_TARGET_TZ_ZONELIST, and moved to the "System configuration" - menu. You'll need to select BR2_TARGET_TZ_INFO. + BR2_TARGET_TZ_ZONELIST, and moved to the "System + configuration" menu. You'll need to select BR2_TARGET_TZ_INFO. config BR2_PACKAGE_TZDATA_ZONELIST_WRAP bool @@ -2654,8 +3789,8 @@ config BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE select BR2_LEGACY help The BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE option has been - renamed to BR2_PACKAGE_LUA_EDITING_NONE. You will have to select - it in the corresponding choice. + renamed to BR2_PACKAGE_LUA_EDITING_NONE. You will have to + select it in the corresponding choice. config BR2_PACKAGE_LUA_INTERPRETER_READLINE bool "Lua command-line editing using readline has been renamed" @@ -2719,8 +3854,8 @@ config BR2_PACKAGE_UDEV 'systemd' as init system, 'eudev' should be selected, which is the case if '/dev management' is set to 'Dynamic using eudev'. - If you are using 'systemd', its internal implementation of 'udev' - is used. + If you are using 'systemd', its internal implementation of + 'udev' is used. config BR2_PACKAGE_UDEV_RULES_GEN bool "udev rules generation handled by provider" @@ -2736,8 +3871,8 @@ config BR2_PACKAGE_UDEV_RULES_GEN '/dev management' is set to 'Dynamic using eudev' to get the same behaviour as in your old configuration. - If you are using 'systemd', it internal implementation of 'udev' - will generate the rules. + If you are using 'systemd', it internal implementation of + 'udev' will generate the rules. config BR2_PACKAGE_UDEV_ALL_EXTRAS bool "udev extras removed" @@ -2786,33 +3921,24 @@ config BR2_sh3eb config BR2_KERNEL_HEADERS_3_1 bool "kernel headers version 3.1.x are no longer supported" - select BR2_KERNEL_HEADERS_3_2 select BR2_LEGACY help Version 3.1.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.2.x of the headers have been - automatically selected in your configuration. config BR2_KERNEL_HEADERS_3_3 bool "kernel headers version 3.3.x are no longer supported" - select BR2_KERNEL_HEADERS_3_2 select BR2_LEGACY help Version 3.3.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.2.x of the headers have been - automatically selected in your configuration. config BR2_KERNEL_HEADERS_3_5 bool "kernel headers version 3.5.x are no longer supported" - select BR2_KERNEL_HEADERS_3_4 select BR2_LEGACY help Version 3.5.x of the Linux kernel headers have been deprecated for more than four buildroot releases and are now removed. - As an alternative, version 3.4.x of the headers have been - automatically selected in your configuration. config BR2_GDB_VERSION_7_2 bool "gdb 7.2.x is no longer supported" @@ -2844,23 +3970,23 @@ config BR2_HAVE_DOCUMENTATION bool "support for documentation on target has been removed" select BR2_LEGACY help - Support for documentation on target has been removed since it has - been deprecated for more than four buildroot releases. + Support for documentation on target has been removed since it + has been deprecated for more than four buildroot releases. config BR2_PACKAGE_AUTOMAKE bool "automake target package has been removed" select BR2_LEGACY help - The 'automake' target package has been removed since it has been - deprecated for more than four buildroot releases. + The 'automake' target package has been removed since it has + been deprecated for more than four buildroot releases. Note: the host automake still exists. config BR2_PACKAGE_AUTOCONF bool "autoconf target package has been removed" select BR2_LEGACY help - The 'autoconf' target package has been removed since it has been - deprecated for more than four buildroot releases. + The 'autoconf' target package has been removed since it has + been deprecated for more than four buildroot releases. Note: the host autoconf still exists. config BR2_PACKAGE_XSTROKE @@ -2876,7 +4002,8 @@ config BR2_PACKAGE_LZMA help The 'lzma' target package has been removed since it has been deprecated for more than four buildroot releases. - Note: generating lzma-compressed rootfs images is still supported. + Note: generating lzma-compressed rootfs images is still + supported. config BR2_PACKAGE_TTCP bool "ttcp has been removed" @@ -2890,9 +4017,9 @@ config BR2_PACKAGE_LIBNFC_LLCP select BR2_LEGACY select BR2_PACKAGE_LIBLLCP help - The 'libnfc-llcp' package has been removed since upstream renamed - to 'libllcp'. We have added a new package for 'libllcp' and bumped - the version at the same time. + The 'libnfc-llcp' package has been removed since upstream + renamed to 'libllcp'. We have added a new package for + 'libllcp' and bumped the version at the same time. config BR2_PACKAGE_MYSQL_CLIENT bool "MySQL client renamed to MySQL" @@ -2958,8 +4085,8 @@ config BR2_PACKAGE_LVM2_DMSETUP_ONLY help The BR2_PACKAGE_LVM2_DMSETUP_ONLY was a negative option, which led to problems with other packages that need the full lvm2 - suite. Therefore, the option has been replaced with the positive - BR2_PACKAGE_LVM2_STANDARD_INSTALL option. + suite. Therefore, the option has been replaced with the + positive BR2_PACKAGE_LVM2_STANDARD_INSTALL option. # Note: BR2_PACKAGE_LVM2_DMSETUP_ONLY is still referenced in package/lvm2/Config.in # in order to automatically propagate old configs @@ -3118,23 +4245,6 @@ config BR2_HAVE_DEVFILES completely from Buildroot. See Buildroot's documentation for more explanations. -############################################################################### -comment "Legacy options removed in 2013.05" - -config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192 - bool "Realtek 8192 replaced by Realtek 81xx" - select BR2_LEGACY - select BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX - help - Now covers the whole Realtek 81xx familly: 8188/8192. - -config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 - bool "Realtek 8712 replaced by Realtek 87xx" - select BR2_LEGACY - select BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX - help - Now covers the whole Realtek 87xx familly: 8712/8723. - endmenu endif # !SKIP_LEGACY diff --git a/bsp/buildroot/DEVELOPERS b/bsp/buildroot/DEVELOPERS index ba16b466..f9b6a0e7 100644 --- a/bsp/buildroot/DEVELOPERS +++ b/bsp/buildroot/DEVELOPERS @@ -49,15 +49,24 @@ F: package/libressl/ F: package/libselinux/ F: package/libsemanage/ F: package/libsepol/ +F: package/libwebsockets/ F: package/nginx-naxsi/ +F: package/php/ F: package/policycoreutils/ +F: package/python3/ +F: package/python-flask-sqlalchemy/ F: package/python-mutagen/ +F: package/python-pip/ +F: package/python-psycopg2/ +F: package/python-sqlalchemy/ +F: package/python-visitor/ F: package/restorecond/ F: package/refpolicy/ F: package/selinux-python/ F: package/semodule-utils/ F: package/setools/ F: package/sngrep/ +F: package/systemd/ N: Adrian Perez de Castro F: package/brotli/ @@ -66,6 +75,7 @@ F: package/webkitgtk/ F: package/woff2/ N: Adrien Gallouët +F: package/bird/ F: package/glorytun/ N: Aleksander Morgado @@ -74,6 +84,8 @@ F: package/libqmi/ F: package/modem-manager/ N: Alex Suykov +F: board/chromebook/snow/ +F: configs/chromebook_snow_defconfig F: package/vboot-utils/ N: Alexander Clouter @@ -90,6 +102,9 @@ F: package/openpgm/ N: Alexander Mukhin F: package/hostapd/ +N: Alexander Sverdlin +F: package/mini-snmpd/ + N: Alexander Varnin F: package/liblog4c-localtime/ @@ -113,6 +128,7 @@ F: package/ktap/ N: André Hentschel F: package/azure-iot-sdk-c/ +F: package/libkrb5/ F: package/openal/ F: package/p7zip/ F: package/wine/ @@ -136,7 +152,10 @@ N: Andy Kennedy F: package/libunwind/ N: Angelo Compagnucci +F: package/corkscrew/ +F: package/fail2ban/ F: package/i2c-tools/ +F: package/mender/ F: package/mono/ F: package/mono-gtksharp3/ F: package/monolite/ @@ -146,8 +165,9 @@ F: package/python-pydal/ F: package/python-web2py/ F: package/sysdig/ -N: Antony Pavlov -F: package/lsscsi/ +N: Anisse Astier +F: package/go/ +F: package/nghttp2/ N: Anthony Viallard F: package/gnuplot/ @@ -155,8 +175,17 @@ F: package/gnuplot/ N: Antoine Ténart F: package/wf111/ +N: Antony Pavlov +F: package/lsscsi/ + N: ARC Maintainers F: arch/Config.in.arc +F: board/synopsys/ +F: configs/snps_arc700_axs101_defconfig +F: configs/snps_archs38_axs103_defconfig +F: configs/snps_archs38_haps_defconfig +F: configs/snps_archs38_hsdk_defconfig +F: configs/snps_archs38_vdk_defconfig N: Ariel D'Alessandro F: package/axfsutils/ @@ -167,15 +196,22 @@ F: package/espeak/ N: Arnout Vandecappelle F: package/arp-scan/ +F: package/dehydrated/ F: package/freescale-imx/firmware-imx/ F: package/freescale-imx/imx-lib/ F: package/gstreamer/gst-fsl-plugins/ +F: package/libpagekite/ F: package/lua-bit32/ F: package/owfs/ F: package/python-bottle/ F: package/sqlcipher/ F: package/stress/ +N: Asaf Kahlon +F: package/libuv/ +F: package/python* +F: package/zeromq/ + N: Ash Charles F: package/pru-software-support/ F: package/ti-cgt-pru/ @@ -183,7 +219,6 @@ F: package/ti-cgt-pru/ N: Assaf Inbal F: package/lbase64/ F: package/luabitop/ -F: package/luacrypto/ F: package/luaexpatutils/ F: package/luaposix/ F: package/luasec/ @@ -205,6 +240,7 @@ F: package/pulseview/ F: package/sigrok-cli/ N: Baruch Siach +F: package/18xx-ti-utils/ F: package/daemon/ F: package/dropbear/ F: package/ebtables/ @@ -230,6 +266,7 @@ F: package/alsa-utils/ F: package/apache/ F: package/apr/ F: package/apr-util/ +F: package/asterisk/ F: package/bcg729/ F: package/bluez-tools/ F: package/boinc/ @@ -240,9 +277,9 @@ F: package/dtv-scan-tables/ F: package/eudev/ F: package/exim/ F: package/fetchmail/ +F: package/ffmpeg/ F: package/freeswitch/ F: package/freeswitch-mod-bcg729/ -F: package/ffmpeg/ F: package/ghostscript/ F: package/giflib/ F: package/glmark2/ @@ -301,7 +338,7 @@ F: package/libyuv/ F: package/mesa3d/ F: package/minidlna/ F: package/mjpg-streamer/ -F: package/mplayer/ +F: package/perl-crypt-openssl-guess/ F: package/perl-crypt-openssl-random/ F: package/perl-crypt-openssl-rsa/ F: package/perl-digest-sha1/ @@ -323,7 +360,6 @@ F: package/perl-mime-base64/ F: package/perl-net-dns/ F: package/perl-net-http/ F: package/perl-netaddr-ip/ -F: package/perl-time-hires/ F: package/perl-timedate/ F: package/perl-uri/ F: package/perl-www-robotrules/ @@ -346,6 +382,8 @@ F: package/python-slob/ F: package/rtmpdump/ F: package/samba4/ F: package/softether/ +F: package/spandsp/ +F: package/sqlite/ F: package/taglib/ F: package/tinyxml2/ F: package/tor/ @@ -373,21 +411,38 @@ N: Bogdan Radulescu F: package/iftop/ F: package/ncdu/ +N: Brandon Maier +F: package/vmtouch/ + N: Brock Williams F: package/pdmenu/ -N: Bryan Brinsko -F: package/pps-tools/ - N: Carlo Caione F: package/sunxi-boards/ -N: Carlos Santos +N: Carlos Santos +F: package/aer-inject/ +F: package/busybox/ F: package/gtest/ +F: package/initscripts/ +F: package/intel-microcode/ F: package/libpam-radius-auth/ F: package/libpam-tacplus/ +F: package/modem-manager/ +F: package/pamtester/ +F: package/pcm-tools/ F: package/perl-file-util/ +F: package/skeleton-custom/ +F: package/skeleton-init-common/ +F: package/skeleton-init-none/ +F: package/skeleton-init-systemd/ +F: package/skeleton-init-sysv/ +F: package/skeleton/ +F: package/sysvinit/ F: package/util-linux/ +F: package/tpm2-abrmd/ +F: package/tpm2-tools/ +F: package/tpm2-tss/ N: Carsten Schoenert F: package/dvbsnoop/ @@ -395,6 +450,9 @@ F: package/libdvbsi/ F: package/libsvg/ F: package/libsvg-cairo/ +N: Cédric Chépied +F: package/znc/ + N: Chakra Divi F: board/friendlyarm/nanopi-m1 F: board/friendlyarm/nanopi-m1-plus @@ -407,6 +465,7 @@ F: configs/orangepi_plus_defconfig N: Chris Packham F: package/eventlog/ +F: package/gstreamer1/gst1-shark/ F: package/micropython/ F: package/micropython-lib/ F: package/syslog-ng/ @@ -419,12 +478,15 @@ F: linux/linux-ext-aufs.mk F: package/aufs/ F: package/aufs-util/ F: package/batman-adv/ +F: package/docker-cli/ F: package/docker-containerd/ F: package/docker-engine/ F: package/docker-proxy/ +F: package/go/ F: package/mosh/ F: package/rtl8821au/ F: package/runc/ +F: package/tini/ N: Christophe Vu-Brugier F: package/drbd-utils/ @@ -434,6 +496,37 @@ F: package/python-rtslib-fb/ F: package/python-urwid/ F: package/targetcli-fb/ +N: Christopher McCrory +F: package/perl-appconfig/ +F: package/perl-astro-suntime/ +F: package/perl-class-load/ +F: package/perl-class-std/ +F: package/perl-class-std-fast/ +F: package/perl-data-dump/ +F: package/perl-data-optlist/ +F: package/perl-data-uuid/ +F: package/perl-date-manip/ +F: package/perl-dbd-mysql/ +F: package/perl-dbi/ +F: package/perl-device-serialport/ +F: package/perl-dist-checkconflicts/ +F: package/perl-file-slurp/ +F: package/perl-io-interface/ +F: package/perl-io-socket-multicast/ +F: package/perl-json-maybexs/ +F: package/perl-mime-tools/ +F: package/perl-module-implementation/ +F: package/perl-module-runtime/ +F: package/perl-number-bytes-human/ +F: package/perl-package-stash/ +F: package/perl-params-util/ +F: package/perl-sub-install/ +F: package/perl-sys-cpu/ +F: package/perl-sys-meminfo/ +F: package/perl-sys-mmap/ +F: package/perl-time-parsedate/ +F: package/perl-x10/ + N: Clayton Shotwell F: package/audit/ F: package/checkpolicy/ @@ -451,14 +544,13 @@ F: package/ustr/ N: Corentin Guillevic F: package/libloki/ -N: Cédric Chépied -F: package/znc/ - N: Cyril Bur F: arch/Config.in.powerpc F: package/kvm-unit-tests N: Dagg Stompler +F: board/hardkernel/odroidc2 +F: configs/odroidc2_defconfig F: package/libamcodec/ F: package/odroid-mali/ F: package/odroid-scripts/ @@ -467,6 +559,9 @@ N: Damien Lanson F: package/libvdpau/ F: package/log4cpp/ +N: Daniel Nicoletti +F: package/cutelyst/ + N: Daniel Nyström F: package/e2tools/ @@ -552,6 +647,7 @@ F: package/hicolor-icon-theme/ F: package/jemalloc/ F: package/meson/ F: package/ninja/ +F: package/pkg-meson.mk F: package/rust-bin/ F: package/rust/ F: package/s6/ @@ -570,6 +666,8 @@ F: package/pifmrds/ F: package/ympd/ N: Erico Nunes +F: board/aarch64-efi/ +F: configs/aarch64_efi_defconfig F: package/acpica/ F: package/acpitool/ F: package/efibootmgr/ @@ -579,12 +677,18 @@ F: package/spi-tools/ F: package/xdotool/ F: configs/pc_x86_64_* +N: Erik Larsson +F: package/imx-mkimage/ + N: Erik Stromdahl F: package/mxsldr/ N: Ernesto L. Williams Jr F: package/szip/ +N: Eugene Tarassov +F: package/tcf-agent/ + N: Evan Zelkowitz F: package/sdl_gfx/ @@ -610,6 +714,7 @@ F: configs/imx6slevk_defconfig F: configs/imx6sx-sdb_defconfig F: configs/imx6ulevk_defconfig F: configs/imx6ulpico_defconfig +F: configs/imx7d-sdb_defconfig F: configs/imx7dpico_defconfig F: configs/mx25pdk_defconfig F: configs/mx51evk_defconfig @@ -637,22 +742,72 @@ F: package/alljoyn-base/ F: package/alljoyn-tcl/ F: package/alljoyn-tcl-base/ F: package/boinc/ +F: package/cairo/ +F: package/duktape/ +F: package/expat/ F: package/flatbuffers/ +F: package/gerbera/ F: package/gtksourceview/ F: package/gssdp/ F: package/gupnp/ F: package/gupnp-dlna/ F: package/gupnp-tools/ +F: package/haproxy/ F: package/hiredis/ +F: package/i2pd/ F: package/igd2-for-linux/ +F: package/json-c/ +F: package/lcms2/ +F: package/lftp/ +F: package/libcap-ng/ +F: package/libcdio-paranoia/ +F: package/libcgicc/ +F: package/libconfig/ +F: package/libcue/ +F: package/libebml/ +F: package/libgee/ +F: package/libglib2/ +F: package/libgtk2/ +F: package/libgtk3/ +F: package/libidn/ +F: package/libidn2/ +F: package/libjpeg/ +F: package/liblockfile/ +F: package/libmatroska/ +F: package/libmpdclient/ +F: package/libnetfilter_conntrack/ +F: package/libnetfilter_queue/ +F: package/liboping/ +F: package/libpfm4/ +F: package/libraw/ +F: package/libraw1394/ +F: package/libroxml/ +F: package/librsvg/ +F: package/librsync/ +F: package/libsoup/ +F: package/libsoxr/ F: package/libupnp/ F: package/libupnp18/ +F: package/libv4l/ +F: package/libxslt/ +F: package/mbedtls/ F: package/minissdpd/ +F: package/minizip/ +F: package/mongodb/ F: package/motion/ +F: package/mutt/ +F: package/ncmpc/ +F: package/oprofile/ +F: package/pcmanfm/ F: package/rygel/ F: package/safeclib/ F: package/tinycbor/ F: package/tinydtls/ +F: package/tinymembench/ +F: package/whois/ + +N: Falco Hyfing +F: package/python-pymodbus/ N: Floris Bos F: package/ipmitool/ @@ -666,6 +821,7 @@ F: board/olimex/a20_olinuxino F: configs/olimex_a20_olinuxino_* F: package/4th/ F: package/botan/ +F: package/chipmunk/ F: package/dado/ F: package/ficl/ F: package/gdbm/ @@ -682,6 +838,7 @@ F: package/lua* F: package/lunit/ F: package/lzlib/ F: package/moarvm/ +F: package/netsurf/ F: package/perl* F: package/pkg-perl.mk F: package/pkg-luarocks.mk @@ -706,12 +863,13 @@ F: package/ucl/ F: package/upx/ F: package/zxing-cpp/ -N: Gaël Portay +N: Gaël Portay F: package/qt5/qt5virtualkeyboard/ F: package/qt5/qt5webengine/ +F: package/qt5/qt5webkit/ F: package/qt5/qt5webkit-examples/ -N: Gary Bisson +N: Gary Bisson F: board/boundarydevices/ F: configs/nitrogen* F: package/freescale-imx/ @@ -736,6 +894,11 @@ F: package/leptonica/ F: package/ocrad/ F: package/tesseract-ocr/ F: package/webp/ +F: package/xapian/ + +N: Giulio Benetti +F: package/sunxi-mali-mainline/ +F: package/sunxi-mali-mainline-driver/ N: Gregory Dymarek F: package/ding-libs/ @@ -746,6 +909,16 @@ F: package/libsrtp/ F: package/libwebsock/ F: package/sofia-sip/ +N: Grzegorz Blach +F: fs/f2fs/ +F: package/bluez5_utils-headers/ +F: package/f2fs-tools/ +F: package/pigpio/ +F: package/python-falcon/ +F: package/python-mimeparse/ +F: package/python-pigpio/ +F: package/python-wtforms/ + N: Guillaume Gardet F: package/c-icap/ F: package/c-icap-modules/ @@ -753,12 +926,18 @@ F: package/sdl2/ N: Guillaume William Brs F: package/liquid-dsp/ +F: package/pixiewps/ +F: package/reaver/ N: Guo Ren F: arch/Config.in.csky F: board/csky/ F: configs/csky_* +N: Gustavo Pimentel +F: configs/arm_juno_defconfig +F: board/arm/juno/ + N: Gwenhael Goavec-Merou F: package/gnuradio/ F: package/gqrx/ @@ -766,7 +945,6 @@ F: package/gr-osmosdr/ F: package/libusbgx/ F: package/python-cheetah/ F: package/python-markdown/ -F: package/python-pyqt/ F: package/python-remi/ F: package/python-sip/ @@ -787,36 +965,66 @@ F: package/angularjs/ N: Ilias Apalodimas F: package/keepalived/ +N: Ilya Averyanov +F: package/exempi/ + N: Ismael Luceno F: package/axel/ N: Jagan Teki +F: board/amarula/ +F: board/asus/ F: board/bananapi/ F: board/engicam/ F: board/friendlyarm/nanopi-a64/ F: board/friendlyarm/nanopi-neo2/ F: board/olimex/a64-olinuxino/ +F: board/orangepi/orangepi-lite2/ +F: board/orangepi/orangepi-one-plus F: board/orangepi/orangepi-pc2/ F: board/orangepi/orangepi-prime/ F: board/orangepi/orangepi-win/ F: board/orangepi/orangepi-zero-plus2/ F: board/pine64/ +F: configs/amarula_a64_relic_defconfig +F: configs/amarula_vyasa_rk3288_defconfig +F: configs/asus_tinker_rk3288_defconfig F: configs/bananapi_m1_defconfig F: configs/bananapi_m64_defconfig +F: configs/engicam_imx6qdl_icore_defconfig +F: configs/engicam_imx6qdl_icore_qt5_defconfig +F: configs/engicam_imx6qdl_icore_rqs_defconfig +F: configs/engicam_imx6ul_geam_defconfig +F: configs/engicam_imx6ul_isiot_defconfig F: configs/friendlyarm_nanopi_a64_defconfig F: configs/friendlyarm_nanopi_neo2_defconfig F: configs/olimex_a64_olinuxino_defconfig +F: configs/orangepi_lite2_defconfig +F: configs/orangepi_one_plus_defconfig F: configs/orangepi_pc2_defconfig F: configs/orangepi_prime_defconfig F: configs/orangepi_win_defconfig F: configs/orangepi_zero_plus2_defconfig F: configs/pine64_defconfig F: configs/pine64_sopine_defconfig -F: configs/engicam_imx6qdl_icore_defconfig -F: configs/engicam_imx6qdl_icore_qt5_defconfig -F: configs/engicam_imx6qdl_icore_rqs_defconfig -F: configs/engicam_imx6ul_geam_defconfig -F: configs/engicam_imx6ul_isiot_defconfig + +N: James Hilliard +F: package/lua-std-debug/ +F: package/lua-std-normalize/ +F: package/python-aiodns/ +F: package/python-aiohttp/ +F: package/python-aiohttp-jinja2/ +F: package/python-aiohttp-remotes/ +F: package/python-aiohttp-security/ +F: package/python-aiohttp-session/ +F: package/python-aiohttp-sse/ +F: package/python-aiojobs/ +F: package/python-aiorwlock/ +F: package/python-async-timeout/ +F: package/python-cchardet/ +F: package/python-multidict/ +F: package/python-pycares/ +F: package/python-yarl/ N: James Knight F: package/atkmm/ @@ -836,6 +1044,10 @@ N: Jan Kraval F: board/orangepi/orangepi-lite F: configs/orangepi_lite_defconfig +N: Jan Kundrát +F: configs/solidrun_clearfog_defconfig +F: board/solidrun/clearfog/ + N: Jan Pedersen F: package/zip/ @@ -844,6 +1056,9 @@ F: package/python-pexpect/ F: package/python-ptyprocess/ F: package/zynq-boot-bin/ +N: Jared Bents +F: package/davici/ + N: Jarkko Sakkinen F: package/quota/ @@ -859,23 +1074,37 @@ F: package/batctl/ N: Jeremy Rosen F: package/fxload/ +N: Jérôme Oufella +F: package/libdri2/ +F: package/qt-webkit-kiosk/ + +N: Jérôme Pouiller +F: package/apitrace/ +F: package/freescale-imx/gpu-amd-bin-mx51/ +F: package/freescale-imx/libz160/ +F: package/lxc/ +F: package/strongswan/ +F: package/wmctrl/ +F: package/x11r7/xdriver_xf86-video-imx/ +F: package/x11r7/xdriver_xf86-video-imx-viv/ + +N: Joel Carlson +F: package/capnproto/ +F: package/cmocka/ +F: package/flatcc/ +F: package/libcorrect/ + N: Joel Stanley F: package/pdbg/ F: board/qemu/ppc64le-pseries/ F: configs/qemu_ppc64le_pseries_defconfig -N: Joseph Kogut -F: package/gconf/ -F: package/python-raven/ -F: package/python-schedule/ -F: package/python-websockets/ -F: package/python-xlib/ - N: Johan Derycke F: package/python-libconfig/ N: Johan Oudinet F: package/ejabberd/ +F: package/erlang-eimp/ F: package/erlang-goldrush/ F: package/erlang-jiffy/ F: package/erlang-lager/ @@ -909,6 +1138,22 @@ N: Jonathan Liu F: package/python-meld3/ F: package/supervisor/ +N: Jörg Krause +F: board/lemaker/bananapro/ +F: configs/bananapro_defconfig +F: package/augeas/ +F: package/bluez-alsa/ +F: package/freescale-imx/imx-alsa-plugins/ +F: package/libopusenc/ +F: package/libupnpp/ +F: package/luv/ +F: package/luvi/ +F: package/mpd/ +F: package/shairport-sync/ +F: package/swupdate/ +F: package/upmpdcli/ +F: package/wavemon/ + N: Joris Lijssens F: package/emlog/ F: package/libcoap/ @@ -917,6 +1162,20 @@ F: package/libuio/ F: package/netsniff-ng/ F: package/rabbitmq-c/ +N: Joseph Kogut +F: package/at-spi2-atk/ +F: package/at-spi2-core/ +F: package/clang/ +F: package/gconf/ +F: package/libnss/ +F: package/llvm/ +F: package/python-cython/ +F: package/python-raven/ +F: package/python-schedule/ +F: package/python-sentry-sdk/ +F: package/python-websockets/ +F: package/python-xlib/ + N: Joshua Henderson F: package/qt5/qt5wayland/ @@ -933,6 +1192,7 @@ F: package/tegrarcm/ N: Julien Boibessot F: board/armadeus/ F: configs/armadeus* +F: package/abootimg/ F: package/gpm/ F: package/lbreakout2/ F: package/libcddb/ @@ -947,8 +1207,8 @@ F: package/qt5/ N: Julien Floret F: package/lldpd/ -N: Laurent Charpentier -F: package/open-lldp/ +N: Julien Grossholtz +F: package/paho-mqtt-c N: Julien Viard de Galbert F: package/dieharder/ @@ -957,36 +1217,6 @@ F: package/easy-rsa/ N: Justin Maggard F: package/dtach/ -N: Jérôme Oufella -F: package/libdri2/ -F: package/qt-webkit-kiosk/ - -N: Jérôme Pouiller -F: package/apitrace/ -F: package/freescale-imx/gpu-amd-bin-mx51/ -F: package/freescale-imx/libz160/ -F: package/lxc/ -F: package/strongswan/ -F: package/wmctrl/ -F: package/x11r7/xdriver_xf86-video-imx/ -F: package/x11r7/xdriver_xf86-video-imx-viv/ - -N: Jörg Krause -F: board/lemaker/bananapro/ -F: configs/bananapro_defconfig -F: package/augeas/ -F: package/bctoolbox/ -F: package/libshout/ -F: package/libupnpp/ -F: package/luv/ -F: package/luvi/ -F: package/mp4v2/ -F: package/mpd/ -F: package/shairport-sync/ -F: package/swupdate/ -F: package/upmpdcli/ -F: package/wavemon/ - N: Karoly Kasza F: package/irqbalance/ F: package/openvmtools/ @@ -1000,6 +1230,7 @@ N: Kevin Joly F: package/libgphoto2/ N: Koen Martens +F: package/capnproto/ F: package/linuxconsoletools/ N: Kurt Van Dijck @@ -1010,11 +1241,19 @@ F: package/nilfs-utils/ N: Laurent Cans F: package/aircrack-ng/ +N: Laurent Charpentier +F: package/open-lldp/ + N: Lee Jones F: boot/afboot-stm32/ +N: Leon Anavi +F: board/olimex/a10_olinuxino +F: configs/olimex_a10_olinuxino_lime_defconfig + N: Lionel Flandrin F: package/python-babel/ +F: package/python-daemonize/ F: package/python-flask/ F: package/python-flask-babel/ F: package/python-gunicorn/ @@ -1023,13 +1262,22 @@ N: Lionel Orry F: package/mongrel2/ N: Lothar Felten +F: board/bananapi/bananapi-m2-ultra/ +F: configs/bananapi_m2_ultra_defconfig F: package/ti-sgx-demos/ F: package/ti-sgx-km/ F: package/ti-sgx-um/ +N: Louis-Paul Cordier +F: package/intel-gmmlib/ + N: Luca Ceresoli F: board/olimex/a20_olinuxino/ +F: board/zynq/ +F: board/zynqmp/ F: configs/olimex_a20_olinuxino_* +F: configs/zynq_zed_defconfig +F: configs/zynqmp_zcu106_defconfig F: package/agentpp/ F: package/exim/ F: package/libpjsip/ @@ -1109,14 +1357,28 @@ F: package/lynx/ N: Mario Rugiero F: package/ratpoison/ +N: Mark Corbin +F: arch/arch.mk.riscv +F: arch/Config.in.riscv +F: board/qemu/riscv32-virt/ +F: board/qemu/riscv64-virt/ +F: boot/riscv-pk/ +F: configs/qemu_riscv32_virt_defconfig +F: configs/qemu_riscv64_virt_defconfig + N: Markos Chandras F: package/harfbuzz/ F: package/libsecret/ N: Martin Bark +F: board/raspberrypi/ +F: configs/raspberrypi3_defconfig F: package/ca-certificates/ F: package/connman/ F: package/nodejs/ +F: package/rpi-bt-firmware/ +F: package/rpi-firmware/ +F: package/rpi-wifi-firmware/ F: package/tzdata/ F: package/zic/ @@ -1134,14 +1396,22 @@ F: configs/ts4900_defconfig F: package/ts4900-fpga/ N: Matt Weber +F: board/freescale/p* +F: board/freescale/t* +F: board/qemu/ppc64-e5500/ +F: configs/freescale_p* +F: configs/freescale_t* +F: configs/qemu_ppc64_e5500_defconfig F: package/argp-standalone/ F: package/aufs/ F: package/aufs-util/ F: package/bc/ F: package/bridge-utils/ F: package/checkpolicy/ +F: package/checksec/ F: package/cgroupfs-mount/ F: package/crda/ +F: package/cunit/ F: package/devmem2/ F: package/dnsmasq/ F: package/dosfstools/ @@ -1164,6 +1434,7 @@ F: package/kvm-unit-tests/ F: package/kvmtool/ F: package/libcsv/ F: package/libcurl/ +F: package/libeastl/ F: package/libfcgi/ F: package/libopenssl/ F: package/libselinux/ @@ -1181,6 +1452,7 @@ F: package/mtd/ F: package/mtools/ F: package/nginx-upload/ F: package/omniorb/ +F: package/openresolv/ F: package/paxtest/ F: package/picocom/ F: package/policycoreutils/ @@ -1193,11 +1465,13 @@ F: package/python-posix-ipc/ F: package/python-pypcap/ F: package/python-pyrex/ F: package/raptor/ +F: package/rcw/ F: package/rng-tools/ F: package/rsyslog/ F: package/setools/ F: package/smcroute/ F: package/tclap/ +F: package/tini/ F: package/uboot-tools/ F: package/unionfs/ F: package/valijson/ @@ -1263,6 +1537,11 @@ F: package/tinyxml/ N: Maxime Ripard F: package/kmsxx/ +N: Michael Durrant +F: board/arcturus/ +F: configs/arcturus_ucp1020_defconfig +F: configs/arcturus_ucls1012a_defconfig + N: Michael Rommel F: package/knock/ F: package/python-crc16/ @@ -1273,11 +1552,23 @@ F: package/python-spidev/ N: MichaÅ‚ Åyszczek F: board/altera/socrates_cyclone5/ +F: board/pine64/rock64 +F: configs/rock64_defconfig F: configs/socrates_cyclone5_defconfig +N: Mike Harmony +F: board/sinovoip/m2-plus/ +F: configs/bananapi_m2_plus_defconfig + N: Mikhail Boiko F: package/libfribidi/ +N: Min Xu +F: package/shadowsocks-libev/ + +N: Mirza Krak +F: package/mender/ + N: Morgan Delestre F: package/monkey/ @@ -1285,16 +1576,9 @@ N: Murat Demirten F: package/jpeg-turbo/ F: package/libgeotiff/ -N: Mike Harmony -F: board/sinovoip/m2-plus/ -F: configs/bananapi_m2_plus_defconfig - N: Mylène Josserand F: package/rtl8723bu/ -N: Nathan Lynch -F: package/chrony/ - N: Nathaniel Roach F: package/bandwidthd/ F: package/libgudev/ @@ -1303,11 +1587,18 @@ N: Naumann Andreas F: package/evemu/ F: package/libevdev/ +N: Nicolas Cavallari +F: package/libgit2/ + N: Nicolas Serafini F: package/exiv2/ F: package/nvidia-tegra23/nvidia-tegra23-binaries/ F: package/nvidia-tegra23/nvidia-tegra23-codecs/ +N: Nikolay Dimitrov +F: board/embest/riotboard/ +F: configs/riotboard_defconfig + N: Nimai Mahajan F: package/libucl/ @@ -1321,6 +1612,11 @@ F: package/tcf-agent/ N: Olaf Rempel F: package/ctorrent/ +N: Oleksandr Zhadan +F: board/arcturus/ +F: configs/arcturus_ucp1020_defconfig +F: configs/arcturus_ucls1012a_defconfig + N: Oli Vogt F: package/python-django/ F: package/python-flup/ @@ -1339,6 +1635,9 @@ F: package/openjpeg/ N: Olivier Singla F: package/shellinabox/ +N: Paresh Chaudhary +F: package/checksec/ + N: Parnell Springmeyer F: package/scrypt/ @@ -1356,8 +1655,22 @@ N: Pedro Aguilar F: package/libunistring/ N: Peter Korsgaard +F: board/minnowboard/ +F: board/nexbox/a95x/ +F: board/openblocks/a6/ F: board/orangepi/ +F: board/pandaboard/ +F: board/roseapplepi/ +F: boot/shim/ +F: configs/minnowboard_max-graphical_defconfig +F: configs/minnowboard_max_defconfig +F: configs/nexbox_a95x_defconfig +F: configs/openblocks_a6_defconfig F: configs/orangepi_pc_defconfig +F: configs/pandaboard_defconfig +F: configs/roseapplepi_defconfig +F: configs/sheevaplug_defconfig +F: package/docker-compose/ F: package/dump1090/ F: package/flickcurl/ F: package/fscryptctl/ @@ -1369,12 +1682,24 @@ F: package/lzop/ F: package/memtool/ F: package/mosquitto/ F: package/python-alsaaudio/ +F: package/python-backports-ssl-match-hostname/ +F: package/python-cached-property/ +F: package/python-docker/ +F: package/python-dockerpty/ +F: package/python-docker-pycreds/ F: package/python-enum/ F: package/python-enum34/ F: package/python-functools32/ F: package/python-ipaddr/ F: package/python-pam/ F: package/python-psutil/ +F: package/python-request-id/ +F: package/python-semver/ +F: package/python-texttable/ +F: package/python-validators/ +F: package/python-webob/ +F: package/python-websocket-client/ +F: package/sedutil/ F: package/triggerhappy/ N: Peter Seiderer @@ -1386,12 +1711,17 @@ F: package/ddrescue/ F: package/dejavu/ F: package/dillo/ F: package/edid-decode/ +F: package/ell/ F: package/ghostscript-fonts/ +F: package/gstreamer1/gst1-interpipe/ F: package/gstreamer1/gst1-validate/ +F: package/gstreamer1/gstreamer1-editing-services/ +F: package/iwd/ F: package/libevdev/ F: package/log4cplus/ F: package/postgresql/ F: package/qt5/ +F: package/quotatool/ F: package/racehound/ F: package/wiringpi/ @@ -1417,6 +1747,7 @@ F: package/modem-manager/ F: package/network-manager/ F: package/ofono/ F: package/python-networkmanager/ +F: support/kconfig/ N: Phil Eichinger F: package/libqrencode/ @@ -1424,9 +1755,8 @@ F: package/psplash/ F: package/sispmctl/ F: package/zsh/ -N: Philipp Claves -F: package/libassuan/ -F: package/libgpgme/ +N: Philipp Richter +F: package/libtorrent-rasterbar/ N: Philippe Proulx F: package/lttng-babeltrace/ @@ -1436,6 +1766,13 @@ F: package/lttng-tools/ F: package/python-ipython/ F: package/liburcu/ +N: Pierre Crokaert +F: board/hardkernel/odroidxu4/ +F: configs/odroidxu4_defconfig + +N: Pierre Ducroquet +F: package/kf5/ + N: Pierre Floury F: package/trace-cmd/ @@ -1467,13 +1804,16 @@ N: Rahul Jain F: package/uhttpd/ F: package/ustream-ssl/ +N: Rémi Rérolle +F: package/libfreeimage/ + N: Renaud Aubin F: package/libhttpparser/ N: Rhys Williams F: package/lirc-tools/ -N: Ricardo Martincoski +N: Ricardo Martincoski F: package/atop/ N: Ricardo Martincoski @@ -1492,6 +1832,9 @@ F: package/subversion/ N: RJ Ascani F: package/azmq/ +N: Robert Rose +F: package/grpc/ + N: Rodrigo Rebello F: package/chocolate-doom/ F: package/irssi/ @@ -1502,8 +1845,8 @@ F: package/aubio/ F: package/bullet/ F: package/efl/ F: package/enlightenment/ -F: package/expedite/ -F: package/iqvlinux/ +F: package/flare-engine/ +F: package/flare-game/ F: package/irrlicht/ F: package/liblinear/ F: package/lensfun/ @@ -1522,8 +1865,16 @@ F: package/stress-ng/ F: package/supertux/ F: package/supertuxkart/ F: package/terminology/ +F: package/tk/ F: package/upower/ +F: package/waffle/ F: package/xenomai/ +F: toolchain/toolchain-external/toolchain-external-arm-aarch64/ +F: toolchain/toolchain-external/toolchain-external-arm-aarch64-be/ +F: toolchain/toolchain-external/toolchain-external-arm-arm/ + +N: Roman Gorbenkov +F: package/davfs2/ N: Ryan Barnett F: package/atftp/ @@ -1534,6 +1885,7 @@ F: package/python-pysnmp/ F: package/python-pysnmp-apps/ F: package/python-pysnmp-mibs/ F: package/python-tornado/ +F: package/websocketpp/ N: Ryan Coe F: package/inadyn/ @@ -1543,9 +1895,6 @@ F: package/mariadb/ N: Ryan Wilkins F: package/biosdevname/ -N: Rémi Rérolle -F: package/libfreeimage/ - N: Sam Bobroff F: arch/Config.in.powerpc F: package/librtas/ @@ -1574,12 +1923,11 @@ N: Scott Fan F: package/libssh/ F: package/x11r7/xdriver_xf86-video-fbturbo/ -N: Sebastien Bourdelin -F: package/atf/ -F: package/cppunit/ -F: package/kyua/ -F: package/lutok/ -F: package/yaml-cpp/ +N: Sébastien Szymanski +F: package/mmc-utils/ +F: package/python-flask-jsonrpc/ +F: package/python-flask-login/ +F: package/qt5/qt5charts/ N: Semyon Kolganov F: package/fmt/ @@ -1611,8 +1959,8 @@ F: package/aoetools/ F: package/curlpp/ F: package/daq/ F: package/libgdiplus/ -F: package/mongodb/ F: package/pimd/ +F: package/snort/ F: package/stella/ F: package/traceroute/ F: package/tunctl/ @@ -1663,13 +2011,6 @@ F: package/mesa3d-demos/ F: package/sunxi-mali/ F: package/ti-gfx/ -N: Stefan Fröberg -F: package/elfutils/ -F: package/libtasn1/ -F: package/proxychains-ng/ -F: package/yasm/ -F: package/zlib-ng/ - N: Stefan Sørensen F: package/cracklib/ F: package/libpwquality/ @@ -1680,7 +2021,6 @@ F: package/cache-calibrator/ F: package/gtest/ F: package/mtdev/ F: package/mtdev2tuio/ -F: package/qtuio/ N: Steve Calfee F: package/python-pymysql/ @@ -1696,6 +2036,7 @@ F: package/dvdrw-tools/ F: package/memtest86/ F: package/mjpegtools/ F: package/tovid/ +F: package/udftools/ F: package/xorriso/ N: Steve Thomas @@ -1705,22 +2046,16 @@ N: Steven Noonan F: package/hwloc/ F: package/powertop/ -N: Sven Haardiek +N: Sven Haardiek F: package/lcdproc/ +F: package/python-influxdb/ N: Sven Neumann -F: package/gstreamer1/gst1-libav/ - -N: Sven Neumann F: package/glib-networking/ +F: package/gstreamer1/gst1-libav/ F: package/libmms/ F: package/orc/ - -N: Sébastien Szymanski -F: package/mmc-utils/ -F: package/python-flask-jsonrpc/ -F: package/python-flask-login/ -F: package/qt5/qt5charts/ +F: package/wampcc/ N: Theo Debrouwere F: package/pugixml/ @@ -1741,6 +2076,18 @@ F: package/civetweb/ N: Thomas De Schampheleire F: docs/manual/ F: package/opkg-utils/ +F: package/perl-convert-asn1/ +F: package/perl-crypt-blowfish/ +F: package/perl-crypt-cbc/ +F: package/perl-digest-md5/ +F: package/perl-mime-base64-urlsafe/ +F: package/perl-mojolicious-plugin-authentication/ +F: package/perl-net-ping/ +F: package/perl-net-snmp/ +F: package/perl-net-ssh2/ +F: package/perl-net-telnet/ +F: package/pigz/ +F: package/xenomai/ F: support/scripts/size-stats F: utils/size-stats-compare F: toolchain/ @@ -1793,6 +2140,7 @@ F: package/python-serial/ F: package/qextserialport/ F: package/rpcbind/ F: package/rt-tests/ +F: package/rtc-tools/ F: package/sam-ba/ F: package/scons/ F: package/squashfs/ @@ -1800,9 +2148,6 @@ F: package/wayland/ F: package/weston/ F: toolchain/ -N: Tiago Brusamarello -F: package/aer-inject/ - N: Timo Ketola F: package/fbgrab/ @@ -1810,21 +2155,21 @@ N: Tzu-Jung Lee F: package/dropwatch/ F: package/tstools/ +N: Vadim Kochan +F: package/brcm-patchram-plus/ + +N: Valentin Korenblit +F: package/clang/ +F: package/clinfo/ +F: package/libclc/ +F: package/llvm/ + N: Vanya Sergeev F: package/lua-periphery/ -N: Vicente Olivert Riera -F: arch/Config.in.mips -F: package/gnupg2/ -F: package/hidapi/ -F: package/libfm/ -F: package/libfm-extra/ -F: package/libksba/ -F: package/menu-cache/ -F: package/openblas/ -F: package/openmpi/ -F: package/pinentry/ -F: package/trinity/ +N: Vincent Prince +F: package/nss-myhostname/ +F: package/utp_com/ N: Vincent Stehlé F: package/i7z/ @@ -1846,12 +2191,6 @@ N: Wade Berrier F: package/ngrep/ N: Waldemar Brodkorb -F: arch/Config.in.bfin -F: arch/Config.in.m68k -F: arch/Config.in.or1k -F: arch/Config.in.sparc -F: package/glibc/ -F: package/mksh/ F: package/uclibc/ F: package/uclibc-ng-test/ diff --git a/bsp/buildroot/Makefile b/bsp/buildroot/Makefile index 989d86f1..2b91d409 100644 --- a/bsp/buildroot/Makefile +++ b/bsp/buildroot/Makefile @@ -2,7 +2,7 @@ # # Copyright (C) 1999-2005 by Erik Andersen # Copyright (C) 2006-2014 by the Buildroot developers -# Copyright (C) 2014-2018 by the Buildroot developers +# Copyright (C) 2014-2019 by the Buildroot developers # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -92,9 +92,9 @@ all: .PHONY: all # Set and export the version string -export BR2_VERSION := 2018.02.8 +export BR2_VERSION := 2019.02 # Actual time the release is cut (for reproducible builds) -BR2_VERSION_EPOCH = 1543272000 +BR2_VERSION_EPOCH = 1551735000 # Save running make version since it's clobbered by the make package RUNNING_MAKE_VERSION := $(MAKE_VERSION) @@ -105,22 +105,6 @@ ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MA $(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required) endif -# Parallel execution of this Makefile is disabled because it changes -# the packages building order, that can be a problem for two reasons: -# - If a package has an unspecified optional dependency and that -# dependency is present when the package is built, it is used, -# otherwise it isn't (but compilation happily proceeds) so the end -# result will differ if the order is swapped due to parallel -# building. -# - Also changing the building order can be a problem if two packages -# manipulate the same file in the target directory. -# -# Taking into account the above considerations, if you still want to execute -# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and -# use the -j option when building, e.g: -# make -j$((`getconf _NPROCESSORS_ONLN`+1)) -.NOTPARALLEL: - # absolute path TOPDIR := $(CURDIR) CONFIG_CONFIG_IN = Config.in @@ -133,9 +117,9 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo # List of targets and target patterns for which .config doesn't need to be read in noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \ - defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \ + defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \ randpackageconfig allyespackageconfig allnopackageconfig \ - print-version olddefconfig distclean manual manual-% + print-version olddefconfig distclean manual manual-% check-package # Some global targets do not trigger a build, but are used to collect # metadata, or do various checks. When such targets are triggered, @@ -151,7 +135,7 @@ nobuild_targets := source %-source \ clean distclean help show-targets graph-depends \ %-graph-depends %-show-depends %-show-version \ graph-build graph-size list-defconfigs \ - savedefconfig printvars + savedefconfig update-defconfig printvars ifeq ($(MAKECMDGOALS),) BR_BUILDING = y else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),) @@ -220,7 +204,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf) BUILD_DIR := $(BASE_DIR)/build BINARIES_DIR := $(BASE_DIR)/images -TARGET_DIR := $(BASE_DIR)/target +BASE_TARGET_DIR := $(BASE_DIR)/target # initial definition so that 'make clean' works for most users, even without # .config. HOST_DIR will be overwritten later when .config is included. HOST_DIR := $(BASE_DIR)/host @@ -236,15 +220,6 @@ LEGAL_MANIFEST_CSV_HOST = $(LEGAL_INFO_DIR)/host-manifest.csv LEGAL_WARNINGS = $(LEGAL_INFO_DIR)/.warnings LEGAL_REPORT = $(LEGAL_INFO_DIR)/README -################################################################################ -# -# staging and target directories do NOT list these as -# dependencies anywhere else -# -################################################################################ -$(BUILD_DIR) $(TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST): - @mkdir -p $@ - BR2_CONFIG = $(CONFIG_DIR)/.config # Pull in the user's configuration file @@ -252,15 +227,28 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),) -include $(BR2_CONFIG) endif +# Parallel execution of this Makefile is disabled because it changes +# the packages building order, that can be a problem for two reasons: +# - If a package has an unspecified optional dependency and that +# dependency is present when the package is built, it is used, +# otherwise it isn't (but compilation happily proceeds) so the end +# result will differ if the order is swapped due to parallel +# building. +# - Also changing the building order can be a problem if two packages +# manipulate the same file in the target directory. +# +# Taking into account the above considerations, if you still want to execute +# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and +# use the -j option when building, e.g: +# make -j$((`getconf _NPROCESSORS_ONLN`+1)) +.NOTPARALLEL: + # timezone and locale may affect build output ifeq ($(BR2_REPRODUCIBLE),y) export TZ = UTC export LANG = C export LC_ALL = C export GZIP = -n -BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at) -export SOURCE_DATE_EPOCH ?= $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) -DEPENDENCIES_HOST_PREREQ += host-fakedate endif # To put more focus on warnings, be less verbose as default @@ -431,6 +419,8 @@ unexport TERMINFO unexport MACHINE unexport O unexport GCC_COLORS +unexport PLATFORM +unexport OS GNU_HOST_NAME := $(shell support/gnuconfig/config.guess) @@ -449,11 +439,11 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ -e s/arceb/arc/ \ -e s/arm.*/arm/ -e s/sa110/arm/ \ -e s/aarch64.*/arm64/ \ - -e s/bfin/blackfin/ \ -e s/or1k/openrisc/ \ -e s/parisc64/parisc/ \ -e s/powerpc64.*/powerpc/ \ -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ + -e s/riscv.*/riscv/ \ -e s/sh.*/sh/ \ -e s/microblazeel/microblaze/) @@ -466,6 +456,16 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf # packages compiled for the host go here HOST_DIR := $(call qstrip,$(BR2_HOST_DIR)) +# The target directory is common to all packages, +# but there is one that is specific to each filesystem. +TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR)) + +ifneq ($(HOST_DIR),$(BASE_DIR)/host) +HOST_DIR_SYMLINK = $(BASE_DIR)/host +$(HOST_DIR_SYMLINK): $(BASE_DIR) + ln -snf $(HOST_DIR) $(BASE_DIR)/host +endif + # Quotes are needed for spaces and all in the original PATH content. BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" @@ -474,11 +474,11 @@ BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)" TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM ifeq ($(BR2_CCACHE),y) -CCACHE := $(HOST_DIR)/bin/ccache +CCACHE = $(HOST_DIR)/bin/ccache BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR)) export BR_CACHE_DIR -HOSTCC := $(CCACHE) $(HOSTCC) -HOSTCXX := $(CCACHE) $(HOSTCXX) +HOSTCC = $(CCACHE) $(HOSTCC_NOCCACHE) +HOSTCXX = $(CCACHE) $(HOSTCXX_NOCCACHE) else export BR_NO_CCACHE endif @@ -508,16 +508,22 @@ include Makefile.legacy include system/system.mk include package/Makefile.in -# arch/arch.mk.* must be after package/Makefile.in because it may need to +# arch/arch.mk must be after package/Makefile.in because it may need to # complement variables defined therein, like BR_NO_CHECK_HASH_FOR. --include $(sort $(wildcard arch/arch.mk.*)) +include arch/arch.mk include support/dependencies/dependencies.mk -PACKAGES += $(DEPENDENCIES_HOST_PREREQ) - include $(sort $(wildcard toolchain/*.mk)) include $(sort $(wildcard toolchain/*/*.mk)) +ifeq ($(BR2_REPRODUCIBLE),y) +# If SOURCE_DATE_EPOCH has not been set then use the commit date, or the last +# release date if the source tree is not within a Git repository. +# See: https://reproducible-builds.org/specs/source-date-epoch/ +BR2_VERSION_GIT_EPOCH := $(shell $(GIT) log -1 --format=%at 2> /dev/null) +export SOURCE_DATE_EPOCH ?= $(or $(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH)) +endif + # Include the package override file if one has been provided in the # configuration. PACKAGE_OVERRIDE_FILE = $(call qstrip,$(BR2_PACKAGE_OVERRIDE_FILE)) @@ -547,9 +553,16 @@ include $(BR2_EXTERNAL_MKS) # # Only trigger the check for default builds. If the user forces building # a package, even if not enabled in the configuration, we want to accept -# it. +# it. However; we also want to be able to force checking the dependencies +# if the user so desires. Forcing a dependency check is useful in the case +# of test-pkg, as we want to make sure during testing, that a package has +# all the dependencies selected in the config file. # ifeq ($(MAKECMDGOALS),) +BR_FORCE_CHECK_DEPENDENCIES = YES +endif + +ifeq ($(BR_FORCE_CHECK_DEPENDENCIES),YES) define CHECK_ONE_DEPENDENCY ifeq ($$($(2)_TYPE),target) @@ -569,12 +582,8 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\ endif -.PHONY: dirs -dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \ - $(HOST_DIR) $(HOST_DIR)/usr $(HOST_DIR)/lib $(BINARIES_DIR) - $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG) - $(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig + $(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" syncconfig .PHONY: prepare prepare: $(BUILD_DIR)/buildroot-config/auto.conf @@ -582,48 +591,61 @@ prepare: $(BUILD_DIR)/buildroot-config/auto.conf .PHONY: world world: target-post-image -.PHONY: sdk -sdk: world +.PHONY: prepare-sdk +prepare-sdk: world @$(call MESSAGE,"Rendering the SDK relocatable") $(TOPDIR)/support/scripts/fix-rpath host $(TOPDIR)/support/scripts/fix-rpath staging $(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh + mkdir -p $(HOST_DIR)/share/buildroot echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location -# Compatibility symlink in case a post-build script still uses $(HOST_DIR)/usr -$(HOST_DIR)/usr: $(HOST_DIR) - @ln -snf . $@ - -$(HOST_DIR)/lib: $(HOST_DIR) - @mkdir -p $@ - @case $(HOSTARCH) in \ - (*64) ln -snf lib $(@D)/lib64;; \ - (*) ln -snf lib $(@D)/lib32;; \ - esac - -# Populating the staging with the base directories is handled by the skeleton package -$(STAGING_DIR): - @mkdir -p $(STAGING_DIR) - @ln -snf $(STAGING_DIR) $(BASE_DIR)/staging +BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot +.PHONY: sdk +sdk: prepare-sdk $(BR2_TAR_HOST_DEPENDENCY) + @$(call MESSAGE,"Generating SDK tarball") + $(if $(BR2_SDK_PREFIX),,$(error BR2_SDK_PREFIX can not be empty)) + $(Q)mkdir -p $(BINARIES_DIR) + $(TAR) czf "$(BINARIES_DIR)/$(BR2_SDK_PREFIX).tar.gz" \ + --owner=0 --group=0 --numeric-owner \ + --transform='s#^$(patsubst /%,%,$(HOST_DIR))#$(BR2_SDK_PREFIX)#' \ + -C / $(patsubst /%,%,$(HOST_DIR)) RSYNC_VCS_EXCLUSIONS = \ --exclude .svn --exclude .git --exclude .hg --exclude .bzr \ --exclude CVS -STRIP_FIND_CMD = find $(TARGET_DIR) -ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) -STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o -endif -STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \) -# file exclusions: +# When stripping, obey to BR2_STRIP_EXCLUDE_DIRS and +# BR2_STRIP_EXCLUDE_FILES +STRIP_FIND_COMMON_CMD = \ + find $(TARGET_DIR) \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)), \ + \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) \ + -prune -o \ + ) \ + $(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \ + -not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) + +# Regular stripping for everything, except libpthread, ld-*.so and +# kernel modules: # - libpthread.so: a non-stripped libpthread shared library is needed for # proper debugging of pthread programs using gdb. # - ld.so: a non-stripped dynamic linker library is needed for valgrind # - kernel modules (*.ko): do not function properly when stripped like normal # applications and libraries. Normally kernel modules are already excluded -# by the executable permission check above, so the explicit exclusion is only +# by the executable permission check, so the explicit exclusion is only # done for kernel modules with incorrect permissions. -STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print0 +STRIP_FIND_CMD = \ + $(STRIP_FIND_COMMON_CMD) \ + -type f \( -perm /111 -o -name '*.so*' \) \ + -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko) \) \ + -print0 + +# Special stripping (only debugging symbols) for libpthread and ld-*.so. +STRIP_FIND_SPECIAL_LIBS_CMD = \ + $(STRIP_FIND_COMMON_CMD) \ + \( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) \ + -print0 ifeq ($(BR2_ECLIPSE_REGISTER),y) define TOOLCHAIN_ECLIPSE_REGISTER @@ -703,8 +725,17 @@ endif $(TARGETS_ROOTFS): target-finalize +# Avoid the rootfs name leaking down the dependency chain +target-finalize: ROOTFS= + +host-finalize: $(HOST_DIR_SYMLINK) + +.PHONY: staging-finalize +staging-finalize: + @ln -snf $(STAGING_DIR) $(BASE_DIR)/staging + .PHONY: target-finalize -target-finalize: $(PACKAGES) +target-finalize: $(PACKAGES) host-finalize @$(call MESSAGE,"Finalizing target directory") # Check files that are touched by more than one package ./support/scripts/check-uniq-files -t target $(BUILD_DIR)/packages-file-list.txt @@ -732,19 +763,8 @@ endif rm -rf $(TARGET_DIR)/usr/share/gtk-doc rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true $(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true + $(STRIP_FIND_SPECIAL_LIBS_CMD) | xargs -0 -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) 2>/dev/null || true -# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads -# besides the one in which crash occurred; or SIGTRAP kills my program when -# I set a breakpoint" -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) - find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \ - xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) -endif - -# Valgrind needs ld.so with enough information, so only strip -# debugging symbols. - find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \ - xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) test -f $(TARGET_DIR)/etc/ld.so.conf && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true test -d $(TARGET_DIR)/etc/ld.so.conf.d && \ @@ -762,11 +782,25 @@ endif @$(call MESSAGE,"Sanitizing RPATH in target tree") $(TOPDIR)/support/scripts/fix-rpath target +# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr +# counterparts are appropriately setup as symlinks ones to the others. +ifeq ($(BR2_ROOTFS_MERGED_USR),y) + + @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ + $(call MESSAGE,"Sanity check in overlay $(d)"); \ + not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \ + test -n "$$not_merged_dirs" && { \ + echo "ERROR: The overlay in $(d) is not" \ + "using a merged /usr for the following directories:" \ + $$not_merged_dirs; \ + exit 1; \ + } || true$(sep)) + +endif # merged /usr + @$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \ $(call MESSAGE,"Copying overlay $(d)"); \ - rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \ - --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \ - $(d)/ $(TARGET_DIR)$(sep)) + $(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep)) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \ $(call MESSAGE,"Executing post-build script $(s)"); \ @@ -775,7 +809,8 @@ endif touch $(TARGET_DIR)/usr .PHONY: target-post-image -target-post-image: $(TARGETS_ROOTFS) target-finalize +target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize + @rm -f $(ROOTFS_COMMON_TAR) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) @@ -795,15 +830,15 @@ legal-info-clean: .PHONY: legal-info-prepare legal-info-prepare: $(LEGAL_INFO_DIR) @$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info") - @$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST) - @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET) - @$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST) - @$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST) + @$(call legal-license-file,buildroot,buildroot,support/legal-info/buildroot.hash,COPYING,COPYING,HOST) + @$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) + @$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES) + @$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved) @$(call legal-warning,the Buildroot source code has not been saved) @cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config .PHONY: legal-info -legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ +legal-info: legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \ $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST) @cat support/legal-info/README.header >>$(LEGAL_REPORT) @if [ -r $(LEGAL_WARNINGS) ]; then \ @@ -937,7 +972,7 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot @rm -f $(CONFIG_DIR)/.config.nopkg @$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null -oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig +oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN) defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @@ -951,13 +986,15 @@ define percent_defconfig endef $(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep))) +update-defconfig: savedefconfig + savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig @$(COMMON_CONFIG_ENV) $< \ --savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \ $(CONFIG_CONFIG_IN) @$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) -.PHONY: defconfig savedefconfig +.PHONY: defconfig savedefconfig update-defconfig ################################################################################ # @@ -965,6 +1002,11 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig # ################################################################################ +# staging and target directories do NOT list these as +# dependencies anywhere else +$(BUILD_DIR) $(BASE_TARGET_DIR) $(HOST_DIR) $(BINARIES_DIR) $(LEGAL_INFO_DIR) $(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST): + @mkdir -p $@ + # outputmakefile generates a Makefile in the output directory, if using a # separate output directory. This allows convenient use of make in the # output directory. @@ -999,7 +1041,7 @@ printvars: .PHONY: clean clean: - rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \ + rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \ $(BUILD_DIR) $(BASE_DIR)/staging \ $(LEGAL_INFO_DIR) $(GRAPHS_DIR) @@ -1028,12 +1070,13 @@ help: @echo ' xconfig - interactive Qt-based configurator' @echo ' gconfig - interactive GTK-based configurator' @echo ' oldconfig - resolve any unresolved symbols in .config' - @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps' - @echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value' + @echo ' syncconfig - Same as oldconfig, but quietly, additionally update deps' + @echo ' olddefconfig - Same as syncconfig but sets new symbols to their default value' @echo ' randconfig - New config with random answer to all options' @echo ' defconfig - New config with default answer to all options;' @echo ' BR2_DEFCONFIG, if set on the command line, is used as input' @echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)' + @echo ' update-defconfig - Same as savedefconfig' @echo ' allyesconfig - New config where all options are accepted with yes' @echo ' allnoconfig - New config where all options are answered with no' @echo ' alldefconfig - New config where all options are set to default' @@ -1051,6 +1094,10 @@ help: @echo ' -build - Build up to the build step' @echo ' -show-depends - List packages on which depends' @echo ' -show-rdepends - List packages which have as a dependency' + @echo ' -show-recursive-depends' + @echo ' - Recursively list packages on which depends' + @echo ' -show-recursive-rdepends' + @echo ' - Recursively list packages which have as a dependency' @echo ' -graph-depends - Generate a graph of '\''s dependencies' @echo ' -graph-rdepends - Generate a graph of '\''s reverse dependencies' @echo ' -dirclean - Remove build directory' @@ -1132,11 +1179,13 @@ release: print-version: @echo $(BR2_VERSION_FULL) +check-package: + find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \ + -exec ./utils/check-package {} + + .PHONY: .gitlab-ci.yml .gitlab-ci.yml: .gitlab-ci.yml.in - cp $< $@ - (cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@ - ./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@ + ./support/scripts/generate-gitlab-ci-yml $< > $@ include docs/manual/manual.mk -include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk))) diff --git a/bsp/buildroot/VERSION b/bsp/buildroot/VERSION index 1d909543..8c4abf0c 100644 --- a/bsp/buildroot/VERSION +++ b/bsp/buildroot/VERSION @@ -1 +1 @@ -buildroot 2018_02_8 +buildroot 2019_02 diff --git a/bsp/buildroot/arch/Config.in b/bsp/buildroot/arch/Config.in index d3f63da3..f50760a0 100644 --- a/bsp/buildroot/arch/Config.in +++ b/bsp/buildroot/arch/Config.in @@ -15,9 +15,6 @@ config BR2_ARCH_HAS_MMU_MANDATORY config BR2_ARCH_HAS_MMU_OPTIONAL bool -config BR2_ARCH_HAS_FDPIC_SUPPORT - bool - choice prompt "Target Architecture" default BR2_i386 @@ -28,24 +25,25 @@ config BR2_arcle bool "ARC (little endian)" select BR2_ARCH_HAS_MMU_MANDATORY help - Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs - that can be used from deeply embedded to high performance host - applications. Little endian. + Synopsys' DesignWare ARC Processor Cores are a family of + 32-bit CPUs that can be used from deeply embedded to high + performance host applications. Little endian. config BR2_arceb bool "ARC (big endian)" select BR2_ARCH_HAS_MMU_MANDATORY help - Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs - that can be used from deeply embedded to high performance host - applications. Big endian. + Synopsys' DesignWare ARC Processor Cores are a family of + 32-bit CPUs that can be used from deeply embedded to high + performance host applications. Big endian. config BR2_arm bool "ARM (little endian)" # MMU support is set by the subarchitecture file, arch/Config.in.arm help - ARM is a 32-bit reduced instruction set computer (RISC) instruction - set architecture (ISA) developed by ARM Holdings. Little endian. + ARM is a 32-bit reduced instruction set computer (RISC) + instruction set architecture (ISA) developed by ARM Holdings. + Little endian. http://www.arm.com/ http://en.wikipedia.org/wiki/ARM @@ -53,8 +51,9 @@ config BR2_armeb bool "ARM (big endian)" # MMU support is set by the subarchitecture file, arch/Config.in.arm help - ARM is a 32-bit reduced instruction set computer (RISC) instruction - set architecture (ISA) developed by ARM Holdings. Big endian. + ARM is a 32-bit reduced instruction set computer (RISC) + instruction set architecture (ISA) developed by ARM Holdings. + Big endian. http://www.arm.com/ http://en.wikipedia.org/wiki/ARM @@ -76,16 +75,6 @@ config BR2_aarch64_be http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php http://en.wikipedia.org/wiki/ARM -config BR2_bfin - bool "Blackfin" - select BR2_ARCH_HAS_FDPIC_SUPPORT - select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 - help - The Blackfin is a family of 16 or 32-bit microprocessors developed, - manufactured and marketed by Analog Devices. - http://www.analog.com/ - http://en.wikipedia.org/wiki/Blackfin - config BR2_csky bool "csky" select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT @@ -113,8 +102,8 @@ config BR2_microblazeel bool "Microblaze AXI (little endian)" select BR2_ARCH_HAS_MMU_MANDATORY help - Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus - based architecture (little endian) + Soft processor core designed for Xilinx FPGAs from Xilinx. AXI + bus based architecture (little endian) http://www.xilinx.com http://en.wikipedia.org/wiki/Microblaze @@ -122,8 +111,8 @@ config BR2_microblazebe bool "Microblaze non-AXI (big endian)" select BR2_ARCH_HAS_MMU_MANDATORY help - Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus - based architecture (non-AXI, big endian) + Soft processor core designed for Xilinx FPGAs from Xilinx. PLB + bus based architecture (non-AXI, big endian) http://www.xilinx.com http://en.wikipedia.org/wiki/Microblaze @@ -131,7 +120,8 @@ config BR2_mips bool "MIPS (big endian)" select BR2_ARCH_HAS_MMU_MANDATORY help - MIPS is a RISC microprocessor from MIPS Technologies. Big endian. + MIPS is a RISC microprocessor from MIPS Technologies. Big + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies @@ -139,7 +129,8 @@ config BR2_mipsel bool "MIPS (little endian)" select BR2_ARCH_HAS_MMU_MANDATORY help - MIPS is a RISC microprocessor from MIPS Technologies. Little endian. + MIPS is a RISC microprocessor from MIPS Technologies. Little + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies @@ -148,7 +139,8 @@ config BR2_mips64 select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY help - MIPS is a RISC microprocessor from MIPS Technologies. Big endian. + MIPS is a RISC microprocessor from MIPS Technologies. Big + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies @@ -157,7 +149,8 @@ config BR2_mips64el select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY help - MIPS is a RISC microprocessor from MIPS Technologies. Little endian. + MIPS is a RISC microprocessor from MIPS Technologies. Little + endian. http://www.mips.com/ http://en.wikipedia.org/wiki/MIPS_Technologies @@ -180,8 +173,8 @@ config BR2_powerpc bool "PowerPC" select BR2_ARCH_HAS_MMU_MANDATORY help - PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance. - Big endian. + PowerPC is a RISC architecture created by Apple-IBM-Motorola + alliance. Big endian. http://www.power.org/ http://en.wikipedia.org/wiki/Powerpc @@ -190,8 +183,8 @@ config BR2_powerpc64 select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY help - PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance. - Big endian. + PowerPC is a RISC architecture created by Apple-IBM-Motorola + alliance. Big endian. http://www.power.org/ http://en.wikipedia.org/wiki/Powerpc @@ -200,17 +193,29 @@ config BR2_powerpc64le select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY help - PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance. - Little endian. + PowerPC is a RISC architecture created by Apple-IBM-Motorola + alliance. Little endian. http://www.power.org/ http://en.wikipedia.org/wiki/Powerpc +config BR2_riscv + bool "RISCV" + select BR2_ARCH_HAS_MMU_MANDATORY + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + help + RISC-V is an open, free Instruction Set Architecture created + by the UC Berkeley Architecture Research group and supported + and promoted by RISC-V Foundation. + https://riscv.org/ + https://en.wikipedia.org/wiki/RISC-V + config BR2_sh bool "SuperH" select BR2_ARCH_HAS_MMU_OPTIONAL help - SuperH (or SH) is a 32-bit reduced instruction set computer (RISC) - instruction set architecture (ISA) developed by Hitachi. + SuperH (or SH) is a 32-bit reduced instruction set computer + (RISC) instruction set architecture (ISA) developed by + Hitachi. http://www.hitachi.com/ http://en.wikipedia.org/wiki/SuperH @@ -218,8 +223,9 @@ config BR2_sparc bool "SPARC" select BR2_ARCH_HAS_MMU_MANDATORY help - SPARC (from Scalable Processor Architecture) is a RISC instruction - set architecture (ISA) developed by Sun Microsystems. + SPARC (from Scalable Processor Architecture) is a RISC + instruction set architecture (ISA) developed by Sun + Microsystems. http://www.oracle.com/sun http://en.wikipedia.org/wiki/Sparc @@ -228,8 +234,9 @@ config BR2_sparc64 select BR2_ARCH_IS_64 select BR2_ARCH_HAS_MMU_MANDATORY help - SPARC (from Scalable Processor Architecture) is a RISC instruction - set architecture (ISA) developed by Sun Microsystems. + SPARC (from Scalable Processor Architecture) is a RISC + instruction set architecture (ISA) developed by Sun + Microsystems. http://www.oracle.com/sun http://en.wikipedia.org/wiki/Sparc @@ -283,6 +290,10 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_7 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_ARCH_NEEDS_GCC_AT_LEAST_8 + bool + select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + # The following string values are defined by the individual # Config.in.$ARCH files config BR2_ARCH @@ -306,9 +317,6 @@ config BR2_GCC_TARGET_FP32_MODE config BR2_GCC_TARGET_CPU string -config BR2_GCC_TARGET_CPU_REVISION - string - # The value of this option will be passed as --with-fpu= when # building gcc (internal backend) or -mfpu= in the toolchain # wrapper (external toolchain) @@ -341,7 +349,6 @@ config BR2_READELF_ARCH_NAME choice prompt "Target Binary Format" default BR2_BINFMT_ELF if BR2_USE_MMU - default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT default BR2_BINFMT_FLAT config BR2_BINFMT_ELF @@ -349,56 +356,34 @@ config BR2_BINFMT_ELF depends on BR2_USE_MMU select BR2_BINFMT_SUPPORTS_SHARED help - ELF (Executable and Linkable Format) is a format for libraries and - executables used across different architectures and operating - systems. - -config BR2_BINFMT_FDPIC - bool "FDPIC" - depends on BR2_ARCH_HAS_FDPIC_SUPPORT - select BR2_BINFMT_SUPPORTS_SHARED - help - ELF FDPIC binaries are based on ELF, but allow the individual load - segments of a binary to be located in memory independently of each - other. This makes this format ideal for use in environments where no - MMU is available. + ELF (Executable and Linkable Format) is a format for libraries + and executables used across different architectures and + operating systems. config BR2_BINFMT_FLAT bool "FLAT" depends on !BR2_USE_MMU help - FLAT binary is a relatively simple and lightweight executable format - based on the original a.out format. It is widely used in environment - where no MMU is available. + FLAT binary is a relatively simple and lightweight executable + format based on the original a.out format. It is widely used + in environment where no MMU is available. endchoice # Set up flat binary type choice prompt "FLAT Binary type" - depends on BR2_BINFMT_FLAT default BR2_BINFMT_FLAT_ONE + depends on BR2_BINFMT_FLAT config BR2_BINFMT_FLAT_ONE bool "One memory region" help All segments are linked into one memory region. -config BR2_BINFMT_FLAT_SEP_DATA - bool "Separate data and code region" - # this FLAT binary type technically exists on m68k, but fails - # to build numerous packages: due to architecture limitation, - # big functions cannot be built in this mode. They cause build - # failures such as "Tried to convert PC relative branch to - # absolute jump" or "error: value -yyyyy out of range". - depends on BR2_bfin - help - Allow for the data and text segments to be separated and placed in - different regions of memory. - config BR2_BINFMT_FLAT_SHARED bool "Shared binary" - depends on BR2_m68k || BR2_bfin + depends on BR2_m68k # Even though this really generates shared binaries, there is no libdl # and dlopen() cannot be used. So packages that require shared # libraries cannot be built. Therefore, we don't select @@ -418,10 +403,6 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be source "arch/Config.in.arm" endif -if BR2_bfin -source "arch/Config.in.bfin" -endif - if BR2_csky source "arch/Config.in.csky" endif @@ -450,6 +431,10 @@ if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le source "arch/Config.in.powerpc" endif +if BR2_riscv +source "arch/Config.in.riscv" +endif + if BR2_sh source "arch/Config.in.sh" endif diff --git a/bsp/buildroot/arch/Config.in.arc b/bsp/buildroot/arch/Config.in.arc index 92503a01..156384b9 100644 --- a/bsp/buildroot/arch/Config.in.arc +++ b/bsp/buildroot/arch/Config.in.arc @@ -1,7 +1,7 @@ choice prompt "Target CPU" - depends on BR2_arc default BR2_arc770d + depends on BR2_arc help Specific CPU to use diff --git a/bsp/buildroot/arch/Config.in.arm b/bsp/buildroot/arch/Config.in.arm index b05e83e3..a9972978 100644 --- a/bsp/buildroot/arch/Config.in.arm +++ b/bsp/buildroot/arch/Config.in.arm @@ -6,12 +6,21 @@ config BR2_ARM_CPU_HAS_NEON config BR2_ARM_CPU_MAYBE_HAS_NEON bool +# For some cores, the FPU is optional +config BR2_ARM_CPU_MAYBE_HAS_FPU + bool + +config BR2_ARM_CPU_HAS_FPU + bool + # for some cores, VFPv2 is optional config BR2_ARM_CPU_MAYBE_HAS_VFPV2 bool + select BR2_ARM_CPU_MAYBE_HAS_FPU config BR2_ARM_CPU_HAS_VFPV2 bool + select BR2_ARM_CPU_HAS_FPU # for some cores, VFPv3 is optional config BR2_ARM_CPU_MAYBE_HAS_VFPV3 @@ -31,6 +40,24 @@ config BR2_ARM_CPU_HAS_VFPV4 bool select BR2_ARM_CPU_HAS_VFPV3 +# FPv4 is always optional +config BR2_ARM_CPU_MAYBE_HAS_FPV4 + bool + select BR2_ARM_CPU_MAYBE_HAS_FPU + +config BR2_ARM_CPU_HAS_FPV4 + bool + select BR2_ARM_CPU_HAS_FPU + +# FPv5 is always optional +config BR2_ARM_CPU_MAYBE_HAS_FPV5 + bool + select BR2_ARM_CPU_MAYBE_HAS_FPV4 + +config BR2_ARM_CPU_HAS_FPV5 + bool + select BR2_ARM_CPU_HAS_FPV4 + config BR2_ARM_CPU_HAS_FP_ARMV8 bool select BR2_ARM_CPU_HAS_VFPV4 @@ -240,7 +267,14 @@ config BR2_cortex_m3 config BR2_cortex_m4 bool "cortex-M4" select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_MAYBE_HAS_FPV4 select BR2_ARM_CPU_ARMV7M +config BR2_cortex_m7 + bool "cortex-M7" + select BR2_ARM_CPU_HAS_THUMB2 + select BR2_ARM_CPU_MAYBE_HAS_FPV5 + select BR2_ARM_CPU_ARMV7M + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 endif # !BR2_ARCH_IS_64 comment "armv8 cores" @@ -342,25 +376,19 @@ config BR2_exynos_m1 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 +if BR2_ARCH_IS_64 config BR2_falkor bool "falkor" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 config BR2_qdf24xx bool "qdf24xx" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 -if BR2_ARCH_IS_64 config BR2_thunderx bool "thunderx" select BR2_ARM_CPU_HAS_FP_ARMV8 @@ -406,32 +434,55 @@ if BR2_ARCH_IS_64 comment "armv8.1a cores" config BR2_thunderx2t99 bool "thunderx2t99" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 config BR2_thunderx2t99p1 bool "thunderx2t99p1" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 config BR2_vulcan bool "vulcan" - select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64 - select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64 select BR2_ARM_CPU_HAS_FP_ARMV8 select BR2_ARM_CPU_ARMV8A select BR2_ARCH_HAS_MMU_OPTIONAL select BR2_ARCH_NEEDS_GCC_AT_LEAST_7 endif # BR2_ARCH_IS_64 + +if BR2_ARCH_IS_64 +comment "armv8.2a cores" +config BR2_cortex_a55 + bool "cortex-A55" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a75 + bool "cortex-A75" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +config BR2_cortex_a75_a55 + bool "cortex-A75/A55 big.LITTLE" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +endif # BR2_ARCH_IS_64 + +if BR2_ARCH_IS_64 +comment "armv8.3a cores" +config BR2_saphira + bool "saphira" + select BR2_ARM_CPU_HAS_FP_ARMV8 + select BR2_ARM_CPU_ARMV8A + select BR2_ARCH_HAS_MMU_OPTIONAL + select BR2_ARCH_NEEDS_GCC_AT_LEAST_8 +endif # BR2_ARCH_IS_64 endchoice config BR2_ARM_ENABLE_NEON @@ -445,7 +496,9 @@ config BR2_ARM_ENABLE_NEON config BR2_ARM_ENABLE_VFP bool "Enable VFP extension support" - depends on BR2_ARM_CPU_MAYBE_HAS_VFPV2 + depends on BR2_ARM_CPU_MAYBE_HAS_FPU + select BR2_ARM_CPU_HAS_FPV5 if BR2_ARM_CPU_MAYBE_HAS_FPV5 + select BR2_ARM_CPU_HAS_FPV4 if BR2_ARM_CPU_MAYBE_HAS_FPV4 select BR2_ARM_CPU_HAS_VFPV4 if BR2_ARM_CPU_MAYBE_HAS_VFPV4 select BR2_ARM_CPU_HAS_VFPV3 if BR2_ARM_CPU_MAYBE_HAS_VFPV3 select BR2_ARM_CPU_HAS_VFPV2 if BR2_ARM_CPU_MAYBE_HAS_VFPV2 @@ -456,9 +509,9 @@ config BR2_ARM_ENABLE_VFP choice prompt "Target ABI" - depends on BR2_arm || BR2_armeb - default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_VFPV2 + default BR2_ARM_EABIHF if BR2_ARM_CPU_HAS_FPU default BR2_ARM_EABI + depends on BR2_arm || BR2_armeb help Application Binary Interface to use. The Application Binary Interface describes the calling conventions (how arguments @@ -491,7 +544,7 @@ config BR2_ARM_EABI config BR2_ARM_EABIHF bool "EABIhf" - depends on BR2_ARM_CPU_HAS_VFPV2 + depends on BR2_ARM_CPU_HAS_FPU help The EABIhf is an extension of EABI which supports the 'hard' floating point model. This model uses the floating point @@ -512,10 +565,12 @@ endchoice choice prompt "Floating point strategy" default BR2_ARM_FPU_FP_ARMV8 if BR2_ARM_CPU_HAS_FP_ARMV8 + default BR2_ARM_FPU_FPV5D16 if BR2_ARM_CPU_HAS_FPV5 + default BR2_ARM_FPU_FPV4D16 if BR2_ARM_CPU_HAS_FPV4 default BR2_ARM_FPU_VFPV4D16 if BR2_ARM_CPU_HAS_VFPV4 default BR2_ARM_FPU_VFPV3D16 if BR2_ARM_CPU_HAS_VFPV3 default BR2_ARM_FPU_VFPV2 if BR2_ARM_CPU_HAS_VFPV2 - default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_VFPV2 + default BR2_ARM_SOFT_FLOAT if !BR2_ARM_CPU_HAS_FPU config BR2_ARM_SOFT_FLOAT bool "Soft float" @@ -622,6 +677,38 @@ config BR2_ARM_FPU_NEON_VFPV4 example on Cortex-A5 and Cortex-A7, support for VFPv4 and NEON is optional. +config BR2_ARM_FPU_FPV4D16 + bool "FPv4-D16" + depends on BR2_ARM_CPU_HAS_FPV4 + help + This option allows to use the FPv4-SP (single precision) + floating point unit, as available in some ARMv7m processors + (Cortex-M4). + +config BR2_ARM_FPU_FPV5D16 + bool "FPv5-D16" + depends on BR2_ARM_CPU_HAS_FPV5 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + help + This option allows to use the FPv5-SP (single precision) + floating point unit, as available in some ARMv7m processors + (Cortex-M7). + + Note that if you want binary code that works on the earlier + Cortex-M4, you should instead select FPv4-D16. + +config BR2_ARM_FPU_FPV5DPD16 + bool "FPv5-DP-D16" + depends on BR2_ARM_CPU_HAS_FPV5 + select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + help + This option allows to use the FPv5-DP (double precision) + floating point unit, as available in some ARMv7m processors + (Cortex-M7). + + Note that if you want binary code that works on the earlier + Cortex-M4, you should instead select FPv4-D16. + config BR2_ARM_FPU_FP_ARMV8 bool "FP-ARMv8" depends on BR2_ARM_CPU_HAS_FP_ARMV8 @@ -716,6 +803,7 @@ config BR2_GCC_TARGET_CPU # armv7m default "cortex-m3" if BR2_cortex_m3 default "cortex-m4" if BR2_cortex_m4 + default "cortex-m7" if BR2_cortex_m7 # armv8a default "cortex-a32" if BR2_cortex_a32 default "cortex-a35" if BR2_cortex_a35 @@ -740,13 +828,18 @@ config BR2_GCC_TARGET_CPU default "thunderx2t99" if BR2_thunderx2t99 default "thunderx2t99p1" if BR2_thunderx2t99p1 default "vulcan" if BR2_vulcan + # armv8.2a + default "cortex-a55" if BR2_cortex_a55 + default "cortex-a75" if BR2_cortex_a75 + default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55 + # armv8.3a + default "saphira" if BR2_saphira config BR2_GCC_TARGET_ABI default "aapcs-linux" if BR2_arm || BR2_armeb default "lp64" if BR2_aarch64 || BR2_aarch64_be config BR2_GCC_TARGET_FPU - depends on BR2_arm || BR2_armeb default "vfp" if BR2_ARM_FPU_VFPV2 default "vfpv3" if BR2_ARM_FPU_VFPV3 default "vfpv3-d16" if BR2_ARM_FPU_VFPV3D16 @@ -754,8 +847,12 @@ config BR2_GCC_TARGET_FPU default "vfpv4-d16" if BR2_ARM_FPU_VFPV4D16 default "neon" if BR2_ARM_FPU_NEON default "neon-vfpv4" if BR2_ARM_FPU_NEON_VFPV4 + default "fpv4-sp-d16" if BR2_ARM_FPU_FPV4D16 + default "fpv5-sp-d16" if BR2_ARM_FPU_FPV5D16 + default "fpv5-d16" if BR2_ARM_FPU_FPV5DPD16 default "fp-armv8" if BR2_ARM_FPU_FP_ARMV8 default "neon-fp-armv8" if BR2_ARM_FPU_NEON_FP_ARMV8 + depends on BR2_arm || BR2_armeb config BR2_GCC_TARGET_FLOAT_ABI default "soft" if BR2_ARM_SOFT_FLOAT diff --git a/bsp/buildroot/arch/Config.in.bfin b/bsp/buildroot/arch/Config.in.bfin deleted file mode 100644 index bd9589c7..00000000 --- a/bsp/buildroot/arch/Config.in.bfin +++ /dev/null @@ -1,102 +0,0 @@ -choice - prompt "Target CPU" - depends on BR2_bfin - default BR2_bf532 - help - Specify target CPU -config BR2_bf512 - bool "bf512" -config BR2_bf514 - bool "bf514" -config BR2_bf516 - bool "bf516" -config BR2_bf518 - bool "bf518" -config BR2_bf522 - bool "bf522" -config BR2_bf523 - bool "bf523" -config BR2_bf524 - bool "bf524" -config BR2_bf525 - bool "bf525" -config BR2_bf526 - bool "bf526" -config BR2_bf527 - bool "bf527" -config BR2_bf531 - bool "bf531" -config BR2_bf532 - bool "bf532" -config BR2_bf533 - bool "bf533" -config BR2_bf534 - bool "bf534" -config BR2_bf536 - bool "bf536" -config BR2_bf537 - bool "bf537" -config BR2_bf538 - bool "bf538" -config BR2_bf539 - bool "bf539" -config BR2_bf542 - bool "bf542" -config BR2_bf544 - bool "bf544" -config BR2_bf547 - bool "bf547" -config BR2_bf548 - bool "bf548" -config BR2_bf549 - bool "bf549" -config BR2_bf561 - bool "bf561" -endchoice - -config BR2_ARCH - default "bfin" - -config BR2_ENDIAN - default "LITTLE" - -config BR2_GCC_TARGET_CPU - default bf606 if BR2_bf606 - default bf607 if BR2_bf607 - default bf608 if BR2_bf608 - default bf609 if BR2_bf609 - default bf512 if BR2_bf512 - default bf514 if BR2_bf514 - default bf516 if BR2_bf516 - default bf518 if BR2_bf518 - default bf522 if BR2_bf522 - default bf523 if BR2_bf523 - default bf524 if BR2_bf524 - default bf525 if BR2_bf525 - default bf526 if BR2_bf526 - default bf527 if BR2_bf527 - default bf531 if BR2_bf531 - default bf532 if BR2_bf532 - default bf533 if BR2_bf533 - default bf534 if BR2_bf534 - default bf536 if BR2_bf536 - default bf537 if BR2_bf537 - default bf538 if BR2_bf538 - default bf539 if BR2_bf539 - default bf542 if BR2_bf542 - default bf544 if BR2_bf544 - default bf547 if BR2_bf547 - default bf548 if BR2_bf548 - default bf549 if BR2_bf549 - default bf561 if BR2_bf561 - -config BR2_GCC_TARGET_CPU_REVISION - string "Target CPU revision" - help - Specify a target CPU revision, which will be appended to the - value of the -mcpu option. For example, if the selected CPU is - bf609, and then selected CPU revision is "0.0", then gcc will - receive the -mcpu=bf609-0.0 option. - -config BR2_READELF_ARCH_NAME - default "Analog Devices Blackfin" diff --git a/bsp/buildroot/arch/Config.in.m68k b/bsp/buildroot/arch/Config.in.m68k index c56031cb..c134df2f 100644 --- a/bsp/buildroot/arch/Config.in.m68k +++ b/bsp/buildroot/arch/Config.in.m68k @@ -15,8 +15,8 @@ config BR2_m68k_cf # coldfire variants will be added later choice prompt "Target CPU" - depends on BR2_m68k default BR2_m68k_68040 + depends on BR2_m68k help Specific CPU variant to use diff --git a/bsp/buildroot/arch/Config.in.mips b/bsp/buildroot/arch/Config.in.mips index f8e57bab..7f7aa63f 100644 --- a/bsp/buildroot/arch/Config.in.mips +++ b/bsp/buildroot/arch/Config.in.mips @@ -5,6 +5,9 @@ config BR2_MIPS_CPU_MIPS32 config BR2_MIPS_CPU_MIPS32R2 bool select BR2_MIPS_NAN_LEGACY +config BR2_MIPS_CPU_MIPS32R3 + bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS32R5 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 @@ -18,6 +21,9 @@ config BR2_MIPS_CPU_MIPS64 config BR2_MIPS_CPU_MIPS64R2 bool select BR2_MIPS_NAN_LEGACY +config BR2_MIPS_CPU_MIPS64R3 + bool + select BR2_MIPS_NAN_LEGACY config BR2_MIPS_CPU_MIPS64R5 bool select BR2_ARCH_NEEDS_GCC_AT_LEAST_5 @@ -28,14 +34,14 @@ config BR2_MIPS_CPU_MIPS64R6 choice prompt "Target Architecture Variant" - depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default BR2_mips_32 if BR2_mips || BR2_mipsel default BR2_mips_64 if BR2_mips64 || BR2_mips64el + depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el help Specific CPU variant to use - 64bit cabable: 64, 64r2, 64r5, 64r6 - non-64bit capable: 32, 32r2, 32r5, 32r6 + 64bit capable: 64, 64r2, 64r3, 64r5, 64r6 + non-64bit capable: 32, 32r2, 32r3, 32r5, 32r6 config BR2_mips_32 bool "Generic MIPS32" @@ -45,6 +51,10 @@ config BR2_mips_32r2 bool "Generic MIPS32R2" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R2 +config BR2_mips_32r3 + bool "Generic MIPS32R3" + depends on !BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS32R3 config BR2_mips_32r5 bool "Generic MIPS32R5" depends on !BR2_ARCH_IS_64 @@ -95,6 +105,10 @@ config BR2_mips_64r2 bool "Generic MIPS64R2" depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R2 +config BR2_mips_64r3 + bool "Generic MIPS64R3" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R3 config BR2_mips_64r5 bool "Generic MIPS64R5" depends on BR2_ARCH_IS_64 @@ -108,6 +122,20 @@ config BR2_mips_i6400 depends on BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS64R6 select BR2_ARCH_NEEDS_GCC_AT_LEAST_6 +config BR2_mips_octeon2 + bool "Octeon II" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R2 + help + Marvell (formerly Cavium Networks) Octeon II CN60XX + processors. +config BR2_mips_octeon3 + bool "Octeon III" + depends on BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS64R3 + help + Marvell (formerly Cavium Networks) Octeon III CN7XXX + processors. config BR2_mips_p6600 bool "P6600" depends on BR2_ARCH_IS_64 @@ -115,11 +143,10 @@ config BR2_mips_p6600 select BR2_MIPS_CPU_MIPS64R6 endchoice - choice prompt "Target ABI" - depends on BR2_mips64 || BR2_mips64el default BR2_MIPS_NABI32 + depends on BR2_mips64 || BR2_mips64el help Application Binary Interface to use @@ -136,6 +163,7 @@ endchoice config BR2_MIPS_SOFT_FLOAT bool "Use soft-float" default y + depends on !BR2_mips_octeon3 # hard-float only select BR2_SOFT_FLOAT help If your target CPU does not have a Floating Point Unit (FPU) @@ -145,11 +173,11 @@ config BR2_MIPS_SOFT_FLOAT choice prompt "FP mode" - depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT default BR2_MIPS_FP32_MODE_XX + depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT help - MIPS32 supports different FP modes (32,xx,64). Information about FP - modes can be found here: + MIPS32 supports different FP modes (32,xx,64). Information + about FP modes can be found here: https://sourceware.org/binutils/docs/as/MIPS-Options.html https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code @@ -180,8 +208,8 @@ config BR2_MIPS_NAN_2008 choice prompt "Target NaN" - depends on BR2_mips_32r5 || BR2_mips_64r5 default BR2_MIPS_ENABLE_NAN_2008 + depends on BR2_mips_32r5 || BR2_mips_64r5 help MIPS supports two different NaN encodings, legacy and 2008. Information about MIPS NaN encodings can be found here: @@ -214,6 +242,7 @@ config BR2_ENDIAN config BR2_GCC_TARGET_ARCH default "mips32" if BR2_mips_32 default "mips32r2" if BR2_mips_32r2 + default "mips32r3" if BR2_mips_32r3 default "mips32r5" if BR2_mips_32r5 default "mips32r6" if BR2_mips_32r6 default "interaptiv" if BR2_mips_interaptiv @@ -223,9 +252,12 @@ config BR2_GCC_TARGET_ARCH default "mips32r2" if BR2_mips_xburst default "mips64" if BR2_mips_64 default "mips64r2" if BR2_mips_64r2 + default "mips64r3" if BR2_mips_64r3 default "mips64r5" if BR2_mips_64r5 default "mips64r6" if BR2_mips_64r6 default "i6400" if BR2_mips_i6400 + default "octeon2" if BR2_mips_octeon2 + default "octeon3" if BR2_mips_octeon3 default "p6600" if BR2_mips_p6600 config BR2_MIPS_OABI32 diff --git a/bsp/buildroot/arch/Config.in.powerpc b/bsp/buildroot/arch/Config.in.powerpc index 09684126..7a452a63 100644 --- a/bsp/buildroot/arch/Config.in.powerpc +++ b/bsp/buildroot/arch/Config.in.powerpc @@ -71,12 +71,12 @@ config BR2_powerpc_740 depends on !BR2_ARCH_IS_64 config BR2_powerpc_7400 bool "7400" - select BR2_POWERPC_CPU_HAS_ALTIVEC depends on !BR2_ARCH_IS_64 + select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_7450 bool "7450" - select BR2_POWERPC_CPU_HAS_ALTIVEC depends on !BR2_ARCH_IS_64 + select BR2_POWERPC_CPU_HAS_ALTIVEC config BR2_powerpc_750 bool "750" depends on !BR2_ARCH_IS_64 diff --git a/bsp/buildroot/arch/Config.in.riscv b/bsp/buildroot/arch/Config.in.riscv new file mode 100644 index 00000000..097719e8 --- /dev/null +++ b/bsp/buildroot/arch/Config.in.riscv @@ -0,0 +1,127 @@ +# RISC-V CPU ISA extensions. + +config BR2_RISCV_ISA_RVI + bool + +config BR2_RISCV_ISA_RVM + bool + +config BR2_RISCV_ISA_RVA + bool + +config BR2_RISCV_ISA_RVF + bool + +config BR2_RISCV_ISA_RVD + bool + +config BR2_RISCV_ISA_RVC + bool + +choice + prompt "Target Architecture Variant" + default BR2_riscv_g + +config BR2_riscv_g + bool "General purpose (G)" + select BR2_RISCV_ISA_RVI + select BR2_RISCV_ISA_RVM + select BR2_RISCV_ISA_RVA + select BR2_RISCV_ISA_RVF + select BR2_RISCV_ISA_RVD + help + General purpose (G) is equivalent to IMAFD. + +config BR2_riscv_custom + bool "Custom architecture" + select BR2_RISCV_ISA_RVI + select BR2_RISCV_ISA_CUSTOM_RVA + +endchoice + +if BR2_riscv_custom + +comment "Instruction Set Extensions" + +config BR2_RISCV_ISA_CUSTOM_RVM + bool "Integer Multiplication and Division (M)" + select BR2_RISCV_ISA_RVM + +config BR2_RISCV_ISA_CUSTOM_RVA + bool "Atomic Instructions (A)" + select BR2_RISCV_ISA_RVA + +config BR2_RISCV_ISA_CUSTOM_RVF + bool "Single-precision Floating-point (F)" + select BR2_RISCV_ISA_RVF + +config BR2_RISCV_ISA_CUSTOM_RVD + bool "Double-precision Floating-point (D)" + depends on BR2_RISCV_ISA_RVF + select BR2_RISCV_ISA_RVD + +config BR2_RISCV_ISA_CUSTOM_RVC + bool "Compressed Instructions (C)" + select BR2_RISCV_ISA_RVC +endif + +choice + prompt "Target Architecture Size" + default BR2_RISCV_64 + +config BR2_RISCV_32 + bool "32-bit" + +config BR2_RISCV_64 + bool "64-bit" + select BR2_ARCH_IS_64 + +endchoice + +choice + prompt "Target ABI" + default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64 + default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_ILP32 + bool "ilp32" + depends on !BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_ILP32F + bool "ilp32f" + depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + +config BR2_RISCV_ABI_ILP32D + bool "ilp32d" + depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD + +config BR2_RISCV_ABI_LP64 + bool "lp64" + depends on BR2_ARCH_IS_64 + +config BR2_RISCV_ABI_LP64F + bool "lp64f" + depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF + +config BR2_RISCV_ABI_LP64D + bool "lp64d" + depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD +endchoice + +config BR2_ARCH + default "riscv32" if !BR2_ARCH_IS_64 + default "riscv64" if BR2_ARCH_IS_64 + +config BR2_ENDIAN + default "LITTLE" + +config BR2_GCC_TARGET_ABI + default "ilp32" if BR2_RISCV_ABI_ILP32 + default "ilp32f" if BR2_RISCV_ABI_ILP32F + default "ilp32d" if BR2_RISCV_ABI_ILP32D + default "lp64" if BR2_RISCV_ABI_LP64 + default "lp64f" if BR2_RISCV_ABI_LP64F + default "lp64d" if BR2_RISCV_ABI_LP64D + +config BR2_READELF_ARCH_NAME + default "RISC-V" diff --git a/bsp/buildroot/arch/Config.in.sh b/bsp/buildroot/arch/Config.in.sh index deb7244f..1cb2db90 100644 --- a/bsp/buildroot/arch/Config.in.sh +++ b/bsp/buildroot/arch/Config.in.sh @@ -1,7 +1,7 @@ choice prompt "Target Architecture Variant" - depends on BR2_sh default BR2_sh4 + depends on BR2_sh help Specific CPU variant to use diff --git a/bsp/buildroot/arch/Config.in.sparc b/bsp/buildroot/arch/Config.in.sparc index 9b6a6aa2..b22b5514 100644 --- a/bsp/buildroot/arch/Config.in.sparc +++ b/bsp/buildroot/arch/Config.in.sparc @@ -1,8 +1,8 @@ choice prompt "Target Architecture Variant" - depends on BR2_sparc || BR2_sparc64 default BR2_sparc_v8 if BR2_sparc default BR2_sparc_v9 if BR2_sparc64 + depends on BR2_sparc || BR2_sparc64 help Specific CPU variant to use diff --git a/bsp/buildroot/arch/Config.in.x86 b/bsp/buildroot/arch/Config.in.x86 index 8e623b3c..f7c53a0f 100644 --- a/bsp/buildroot/arch/Config.in.x86 +++ b/bsp/buildroot/arch/Config.in.x86 @@ -20,8 +20,8 @@ config BR2_X86_CPU_HAS_AVX2 choice prompt "Target Architecture Variant" - depends on BR2_i386 || BR2_x86_64 default BR2_x86_i586 if BR2_i386 + depends on BR2_i386 || BR2_x86_64 help Specific CPU variant to use @@ -50,35 +50,35 @@ config BR2_x86_pentiumpro depends on !BR2_x86_64 config BR2_x86_pentium_mmx bool "pentium MMX" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_pentium_m bool "pentium mobile" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 config BR2_x86_pentium2 bool "pentium2" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_pentium3 bool "pentium3" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 config BR2_x86_pentium4 bool "pentium4" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 - depends on !BR2_x86_64 config BR2_x86_prescott bool "prescott" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE select BR2_X86_CPU_HAS_SSE2 select BR2_X86_CPU_HAS_SSE3 - depends on !BR2_x86_64 config BR2_x86_nocona bool "nocona" select BR2_X86_CPU_HAS_MMX @@ -140,21 +140,21 @@ config BR2_x86_silvermont select BR2_X86_CPU_HAS_SSE42 config BR2_x86_k6 bool "k6" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_k6_2 bool "k6-2" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_athlon bool "athlon" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_athlon_4 bool "athlon-4" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 config BR2_x86_opteron bool "opteron" select BR2_X86_CPU_HAS_MMX @@ -198,21 +198,21 @@ config BR2_x86_geode depends on !BR2_x86_64 config BR2_x86_c3 bool "Via/Cyrix C3 (Samuel/Ezra cores)" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_c32 bool "Via C3-2 (Nehemiah cores)" + depends on !BR2_x86_64 select BR2_X86_CPU_HAS_MMX select BR2_X86_CPU_HAS_SSE - depends on !BR2_x86_64 config BR2_x86_winchip_c6 bool "IDT Winchip C6" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX config BR2_x86_winchip2 bool "IDT Winchip 2" - select BR2_X86_CPU_HAS_MMX depends on !BR2_x86_64 + select BR2_X86_CPU_HAS_MMX endchoice config BR2_ARCH diff --git a/bsp/buildroot/arch/Config.in.xtensa b/bsp/buildroot/arch/Config.in.xtensa index 5d5bcb48..14049480 100644 --- a/bsp/buildroot/arch/Config.in.xtensa +++ b/bsp/buildroot/arch/Config.in.xtensa @@ -1,15 +1,15 @@ choice prompt "Target Architecture Variant" - depends on BR2_xtensa default BR2_xtensa_fsf + depends on BR2_xtensa config BR2_XTENSA_CUSTOM - select BR2_ARCH_HAS_MMU_OPTIONAL bool "Custom Xtensa processor configuration" + select BR2_ARCH_HAS_MMU_OPTIONAL config BR2_xtensa_fsf - select BR2_ARCH_HAS_MMU_MANDATORY bool "fsf - Default configuration" + select BR2_ARCH_HAS_MMU_MANDATORY endchoice @@ -20,18 +20,18 @@ config BR2_XTENSA_OVERLAY_FILE Enter the path to the overlay tarball for a custom processor configuration. - These overlay files are tar packages with updated configuration - files for various toolchain packages and Xtensa processor - configurations. They are provided by the processor vendor or - directly from Tensilica. + These overlay files are tar packages with updated + configuration files for various toolchain packages and Xtensa + processor configurations. They are provided by the processor + vendor or directly from Tensilica. - The path can be either absolute, or relative to the top directory - of buildroot. + The path can be either absolute, or relative to the top + directory of buildroot. choice prompt "Target Architecture Endianness" - depends on BR2_XTENSA_CUSTOM default BR2_XTENSA_LITTLE_ENDIAN + depends on BR2_XTENSA_CUSTOM config BR2_XTENSA_LITTLE_ENDIAN bool "Little endian" diff --git a/bsp/buildroot/arch/arch.mk b/bsp/buildroot/arch/arch.mk new file mode 100644 index 00000000..289c5a11 --- /dev/null +++ b/bsp/buildroot/arch/arch.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# Architecture-specific definitions +# +################################################################################ + +# Allow GCC target configuration settings to be optionally +# overwritten by architecture specific makefiles. + +# Makefiles must use the GCC_TARGET_* variables below instead +# of the BR2_GCC_TARGET_* versions. +GCC_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) +GCC_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI)) +GCC_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN)) +GCC_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)) +GCC_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU)) +GCC_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU)) +GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE)) + +# Include any architecture specific makefiles. +-include $(sort $(wildcard arch/arch.mk.*)) diff --git a/bsp/buildroot/arch/arch.mk.riscv b/bsp/buildroot/arch/arch.mk.riscv new file mode 100644 index 00000000..f3bf2b34 --- /dev/null +++ b/bsp/buildroot/arch/arch.mk.riscv @@ -0,0 +1,30 @@ +# +# Configure the GCC_TARGET_ARCH variable and append the +# appropriate RISC-V ISA extensions. +# + +ifeq ($(BR2_riscv),y) + +ifeq ($(BR2_RISCV_64),y) +GCC_TARGET_ARCH := rv64i +else +GCC_TARGET_ARCH := rv32i +endif + +ifeq ($(BR2_RISCV_ISA_RVM),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m +endif +ifeq ($(BR2_RISCV_ISA_RVA),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a +endif +ifeq ($(BR2_RISCV_ISA_RVF),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f +endif +ifeq ($(BR2_RISCV_ISA_RVD),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d +endif +ifeq ($(BR2_RISCV_ISA_RVC),y) +GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c +endif + +endif diff --git a/bsp/buildroot/arch/arch.mk.xtensa b/bsp/buildroot/arch/arch.mk.xtensa index 2b6cd26d..fd410f6b 100644 --- a/bsp/buildroot/arch/arch.mk.xtensa +++ b/bsp/buildroot/arch/arch.mk.xtensa @@ -12,7 +12,7 @@ BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE)) ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),) ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE) -ARCH_XTENSA_OVERLAY_FILE = $(DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE)) +ARCH_XTENSA_OVERLAY_FILE = $($(PKG)_DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE)) # Do not check that file, we can't know its hash BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL)) else diff --git a/bsp/buildroot/board/pc/genimage-efi.cfg b/bsp/buildroot/board/aarch64-efi/genimage-efi.cfg similarity index 85% rename from bsp/buildroot/board/pc/genimage-efi.cfg rename to bsp/buildroot/board/aarch64-efi/genimage-efi.cfg index ec96d73d..f93ab9d6 100644 --- a/bsp/buildroot/board/pc/genimage-efi.cfg +++ b/bsp/buildroot/board/aarch64-efi/genimage-efi.cfg @@ -6,11 +6,11 @@ image efi-part.vfat { file EFI { image = "efi-part/EFI" } - file bzImage { - image = "bzImage" + file Image { + image = "Image" } } - size = 16M + size = 32M } image disk.img { @@ -27,5 +27,4 @@ image disk.img { partition-type = 0x83 image = "rootfs.ext2" } - } diff --git a/bsp/buildroot/board/aarch64-efi/grub.cfg b/bsp/buildroot/board/aarch64-efi/grub.cfg new file mode 100644 index 00000000..ab88da91 --- /dev/null +++ b/bsp/buildroot/board/aarch64-efi/grub.cfg @@ -0,0 +1,6 @@ +set default="0" +set timeout="5" + +menuentry "Buildroot" { + linux /Image root=/dev/vda2 rootwait console=ttyAMA0 +} diff --git a/bsp/buildroot/board/aarch64-efi/post-image.sh b/bsp/buildroot/board/aarch64-efi/post-image.sh new file mode 100755 index 00000000..f0214dc8 --- /dev/null +++ b/bsp/buildroot/board/aarch64-efi/post-image.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg diff --git a/bsp/buildroot/board/aarch64-efi/readme.txt b/bsp/buildroot/board/aarch64-efi/readme.txt new file mode 100644 index 00000000..65a6345b --- /dev/null +++ b/bsp/buildroot/board/aarch64-efi/readme.txt @@ -0,0 +1,34 @@ + +The aarch64_efi_defconfig allows to build a minimal Linux system that +can boot on all AArch64 servers providing an EFI firmware and ACPI. + +Building and booting +==================== + +$ make aarch64_efi_defconfig +$ make + +The file output/images/disk.img is a complete disk image that can be +booted, it includes the grub2 bootloader, Linux kernel and root +filesystem. + +Testing under Qemu +================== + +This image can also be tested using Qemu: + +qemu-system-aarch64 \ + -M virt \ + -cpu cortex-a57 \ + -m 512 \ + -nographic \ + -bios \ + -drive file=output/images/disk.img,if=none,format=raw,id=hd0 \ + -device virtio-blk-device,drive=hd0 \ + -netdev user,id=eth0 \ + -device virtio-net-device,netdev=eth0 + +Note that needs to point to a valid aarch64 UEFI +firmware image for qemu. +It may be provided by your distribution as a edk2-aarch64 or AAVMF +package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd . diff --git a/bsp/buildroot/board/amarula/a64-relic/extlinux.conf b/bsp/buildroot/board/amarula/a64-relic/extlinux.conf new file mode 100644 index 00000000..9f469846 --- /dev/null +++ b/bsp/buildroot/board/amarula/a64-relic/extlinux.conf @@ -0,0 +1,4 @@ +label linux-4.17.0-rc3 + kernel /Image + devicetree /sun50i-a64-amarula-relic.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p4 rootwait diff --git a/bsp/buildroot/board/amarula/a64-relic/genimage.cfg b/bsp/buildroot/board/amarula/a64-relic/genimage.cfg new file mode 100644 index 00000000..002b6bb4 --- /dev/null +++ b/bsp/buildroot/board/amarula/a64-relic/genimage.cfg @@ -0,0 +1,10 @@ +image boot.vfat { + vfat { + files = { + "Image", + "sun50i-a64-amarula-relic.dtb", + "extlinux" + } + } + size = 64M +} diff --git a/bsp/buildroot/board/amarula/a64-relic/post-build.sh b/bsp/buildroot/board/amarula/a64-relic/post-build.sh new file mode 100755 index 00000000..ec20fca7 --- /dev/null +++ b/bsp/buildroot/board/amarula/a64-relic/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/amarula/a64-relic/readme.txt b/bsp/buildroot/board/amarula/a64-relic/readme.txt new file mode 100644 index 00000000..77f79e30 --- /dev/null +++ b/bsp/buildroot/board/amarula/a64-relic/readme.txt @@ -0,0 +1,90 @@ +Amarula A64 Relic +================ + +Amarula A64-Relic is an Allwinner A64 based IoT device, which supports: +- Allwinner A64 Cortex-A53 +- Mali-400MP2 GPU +- AXP803 PMIC +- 1GB DDR3 RAM +- 8GB eMMC +- AP6330 Wifi/BLE +- MIPI-DSI +- CSI: OV5640 sensor +- USB OTG +- 12V DC power supply + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Amarual+A64-Relic + +Build +===== + + $ make amarula_a64_relic_defconfig + + $ make + +build files at output/images/: + - sunxi-spl.bin + - u-boot.itb + - Image + - sun50i-a64-amarula-relic.dtb + - boot.vfat + - rootfs.ext4 + +Write eMMC +========= + +The board comes with an operating system preloaded on the eMMC. +To replace it with the Buildroot-built system, take the following +steps + +1. Connect the board UART with host and open minicom(ttyUSBx/115200N8) + +2. Supply 12V DC for power-on the board. + +3. Interrupt U-Boot by pressing enter + +4. Create GPT partitions + => mmc dev 1 + => gpt write mmc 1 $partitions + +5. Connect the board USB-OTG with USB slot on the host. + +6. Initiate fastboot + => fastboot 0 + +7. Write images from host onto eMMC using fastboot + $ cd output/images + $ sudo fastboot -i 0x1f3a flash loader1 sunxi-spl.bin + $ sudo fastboot -i 0x1f3a flash loader2 u-boot.itb + $ sudo fastboot -i 0x1f3a flash esp boot.vfat + $ sudo fastboot -i 0x1f3a flash system rootfs.ext4 + +Update eMMC during Development +============================== + +During development, reflashing the entire filesystem image at every +change is time consuming. A useful alternative is to directly access +over USB the filesystem stored on the eMMC, using the USB Mass Storage +capability of U-Boot. To achieve this: + +1. Build U-Boot by enabling UMS + $ make uboot-menuconfig + (select CONFIG_CMD_USB_MASS_STORAGE=y) + +2. Follow all 6 steps from 'Write eMMC' and mount eMMC on host + => mmc dev 1 + => ums 0 mmc 1 + +WiFi +==== + + # wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf + (type password and enter) + # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B + # udhcpc -i wlan0 + # ping google.com + +-- +Jagan Teki +29-Jun-2018 diff --git a/bsp/buildroot/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt b/bsp/buildroot/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt new file mode 100644 index 00000000..d095f24c --- /dev/null +++ b/bsp/buildroot/board/amarula/a64-relic/rootfs_overlay/lib/firmware/brcm/brcmfmac4330-sdio.txt @@ -0,0 +1,83 @@ +#AP6330_NVRAM_V1.0_20121130 +#Sample variables file for BCM94330 SD FC AGB board +manfid=0x2d0 +prodid=0x0547 +vendid=0x14e4 +devid=0x4360 +boardtype=0x05e1 +boardrev=0x1202 +boardflags=0x0080200 +nocrc=1 +xtalfreq=26000 +boardnum=22 +macaddr=00:90:4c:c5:12:38 +ag0=254 +aa2g=1 +ccode=ALL +pa0itssit=0x20 +pa0b0=5587 +pa0b1=-633 +pa0b2=-158 +rssismf2g=0xa +rssismc2g=0x3 +rssisav2g=0x7 +#rssi params for 5GHz +rssismf5g=0x4 +rssismc5g=0x3 +rssisav5g=0x7 +#PA parameters for lower a-band +pa1lob0=4748 +pa1lob1=-566 +pa1lob2=-180 +#PA parameters for midband +pa1b0=4762 +pa1b1=-593 +pa1b2=-172 +#PA parameters for high band +#pa1hib0=4596 +pa1hib0=4666 +pa1hib1=-619 +pa1hib2=-163 +rxpo5g=0 +maxp2ga0=74 +maxp5ga0=66 +maxp5gla0=66 +maxp5gha0=66 +# 2.4G Tx Power offsets +cck2gpo=0x2222 +ofdm2gpo=0x44444444 +mcs2gpo0=0x6666 +mcs2gpo1=0x6666 +# 5G Tx Power offsets +ofdm5gpo=0x44444444 +ofdm5glpo=0x44444444 +ofdm5ghpo=0x44444444 +mcs5gpo0=0x6666 +mcs5gpo1=0x6666 +mcs5glpo0=0x6666 +mcs5glpo1=0x6666 +mcs5ghpo0=0x6666 +mcs5ghpo1=0x6666 +sromrev=3 +il0macaddr=00:90:4c:c5:12:38 +wl0id=0x431b +cckPwrOffset=4 +swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff +triso5g=0 +swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0 +rfreg033=0x19 +rfreg033_cck=0x1f +dacrate2g=160 +dacrate5g=160 +txalpfbyp2g=1 +bphyscale=17 +cckPwrIdxCorr=-15 +pacalidx2g=50 +#pacalidx5g=20 +noise_cal_ref_2g=53 +noise_cal_po_2g=0 +noise_cal_ref_5g=52 +noise_cal_po_5g=5,0,0 +# 4330 OOB parameter: High level trigger +muxenab=0x10 + diff --git a/bsp/buildroot/board/amarula/vyasa/extlinux.conf b/bsp/buildroot/board/amarula/vyasa/extlinux.conf new file mode 100644 index 00000000..a8fcc35f --- /dev/null +++ b/bsp/buildroot/board/amarula/vyasa/extlinux.conf @@ -0,0 +1,4 @@ +label Vyasa linux-next + kernel /boot/uImage + devicetree /boot/rk3288-vyasa.dtb + append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/bsp/buildroot/board/amarula/vyasa/genimage.cfg b/bsp/buildroot/board/amarula/vyasa/genimage.cfg new file mode 100644 index 00000000..e7076679 --- /dev/null +++ b/bsp/buildroot/board/amarula/vyasa/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-tpl-spl-dtb { + in-partition-table = "no" + image = "u-boot-tpl-spl-dtb.img" + offset = 32K + } + + partition u-boot-dtb { + in-partition-table = "no" + image = "u-boot-dtb.img" + offset = 8M + size = 30M # falcon mode: args @ 16M args, uImage @ 17M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment b/bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment new file mode 100644 index 00000000..8ebf3835 --- /dev/null +++ b/bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment @@ -0,0 +1,3 @@ +# Currently mainline kernel exhibits issues when running rockchip gmac +# on the board, so enable it as loadable module and insert it later +CONFIG_DWMAC_ROCKCHIP=m diff --git a/bsp/buildroot/board/amarula/vyasa/post-build.sh b/bsp/buildroot/board/amarula/vyasa/post-build.sh new file mode 100755 index 00000000..ffbbcdeb --- /dev/null +++ b/bsp/buildroot/board/amarula/vyasa/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname $0)" + +$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img +cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/amarula/vyasa/readme.txt b/bsp/buildroot/board/amarula/vyasa/readme.txt new file mode 100644 index 00000000..b95889e8 --- /dev/null +++ b/bsp/buildroot/board/amarula/vyasa/readme.txt @@ -0,0 +1,31 @@ +Vyasa RK3288 +============ + +Vyasa is RK3288 based Single board computer with fully supported opensource software. + +https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288 + +How to build it +=============== + + $ make amarula_vyasa_rk3288_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Prepare your SDCard +=================== + +Buildroot generates a ready-to-use SD card image that you can flash directly to +the card. The image will be in output/images/sdcard.img. +You can write this image directly to an SD card device (i.e. /dev/xxx): + + $ sudo dd if=output/images/sdcard.img of=/dev/xxx + $ sudo sync + +Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it. diff --git a/bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh b/bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh new file mode 100755 index 00000000..ccfacd38 --- /dev/null +++ b/bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +MKIMAGE=${HOST_DIR}/usr/bin/mkimage +MKIMAGE_IN=${BINARIES_DIR}/br2-ucls1012a.its +MKIMAGE_OUT=${BINARIES_DIR}/part0-000000.itb +${MKIMAGE} -f ${MKIMAGE_IN} ${MKIMAGE_OUT} diff --git a/bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt b/bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt new file mode 100644 index 00000000..483d5e9a --- /dev/null +++ b/bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt @@ -0,0 +1,74 @@ +Arcturus uCLS1012A SoM +====================== + +This tutorial describes how to use the predefined Buildroot +configuration for the Arcturus uCLS101A SoM platform. + +Additional information about the uCLS1012A System on Module can be found at +https://www.arcturusnetworks.com/products/ucls1012a +and product support for registered users at +https://www.arcturusnetworks.com/support + +Building +-------- + +Return to the top directory and execute the following commands. + + make arcturus_ucls1012a_defconfig + make + +Result of the build +------------------- + +After building, you should obtain this tree: + + output/images/ + +-- arc-ucls1012a.dtb + +-- Image + +-- part0-000000.itb + +-- rootfs.cpio + +-- rootfs.cpio.gz + +-- rootfs.tar + +-- u-boot.bin + +-- ucls1012a.its + +Flashing +-------- + +You'll need to program the image created by buildroot into the SPI NOR flash. + +1. Reboot your module and via the serial console press to enter the B$ +u-boot shell. + From the shell you will need to update four environment variables replacing the + IPv4 IP Address with ones that will work with your network and tftp server. + + B$ setenv ipaddr 192.168.1.81 + B$ setenv serverip 192.168.1.80 + B$ setenv gatewayip 192.168.1.1 + B$ setenv netmask 255.255.255.0 + B$ saveenv + +2. Enable tftp server to serve the /output/images/ folder. + +3. Program the new U-Boot binary (optional) + If you don't feel confident upgrading your bootloader then don't do it, + it's unnecessary most of the time. + + B$ tftp u-boot.bin + B$ run program_uboot + +4. Program the ITB image (includes Kernel, DTB and Ramdisk) + + B$ tftp part0-000000.itb + B$ run iprogram + +5. Booting your new system + + Reboot your system by reset command + B$ reset + + or + + B$ run bootcmd + +Good Luck ! diff --git a/bsp/buildroot/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload b/bsp/buildroot/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload new file mode 100755 index 00000000..c87ffda1 --- /dev/null +++ b/bsp/buildroot/board/arcturus/aarch64-ucls1012a/rootfs_overlay/etc/init.d/S09modload @@ -0,0 +1,14 @@ +#!/bin/sh +# +case "$1" in + start) + modprobe pfe + ;; + stop) + ;; + restart|reload) + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/bsp/buildroot/board/asus/tinker/extlinux.conf b/bsp/buildroot/board/asus/tinker/extlinux.conf new file mode 100644 index 00000000..136af0de --- /dev/null +++ b/bsp/buildroot/board/asus/tinker/extlinux.conf @@ -0,0 +1,4 @@ +label Tinker linux-next + kernel /boot/uImage + devicetree /boot/rk3288-tinker.dtb + append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/bsp/buildroot/board/asus/tinker/genimage.cfg b/bsp/buildroot/board/asus/tinker/genimage.cfg new file mode 100644 index 00000000..a4b1e8d6 --- /dev/null +++ b/bsp/buildroot/board/asus/tinker/genimage.cfg @@ -0,0 +1,15 @@ +image sdcard.img { + hdimage { + } + + partition u-boot-spl-dtb { + in-partition-table = "no" + image = "u-boot-spl-dtb.img" + offset = 32K + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/asus/tinker/post-build.sh b/bsp/buildroot/board/asus/tinker/post-build.sh new file mode 100755 index 00000000..8108ed83 --- /dev/null +++ b/bsp/buildroot/board/asus/tinker/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname $0)" + +$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img +cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/asus/tinker/readme.txt b/bsp/buildroot/board/asus/tinker/readme.txt new file mode 100644 index 00000000..7372d295 --- /dev/null +++ b/bsp/buildroot/board/asus/tinker/readme.txt @@ -0,0 +1,37 @@ +Tinker RK3288 +============= + +Tinker Board is a Single Board Computer (SBC) in an ultra-small form +factor that offers class-leading performance while leveraging outstanding +mechanical compatibility. + +Tinker link: +https://www.asus.com/in/Single-Board-Computer/Tinker-Board/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288 + +How to build it +=============== + + $ make asus_tinker_rk3288_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Prepare your SDCard +=================== + +Buildroot generates a ready-to-use SD card image that you can flash directly to +the card. The image will be in output/images/sdcard.img. +You can write this image directly to an SD card device (i.e. /dev/xxx): + + $ sudo dd if=output/images/sdcard.img of=/dev/xxx + $ sudo sync + +Finally, you can insert the SD card to the Tinker RK3288 board and boot it. diff --git a/bsp/buildroot/board/atmel/flasher.sh b/bsp/buildroot/board/atmel/flasher.sh index c1227609..a7409ce8 100755 --- a/bsp/buildroot/board/atmel/flasher.sh +++ b/bsp/buildroot/board/atmel/flasher.sh @@ -4,6 +4,10 @@ BUILDIR=$1 TTY=$2 BOARD=$3 +family_at91sam9260ek="at91sam9260ek" +mach_at91sam9260ek="at91sam9260-ek" +dtb_at91sam9260ek="at91sam9260ek.dtb" + family_at91sam9g45m10ek="at91sam9m10g45ek" mach_at91sam9g45m10ek="at91sam9m10-g45-ek" dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb" @@ -16,6 +20,10 @@ family_at91sam9g15ek="at91sam9x5ek" mach_at91sam9g15ek="at91sam9g15-ek" dtb_at91sam9g15ek="at91sam9g15ek.dtb" +family_at91sam9g20ek="at91sam9g20ek" +mach_at91sam9g20ek="at91sam9g20-ek" +dtb_at91sam9g20ek="at91sam9g20ek.dtb" + family_at91sam9g25ek="at91sam9x5ek" mach_at91sam9g25ek="at91sam9g25-ek" dtb_at91sam9g25ek="at91sam9g25ek.dtb" @@ -90,9 +98,11 @@ Usage: $0 Available boards: + at91sam9260ek at91sam9g45m10ek at91sam9rlek at91sam9g15ek + at91sam9g20ek at91sam9g25ek at91sam9x25ek at91sam9g35ek diff --git a/bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd b/bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd new file mode 100644 index 00000000..9c24eabf --- /dev/null +++ b/bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd @@ -0,0 +1,7 @@ +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait + +mmc dev 0 +fatload mmc 0 $kernel_addr_r zImage +fatload mmc 0 $fdt_addr_r sun8i-r40-bananapi-m2-ultra.dtb + +bootz $kernel_addr_r - $fdt_addr_r diff --git a/bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg b/bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg new file mode 100644 index 00000000..675253af --- /dev/null +++ b/bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "zImage", + "sun8i-r40-bananapi-m2-ultra.dtb", + "boot.scr" + } + } + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8192 + size = 1040384 # 1MB - 8192 + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt b/bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt new file mode 100644 index 00000000..c3de84f5 --- /dev/null +++ b/bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt @@ -0,0 +1,35 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Bananapi M2 ULtra. With the current +configuration it will bring-up the board, and allow access through the +serial console. + +Bananapi M2 Ultra link: +http://www.banana-pi.org/m2u.html + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make bananapi_m2_ultra_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Bananapi M2 Ultra and power it up. The console +is on the serial line, 115200 8N1. diff --git a/bsp/buildroot/board/beaglebone/uEnv.txt b/bsp/buildroot/board/beaglebone/uEnv.txt index 70b3b721..a665f208 100644 --- a/bsp/buildroot/board/beaglebone/uEnv.txt +++ b/bsp/buildroot/board/beaglebone/uEnv.txt @@ -1,4 +1,8 @@ bootpart=0:1 +devtype=mmc bootdir= -bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait -uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr}; +bootfile=zImage +bootpartition=mmcblk0p2 +set_mmc1=if test $board_name = A33515BB; then setenv bootpartition mmcblk1p2; fi +set_bootargs=setenv bootargs console=ttyO0,115200n8 root=/dev/${bootpartition} rw rootfstype=ext4 rootwait +uenvcmd=run set_mmc1; run set_bootargs;run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr} diff --git a/bsp/buildroot/board/boundarydevices/common/6x_bootscript.txt b/bsp/buildroot/board/boundarydevices/common/6x_bootscript.txt deleted file mode 100644 index af5822a8..00000000 --- a/bsp/buildroot/board/boundarydevices/common/6x_bootscript.txt +++ /dev/null @@ -1,131 +0,0 @@ -setenv bootargs '' - -if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then - a_script=0x80800000 - a_zImage=0x80800000 - a_fdt=0x83000000 - m4='' - if itest.s "x1" == "x$m4enabled" ; then - run m4boot; - m4='-m4'; - fi -else - a_script=0x10800000 - a_zImage=0x10800000 - a_fdt=0x13000000 -fi - -setenv initrd_high 0xffffffff -if itest.s "x" == "x${dtbname}" ; then - if itest.s x6SOLO == "x${cpu}" ; then - dtbname=imx6dl-${board}.dtb; - elif itest.s x6DL == "x${cpu}" ; then - dtbname=imx6dl-${board}.dtb; - elif itest.s x6QP == "x${cpu}" ; then - dtbname=imx6qp-${board}.dtb; - elif itest.s x6SX == "x${cpu}" ; then - dtbname=imx6sx-${board}${m4}.dtb; - elif itest.s x7D == "x${cpu}" ; then - dtbname=imx7d-${board}${m4}.dtb; - else - dtbname=imx6q-${board}.dtb; - fi -fi - -if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then - env import -t ${a_script} ${filesize} -fi - -if itest.s x == x${bootdir} ; then - bootdir=/boot/ -fi - -if itest.s x${bootpart} == x ; then - bootpart=1 -fi - -if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then - fdt addr ${a_fdt} - setenv fdt_high 0xffffffff -else - echo "!!!! Error loading ${bootdir}${dtbname}"; - exit; -fi - -cmd_xxx_present= -fdt resize -if itest.s "x" != "x${cmd_custom}" ; then - run cmd_custom - cmd_xxx_present=1; -fi - -if itest.s "x" != "x${cmd_hdmi}" ; then - run cmd_hdmi - cmd_xxx_present=1; - if itest.s x == x${allow_noncea} ; then - setenv bootargs ${bootargs} mxc_hdmi.only_cea=1; - echo "only CEA modes allowed on HDMI port"; - else - setenv bootargs ${bootargs} mxc_hdmi.only_cea=0; - echo "non-CEA modes allowed on HDMI, audio may be affected"; - fi -fi - -if itest.s "x" != "x${cmd_lcd}" ; then - run cmd_lcd - cmd_xxx_present=1; -fi -if itest.s "x" != "x${cmd_lvds}" ; then - run cmd_lvds - cmd_xxx_present=1; -fi -if itest.s "x" != "x${cmd_lvds2}" ; then - run cmd_lvds2 - cmd_xxx_present=1; -fi - -if itest.s "x" == "x${cmd_xxx_present}" ; then - echo "!!!!!!!!!!!!!!!!" - echo "warning: your u-boot may be outdated, please upgrade" - echo "!!!!!!!!!!!!!!!!" -fi - -setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc" - -if test "sata" = "${dtype}" ; then - setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ; -elif test "usb" = "${dtype}" ; then - setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ; -else - setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}" -fi - -if itest.s "x" != "x${disable_giga}" ; then - setenv bootargs ${bootargs} fec.disable_giga=1 -fi - -if itest.s "x" != "x${wlmac}" ; then - setenv bootargs ${bootargs} wlcore.mac=${wlmac} - setenv bootargs ${bootargs} wlan.mac=${wlmac} -fi - -if itest.s "x" != "x${gpumem}" ; then - setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem} -fi - -if itest.s "x" != "x${cma}" ; then - setenv bootargs ${bootargs} cma=${cma} -fi - -if itest.s "x" != "x${show_fdt}" ; then - fdt print / -fi - -if itest.s "x" != "x${show_env}" ; then - printenv -fi - -if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}/zImage ; then - bootz ${a_zImage} - ${a_fdt} -fi -echo "Error loading kernel image" diff --git a/bsp/buildroot/board/boundarydevices/common/6x_upgrade.txt b/bsp/buildroot/board/boundarydevices/common/6x_upgrade.txt deleted file mode 100644 index e012ff97..00000000 --- a/bsp/buildroot/board/boundarydevices/common/6x_upgrade.txt +++ /dev/null @@ -1,69 +0,0 @@ -if itest.s a$uboot_defconfig == a; then - echo "Please set uboot_defconfig to the appropriate value" - exit -fi - -offset=0x400 -a_uImage1=0x12000000 -a_uImage2=0x12400000 - -if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then - a_uImage1=0x82000000 - a_uImage2=0x82400000 -fi - -setenv stdout serial,vga -echo "check U-Boot" ; - -if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then -else - echo "No U-Boot image found on SD card" ; - exit -fi -echo "read $filesize bytes from SD card" ; -if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then - echo "probed SPI ROM" ; -else - echo "Error initializing EEPROM" ; - exit -fi ; -if sf read ${a_uImage2} $offset $filesize ; then -else - echo "Error reading boot loader from EEPROM" ; - exit -fi -if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then - echo "------- U-Boot versions match" ; - exit -fi -echo "Need U-Boot upgrade" ; -echo "Program in 5 seconds" ; -for n in 5 4 3 2 1 ; do - echo $n ; - sleep 1 ; -done -echo "erasing" ; -sf erase 0 0xC0000 ; - -# two steps to prevent bricking -echo "programming" ; -setexpr a1 ${a_uImage1} + 0x400 -setexpr o1 ${offset} + 0x400 -setexpr s1 ${filesize} - 0x400 -sf write ${a1} ${o1} ${s1} ; -sf write ${a_uImage1} $offset 0x400 ; - -echo "verifying" ; -if sf read ${a_uImage2} $offset $filesize ; then -else - echo "Error re-reading EEPROM" ; - exit -fi -if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then -else - echo "Read verification error" ; - exit -fi -while echo "---- U-Boot upgraded. reset" ; do - sleep 120 -done diff --git a/bsp/buildroot/board/boundarydevices/common/boot.cmd b/bsp/buildroot/board/boundarydevices/common/boot.cmd index 7602b013..760363da 100644 --- a/bsp/buildroot/board/boundarydevices/common/boot.cmd +++ b/bsp/buildroot/board/boundarydevices/common/boot.cmd @@ -2,6 +2,8 @@ setenv bootargs '' setenv initrd_high 0xffffffff m4='' +kernelimage=zImage +bootcommand=bootz a_base=0x10000000 if itest.s x51 == "x${imx_cpu}" ; then a_base=0x90000000 @@ -9,10 +11,14 @@ elif itest.s x53 == "x${imx_cpu}"; then a_base=0x70000000 elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then a_base=0x80000000 - if itest.s "x1" == "x$m4enabled" ; then - run m4boot; - m4='-m4'; - fi +elif itest.s x8MQ == "x${imx_cpu}"; then + a_base=0x40000000 + kernelimage=Image + bootcommand=booti +fi +if itest.s "x1" == "x${m4enabled}" ; then + run m4boot; + m4='-m4'; fi setexpr a_script ${a_base} + 0x00800000 @@ -39,10 +45,12 @@ if itest.s "x" == "x${fdt_file}" ; then fdt_file=imx6sx-${board}${m4}.dtb; elif itest.s x7D == "x${imx_cpu}" ; then fdt_file=imx7d-${board}${m4}.dtb; + elif itest.s x8MQ == "x${imx_cpu}" ; then + fdt_file=imx8mq-${board}${m4}.dtb; elif itest.s x51 == "x${imx_cpu}" ; then - fdt_file=imx51-${board}${m4}.dtb; + fdt_file=imx51-${board}.dtb; elif itest.s x53 == "x${imx_cpu}" ; then - fdt_file=imx53-${board}${m4}.dtb; + fdt_file=imx53-${board}.dtb; else fdt_file=imx6q-${board}.dtb; fi @@ -66,16 +74,12 @@ else exit; fi -cmd_xxx_present= fdt resize if itest.s "x" != "x${cmd_custom}" ; then run cmd_custom - cmd_xxx_present=1; fi - if itest.s "x" != "x${cmd_hdmi}" ; then run cmd_hdmi - cmd_xxx_present=1; if itest.s x == x${allow_noncea} ; then setenv bootargs ${bootargs} mxc_hdmi.only_cea=1; echo "only CEA modes allowed on HDMI port"; @@ -87,25 +91,18 @@ fi if itest.s "x" != "x${cmd_lcd}" ; then run cmd_lcd - cmd_xxx_present=1; fi if itest.s "x" != "x${cmd_lcd2}" ; then run cmd_lcd2 - cmd_xxx_present=1; fi if itest.s "x" != "x${cmd_lvds}" ; then run cmd_lvds - cmd_xxx_present=1; fi if itest.s "x" != "x${cmd_lvds2}" ; then run cmd_lvds2 - cmd_xxx_present=1; fi - -if itest.s "x" == "x${cmd_xxx_present}" ; then - echo "!!!!!!!!!!!!!!!!" - echo "warning: your u-boot may be outdated, please upgrade" - echo "!!!!!!!!!!!!!!!!" +if itest.s "x" != "x${cmd_mipi}" ; then + run cmd_mipi fi if test "sata" = "${devtype}" ; then @@ -126,7 +123,6 @@ fi if itest.s "x" != "x${wlmac}" ; then setenv bootargs ${bootargs} wlcore.mac=${wlmac} - setenv bootargs ${bootargs} wlan.mac=${wlmac} fi if itest.s "x" != "x${gpumem}" ; then @@ -149,7 +145,7 @@ if itest.s "x" != "x${show_env}" ; then printenv fi -if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}zImage ; then - bootz ${a_zImage} - ${a_fdt} +if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}${kernelimage} ; then + ${bootcommand} ${a_zImage} - ${a_fdt} fi echo "Error loading kernel image" diff --git a/bsp/buildroot/board/boundarydevices/common/post-build.sh b/bsp/buildroot/board/boundarydevices/common/post-build.sh index b8abb265..161ec064 100755 --- a/bsp/buildroot/board/boundarydevices/common/post-build.sh +++ b/bsp/buildroot/board/boundarydevices/common/post-build.sh @@ -6,20 +6,24 @@ # BOARD_DIR="$(dirname $0)" +UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/.*\"\(.*\)\"/\1/')" + +if grep -Eq "^BR2_aarch64=y$" ${BR2_CONFIG}; then + MKIMAGE_ARCH=arm64 + UBOOT_BINARY=imx8-boot-sd.bin +else + MKIMAGE_ARCH=arm + UBOOT_BINARY=u-boot.imx +fi # bd u-boot looks for standard bootscript -install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/ -# legacy 6x_bootscript script -$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ --n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript +$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \ + -n "boot script" -d $BOARD_DIR/boot.cmd $TARGET_DIR/boot/boot.scr # u-boot / update script for bd upgradeu command -if [ -e $BINARIES_DIR/u-boot.imx ]; -then - install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx - $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr - # legacy 6x_upgrade script - $HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \ - -n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade +if [ -e $BINARIES_DIR/$UBOOT_BINARY ]; then + install -D -m 0644 $BINARIES_DIR/$UBOOT_BINARY \ + $TARGET_DIR/u-boot.$UBOOT_DEFCONFIG + $HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \ + -n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr fi diff --git a/bsp/buildroot/board/boundarydevices/common/upgrade.cmd b/bsp/buildroot/board/boundarydevices/common/upgrade.cmd index 249185db..24b705eb 100644 --- a/bsp/buildroot/board/boundarydevices/common/upgrade.cmd +++ b/bsp/buildroot/board/boundarydevices/common/upgrade.cmd @@ -7,6 +7,7 @@ offset=0x400 erase_size=0xC0000 qspi_offset=0x0 a_base=0x12000000 +block_size=0x200 if itest.s x51 == "x${imx_cpu}"; then a_base=0x92000000 @@ -14,6 +15,9 @@ elif itest.s x53 == "x${imx_cpu}"; then a_base=0x72000000 elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then a_base=0x82000000 +elif itest.s x8MQ == "x${imx_cpu}"; then + a_base=0x42000000 + offset=0x8400 fi qspi_match=1 @@ -25,6 +29,54 @@ setexpr a_script ${a_base} setenv stdout serial,vga +if itest.s "x${sfname}" == "x" ; then +# U-Boot resides in (e)MMC +if itest.s "x${env_dev}" == "x" || itest.s "x${env_part}" == "x"; then + echo "Please set env_dev/part to the appropriate values" + exit +fi + +# Load bootloader binary for this board +if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then +else + echo "File u-boot.$uboot_defconfig not found on SD card" ; + exit +fi + +# Compute block count for filesize and offset +setexpr cntoffset ${offset} / ${block_size} +setexpr cntfile ${filesize} / ${block_size} +# Add 1 in case the $filesize is not a multiple of $block_size +setexpr cntfile ${cntfile} + 1 + +# Select media partition (if different from main partition) +mmc dev ${env_dev} ${env_part} + +# Read and compare current U-Boot +mmc read ${a_uImage2} ${cntoffset} ${cntfile} +if cmp.b ${a_uImage1} ${a_uImage2} ${filesize} ; then + echo "------- U-Boot versions match" ; + exit ; +fi + +echo "Need U-Boot upgrade" ; +echo "Program in 5 seconds" ; +for n in 5 4 3 2 1 ; do + echo $n ; + sleep 1 ; +done +mmc write ${a_uImage1} ${cntoffset} ${cntfile} + +# Make sure to boot from the proper partition +if itest ${env_part} != 0 ; then + mmc partconf ${env_dev} 1 ${env_part} 0 +fi + +# Switch back to main eMMC partition (to avoid confusion) +mmc dev ${env_dev} + +else +# U-Boot resides in NOR flash if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then echo "probed SPI ROM" ; else @@ -32,9 +84,13 @@ else exit fi +if itest.s "x${sfname}" == "xat45db041d" ; then + erase_size=0x7e000 +fi + if itest.s x7D == "x${imx_cpu}"; then echo "check qspi parameter block" ; - if ${fs}load ${devtype} ${devnum}:1 ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then + if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then else echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card" exit @@ -63,7 +119,7 @@ fi echo "check U-Boot" ; -if ${fs}load ${devtype} ${devnum}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then +if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then else echo "File u-boot.$uboot_defconfig not found on SD card" ; exit @@ -80,7 +136,7 @@ if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then if itest.s "${qspi_match}" == "1" ; then echo "------- upgrade not needed" ; if itest.s "x" != "x${next}" ; then - if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then + if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then source ${a_script} else echo "${next} not found on SD card" @@ -142,13 +198,14 @@ if itest.s x7D == "x${imx_cpu}"; then fi if itest.s "x" != "x${next}" ; then - if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then + if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then source ${a_script} else - echo "${next} not found on ${devtype} ${devnum}" + echo "${next} not found on ${devtype} ${devnum}:${distro_bootpart}" fi fi +fi -while echo "---- U-Boot upgraded. reset" ; do +while echo "---- U-Boot upgraded. Please reset the board" ; do sleep 120 done diff --git a/bsp/buildroot/board/chromebook/snow/linux-4.6-dts-tpm.patch b/bsp/buildroot/board/chromebook/snow/linux-4.15-dts-tpm.patch similarity index 100% rename from bsp/buildroot/board/chromebook/snow/linux-4.6-dts-tpm.patch rename to bsp/buildroot/board/chromebook/snow/linux-4.15-dts-tpm.patch diff --git a/bsp/buildroot/board/chromebook/snow/linux-4.6.fragment b/bsp/buildroot/board/chromebook/snow/linux-4.15.fragment similarity index 100% rename from bsp/buildroot/board/chromebook/snow/linux-4.6.fragment rename to bsp/buildroot/board/chromebook/snow/linux-4.15.fragment diff --git a/bsp/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch b/bsp/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch new file mode 100644 index 00000000..a6191804 --- /dev/null +++ b/bsp/buildroot/board/ci20/patches/uboot/0001-mips-Remove-default-endiannes.patch @@ -0,0 +1,66 @@ +From b3a1e97498e7987073775d49a703932c20f2df1d Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia +Date: Mon, 12 Nov 2018 14:04:46 -0300 +Subject: [PATCH] mips: Remove default endiannes + +Currently, trying to build ci20_mmc fails on little-endian +toolchains. The problem seems to be that some targets don't +have CONFIG_SYS_LITTLE_ENDIAN properly set, and therefore +the default -EB switch is selected. + +Let's get rid of the default switch entirely, and fix this problem. +While this may be a hack, it is a quick solution until +U-Boot gets CI20 proper support. + +make ARCH=mips CROSS_COMPILE=mips-linux-gnu- ci20_mmc +Configuring for ci20_mmc - Board: ci20, Options: SPL_MMC_SUPPORT,ENV_IS_IN_MMC +make +make[1]: Entering directory '/home/zeta/repos/u-boot-ci20' +Generating include/autoconf.mk +Generating include/autoconf.mk.dep +mips-linux-gnu-gcc: error: may not use both -EB and -EL +mips-linux-gnu-gcc: error: may not use both -EB and -EL +Generating include/spl-autoconf.mk +mips-linux-gnu-gcc: error: may not use both -EB and -EL +Generating include/tpl-autoconf.mk +mips-linux-gnu-gcc: error: may not use both -EB and -EL +mips-linux-gnu-gcc -DDO_DEPS_ONLY \ + -g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \ + -o lib/asm-offsets.s lib/asm-offsets.c -c -S +if [ -f arch/mips/cpu/xburst/jz4780/asm-offsets.c ];then \ + mips-linux-gnu-gcc -DDO_DEPS_ONLY \ + -g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \ + -o arch/mips/cpu/xburst/jz4780/asm-offsets.s arch/mips/cpu/xburst/jz4780/asm-offsets.c -c -S; \ +else \ + touch arch/mips/cpu/xburst/jz4780/asm-offsets.s; \ +fi +mips-linux-gnu-gcc: error: may not use both -EB and -EL +make[1]: *** [Makefile:747: lib/asm-offsets.s] Error 1 +make[1]: *** Waiting for unfinished jobs.... +make[1]: Leaving directory '/home/zeta/repos/u-boot-ci20' +make: *** [.boards.depend:463: ci20_mmc] Error 2 + +Signed-off-by: Ezequiel Garcia +--- +https://github.com/MIPS/CI20_u-boot/pull/19 + + arch/mips/config.mk | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/arch/mips/config.mk b/arch/mips/config.mk +index c89279025507..43560abbc0e1 100644 +--- a/arch/mips/config.mk ++++ b/arch/mips/config.mk +@@ -20,9 +20,6 @@ ifdef CONFIG_SYS_BIG_ENDIAN + ENDIANNESS := -EB + endif + +-# Default to EB if no endianess is configured +-ENDIANNESS ?= -EB +- + PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ + + # +-- +2.19.1 + diff --git a/bsp/buildroot/board/csky/gx6605s/patches/linux/0001-csky-update-cmdline-for-serial-console-and-rootfs-on.patch b/bsp/buildroot/board/csky/gx6605s/patches/linux/0001-csky-update-cmdline-for-serial-console-and-rootfs-on.patch new file mode 100644 index 00000000..1da1a754 --- /dev/null +++ b/bsp/buildroot/board/csky/gx6605s/patches/linux/0001-csky-update-cmdline-for-serial-console-and-rootfs-on.patch @@ -0,0 +1,25 @@ +From 7e3f2c482bc16537a093e87a27f0d465804a88e4 Mon Sep 17 00:00:00 2001 +From: Julien Olivain +Date: Tue, 11 Dec 2018 23:04:46 +0100 +Subject: [PATCH] csky: update cmdline for serial console and rootfs on sda1 + +Signed-off-by: Julien Olivain +--- + arch/csky/boot/dts/gx6605s.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/csky/boot/dts/gx6605s.dts b/arch/csky/boot/dts/gx6605s.dts +index ce56106af967..f5d60b21e6f9 100644 +--- a/arch/csky/boot/dts/gx6605s.dts ++++ b/arch/csky/boot/dts/gx6605s.dts +@@ -155,6 +155,6 @@ + }; + + chosen { +- bootargs = "console=tty0 init=/sbin/init root=/dev/sda2 rw rootwait"; ++ bootargs = "console=ttyS0,115200 init=/sbin/init root=/dev/sda1 rw rootwait"; + }; + }; +-- +2.19.2 + diff --git a/bsp/buildroot/board/digilent/zybo/post-image.sh b/bsp/buildroot/board/digilent/zybo/post-image.sh deleted file mode 100755 index 619cb901..00000000 --- a/bsp/buildroot/board/digilent/zybo/post-image.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -BOARD_DIR="$(dirname $0)" -GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" -GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -OUTPUT_DIR="${O}/images" - -rm -rf "${GENIMAGE_TMP}" - -cp board/digilent/zybo/uEnv.txt ${BINARIES_DIR} -cp board/digilent/zybo/system.bit ${BINARIES_DIR} - -genimage \ - --rootpath "${TARGET_DIR}" \ - --tmppath "${GENIMAGE_TMP}" \ - --inputpath "${BINARIES_DIR}" \ - --outputpath "${BINARIES_DIR}" \ - --config "${GENIMAGE_CFG}" diff --git a/bsp/buildroot/board/digilent/zybo/readme.txt b/bsp/buildroot/board/digilent/zybo/readme.txt deleted file mode 100644 index 4e7454c5..00000000 --- a/bsp/buildroot/board/digilent/zybo/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ -Digilent Zybo -============= - -This is the Buildroot board support for the Digilent Zybo. The Zybo is -a development board based on the Xilinx Zynq-7000 based All-Programmable -System-On-Chip. - -Zybo information including schematics, reference designs, and manuals are -available from http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/ . - -If you want a custom FPGA bitstream to be loaded by U-Boot, copy it as -system.bit in board/digilent/zybo/. - -Steps to create a working system for Zybo: - -1) make zynq_zybo_defconfig -2) make -3) write your SD Card with the sdcard.img file using dd by doing - $ sudo dd if=output/images/sdcard.img of=/dev/sdX -4) insert the SD Card and power up your Zybo -5) Expect serial console on the second USB serial port exposed by the board - -The expected output: - - U-Boot SPL 2016.05 (May 20 2016 - 16:16:24) - mmc boot - Trying to boot from MMC1 - reading system.dtb - spl_load_image_fat_os: error reading image system.dtb, err - -1 - reading u-boot-dtb.img - reading u-boot-dtb.img - - - U-Boot 2016.05 (May 20 2016 - 16:16:24 +0200) - - Model: Zynq ZYBO Development Board - Board: Xilinx Zynq - I2C: ready - DRAM: ECC disabled 512 MiB - MMC: sdhci@e0100000: 0 - SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB - In: serial@e0001000 - Out: serial@e0001000 - Err: serial@e0001000 - Model: Zynq ZYBO Development Board - Board: Xilinx Zynq - Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id - I2C EEPROM MAC address read failed - - Warning: ethernet@e000b000 (eth0) using random MAC address - 56:64:dd:a7:6d:94 - eth0: ethernet@e000b000 - ... - -Resulting system ----------------- -Once the build process is finished you will have an image called "sdcard.img" -in the output/images/ directory. - -The first partition is a FAT32 partition created at the beginning of the SD Card -that contains the following files : - /BOOT.BIN - /zynq-zybo.dtb - /uEnv.txt - /system.bit - /uImage - /u-boot-dtb.img - -The second partition is an ext4 partition that contains the root filesystem. - -You can alter the booting procedure by modifying the uEnv.txt file -in first partition of the SD card. It is a plain text file in format -= one per line: - -kernel_image=myimage -modeboot=myboot -myboot=... diff --git a/bsp/buildroot/board/digilent/zybo/uEnv.txt b/bsp/buildroot/board/digilent/zybo/uEnv.txt deleted file mode 100644 index 1042538a..00000000 --- a/bsp/buildroot/board/digilent/zybo/uEnv.txt +++ /dev/null @@ -1,5 +0,0 @@ -bootargs=root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4 -fpga_image=system.bit -fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image}; then echo Booting FPGA from ${fpga_image}; fpga info 0 && fpga loadb 0 0x1000000 $filesize; else echo FPGA image ${fpga_image} was not found, skipping...; fi; -kernel_image=uImage -sdboot=echo Booting from SD...; run fpgaboot; fatload mmc 0 0x1000000 ${kernel_image} && fatload mmc 0 0x2000000 zynq-zybo.dtb && bootm 0x1000000 - 0x2000000 diff --git a/bsp/buildroot/board/embest/riotboard/genimage.cfg b/bsp/buildroot/board/embest/riotboard/genimage.cfg new file mode 100644 index 00000000..1221c83b --- /dev/null +++ b/bsp/buildroot/board/embest/riotboard/genimage.cfg @@ -0,0 +1,17 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot.imx" + offset = 1024 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + offset = 1M + size = 60M + } +} diff --git a/bsp/buildroot/board/embest/riotboard/readme.txt b/bsp/buildroot/board/embest/riotboard/readme.txt new file mode 100644 index 00000000..4ba836fa --- /dev/null +++ b/bsp/buildroot/board/embest/riotboard/readme.txt @@ -0,0 +1,38 @@ +Buildroot for Embest RIoTboard +============================== + +This is a small development board, based on Freescale IMX6 Solo SoC +(single core ARM Cortex-A9). + +More details about the board can be found at: + + http://www.embest-tech.com/riotboard + +1. Compiling buildroot +---------------------- + +$ make riotboard_defconfig +$ make + +2. Installing buildroot +----------------------- + +Prepare an SD-card and plug it into your card reader. Always double +check the block device before writing to it, as writing to the wrong +block device can cause irrecoverable data loss. Now you can write the +image to your SD-card: + +sudo dd if=output/images/sdcard.img of=/dev/ bs=1M + +3. Running buildroot +-------------------- + +Position the board so you can read the label "RIoTboard" on the right +side of SW1 DIP switches. Configure the SW1 swiches like this: + +1 0 1 0 0 1 0 1 +ON OFF ON OFF OFF ON OFF ON + +Now plug your prepared SD-card in slot J6. Connect a serial console +(115200, 8, N, 1) to header J18. Connect a 5V/1A power supply to the +board and enjoy. diff --git a/bsp/buildroot/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf b/bsp/buildroot/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf new file mode 100644 index 00000000..23e48a0d --- /dev/null +++ b/bsp/buildroot/board/embest/riotboard/rootfs_overlay/boot/extlinux/extlinux.conf @@ -0,0 +1,6 @@ +default buildroot + +label buildroot +kernel /boot/zImage +devicetree /boot/imx6dl-riotboard.dtb +append console=ttymxc1,115200 root=/dev/mmcblk1p1 rw diff --git a/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template b/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template index acce058b..2a7036a7 100644 --- a/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template +++ b/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template @@ -22,7 +22,7 @@ image sdcard.img { partition u-boot { in-partition-table = "no" - image = "u-boot.imx" + image = "%UBOOTBIN%" offset = 1024 } diff --git a/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template_imx8 b/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template_imx8 new file mode 100644 index 00000000..2f8842f8 --- /dev/null +++ b/bsp/buildroot/board/freescale/common/imx/genimage.cfg.template_imx8 @@ -0,0 +1,40 @@ +# Minimal SD card image for the Freescale iMX8 boards +# +# We mimic the .sdcard Freescale's image format: +# * the SD card must have 33 kB free space at the beginning, +# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is, +# * a FAT partition at offset 8MB is containing Image and DTB files +# * a single root filesystem partition is required (ext2, ext3 or ext4) +# + +image boot.vfat { + vfat { + files = { + %FILES% + } + } + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition imx-boot { + in-partition-table = "no" + image = "imx8-boot-sd.bin" + offset = 33K + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + offset = 8M + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext2" + } +} diff --git a/bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh b/bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh new file mode 100755 index 00000000..cc12666a --- /dev/null +++ b/bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +main () +{ + UBOOT_DTB=$2 + if [ ! -e "$UBOOT_DTB" ]; then + echo "ERROR: couldn't find dtb: $UBOOT_DTB" + exit 1 + fi + cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin + BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot.bin ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its + ${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb + rm -f ${BINARIES_DIR}/u-boot.its + + ${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin + + exit $? +} + +main $@ diff --git a/bsp/buildroot/board/freescale/common/imx/post-image.sh b/bsp/buildroot/board/freescale/common/imx/post-image.sh index b2397434..6590beda 100755 --- a/bsp/buildroot/board/freescale/common/imx/post-image.sh +++ b/bsp/buildroot/board/freescale/common/imx/post-image.sh @@ -7,10 +7,10 @@ # dtb_list() { - local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" + local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})" for dt in $DTB_LIST; do - echo -n "\"$dt.dtb\", " + echo -n "\"`basename $dt`.dtb\", " done } @@ -23,6 +23,8 @@ linux_image() { if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then echo "\"uImage\"" + elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then + echo "\"Image\"" else echo "\"zImage\"" fi @@ -30,20 +32,33 @@ linux_image() genimage_type() { - if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then + if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then + echo "genimage.cfg.template_imx8" + elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then echo "genimage.cfg.template_spl" else echo "genimage.cfg.template" fi } +uboot_image() +{ + if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then + echo "u-boot-dtb.imx" + elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then + echo "u-boot.imx" + fi +} + main() { local FILES="$(dtb_list) $(linux_image)" + local UBOOTBIN="$(uboot_image)" local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)" local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" sed -e "s/%FILES%/${FILES}/" \ + -e "s/%UBOOTBIN%/${UBOOTBIN}/" \ board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG} rm -rf "${GENIMAGE_TMP}" diff --git a/bsp/buildroot/board/freescale/imx7dsdb/patches/uboot/0001-imx-Create-distinct-pre-processed-mkimage-config-fil.patch b/bsp/buildroot/board/freescale/imx7dsdb/patches/uboot/0001-imx-Create-distinct-pre-processed-mkimage-config-fil.patch new file mode 100644 index 00000000..b8989cb9 --- /dev/null +++ b/bsp/buildroot/board/freescale/imx7dsdb/patches/uboot/0001-imx-Create-distinct-pre-processed-mkimage-config-fil.patch @@ -0,0 +1,89 @@ +From 27a2cd6a1980adf3002412678c8fdec6528dc47d Mon Sep 17 00:00:00 2001 +From: Trent Piepho +Date: Fri, 6 Apr 2018 17:11:27 -0700 +Subject: [PATCH] imx: Create distinct pre-processed mkimage config files + +Each imx image is created by a separate sub-make and during this process +the mkimage config file is run though cpp. + +The cpp output is to the same file no matter what imx image is being +created. + +This means if two imx images are generated in parallel they will attempt +to independently produce the same pre-processed mkimage config file at +the same time. + +Avoid the problem by making the pre-processed config file name unique +based on the imx image it will be used in. This way each image will +create a unique config file and they won't clobber each other when run +in parallel. + +This should fixed the build bug referenced in b5b0e4e3 ("imximage: +Remove failure when no IVT offset is found"). + +Cc: Breno Lima +Cc: Thomas Petazzoni +Cc: Fabio Estevam +Signed-off-by: Trent Piepho +Tested-by: Fabio Estevam +[fabio: Adapted to imx_v2017.03_4.9.11_1.0.0_ga] +Signed-off-by: Fabio Estevam +--- + arch/arm/imx-common/Makefile | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile +index d862258..f1bae8d 100644 +--- a/arch/arm/imx-common/Makefile ++++ b/arch/arm/imx-common/Makefile +@@ -69,9 +69,11 @@ endif + quiet_cmd_cpp_cfg = CFGS $@ + cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $< + +-IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp ++# mkimage source config file ++IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%) + +-$(IMX_CONFIG): %.cfgtmp: % FORCE ++# How to create a cpp processed config file, they all use the same source ++%.cfgout: $(IMX_CONFIG) FORCE + $(Q)mkdir -p $(dir $@) + $(call if_changed_dep,cpp_cfg) + +@@ -79,7 +81,7 @@ MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imxim + -e $(CONFIG_SYS_TEXT_BASE) + u-boot.imx: MKIMAGEOUTPUT = u-boot.imx.log + +-u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE ++u-boot.imx: u-boot.bin u-boot.cfgout $(PLUGIN).bin FORCE + $(call if_changed,mkimage) + + ifeq ($(CONFIG_OF_SEPARATE),y) +@@ -87,16 +89,15 @@ MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T i + -e $(CONFIG_SYS_TEXT_BASE) + u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log + +-u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE ++u-boot-dtb.imx: u-boot-dtb.bin u-boot-dtb.cfgout $(PLUGIN).bin FORCE + $(call if_changed,mkimage) + endif + + MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \ + -e $(CONFIG_SPL_TEXT_BASE) +- + SPL: MKIMAGEOUTPUT = SPL.log + +-SPL: spl/u-boot-spl.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE ++SPL: spl/u-boot-spl.bin spl/u-boot-spl.cfgout $(PLUGIN).bin FORCE + $(call if_changed,mkimage) + + MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \ +@@ -124,4 +125,4 @@ cmd_u-boot-nand-spl_imx = (printf '\000\000\000\000\106\103\102\040\001' && \ + spl/u-boot-nand-spl.imx: SPL FORCE + $(call if_changed,u-boot-nand-spl_imx) + +-targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx) ++targets += $(addprefix ../../../,SPL spl/u-boot-spl.cfgout u-boot-dtb.cfgout u-boot.cfgout u-boot.uim spl/u-boot-nand-spl.imx) +-- +2.7.4 + diff --git a/bsp/buildroot/board/freescale/imx8mqevk/readme.txt b/bsp/buildroot/board/freescale/imx8mqevk/readme.txt new file mode 100644 index 00000000..e60eba4c --- /dev/null +++ b/bsp/buildroot/board/freescale/imx8mqevk/readme.txt @@ -0,0 +1,80 @@ +*************************** +Freescale i.MX8MQ EVK board +*************************** + +This file documents the Buildroot support for the Freescale i.MX8MQ +EVK board. + +Build +===== + +First, configure Buildroot for the i.MX8MQ EVK board: + + make freescale_imx8mqevk_defconfig + +Build all components: + + make + +You will find in output/images/ the following files: + - bl31.bin + - boot.vfat + - fsl-imx8mq-evk.dtb + - Image + - imx8-boot-sd.bin + - lpddr4_pmu_train_fw.bin + - rootfs.ext2 + - rootfs.ext4 + - rootfs.tar + - sdcard.img + - signed_hdmi_imx8m.bin + - u-boot.bin + - u-boot.imx + - u-boot-nodtb.bin + - u-boot-spl-ddr.bin + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a SD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ + +*** WARNING! This will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/freescale/common/imx/genimage.cfg.template_imx8. + +Boot the i.MX8MQ EVK board +========================== + +To boot your newly created system: +- insert the SD card in the SD slot of the board; +- Configure the switches as follows: +SW801: ON ON OFF OFF +SW802: ON OFF +- put a micro USB cable into the Debug USB Port and connect using a terminal + emulator at 115200 bps, 8n1; +- power on the board. + +Enable HDMI output +================== + +To enable HDMI output at boot you must provide the video kernel boot +argument. To set the video boot argument from U-Boot run after +stopping in U-Boot prompt: + +setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60' +saveenv +reset + +Change screen resolution to suit your connected display. + +Enjoy! diff --git a/bsp/buildroot/board/freescale/p1025twr/readme.txt b/bsp/buildroot/board/freescale/p1025twr/readme.txt new file mode 100644 index 00000000..9179aeac --- /dev/null +++ b/bsp/buildroot/board/freescale/p1025twr/readme.txt @@ -0,0 +1,25 @@ +The bootloader is no longer buildable in the latest Freescale/NXP tree or +upstream. As such, retrieve the "Image: SDK V1.2 e500v2 Binary ISO" from +NXP downloads and follow the release notes for reflashing. + +For programming the kernel and rootfs created by buildroot into the flash. +The fast way is to tftp transfer the files via one of the network interfaces. +Make sure your devkit has ipaddr and serverip defined to reach your tftp +server. + +(Assuming the default u-boot env from NXP) +1. Program the DTB to NOR flash + + => setenv dtbfile p1025twr.dtb + => run dtbflash + +2. Program the kernel and rootfs to NOR flash (reusing orignal rootfs + NOR location, as the kernel location is to small) + + => tftpboot $loadaddr uImage; protect off 0xeeb80000 +$filesize; erase 0xeeb80000 +$filesize; cp.b $loadaddr 0xeeb80000 $filesize; protect on 0xeeb80000 +$filesize; cmp.b $loadaddr 0xefa80000 $filesize + +3. Booting your new system + + => bootm 0xeeb80000 - 0xefe80000 + + You can login with user "root". diff --git a/bsp/buildroot/board/freescale/t1040d4rdb/readme.txt b/bsp/buildroot/board/freescale/t1040d4rdb/readme.txt new file mode 100644 index 00000000..04d6b015 --- /dev/null +++ b/bsp/buildroot/board/freescale/t1040d4rdb/readme.txt @@ -0,0 +1,24 @@ +For the bootloader, NXP has stablized at SDK2.0 (final release). It is +suggested to download the prebuilt from NXP downloads and follow the +release notes for reflashing. + +To program the kernel and rootfs created by buildroot into the flash. The +fast way is to tftp transfer the files via one of the network interfaces. +Make sure your devkit has ipaddr and serverip defined to reach your tftp +server. + +(Assuming the default u-boot env from NXP) +1. Program the DTB to NOR flash + + => tftpboot $loadaddr t1040d4rdb.dtb; protect off 0xe8800000 +$filesize; erase 0xe8800000 +$filesize; cp.b $loadaddr 0xe8800000 $filesize; protect on 0xe8800000 +$filesize; cmp.b $loadaddr 0xe8800000 $filesize + +2. Program the kernel and rootfs to NOR flash + + => tftpboot $loadaddr uImage; protect off 0xe8020000 +$filesize; erase 0xe8020000 +$filesize; cp.b $loadaddr 0xe8020000 $filesize; protect on 0xe8020000 +$filesize; cmp.b $loadaddr 0xe8020000 $filesize + => tftpboot $loadaddr rootfs.cpio.uboot; protect off 0xe9300000 +$filesize; erase 0xe9300000 +$filesize; cp.b $loadaddr 0xe9300000 $filesize; protect on 0xe9300000 +$filesize; cmp.b $loadaddr 0xe9300000 $filesize + +3. Booting your new system + + => boot + + You can login with user "root". diff --git a/bsp/buildroot/board/gdb/bfin-bf512/linux.config b/bsp/buildroot/board/gdb/bfin-bf512/linux.config deleted file mode 100644 index bc2a907b..00000000 --- a/bsp/buildroot/board/gdb/bfin-bf512/linux.config +++ /dev/null @@ -1,87 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_SYSVIPC=y -CONFIG_BLK_DEV_INITRD=y -# CONFIG_RD_GZIP is not set -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -# CONFIG_UID16 is not set -# CONFIG_SGETMASK_SYSCALL is not set -# CONFIG_SYSFS_SYSCALL is not set -# CONFIG_KALLSYMS is not set -# CONFIG_BUG is not set -# CONFIG_BASE_FULL is not set -# CONFIG_ADVISE_SYSCALLS is not set -# CONFIG_MEMBARRIER is not set -CONFIG_EMBEDDED=y -# CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -# CONFIG_BLOCK is not set -CONFIG_BF512=y -# CONFIG_SET_GENERIC_CLOCKEVENTS is not set -# CONFIG_I_ENTRY_L1 is not set -# CONFIG_EXCPT_IRQ_SYSC_L1 is not set -# CONFIG_DO_IRQ_L1 is not set -# CONFIG_CORE_TIMER_IRQ_L1 is not set -# CONFIG_IDLE_L1 is not set -# CONFIG_SCHEDULE_L1 is not set -# CONFIG_ARITHMETIC_OPS_L1 is not set -# CONFIG_ACCESS_OK_L1 is not set -# CONFIG_MEMSET_L1 is not set -# CONFIG_MEMCPY_L1 is not set -# CONFIG_STRCMP_L1 is not set -# CONFIG_STRNCMP_L1 is not set -# CONFIG_STRCPY_L1 is not set -# CONFIG_STRNCPY_L1 is not set -# CONFIG_SYS_BFIN_SPINLOCK_L1 is not set -# CONFIG_CACHELINE_ALIGNED_L1 is not set -# CONFIG_DCACHE_FLUSH_L1 is not set -# CONFIG_APP_STACK_L1 is not set -# CONFIG_BFIN_INS_LOWOVERHEAD is not set -# CONFIG_BFIN_ICACHE is not set -# CONFIG_BFIN_DCACHE is not set -# CONFIG_C_AMCKEN is not set -CONFIG_BINFMT_ELF_FDPIC=y -CONFIG_BINFMT_FLAT=y -# CONFIG_COREDUMP is not set -# CONFIG_SUSPEND is not set -# CONFIG_UEVENT_HELPER is not set -# CONFIG_STANDALONE is not set -# CONFIG_PREVENT_FIRMWARE_BUILD is not set -# CONFIG_FW_LOADER is not set -# CONFIG_ALLOW_DEV_COREDUMP is not set -# CONFIG_INPUT is not set -# CONFIG_SERIO is not set -# CONFIG_VT is not set -# CONFIG_LEGACY_PTYS is not set -CONFIG_SERIAL_BFIN=y -CONFIG_SERIAL_BFIN_CONSOLE=y -CONFIG_SERIAL_BFIN_UART0=y -CONFIG_SERIAL_BFIN_UART1=y -# CONFIG_BFIN_OTP is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_HWMON is not set -# CONFIG_USB_SUPPORT is not set -# CONFIG_MANDATORY_FILE_LOCKING is not set -# CONFIG_DNOTIFY is not set -# CONFIG_MISC_FILESYSTEMS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="utf-8" -CONFIG_PRINTK_TIME=y -# CONFIG_ENABLE_WARN_DEPRECATED is not set -# CONFIG_ENABLE_MUST_CHECK is not set -# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set -CONFIG_MAGIC_SYSRQ=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_FTRACE is not set -# CONFIG_DEBUG_VERBOSE is not set -# CONFIG_DEBUG_HUNT_FOR_ZERO is not set -# CONFIG_DEBUG_BFIN_HWTRACE_ON is not set -CONFIG_EARLY_PRINTK=y -# CONFIG_ACCESS_CHECK is not set -# CONFIG_CRC32 is not set diff --git a/bsp/buildroot/board/gdb/bfin-bf512/readme.txt b/bsp/buildroot/board/gdb/bfin-bf512/readme.txt deleted file mode 100644 index b8ff250a..00000000 --- a/bsp/buildroot/board/gdb/bfin-bf512/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -Run the simulation with GDB for FDPIC: - - ./output/host/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux - -Run the simulation with GDB for FLAT: - - ./output/host/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux - -The login prompt will appear in the terminal that started GDB. - -Tested with GDB 7.9 diff --git a/bsp/buildroot/board/gdb/post-build.sh b/bsp/buildroot/board/gdb/post-build.sh deleted file mode 100755 index 8933d504..00000000 --- a/bsp/buildroot/board/gdb/post-build.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -# no simulated network devices at the moment -rm -f ${TARGET_DIR}/etc/init.d/S40network -rm -rf ${TARGET_DIR}/etc/network/ diff --git a/bsp/buildroot/board/hardkernel/odroidxu4/boot.ini b/bsp/buildroot/board/hardkernel/odroidxu4/boot.ini new file mode 100644 index 00000000..87ac7ac1 --- /dev/null +++ b/bsp/buildroot/board/hardkernel/odroidxu4/boot.ini @@ -0,0 +1,38 @@ +ODROIDXU-UBOOT-CONFIG + +# U-Boot Parameters +setenv initrd_high "0xffffffff" +setenv fdt_high "0xffffffff" + +setenv macaddr "00:1e:06:61:7a:39" +setenv bootrootfs "console=tty1 root=/dev/mmcblk1p2 rootwait rw fsck.repair=yes net.ifnames=0" +setenv bootcmd "load mmc 0:1 0x40008000 zImage; load mmc 0:1 0x44000000 exynos5422-odroidxu4.dtb; bootz 0x40008000 - 0x44000000" +setenv vout "hdmi" +setenv governor "performance" +setenv HPD "true" + +# TMDS data amplitude control. +setenv hdmi_tx_amp_lvl "31" + +# TMDS data amplitude fine control for each channel. +setenv hdmi_tx_lvl_ch0 "3" +setenv hdmi_tx_lvl_ch1 "3" +setenv hdmi_tx_lvl_ch2 "3" + +# TMDS data pre-emphasis level control. +setenv hdmi_tx_emp_lvl "6" + +# TMDS clock amplitude control. +setenv hdmi_clk_amp_lvl "31" + +# TMDS data source termination resistor control. +setenv hdmi_tx_res "0" + +setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl_ch2} hdmi_tx_emp_lvl=${hdmi_tx_emp_lvl} hdmi_clk_amp_lvl=${hdmi_clk_amp_lvl} hdmi_tx_res=${hdmi_tx_res} HPD=${HPD} vout=${vout}" + +# final boot args +setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control}" + +# Boot the board +boot + diff --git a/bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg b/bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg new file mode 100644 index 00000000..e6b85cf2 --- /dev/null +++ b/bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg @@ -0,0 +1,54 @@ +image boot.vfat { + vfat { + files = { + "boot.ini", + "zImage", + "exynos5422-odroidxu4.dtb" + } + } + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition bl1 { + in-partition-table = "no" + image = "bl1.bin.hardkernel" + offset = 512 + size = 15360 + } + + partition bl2 { + in-partition-table = "no" + image = "bl2.bin.hardkernel.720k_uboot" + offset = 15872 + size = 16384 + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-dtb.bin" + offset = 32256 + size = 720k + } + + partition tzsw { + in-partition-table = "no" + image = "tzsw.bin.hardkernel" + offset = 769536 + size = 256k + } + + partition vfat { + partition-type = 0xC + image = "boot.vfat" + offset = 2097152 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh b/bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh new file mode 100755 index 00000000..025906cd --- /dev/null +++ b/bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" +GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg" +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/ + +# The bl1.bin.hardkernel file provided by the uboot hardkernel repository is overwritten +# by the bl2.bin.hardkernel in the sd_fusing.sh script because it is too big. +# In order to implement this in genimage, we need to truncate the bl1.bin file +# so that it does not exceed the available place. +# An issue has been filled about this: https://github.com/hardkernel/u-boot/issues/45 +truncate -s 15360 ${BINARIES_DIR}/bl1.bin.hardkernel + +rm -rf "${GENIMAGE_TMP}" + +genimage \ + --rootpath "${TARGET_DIR}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" + diff --git a/bsp/buildroot/board/hardkernel/odroidxu4/readme.txt b/bsp/buildroot/board/hardkernel/odroidxu4/readme.txt new file mode 100644 index 00000000..e3cba8b0 --- /dev/null +++ b/bsp/buildroot/board/hardkernel/odroidxu4/readme.txt @@ -0,0 +1,37 @@ +Odroid XU-4 board with Samsung Exynos 5422 SoC + +How to build it +=============== + + $ make odroidxu4_defconfig + +Then you can edit the build options using + + $ make menuconfig + +Compile all and build rootfs image: + + $ make + +Note: you will need to have access to the network, since Buildroot will +download the packages' sources. + +Result of the build +------------------- + +After building, you should obtain all output files in output/images/ + + +How to write the SD card or eMMC +================================ + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card or eMMC with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + +Insert the SDcard into your ODROID-XU4, and power it up. Your new system +should come up now. + diff --git a/bsp/buildroot/board/lego/ev3/genimage.cfg b/bsp/buildroot/board/lego/ev3/genimage.cfg index 3da3048d..14880e8f 100644 --- a/bsp/buildroot/board/lego/ev3/genimage.cfg +++ b/bsp/buildroot/board/lego/ev3/genimage.cfg @@ -16,10 +16,15 @@ image flash.bin { flashtype = "nor-16M-256" partition uboot { image = "u-boot.bin" - size = 320K + size = 256K + } + partition dtb { + image = "da850-lego-ev3.dtb" + size = 64K + offset = 0x40000 } partition uimage { - image = "uImage.da850-lego-ev3" + image = "uImage" size = 4M offset = 0x50000 } @@ -35,7 +40,10 @@ image flash.bin { image boot.vfat { vfat { file uImage { - image = "uImage.da850-lego-ev3" + image = "uImage" + } + file da850-lego-ev3.dtb { + image = "da850-lego-ev3.dtb" } } size = 16M diff --git a/bsp/buildroot/board/lego/ev3/linux.fragment b/bsp/buildroot/board/lego/ev3/linux.fragment index 30dea57b..79efd27d 100644 --- a/bsp/buildroot/board/lego/ev3/linux.fragment +++ b/bsp/buildroot/board/lego/ev3/linux.fragment @@ -1,3 +1,4 @@ +CONFIG_ARM_APPENDED_DTB=n CONFIG_ARCH_DAVINCI_DM644x=n CONFIG_ARCH_DAVINCI_DM355=n CONFIG_ARCH_DAVINCI_DM646x=n @@ -60,3 +61,8 @@ CONFIG_DRM_DUMB_VGA_DAC=n CONFIG_DRM_TINYDRM=y CONFIG_TINYDRM_ST7586=y CONFIG_FB_DA8XX=n +CONFIG_COMMON_CLK_PWM=y +CONFIG_BT=y +CONFIG_BT_HS=n +CONFIG_BT_LE=n +CONFIG_RFKILL=y diff --git a/bsp/buildroot/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch b/bsp/buildroot/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch deleted file mode 100644 index ee0ce616..00000000 --- a/bsp/buildroot/board/lego/ev3/patches/uboot/configs-legoev3-increase-flash-image-sizes.patch +++ /dev/null @@ -1,31 +0,0 @@ -From cdd8d11858fa34f6e813fae46b5556e9fb3570dc Mon Sep 17 00:00:00 2001 -From: David Lechner -Date: Sun, 19 Nov 2017 19:54:32 -0600 -Subject: [PATCH] configs: legoev3: increase flash image sizes - -This increases the kernel image to 4M and the rootfs image to 10M. - -It is getting hard to get a kernel image to fit in 3M and the rootfs image -size now matches the filesyssize variable. - -Signed-off-by: David Lechner ---- - include/configs/legoev3.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h -index 79fa3c4..2eeaf85 100644 ---- a/include/configs/legoev3.h -+++ b/include/configs/legoev3.h -@@ -204,7 +204,7 @@ - "mmcargs=setenv bootargs mem=${memsize} console=${console} root=/dev/mmcblk0p2 rw rootwait lpj=747520\0" \ - "mmcboot=bootm ${loadaddr}\0" \ - "flashargs=setenv bootargs mem=${memsize} initrd=${filesysaddr},${filesyssize} root=/dev/ram0 rw rootfstype=squashfs console=${console} lpj=747520\0" \ -- "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x300000; sf read ${filesysaddr} 0x350000 0x960000; bootm ${loadaddr}\0" \ -+ "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x400000; sf read ${filesysaddr} 0x450000 0xA00000; bootm ${loadaddr}\0" \ - "loadimage=fatload mmc 0 ${loadaddr} uImage\0" \ - "loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \ - "bootscript=source ${bootscraddr}\0" \ --- -2.7.4 - diff --git a/bsp/buildroot/board/lego/ev3/readme.txt b/bsp/buildroot/board/lego/ev3/readme.txt index 8df91ac1..648bca1e 100644 --- a/bsp/buildroot/board/lego/ev3/readme.txt +++ b/bsp/buildroot/board/lego/ev3/readme.txt @@ -70,6 +70,13 @@ official Lego Mindstorms EV3 programming software firmware update tool to load the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to write the image to the µSD card. +NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official +LEGO firmware is installed on the EV3 (it has an old version of U-Boot that +doesn't know about device tree). You must either set the kernel configuration +option to append the device tree to the kernel or you can create a boot.scr +that chainloads a newer U-Boot or you can install a newer U-Boot in the flash +memory (just flashing u-boot.bin is enough). + Finish ====== @@ -80,3 +87,13 @@ See: - http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/ The serial port config to use is 115200/8-N-1. + +Bluetooth +========= + +To enable Bluetooth: + + # modprobe hci_uart + # /usr/libexec/bluetooth/bluetoothd & + # bluetoothctl + [bluetooth]# power on diff --git a/bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd b/bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd new file mode 120000 index 00000000..612c7455 --- /dev/null +++ b/bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd @@ -0,0 +1 @@ +../a20_olinuxino/boot.cmd \ No newline at end of file diff --git a/bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg b/bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg new file mode 120000 index 00000000..c21932fe --- /dev/null +++ b/bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg @@ -0,0 +1 @@ +../a20_olinuxino/genimage.cfg \ No newline at end of file diff --git a/bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh b/bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh new file mode 120000 index 00000000..b3468960 --- /dev/null +++ b/bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh @@ -0,0 +1 @@ +../a20_olinuxino/post-build.sh \ No newline at end of file diff --git a/bsp/buildroot/board/olimex/a10_olinuxino/readme.txt b/bsp/buildroot/board/olimex/a10_olinuxino/readme.txt new file mode 100644 index 00000000..ba4bf691 --- /dev/null +++ b/bsp/buildroot/board/olimex/a10_olinuxino/readme.txt @@ -0,0 +1,57 @@ +A10-OLinuXino-LIME + +Intro +===== + +These are open hardware boards, all based on the Allwinner A10 SoC. + +for more details about the boards see the following pages: + - https://www.olimex.com/Products/OLinuXino/open-source-hardware + - https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/ + +The following defconfigs are available: + - olimex_a10_olinuxino_lime_defconfig + for the A10-OLinuXino-LIME board using mainline kernel + +(see http://linux-sunxi.org/Linux_Kernel for more details) + +How to build it +=============== + +Configure Buildroot: + + $ make _defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- boot.scr + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- sun4i-a10-olinuxino-lime.dtb (lime, mainline) + +-- u-boot.bin + +-- u-boot-sunxi-with-spl.bin + `-- zImage + + +How to write the SD card +======================== + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to a uSD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the uSD. + +Eject the SD card, insert it in the A10-OLinuXino board, and power it up. + diff --git a/bsp/buildroot/board/olimex/a20_olinuxino/boot-mali.cmd b/bsp/buildroot/board/olimex/a20_olinuxino/boot-legacy.cmd similarity index 100% rename from bsp/buildroot/board/olimex/a20_olinuxino/boot-mali.cmd rename to bsp/buildroot/board/olimex/a20_olinuxino/boot-legacy.cmd diff --git a/bsp/buildroot/board/olimex/a20_olinuxino/readme.txt b/bsp/buildroot/board/olimex/a20_olinuxino/readme.txt index 070b7a5e..57ee23d1 100644 --- a/bsp/buildroot/board/olimex/a20_olinuxino/readme.txt +++ b/bsp/buildroot/board/olimex/a20_olinuxino/readme.txt @@ -16,7 +16,7 @@ The following defconfigs are available: for the A20-OLinuXino-MICRO board using mainline kernel - olimex_a20_olinuxino_lime_defconfig for the A20-OLinuXino-LIME board using mainline kernel - - olimex_a20_olinuxino_lime_mali_defconfig + - olimex_a20_olinuxino_lime_legacy_defconfig for the A20-OLinuXino-LIME board using legacy linux-sunxi kernel - olimex_a20_olinuxino_lime2_defconfig for the A20-OLinuXino-LIME2 board using mainline kernel @@ -51,7 +51,7 @@ After building, you should get a tree like this: output/images/ +-- rootfs.ext2 +-- rootfs.ext4 -> rootfs.ext2 - +-- script.bin (lime_mali) + +-- script.bin (lime_legacy) +-- sdcard.img +-- sun7i-a20-olinuxino-lime.dtb (lime, mainline) +-- sun7i-a20-olinuxino-lime2.dtb (lime2, mainline) diff --git a/bsp/buildroot/board/orangepi/orangepi-lite/linux-extras.config b/bsp/buildroot/board/orangepi/orangepi-lite/linux-extras.config index 5e3af2b8..6bb71690 100644 --- a/bsp/buildroot/board/orangepi/orangepi-lite/linux-extras.config +++ b/bsp/buildroot/board/orangepi/orangepi-lite/linux-extras.config @@ -6,3 +6,10 @@ CONFIG_CFG80211_WEXT=y # wireless drivers CONFIG_WLAN=y + +# hdmi +CONFIG_DRM_SUN8I_DW_HDMI=y +CONFIG_SUN8I_DE2_CCU=y + +# analog audio +CONFIG_SND_SUN8I_CODEC_ANALOG=y diff --git a/bsp/buildroot/board/orangepi/orangepi-lite2/extlinux.conf b/bsp/buildroot/board/orangepi/orangepi-lite2/extlinux.conf new file mode 100644 index 00000000..1966186a --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-lite2/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /Image + devicetree /sun50i-h6-orangepi-lite2.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait diff --git a/bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg b/bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg new file mode 100644 index 00000000..97251b48 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "Image", + "sun50i-h6-orangepi-lite2.dtb", + "extlinux" + } + } + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8192 + size = 1040384 # 1MB - 8192 + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh b/bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh new file mode 100755 index 00000000..ec20fca7 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt b/bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt new file mode 100644 index 00000000..bed561b5 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt @@ -0,0 +1,44 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi Lite2. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi Lite2 link: +http://www.orangepi.org/Orange%20Pi%20Lite%202/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Lite2 + +How to build +============ + + $ make orangepi_lite2_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi Lite2 and power it up. The console +is on the serial line, 115200 8N1. + +WiFi +==== + + # wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf + (type password and enter) + # wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B + # udhcpc -i wlan0 + # ping google.com diff --git a/bsp/buildroot/board/orangepi/orangepi-lite2/rootfs_overlay/lib/firmware/brcm/brcmfmac43455-sdio.txt b/bsp/buildroot/board/orangepi/orangepi-lite2/rootfs_overlay/lib/firmware/brcm/brcmfmac43455-sdio.txt new file mode 100755 index 00000000..c1cc4c3c --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-lite2/rootfs_overlay/lib/firmware/brcm/brcmfmac43455-sdio.txt @@ -0,0 +1,82 @@ +#AP6255_NVRAM_V1.0_29052015 + +NVRAMRev=$Rev: 498373 $ +sromrev=11 +vendid=0x14e4 +devid=0x43ab +manfid=0x2d0 +prodid=0x06e4 +macaddr=00:90:4c:c5:12:38 +nocrc=1 +boardtype=0x6e4 +boardrev=0x1304 +xtalfreq=37400 +#boardflags: 5GHz eTR switch by default +#2.4GHz eTR switch by default +#bit1 for btcoex +boardflags=0x00080201 +boardflags2=0x40000000 +boardflags3=0x48200100 +rxgains2gelnagaina0=0 +rxgains2gtrisoa0=0 +rxgains2gtrelnabypa0=0 +rxgains5gelnagaina0=0 +rxgains5gtrisoa0=0 +rxgains5gtrelnabypa0=0 +rxchain=1 +txchain=1 +aa2g=1 +aa5g=1 +tssipos5g=1 +tssipos2g=1 +femctrl=0 +AvVmid_c0=0,157,1,126,1,126,1,126,1,126 +pa2ga0=-112,6296,-662 +pa2ga1=-165,3699,-515 +pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670 +pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498 +itrsw=1 +pdoffset2g40ma0=10 +pdoffset40ma0=0xaaaa +pdoffset80ma0=0xaaaa +extpagain5g=2 +extpagain2g=2 +tworangetssi2g=1 +tworangetssi5g=1 +# LTECX flags +# WCI2 +ltecxmux=0 +ltecxpadnum=0x0504 +ltecxfnsel=0x22 +ltecxgcigpio=0x32 + +maxp2ga0=64 +ofdmlrbw202gpo=0x0033 +dot11agofdmhrbw202gpo=0x1553 +mcsbw202gpo=0x99355533 + +maxp5ga0=80,82,76,77 + +mcsbw205glpo=0x99755000 +mcsbw205gmpo=0x9df55000 +mcsbw205ghpo=0x99855000 + +mcsbw405glpo=0xb8555000 +mcsbw405gmpo=0xed955000 +mcsbw405ghpo=0xd9755000 + +mcsbw805glpo=0xc8555000 +mcsbw805gmpo=0xe9555000 +mcsbw805ghpo=0xd9555000 + +swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff +swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4 +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000 +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000 + +vcodivmode=1 +deadman_to=481500000 +ed_thresh2g=-54 +ed_thresh5g=-54 + +muxenab=0x10 diff --git a/bsp/buildroot/board/orangepi/orangepi-one-plus/extlinux.conf b/bsp/buildroot/board/orangepi/orangepi-one-plus/extlinux.conf new file mode 100644 index 00000000..f573aa17 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-one-plus/extlinux.conf @@ -0,0 +1,4 @@ +label linux + kernel /Image + devicetree /sun50i-h6-orangepi-one-plus.dtb + append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait diff --git a/bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg b/bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg new file mode 100644 index 00000000..ebb07e8b --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg @@ -0,0 +1,33 @@ +image boot.vfat { + vfat { + files = { + "Image", + "sun50i-h6-orangepi-one-plus.dtb", + "extlinux" + } + } + size = 64M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8192 + size = 1040384 # 1MB - 8192 + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh b/bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh new file mode 100755 index 00000000..ec20fca7 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh @@ -0,0 +1,4 @@ +#!/bin/sh +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt b/bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt new file mode 100644 index 00000000..87f6de85 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt @@ -0,0 +1,37 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Orangepi One Plus. With the current configuration +it will bring-up the board, and allow access through the serial console. + +Orangepi One Plus link: +http://www.orangepi.org/OrangePiOneplus/ + +Wiki link: +https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+One+Plus + +This configuration uses U-Boot mainline and kernel mainline. + +How to build +============ + + $ make orangepi_one_plus_defconfig + $ make + +Note: you will need access to the internet to download the required +sources. + +How to write the SD card +======================== + +Once the build process is finished you will have an image called "sdcard.img" +in the output/images/ directory. + +Copy the bootable "sdcard.img" onto an SD card with "dd": + + $ sudo dd if=output/images/sdcard.img of=/dev/sdX + $ sudo sync + +Insert the micro SDcard in your Orangepi One Plus and power it up. The console +is on the serial line, 115200 8N1. diff --git a/bsp/buildroot/board/orangepi/orangepi-pc/linux.fragment b/bsp/buildroot/board/orangepi/orangepi-pc/linux.fragment new file mode 100644 index 00000000..581b715b --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-pc/linux.fragment @@ -0,0 +1,5 @@ +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_REGULATOR_SY8106A=y +CONFIG_DRM_SUN8I_DW_HDMI=y +CONFIG_SUN8I_DE2_CCU=y +CONFIG_SND_SUN8I_CODEC_ANALOG=y diff --git a/bsp/buildroot/board/orangepi/orangepi-zero-plus2/linux-extras.config b/bsp/buildroot/board/orangepi/orangepi-zero-plus2/linux-extras.config new file mode 100644 index 00000000..52b4b4b2 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-zero-plus2/linux-extras.config @@ -0,0 +1,10 @@ +# wireless core +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_CFG80211_WEXT=y + +# wireless drivers +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_BRCMFMAC=m diff --git a/bsp/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch b/bsp/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch deleted file mode 100644 index 20340293..00000000 --- a/bsp/buildroot/board/orangepi/orangepi-zero-plus2/patches/linux/linux-0001-arm64-dts-orange-pi-zero-plus2-fix-sdcard-detect.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f88e9301948173dd35afad4a6939092c7f269aed Mon Sep 17 00:00:00 2001 -From: Sergey Matyukevich -Date: Fri, 3 Nov 2017 22:58:54 +0300 -Subject: [PATCH] arm64: dts: orange-pi-zero-plus2: fix sdcard detect - -The sdcard detect pin on orange-pi-zero-plus2 is pulled up. -Fix cd-gpio description to enable sdcard detect. - -Signed-off-by: Sergey Matyukevich -Signed-off-by: Maxime Ripard ---- - arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts -index b6b7a56..a42fd79 100644 ---- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts -+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts -@@ -71,7 +71,7 @@ - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; - vmmc-supply = <®_vcc3v3>; - bus-width = <4>; -- cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; -+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; - status = "okay"; - }; - --- -1.9.1 - diff --git a/bsp/buildroot/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt b/bsp/buildroot/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt new file mode 100644 index 00000000..8f0bf690 --- /dev/null +++ b/bsp/buildroot/board/orangepi/orangepi-zero-plus2/rootfs_overlay/lib/firmware/brcm/brcmfmac43430-sdio.txt @@ -0,0 +1,54 @@ +#AP6212_NVRAM_V1.0_20140603 +# 2.4 GHz, 20 MHz BW mode + +# The following parameter values are just placeholders, need to be updated. +manfid=0x2d0 +prodid=0x0726 +vendid=0x14e4 +devid=0x43e2 +boardtype=0x0726 +boardrev=0x1101 +boardnum=22 +macaddr=00:90:4c:c5:12:38 +sromrev=11 +boardflags=0x00404201 +xtalfreq=26000 +nocrc=1 +ag0=255 +aa2g=1 +ccode=ALL + +pa0itssit=0x20 +extpagain2g=0 + +#PA parameters for 2.4GHz, measured at CHIP OUTPUT +pa2ga0=-168,7161,-820 +AvVmid_c0=0x0,0xc8 +cckpwroffset0=5 + +# PPR params +maxp2ga0=90 +txpwrbckof=6 +cckbw202gpo=0x5555 +legofdmbw202gpo=0x77777777 +mcsbw202gpo=0xaaaaaaaa + +# OFDM IIR : +ofdmdigfilttype=7 +# PAPD mode: +papdmode=2 + +il0macaddr=00:90:4c:c5:12:38 +wl0id=0x431b + +#OOB parameters +hostwake=0x40 +hostrdy=0x41 +usbrdy=0x03 +usbrdydelay=100 +deadman_to=0xffffffff +# muxenab: 0x1 for UART enable, 0x10 for Host awake +muxenab=0x10 +# CLDO PWM voltage settings - 0x4 - 1.1 volt +#cldo_pwm=0x4 + diff --git a/bsp/buildroot/board/orangepi/orangepi-zero/linux-extras.config b/bsp/buildroot/board/orangepi/orangepi-zero/linux-extras.config index fe00af5e..2db241de 100644 --- a/bsp/buildroot/board/orangepi/orangepi-zero/linux-extras.config +++ b/bsp/buildroot/board/orangepi/orangepi-zero/linux-extras.config @@ -15,3 +15,6 @@ CONFIG_CFG80211_WEXT=y # wireless drivers CONFIG_WLAN=y + +# ondemand cpufreq governor +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y diff --git a/bsp/buildroot/board/pc/grub-efi.cfg b/bsp/buildroot/board/pc/grub-efi.cfg old mode 100755 new mode 100644 diff --git a/bsp/buildroot/board/pc/linux.config b/bsp/buildroot/board/pc/linux.config index 0fff1170..f86352e1 100644 --- a/bsp/buildroot/board/pc/linux.config +++ b/bsp/buildroot/board/pc/linux.config @@ -82,3 +82,4 @@ CONFIG_EXT4_FS=y CONFIG_FUSE_FS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_SQUASHFS=y +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/bsp/buildroot/board/pc/post-build.sh b/bsp/buildroot/board/pc/post-build.sh new file mode 100755 index 00000000..b245cc00 --- /dev/null +++ b/bsp/buildroot/board/pc/post-build.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +BOARD_DIR=$(dirname "$0") + +cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg" + +# Copy grub 1st stage to binaries, required for genimage +cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR" diff --git a/bsp/buildroot/board/pc/post-image-efi-gpt.sh b/bsp/buildroot/board/pc/post-image-efi-gpt.sh new file mode 100755 index 00000000..d2acd8f8 --- /dev/null +++ b/bsp/buildroot/board/pc/post-image-efi-gpt.sh @@ -0,0 +1,62 @@ +#!/bin/sh + +set -e + +cd ${BINARIES_DIR} + +# GPT partition type UUIDs +esp_type=c12a7328-f81f-11d2-ba4b-00a0c93ec93b +linux_type=44479540-f297-41b2-9af7-d131d5f0458a + +# Partition UUIDs +efi_part_uuid=$(uuidgen) +root_part_uuid=$(uuidgen) + +# Boot partition offset and size, in 512-byte sectors +efi_part_start=64 +efi_part_size=32768 + +# Rootfs partition offset and size, in 512-byte sectors +root_part_start=$(( efi_part_start + efi_part_size )) +root_part_size=$(( $(stat -c %s rootfs.ext2) / 512 )) + +first_lba=34 +last_lba=$(( root_part_start + root_part_size )) + +# Disk image size in 512-byte sectors +image_size=$(( last_lba + first_lba )) + +cat > efi-part/EFI/BOOT/grub.cfg < +Date: Tue, 5 Feb 2019 22:08:54 +0100 +Subject: [PATCH] Makefile: rk3328 needs itb image to boot properly +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: MichaÅ‚ Åyszczek +--- + Makefile | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/Makefile b/Makefile +index 8086f3c93e..a6425b5b03 100644 +--- a/Makefile ++++ b/Makefile +@@ -799,6 +799,11 @@ ifneq ($(BUILD_ROM),) + ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom + endif + ++# rk3328 needs itb image to boot properly ++ifeq ($(CONFIG_ROCKCHIP_RK3328),y) ++ALL-y += u-boot.itb ++endif ++ + # enable combined SPL/u-boot/dtb rules for tegra + ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy) + ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin +-- +2.18.1 + diff --git a/bsp/buildroot/board/pine64/rock64/post-build.sh b/bsp/buildroot/board/pine64/rock64/post-build.sh new file mode 100755 index 00000000..26b53cba --- /dev/null +++ b/bsp/buildroot/board/pine64/rock64/post-build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname $0)" + +$MKIMAGE -n rk3328 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img +cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl.bin > $BINARIES_DIR/u-boot-tpl-spl.img + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/pine64/rock64/readme.txt b/bsp/buildroot/board/pine64/rock64/readme.txt new file mode 100644 index 00000000..029c6764 --- /dev/null +++ b/bsp/buildroot/board/pine64/rock64/readme.txt @@ -0,0 +1,95 @@ +Intro +===== + +This default configuration will allow you to start experimenting with the +buildroot environment for the Rock64. With this default configuration you +can log in into board via uart and look around. + +Board homepage: https://www.pine64.org/?page_id=7147 + +Build +===== + +First, load rock64 config for buildroot + + $ make rock64_defconfig + +Optionally make changes to buildroot config (to install more programs) + + $ make menuconfig + +And then build everything + + $ make + +When completed, following files will be generated in output/images directory: + + . + ├── Image + ├── bl31.bin + ├── bl31.elf + ├── rk3328-rock64.dtb + ├── rootfs.ext2 + ├── rootfs.ext4 -> rootfs.ext2 + ├── rootfs.tar + ├── sdcard.img + ├── u-boot-spl.bin + ├── u-boot-tpl-spl.img + ├── u-boot-tpl.bin + ├── u-boot-tpl.img + ├── u-boot.bin + └── u-boot.itb + +Creating bootable SD card +========================= + +!!! THIS COMMAND MAY WIPE YOUR DISK! +!!! MAKE SURE YOU PASSED CORRECT DEVICE! +!!! OR IT THIS WILL WIPE YOUR DISK! + +Simply invoke (as root) + + # dd if=output/images/sdcard.img of=/dev/sdX && sync + +Where X is your SD card device (not partition), of= argument may also be +/dev/mmcblk0 if you are using built-in sd card reader. + +Runtime +======= + +Login +----- + +By default, buildroot has no password, just type 'root' as login user, and +you will be logged in. + +Serial console +-------------- + +Serial console needs to be connected to pins (into 40pin rpi compatible part) + +pin 6: gnd +pin 8: tx +pin 10: rx + +Pin numbers are printed on board. + +Uart configuration is not standard. Rock64 uses 1500000 (1,5M) baudrate +with standard 8n1. + +Ethernet +-------- + +To enable ethernet you need to load modules for it: + +# modprobe stmmac +# modprobe dwmac-rk + +and since by default there is no dhcp installed, you need to configure ip +address, remember to change address to fit your network. + +# ifconfig eth0 up +# ip addr add 10.1.1.180/24 dev eth0 +# ping 10.1.1.1 +PING 10.1.1.1 (10.1.1.1): 56 data bytes +64 bytes from 10.1.1.1: seq=0 ttl=64 time=0.695 ms diff --git a/bsp/buildroot/board/qemu/aarch64-virt/linux-4.13.config b/bsp/buildroot/board/qemu/aarch64-virt/linux.config similarity index 97% rename from bsp/buildroot/board/qemu/aarch64-virt/linux-4.13.config rename to bsp/buildroot/board/qemu/aarch64-virt/linux.config index 93cb42f2..c9f2708a 100644 --- a/bsp/buildroot/board/qemu/aarch64-virt/linux-4.13.config +++ b/bsp/buildroot/board/qemu/aarch64-virt/linux.config @@ -1,6 +1,5 @@ CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y -CONFIG_FHANDLE=y CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y CONFIG_TASKSTATS=y @@ -10,7 +9,6 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_ARCH_VEXPRESS=y -CONFIG_SMP=y CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y diff --git a/bsp/buildroot/board/qemu/aarch64-virt/readme.txt b/bsp/buildroot/board/qemu/aarch64-virt/readme.txt index 9e09d953..1ff2fba4 100644 --- a/bsp/buildroot/board/qemu/aarch64-virt/readme.txt +++ b/bsp/buildroot/board/qemu/aarch64-virt/readme.txt @@ -1,7 +1,7 @@ Run the emulation with: - qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 + qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/arm-versatile/linux-4.4-nommu.config b/bsp/buildroot/board/qemu/arm-versatile/linux-nommu.config similarity index 94% rename from bsp/buildroot/board/qemu/arm-versatile/linux-4.4-nommu.config rename to bsp/buildroot/board/qemu/arm-versatile/linux-nommu.config index e1264dca..1d91d51a 100644 --- a/bsp/buildroot/board/qemu/arm-versatile/linux-4.4-nommu.config +++ b/bsp/buildroot/board/qemu/arm-versatile/linux-nommu.config @@ -1,11 +1,12 @@ # CONFIG_MMU is not set CONFIG_ARCH_VERSATILE=y +CONFIG_ARM_SINGLE_ARCH_VERSATILE=y CONFIG_SET_MEM_PARAM=y CONFIG_DRAM_BASE=0x00000000 CONFIG_DRAM_SIZE=0x08000000 CONFIG_ARCH_VERSATILE_PB=y CONFIG_MACH_VERSATILE_AB=y -# CONFIG_MACH_VERSATILE_DT is not set +CONFIG_MACH_VERSATILE_DT=y CONFIG_BINFMT_FLAT=y CONFIG_SYSVIPC=y CONFIG_MODULES=y diff --git a/bsp/buildroot/board/qemu/arm-versatile/linux-4.13.config b/bsp/buildroot/board/qemu/arm-versatile/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/arm-versatile/linux-4.13.config rename to bsp/buildroot/board/qemu/arm-versatile/linux.config diff --git a/bsp/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch b/bsp/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch index 961b6c3d..a2c0962f 100644 --- a/bsp/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch +++ b/bsp/buildroot/board/qemu/arm-versatile/patches/linux/versatile-nommu.patch @@ -1,30 +1,113 @@ -From b7c1666813424d329868335c8faf8886b0f85b6c Mon Sep 17 00:00:00 2001 -From: Greg Ungerer -Date: Thu, 11 Aug 2016 21:33:11 +1000 -Subject: [PATCH] arm: fix versatile platform to work in no-MMU mode +From 4ac4324dcdaf237aa34545b3795acb2e5c42d10e Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Fri, 1 Feb 2019 11:36:20 +0100 +Subject: [PATCH] arm-versatile-nommu: Linux patch -If CONFIG_MMU is disabled then do not carry out the virtual memory address -translation for IO devices. +Originally made by Waldemar Brodkorb from LKML. -With this fix in place we can run the ARM Versatile board (including its -qemu emulation) as a no-MMU Linux system. +Signed-Off-by: Waldemar Brodkorb +[Gerome: reformated as a Git patch] +Signed-off-by: Gerome Burlats +[Romain: fix Waldemar's authorship in Git patch] +Signed-off-by: Romain Naour +--- + arch/arm/Kconfig | 11 +++++++++++ + arch/arm/Kconfig.debug | 3 ++- + arch/arm/include/asm/mach/map.h | 1 + + arch/arm/mach-versatile/Kconfig | 5 +++-- + arch/arm/mach-versatile/Makefile.boot | 3 +++ + arch/arm/mach-versatile/versatile_dt.c | 4 ++++ + 6 files changed, 24 insertions(+), 3 deletions(-) + create mode 100644 arch/arm/mach-versatile/Makefile.boot -Signed-off-by: Greg Ungerer -Signed-off-by: Waldemar Brodkorb - -diff -Nur linux-4.4.17.orig/arch/arm/mach-versatile/include/mach/hardware.h linux-4.4.17/arch/arm/mach-versatile/include/mach/hardware.h ---- linux-4.4.17.orig/arch/arm/mach-versatile/include/mach/hardware.h 2016-08-10 11:49:43.000000000 +0200 -+++ linux-4.4.17/arch/arm/mach-versatile/include/mach/hardware.h 2016-08-25 23:19:03.691716292 +0200 -@@ -30,8 +30,12 @@ - #define VERSATILE_PCI_VIRT_BASE (void __iomem *)0xe8000000ul - #define VERSATILE_PCI_CFG_VIRT_BASE (void __iomem *)0xe9000000ul +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index e8cd55a5b04c..fc2dbff70394 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -353,6 +353,17 @@ config ARM_SINGLE_ARMV7M + select SPARSE_IRQ + select USE_OF + ++config ARM_SINGLE_ARCH_VERSATILE ++ bool "ARM Ltd. Versatile family" ++ depends on !MMU ++ select AUTO_ZRELADDR ++ select CLKSRC_OF ++ select COMMON_CLK ++ select GENERIC_CLOCKEVENTS ++ select GPIOLIB ++ select SPARSE_IRQ ++ select USE_OF ++ + config ARCH_EBSA110 + bool "EBSA-110" + select ARCH_USES_GETTIMEOFFSET +diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug +index f6fcb8a79889..92fc637d3db8 100644 +--- a/arch/arm/Kconfig.debug ++++ b/arch/arm/Kconfig.debug +@@ -1843,7 +1843,8 @@ config DEBUG_UNCOMPRESS + config UNCOMPRESS_INCLUDE + string + default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \ +- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M ++ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \ ++ ARM_SINGLE_ARCH_VERSATILE + default "mach/uncompress.h" + + config EARLY_PRINTK +diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h +index 9b7c328fb207..b1fe9c8b5c3e 100644 +--- a/arch/arm/include/asm/mach/map.h ++++ b/arch/arm/include/asm/mach/map.h +@@ -62,6 +62,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys, + #else + #define iotable_init(map,num) do { } while (0) + #define vm_reserve_area_early(a,s,c) do { } while (0) ++#define debug_ll_io_init() do { } while (0) + #endif + + #endif +diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig +index f5c275434d6c..06ad999d5978 100644 +--- a/arch/arm/mach-versatile/Kconfig ++++ b/arch/arm/mach-versatile/Kconfig +@@ -1,7 +1,8 @@ + # SPDX-License-Identifier: GPL-2.0 + config ARCH_VERSATILE +- bool "ARM Ltd. Versatile family" +- depends on ARCH_MULTI_V5 ++ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5 ++ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE ++ default y if ARM_SINGLE_ARCH_VERSATILE + select ARM_AMBA + select ARM_TIMER_SP804 + select ARM_VIC +diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot +new file mode 100644 +index 000000000000..eacfc3f5c33e +--- /dev/null ++++ b/arch/arm/mach-versatile/Makefile.boot +@@ -0,0 +1,3 @@ ++# Empty file waiting for deletion once Makefile.boot isn't needed any more. ++# Patch waits for application at ++# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 . +diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c +index 3c8d39c12909..8cfa05a37295 100644 +--- a/arch/arm/mach-versatile/versatile_dt.c ++++ b/arch/arm/mach-versatile/versatile_dt.c +@@ -37,7 +37,11 @@ + #include -+#ifdef CONFIG_MMU /* macro to get at MMIO space when running virtually */ ++#ifdef CONFIG_MMU #define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000) +#else +#define IO_ADDRESS(x) (x) +#endif - #define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n)) + /* +-- +2.14.5 + diff --git a/bsp/buildroot/board/qemu/arm-versatile/readme.txt b/bsp/buildroot/board/qemu/arm-versatile/readme.txt index 6e899f4b..33cdb7b8 100644 --- a/bsp/buildroot/board/qemu/arm-versatile/readme.txt +++ b/bsp/buildroot/board/qemu/arm-versatile/readme.txt @@ -4,9 +4,9 @@ Run the emulation with: Or for the noMMU emulation: - qemu-system-arm -M versatilepb -kernel output/images/zImage -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111 + qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111 The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/arm-vexpress/readme.txt b/bsp/buildroot/board/qemu/arm-vexpress/readme.txt index 57bb8141..35137e05 100644 --- a/bsp/buildroot/board/qemu/arm-vexpress/readme.txt +++ b/bsp/buildroot/board/qemu/arm-vexpress/readme.txt @@ -8,4 +8,4 @@ graphical window is the framebuffer. If you want to emulate more cores change "-smp 1" to "-smp 2" for dual-core or even "smp -4" for a quad-core configuration. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/m68k-mcf5208/linux-4.11.config b/bsp/buildroot/board/qemu/m68k-mcf5208/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/m68k-mcf5208/linux-4.11.config rename to bsp/buildroot/board/qemu/m68k-mcf5208/linux.config diff --git a/bsp/buildroot/board/qemu/m68k-mcf5208/readme.txt b/bsp/buildroot/board/qemu/m68k-mcf5208/readme.txt index 014a0dc0..d1c90868 100644 --- a/bsp/buildroot/board/qemu/m68k-mcf5208/readme.txt +++ b/bsp/buildroot/board/qemu/m68k-mcf5208/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/m68k-q800/linux-4.11.config b/bsp/buildroot/board/qemu/m68k-q800/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/m68k-q800/linux-4.11.config rename to bsp/buildroot/board/qemu/m68k-q800/linux.config diff --git a/bsp/buildroot/board/qemu/m68k-q800/readme.txt b/bsp/buildroot/board/qemu/m68k-q800/readme.txt index 78267a31..bead8cdd 100644 --- a/bsp/buildroot/board/qemu/m68k-q800/readme.txt +++ b/bsp/buildroot/board/qemu/m68k-q800/readme.txt @@ -4,5 +4,5 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.4.0 from https://github.com/vivier/qemu-m68k -You need following branch: q800-v2.4.0 +Tested with QEMU 2.11.0 from https://github.com/vivier/qemu-m68k +You need following branch: q800-v2.11.0 diff --git a/bsp/buildroot/board/qemu/microblazebe-mmu/linux-4.11.config b/bsp/buildroot/board/qemu/microblazebe-mmu/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/microblazebe-mmu/linux-4.11.config rename to bsp/buildroot/board/qemu/microblazebe-mmu/linux.config diff --git a/bsp/buildroot/board/qemu/microblazebe-mmu/readme.txt b/bsp/buildroot/board/qemu/microblazebe-mmu/readme.txt index cf0afdaf..4f52baff 100644 --- a/bsp/buildroot/board/qemu/microblazebe-mmu/readme.txt +++ b/bsp/buildroot/board/qemu/microblazebe-mmu/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/microblazeel-mmu/linux-4.11.config b/bsp/buildroot/board/qemu/microblazeel-mmu/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/microblazeel-mmu/linux-4.11.config rename to bsp/buildroot/board/qemu/microblazeel-mmu/linux.config diff --git a/bsp/buildroot/board/qemu/microblazeel-mmu/readme.txt b/bsp/buildroot/board/qemu/microblazeel-mmu/readme.txt index 9edf101a..0b0f330a 100644 --- a/bsp/buildroot/board/qemu/microblazeel-mmu/readme.txt +++ b/bsp/buildroot/board/qemu/microblazeel-mmu/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips32r2-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips32r2-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips32r2-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips32r2-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt index 7002ab1d..d1bbcc47 100644 --- a/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r2-malta/readme.txt @@ -6,4 +6,4 @@ The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been enabled. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips32r2el-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips32r2el-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips32r2el-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips32r2el-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt index bfc9c49d..4f59d343 100644 --- a/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r2el-malta/readme.txt @@ -6,4 +6,4 @@ The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. No keyboard support has been enabled. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips32r6-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips32r6-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips32r6-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips32r6-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt index 7d79c660..04de7e5c 100644 --- a/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r6-malta/readme.txt @@ -4,4 +4,4 @@ qemu-system-mips -M malta -cpu mips32r6-generic -kernel output/images/vmlinux -d The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips32r6el-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips32r6el-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips32r6el-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips32r6el-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt b/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt index 78f83505..88602de0 100644 --- a/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips32r6el-malta/readme.txt @@ -4,4 +4,4 @@ qemu-system-mipsel -M malta -cpu mips32r6-generic -kernel output/images/vmlinux The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips64-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips64-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips64-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips64-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips64-malta/readme.txt b/bsp/buildroot/board/qemu/mips64-malta/readme.txt index 8a732101..f0e7fef7 100644 --- a/bsp/buildroot/board/qemu/mips64-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64-malta/readme.txt @@ -5,4 +5,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips64el-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips64el-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips64el-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips64el-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips64el-malta/readme.txt b/bsp/buildroot/board/qemu/mips64el-malta/readme.txt index 25fc9ee1..03b149bc 100644 --- a/bsp/buildroot/board/qemu/mips64el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64el-malta/readme.txt @@ -5,4 +5,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. -Tested with QEMU 2.5.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips64r6-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips64r6-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips64r6-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips64r6-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt b/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt index 4a6c5fe7..bf5b517a 100644 --- a/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64r6-malta/readme.txt @@ -4,7 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.7.0 - -Might work with 2.6.0 by changing the -cpu entry to MIPS64R6-generic -since the naming was updated and the old name removed in 2.7.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/mips64r6el-malta/linux-4.11.config b/bsp/buildroot/board/qemu/mips64r6el-malta/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/mips64r6el-malta/linux-4.11.config rename to bsp/buildroot/board/qemu/mips64r6el-malta/linux.config diff --git a/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt b/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt index 9250cf37..d51bffd0 100644 --- a/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt +++ b/bsp/buildroot/board/qemu/mips64r6el-malta/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/nios2-10m50/linux-4.11.fragment b/bsp/buildroot/board/qemu/nios2-10m50/linux.fragment similarity index 100% rename from bsp/buildroot/board/qemu/nios2-10m50/linux-4.11.fragment rename to bsp/buildroot/board/qemu/nios2-10m50/linux.fragment diff --git a/bsp/buildroot/board/qemu/nios2-10m50/readme.txt b/bsp/buildroot/board/qemu/nios2-10m50/readme.txt index f7dee370..44cbcb08 100644 --- a/bsp/buildroot/board/qemu/nios2-10m50/readme.txt +++ b/bsp/buildroot/board/qemu/nios2-10m50/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0. +Tested with QEMU 2.12.0. diff --git a/bsp/buildroot/board/qemu/or1k/readme.txt b/bsp/buildroot/board/qemu/or1k/readme.txt index a04314e7..df6b467e 100644 --- a/bsp/buildroot/board/qemu/or1k/readme.txt +++ b/bsp/buildroot/board/qemu/or1k/readme.txt @@ -6,4 +6,4 @@ The login prompt will appear in the terminal that started Qemu. Ethernet support is not working, yet. -Tested with QEMU 2.9.0. +Tested with QEMU 2.12.0. diff --git a/bsp/buildroot/board/qemu/ppc-g3beige/linux-4.11.config b/bsp/buildroot/board/qemu/ppc-g3beige/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/ppc-g3beige/linux-4.11.config rename to bsp/buildroot/board/qemu/ppc-g3beige/linux.config diff --git a/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt b/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt index 42c97a0c..1c3b5153 100644 --- a/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt +++ b/bsp/buildroot/board/qemu/ppc-g3beige/readme.txt @@ -5,4 +5,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/ppc-mpc8544ds/linux-4.11.config b/bsp/buildroot/board/qemu/ppc-mpc8544ds/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/ppc-mpc8544ds/linux-4.11.config rename to bsp/buildroot/board/qemu/ppc-mpc8544ds/linux.config diff --git a/bsp/buildroot/board/qemu/ppc-mpc8544ds/readme.txt b/bsp/buildroot/board/qemu/ppc-mpc8544ds/readme.txt index 0008c84b..172aad56 100644 --- a/bsp/buildroot/board/qemu/ppc-mpc8544ds/readme.txt +++ b/bsp/buildroot/board/qemu/ppc-mpc8544ds/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/ppc-virtex-ml507/linux-4.9.config b/bsp/buildroot/board/qemu/ppc-virtex-ml507/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/ppc-virtex-ml507/linux-4.9.config rename to bsp/buildroot/board/qemu/ppc-virtex-ml507/linux.config diff --git a/bsp/buildroot/board/qemu/ppc-virtex-ml507/readme.txt b/bsp/buildroot/board/qemu/ppc-virtex-ml507/readme.txt index 42aa204b..6178ace8 100644 --- a/bsp/buildroot/board/qemu/ppc-virtex-ml507/readme.txt +++ b/bsp/buildroot/board/qemu/ppc-virtex-ml507/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.5.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/ppc64-e5500/linux.fragment b/bsp/buildroot/board/qemu/ppc64-e5500/linux.fragment new file mode 100644 index 00000000..071a55cc --- /dev/null +++ b/bsp/buildroot/board/qemu/ppc64-e5500/linux.fragment @@ -0,0 +1,10 @@ +# Enables generic PPC e500 base arch support for QEMU. +# The e5500 is a variant of the e500 arch. +CONFIG_PPC_QEMU_E500=y + +# Enable virtio (blk, rng and net devices) +CONFIG_VIRTIO=y +CONFIG_VIRTIO_PCI=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y diff --git a/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt b/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt new file mode 100644 index 00000000..cfc56397 --- /dev/null +++ b/bsp/buildroot/board/qemu/ppc64-e5500/readme.txt @@ -0,0 +1,7 @@ +Run the emulation with: + + qemu-system-ppc64 -M ppce500 -cpu e5500 -m 256 -kernel output/images/uImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append "console=ttyS0 root=/dev/vda" -serial mon:stdio -nographic + +The login prompt will appear in the terminal that started Qemu. + +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt b/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt index 9de13779..5069df9e 100644 --- a/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt +++ b/bsp/buildroot/board/qemu/ppc64-pseries/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt b/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt index 95455e94..c23da70d 100644 --- a/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt +++ b/bsp/buildroot/board/qemu/ppc64le-pseries/readme.txt @@ -4,4 +4,4 @@ qemu-system-ppc64 -M pseries -cpu POWER8 -m 256 -kernel output/images/vmlinux -a The login prompt will appear in the terminal window. -Tested with QEMU 2.10.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/riscv32-virt/linux.config b/bsp/buildroot/board/qemu/riscv32-virt/linux.config new file mode 100644 index 00000000..c25583f7 --- /dev/null +++ b/bsp/buildroot/board/qemu/riscv32-virt/linux.config @@ -0,0 +1,23 @@ +CONFIG_ARCH_RV32I=y +CONFIG_SMP=y +CONFIG_NR_CPUS=8 +CONFIG_PCI=y +CONFIG_SYSVIPC=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_WIRELESS is not set +CONFIG_VIRTIO_BLK=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +# CONFIG_ETHERNET is not set +# CONFIG_WLAN is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRTIO_MMIO=y +CONFIG_EXT2_FS=y +CONFIG_EXT4_FS=y +CONFIG_TMPFS=y diff --git a/bsp/buildroot/board/qemu/riscv32-virt/readme.txt b/bsp/buildroot/board/qemu/riscv32-virt/readme.txt new file mode 100644 index 00000000..2da99580 --- /dev/null +++ b/bsp/buildroot/board/qemu/riscv32-virt/readme.txt @@ -0,0 +1,7 @@ +Run the emulation with: + + qemu-system-riscv32 -M virt -kernel output/images/bbl -append "root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic + +The login prompt will appear in the terminal that started Qemu. + +Tested with QEMU 2.12.1 diff --git a/bsp/buildroot/board/qemu/riscv64-virt/readme.txt b/bsp/buildroot/board/qemu/riscv64-virt/readme.txt new file mode 100644 index 00000000..9f6e35c8 --- /dev/null +++ b/bsp/buildroot/board/qemu/riscv64-virt/readme.txt @@ -0,0 +1,7 @@ +Run the emulation with: + + qemu-system-riscv64 -M virt -kernel output/images/bbl -append "root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic + +The login prompt will appear in the terminal that started Qemu. + +Tested with QEMU 2.12.1 diff --git a/bsp/buildroot/board/qemu/sh4-r2d/linux-4.9.config b/bsp/buildroot/board/qemu/sh4-r2d/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/sh4-r2d/linux-4.9.config rename to bsp/buildroot/board/qemu/sh4-r2d/linux.config diff --git a/bsp/buildroot/board/qemu/sh4-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch b/bsp/buildroot/board/qemu/sh4-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch new file mode 100644 index 00000000..36c82d84 --- /dev/null +++ b/bsp/buildroot/board/qemu/sh4-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch @@ -0,0 +1,61 @@ +From aaaced6d2d6f796ed77e4725ed7ccbedb189c180 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 15 Jun 2018 17:43:38 +0200 +Subject: [PATCH] Revert: serial: sh-sci: increase RX FIFO trigger defaults for + (H)SCIF +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit 18e8cf159177100e69d528293f8cf6875c0b1bca (kernel) + +The last Qemu kernel update [1] introduced a regresion in sh4 SCIF +serial device. Some keyboard presses are very slow to be taken into +account, perhaps not even taken into account at all. This would +explain why our test infrastructure doesn’t manage to login as root +[2][3][4]. + +git bisect reported a kernel patch from 4.11, increasing RX FIFO +trigger defaults value for sh-sci (H)SCIF. The kernel patch itself +looks good but the Qemu emulation is not ready to handle this new +setting. + +From Qemu (2.12.0): target/sh4/README.sh4 +"Configuration of the second serial port (SCIF) is supported. FIFO +handling infrastructure has been started but is not completed yet." + +In order to be able to test sh4 architecture with newer kernel, +revert to the old behaviour. + +[1] https://git.buildroot.net/buildroot/commit/?id=03fb00f2175cdb4565e26fcb9b3da1c1059de1bd +[2] https://gitlab.com/free-electrons/toolchains-builder/-/jobs/72006425 +[3] https://gitlab.com/free-electrons/toolchains-builder/-/jobs/72006427 +[4] https://gitlab.com/free-electrons/toolchains-builder/-/jobs/72006426 + +Signed-off-by: Romain Naour +Cc: Thomas Petazzoni +--- + drivers/tty/serial/sh-sci.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c +index ab757546c6db..138e4dec44fb 100644 +--- a/drivers/tty/serial/sh-sci.c ++++ b/drivers/tty/serial/sh-sci.c +@@ -2793,11 +2793,8 @@ static int sci_init_single(struct platform_device *dev, + sci_port->rx_trigger = 32; + break; + case PORT_SCIF: +- if (p->regtype == SCIx_SH7705_SCIF_REGTYPE) +- /* RX triggering not implemented for this IP */ +- sci_port->rx_trigger = 1; +- else +- sci_port->rx_trigger = 8; ++ /* RX triggering not implemented in Qemu emulation */ ++ sci_port->rx_trigger = 1; + break; + default: + sci_port->rx_trigger = 1; +-- +2.14.4 + diff --git a/bsp/buildroot/board/qemu/sh4-r2d/readme.txt b/bsp/buildroot/board/qemu/sh4-r2d/readme.txt index aa0e369d..d22af73a 100644 --- a/bsp/buildroot/board/qemu/sh4-r2d/readme.txt +++ b/bsp/buildroot/board/qemu/sh4-r2d/readme.txt @@ -5,4 +5,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. -Tested with QEMU 2.5.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/sh4eb-r2d/linux-4.9.config b/bsp/buildroot/board/qemu/sh4eb-r2d/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/sh4eb-r2d/linux-4.9.config rename to bsp/buildroot/board/qemu/sh4eb-r2d/linux.config diff --git a/bsp/buildroot/board/qemu/sh4eb-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch b/bsp/buildroot/board/qemu/sh4eb-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch new file mode 100644 index 00000000..36c82d84 --- /dev/null +++ b/bsp/buildroot/board/qemu/sh4eb-r2d/patches/linux/0001-Revert-serial-sh-sci-increase-RX-FIFO-trigger-defaul.patch @@ -0,0 +1,61 @@ +From aaaced6d2d6f796ed77e4725ed7ccbedb189c180 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 15 Jun 2018 17:43:38 +0200 +Subject: [PATCH] Revert: serial: sh-sci: increase RX FIFO trigger defaults for + (H)SCIF +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit 18e8cf159177100e69d528293f8cf6875c0b1bca (kernel) + +The last Qemu kernel update [1] introduced a regresion in sh4 SCIF +serial device. Some keyboard presses are very slow to be taken into +account, perhaps not even taken into account at all. This would +explain why our test infrastructure doesn’t manage to login as root +[2][3][4]. + +git bisect reported a kernel patch from 4.11, increasing RX FIFO +trigger defaults value for sh-sci (H)SCIF. The kernel patch itself +looks good but the Qemu emulation is not ready to handle this new +setting. + +From Qemu (2.12.0): target/sh4/README.sh4 +"Configuration of the second serial port (SCIF) is supported. FIFO +handling infrastructure has been started but is not completed yet." + +In order to be able to test sh4 architecture with newer kernel, +revert to the old behaviour. + +[1] https://git.buildroot.net/buildroot/commit/?id=03fb00f2175cdb4565e26fcb9b3da1c1059de1bd +[2] https://gitlab.com/free-electrons/toolchains-builder/-/jobs/72006425 +[3] https://gitlab.com/free-electrons/toolchains-builder/-/jobs/72006427 +[4] https://gitlab.com/free-electrons/toolchains-builder/-/jobs/72006426 + +Signed-off-by: Romain Naour +Cc: Thomas Petazzoni +--- + drivers/tty/serial/sh-sci.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c +index ab757546c6db..138e4dec44fb 100644 +--- a/drivers/tty/serial/sh-sci.c ++++ b/drivers/tty/serial/sh-sci.c +@@ -2793,11 +2793,8 @@ static int sci_init_single(struct platform_device *dev, + sci_port->rx_trigger = 32; + break; + case PORT_SCIF: +- if (p->regtype == SCIx_SH7705_SCIF_REGTYPE) +- /* RX triggering not implemented for this IP */ +- sci_port->rx_trigger = 1; +- else +- sci_port->rx_trigger = 8; ++ /* RX triggering not implemented in Qemu emulation */ ++ sci_port->rx_trigger = 1; + break; + default: + sci_port->rx_trigger = 1; +-- +2.14.4 + diff --git a/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt b/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt index 147adc6e..daf515ab 100644 --- a/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt +++ b/bsp/buildroot/board/qemu/sh4eb-r2d/readme.txt @@ -5,4 +5,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. -Tested with QEMU 2.5.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/sparc-ss10/linux-4.11.config b/bsp/buildroot/board/qemu/sparc-ss10/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/sparc-ss10/linux-4.11.config rename to bsp/buildroot/board/qemu/sparc-ss10/linux.config diff --git a/bsp/buildroot/board/qemu/sparc-ss10/readme.txt b/bsp/buildroot/board/qemu/sparc-ss10/readme.txt index 0ce461d2..df6a75a3 100644 --- a/bsp/buildroot/board/qemu/sparc-ss10/readme.txt +++ b/bsp/buildroot/board/qemu/sparc-ss10/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/sparc64-sun4u/linux-4.11.config b/bsp/buildroot/board/qemu/sparc64-sun4u/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/sparc64-sun4u/linux-4.11.config rename to bsp/buildroot/board/qemu/sparc64-sun4u/linux.config diff --git a/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt b/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt index adfff708..24d5bbaf 100644 --- a/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt +++ b/bsp/buildroot/board/qemu/sparc64-sun4u/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/x86/linux-4.15.config b/bsp/buildroot/board/qemu/x86/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/x86/linux-4.15.config rename to bsp/buildroot/board/qemu/x86/linux.config diff --git a/bsp/buildroot/board/qemu/x86/readme.txt b/bsp/buildroot/board/qemu/x86/readme.txt index b003ad53..c5e68773 100644 --- a/bsp/buildroot/board/qemu/x86/readme.txt +++ b/bsp/buildroot/board/qemu/x86/readme.txt @@ -6,4 +6,4 @@ Optionally add -smp N to emulate a SMP system with N CPUs. The login prompt will appear in the graphical window. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/x86_64/linux-4.15.config b/bsp/buildroot/board/qemu/x86_64/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/x86_64/linux-4.15.config rename to bsp/buildroot/board/qemu/x86_64/linux.config diff --git a/bsp/buildroot/board/qemu/x86_64/readme.txt b/bsp/buildroot/board/qemu/x86_64/readme.txt index ed7b5f55..425e34b1 100644 --- a/bsp/buildroot/board/qemu/x86_64/readme.txt +++ b/bsp/buildroot/board/qemu/x86_64/readme.txt @@ -6,4 +6,4 @@ Optionally add -smp N to emulate a SMP system with N CPUs. The login prompt will appear in the graphical window. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/qemu/xtensa-lx60/linux-4.11-nommu.config b/bsp/buildroot/board/qemu/xtensa-lx60/linux-nommu.config similarity index 96% rename from bsp/buildroot/board/qemu/xtensa-lx60/linux-4.11-nommu.config rename to bsp/buildroot/board/qemu/xtensa-lx60/linux-nommu.config index 10f7ee12..8077645e 100644 --- a/bsp/buildroot/board/qemu/xtensa-lx60/linux-4.11-nommu.config +++ b/bsp/buildroot/board/qemu/xtensa-lx60/linux-nommu.config @@ -6,6 +6,7 @@ CONFIG_XTENSA_VARIANT_CUSTOM_NAME="dc233c" # CONFIG_XTENSA_VARIANT_MMU is not set CONFIG_XTENSA_UNALIGNED_USER=y CONFIG_PREEMPT=y +CONFIG_MEMMAP_CACHEATTR=0x2cccccc7 CONFIG_KERNEL_LOAD_ADDRESS=0x00003000 # CONFIG_PCI is not set CONFIG_XTENSA_PLATFORM_XTFPGA=y diff --git a/bsp/buildroot/board/qemu/xtensa-lx60/linux-4.11.config b/bsp/buildroot/board/qemu/xtensa-lx60/linux.config similarity index 100% rename from bsp/buildroot/board/qemu/xtensa-lx60/linux-4.11.config rename to bsp/buildroot/board/qemu/xtensa-lx60/linux.config diff --git a/bsp/buildroot/board/qemu/xtensa-lx60/readme.txt b/bsp/buildroot/board/qemu/xtensa-lx60/readme.txt index 9a82c537..4287e1f0 100644 --- a/bsp/buildroot/board/qemu/xtensa-lx60/readme.txt +++ b/bsp/buildroot/board/qemu/xtensa-lx60/readme.txt @@ -4,4 +4,4 @@ Run the emulation with: The login prompt will appear in the terminal that started Qemu. -Tested with QEMU 2.9.0 +Tested with QEMU 2.12.0 diff --git a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0.cfg b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0.cfg index 212c3060..a9d4c450 100644 --- a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0.cfg +++ b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0.cfg @@ -2,7 +2,6 @@ image boot.vfat { vfat { files = { "bcm2708-rpi-b-plus.dtb", - "bcm2708-rpi-0-w.dtb", "rpi-firmware/bootcode.bin", "rpi-firmware/cmdline.txt", "rpi-firmware/config.txt", diff --git a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0w.cfg b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0w.cfg new file mode 100644 index 00000000..3aafd9b6 --- /dev/null +++ b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi0w.cfg @@ -0,0 +1,31 @@ +image boot.vfat { + vfat { + files = { + "bcm2708-rpi-0-w.dtb", + "rpi-firmware/bootcode.bin", + "rpi-firmware/cmdline.txt", + "rpi-firmware/config.txt", + "rpi-firmware/fixup.dat", + "rpi-firmware/start.elf", + "rpi-firmware/overlays", + "zImage" + } + } + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg index c5f86527..0d0ca750 100644 --- a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg +++ b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3-64.cfg @@ -2,6 +2,7 @@ image boot.vfat { vfat { files = { "bcm2710-rpi-3-b.dtb", + "bcm2710-rpi-3-b-plus.dtb", "bcm2837-rpi-3-b.dtb", "rpi-firmware/bootcode.bin", "rpi-firmware/cmdline.txt", diff --git a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3.cfg b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3.cfg index 98ff7090..0a547241 100644 --- a/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3.cfg +++ b/bsp/buildroot/board/raspberrypi/genimage-raspberrypi3.cfg @@ -2,6 +2,7 @@ image boot.vfat { vfat { files = { "bcm2710-rpi-3-b.dtb", + "bcm2710-rpi-3-b-plus.dtb", "bcm2710-rpi-cm3.dtb", "rpi-firmware/bootcode.bin", "rpi-firmware/cmdline.txt", diff --git a/bsp/buildroot/board/raspberrypi/post-image.sh b/bsp/buildroot/board/raspberrypi/post-image.sh index 3c6c9384..70447cd4 100755 --- a/bsp/buildroot/board/raspberrypi/post-image.sh +++ b/bsp/buildroot/board/raspberrypi/post-image.sh @@ -23,11 +23,11 @@ __EOF__ --aarch64) # Run a 64bits kernel (armv8) sed -e '/^kernel=/s,=.*,=Image,' -i "${BINARIES_DIR}/rpi-firmware/config.txt" - if ! grep -qE '^arm_control=0x200' "${BINARIES_DIR}/rpi-firmware/config.txt"; then + if ! grep -qE '^arm_64bit=1' "${BINARIES_DIR}/rpi-firmware/config.txt"; then cat << __EOF__ >> "${BINARIES_DIR}/rpi-firmware/config.txt" # enable 64bits support -arm_control=0x200 +arm_64bit=1 __EOF__ fi diff --git a/bsp/buildroot/board/raspberrypi/readme.txt b/bsp/buildroot/board/raspberrypi/readme.txt index 94826934..9f915810 100644 --- a/bsp/buildroot/board/raspberrypi/readme.txt +++ b/bsp/buildroot/board/raspberrypi/readme.txt @@ -30,7 +30,7 @@ For model 2 B: $ make raspberrypi2_defconfig -For model 3 B: +For model 3 B and B+: $ make raspberrypi3_defconfig @@ -56,6 +56,7 @@ After building, you should obtain this tree: +-- bcm2708-rpi-b-plus.dtb [1] +-- bcm2709-rpi-2-b.dtb [1] +-- bcm2710-rpi-3-b.dtb [1] + +-- bcm2710-rpi-3-b-plus.dtb [1] +-- boot.vfat +-- rootfs.ext4 +-- rpi-firmware/ diff --git a/bsp/buildroot/board/raspberrypi0w b/bsp/buildroot/board/raspberrypi0w new file mode 120000 index 00000000..fcdafc81 --- /dev/null +++ b/bsp/buildroot/board/raspberrypi0w @@ -0,0 +1 @@ +raspberrypi \ No newline at end of file diff --git a/bsp/buildroot/board/sheevaplug/readme.txt b/bsp/buildroot/board/sheevaplug/readme.txt new file mode 100644 index 00000000..e0ed2684 --- /dev/null +++ b/bsp/buildroot/board/sheevaplug/readme.txt @@ -0,0 +1,36 @@ +Sheevaplug +========== + +Once the build process is finished you will have the following files +in the output/images/ directory: + +- u-boot.kwb +- uImage.kirkwood-sheevaplug +- rootfs.jffs2 + +Copy these to a TFTP server, connect ethernet and mini-USB cable and +power up the board. Stop the board in U-Boot and update U-Boot by +executing: + +setenv serverip +setenv bootfile +bootp +nand erase 0x0 0x80000 +nand write $fileaddr 0x0 0x80000 +reset + +Once the new U-Boot boots up, stop it again and update Linux kernel +and rootfs by: + +setenv serverip +setenv bootfile +bootp +nand erase.part kernel +nand write $fileaddr kernel 0x400000 + +setenv bootfile +bootp +nand erase.part rootfs +nand write $fileaddr rootfs $filesize + +reset diff --git a/bsp/buildroot/board/solidrun/clearfog/extlinux.conf b/bsp/buildroot/board/solidrun/clearfog/extlinux.conf new file mode 100644 index 00000000..f35974e3 --- /dev/null +++ b/bsp/buildroot/board/solidrun/clearfog/extlinux.conf @@ -0,0 +1,4 @@ +label Clearfog Linux + kernel /boot/zImage + devicetree /boot/armada-388-clearfog-base.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk0p1 rootwait diff --git a/bsp/buildroot/board/solidrun/clearfog/genimage.cfg b/bsp/buildroot/board/solidrun/clearfog/genimage.cfg new file mode 100644 index 00000000..8963619c --- /dev/null +++ b/bsp/buildroot/board/solidrun/clearfog/genimage.cfg @@ -0,0 +1,16 @@ +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-spl.kwb" + offset = 512 + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + offset = 1M + } +} diff --git a/bsp/buildroot/board/solidrun/clearfog/linux.fragment b/bsp/buildroot/board/solidrun/clearfog/linux.fragment new file mode 100644 index 00000000..b7ed5b00 --- /dev/null +++ b/bsp/buildroot/board/solidrun/clearfog/linux.fragment @@ -0,0 +1 @@ +CONFIG_SENSORS_MCP3021=y diff --git a/bsp/buildroot/board/solidrun/clearfog/post-build.sh b/bsp/buildroot/board/solidrun/clearfog/post-build.sh new file mode 100755 index 00000000..1f5ff6a6 --- /dev/null +++ b/bsp/buildroot/board/solidrun/clearfog/post-build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/solidrun/clearfog/readme.txt b/bsp/buildroot/board/solidrun/clearfog/readme.txt new file mode 100644 index 00000000..60bf9532 --- /dev/null +++ b/bsp/buildroot/board/solidrun/clearfog/readme.txt @@ -0,0 +1,61 @@ +********************** +SolidRun Clearfog Base +********************** + +This file documents Buildroot's support for the Clearfog Base by Solid Run. + +Vendor's documentation: +https://wiki.solid-run.com/doku.php?id=products:a38x:documents + +Warning for eMMC variant of the MicroSoM +======================================== + +If you bought a MicroSoM version that includes an on-board eMMC flash, the +built-in microSD card slot *WILL NOT WORK*. The Internet says that you have to +upload the first bootloader via UART. This manual does not cover these steps; +only MicroSoMs without the eMMC are supported. + +Build +===== + +Start with the default Buildroot's configuration for Clearfog: + + make solidrun_clearfog_defconfig + +Build all components: + + make + +The results of the build are available in ./output/images. + +Create a bootable SD card +========================= + +To determine the device associated to the SD card have a look in the +/proc/partitions file: + + cat /proc/partitions + +Buildroot prepares a bootable "sdcard.img" image in the output/images/ +directory, ready to be dumped on a microSD card. Launch the following +command as root: + + dd if=output/images/sdcard.img of=/dev/ conv=fdatasync + +*** WARNING! The dd command will destroy all the card content. Use with care! *** + +For details about the medium image layout, see the definition in +board/solidrun/clearfog/genimage.cfg. + +Boot the Clearfog board +======================= + +Here's how to boot the board: + +- Set up the DIP switches for microSD boot. The correct values are: + 1: off, 2: off, 3: ON, 4: ON, 5: ON. In this scheme, switch #1" is closer to + the ethernet ports and #5 is closer to the microSD card, "ON" means towards + the SOM, and "off" means towards the SFP cage. +- Connect to the board's console over the microUSB port. +- Insert the SD card into the slot on the board (pins up). +- Power up the board. diff --git a/bsp/buildroot/board/solidrun/macchiatobin/extlinux.conf b/bsp/buildroot/board/solidrun/macchiatobin/extlinux.conf new file mode 100644 index 00000000..1008af1a --- /dev/null +++ b/bsp/buildroot/board/solidrun/macchiatobin/extlinux.conf @@ -0,0 +1,4 @@ +label Macchiatobin Linux + kernel /boot/Image + devicetree /boot/armada-8040-mcbin.dtb + append console=ttyS0,115200n8 root=/dev/mmcblk1p1 rootwait diff --git a/bsp/buildroot/board/solidrun/macchiatobin/linux-extras.config b/bsp/buildroot/board/solidrun/macchiatobin/linux-extras.config index 11267d2f..29fd6306 100644 --- a/bsp/buildroot/board/solidrun/macchiatobin/linux-extras.config +++ b/bsp/buildroot/board/solidrun/macchiatobin/linux-extras.config @@ -1,3 +1,3 @@ CONFIG_MARVELL_PHY=y CONFIG_MARVELL_10G_PHY=y -CONFIG_PHY_MVEBU_CP110_COMPHY=y +CONFIG_SFP=y diff --git a/bsp/buildroot/board/solidrun/macchiatobin/post-build-mainline.sh b/bsp/buildroot/board/solidrun/macchiatobin/post-build-mainline.sh new file mode 100755 index 00000000..1f5ff6a6 --- /dev/null +++ b/bsp/buildroot/board/solidrun/macchiatobin/post-build-mainline.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf diff --git a/bsp/buildroot/board/solidrun/macchiatobin/readme.txt b/bsp/buildroot/board/solidrun/macchiatobin/readme.txt index dfbd6e79..dc5d6c79 100644 --- a/bsp/buildroot/board/solidrun/macchiatobin/readme.txt +++ b/bsp/buildroot/board/solidrun/macchiatobin/readme.txt @@ -15,19 +15,20 @@ How to build There are two build options: mainline support and vendor support. For the mainline BSP, we use: - - Linux v4.15 - - U-Boot v2018.01 + - Linux v4.19.2 + - U-Boot v2018.11 For the vendor BSP, we use the sources available from Marvell Github page at https://github.com/MarvellEmbeddedProcessors, which uses: - - Linux v4.4.52 - - U-Boot v2017.03 + - Linux v4.4.120 + - U-Boot v2018.03 -At the moment mainline support for the board is a work in progress. -Mainline kernel 4.15 enables eth2 in 1Gb (RJ45 connector J5) and -eth0 in 10Gb (SFP connector CON15 and RJ45 connector CON16). -The vendor BSP enables more hardware features out of the box, -e.g. all the network interfaces. +At the moment mainline support for the board is a work in +progress. Mainline kernel 4.19 enables eth2 in 1Gb (RJ45 connector J5), +copper 10Gb interfaces, and automatic configuration of select SFP +modules on the SFP cages. The vendor BSP enables more hardware features +out of the box, but lacks support for SFP detection and automatic +configuration. To use the mainline BSP run the following commands: @@ -73,10 +74,13 @@ Insert the micro SDcard in the MacchiatoBin board and power it up. The serial console is accessible at the micro-USB Type-B connector marked CON9. The serial line settings are 115200 8N1. -By default U-Boot will load its environment from the SPI flash. On the -first boot SPI flash may be empty or it may contain a legacy -environment incompatible with up-to-date mainline U-Boot and -kernel. Then the following commands can be used to boot the board: +Note: the following text only applies to the vendor BSP from +solidrun_macchiatobin_marvell_defconfig. + +By default Marvell provided U-Boot will load its environment from the +SPI flash. On the first boot SPI flash may be empty or it may contain a +legacy environment that prevents proper boot. Then the following +commands can be used to boot the board: => ext4load mmc 1:1 0x01700000 /boot/uEnv-example.txt => env import -t 0x01700000 $filesize diff --git a/bsp/buildroot/board/solidrun/macchiatobin/uboot-fragment.config b/bsp/buildroot/board/solidrun/macchiatobin/uboot-fragment.config new file mode 100644 index 00000000..717a0942 --- /dev/null +++ b/bsp/buildroot/board/solidrun/macchiatobin/uboot-fragment.config @@ -0,0 +1,2 @@ +CONFIG_ENV_IS_IN_MMC=y +# CONFIG_ENV_IS_IN_SPI_FLASH is not set diff --git a/bsp/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab b/bsp/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab deleted file mode 100644 index 7412a273..00000000 --- a/bsp/buildroot/board/synopsys/axs10x/fs-overlay/etc/inittab +++ /dev/null @@ -1,42 +0,0 @@ -# /etc/inittab -# -# Copyright (C) 2001 Erik Andersen -# -# Note: BusyBox init doesn't support runlevels. The runlevels field is -# completely ignored by BusyBox init. If you want runlevels, use -# sysvinit. -# -# Format for each entry: ::: -# -# id == tty to run on, or empty for /dev/console -# runlevels == ignored -# action == one of sysinit, respawn, askfirst, wait, and once -# process == program to run - -# Startup the system -::sysinit:/bin/mount -t proc proc /proc -::sysinit:/bin/mount -o remount,rw / -::sysinit:/bin/mkdir -p /dev/pts /dev/shm -::sysinit:/bin/mount -a -::sysinit:/sbin/swapon -a -null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd -null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin -null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout -null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr -::sysinit:/bin/hostname -F /etc/hostname -# now run any rc scripts -::sysinit:/etc/init.d/rcS - -# /sbin/getty invocation for tty0 -tty0::respawn:/sbin/getty 115200 tty0 - -# Put a getty on the serial port -console::respawn:/sbin/getty -L console 0 vt100 - -# Stuff to do for the 3-finger salute -::ctrlaltdel:/sbin/reboot - -# Stuff to do before rebooting -::shutdown:/etc/init.d/rcK -::shutdown:/sbin/swapoff -a -::shutdown:/bin/umount -a -r diff --git a/bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch b/bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch deleted file mode 100644 index 7af878d8..00000000 --- a/bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0001-axs103-Clean-up-smp_kick_all_cpus.patch +++ /dev/null @@ -1,48 +0,0 @@ -From ee5a5a51780bcb17e5240335ddfa9c98a0e6f890 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Thu, 30 Mar 2017 19:18:30 +0300 -Subject: [PATCH] axs103: Clean-up smp_kick_all_cpus() - - * Rely on default pulse polarity value - * Don't mess with "multicore" value as it doesn't affect execution - -In essence we now do a bare minimal stuff: - 1) Select HS38x2_1 with CORE_SEL=1 bits - 2) Select "manual" core start (via CREG) with START_MODE=0 - 3) Generate cpu_start pulse with START=1 - -Signed-off-by: Alexey Brodkin -Signed-off-by: Vlad Zakharov ---- - board/synopsys/axs10x/axs10x.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - -diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c -index a5e774b2cf7b..57c790220f71 100644 ---- a/board/synopsys/axs10x/axs10x.c -+++ b/board/synopsys/axs10x/axs10x.c -@@ -61,16 +61,14 @@ void smp_kick_all_cpus(void) - { - /* CPU start CREG */ - #define AXC003_CREG_CPU_START 0xF0001400 -- - /* Bits positions in CPU start CREG */ - #define BITS_START 0 --#define BITS_POLARITY 8 -+#define BITS_START_MODE 4 - #define BITS_CORE_SEL 9 --#define BITS_MULTICORE 12 -- --#define CMD (1 << BITS_MULTICORE) | (1 << BITS_CORE_SEL) | \ -- (1 << BITS_POLARITY) | (1 << BITS_START) - -- writel(CMD, (void __iomem *)AXC003_CREG_CPU_START); -+ int cmd = readl((void __iomem *)AXC003_CREG_CPU_START); -+ cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START); -+ cmd &= ~(1 << BITS_START_MODE); -+ writel(cmd, (void __iomem *)AXC003_CREG_CPU_START); - } - #endif --- -2.7.4 - diff --git a/bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch b/bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch deleted file mode 100644 index 0fcc0e63..00000000 --- a/bsp/buildroot/board/synopsys/axs10x/patches/u-boot/0002-axs103-Support-slave-core-kick-start-on-axs103-v1.1-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From a5fa3b17cb10ce020f8b7fe6a26c45d75f55b481 Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Fri, 31 Mar 2017 11:14:35 +0300 -Subject: [PATCH] axs103: Support slave core kick-start on axs103 v1.1 - firmware - -In axs103 v1.1 procedure to kick-start slave cores has changed quite a bit -compared to previous implementation. - -In particular: - * We used to have a generic START bit for all cores selected by CORE_SEL - mask. But now we don't touch CORE_SEL at all because we have a dedicated - START bit for each core: - bit 0: Core 0 (master) - bit 1: Core 1 (slave) - * Now there's no need to select "manual" mode of core start - -Additional challenge for us is how to tell which axs103 firmware we're -dealing with. For now we'll rely on ARC core version which was bumped -from 2.1c to 3.0. - -Signed-off-by: Alexey Brodkin -Signed-off-by: Vlad Zakharov ---- - board/synopsys/axs10x/axs10x.c | 23 +++++++++++++++++++++-- - 1 file changed, 21 insertions(+), 2 deletions(-) - -diff --git a/board/synopsys/axs10x/axs10x.c b/board/synopsys/axs10x/axs10x.c -index 57c790220f71..e6b69da3da7f 100644 ---- a/board/synopsys/axs10x/axs10x.c -+++ b/board/synopsys/axs10x/axs10x.c -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - #include "axs10x.h" - - DECLARE_GLOBAL_DATA_PTR; -@@ -66,9 +67,27 @@ void smp_kick_all_cpus(void) - #define BITS_START_MODE 4 - #define BITS_CORE_SEL 9 - -+/* -+ * In axs103 v1.1 START bits semantics has changed quite a bit. -+ * We used to have a generic START bit for all cores selected by CORE_SEL mask. -+ * But now we don't touch CORE_SEL at all because we have a dedicated START bit -+ * for each core: -+ * bit 0: Core 0 (master) -+ * bit 1: Core 1 (slave) -+ */ -+#define BITS_START_CORE1 1 -+ -+#define ARCVER_HS38_3_0 0x53 -+ -+ int core_family = read_aux_reg(ARC_AUX_IDENTITY) & 0xff; - int cmd = readl((void __iomem *)AXC003_CREG_CPU_START); -- cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START); -- cmd &= ~(1 << BITS_START_MODE); -+ -+ if (core_family < ARCVER_HS38_3_0) { -+ cmd |= (1 << BITS_CORE_SEL) | (1 << BITS_START); -+ cmd &= ~(1 << BITS_START_MODE); -+ } else { -+ cmd |= (1 << BITS_START_CORE1); -+ } - writel(cmd, (void __iomem *)AXC003_CREG_CPU_START); - } - #endif --- -2.7.4 - diff --git a/bsp/buildroot/board/synopsys/axs10x/post-build.sh b/bsp/buildroot/board/synopsys/axs10x/post-build.sh new file mode 100755 index 00000000..f23c8a99 --- /dev/null +++ b/bsp/buildroot/board/synopsys/axs10x/post-build.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +set -u +set -e + +# Add a console on tty0 +if [ -e ${TARGET_DIR}/etc/inittab ]; then + grep -qE '^tty0::' ${TARGET_DIR}/etc/inittab || \ + sed -i '/GENERIC_SERIAL/a\ +tty0::respawn:/sbin/getty 115200 tty0' ${TARGET_DIR}/etc/inittab +fi diff --git a/bsp/buildroot/board/digilent/zybo/genimage.cfg b/bsp/buildroot/board/synopsys/hsdk/genimage.cfg similarity index 70% rename from bsp/buildroot/board/digilent/zybo/genimage.cfg rename to bsp/buildroot/board/synopsys/hsdk/genimage.cfg index f39186d0..9103b202 100644 --- a/bsp/buildroot/board/digilent/zybo/genimage.cfg +++ b/bsp/buildroot/board/synopsys/hsdk/genimage.cfg @@ -1,15 +1,13 @@ image boot.vfat { vfat { files = { - "BOOT.BIN", - "uEnv.txt", - "system.bit", - "zynq-zybo.dtb", - "u-boot-dtb.img", "uImage" } + file uboot.env { + image = "uboot-env.bin" + } } - size = 32M + size = 20M } image sdcard.img { diff --git a/bsp/buildroot/board/synopsys/hsdk/linux.fragment b/bsp/buildroot/board/synopsys/hsdk/linux.fragment new file mode 100644 index 00000000..45d6c69a --- /dev/null +++ b/bsp/buildroot/board/synopsys/hsdk/linux.fragment @@ -0,0 +1,2 @@ +CONFIG_INITRAMFS_SOURCE="" +CONFIG_ARC_UBOOT_SUPPORT=y diff --git a/bsp/buildroot/board/synopsys/hsdk/readme.txt b/bsp/buildroot/board/synopsys/hsdk/readme.txt new file mode 100644 index 00000000..f4c65011 --- /dev/null +++ b/bsp/buildroot/board/synopsys/hsdk/readme.txt @@ -0,0 +1,33 @@ +Synopsys, Inc. +ARC HS Development Kit (HSDK) + +https://embarc.org/platforms.html + +How to build it +=============== + +Select the default configuration for the target: +$ make snps_archs38_hsdk_defconfig + +Optional: modify the configuration: +$ make menuconfig + +Build: +$ make + +Result of the build +=================== +output/images/ +├── boot.vfat +├── rootfs.ext2 +├── sdcard.img +├── u-boot +├── u-boot.bin +├── uboot-env.bin +└── uImage + +To copy the image file to the sdcard use dd: +$ dd if=output/images/sdcard.img of=/dev/XXX + +2018, Evgeniy Didin + diff --git a/bsp/buildroot/board/synopsys/hsdk/uboot.env.txt b/bsp/buildroot/board/synopsys/hsdk/uboot.env.txt new file mode 100644 index 00000000..216f0c90 --- /dev/null +++ b/bsp/buildroot/board/synopsys/hsdk/uboot.env.txt @@ -0,0 +1,9 @@ +baudrate=115200 +bootargs=root=/dev/mmcblk0p2 rootwait +bootcmd=fatload mmc 0:1; bootm +bootdelay=2 +bootfile=uImage +loadaddr=0x82000000 +stderr=serial0@f0005000 +stdin=serial0@f0005000 +stdout=serial0@f0005000 diff --git a/bsp/buildroot/board/technexion/imx6ulpico/linux.fragment b/bsp/buildroot/board/technexion/imx6ulpico/linux.fragment deleted file mode 100644 index 892d0cb7..00000000 --- a/bsp/buildroot/board/technexion/imx6ulpico/linux.fragment +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CFG80211_WEXT=y diff --git a/bsp/buildroot/board/technexion/imx7dpico/patches/uboot/0001-picomx7dname.patch b/bsp/buildroot/board/technexion/imx7dpico/patches/uboot/0001-picomx7dname.patch new file mode 100644 index 00000000..59408bcd --- /dev/null +++ b/bsp/buildroot/board/technexion/imx7dpico/patches/uboot/0001-picomx7dname.patch @@ -0,0 +1,31 @@ +From 6d298b0fcacfc555f93864fa45fb612140902388 Mon Sep 17 00:00:00 2001 +From: Fabio Estevam +Date: Tue, 5 Jun 2018 22:12:48 -0300 +Subject: [PATCH] pico-imx7d: Adjust the dtb name + +Since kernel commit 41bbeadceb03 ("ARM: dts: imx7d-pico-pi: Separate +into cpu and baseboard dts") the dtb name has changed. + +Fix it accordingly. + +Signed-off-by: Fabio Estevam +--- + include/configs/pico-imx7d.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/configs/pico-imx7d.h b/include/configs/pico-imx7d.h +index b208d7f..d2ffa70 100644 +--- a/include/configs/pico-imx7d.h ++++ b/include/configs/pico-imx7d.h +@@ -41,7 +41,7 @@ + "console=ttymxc4\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ +- "fdt_file=imx7d-pico.dtb\0" \ ++ "fdt_file=imx7d-pico-pi.dtb\0" \ + "fdt_addr=0x83000000\0" \ + "ip_dyn=yes\0" \ + "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \ +-- +2.7.4 + diff --git a/bsp/buildroot/board/zynqmp/genimage.cfg b/bsp/buildroot/board/zynqmp/genimage.cfg new file mode 100644 index 00000000..30be086d --- /dev/null +++ b/bsp/buildroot/board/zynqmp/genimage.cfg @@ -0,0 +1,28 @@ +image boot.vfat { + vfat { + files = { + "boot.bin", + "u-boot.bin", + "atf-uboot.ub", + "system.dtb", + "Image" + } + } + size = 32M +} + +image sdcard.img { + hdimage { + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + } +} diff --git a/bsp/buildroot/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch b/bsp/buildroot/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch new file mode 100644 index 00000000..4d85e1bb --- /dev/null +++ b/bsp/buildroot/board/zynqmp/patches/uboot/0001-arm64-zynqmp-zcu106-fix-SPL-MMC-booting.patch @@ -0,0 +1,52 @@ +From e5d72ed8339eb05285448aad3c89d21e4d18fd29 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Mon, 26 Feb 2018 09:40:34 +0100 +Subject: [PATCH] arm64: zynqmp: zcu106: fix SPL MMC booting + +The U-Boot SPL generated with the current zcu106 defconfig cannot boot +from MMC: + + [...] + U-Boot SPL 2018.01 (Feb 21 2018 - 17:47:14) + EL Level: EL3 + Trying to boot from MMC1 + sdhci_transfer_data: Error detected in status(0x408020)! + spl_load_image_fat_os: error reading image u-boot.bin, err - -2 + spl_load_image_fat: error reading image u-boot.img, err - -6 + SPL: failed to boot from all boot devices + ### ERROR ### Please RESET the board ### + +Fix by lowering the rpll value. The new value for the RPLL_CTRL +register comes from the current psu_init_gpl.c from the HDF file at +https://github.com/xilinx/hdf-examples/tree/01ad8ea5fd1989abf4ea5a072d019a16cb2bc546/zcu106-zynqmp +(generated by Vivado v2017.4). + +RPLL and sdio1_ref clocks before and after this change: + + - Old values: RPLL 1.36 GHz, sdio1_ref 272 MHz + - New values: RPLL 1.16 GHz, sdio1_ref 233 MHz + +Signed-off-by: Luca Ceresoli +Cc: Michal Simek +Upstream-status: accepted upstream in a different form +--- + + board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c +index 4d18abe000ca..e6fa477e53e7 100644 +--- a/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c ++++ b/board/xilinx/zynqmp/zynqmp-zcu106-revA/psu_init_gpl.c +@@ -10,7 +10,7 @@ + static unsigned long psu_pll_init_data(void) + { + psu_mask_write(0xFF5E0034, 0xFE7FEDEFU, 0x7E4E2C62U); +- psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00013C00U); ++ psu_mask_write(0xFF5E0030, 0x00717F00U, 0x00014600U); + psu_mask_write(0xFF5E0030, 0x00000008U, 0x00000008U); + psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000001U); + psu_mask_write(0xFF5E0030, 0x00000001U, 0x00000000U); +-- +2.7.4 + diff --git a/bsp/buildroot/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch b/bsp/buildroot/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch new file mode 100644 index 00000000..487fff68 --- /dev/null +++ b/bsp/buildroot/board/zynqmp/patches/uboot/0002-arm64-zynqmp-Enable-booting-to-ATF.patch @@ -0,0 +1,114 @@ +From 5e3cac50cc981e01d9072241035a8d4162560c71 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Mon, 12 Mar 2018 17:18:38 +0100 +Subject: [PATCH] arm64: zynqmp: Enable booting to ATF + +U-Boot is now able to boot to ARM Trusted Firmware (ATF). The boot +flow is SPL(EL3) loads ATF and full u-boot and jump to ATF(EL3) which +pass control to full u-boot(EL2). This has been tested on zcu106, so +enable it in this defconfig. + +To generate an image that triggers this booting flow, you need to pass +'-O arm-trusted-firmware' to mkimage. + +Signed-off-by: Luca Ceresoli +Signed-off-by: Michal Simek +Backported from upstream: http://git.denx.de/?p=u-boot.git;a=commit;h=5e3cac50cc981e01d9072241035a8d4162560c71 +--- + + configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig | 1 + + configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig | 1 + + configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig | 1 + + configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig | 1 + + configs/xilinx_zynqmp_zcu102_rev1_0_defconfig | 1 + + configs/xilinx_zynqmp_zcu102_revA_defconfig | 1 + + configs/xilinx_zynqmp_zcu102_revB_defconfig | 1 + + 7 files changed, 7 insertions(+) + +diff --git a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +index c5bfa2b12638..488c72258b0e 100644 +--- a/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig ++++ b/configs/xilinx_zynqmp_zc1751_xm015_dc1_defconfig +@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_FASTBOOT=y + CONFIG_FASTBOOT_FLASH=y +diff --git a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig +index f86dce403a42..5d501eec0edd 100644 +--- a/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig ++++ b/configs/xilinx_zynqmp_zc1751_xm016_dc2_defconfig +@@ -20,6 +20,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_FASTBOOT=y + CONFIG_FASTBOOT_FLASH=y +diff --git a/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig b/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig +index 6e947cf56827..6f7eaebd7676 100644 +--- a/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig ++++ b/configs/xilinx_zynqmp_zc1751_xm018_dc4_defconfig +@@ -16,6 +16,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_CMD_MEMTEST=y + CONFIG_SYS_ALT_MEMTEST=y +diff --git a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig +index 1c934858c61c..7a3806cba4b5 100644 +--- a/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig ++++ b/configs/xilinx_zynqmp_zc1751_xm019_dc5_defconfig +@@ -17,6 +17,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_CMD_MEMTEST=y + CONFIG_SYS_ALT_MEMTEST=y +diff --git a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +index e13c7c56f310..e4408f182ca0 100644 +--- a/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig ++++ b/configs/xilinx_zynqmp_zcu102_rev1_0_defconfig +@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_FASTBOOT=y + CONFIG_FASTBOOT_FLASH=y +diff --git a/configs/xilinx_zynqmp_zcu102_revA_defconfig b/configs/xilinx_zynqmp_zcu102_revA_defconfig +index 5b2cd495ee85..b52f6789fd4b 100644 +--- a/configs/xilinx_zynqmp_zcu102_revA_defconfig ++++ b/configs/xilinx_zynqmp_zcu102_revA_defconfig +@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_FASTBOOT=y + CONFIG_FASTBOOT_FLASH=y +diff --git a/configs/xilinx_zynqmp_zcu102_revB_defconfig b/configs/xilinx_zynqmp_zcu102_revB_defconfig +index e6530fbfe7ff..80592554f682 100644 +--- a/configs/xilinx_zynqmp_zcu102_revB_defconfig ++++ b/configs/xilinx_zynqmp_zcu102_revB_defconfig +@@ -19,6 +19,7 @@ CONFIG_BOARD_EARLY_INIT_R=y + CONFIG_SPL_OS_BOOT=y + CONFIG_SPL_RAM_SUPPORT=y + CONFIG_SPL_RAM_DEVICE=y ++CONFIG_SPL_ATF=y + CONFIG_SYS_PROMPT="ZynqMP> " + CONFIG_FASTBOOT=y + CONFIG_FASTBOOT_FLASH=y +-- +2.7.4 + diff --git a/bsp/buildroot/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch b/bsp/buildroot/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch new file mode 100644 index 00000000..95ab7b3b --- /dev/null +++ b/bsp/buildroot/board/zynqmp/patches/uboot/0003-arm64-zynqmp-accept-an-absolute-path-for-PMUFW_INIT_.patch @@ -0,0 +1,68 @@ +From c7df098a71e05dc81cee818747759e8060b59626 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Mon, 4 Jun 2018 12:21:01 +0200 +Subject: [PATCH] arm64: zynqmp: accept an absolute path for PMUFW_INIT_FILE + +The value of PMUFW_INIT_FILE is prefixed with "$(srctree)/", thus +forcing it to be a relative path inside the U-Boot source tree. Since +the PMUFW is a binary file generated outside of U-Boot, the PMUFW +binary must be copied inside the U-Boot source tree before the +build. + +This generates a few problems: + + * if the source tree is shared among different out-of-tree builds, + they will pollute (and potentially corrupt) each other + * the source tree cannot be read-only + * any buildsystem must add a command to copy the PMUFW binary + * putting an externally-generated binary in the source tree is ugly + as hell + +Avoid these problems by accepting an absolute path for +PMUFW_INIT_FILE. This would be as simple as removing the "$(srctree)/" +prefix, but in order to keep backward compatibility we rather use the +shell and readlink to get the absolute path even when starting from a +relative path. + +Since 'readlink -f' produces an empty string if the file does not +exist, we also add a check to ensure the file configured in +PMUFW_INIT_FILE exists. Otherwise the build would exit successfully, +but produce a boot.bin without PMUFW as if PMUFW_INIT_FILE were empty. + +Tested in the 12 possible combinations of: + - PMUFW_INIT_FILE empty, relative, absolute, non-existing + - building in-tree, in subdir, in other directory + +Signed-off-by: Luca Ceresoli +Cc: Michal Simek +Cc: Simon Glass +Cc: Emmanuel Vadot +Signed-off-by: Michal Simek +Backported from upstream: https://git.denx.de/?p=u-boot.git;a=commit;h=c7df098a71e05dc81cee818747759e8060b59626 +--- + scripts/Makefile.spl | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl +index ef018b5b4056..252f13826d4c 100644 +--- a/scripts/Makefile.spl ++++ b/scripts/Makefile.spl +@@ -167,8 +167,14 @@ ifdef CONFIG_ARCH_ZYNQ + MKIMAGEFLAGS_boot.bin = -T zynqimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) + endif + ifdef CONFIG_ARCH_ZYNQMP ++ifneq ($(CONFIG_PMUFW_INIT_FILE),"") ++spl/boot.bin: zynqmp-check-pmufw ++zynqmp-check-pmufw: FORCE ++ ( cd $(srctree) && test -r $(CONFIG_PMUFW_INIT_FILE) ) \ ++ || ( echo "Cannot read $(CONFIG_PMUFW_INIT_FILE)" && false ) ++endif + MKIMAGEFLAGS_boot.bin = -T zynqmpimage -R $(srctree)/$(CONFIG_BOOT_INIT_FILE) \ +- -n $(srctree)/$(CONFIG_PMUFW_INIT_FILE) ++ -n "$(shell cd $(srctree); readlink -f $(CONFIG_PMUFW_INIT_FILE))" + endif + + spl/boot.bin: $(obj)/u-boot-spl.bin FORCE +-- +2.7.4 + diff --git a/bsp/buildroot/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch b/bsp/buildroot/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch new file mode 100644 index 00000000..b32e1627 --- /dev/null +++ b/bsp/buildroot/board/zynqmp/patches/uboot/0004-arm-arm64-zynq-zynqmp-pass-the-PS-init-file-as-a-kco.patch @@ -0,0 +1,175 @@ +From 4c9d54ab5a41d65000c8d249b6fb1b76056f1812 Mon Sep 17 00:00:00 2001 +From: Luca Ceresoli +Date: Wed, 20 Jun 2018 12:11:50 +0200 +Subject: [PATCH] arm/arm64: zynq/zynqmp: pass the PS init file as a kconfig + variable + +U-Boot needs to link ps7_init_gpl.c on Zynq or psu_init_gpl.c on +ZynqMP (PS init for short). The current logic to locate this file for +both platforms is: + + 1. if a board-specific file exists in + board/xilinx/zynq[mp]/$(CONFIG_DEFAULT_DEVICE_TREE)/ps?_init_gpl.c + then use it + 2. otherwise use board/xilinx/zynq/ps?_init_gpl.c + +In the latter case the file does not exist in the U-Boot sources and +must be copied in the source tree from the outside before starting the +build. This is typical when it is generated from Xilinx tools while +developing a custom hardware. However making sure that a +board-specific file is _not_ found (and used) requires some trickery +such as removing or overwriting all PS init files (e.g.: the current +meta-xilinx yocto layer [0]). + +This generates a few problems: + + * if the source tree is shared among different out-of-tree builds, + they will pollute (and potentially corrupt) each other + * the source tree cannot be read-only + * any buildsystem must add a command to copy the PS init file binary + * overwriting or deleting files in the source tree is ugly as hell + +Simplify usage by allowing to pass the path to the desired PS init +file in kconfig variable XILINX_PS_INIT_FILE. It can be an absolute +path or relative to $(srctree). If the variable is set, the +user-specified file will always be used without being copied +around. If the the variable is left empty, for backward compatibility +fall back to the old behaviour. + +Since the issue is the same for Zynq and ZynqMP, add one kconfig +variable in a common place and use it for both. + +Also use the new kconfig help text to document all the ways to give +U-Boot the PS init file. + +Build-tested with all combinations of: + - platform: zynq or zynqmp + - PS init file: from XILINX_PS_INIT_FILE (absolute, relative path, + non-existing), in-tree board-specific, in board/xilinx/zynq[mp]/ + - building in-tree, in subdir, in other directory + +[0] https://github.com/Xilinx/meta-xilinx/blob/b2f74cc7fe5c4881589d5e440a17cb51fc66a7ab/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc#L9 + +Signed-off-by: Luca Ceresoli +Cc: Albert Aribaud +Cc: Michal Simek +Cc: Nathan Rossi +Backported from upstream: https://git.denx.de/?p=u-boot.git;a=commit;h=6da4f67ad09cd8b311d77b2b04e557b7ef65b56c +--- + arch/arm/Kconfig | 1 + + board/xilinx/Kconfig | 41 +++++++++++++++++++++++++++++++++++++++++ + board/xilinx/zynq/Makefile | 10 +++++++++- + board/xilinx/zynqmp/Makefile | 10 +++++++++- + 4 files changed, 60 insertions(+), 2 deletions(-) + create mode 100644 board/xilinx/Kconfig + +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index 22234cde2ab6..e04979d0ef7e 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -1293,4 +1293,5 @@ source "board/technologic/ts4600/Kconfig" + source "board/vscom/baltos/Kconfig" + source "board/woodburn/Kconfig" + source "board/work-microwave/work_92105/Kconfig" ++source "board/xilinx/Kconfig" + source "board/zipitz2/Kconfig" + + source "arch/arm/Kconfig.debug" +diff --git a/board/xilinx/Kconfig b/board/xilinx/Kconfig +new file mode 100644 +index 000000000000..aa3fa061edef +--- /dev/null ++++ b/board/xilinx/Kconfig +@@ -0,0 +1,41 @@ ++# Copyright (c) 2018, Luca Ceresoli ++# ++# SPDX-License-Identifier: GPL-2.0 ++ ++if ARCH_ZYNQ || ARCH_ZYNQMP ++ ++config XILINX_PS_INIT_FILE ++ string "Zynq/ZynqMP PS init file(s) location" ++ help ++ On Zynq and ZynqMP U-Boot SPL (or U-Boot proper if ++ ZYNQMP_PSU_INIT_ENABLED is set) is responsible for some ++ basic initializations, such as enabling peripherals and ++ configuring pinmuxes. The PS init file (called ++ psu_init_gpl.c on ZynqMP, ps7_init_gpl.c for Zynq-7000) ++ contains the code for such initializations. ++ ++ U-Boot contains PS init files for some boards, but each of ++ them describes only one specific configuration. Users of a ++ different board, or needing a different configuration, can ++ generate custom files using the Xilinx development tools. ++ ++ There are three ways to give a PS init file to U-Boot: ++ ++ 1. Set this variable to the path, either relative to the ++ source tree or absolute, where the psu_init_gpl.c or ++ ps7_init_gpl.c file is located. U-Boot will build this ++ file. ++ ++ 2. If you leave an empty string here, U-Boot will use ++ board/xilinx/zynq/$(CONFIG_DEFAULT_DEVICE_TREE)/ps7_init_gpl.c ++ for Zynq-7000, or ++ board/xilinx/zynqmp/$(CONFIG_DEFAULT_DEVICE_TREE)/psu_init_gpl.c ++ for ZynqMP. ++ ++ 3. If the above file does not exist, U-Boot will use ++ board/xilinx/zynq/ps7_init_gpl.c for Zynq-7000, or ++ board/xilinx/zynqmp/psu_init_gpl.c for ZynqMP. This file ++ is not provided by U-Boot, you have to copy it there ++ before the build. ++ ++endif +diff --git a/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile +index 5a76a26720cd..03ad5f0532ee 100644 +--- a/board/xilinx/zynq/Makefile ++++ b/board/xilinx/zynq/Makefile +@@ -5,10 +5,18 @@ + + obj-y := board.o + +-hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) ++ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"") ++PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE)) ++init-objs := ps_init_gpl.o ++spl/board/xilinx/zynq/ps_init_gpl.o board/xilinx/zynq/ps_init_gpl.o: $(PS_INIT_FILE) ++ $(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^ ++endif + ++ifeq ($(init-objs),) ++hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) + init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/ps7_init_gpl.c),\ + $(hw-platform-y)/ps7_init_gpl.o) ++endif + + ifeq ($(init-objs),) + ifneq ($(wildcard $(srctree)/$(src)/ps7_init_gpl.c),) +diff --git a/board/xilinx/zynqmp/Makefile b/board/xilinx/zynqmp/Makefile +index 05ccd25dcef3..960b81fc5853 100644 +--- a/board/xilinx/zynqmp/Makefile ++++ b/board/xilinx/zynqmp/Makefile +@@ -5,10 +5,18 @@ + + obj-y := zynqmp.o + +-hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) ++ifneq ($(CONFIG_XILINX_PS_INIT_FILE),"") ++PS_INIT_FILE := $(shell cd $(srctree); readlink -f $(CONFIG_XILINX_PS_INIT_FILE)) ++init-objs := ps_init_gpl.o ++spl/board/xilinx/zynqmp/ps_init_gpl.o board/xilinx/zynqmp/ps_init_gpl.o: $(PS_INIT_FILE) ++ $(CC) $(c_flags) -I $(srctree)/$(src) -c -o $@ $^ ++endif + ++ifeq ($(init-objs),) ++hw-platform-y :=$(shell echo $(CONFIG_DEFAULT_DEVICE_TREE)) + init-objs := $(if $(wildcard $(srctree)/$(src)/$(hw-platform-y)/psu_init_gpl.c),\ + $(hw-platform-y)/psu_init_gpl.o) ++endif + + ifeq ($(init-objs),) + ifneq ($(wildcard $(srctree)/$(src)/psu_init_gpl.c),) +-- +2.7.4 + diff --git a/bsp/buildroot/board/zynqmp/post-image.sh b/bsp/buildroot/board/zynqmp/post-image.sh new file mode 100755 index 00000000..b2b99fed --- /dev/null +++ b/bsp/buildroot/board/zynqmp/post-image.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# By default U-Boot loads DTB from a file named "system.dtb", so +# let's use a symlink with that name that points to the *first* +# devicetree listed in the config. + +FIRST_DT=$(sed -nr \ + -e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/([-_/[:alnum:]\\.]*).*"$|\1|p' \ + ${BR2_CONFIG}) + +[ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/system.dtb + +support/scripts/genimage.sh -c board/zynqmp/genimage.cfg diff --git a/bsp/buildroot/board/zynqmp/readme.txt b/bsp/buildroot/board/zynqmp/readme.txt new file mode 100644 index 00000000..da37f4cc --- /dev/null +++ b/bsp/buildroot/board/zynqmp/readme.txt @@ -0,0 +1,51 @@ +******************************** +Xilinx ZCU106 board - ZynqMP SoC +******************************** + +This document describes the Buildroot support for the ZCU106 board by +Xilinx, based on the Zynq UltraScale+ MPSoC (aka ZynqMP). It has been +tested with the EK-U1-ZCU106-ES2 pre-production board. + +How to build it +=============== + +Configure Buildroot: + + $ make zynqmp_zcu106_defconfig + +Compile everything and build the rootfs image: + + $ make + +Result of the build +------------------- + +After building, you should get a tree like this: + + output/images/ + +-- atf-uboot.ub + +-- bl31.bin + +-- boot.bin + +-- boot.vfat + +-- Image + +-- rootfs.ext2 + +-- rootfs.ext4 -> rootfs.ext2 + +-- sdcard.img + +-- system.dtb -> zynqmp-zcu106-revA.dtb + +-- u-boot.bin + `-- zynqmp-zcu106-revA.dtb + +How to write the SD card +======================== + +WARNING! This will destroy all the card content. Use with care! + +The sdcard.img file is a complete bootable image ready to be written +on the boot medium. To install it, simply copy the image to an SD +card: + + # dd if=output/images/sdcard.img of=/dev/sdX + +Where 'sdX' is the device node of the SD. + +Eject the SD card, insert it in the board, and power it up. diff --git a/bsp/buildroot/boot/Config.in b/bsp/buildroot/boot/Config.in index 3687c41a..11856fd9 100644 --- a/bsp/buildroot/boot/Config.in +++ b/bsp/buildroot/boot/Config.in @@ -13,11 +13,12 @@ source "boot/gummiboot/Config.in" source "boot/lpc32xxcdl/Config.in" source "boot/mv-ddr-marvell/Config.in" source "boot/mxs-bootlets/Config.in" +source "boot/riscv-pk/Config.in" source "boot/s500-bootloader/Config.in" +source "boot/shim/Config.in" source "boot/syslinux/Config.in" source "boot/ts4800-mbrboot/Config.in" source "boot/uboot/Config.in" source "boot/vexpress-firmware/Config.in" -source "boot/xloader/Config.in" endmenu diff --git a/bsp/buildroot/boot/afboot-stm32/afboot-stm32.mk b/bsp/buildroot/boot/afboot-stm32/afboot-stm32.mk index 042b21fa..5e221cf3 100644 --- a/bsp/buildroot/boot/afboot-stm32/afboot-stm32.mk +++ b/bsp/buildroot/boot/afboot-stm32/afboot-stm32.mk @@ -6,13 +6,15 @@ AFBOOT_STM32_VERSION = v0.1 AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION)) +AFBOOT_STM32_INSTALL_IMAGES = YES +AFBOOT_STM32_INSTALL_TARGET = NO define AFBOOT_STM32_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all endef -define AFBOOT_STM32_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR) +define AFBOOT_STM32_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin endef $(eval $(generic-package)) diff --git a/bsp/buildroot/boot/arm-trusted-firmware/Config.in b/bsp/buildroot/boot/arm-trusted-firmware/Config.in index 7aef87cb..823a3510 100644 --- a/bsp/buildroot/boot/arm-trusted-firmware/Config.in +++ b/bsp/buildroot/boot/arm-trusted-firmware/Config.in @@ -16,6 +16,11 @@ choice config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION bool "v1.4" +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION + bool "Custom version" + help + This option allows to use a specific official versions + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL bool "Custom tarball" @@ -31,12 +36,18 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION endif +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE + string "ATF version" + depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION string default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \ + if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT @@ -71,6 +82,14 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 typically used on platforms where another bootloader (e.g U-Boot) encapsulates ATF BL31. +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT + bool "Build BL31 U-Boot image" + select BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31 + help + Generates a U-Boot image named atf-uboot.ub containing + bl31.bin. This is used for example by the Xilinx version of + U-Boot SPL to load ATF on the ZynqMP SoC. + config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33 bool "Use U-Boot as BL33" depends on BR2_TARGET_UBOOT diff --git a/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk index 4bac916e..8ca3864d 100644 --- a/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk +++ b/bsp/buildroot/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -13,18 +13,22 @@ ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) -BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) ARM_TRUSTED_FIRMWARE_SITE_METHOD = git -BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) else +# Handle stable official ATF versions ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) endif +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y) +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) +endif + ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) +ARM_TRUSTED_FIRMWARE_IMG_DIR = $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ CROSS_COMPILE="$(TARGET_CROSS)" \ @@ -74,15 +78,43 @@ ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31),y) ARM_TRUSTED_FIRMWARE_MAKE_TARGETS += bl31 endif +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT),y) +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD +# Get the entry point address from the elf. + BASE_ADDR=$$($(TARGET_READELF) -h $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf | \ + sed -r '/^ Entry point address:\s*(.*)/!d; s//\1/') && \ + $(MKIMAGE) \ + -A $(MKIMAGE_ARCH) -O arm-trusted-firmware -C none \ + -a $${BASE_ADDR} -e $${BASE_ADDR} \ + -d $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31.bin \ + $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub +endef +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL + $(INSTALL) -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub \ + $(BINARIES_DIR)/atf-uboot.ub +endef +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1 +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools +endif + +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) +define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF + $(INSTALL) -D -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf \ + $(BINARIES_DIR)/bl31.elf +endef +endif + define ARM_TRUSTED_FIRMWARE_BUILD_CMDS $(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL) - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ - $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS) + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD) endef define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS - cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/ + cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/ + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL) + $(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF) endef # Configuration check diff --git a/bsp/buildroot/boot/at91bootstrap/Config.in b/bsp/buildroot/boot/at91bootstrap/Config.in index 57fdeda9..0f6430fd 100644 --- a/bsp/buildroot/boot/at91bootstrap/Config.in +++ b/bsp/buildroot/boot/at91bootstrap/Config.in @@ -1,12 +1,14 @@ config BR2_TARGET_AT91BOOTSTRAP - depends on BR2_arm926t bool "AT91 Bootstrap" + depends on BR2_arm926t help AT91Bootstrap is a first level bootloader for the Atmel AT91 devices. It integrates algorithms for: - - Device initialization such as clock configuration, PIO settings... + - Device initialization such as clock configuration, PIO + settings... - Peripheral drivers such as PIO, PMC or SDRAMC... - - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + - Physical media algorithm such as DataFlash, NandFlash, NOR + Flash... if BR2_TARGET_AT91BOOTSTRAP diff --git a/bsp/buildroot/boot/at91bootstrap/at91bootstrap.mk b/bsp/buildroot/boot/at91bootstrap/at91bootstrap.mk index f6550588..c68b56b6 100644 --- a/bsp/buildroot/boot/at91bootstrap/at91bootstrap.mk +++ b/bsp/buildroot/boot/at91bootstrap/at91bootstrap.mk @@ -17,7 +17,7 @@ AT91BOOTSTRAP_INSTALL_IMAGES = YES AT91BOOTSTRAP_INSTALL_TARGET = NO define AT91BOOTSTRAP_EXTRACT_CMDS - $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE) + $(UNZIP) -d $(BUILD_DIR) $(AT91BOOTSTRAP_DL_DIR)/$(AT91BOOTSTRAP_SOURCE) mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D) rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION) endef diff --git a/bsp/buildroot/boot/at91bootstrap3/Config.in b/bsp/buildroot/boot/at91bootstrap3/Config.in index f82a0e5e..f6c310af 100644 --- a/bsp/buildroot/boot/at91bootstrap3/Config.in +++ b/bsp/buildroot/boot/at91bootstrap3/Config.in @@ -1,12 +1,14 @@ config BR2_TARGET_AT91BOOTSTRAP3 - depends on BR2_arm926t || BR2_cortex_a5 bool "AT91 Bootstrap 3" + depends on BR2_arm926t || BR2_cortex_a5 help AT91Bootstrap is a first level bootloader for the Atmel AT91 devices. It integrates algorithms for: - - Device initialization such as clock configuration, PIO settings... + - Device initialization such as clock configuration, PIO + settings... - Peripheral drivers such as PIO, PMC or SDRAMC... - - Physical media algorithm such as DataFlash, NandFlash, NOR Flash... + - Physical media algorithm such as DataFlash, NandFlash, NOR + Flash... https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap @@ -22,8 +24,8 @@ config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT bool "Custom Git repository" help - This option allows Buildroot to get the AT91 Bootstrap 3 source - code from a Git repository. + This option allows Buildroot to get the AT91 Bootstrap 3 + source code from a Git repository. endchoice diff --git a/bsp/buildroot/boot/at91dataflashboot/Config.in b/bsp/buildroot/boot/at91dataflashboot/Config.in index 80b57a4a..4055f964 100644 --- a/bsp/buildroot/boot/at91dataflashboot/Config.in +++ b/bsp/buildroot/boot/at91dataflashboot/Config.in @@ -1,3 +1,3 @@ config BR2_TARGET_AT91DATAFLASHBOOT - depends on BR2_arm926t bool "AT91 DataFlashBoot" + depends on BR2_arm926t diff --git a/bsp/buildroot/boot/barebox/Config.in b/bsp/buildroot/boot/barebox/Config.in index fd22d904..6a8d2515 100644 --- a/bsp/buildroot/boot/barebox/Config.in +++ b/bsp/buildroot/boot/barebox/Config.in @@ -12,7 +12,7 @@ choice Select the specific Barebox version you want to use config BR2_TARGET_BAREBOX_LATEST_VERSION - bool "2017.09.0" + bool "2018.12.0" config BR2_TARGET_BAREBOX_CUSTOM_VERSION bool "Custom version" @@ -40,7 +40,7 @@ endif config BR2_TARGET_BAREBOX_VERSION string - default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION + default "2018.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT diff --git a/bsp/buildroot/boot/barebox/barebox.hash b/bsp/buildroot/boot/barebox/barebox.hash index b2419702..ec4e404b 100644 --- a/bsp/buildroot/boot/barebox/barebox.hash +++ b/bsp/buildroot/boot/barebox/barebox.hash @@ -1,5 +1,5 @@ -# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5 -md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2 +# From https://www.barebox.org/download/barebox-2018.12.0.tar.bz2.md5 +md5 f84d7d3562055c80c3eedce0b14d4a0d barebox-2018.12.0.tar.bz2 # Locally calculated -sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2 +sha256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 barebox-2018.12.0.tar.bz2 diff --git a/bsp/buildroot/boot/barebox/barebox.mk b/bsp/buildroot/boot/barebox/barebox.mk index b811e322..9e8a9f67 100644 --- a/bsp/buildroot/boot/barebox/barebox.mk +++ b/bsp/buildroot/boot/barebox/barebox.mk @@ -28,7 +28,7 @@ $(1)_SITE_METHOD = git else # Handle stable official Barebox versions $(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2 -$(1)_SITE = http://www.barebox.org/download +$(1)_SITE = https://www.barebox.org/download endif $(1)_DEPENDENCIES = host-lzop diff --git a/bsp/buildroot/boot/barebox/barebox/Config.in b/bsp/buildroot/boot/barebox/barebox/Config.in index 0be26adf..958e294e 100644 --- a/bsp/buildroot/boot/barebox/barebox/Config.in +++ b/bsp/buildroot/boot/barebox/barebox/Config.in @@ -17,7 +17,6 @@ config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG Name of the board for which Barebox should be built, without the _defconfig suffix. - config BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE string "Configuration file path" depends on BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG diff --git a/bsp/buildroot/boot/binaries-marvell/Config.in b/bsp/buildroot/boot/binaries-marvell/Config.in index d565e4db..63052070 100644 --- a/bsp/buildroot/boot/binaries-marvell/Config.in +++ b/bsp/buildroot/boot/binaries-marvell/Config.in @@ -26,7 +26,7 @@ endchoice config BR2_TARGET_BINARIES_MARVELL_IMAGE string - default "mrvl_scp_bl2_8040.img" if BR2_TARGET_BINARIES_MARVELL_8040 - default "mrvl_scp_bl2_7040.img" if BR2_TARGET_BINARIES_MARVELL_7040 + default "mrvl_scp_bl2_mss_ap_cp1_a8040.img" if BR2_TARGET_BINARIES_MARVELL_8040 + default "mrvl_scp_bl2_mss_ap_cp1_a7040.img" if BR2_TARGET_BINARIES_MARVELL_7040 endif diff --git a/bsp/buildroot/boot/binaries-marvell/binaries-marvell.hash b/bsp/buildroot/boot/binaries-marvell/binaries-marvell.hash index 94c66039..0d214502 100644 --- a/bsp/buildroot/boot/binaries-marvell/binaries-marvell.hash +++ b/bsp/buildroot/boot/binaries-marvell/binaries-marvell.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 7c41cddc2ce46038b630b59d2e9e50e903d27032bcfbf38019eaed14fcfdbe40 binaries-marvell-a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91.tar.gz -sha256 d8560ab4ea4042a55eee6857ded1d7e4bca2d9120b8c7a86d2a7fdc4ba4994e0 README.md +sha256 45c348d7a62fd147e7c6a59211a77876ce5dd26de690bd45ab79c8ff891acedf binaries-marvell-14481806e699dcc6f7025dbe3e46cf26bb787791.tar.gz +sha256 509a36bb6faa106bbc9730c23038a361ee0c860e53a4cdf9e8605c0174fe45f7 README.md diff --git a/bsp/buildroot/boot/binaries-marvell/binaries-marvell.mk b/bsp/buildroot/boot/binaries-marvell/binaries-marvell.mk index 152c9cd9..6c701485 100644 --- a/bsp/buildroot/boot/binaries-marvell/binaries-marvell.mk +++ b/bsp/buildroot/boot/binaries-marvell/binaries-marvell.mk @@ -4,7 +4,8 @@ # ################################################################################ -BINARIES_MARVELL_VERSION = a8ac27b7884ed2c1efcf9f3326de3e0ed7b94e91 +# This is version binaries-marvell-armada-18.06 +BINARIES_MARVELL_VERSION = 14481806e699dcc6f7025dbe3e46cf26bb787791 BINARIES_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,binaries-marvell,$(BINARIES_MARVELL_VERSION)) BINARIES_MARVELL_LICENSE = GPL-2.0 with freertos-exception-2.0 diff --git a/bsp/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch b/bsp/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch new file mode 100644 index 00000000..cd8b5e73 --- /dev/null +++ b/bsp/buildroot/boot/grub2/0001-x86-64-Treat-R_X86_64_PLT32-as-R_X86_64_PC32.patch @@ -0,0 +1,74 @@ +From 842c390469e2c2e10b5aa36700324cd3bde25875 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Sat, 17 Feb 2018 06:47:28 -0800 +Subject: [PATCH] x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32 + +Starting from binutils commit bd7ab16b4537788ad53521c45469a1bdae84ad4a: + +https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd7ab16b4537788ad53521c45469a1bdae84ad4a + +x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for +32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as +R_X86_64_PC32. + +Signed-off-by: H.J. Lu +Reviewed-by: Daniel Kiper +Signed-off-by: Romain Naour +--- + grub-core/efiemu/i386/loadcore64.c | 1 + + grub-core/kern/x86_64/dl.c | 1 + + util/grub-mkimagexx.c | 1 + + util/grub-module-verifier.c | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/grub-core/efiemu/i386/loadcore64.c b/grub-core/efiemu/i386/loadcore64.c +index e49d0b6..18facf4 100644 +--- a/grub-core/efiemu/i386/loadcore64.c ++++ b/grub-core/efiemu/i386/loadcore64.c +@@ -98,6 +98,7 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + err = grub_efiemu_write_value (addr, + *addr32 + rel->r_addend + + sym.off +diff --git a/grub-core/kern/x86_64/dl.c b/grub-core/kern/x86_64/dl.c +index 4406906..3a73e6e 100644 +--- a/grub-core/kern/x86_64/dl.c ++++ b/grub-core/kern/x86_64/dl.c +@@ -70,6 +70,7 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_int64_t value; + value = ((grub_int32_t) *addr32) + rel->r_addend + sym->st_value - +diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c +index a2bb054..39d7efb 100644 +--- a/util/grub-mkimagexx.c ++++ b/util/grub-mkimagexx.c +@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections, + break; + + case R_X86_64_PC32: ++ case R_X86_64_PLT32: + { + grub_uint32_t *t32 = (grub_uint32_t *) target; + *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32) +diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c +index 9179285..a79271f 100644 +--- a/util/grub-module-verifier.c ++++ b/util/grub-module-verifier.c +@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = { + -1 + }, (int[]){ + R_X86_64_PC32, ++ R_X86_64_PLT32, + -1 + } + }, +-- +2.7.4 + diff --git a/bsp/buildroot/boot/grub2/Config.in b/bsp/buildroot/boot/grub2/Config.in index 9a61b3b6..e4513399 100644 --- a/bsp/buildroot/boot/grub2/Config.in +++ b/bsp/buildroot/boot/grub2/Config.in @@ -2,6 +2,9 @@ config BR2_TARGET_GRUB2_ARCH_SUPPORTS bool default y if BR2_i386 default y if BR2_x86_64 + default y if BR2_arm + default y if BR2_aarch64 + depends on BR2_USE_MMU config BR2_TARGET_GRUB2 bool "grub2" @@ -29,12 +32,14 @@ choice config BR2_TARGET_GRUB2_I386_PC bool "i386-pc" + depends on BR2_i386 || BR2_x86_64 help Select this option if the platform you're targetting is a x86 or x86-64 legacy BIOS based platform. config BR2_TARGET_GRUB2_I386_EFI bool "i386-efi" + depends on BR2_i386 || BR2_x86_64 help Select this option if the platform you're targetting has a 32 bits EFI BIOS. Note that some x86-64 platforms use a 32 @@ -42,14 +47,38 @@ config BR2_TARGET_GRUB2_I386_EFI config BR2_TARGET_GRUB2_X86_64_EFI bool "x86-64-efi" - depends on BR2_ARCH_IS_64 + depends on BR2_x86_64 help Select this option if the platform you're targetting has a 64 bits EFI BIOS. +config BR2_TARGET_GRUB2_ARM_UBOOT + bool "arm-uboot" + depends on BR2_arm + help + Select this option if the platform you're targetting is an + ARM u-boot platform, and you want to boot Grub 2 as an u-boot + compatible image. + +config BR2_TARGET_GRUB2_ARM_EFI + bool "arm-efi" + depends on BR2_arm + help + Select this option if the platform you're targetting is an + ARM platform and you want to boot Grub 2 as an EFI + application. + +config BR2_TARGET_GRUB2_ARM64_EFI + bool "arm64-efi" + depends on BR2_aarch64 + help + Select this option if the platform you're targetting is an + Aarch64 platform and you want to boot Grub 2 as an EFI + application. + endchoice -if BR2_TARGET_GRUB2_I386_PC +if BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BOOT_PARTITION string "boot partition" @@ -60,13 +89,15 @@ config BR2_TARGET_GRUB2_BOOT_PARTITION first disk if using a legacy partition table, or 'hd0,gpt1' if using GPT partition table. -endif # BR2_TARGET_GRUB2_I386_PC +endif # BR2_TARGET_GRUB2_I386_PC || BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BUILTIN_MODULES string "builtin modules" default "boot linux ext2 fat squash4 part_msdos part_gpt normal biosdisk" if BR2_TARGET_GRUB2_I386_PC default "boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop" \ - if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI + if BR2_TARGET_GRUB2_I386_EFI || BR2_TARGET_GRUB2_X86_64_EFI || \ + BR2_TARGET_GRUB2_ARM_EFI || BR2_TARGET_GRUB2_ARM64_EFI + default "linux ext2 fat part_msdos normal" if BR2_TARGET_GRUB2_ARM_UBOOT config BR2_TARGET_GRUB2_BUILTIN_CONFIG string "builtin config" @@ -76,6 +107,15 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG device and other configuration parameters, but however menu entries cannot be described in this embedded configuration. +config BR2_TARGET_GRUB2_INSTALL_TOOLS + bool "install tools" + help + Install support tools to interact with GNU GRUB Multiboot + boot loader. + + This will also install the Grub 2 loadable modules to the + target. + endif # BR2_TARGET_GRUB2 comment "grub2 needs a toolchain w/ wchar" diff --git a/bsp/buildroot/boot/grub2/grub2.mk b/bsp/buildroot/boot/grub2/grub2.mk index 35aea412..65371f01 100644 --- a/bsp/buildroot/boot/grub2/grub2.mk +++ b/bsp/buildroot/boot/grub2/grub2.mk @@ -9,7 +9,15 @@ GRUB2_SITE = http://ftp.gnu.org/gnu/grub GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz GRUB2_LICENSE = GPL-3.0+ GRUB2_LICENSE_FILES = COPYING -GRUB2_DEPENDENCIES = host-bison host-flex +GRUB2_DEPENDENCIES = host-bison host-flex host-grub2 +HOST_GRUB2_DEPENDENCIES = host-bison host-flex +GRUB2_INSTALL_IMAGES = YES + +ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y) +GRUB2_INSTALL_TARGET = YES +else +GRUB2_INSTALL_TARGET = NO +endif GRUB2_BUILTIN_MODULES = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_MODULES)) GRUB2_BUILTIN_CONFIG = $(call qstrip,$(BR2_TARGET_GRUB2_BUILTIN_CONFIG)) @@ -36,29 +44,48 @@ GRUB2_PREFIX = /EFI/BOOT GRUB2_TUPLE = x86_64-efi GRUB2_TARGET = x86_64 GRUB2_PLATFORM = efi +else ifeq ($(BR2_TARGET_GRUB2_ARM_UBOOT),y) +GRUB2_IMAGE = $(BINARIES_DIR)/boot-part/grub/grub.img +GRUB2_CFG = $(BINARIES_DIR)/boot-part/grub/grub.cfg +GRUB2_PREFIX = ($(GRUB2_BOOT_PARTITION))/boot/grub +GRUB2_TUPLE = arm-uboot +GRUB2_TARGET = arm +GRUB2_PLATFORM = uboot +else ifeq ($(BR2_TARGET_GRUB2_ARM_EFI),y) +GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootarm.efi +GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX = /EFI/BOOT +GRUB2_TUPLE = arm-efi +GRUB2_TARGET = arm +GRUB2_PLATFORM = efi +else ifeq ($(BR2_TARGET_GRUB2_ARM64_EFI),y) +GRUB2_IMAGE = $(BINARIES_DIR)/efi-part/EFI/BOOT/bootaa64.efi +GRUB2_CFG = $(BINARIES_DIR)/efi-part/EFI/BOOT/grub.cfg +GRUB2_PREFIX = /EFI/BOOT +GRUB2_TUPLE = arm64-efi +GRUB2_TARGET = aarch64 +GRUB2_PLATFORM = efi endif # Grub2 is kind of special: it considers CC, LD and so on to be the -# tools to build the native tools (i.e to be executed on the build -# machine), and uses TARGET_CC, TARGET_CFLAGS, TARGET_CPPFLAGS, -# TARGET_LDFLAGS to build the bootloader itself. However, to add to -# the confusion, it also uses NM, OBJCOPY and STRIP to build the -# bootloader itself; none of these are used to build the native -# tools. +# tools to build the host programs and uses TARGET_CC, TARGET_CFLAGS, +# TARGET_CPPFLAGS, TARGET_LDFLAGS to build the bootloader itself. # # NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always # use the cross compile variant to ensure grub2 builds +HOST_GRUB2_CONF_ENV = \ + CPP="$(HOSTCC) -E" + GRUB2_CONF_ENV = \ - $(HOST_CONFIGURE_OPTS) \ - CPP="$(HOSTCC) -E" \ + CPP="$(TARGET_CC) -E" \ TARGET_CC="$(TARGET_CC)" \ TARGET_CFLAGS="$(TARGET_CFLAGS)" \ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS) -fno-stack-protector" \ TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \ - NM="$(TARGET_NM)" \ - OBJCOPY="$(TARGET_OBJCOPY)" \ - STRIP="$(TARGET_CROSS)strip" + TARGET_NM="$(TARGET_NM)" \ + TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \ + TARGET_STRIP="$(TARGET_CROSS)strip" GRUB2_CONF_OPTS = \ --target=$(GRUB2_TARGET) \ @@ -72,12 +99,13 @@ GRUB2_CONF_OPTS = \ --enable-libzfs=no \ --disable-werror -# We don't want all the native tools and Grub2 modules to be installed -# in the target. So we in fact install everything into the host -# directory, and the image generation process (below) will use the -# grub-mkimage tool and Grub2 modules from the host directory. - -GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install +HOST_GRUB2_CONF_OPTS = \ + --disable-grub-mkfont \ + --enable-efiemu=no \ + ac_cv_lib_lzma_lzma_code=no \ + --enable-device-mapper=no \ + --enable-libzfs=no \ + --disable-werror ifeq ($(BR2_TARGET_GRUB2_I386_PC),y) define GRUB2_IMAGE_INSTALL_ELTORITO @@ -86,10 +114,10 @@ define GRUB2_IMAGE_INSTALL_ELTORITO endef endif -define GRUB2_IMAGE_INSTALLATION +define GRUB2_INSTALL_IMAGES_CMDS mkdir -p $(dir $(GRUB2_IMAGE)) - $(HOST_DIR)/bin/grub-mkimage \ - -d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \ + $(HOST_DIR)/usr/bin/grub-mkimage \ + -d $(@D)/grub-core/ \ -O $(GRUB2_TUPLE) \ -o $(GRUB2_IMAGE) \ -p "$(GRUB2_PREFIX)" \ @@ -99,14 +127,14 @@ define GRUB2_IMAGE_INSTALLATION $(INSTALL) -D -m 0644 boot/grub2/grub.cfg $(GRUB2_CFG) $(GRUB2_IMAGE_INSTALL_ELTORITO) endef -GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_IMAGE_INSTALLATION ifeq ($(GRUB2_PLATFORM),efi) define GRUB2_EFI_STARTUP_NSH echo $(notdir $(GRUB2_IMAGE)) > \ $(BINARIES_DIR)/efi-part/startup.nsh endef -GRUB2_POST_INSTALL_TARGET_HOOKS += GRUB2_EFI_STARTUP_NSH +GRUB2_POST_INSTALL_IMAGES_HOOKS += GRUB2_EFI_STARTUP_NSH endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/boot/grub2/readme.txt b/bsp/buildroot/boot/grub2/readme.txt index f6fd4566..0282fbdd 100644 --- a/bsp/buildroot/boot/grub2/readme.txt +++ b/bsp/buildroot/boot/grub2/readme.txt @@ -53,8 +53,8 @@ To test your BIOS image in Qemu qemu-system-{i386,x86-64} -hda disk.img -Notes on using Grub2 for EFI-based platforms -============================================ +Notes on using Grub2 for x86/x86_64 EFI-based platforms +======================================================= 1. Create a disk image dd if=/dev/zero of=disk.img bs=1M count=32 @@ -83,16 +83,108 @@ Notes on using Grub2 for EFI-based platforms sudo losetup -d /dev/loop0 7. Your disk.img is ready! -To test your EFI image in Qemu ------------------------------- +To test your i386/x86-64 EFI image in Qemu +------------------------------------------ 1. Download the EFI BIOS for Qemu Version IA32 or X64 depending on the chosen Grub2 platform (i386-efi vs. x86-64-efi) - http://sourceforge.net/projects/edk2/files/OVMF/ + https://www.kraxel.org/repos/jenkins/edk2/ + (or use one provided by your distribution as OVMF) 2. Extract, and rename OVMF.fd to bios.bin and CirrusLogic5446.rom to vgabios-cirrus.bin. 3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img 4. Make sure to pass pci=nocrs to the kernel command line, to workaround a bug in the EFI BIOS regarding the EFI framebuffer. + +Notes on using Grub2 for ARM u-boot-based platforms +=================================================== + +The following steps show how to use the Grub2 arm-uboot platform +support in the simplest way possible and with a single +buildroot-generated filesystem. + + 1. Load qemu_arm_vexpress_defconfig + + 2. Enable u-boot with the vexpress_ca9x4 board name and with + u-boot.elf image format. + + 3. Enable grub2 for the arm-uboot platform. + + 4. Enable "Install kernel image to /boot in target" in the kernel + menu to populate a /boot directory with zImage in it. + + 5. The upstream u-boot vexpress_ca9x4 doesn't have CONFIG_API enabled + by default, which is required. + + Before building, patch u-boot (for example, make u-boot-extract to + edit the source before building) file + include/configs/vexpress_common.h to define: + + #define CONFIG_API + #define CONFIG_SYS_MMC_MAX_DEVICE 1 + + 6. Create a custom grub2 config file with the following contents and + set its path in BR2_TARGET_GRUB2_CFG: + + set default="0" + set timeout="5" + + menuentry "Buildroot" { + set root='(hd0)' + linux /boot/zImage root=/dev/mmcblk0 console=ttyAMA0 + devicetree /boot/vexpress-v2p-ca9.dtb + } + + 7. Create a custom builtin config file with the following contents + and set its path in BR2_TARGET_GRUB2_BUILTIN_CONFIG: + + set root=(hd0) + set prefix=/boot/grub + + 8. Create a custom post-build script which copies files from + ${BINARIES_DIR}/boot-part to $(TARGET_DIR)/boot (set its path in + BR2_ROOTFS_POST_BUILD_SCRIPT): + + #!/bin/sh + cp -r ${BINARIES_DIR}/boot-part/* ${TARGET_DIR}/boot/ + + 9. make + +10. Run qemu with: + + qemu-system-arm -M vexpress-a9 -kernel output/images/u-boot -m 1024 \ + -nographic -sd output/images/rootfs.ext2 + +11. In u-boot, stop at the prompt and run grub2 with: + + => ext2load mmc 0:0 ${loadaddr} /boot/grub/grub.img + => bootm + +12. This should bring the grub2 menu, upon which selecting the "Buildroot" + entry should boot Linux. + + +Notes on using Grub2 for Aarch64 EFI-based platforms +==================================================== + +The following steps show how to use the Grub2 arm64-efi platform, +using qemu and EFI firmware built for qemu. + + 1. Load aarch64_efi_defconfig + + 2. make + + 3. Download the EFI firmware for qemu aarch64 + https://www.kraxel.org/repos/jenkins/edk2/ + (or use one provided by your distribution as OVMF-aarch64 or AAVMF) + + 4. Run qemu with: + + qemu-system-aarch64 -M virt -cpu cortex-a57 -m 512 -nographic \ + -bios /QEMU_EFI.fd -hda output/images/disk.img \ + -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 + + 5. This should bring the grub2 menu, upon which selecting the + "Buildroot" entry should boot Linux. diff --git a/bsp/buildroot/boot/gummiboot/Config.in b/bsp/buildroot/boot/gummiboot/Config.in index 11dbc4f6..1b5c4279 100644 --- a/bsp/buildroot/boot/gummiboot/Config.in +++ b/bsp/buildroot/boot/gummiboot/Config.in @@ -1,6 +1,7 @@ config BR2_TARGET_GUMMIBOOT bool "gummiboot" depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS select BR2_PACKAGE_GNU_EFI select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID diff --git a/bsp/buildroot/boot/lpc32xxcdl/Config.in b/bsp/buildroot/boot/lpc32xxcdl/Config.in index ce7589c3..97137aa7 100644 --- a/bsp/buildroot/boot/lpc32xxcdl/Config.in +++ b/bsp/buildroot/boot/lpc32xxcdl/Config.in @@ -1,6 +1,6 @@ config BR2_TARGET_LPC32XXCDL - depends on BR2_arm926t bool "LPC32XX CDL (kickstart and S1L)" + depends on BR2_arm926t if BR2_TARGET_LPC32XXCDL diff --git a/bsp/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk b/bsp/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk index 04c1c7f0..30afed05 100644 --- a/bsp/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk +++ b/bsp/buildroot/boot/lpc32xxcdl/lpc32xxcdl.mk @@ -33,10 +33,10 @@ LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag endif LPC32XXCDL_BUILD_FLAGS = \ - CROSS_COMPILE=$(TARGET_CROSS) \ - NXPMCU_WINBASE=$(@D) \ - NXPMCU_SOFTWARE=$(@D) \ - BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \ + CROSS_COMPILE=$(TARGET_CROSS) \ + NXPMCU_WINBASE=$(@D) \ + NXPMCU_SOFTWARE=$(@D) \ + BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \ CSP=lpc32xx TOOL=gnu GEN=lpc LPC32XXCDL_BOARD_STARTUP_DIR = \ diff --git a/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash b/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash index b96d4d2b..90fab71d 100644 --- a/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash +++ b/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 d413546367ffa3b5f4373a777b9efeb32dcc74d6106897c248935ecb79afc454 mv-ddr-marvell-656440a9690f3d07be9e3d2c39d7cf56fd96eb7b.tar.gz +sha256 9aaea1f5e8bf3c9d7e735f569d130b5c2ec773c43e0cfabc9b8dee32adbf7e4e mv-ddr-marvell-99d772547314f84921268d57e53d8769197d3e21.tar.gz diff --git a/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk index 0f98fc2c..8d508215 100644 --- a/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk +++ b/bsp/buildroot/boot/mv-ddr-marvell/mv-ddr-marvell.mk @@ -4,7 +4,8 @@ # ################################################################################ -MV_DDR_MARVELL_VERSION = 656440a9690f3d07be9e3d2c39d7cf56fd96eb7b +# This is the commit for mv_ddr-armada-18.09.2 +MV_DDR_MARVELL_VERSION = 99d772547314f84921268d57e53d8769197d3e21 MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION)) MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c diff --git a/bsp/buildroot/boot/mxs-bootlets/Config.in b/bsp/buildroot/boot/mxs-bootlets/Config.in index 4bb07a06..b3e392af 100644 --- a/bsp/buildroot/boot/mxs-bootlets/Config.in +++ b/bsp/buildroot/boot/mxs-bootlets/Config.in @@ -24,8 +24,8 @@ config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT endchoice config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL - depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL string "URL of custom bootlets tarball" + depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL if BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT @@ -43,16 +43,16 @@ choice Select which bootstream to generate config BR2_TARGET_MXS_BOOTLETS_BAREBOX - depends on BR2_TARGET_BAREBOX bool "Barebox Bootloader" + depends on BR2_TARGET_BAREBOX config BR2_TARGET_MXS_BOOTLETS_LINUX - depends on BR2_LINUX_KERNEL bool "Linux Kernel" + depends on BR2_LINUX_KERNEL config BR2_TARGET_MXS_BOOTLETS_UBOOT - depends on BR2_TARGET_UBOOT bool "U-boot bootloader" + depends on BR2_TARGET_UBOOT endchoice diff --git a/bsp/buildroot/boot/riscv-pk/Config.in b/bsp/buildroot/boot/riscv-pk/Config.in new file mode 100644 index 00000000..b4fe3659 --- /dev/null +++ b/bsp/buildroot/boot/riscv-pk/Config.in @@ -0,0 +1,14 @@ +comment "riscv-pk needs a Linux kernel to be built" + depends on BR2_riscv + depends on !BR2_LINUX_KERNEL + +config BR2_TARGET_RISCV_PK + bool "riscv-pk" + depends on BR2_riscv + depends on BR2_LINUX_KERNEL + help + The RISC-V Proxy Kernel (pk) package contains the Berkeley + Boot Loader (BBL) which has been designed to boot a Linux + kernel on a RISC-V processor. + + https://github.com/riscv/riscv-pk.git diff --git a/bsp/buildroot/boot/riscv-pk/riscv-pk.mk b/bsp/buildroot/boot/riscv-pk/riscv-pk.mk new file mode 100644 index 00000000..0ab5879e --- /dev/null +++ b/bsp/buildroot/boot/riscv-pk/riscv-pk.mk @@ -0,0 +1,32 @@ +################################################################################ +# +# riscv-pk +# +################################################################################ + +RISCV_PK_VERSION = 706cc77c369fd3e4734b5a6aa813d421347f1814 +RISCV_PK_SITE = git://github.com/riscv/riscv-pk.git +RISCV_PK_LICENSE = BSD-3-Clause +RISCV_PK_LICENSE_FILES = LICENSE +RISCV_PK_DEPENDENCIES = linux +RISCV_PK_SUBDIR = build +RISCV_PK_INSTALL_IMAGES = YES + +define RISCV_PK_CONFIGURE_CMDS + mkdir -p $(@D)/build + (cd $(@D)/build; \ + $(TARGET_CONFIGURE_OPTS) ../configure \ + --host=$(GNU_TARGET_NAME) \ + --with-payload=$(BINARIES_DIR)/vmlinux \ + ) +endef + +define RISCV_PK_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/build bbl +endef + +define RISCV_PK_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0755 $(@D)/build/bbl $(BINARIES_DIR)/bbl +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/boot/shim/Config.in b/bsp/buildroot/boot/shim/Config.in new file mode 100644 index 00000000..ea6650f5 --- /dev/null +++ b/bsp/buildroot/boot/shim/Config.in @@ -0,0 +1,19 @@ +config BR2_TARGET_SHIM + bool "shim" + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + # ARM32 build currently broken + depends on !BR2_ARM_CPU_HAS_ARM + select BR2_PACKAGE_GNU_EFI + help + Boot loader to chain-load signed boot loaders under Secure + Boot. + + This package provides a minimalist boot loader which allows + verifying signatures of other UEFI binaries against either + the Secure Boot DB/DBX or against a built-in signature + database. Its purpose is to allow a small, + infrequently-changing binary to be signed by the UEFI CA, + while allowing an OS distributor to revision their main + bootloader independently of the CA. + + https://github.com/rhboot/shim diff --git a/bsp/buildroot/boot/shim/shim.hash b/bsp/buildroot/boot/shim/shim.hash new file mode 100644 index 00000000..318390f8 --- /dev/null +++ b/bsp/buildroot/boot/shim/shim.hash @@ -0,0 +1,3 @@ +# locally computed hash +sha256 279d19cc95b9974ea2379401a6a0653d949c3fa3d61f0c4bd6a7b9e840bdc425 shim-15.tar.gz +sha256 15edf527919ddcb2f514ab9d16ad07ef219e4bb490e0b79560be510f0c159cc2 COPYRIGHT diff --git a/bsp/buildroot/boot/shim/shim.mk b/bsp/buildroot/boot/shim/shim.mk new file mode 100644 index 00000000..ba5bc519 --- /dev/null +++ b/bsp/buildroot/boot/shim/shim.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# shim +# +################################################################################ + +SHIM_VERSION = 15 +SHIM_SITE = $(call github,rhboot,shim,$(SHIM_VERSION)) +SHIM_LICENSE = BSD-2-Clause +SHIM_LICENSE_FILES = COPYRIGHT +SHIM_DEPENDENCIES = gnu-efi +SHIM_INSTALL_TARGET = NO +SHIM_INSTALL_IMAGES = YES + +SHIM_MAKE_OPTS = \ + ARCH="$(GNU_EFI_PLATFORM)" \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + DASHJ="-j$(PARALLEL_JOBS)" \ + EFI_INCLUDE="$(STAGING_DIR)/usr/include/efi" \ + EFI_PATH="$(STAGING_DIR)/usr/lib" \ + LIBDIR="$(STAGING_DIR)/usr/lib" + +define SHIM_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(SHIM_MAKE_OPTS) +endef + +define SHIM_INSTALL_IMAGES_CMDS + $(INSTALL) -m 0755 -t $(BINARIES_DIR) $(@D)/*.efi +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch b/bsp/buildroot/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch new file mode 100644 index 00000000..62675cf6 --- /dev/null +++ b/bsp/buildroot/boot/syslinux/0011-extlinux-Use-the-host-toolchain-to-build.patch @@ -0,0 +1,53 @@ +From 4df2e7c0ae84bfbdba0ed285c0664aa089b38b7e Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sat, 30 Sep 2017 19:49:55 -0300 +Subject: [PATCH] extlinux: Use the host toolchain to build. + +It is meant to run on the host machine, hence must be built using the +host toolchain. + +Signed-off-by: Carlos Santos +--- + extlinux/Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/extlinux/Makefile b/extlinux/Makefile +index 02d1db51..5c4baa5a 100644 +--- a/extlinux/Makefile ++++ b/extlinux/Makefile +@@ -18,9 +18,9 @@ include $(MAKEDIR)/syslinux.mk + + OPTFLAGS = -g -Os + INCLUDES = -I$(SRC) -I$(objdir) -I$(SRC)/../libinstaller +-CFLAGS = $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \ ++CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Wno-sign-compare -D_FILE_OFFSET_BITS=64 \ + $(OPTFLAGS) $(INCLUDES) +-LDFLAGS = ++LDFLAGS = $(LDFLAGS_FOR_BUILD) + + SRCS = main.c \ + mountinfo.c \ +@@ -52,16 +52,16 @@ spotless: clean + installer: extlinux + + extlinux: $(OBJS) +- $(CC) $(LDFLAGS) -o $@ $^ ++ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ + + strip: + $(STRIP) extlinux + + %.o: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $< + %.i: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -E -o $@ $< + %.s: %.c +- $(CC) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $< ++ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -S -o $@ $< + + -include .*.d +-- +2.13.5 + diff --git a/bsp/buildroot/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch b/bsp/buildroot/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch new file mode 100644 index 00000000..beba5cc2 --- /dev/null +++ b/bsp/buildroot/boot/syslinux/0012-pull-in-sys-sysmacros-h-for-major-minor-makedev.patch @@ -0,0 +1,34 @@ +From 1a74985b2a404639b08882c57f3147229605dfd5 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Tue, 19 Apr 2016 06:50:31 -0400 +Subject: [PATCH] extlinux: pull in sys/sysmacros.h for major/minor/makedev + +These functions are defined in sys/sysmacros.h, so add the include to +main.c. This is already handled correctly in mountinfo.c. Otherwise +we get build failures like: + +main.o: In function 'find_device_sysfs': +extlinux/main.c:1131: undefined reference to 'minor' + +Signed-off-by: Mike Frysinger +Signed-off-by: Gene Cumm +Signed-off-by: Alexander Sverdlin +--- + extlinux/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extlinux/main.c b/extlinux/main.c +index a7ebd49..ebff7ea 100644 +--- a/extlinux/main.c ++++ b/extlinux/main.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.10.5.GIT + diff --git a/bsp/buildroot/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch b/bsp/buildroot/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch new file mode 100644 index 00000000..17a6d37c --- /dev/null +++ b/bsp/buildroot/boot/syslinux/0013-Fix-build-with-gnu-efi-version-3.0.9.patch @@ -0,0 +1,45 @@ +From 44a1b42e561b9a257209300e2860b901b100cc17 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Tue, 26 Feb 2019 08:07:22 -0300 +Subject: [PATCH] Fix build with gnu-efi version 3.0.9 + +Adapt a patch already applied upstream to prevent multiple definitions +of 'memset' and 'memcpy'. + +Signed-off-by: Carlos Santos +(adapted from commit 363d61c4f112b972649b19d67e96b9321f738f00) +--- + mk/lib.mk | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +diff --git a/mk/lib.mk b/mk/lib.mk +index ceb95bd0..c9b6eaf3 100644 +--- a/mk/lib.mk ++++ b/mk/lib.mk +@@ -186,9 +186,9 @@ MINLIBOBJS = \ + # $(LIBVESA_OBJS) + + CORELIBOBJS = \ +- memcpy.o memset.o memcmp.o printf.o strncmp.o vfprintf.o \ ++ memcmp.o printf.o strncmp.o vfprintf.o \ + strlen.o vsnprintf.o snprintf.o stpcpy.o strcmp.o strdup.o \ +- strcpy.o strncpy.o setjmp.o fopen.o fread.o fread2.o puts.o \ ++ strcpy.o strncpy.o fopen.o fread.o fread2.o puts.o \ + strtoul.o strntoumax.o strcasecmp.o \ + sprintf.o strlcat.o strchr.o strlcpy.o strncasecmp.o ctypes.o \ + fputs.o fwrite2.o fwrite.o fgetc.o fclose.o lmalloc.o \ +@@ -203,6 +203,11 @@ CORELIBOBJS = \ + $(LIBENTRY_OBJS) \ + $(LIBMODULE_OBJS) + ++ifndef EFI_BUILD ++# For EFI, these are part of gnu-efi ++CORELIBOBJS += setjmp.o memcpy.o memset.o ++endif ++ + LDFLAGS = -m elf_$(ARCH) --hash-style=gnu -T $(com32)/lib/$(ARCH)/elf.ld + + .SUFFIXES: .c .o .a .so .lo .i .S .s .ls .ss .lss +-- +2.14.5 + diff --git a/bsp/buildroot/boot/syslinux/Config.in b/bsp/buildroot/boot/syslinux/Config.in index da035498..339a97f0 100644 --- a/bsp/buildroot/boot/syslinux/Config.in +++ b/bsp/buildroot/boot/syslinux/Config.in @@ -44,11 +44,11 @@ config BR2_TARGET_SYSLINUX_MBR config BR2_TARGET_SYSLINUX_EFI bool "install efi" + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS select BR2_PACKAGE_GNU_EFI help Install the 'efi' image, to boot from an EFI environment. - if BR2_TARGET_SYSLINUX_LEGACY_BIOS config BR2_TARGET_SYSLINUX_C32 diff --git a/bsp/buildroot/boot/syslinux/syslinux.mk b/bsp/buildroot/boot/syslinux/syslinux.mk index 13496414..67bc6925 100644 --- a/bsp/buildroot/boot/syslinux/syslinux.mk +++ b/bsp/buildroot/boot/syslinux/syslinux.mk @@ -59,7 +59,7 @@ define SYSLINUX_BUILD_CMDS CC_FOR_BUILD="$(HOSTCC)" \ CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \ - $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) + $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET) endef # While the actual bootloader is compiled for the target, several diff --git a/bsp/buildroot/boot/uboot/Config.in b/bsp/buildroot/boot/uboot/Config.in index 264f3437..bd1b248e 100644 --- a/bsp/buildroot/boot/uboot/Config.in +++ b/bsp/buildroot/boot/uboot/Config.in @@ -6,19 +6,20 @@ config BR2_TARGET_UBOOT if BR2_TARGET_UBOOT choice prompt "Build system" + default BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY -config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY - bool "Legacy" - help - Select this option if you use an old U-Boot (older than 2015.04), - so that we use the old build system. - config BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG bool "Kconfig" help - Select this option if you use a recent U-Boot version (2015.04 or - newer), so that we use the Kconfig build system. + Select this option if you use a recent U-Boot version (2015.04 + or newer), so that we use the Kconfig build system. + +config BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY + bool "Legacy" + help + Select this option if you use an old U-Boot (older than + 2015.04), so that we use the old build system. endchoice @@ -27,9 +28,9 @@ config BR2_TARGET_UBOOT_BOARDNAME string "U-Boot board name" help One of U-Boot supported boards to be built. - This will be suffixed with _config to meet U-Boot standard naming. - See boards.cfg in U-Boot source code for the list of available - configurations. + This will be suffixed with _config to meet U-Boot standard + naming. See boards.cfg in U-Boot source code for the list of + available configurations. endif choice @@ -38,7 +39,7 @@ choice Select the specific U-Boot version you want to use config BR2_TARGET_UBOOT_LATEST_VERSION - bool "2018.01" + bool "2018.09" config BR2_TARGET_UBOOT_CUSTOM_VERSION bool "Custom version" @@ -79,14 +80,14 @@ config BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION default BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION \ if BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION != "" # legacy help - Revision to use in the typical format used by Git/Mercurial/Subversion - E.G. a sha id, a tag, branch, .. + Revision to use in the typical format used by + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. endif config BR2_TARGET_UBOOT_VERSION string - default "2018.01" if BR2_TARGET_UBOOT_LATEST_VERSION + default "2018.09" if BR2_TARGET_UBOOT_LATEST_VERSION default BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE \ if BR2_TARGET_UBOOT_CUSTOM_VERSION default "custom" if BR2_TARGET_UBOOT_CUSTOM_TARBALL @@ -158,6 +159,14 @@ config BR2_TARGET_UBOOT_NEEDS_OPENSSL typically the case when the board configuration has CONFIG_FIT_SIGNATURE enabled. +config BR2_TARGET_UBOOT_NEEDS_LZOP + bool "U-Boot needs lzop" + help + Select this option if your U-Boot board configuration + requires lzop to be available on the host. This is typically + the case when the board configuration has CONFIG_SPL_LZO + enabled. + config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 bool "U-Boot needs ATF BL31" depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE @@ -170,6 +179,19 @@ config BR2_TARGET_UBOOT_NEEDS_ATF_BL31 variable pointing to ATF's BL31 binary, is passed during the Buildroot build. +choice + prompt "U-Boot ATF BL31 format" + default BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN + depends on BR2_TARGET_UBOOT_NEEDS_ATF_BL31 + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_BIN + bool "bl31.bin" + +config BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF + bool "bl31.elf" + +endchoice + menu "U-Boot binary format" config BR2_TARGET_UBOOT_FORMAT_AIS @@ -189,6 +211,9 @@ config BR2_TARGET_UBOOT_FORMAT_DTB_BIN config BR2_TARGET_UBOOT_FORMAT_DTB_IMG bool "u-boot-dtb.img" +config BR2_TARGET_UBOOT_FORMAT_DTB_IMX + bool "u-boot-dtb.imx" + config BR2_TARGET_UBOOT_FORMAT_IMG bool "u-boot.img" @@ -199,23 +224,19 @@ config BR2_TARGET_UBOOT_FORMAT_NAND_BIN bool "u-boot-nand.bin" config BR2_TARGET_UBOOT_FORMAT_KWB - depends on BR2_arm bool "u-boot.kwb (Marvell)" - -config BR2_TARGET_UBOOT_FORMAT_LDR - depends on BR2_bfin - bool "u-boot.ldr" + depends on BR2_arm config BR2_TARGET_UBOOT_FORMAT_ELF bool "u-boot.elf" config BR2_TARGET_UBOOT_FORMAT_SB - depends on BR2_arm bool "u-boot.sb (Freescale i.MX28)" + depends on BR2_arm config BR2_TARGET_UBOOT_FORMAT_SD - depends on BR2_arm bool "u-boot.sd (Freescale i.MX28)" + depends on BR2_arm help This is Freescale i.MX28 SB format, with a header for booting from an SD card. @@ -226,28 +247,28 @@ config BR2_TARGET_UBOOT_FORMAT_SD See doc/README.mxs (or doc/README.mx28_common before 2013.07) config BR2_TARGET_UBOOT_FORMAT_NAND - depends on BR2_arm bool "u-boot.nand (Freescale i.MX28)" + depends on BR2_arm help - This is Freescale i.MX28 BootStream format (.sb), with a header - for booting from a NAND flash. + This is Freescale i.MX28 BootStream format (.sb), with a + header for booting from a NAND flash. U-boot includes an mxsboot tool to generate this format, starting from 2011.12. - There are two possibilities when preparing an image writable to - NAND flash: - 1) The NAND was not written at all yet or the BCB (Boot Control - Blocks) is broken. In this case, the NAND image 'u-boot.nand' - needs to written. + There are two possibilities when preparing an image writable + to NAND flash: + 1) The NAND was not written at all yet or the BCB (Boot + Control Blocks) is broken. In this case, the NAND image + 'u-boot.nand' needs to written. 2) The NAND flash was already written with a good BCB. This applies after 'u-boot.nand' was correctly written. There is no - need to write the BCB again. In this case, the bootloader can be - upgraded by writing 'u-boot.sb'. + need to write the BCB again. In this case, the bootloader can + be upgraded by writing 'u-boot.sb'. To satisfy both cases, the 'u-boot.nand' image obtained from - mxsboot as well as the U-Boot make target 'u-boot.sb' are copied - to the binaries directory. + mxsboot as well as the U-Boot make target 'u-boot.sb' are + copied to the binaries directory. See doc/README.mxs (or doc/README.mx28_common before 2013.07) @@ -295,7 +316,8 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME depends on BR2_TARGET_UBOOT_FORMAT_CUSTOM help In case the U-Boot binary for the target platform is not among - the default names, one or more custom names can be listed here. + the default names, one or more custom names can be listed + here. Use space to separate multiple names. Example: u-boot_magic.bin @@ -303,10 +325,10 @@ config BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME endmenu config BR2_TARGET_UBOOT_OMAP_IFT + bool "produce a .ift signed image (OMAP)" depends on BR2_TARGET_UBOOT_FORMAT_BIN depends on BR2_arm || BR2_armeb select BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS - bool "produce a .ift signed image (OMAP)" help Use gpsign to produce an image of u-boot.bin signed with a Configuration Header for booting on OMAP processors. @@ -367,6 +389,64 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE for u-boot-dtb.img file so this U-Boot format is required to be set. +config BR2_TARGET_UBOOT_ZYNQMP + bool "Boot on the Xilinx ZynqMP SoCs" + depends on BR2_aarch64 + help + Enable options specific to the Xilinx ZynqMP family of SoCs. + +if BR2_TARGET_UBOOT_ZYNQMP + +config BR2_TARGET_UBOOT_ZYNQMP_PMUFW + string "PMU firmware location" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + help + Location of a PMU firmware binary. + + If not empty, instructs the U-Boot build process to generate + a boot.bin (to be loaded by the ZynqMP boot ROM) containing + both the U-Boot SPL and the PMU firmware in the + Xilinx-specific boot format. + + The value can be an absolute or relative path, and will be + used directly from where it is located, or an URI + (e.g. http://...), and it will be downloaded and used from + the download directory. + + If empty, the generated boot.bin will not contain a PMU + firmware. + + This feature requires U-Boot >= 2018.07. + +config BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE + string "Custom psu_init_gpl file" + depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG + help + On ZynqMP the booloader is responsible for some basic + initializations, such as enabling peripherals and + configuring pinmuxes. The psu_init_gpl.c file (and, + optionally, psu_init_gpl.h) contains the code for such + initializations. + + Although U-Boot contains psu_init_gpl.c files for some + boards, each of them describes only one specific + configuration. Users of a different board, or needing a + different configuration, can generate custom files using the + Xilinx development tools. + + Set this variable to the path to your psu_init_gpl.c file + (e.g. "board/myboard/psu_init_gpl.c"). psu_init_gpl.h, if + needed, should be in the same directory. U-Boot will build + and link the user-provided file instead of the built-in one. + + Leave empty to use the files provided by U-Boot. + + This feature requires commit + 6da4f67ad09cd8b311d77b2b04e557b7ef65b56c from upstream + U-Boot, available from versions after 2018.07. + +endif + config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC bool "CRC image for Altera SoC FPGA (mkpimage)" depends on BR2_arm diff --git a/bsp/buildroot/boot/uboot/uboot.hash b/bsp/buildroot/boot/uboot/uboot.hash index 9425df3f..ea07fb58 100644 --- a/bsp/buildroot/boot/uboot/uboot.hash +++ b/bsp/buildroot/boot/uboot/uboot.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2 +sha256 839bf23cfe8ce613a77e583a60375179d0ad324e92c82fbdd07bebf0fd142268 u-boot-2018.09.tar.bz2 diff --git a/bsp/buildroot/boot/uboot/uboot.mk b/bsp/buildroot/boot/uboot/uboot.mk index 14fe3702..3c070b41 100644 --- a/bsp/buildroot/boot/uboot/uboot.mk +++ b/bsp/buildroot/boot/uboot/uboot.mk @@ -61,10 +61,6 @@ UBOOT_BINS += u-boot.ais UBOOT_MAKE_TARGET += u-boot.ais endif -ifeq ($(BR2_TARGET_UBOOT_FORMAT_LDR),y) -UBOOT_BINS += u-boot.ldr -endif - ifeq ($(BR2_TARGET_UBOOT_FORMAT_NAND_BIN),y) UBOOT_BINS += u-boot-nand.bin endif @@ -74,6 +70,11 @@ UBOOT_BINS += u-boot-dtb.img UBOOT_MAKE_TARGET += u-boot-dtb.img endif +ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_IMX),y) +UBOOT_BINS += u-boot-dtb.imx +UBOOT_MAKE_TARGET += u-boot-dtb.imx +endif + ifeq ($(BR2_TARGET_UBOOT_FORMAT_DTB_BIN),y) UBOOT_BINS += u-boot-dtb.bin UBOOT_MAKE_TARGET += u-boot-dtb.bin @@ -136,8 +137,12 @@ UBOOT_MAKE_OPTS += \ ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31),y) UBOOT_DEPENDENCIES += arm-trusted-firmware +ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y) +UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.elf +else UBOOT_MAKE_OPTS += BL31=$(BINARIES_DIR)/bl31.bin endif +endif ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y) UBOOT_DEPENDENCIES += host-dtc @@ -151,6 +156,10 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_OPENSSL),y) UBOOT_DEPENDENCIES += host-openssl endif +ifeq ($(BR2_TARGET_UBOOT_NEEDS_LZOP),y) +UBOOT_DEPENDENCIES += host-lzop +endif + # prior to u-boot 2013.10 the license info was in COPYING. Copy it so # legal-info finds it define UBOOT_COPY_OLD_LICENSE_FILE @@ -202,8 +211,8 @@ UBOOT_POST_PATCH_HOOKS += UBOOT_FIXUP_LIBFDT_INCLUDE ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) define UBOOT_CONFIGURE_CMDS - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_BOARD_NAME)_config endef else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) @@ -222,8 +231,9 @@ UBOOT_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig # (which is typically wchar) but link with # $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually # need any host-package for kconfig, so remove the HOSTCC/HOSTLDFLAGS -# override again. -UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC)" HOSTLDFLAGS="" +# override again. In addition, host-ccache is not ready at kconfig +# time, so use HOSTCC_NOCCACHE. +UBOOT_KCONFIG_OPTS = $(UBOOT_MAKE_OPTS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTLDFLAGS="" define UBOOT_HELP_CMDS @echo ' uboot-menuconfig - Run U-Boot menuconfig' @echo ' uboot-savedefconfig - Run U-Boot savedefconfig' @@ -238,16 +248,16 @@ define UBOOT_BUILD_CMDS $(if $(UBOOT_CUSTOM_DTS_PATH), cp -f $(UBOOT_CUSTOM_DTS_PATH) $(@D)/arch/$(UBOOT_ARCH)/dts/ ) - $(TARGET_CONFIGURE_OPTS) \ - $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \ $(UBOOT_MAKE_TARGET) $(if $(BR2_TARGET_UBOOT_FORMAT_SD), $(@D)/tools/mxsboot sd $(@D)/u-boot.sb $(@D)/u-boot.sd) $(if $(BR2_TARGET_UBOOT_FORMAT_NAND), $(@D)/tools/mxsboot \ - -w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \ - -o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \ - -e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \ + -w $(BR2_TARGET_UBOOT_FORMAT_NAND_PAGE_SIZE) \ + -o $(BR2_TARGET_UBOOT_FORMAT_NAND_OOB_SIZE) \ + -e $(BR2_TARGET_UBOOT_FORMAT_NAND_ERASE_SIZE) \ nand $(@D)/u-boot.sb $(@D)/u-boot.nand) endef @@ -281,11 +291,40 @@ define UBOOT_INSTALL_IMAGES_CMDS ) $(UBOOT_GENERATE_ENV_IMAGE) $(if $(BR2_TARGET_UBOOT_BOOT_SCRIPT), - $(HOST_DIR)/bin/mkimage -C none -A $(MKIMAGE_ARCH) -T script \ + $(MKIMAGE) -C none -A $(MKIMAGE_ARCH) -T script \ -d $(call qstrip,$(BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE)) \ $(BINARIES_DIR)/boot.scr) endef +ifeq ($(BR2_TARGET_UBOOT_ZYNQMP),y) + +UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW)) + +ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),) +UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW) +BR_NO_CHECK_HASH_FOR += $(notdir $(UBOOT_ZYNQMP_PMUFW)) +UBOOT_ZYNQMP_PMUFW_PATH = $(UBOOT_DL_DIR)/$(notdir $(UBOOT_ZYNQMP_PMUFW)) +else ifneq ($(UBOOT_ZYNQMP_PMUFW),) +UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW)) +endif + +define UBOOT_ZYNQMP_KCONFIG_PMUFW + $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)", \ + $(@D)/.config) +endef + +UBOOT_ZYNQMP_PSU_INIT = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PSU_INIT_FILE)) +UBOOT_ZYNQMP_PSU_INIT_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PSU_INIT)) + +ifneq ($(UBOOT_ZYNQMP_PSU_INIT),) +define UBOOT_ZYNQMP_KCONFIG_PSU_INIT + $(call KCONFIG_SET_OPT,CONFIG_XILINX_PS_INIT_FILE,"$(UBOOT_ZYNQMP_PSU_INIT_PATH)", \ + $(@D)/.config) +endef +endif + +endif # BR2_TARGET_UBOOT_ZYNQMP + define UBOOT_INSTALL_OMAP_IFT_IMAGE cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/ endef @@ -335,6 +374,11 @@ UBOOT_DEPENDENCIES += host-mkpimage UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE endif +define UBOOT_KCONFIG_FIXUP_CMDS + $(UBOOT_ZYNQMP_KCONFIG_PMUFW) + $(UBOOT_ZYNQMP_KCONFIG_PSU_INIT) +endef + ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y) ifeq ($(BR_BUILDING),y) ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),) @@ -412,7 +456,14 @@ endif # BR2_TARGET_UBOOT_CUSTOM_GIT || BR2_TARGET_UBOOT_CUSTOM_HG endif # BR2_TARGET_UBOOT && BR_BUILDING ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY),y) +UBOOT_DEPENDENCIES += \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) $(eval $(generic-package)) else ifeq ($(BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG),y) +UBOOT_MAKE_ENV = $(TARGET_MAKE_ENV) +UBOOT_KCONFIG_DEPENDENCIES = \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) $(eval $(kconfig-package)) endif # BR2_TARGET_UBOOT_BUILD_SYSTEM_LEGACY diff --git a/bsp/buildroot/boot/xloader/Config.in b/bsp/buildroot/boot/xloader/Config.in deleted file mode 100644 index f687b897..00000000 --- a/bsp/buildroot/boot/xloader/Config.in +++ /dev/null @@ -1,17 +0,0 @@ -config BR2_TARGET_XLOADER - bool "X-loader" - depends on BR2_cortex_a8 || BR2_cortex_a9 - help - The x-loader bootloader. It is mainly used on OMAP-based - platforms. - - http://omappedia.org/wiki/Linux_OMAP_Kernel_Main - -if BR2_TARGET_XLOADER -config BR2_TARGET_XLOADER_BOARDNAME - string "x-loader board name" - help - One of x-loader supported boards to be built. - This will be suffixed with _config to meet x-loader - standard naming. -endif diff --git a/bsp/buildroot/boot/xloader/xloader.mk b/bsp/buildroot/boot/xloader/xloader.mk deleted file mode 100644 index 7e0b2866..00000000 --- a/bsp/buildroot/boot/xloader/xloader.mk +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################ -# -# x-loader -# -################################################################################ - -XLOADER_VERSION = 6f3a26101303051e0f91b6213735b68ce804e94e -XLOADER_SITE = git://gitorious.org/x-loader/x-loader.git -XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME)) - -XLOADER_LICENSE = GPL-2.0+ -XLOADER_LICENSE_FILES = README - -XLOADER_INSTALL_IMAGES = YES - -define XLOADER_BUILD_CMDS - $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) $(XLOADER_BOARD_NAME)_config - $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all - $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) ift -endef - -define XLOADER_INSTALL_IMAGES_CMDS - $(INSTALL) -D -m 0755 $(@D)/MLO $(BINARIES_DIR)/ -endef - -$(eval $(generic-package)) - -ifeq ($(BR2_TARGET_XLOADER)$(BR_BUILDING),yy) -ifeq ($(XLOADER_BOARD_NAME),) -$(error NO x-loader board name set. Check your BR2_BOOT_XLOADER_BOARDNAME setting) -endif -endif diff --git a/bsp/buildroot/configs/aarch64_efi_defconfig b/bsp/buildroot/configs/aarch64_efi_defconfig new file mode 100644 index 00000000..e8719321 --- /dev/null +++ b/bsp/buildroot/configs/aarch64_efi_defconfig @@ -0,0 +1,38 @@ +# Architecture +BR2_aarch64=y + +# Toolchain, required for eudev and grub +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y + +# System +BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y + +## Required tools to create bootable media +BR2_PACKAGE_HOST_GENIMAGE=y + +# Bootloader +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_AARCH64_EFI=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="200M" +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/aarch64-efi/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/aarch64-efi/genimage-efi.cfg" + +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Host tools for genimage +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/bsp/buildroot/configs/amarula_a64_relic_defconfig b/bsp/buildroot/configs/amarula_a64_relic_defconfig new file mode 100644 index 00000000..f2e7e7f9 --- /dev/null +++ b/bsp/buildroot/configs/amarula_a64_relic_defconfig @@ -0,0 +1,62 @@ +BR2_aarch64=y +BR2_cortex_a53=y +BR2_ARM_FPU_VFPV4=y + +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y + +# Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/apritzel/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50iw1p1" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="aa75c8da415158a94b82a430b2b40000778e851f" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="amarula_a64_relic" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/sunxi-spl.bin" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,amarula,linux-amarula,v1.0a)/linux-amarula_v1.0a.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-a64-amarula-relic" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_GENERIC_ISSUE="Welcome to Amarula A64-Relic" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/a64-relic/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/a64-relic/post-build.sh" +BR2_ROOTFS_OVERLAY="board/amarula/a64-relic/rootfs_overlay" + +# wireless firmware +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y + +# wireless tools +BR2_PACKAGE_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y diff --git a/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig b/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig new file mode 100644 index 00000000..88fb6abb --- /dev/null +++ b/bsp/buildroot/configs/amarula_vyasa_rk3288_defconfig @@ -0,0 +1,46 @@ +# Architecture +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 4.14 series +BR2_KERNEL_HEADERS_4_14=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="vyasa-rk3288" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin tpl/u-boot-tpl.bin" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,openedev,linux-openedev,d127129e85a020879f334154300ddd3f7ec21c1e)/linux-d127129e85a020879f334154300ddd3f7ec21c1e.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-vyasa" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/amarula/vyasa/linux_gmac.fragment" + +# Filesystem +BR2_TARGET_GENERIC_HOSTNAME="vyasa-rk3288" +BR2_TARGET_GENERIC_ISSUE="Welcome to VYASA RK3288!" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/amarula/vyasa/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/amarula/vyasa/post-build.sh" diff --git a/bsp/buildroot/configs/arcturus_ucls1012a_defconfig b/bsp/buildroot/configs/arcturus_ucls1012a_defconfig new file mode 100644 index 00000000..7fb98047 --- /dev/null +++ b/bsp/buildroot/configs/arcturus_ucls1012a_defconfig @@ -0,0 +1,36 @@ +# Architecture +BR2_aarch64=y + +# Linux headers same as kernel, a 4.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=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_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.1811)/linux-v0.2.1811.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="ucls1012a" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="arcturus/arc-ucls1012a" + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y + +# U-boot +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/ArcturusNetworks/uCLS1012A-uboot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v0.2.1823" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="UCLS1012A_QSPI128" + +# Tools +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/bsp/buildroot/configs/arm_juno_defconfig b/bsp/buildroot/configs/arm_juno_defconfig index 98f25738..58329867 100644 --- a/bsp/buildroot/configs/arm_juno_defconfig +++ b/bsp/buildroot/configs/arm_juno_defconfig @@ -12,7 +12,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno arm/juno-r1 arm/juno-r2" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.4" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y diff --git a/bsp/buildroot/configs/asus_tinker_rk3288_defconfig b/bsp/buildroot/configs/asus_tinker_rk3288_defconfig new file mode 100644 index 00000000..a0df3de8 --- /dev/null +++ b/bsp/buildroot/configs/asus_tinker_rk3288_defconfig @@ -0,0 +1,45 @@ +# Architecture +BR2_arm=y +BR2_cortex_a17=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 4.12 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="tinker-rk3288" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y +BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl-dtb.bin" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12" +BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" +BR2_LINUX_KERNEL_UIMAGE=y +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x02000000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rk3288-tinker" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_GENERIC_HOSTNAME="tinker-rk3288" +BR2_TARGET_GENERIC_ISSUE="Welcome to TINKER RK3288!" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="512M" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/asus/tinker/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/asus/tinker/post-build.sh" diff --git a/bsp/buildroot/configs/at91sam9260eknf_defconfig b/bsp/buildroot/configs/at91sam9260eknf_defconfig index d91fcb05..807d0294 100644 --- a/bsp/buildroot/configs/at91sam9260eknf_defconfig +++ b/bsp/buildroot/configs/at91sam9260eknf_defconfig @@ -21,7 +21,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9260eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/bsp/buildroot/configs/at91sam9g20dfc_defconfig b/bsp/buildroot/configs/at91sam9g20dfc_defconfig index 15a8d879..7511c96f 100644 --- a/bsp/buildroot/configs/at91sam9g20dfc_defconfig +++ b/bsp/buildroot/configs/at91sam9g20dfc_defconfig @@ -15,12 +15,19 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g20ek" # Filesystem BR2_TARGET_ROOTFS_TAR=y +BR2_TARGET_ROOTFS_UBI=y +BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x20000 +BR2_TARGET_ROOTFS_UBI_SUBSIZE=512 +BR2_TARGET_ROOTFS_UBIFS=y +BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f800 +BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x800 +BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 # Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9g20eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/bsp/buildroot/configs/at91sam9g45m10ek_defconfig b/bsp/buildroot/configs/at91sam9g45m10ek_defconfig index 2bf71799..c598527f 100644 --- a/bsp/buildroot/configs/at91sam9g45m10ek_defconfig +++ b/bsp/buildroot/configs/at91sam9g45m10ek_defconfig @@ -22,7 +22,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9m10g45eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/bsp/buildroot/configs/at91sam9rlek_defconfig b/bsp/buildroot/configs/at91sam9rlek_defconfig index bc1be164..ba3a94c0 100644 --- a/bsp/buildroot/configs/at91sam9rlek_defconfig +++ b/bsp/buildroot/configs/at91sam9rlek_defconfig @@ -22,7 +22,7 @@ BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9rleknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y diff --git a/bsp/buildroot/configs/at91sam9x5ek_defconfig b/bsp/buildroot/configs/at91sam9x5ek_defconfig index a5362303..9dd8fbb3 100644 --- a/bsp/buildroot/configs/at91sam9x5ek_defconfig +++ b/bsp/buildroot/configs/at91sam9x5ek_defconfig @@ -3,9 +3,8 @@ BR2_arm926t=y # Linux headers same as kernel, a 4.4 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" @@ -16,13 +15,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_SAM_BA=y diff --git a/bsp/buildroot/configs/at91sam9x5ek_dev_defconfig b/bsp/buildroot/configs/at91sam9x5ek_dev_defconfig index 3f711ffe..505be8d0 100644 --- a/bsp/buildroot/configs/at91sam9x5ek_dev_defconfig +++ b/bsp/buildroot/configs/at91sam9x5ek_dev_defconfig @@ -17,9 +17,8 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" @@ -85,13 +84,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/at91sam9x5ek_mmc_defconfig b/bsp/buildroot/configs/at91sam9x5ek_mmc_defconfig index 6964d581..8777606f 100644 --- a/bsp/buildroot/configs/at91sam9x5ek_mmc_defconfig +++ b/bsp/buildroot/configs/at91sam9x5ek_mmc_defconfig @@ -11,9 +11,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/at91sam9x5ek_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" @@ -26,13 +25,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_ENVIMAGE=y diff --git a/bsp/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig b/bsp/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig index 73c90a49..cd659128 100644 --- a/bsp/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig +++ b/bsp/buildroot/configs/at91sam9x5ek_mmc_dev_defconfig @@ -20,9 +20,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/at91sam9x5ek_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g15ek at91sam9g25ek at91sam9g35ek at91sam9x25ek at91sam9x35ek" @@ -87,13 +86,13 @@ BR2_TARGET_ROOTFS_EXT2_SIZE="120M" BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9x5eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9x5ek_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_ENVIMAGE=y diff --git a/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig index 0c041501..9985b647 100644 --- a/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d27_som1_ek_mmc_dev_defconfig @@ -11,9 +11,8 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d27_som1_ek_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d27_som1_ek at91-sama5d27_som1_ek_pda4 at91-sama5d27_som1_ek_pda7 at91-sama5d27_som1_ek_pda7b" @@ -71,13 +70,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d27_som1_eksd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d27_som1_ek_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_defconfig b/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_defconfig index 8889978d..57ced694 100644 --- a/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_defconfig @@ -7,9 +7,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained at91-sama5d2_xplained_pda4 at91-sama5d2_xplained_pda7 at91-sama5d2_xplained_pda7b" @@ -18,13 +17,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig index 4563ed11..bc5414c4 100644 --- a/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d2_xplained_mmc_dev_defconfig @@ -23,9 +23,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d2_xplained_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_xplained at91-sama5d2_xplained_pda4 at91-sama5d2_xplained_pda7 at91-sama5d2_xplained_pda7b" @@ -89,13 +88,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/atmel_sama5d3_xplained_defconfig b/bsp/buildroot/configs/atmel_sama5d3_xplained_defconfig index b65c389a..b8b33c5e 100644 --- a/bsp/buildroot/configs/atmel_sama5d3_xplained_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d3_xplained_defconfig @@ -4,9 +4,8 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" @@ -17,13 +16,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_SAM_BA=y diff --git a/bsp/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig index 6a5ed375..520cbc83 100644 --- a/bsp/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d3_xplained_dev_defconfig @@ -19,9 +19,8 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" @@ -87,13 +86,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainednf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig b/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig index 4ddb1714..8fd9a7c2 100644 --- a/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_defconfig @@ -6,9 +6,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" @@ -17,13 +16,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig index 37112ce4..a1e34ab8 100644 --- a/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d3_xplained_mmc_dev_defconfig @@ -22,9 +22,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d3_xplained_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d3_xplained at91-sama5d3_xplained_pda4 at91-sama5d3_xplained_pda7 at91-sama5d3_xplained_pda7b" @@ -88,13 +87,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3_xplainedsd_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/atmel_sama5d3xek_defconfig b/bsp/buildroot/configs/atmel_sama5d3xek_defconfig index c57076c9..95deb6f2 100644 --- a/bsp/buildroot/configs/atmel_sama5d3xek_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d3xek_defconfig @@ -5,13 +5,12 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.5" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sama5d31ek sama5d33ek sama5d34ek sama5d35ek sama5d36ek" @@ -26,14 +25,15 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3xeknf_uboot" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.5" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3xek_nandflash" +BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_SPL=y # Host packages diff --git a/bsp/buildroot/configs/atmel_sama5d4_xplained_defconfig b/bsp/buildroot/configs/atmel_sama5d4_xplained_defconfig index feedf1f5..522f7fc9 100644 --- a/bsp/buildroot/configs/atmel_sama5d4_xplained_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d4_xplained_defconfig @@ -5,9 +5,8 @@ BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" @@ -21,13 +20,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_SAM_BA=y diff --git a/bsp/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig index 266411ff..9197564c 100644 --- a/bsp/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d4_xplained_dev_defconfig @@ -20,9 +20,8 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" @@ -91,13 +90,13 @@ BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainednf_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_nandflash" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_defconfig b/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_defconfig index b8b21e77..f69acb28 100644 --- a/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_defconfig @@ -7,9 +7,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" @@ -18,13 +17,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig b/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig index a2958319..f20e114f 100644 --- a/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig +++ b/bsp/buildroot/configs/atmel_sama5d4_xplained_mmc_dev_defconfig @@ -23,9 +23,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/atmel/sama5d4_xplained_mmc/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam_5.8)/linux-linux4sam_5.8.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4_xplained at91-sama5d4_xplained_hdmi at91-sama5d4_xplained_pda4 at91-sama5d4_xplained_pda7 at91-sama5d4_xplained_pda7b" @@ -89,13 +88,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_AT91BOOTSTRAP3=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" -BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.9" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.10" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4_xplainedsd_uboot_secure" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.7" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.8" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d4_xplained_mmc" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/bananapi_m1_defconfig b/bsp/buildroot/configs/bananapi_m1_defconfig index f8c66a33..558ef3d4 100644 --- a/bsp/buildroot/configs/bananapi_m1_defconfig +++ b/bsp/buildroot/configs/bananapi_m1_defconfig @@ -1,38 +1,28 @@ BR2_arm=y BR2_cortex_a7=y -BR2_ARM_EABIHF=y - -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y - -# Bootloader +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M1" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m1/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.12" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-bananapi" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Bananapi" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y -BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_TARGET_UBOOT_BOOT_SCRIPT=y BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m1/boot.cmd" - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.7" -BR2_LINUX_KERNEL_DEFCONFIG="sunxi" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-bananapi" - -# Filesystem -BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M1" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m1/genimage.cfg" diff --git a/bsp/buildroot/configs/bananapi_m2_ultra_defconfig b/bsp/buildroot/configs/bananapi_m2_ultra_defconfig new file mode 100644 index 00000000..bc1d31a6 --- /dev/null +++ b/bsp/buildroot/configs/bananapi_m2_ultra_defconfig @@ -0,0 +1,29 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Bananapi M2 Ultra" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/bananapi/bananapi-m2-ultra/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.12" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-r40-bananapi-m2-ultra" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m2_berry" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/bananapi/bananapi-m2-ultra/boot.cmd" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/bsp/buildroot/configs/bananapro_defconfig b/bsp/buildroot/configs/bananapro_defconfig index 5a71d757..136a166d 100644 --- a/bsp/buildroot/configs/bananapro_defconfig +++ b/bsp/buildroot/configs/bananapro_defconfig @@ -22,7 +22,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="board/lemaker/bananapro/post-image.sh" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.91" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/lemaker/bananapro/linux-wifi.fragment" @@ -39,7 +39,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Bananapro" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/bsp/buildroot/configs/beaglebone_defconfig b/bsp/buildroot/configs/beaglebone_defconfig index 611b6941..2d9fba57 100644 --- a/bsp/buildroot/configs/beaglebone_defconfig +++ b/bsp/buildroot/configs/beaglebone_defconfig @@ -1,13 +1,13 @@ BR2_arm=y BR2_cortex_a8=y BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches" -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglebone/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.ti.com/processor-sdk/processor-sdk-linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f9f6f0db2d5e4f9d2ff46eb31a5a05276a92ed7d" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4796173fc58688055a99a1cef19a839174067220" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk" @@ -16,13 +16,11 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm" BR2_TARGET_UBOOT_NEEDS_DTC=y # BR2_TARGET_UBOOT_FORMAT_BIN is not set BR2_TARGET_UBOOT_FORMAT_IMG=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="spl/u-boot-spl.bin" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="MLO" BR2_PACKAGE_HOST_DOSFSTOOLS=y diff --git a/bsp/buildroot/configs/chromebook_snow_defconfig b/bsp/buildroot/configs/chromebook_snow_defconfig index 70cd42bb..5558c101 100644 --- a/bsp/buildroot/configs/chromebook_snow_defconfig +++ b/bsp/buildroot/configs/chromebook_snow_defconfig @@ -1,16 +1,16 @@ BR2_arm=y BR2_cortex_a15=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y BR2_TARGET_GENERIC_GETTY_PORT="tty1" BR2_TARGET_GENERIC_GETTY_TERM="linux" BR2_ROOTFS_POST_BUILD_SCRIPT="board/chromebook/snow/sign.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/chromebook/snow/mksd.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.3" -BR2_LINUX_KERNEL_PATCH="board/chromebook/snow/linux-4.6-dts-tpm.patch" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_PATCH="board/chromebook/snow/linux-4.15-dts-tpm.patch" BR2_LINUX_KERNEL_DEFCONFIG="exynos" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/chromebook/snow/linux-4.6.fragment" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/chromebook/snow/linux-4.15.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5250-snow" BR2_PACKAGE_LINUX_FIRMWARE=y diff --git a/bsp/buildroot/configs/ci20_defconfig b/bsp/buildroot/configs/ci20_defconfig index f28dd4da..8f2604b0 100644 --- a/bsp/buildroot/configs/ci20_defconfig +++ b/bsp/buildroot/configs/ci20_defconfig @@ -15,9 +15,8 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/ci20/genimage.cfg" # kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MIPS/CI20_linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="7dff33297116643485ca37141d804eddd793e834" +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_DEFCONFIG="ci20" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -28,6 +27,7 @@ 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_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin" diff --git a/bsp/buildroot/configs/csky_gx6605s_defconfig b/bsp/buildroot/configs/csky_gx6605s_defconfig index 5f39c536..d0a2aadc 100644 --- a/bsp/buildroot/configs/csky_gx6605s_defconfig +++ b/bsp/buildroot/configs/csky_gx6605s_defconfig @@ -1,8 +1,9 @@ BR2_csky=y +BR2_GLOBAL_PATCH_DIR="board/csky/gx6605s/patches" BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/c-sky/tools/raw/master/csky-linux-tools-x86_64-glibc-linux-4.9.2-20170227.tar.gz" +BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/c-sky/tools/raw/master/csky-linux-tools-x86_64-glibc-linux-4.9.56-20180128.tar.gz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="csky-linux" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_5=y +BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y @@ -10,7 +11,7 @@ BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/c-sky/linux-4.9.y/archive/314c498ddc8c43a66ca96ff3af7da98e10fa1cc6.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/c-sky/linux-4.9.y/archive/6064a9bdf48cefbccc4f6472dd04251f0dec1931.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="gx66xx" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="gx6605s" diff --git a/bsp/buildroot/configs/cubieboard2_defconfig b/bsp/buildroot/configs/cubieboard2_defconfig index a0d23990..fd50742d 100644 --- a/bsp/buildroot/configs/cubieboard2_defconfig +++ b/bsp/buildroot/configs/cubieboard2_defconfig @@ -1,15 +1,15 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y BR2_TARGET_GENERIC_HOSTNAME="Cubieboard2" BR2_TARGET_GENERIC_ISSUE="Welcome to Cubieboard2!" BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/cubietech/cubieboard2/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.14" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-cubieboard2" @@ -18,9 +18,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="Cubieboard2" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_TARGET_UBOOT_BOOT_SCRIPT=y diff --git a/bsp/buildroot/configs/freescale_imx28evk_defconfig b/bsp/buildroot/configs/freescale_imx28evk_defconfig index 181c9ab9..ba17ed21 100644 --- a/bsp/buildroot/configs/freescale_imx28evk_defconfig +++ b/bsp/buildroot/configs/freescale_imx28evk_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" @@ -11,7 +11,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17.8" BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-evk" @@ -20,7 +20,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-evk" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx28evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_SD=y # Filesystem diff --git a/bsp/buildroot/configs/freescale_imx7dsabresd_defconfig b/bsp/buildroot/configs/freescale_imx7dsabresd_defconfig index 3563d1e1..9d00a53e 100644 --- a/bsp/buildroot/configs/freescale_imx7dsabresd_defconfig +++ b/bsp/buildroot/configs/freescale_imx7dsabresd_defconfig @@ -2,6 +2,9 @@ BR2_arm=y BR2_cortex_a7=y +# patches +BR2_GLOBAL_PATCH_DIR="board/freescale/imx7dsdb/patches" + # Linux headers same as kernel, a 4.9 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y diff --git a/bsp/buildroot/configs/freescale_imx8mqevk_defconfig b/bsp/buildroot/configs/freescale_imx8mqevk_defconfig new file mode 100644 index 00000000..895713b1 --- /dev/null +++ b/bsp/buildroot/configs/freescale_imx8mqevk_defconfig @@ -0,0 +1,42 @@ +BR2_aarch64=y +BR2_ARM_FPU_VFPV3=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/freescale/common/imx/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/fsl-imx8mq-evk.dtb" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/linux-imx" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.14.62_1.0.0_beta" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/fsl-imx8mq-evk" +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="120M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/imx-atf" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="rel_imx_4.14.62_1.0.0_beta" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://source.codeaurora.org/external/imx/uboot-imx" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="rel_imx_4.14.62_1.0.0_beta" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="imx8mq_evk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_FORMAT_IMX=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-nodtb.bin" +BR2_TARGET_UBOOT_SPL=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y diff --git a/bsp/buildroot/configs/freescale_p1025twr_defconfig b/bsp/buildroot/configs/freescale_p1025twr_defconfig new file mode 100644 index 00000000..f476d927 --- /dev/null +++ b/bsp/buildroot/configs/freescale_p1025twr_defconfig @@ -0,0 +1,24 @@ +# Architecture +BR2_powerpc=y +BR2_powerpc_8548=y + +# Linux headers same as kernel, a 4.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y + +# Serial port config +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.7" +BR2_LINUX_KERNEL_DEFCONFIG="mpc85xx_smp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="fsl/p1025twr" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/bsp/buildroot/configs/freescale_t1040d4rdb_defconfig b/bsp/buildroot/configs/freescale_t1040d4rdb_defconfig new file mode 100644 index 00000000..df44046e --- /dev/null +++ b/bsp/buildroot/configs/freescale_t1040d4rdb_defconfig @@ -0,0 +1,24 @@ +# Architecture +BR2_powerpc64=y +BR2_powerpc_e5500=y + +# Linux headers same as kernel, a 4.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y + +# Serial port config +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.7" +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="fsl/t1040d4rdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_GZIP=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/bsp/buildroot/configs/galileo_defconfig b/bsp/buildroot/configs/galileo_defconfig index 72ab0ff0..03ca23f4 100644 --- a/bsp/buildroot/configs/galileo_defconfig +++ b/bsp/buildroot/configs/galileo_defconfig @@ -10,9 +10,8 @@ BR2_ROOTFS_OVERLAY="board/intel/galileo/rootfs_overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/intel/galileo/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/intel/galileo/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/mdr78/Linux-x1000.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8b3c9d8ce1656a26b1097d9091d53bfb39fef640" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,mdr78,Linux-x1000,8b3c9d8ce1656a26b1097d9091d53bfb39fef640)/linux-8b3c9d8ce1656a26b1097d9091d53bfb39fef640.tar.gz" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/intel/galileo/linux-3.14.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y diff --git a/bsp/buildroot/configs/gdb_bfin_bf512_defconfig b/bsp/buildroot/configs/gdb_bfin_bf512_defconfig deleted file mode 100644 index 6740647c..00000000 --- a/bsp/buildroot/configs/gdb_bfin_bf512_defconfig +++ /dev/null @@ -1,33 +0,0 @@ -# Architecture -BR2_bfin=y -BR2_bf512=y - -# Filesystem -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_TAR is not set - -BR2_ROOTFS_POST_BUILD_SCRIPT="board/gdb/post-build.sh" - -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.14" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/gdb/bfin-bf512/linux.config" -BR2_LINUX_KERNEL_VMLINUX=y - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyBF0" - -# use minimal busybox with hush -BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config" - -# compile gdb sim -BR2_PACKAGE_HOST_GDB=y -# BR2_PACKAGE_HOST_GDB_TUI is not set -# BR2_PACKAGE_HOST_GDB_PYTHON is not set -BR2_PACKAGE_HOST_GDB_SIM=y diff --git a/bsp/buildroot/configs/grinn_chiliboard_defconfig b/bsp/buildroot/configs/grinn_chiliboard_defconfig index cfd22b82..84f24e1c 100644 --- a/bsp/buildroot/configs/grinn_chiliboard_defconfig +++ b/bsp/buildroot/configs/grinn_chiliboard_defconfig @@ -1,22 +1,21 @@ BR2_arm=y BR2_cortex_a8=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyO0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/grinn/chiliboard/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.1" BR2_LINUX_KERNEL_DEFCONFIG="omap2plus" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-chiliboard" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="http://git.denx.de/u-boot.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="aac477eca88dd81b18b48573ababee5112d571f3" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="chiliboard" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y diff --git a/bsp/buildroot/configs/grinn_liteboard_defconfig b/bsp/buildroot/configs/grinn_liteboard_defconfig index 70ec2964..84f1735e 100644 --- a/bsp/buildroot/configs/grinn_liteboard_defconfig +++ b/bsp/buildroot/configs/grinn_liteboard_defconfig @@ -1,21 +1,21 @@ BR2_arm=y BR2_cortex_a7=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10=y -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/grinn/liteboard/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.2" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-liteboard" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="liteboard" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y diff --git a/bsp/buildroot/configs/imx23evk_defconfig b/bsp/buildroot/configs/imx23evk_defconfig index fe074403..87610d1b 100644 --- a/bsp/buildroot/configs/imx23evk_defconfig +++ b/bsp/buildroot/configs/imx23evk_defconfig @@ -20,7 +20,7 @@ BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx23-evk" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx23evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" BR2_TARGET_UBOOT_FORMAT_SD=y # Filesystem diff --git a/bsp/buildroot/configs/imx6-sabresd_defconfig b/bsp/buildroot/configs/imx6-sabresd_defconfig index 99995139..c2924b2e 100644 --- a/bsp/buildroot/configs/imx6-sabresd_defconfig +++ b/bsp/buildroot/configs/imx6-sabresd_defconfig @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -24,7 +24,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" @@ -32,7 +32,7 @@ BR2_TARGET_UBOOT_SPL_NAME="SPL" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd imx6dl-sabresd imx6qp-sabresd" diff --git a/bsp/buildroot/configs/imx6-sabresd_qt5_defconfig b/bsp/buildroot/configs/imx6-sabresd_qt5_defconfig index 6e178eed..4616f57e 100644 --- a/bsp/buildroot/configs/imx6-sabresd_qt5_defconfig +++ b/bsp/buildroot/configs/imx6-sabresd_qt5_defconfig @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Additional features needed for packages BR2_TOOLCHAIN_BUILDROOT_WCHAR=y @@ -30,7 +30,7 @@ BR2_ROOTFS_OVERLAY="board/freescale/imx6-sabresd/rootfs_overlay" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6sabresd" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" @@ -38,7 +38,7 @@ BR2_TARGET_UBOOT_SPL_NAME="SPL" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-sabresd imx6dl-sabresd imx6qp-sabresd" diff --git a/bsp/buildroot/configs/imx6slevk_defconfig b/bsp/buildroot/configs/imx6slevk_defconfig index be4b42e8..90a02964 100644 --- a/bsp/buildroot/configs/imx6slevk_defconfig +++ b/bsp/buildroot/configs/imx6slevk_defconfig @@ -11,7 +11,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6slevk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" BR2_TARGET_UBOOT_FORMAT_IMX=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y diff --git a/bsp/buildroot/configs/imx6ulevk_defconfig b/bsp/buildroot/configs/imx6ulevk_defconfig index 069f8cfc..9e30d2c3 100644 --- a/bsp/buildroot/configs/imx6ulevk_defconfig +++ b/bsp/buildroot/configs/imx6ulevk_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -12,16 +12,17 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-14x14-evk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6ul_14x14_evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" diff --git a/bsp/buildroot/configs/imx6ulpico_defconfig b/bsp/buildroot/configs/imx6ulpico_defconfig index 96ac038d..56ae5887 100644 --- a/bsp/buildroot/configs/imx6ulpico_defconfig +++ b/bsp/buildroot/configs/imx6ulpico_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc5" @@ -15,11 +15,11 @@ BR2_ROOTFS_OVERLAY="board/technexion/imx6ulpico/rootfs_overlay" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/technexion/imx6ulpico/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ul-pico-hobbit" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # wifi firmware for brcm4339 BR2_PACKAGE_LINUX_FIRMWARE=y @@ -37,7 +37,7 @@ BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="pico-imx6ul" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_IMX=y # required tools to create the eMMC image diff --git a/bsp/buildroot/configs/imx7d-sdb_defconfig b/bsp/buildroot/configs/imx7d-sdb_defconfig new file mode 100644 index 00000000..b1cc5f85 --- /dev/null +++ b/bsp/buildroot/configs/imx7d-sdb_defconfig @@ -0,0 +1,36 @@ +# architecture +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y + +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y + +# system +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17.4" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-sdb" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# U-Boot +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="mx7dsabresd" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y + +# Filesystem +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# required tools to create the eMMC image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/bsp/buildroot/configs/imx7dpico_defconfig b/bsp/buildroot/configs/imx7dpico_defconfig index b72d56bc..93e3fd74 100644 --- a/bsp/buildroot/configs/imx7dpico_defconfig +++ b/bsp/buildroot/configs/imx7dpico_defconfig @@ -3,8 +3,11 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# patches +BR2_GLOBAL_PATCH_DIR="board/technexion/imx7dpico/patches" + +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc4" @@ -12,16 +15,17 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc4" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-pico" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7d-pico-pi" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # bootloader BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="pico-imx7d" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_IMX=y # required tools to create the eMMC image diff --git a/bsp/buildroot/configs/lego_ev3_defconfig b/bsp/buildroot/configs/lego_ev3_defconfig index 02819241..cf280905 100644 --- a/bsp/buildroot/configs/lego_ev3_defconfig +++ b/bsp/buildroot/configs/lego_ev3_defconfig @@ -2,28 +2,33 @@ BR2_arm=y BR2_arm926t=y -# Build options -BR2_GLOBAL_PATCH_DIR="board/lego/ev3/patches" +# Toolchain +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y # system BR2_TARGET_GENERIC_GETTY=y BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/lego/ev3/post-image.sh" -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" BR2_LINUX_KERNEL_DEFCONFIG="davinci_all" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/lego/ev3/linux.fragment" +BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0xc0008000" -BR2_LINUX_KERNEL_APPENDED_UIMAGE=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="da850-lego-ev3" # Target packages BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/lego/ev3/busybox.fragment" +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560=y # filesystem BR2_TARGET_ROOTFS_EXT2=y @@ -36,7 +41,7 @@ BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="legoev3" # host diff --git a/bsp/buildroot/configs/minnowboard_max-graphical_defconfig b/bsp/buildroot/configs/minnowboard_max-graphical_defconfig index f05e791a..921dae31 100644 --- a/bsp/buildroot/configs/minnowboard_max-graphical_defconfig +++ b/bsp/buildroot/configs/minnowboard_max-graphical_defconfig @@ -3,7 +3,7 @@ BR2_x86_64=y BR2_x86_silvermont=y # Toolchain -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TOOLCHAIN_BUILDROOT_LOCALE=y BR2_TOOLCHAIN_BUILDROOT_CXX=y # needed for TARGET_GRUB2 @@ -23,7 +23,7 @@ BR2_PACKAGE_HOST_MTOOLS=y # Linux BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.8" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux.config" diff --git a/bsp/buildroot/configs/minnowboard_max_defconfig b/bsp/buildroot/configs/minnowboard_max_defconfig index 9495bf37..523ddffd 100644 --- a/bsp/buildroot/configs/minnowboard_max_defconfig +++ b/bsp/buildroot/configs/minnowboard_max_defconfig @@ -7,8 +7,8 @@ BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh" -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Needed for grub2 BR2_TOOLCHAIN_BUILDROOT_WCHAR=y @@ -23,7 +23,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.8" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux.config" diff --git a/bsp/buildroot/configs/mx25pdk_defconfig b/bsp/buildroot/configs/mx25pdk_defconfig index a88fb2ae..ec4f8b82 100644 --- a/bsp/buildroot/configs/mx25pdk_defconfig +++ b/bsp/buildroot/configs/mx25pdk_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -22,13 +22,14 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx25pdk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" BR2_TARGET_UBOOT_FORMAT_IMX=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.11" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.7" BR2_LINUX_KERNEL_DEFCONFIG="imx_v4_v5" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx25-pdk" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/bsp/buildroot/configs/mx51evk_defconfig b/bsp/buildroot/configs/mx51evk_defconfig index 368e9bea..3c2d5613 100644 --- a/bsp/buildroot/configs/mx51evk_defconfig +++ b/bsp/buildroot/configs/mx51evk_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -22,13 +22,14 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx51evk" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_IMX=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17.2" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx51-babbage" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/bsp/buildroot/configs/mx53loco_defconfig b/bsp/buildroot/configs/mx53loco_defconfig index 8bb40141..ca6ec446 100644 --- a/bsp/buildroot/configs/mx53loco_defconfig +++ b/bsp/buildroot/configs/mx53loco_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_cortex_a8=y -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.17 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -22,13 +22,13 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx53loco" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_FORMAT_IMX=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17.4" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx53-qsb imx53-qsrb" diff --git a/bsp/buildroot/configs/mx6cubox_defconfig b/bsp/buildroot/configs/mx6cubox_defconfig index 5cb44fd4..2996c375 100644 --- a/bsp/buildroot/configs/mx6cubox_defconfig +++ b/bsp/buildroot/configs/mx6cubox_defconfig @@ -3,8 +3,8 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/mx6cubox/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/solidrun/mx6cubox/post-image.sh" @@ -13,17 +13,18 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mx6cuboxi" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.1" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-cubox-i imx6dl-cubox-i imx6q-hummingboard imx6dl-hummingboard" BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/bsp/buildroot/configs/nexbox_a95x_defconfig b/bsp/buildroot/configs/nexbox_a95x_defconfig index 5fc00994..4820d47d 100644 --- a/bsp/buildroot/configs/nexbox_a95x_defconfig +++ b/bsp/buildroot/configs/nexbox_a95x_defconfig @@ -1,16 +1,17 @@ BR2_aarch64=y BR2_cortex_a53=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y BR2_SYSTEM_DHCP="eth0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/nexbox/a95x/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nexbox/a95x/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.8" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="amlogic/meson-gxbb-nexbox-a95x amlogic/meson-gxl-s905x-nexbox-a95x" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set diff --git a/bsp/buildroot/configs/nitrogen8m_defconfig b/bsp/buildroot/configs/nitrogen8m_defconfig new file mode 100644 index 00000000..9b758f0b --- /dev/null +++ b/bsp/buildroot/configs/nitrogen8m_defconfig @@ -0,0 +1,54 @@ +# Architecture +BR2_aarch64=y +BR2_cortex_a53=y + +# System +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/freescale/common/imx/imx8-bootloader-prepare.sh board/boundarydevices/common/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/boundarydevices/common/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="${UBOOT_DIR}/arch/arm/dts/imx8mq-nitrogen8m.dtb" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_IMX_MKIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y + +# Linux headers same as kernel, a 4.9 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y + +# DDR training binaries +BR2_PACKAGE_FREESCALE_IMX=y +BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y +BR2_PACKAGE_FIRMWARE_IMX=y + +# ARM Trusted Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL=y +# Latest revision of branch boundary-imx_4.9.51_imx8m_ga +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/imx-atf/archive/67c68675.tar.gz" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="imx8mq" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nitrogen8m" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_TARBALL=y +# Latest revision of branch boundary-imx_v2017.03_4.9.51_imx8m_ga +BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/u-boot-imx6/archive/b661d854.tar.gz" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_SPL=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +# Latest revision of branch boundary-imx_4.9.x_2.0.0_ga +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/boundarydevices/linux-imx6/archive/7777e14d.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="boundary" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="freescale/imx8mq-nitrogen8m freescale/imx8mq-nitrogen8m-m4" diff --git a/bsp/buildroot/configs/odroidc2_defconfig b/bsp/buildroot/configs/odroidc2_defconfig index f52f29ad..63c5d2ed 100644 --- a/bsp/buildroot/configs/odroidc2_defconfig +++ b/bsp/buildroot/configs/odroidc2_defconfig @@ -14,9 +14,8 @@ BR2_KERNEL_HEADERS_VERSION=y BR2_DEFAULT_KERNEL_VERSION="3.14.79" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/hardkernel/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f966ebfc0e8dc88c7931b4640b8a1b4bc2e13faa" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,hardkernel,linux,f966ebfc0e8dc88c7931b4640b8a1b4bc2e13faa)/linux-f966ebfc0e8dc88c7931b4640b8a1b4bc2e13faa.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidc2" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_BUILD_DEFAULT_DTS=y diff --git a/bsp/buildroot/configs/odroidxu4_defconfig b/bsp/buildroot/configs/odroidxu4_defconfig new file mode 100644 index 00000000..69958e13 --- /dev/null +++ b/bsp/buildroot/configs/odroidxu4_defconfig @@ -0,0 +1,27 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/hardkernel/odroidxu4/post-image.sh" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/hardkernel/linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4.14.16-104" +BR2_LINUX_KERNEL_DEFCONFIG="odroidxu4" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/hardkernel/u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="88af53fbcef8386cb4d5f04c19f4b2bcb69e90ca" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="odroid-xu4" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_FORMAT_DTB_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="sd_fuse/bl1.bin.hardkernel sd_fuse/bl2.bin.hardkernel.720k_uboot sd_fuse/tzsw.bin.hardkernel " +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/bsp/buildroot/configs/olimex_a10_olinuxino_lime_defconfig b/bsp/buildroot/configs/olimex_a10_olinuxino_lime_defconfig new file mode 100644 index 00000000..8248daf9 --- /dev/null +++ b/bsp/buildroot/configs/olimex_a10_olinuxino_lime_defconfig @@ -0,0 +1,47 @@ +# Architecture +BR2_arm=y +BR2_cortex_a8=y + +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y + +# System configuration +BR2_TARGET_GENERIC_HOSTNAME="a10-olinuxino" +BR2_TARGET_GENERIC_ISSUE="Welcome to OLinuXino!" +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a10_olinuxino/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a10_olinuxino/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.26" +BR2_LINUX_KERNEL_USE_DEFCONFIG=y +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun4i-a10-olinuxino-lime" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set + +# Bootloaders +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A10-OLinuXino-Lime" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_FORMAT_BIN=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a10_olinuxino/boot.cmd" + +# Additional tools +BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/bsp/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig b/bsp/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig index 509b0502..b61d56f4 100644 --- a/bsp/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig +++ b/bsp/buildroot/configs/olimex_a20_olinuxino_lime2_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" @@ -18,13 +18,18 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.15" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime2" BR2_LINUX_KERNEL_INSTALL_TARGET=y +# sunxi packages +BR2_PACKAGE_SUNXI_TOOLS=y +BR2_PACKAGE_SUNXI_MALI_MAINLINE=y +BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER=y + # Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y @@ -34,7 +39,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime2" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/bsp/buildroot/configs/olimex_a20_olinuxino_lime_defconfig b/bsp/buildroot/configs/olimex_a20_olinuxino_lime_defconfig index 6c926b5d..5677b031 100644 --- a/bsp/buildroot/configs/olimex_a20_olinuxino_lime_defconfig +++ b/bsp/buildroot/configs/olimex_a20_olinuxino_lime_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # System configuration BR2_TARGET_GENERIC_HOSTNAME="a20-olinuxino" @@ -18,13 +18,18 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.15" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun7i-a20-olinuxino-lime" BR2_LINUX_KERNEL_INSTALL_TARGET=y +# sunxi packages +BR2_PACKAGE_SUNXI_TOOLS=y +BR2_PACKAGE_SUNXI_MALI_MAINLINE=y +BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER=y + # Filesystem BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y @@ -34,7 +39,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2019.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/bsp/buildroot/configs/olimex_a20_olinuxino_lime_mali_defconfig b/bsp/buildroot/configs/olimex_a20_olinuxino_lime_legacy_defconfig similarity index 78% rename from bsp/buildroot/configs/olimex_a20_olinuxino_lime_mali_defconfig rename to bsp/buildroot/configs/olimex_a20_olinuxino_lime_legacy_defconfig index d240e79e..2c33f05e 100644 --- a/bsp/buildroot/configs/olimex_a20_olinuxino_lime_mali_defconfig +++ b/bsp/buildroot/configs/olimex_a20_olinuxino_lime_legacy_defconfig @@ -3,6 +3,9 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_EABIHF=y +# The old 3.4 kernel doesn't build with gcc >= 7.x +BR2_GCC_VERSION_6_X=y + # Linux headers same as kernel, a 3.4 series BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y @@ -15,12 +18,10 @@ BR2_ROOTFS_POST_BUILD_SCRIPT="board/olimex/a20_olinuxino/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/olimex/a20_olinuxino/genimage.cfg" -# Kernel +# Kernel, based on Linux version 3.4.113 BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/dan-and/linux-sunxi.git" -# based on Linux version 3.4.113 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fc385cc6dfa350382ecc94a520a716b57e654410" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,dan-and,linux-sunxi,fc385cc6dfa350382ecc94a520a716b57e654410)/linux-fc385cc6dfa350382ecc94a520a716b57e654410.tar.gz" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sun7i" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -41,7 +42,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y @@ -49,7 +50,7 @@ BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_TARGET_UBOOT_BOOT_SCRIPT=y -BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot-mali.cmd" +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/olimex/a20_olinuxino/boot-legacy.cmd" # Additional tools BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/bsp/buildroot/configs/olimex_imx233_olinuxino_defconfig b/bsp/buildroot/configs/olimex_imx233_olinuxino_defconfig index 89ab5952..232d9d0d 100644 --- a/bsp/buildroot/configs/olimex_imx233_olinuxino_defconfig +++ b/bsp/buildroot/configs/olimex_imx233_olinuxino_defconfig @@ -2,8 +2,8 @@ BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # System BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" @@ -14,7 +14,7 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.2" BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/olimex/imx233_olinuxino/linux-wifi.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/bsp/buildroot/configs/orangepi_lite2_defconfig b/bsp/buildroot/configs/orangepi_lite2_defconfig new file mode 100644 index 00000000..c6be1c46 --- /dev/null +++ b/bsp/buildroot/configs/orangepi_lite2_defconfig @@ -0,0 +1,60 @@ +BR2_aarch64=y +BR2_cortex_a53=y +BR2_ARM_FPU_VFPV4=y + +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h6" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/amarula/u-boot-amarula" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="h6-v1.0a" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_lite2" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,amarula,linux-amarula,h6-v1.0b)/linux-amarula_h6-v1.0b.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h6-orangepi-lite2" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Lite2" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-lite2/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-lite2/post-build.sh" +BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-lite2/rootfs_overlay" + +# wireless firmware +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y + +# wireless tools +BR2_PACKAGE_IW=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y +BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y diff --git a/bsp/buildroot/configs/orangepi_lite_defconfig b/bsp/buildroot/configs/orangepi_lite_defconfig index 1e5fca86..1c3b99cf 100644 --- a/bsp/buildroot/configs/orangepi_lite_defconfig +++ b/bsp/buildroot/configs/orangepi_lite_defconfig @@ -1,16 +1,17 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Lite" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Lite" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.17" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-lite/linux-extras.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-lite" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_PACKAGE_RTL8189FS=y BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WPA_SUPPLICANT=y @@ -21,7 +22,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_lite" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/bsp/buildroot/configs/orangepi_one_plus_defconfig b/bsp/buildroot/configs/orangepi_one_plus_defconfig new file mode 100644 index 00000000..1084d422 --- /dev/null +++ b/bsp/buildroot/configs/orangepi_one_plus_defconfig @@ -0,0 +1,46 @@ +BR2_aarch64=y +BR2_cortex_a53=y +BR2_ARM_FPU_VFPV4=y + +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Firmware +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.0" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="sun50i_h6" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_one_plus" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,amarula,linux-amarula,h6-v1.0b)/linux-amarula_h6-v1.0b.tar.gz" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h6-orangepi-one-plus" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi One+" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-one-plus/genimage.cfg" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepi-one-plus/post-build.sh" diff --git a/bsp/buildroot/configs/orangepi_pc_defconfig b/bsp/buildroot/configs/orangepi_pc_defconfig index aa559e74..130a4e70 100644 --- a/bsp/buildroot/configs/orangepi_pc_defconfig +++ b/bsp/buildroot/configs/orangepi_pc_defconfig @@ -1,14 +1,17 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC" BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-pc/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-pc/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc" BR2_TARGET_ROOTFS_EXT2=y @@ -17,7 +20,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_pc" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y @@ -29,5 +32,3 @@ BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y BR2_PACKAGE_HOST_UBOOT_TOOLS=y -BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/orangepi/orangepi-pc/genimage.cfg" diff --git a/bsp/buildroot/configs/orangepi_zero_defconfig b/bsp/buildroot/configs/orangepi_zero_defconfig index fcf9b325..3c65665c 100644 --- a/bsp/buildroot/configs/orangepi_zero_defconfig +++ b/bsp/buildroot/configs/orangepi_zero_defconfig @@ -3,13 +3,13 @@ BR2_cortex_a7=y BR2_ARM_FPU_VFPV4=y BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero/patches" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TARGET_GENERIC_HOSTNAME="OrangePi_Zero" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi Zero" BR2_SYSTEM_DHCP="eth0" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h2-plus-orangepi-zero" @@ -21,7 +21,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y diff --git a/bsp/buildroot/configs/orangepi_zero_plus2_defconfig b/bsp/buildroot/configs/orangepi_zero_plus2_defconfig index 5b1ff350..917aa851 100644 --- a/bsp/buildroot/configs/orangepi_zero_plus2_defconfig +++ b/bsp/buildroot/configs/orangepi_zero_plus2_defconfig @@ -2,11 +2,9 @@ BR2_aarch64=y BR2_cortex_a53=y BR2_ARM_FPU_VFPV4=y -# Linux headers same as kernel, a 4.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y - -# Patch dir -BR2_GLOBAL_PATCH_DIR="board/orangepi/orangepi-zero-plus2/patches" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_OVERLAY="board/orangepi/orangepi-zero-plus2/rootfs_overlay" # Firmware BR2_TARGET_ARM_TRUSTED_FIRMWARE=y @@ -20,9 +18,10 @@ BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="orangepi_zero_plus2" BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y BR2_TARGET_UBOOT_FORMAT_CUSTOM=y BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" @@ -34,10 +33,24 @@ BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/orangepi/orangepi-zero-plus2/boot.cmd # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="allwinner/sun50i-h5-orangepi-zero-plus2" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/orangepi/orangepi-zero-plus2/linux-extras.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# wireless firmware +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y + +# wireless tools +BR2_PACKAGE_IW=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WIRELESS_TOOLS_LIB=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y # Filesystem BR2_TARGET_GENERIC_ISSUE="Welcome to Orangepi Zero Plus2" diff --git a/bsp/buildroot/configs/pc_x86_64_bios_defconfig b/bsp/buildroot/configs/pc_x86_64_bios_defconfig index 47787bc1..1c1f7a36 100644 --- a/bsp/buildroot/configs/pc_x86_64_bios_defconfig +++ b/bsp/buildroot/configs/pc_x86_64_bios_defconfig @@ -19,19 +19,21 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh support/scripts/genimage.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-bios.cfg" -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # Firmware BR2_PACKAGE_LINUX_FIRMWARE=y diff --git a/bsp/buildroot/configs/pc_x86_64_efi_defconfig b/bsp/buildroot/configs/pc_x86_64_efi_defconfig index 67ba5bcf..324de35d 100644 --- a/bsp/buildroot/configs/pc_x86_64_efi_defconfig +++ b/bsp/buildroot/configs/pc_x86_64_efi_defconfig @@ -10,7 +10,6 @@ BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y # Required tools to create bootable media BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y BR2_PACKAGE_HOST_MTOOLS=y # Bootloader @@ -22,19 +21,19 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="120M" # BR2_TARGET_ROOTFS_TAR is not set -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image.sh support/scripts/genimage.sh" -BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pc/genimage-efi.cfg" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/pc/post-image-efi-gpt.sh" -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pc/linux.config" BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # Firmware BR2_PACKAGE_LINUX_FIRMWARE=y diff --git a/bsp/buildroot/configs/qemu_aarch64_virt_defconfig b/bsp/buildroot/configs/qemu_aarch64_virt_defconfig index c94c4ac7..638e18be 100644 --- a/bsp/buildroot/configs/qemu_aarch64_virt_defconfig +++ b/bsp/buildroot/configs/qemu_aarch64_virt_defconfig @@ -1,5 +1,6 @@ # Architecture BR2_aarch64=y +BR2_cortex_a53=y # System BR2_SYSTEM_DHCP="eth0" @@ -10,12 +11,13 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux-4.13.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/bsp/buildroot/configs/qemu_arm_versatile_defconfig b/bsp/buildroot/configs/qemu_arm_versatile_defconfig index 0423dc06..ce7cb5ef 100644 --- a/bsp/buildroot/configs/qemu_arm_versatile_defconfig +++ b/bsp/buildroot/configs/qemu_arm_versatile_defconfig @@ -10,14 +10,14 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-4.13.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux.config" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="versatile-pb" diff --git a/bsp/buildroot/configs/qemu_arm_versatile_nommu_defconfig b/bsp/buildroot/configs/qemu_arm_versatile_nommu_defconfig index 9c48172e..81fb5b6c 100644 --- a/bsp/buildroot/configs/qemu_arm_versatile_nommu_defconfig +++ b/bsp/buildroot/configs/qemu_arm_versatile_nommu_defconfig @@ -21,12 +21,14 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.70" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-4.4-nommu.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux-nommu.config" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="versatile-pb" diff --git a/bsp/buildroot/configs/qemu_arm_vexpress_defconfig b/bsp/buildroot/configs/qemu_arm_vexpress_defconfig index faba6a6c..66f198ac 100644 --- a/bsp/buildroot/configs/qemu_arm_vexpress_defconfig +++ b/bsp/buildroot/configs/qemu_arm_vexpress_defconfig @@ -13,13 +13,13 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_DEFCONFIG="vexpress" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" diff --git a/bsp/buildroot/configs/qemu_m68k_mcf5208_defconfig b/bsp/buildroot/configs/qemu_m68k_mcf5208_defconfig index ccbdcfa3..44fd918e 100644 --- a/bsp/buildroot/configs/qemu_m68k_mcf5208_defconfig +++ b/bsp/buildroot/configs/qemu_m68k_mcf5208_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_INITRAMFS=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-mcf5208/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_m68k_q800_defconfig b/bsp/buildroot/configs/qemu_m68k_q800_defconfig index 6dc50a7c..0dd90a97 100644 --- a/bsp/buildroot/configs/qemu_m68k_q800_defconfig +++ b/bsp/buildroot/configs/qemu_m68k_q800_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-q800/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_microblazebe_mmu_defconfig b/bsp/buildroot/configs/qemu_microblazebe_mmu_defconfig index ae736ff1..95fdfeda 100644 --- a/bsp/buildroot/configs/qemu_microblazebe_mmu_defconfig +++ b/bsp/buildroot/configs/qemu_microblazebe_mmu_defconfig @@ -10,14 +10,14 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazebe-mmu/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazebe-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y BR2_LINUX_KERNEL_PATCH="board/qemu/microblazebe-mmu/xilinx-xemaclite.patch" diff --git a/bsp/buildroot/configs/qemu_microblazeel_mmu_defconfig b/bsp/buildroot/configs/qemu_microblazeel_mmu_defconfig index 3dedecf7..7400dafa 100644 --- a/bsp/buildroot/configs/qemu_microblazeel_mmu_defconfig +++ b/bsp/buildroot/configs/qemu_microblazeel_mmu_defconfig @@ -10,14 +10,14 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyUL0" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazeel-mmu/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/microblazeel-mmu/linux.config" BR2_LINUX_KERNEL_LINUX_BIN=y BR2_LINUX_KERNEL_PATCH="board/qemu/microblazeel-mmu/xilinx-xemaclite.patch" diff --git a/bsp/buildroot/configs/qemu_mips32r2_malta_defconfig b/bsp/buildroot/configs/qemu_mips32r2_malta_defconfig index db408b0e..0ee7a588 100644 --- a/bsp/buildroot/configs/qemu_mips32r2_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips32r2_malta_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_mips32r2el_malta_defconfig b/bsp/buildroot/configs/qemu_mips32r2el_malta_defconfig index ccec419a..075088df 100644 --- a/bsp/buildroot/configs/qemu_mips32r2el_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips32r2el_malta_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r2el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_mips32r6_malta_defconfig b/bsp/buildroot/configs/qemu_mips32r6_malta_defconfig index 3aee84c5..b0bf94ce 100644 --- a/bsp/buildroot/configs/qemu_mips32r6_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips32r6_malta_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Compiler diff --git a/bsp/buildroot/configs/qemu_mips32r6el_malta_defconfig b/bsp/buildroot/configs/qemu_mips32r6el_malta_defconfig index aa43dce9..077d836d 100644 --- a/bsp/buildroot/configs/qemu_mips32r6el_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips32r6el_malta_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips32r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Compiler diff --git a/bsp/buildroot/configs/qemu_mips64_malta_defconfig b/bsp/buildroot/configs/qemu_mips64_malta_defconfig index 52e42992..12502eac 100644 --- a/bsp/buildroot/configs/qemu_mips64_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips64_malta_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_mips64el_malta_defconfig b/bsp/buildroot/configs/qemu_mips64el_malta_defconfig index 2b35c1a0..5ddb759b 100644 --- a/bsp/buildroot/configs/qemu_mips64el_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips64el_malta_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_mips64r6_malta_defconfig b/bsp/buildroot/configs/qemu_mips64r6_malta_defconfig index 06c0133f..bfa32f65 100644 --- a/bsp/buildroot/configs/qemu_mips64r6_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips64r6_malta_defconfig @@ -10,15 +10,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Compiler diff --git a/bsp/buildroot/configs/qemu_mips64r6el_malta_defconfig b/bsp/buildroot/configs/qemu_mips64r6el_malta_defconfig index e80e7284..2fd855d7 100644 --- a/bsp/buildroot/configs/qemu_mips64r6el_malta_defconfig +++ b/bsp/buildroot/configs/qemu_mips64r6el_malta_defconfig @@ -10,15 +10,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6el-malta/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/mips64r6el-malta/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Compiler diff --git a/bsp/buildroot/configs/qemu_nios2_10m50_defconfig b/bsp/buildroot/configs/qemu_nios2_10m50_defconfig index a9eaf080..d7e7c335 100644 --- a/bsp/buildroot/configs/qemu_nios2_10m50_defconfig +++ b/bsp/buildroot/configs/qemu_nios2_10m50_defconfig @@ -1,10 +1,10 @@ BR2_nios2=y BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_DEFCONFIG="10m50" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/nios2-10m50/linux-4.11.fragment" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/nios2-10m50/linux.fragment" BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y diff --git a/bsp/buildroot/configs/qemu_or1k_defconfig b/bsp/buildroot/configs/qemu_or1k_defconfig index c6671421..3fc53f41 100644 --- a/bsp/buildroot/configs/qemu_or1k_defconfig +++ b/bsp/buildroot/configs/qemu_or1k_defconfig @@ -5,12 +5,12 @@ BR2_or1k=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4,14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y +# Linux headers same as kernel, a 4,19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.2" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/or1k/linux.config" diff --git a/bsp/buildroot/configs/qemu_ppc64_e5500_defconfig b/bsp/buildroot/configs/qemu_ppc64_e5500_defconfig new file mode 100644 index 00000000..59b86369 --- /dev/null +++ b/bsp/buildroot/configs/qemu_ppc64_e5500_defconfig @@ -0,0 +1,21 @@ +# Architecture +BR2_powerpc64=y +BR2_powerpc_e5500=y + +# Serial port config +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Linux headers same as the kernel +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" +BR2_LINUX_KERNEL_DEFCONFIG="corenet64_smp" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/qemu/ppc64-e5500/linux.fragment" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/bsp/buildroot/configs/qemu_ppc64_pseries_defconfig b/bsp/buildroot/configs/qemu_ppc64_pseries_defconfig index 84076314..5f55b246 100644 --- a/bsp/buildroot/configs/qemu_ppc64_pseries_defconfig +++ b/bsp/buildroot/configs/qemu_ppc64_pseries_defconfig @@ -10,12 +10,12 @@ BR2_TARGET_GENERIC_GETTY_PORT="hvc0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_DEFCONFIG="pseries" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/bsp/buildroot/configs/qemu_ppc64le_pseries_defconfig b/bsp/buildroot/configs/qemu_ppc64le_pseries_defconfig index 62e729d3..8356e4e2 100644 --- a/bsp/buildroot/configs/qemu_ppc64le_pseries_defconfig +++ b/bsp/buildroot/configs/qemu_ppc64le_pseries_defconfig @@ -10,12 +10,12 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.1" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_DEFCONFIG="pseries_le" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/bsp/buildroot/configs/qemu_ppc_g3beige_defconfig b/bsp/buildroot/configs/qemu_ppc_g3beige_defconfig index 9482aaa8..4b2f3ed2 100644 --- a/bsp/buildroot/configs/qemu_ppc_g3beige_defconfig +++ b/bsp/buildroot/configs/qemu_ppc_g3beige_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-g3beige/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-g3beige/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig b/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig index d2d92b66..d6ebef75 100644 --- a/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig +++ b/bsp/buildroot/configs/qemu_ppc_mpc8544ds_defconfig @@ -9,15 +9,15 @@ BR2_SYSTEM_DHCP="eth0" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-mpc8544ds/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-mpc8544ds/linux.config" BR2_LINUX_KERNEL_VMLINUX=y # Serial port config diff --git a/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig b/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig index 84cb3298..c71465dd 100644 --- a/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig +++ b/bsp/buildroot/configs/qemu_ppc_virtex_ml507_defconfig @@ -6,8 +6,8 @@ BR2_powerpc_440=y # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Use soft float BR2_SOFT_FLOAT=y @@ -15,9 +15,9 @@ BR2_SOFT_FLOAT=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-virtex-ml507/linux-4.9.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/ppc-virtex-ml507/linux.config" BR2_LINUX_KERNEL_VMLINUX=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="virtex440-ml507" diff --git a/bsp/buildroot/configs/qemu_riscv32_virt_defconfig b/bsp/buildroot/configs/qemu_riscv32_virt_defconfig new file mode 100644 index 00000000..fb37da6a --- /dev/null +++ b/bsp/buildroot/configs/qemu_riscv32_virt_defconfig @@ -0,0 +1,25 @@ +# Architecture +BR2_riscv=y +BR2_RISCV_32=y + +# System +BR2_SYSTEM_DHCP="eth0" +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y + +# Linux headers same as kernel, a 4.15 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/riscv/riscv-linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="fe92d7905c6ea0ebeabeb725b8040754ede7c220" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/riscv32-virt/linux.config" + +# Bootloader +BR2_TARGET_RISCV_PK=y diff --git a/bsp/buildroot/configs/qemu_riscv64_virt_defconfig b/bsp/buildroot/configs/qemu_riscv64_virt_defconfig new file mode 100644 index 00000000..65dbef41 --- /dev/null +++ b/bsp/buildroot/configs/qemu_riscv64_virt_defconfig @@ -0,0 +1,24 @@ +# Architecture +BR2_riscv=y +BR2_RISCV_64=y + +# System +BR2_SYSTEM_DHCP="eth0" + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" + +# Linux headers same as kernel, a 4.20 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20=y + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/riscv/riscv-linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="8fe28cb58bcb235034b64cbbb7550a8a43fd88be" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y + +# Bootloader +BR2_TARGET_RISCV_PK=y diff --git a/bsp/buildroot/configs/qemu_sh4_r2d_defconfig b/bsp/buildroot/configs/qemu_sh4_r2d_defconfig index becce23e..e194d7ec 100644 --- a/bsp/buildroot/configs/qemu_sh4_r2d_defconfig +++ b/bsp/buildroot/configs/qemu_sh4_r2d_defconfig @@ -3,6 +3,7 @@ BR2_sh=y BR2_sh4=y # System +BR2_GLOBAL_PATCH_DIR="board/qemu/sh4-r2d/patches" BR2_SYSTEM_DHCP="eth0" BR2_TARGET_GENERIC_GETTY_PORT="ttySC1" @@ -10,13 +11,13 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttySC1" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux-4.9.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/bsp/buildroot/configs/qemu_sh4eb_r2d_defconfig b/bsp/buildroot/configs/qemu_sh4eb_r2d_defconfig index 61d9ac9d..f1aad8b6 100644 --- a/bsp/buildroot/configs/qemu_sh4eb_r2d_defconfig +++ b/bsp/buildroot/configs/qemu_sh4eb_r2d_defconfig @@ -3,19 +3,20 @@ BR2_sh=y BR2_sh4eb=y # System +BR2_GLOBAL_PATCH_DIR="board/qemu/sh4eb-r2d/patches" BR2_TARGET_GENERIC_GETTY_PORT="ttySC1" # Filesystem BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4eb-r2d/linux-4.9.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sh4eb-r2d/linux.config" BR2_LINUX_KERNEL_ZIMAGE=y diff --git a/bsp/buildroot/configs/qemu_sparc64_sun4u_defconfig b/bsp/buildroot/configs/qemu_sparc64_sun4u_defconfig index 072fba79..f4da2bc0 100644 --- a/bsp/buildroot/configs/qemu_sparc64_sun4u_defconfig +++ b/bsp/buildroot/configs/qemu_sparc64_sun4u_defconfig @@ -9,12 +9,12 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc64-sun4u/linux.config" diff --git a/bsp/buildroot/configs/qemu_sparc_ss10_defconfig b/bsp/buildroot/configs/qemu_sparc_ss10_defconfig index 8c6b563a..e027b73e 100644 --- a/bsp/buildroot/configs/qemu_sparc_ss10_defconfig +++ b/bsp/buildroot/configs/qemu_sparc_ss10_defconfig @@ -9,12 +9,12 @@ BR2_SYSTEM_DHCP="eth0" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Linux kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/sparc-ss10/linux.config" diff --git a/bsp/buildroot/configs/qemu_x86_64_defconfig b/bsp/buildroot/configs/qemu_x86_64_defconfig index b92ae17a..afa23969 100644 --- a/bsp/buildroot/configs/qemu_x86_64_defconfig +++ b/bsp/buildroot/configs/qemu_x86_64_defconfig @@ -9,12 +9,12 @@ BR2_TARGET_GENERIC_GETTY_PORT="tty1" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux-4.15.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" diff --git a/bsp/buildroot/configs/qemu_x86_defconfig b/bsp/buildroot/configs/qemu_x86_defconfig index ed6c198a..3441ad5c 100644 --- a/bsp/buildroot/configs/qemu_x86_defconfig +++ b/bsp/buildroot/configs/qemu_x86_defconfig @@ -10,12 +10,12 @@ BR2_TARGET_GENERIC_GETTY_PORT="tty1" BR2_TARGET_ROOTFS_EXT2=y # BR2_TARGET_ROOTFS_TAR is not set -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux-4.15.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86/linux.config" diff --git a/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig b/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig index d8614ef2..6bf48a2a 100644 --- a/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig +++ b/bsp/buildroot/configs/qemu_xtensa_lx60_defconfig @@ -11,15 +11,15 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-4.11.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" diff --git a/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig b/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig index 174ebd3d..5ff96462 100644 --- a/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig +++ b/bsp/buildroot/configs/qemu_xtensa_lx60_nommu_defconfig @@ -15,15 +15,15 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" # BR2_TARGET_ROOTFS_TAR is not set BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.11 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y +# Linux headers same as kernel, a 4.19 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-4.11-nommu.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-nommu.config" BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf" BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image" diff --git a/bsp/buildroot/configs/raspberrypi0_defconfig b/bsp/buildroot/configs/raspberrypi0_defconfig index 0fb8a994..2c8030d0 100644 --- a/bsp/buildroot/configs/raspberrypi0_defconfig +++ b/bsp/buildroot/configs/raspberrypi0_defconfig @@ -2,21 +2,20 @@ BR2_arm=y BR2_arm1176jzf_s=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="33ee56d5927ceff630fbc87e3f5caa409b6ae114" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B from the kernel sources: the zero is the same # as the A+ model, just in a different form-factor BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b-plus bcm2708-rpi-0-w" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b-plus" BR2_PACKAGE_RPI_FIRMWARE=y # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set diff --git a/bsp/buildroot/configs/raspberrypi0w_defconfig b/bsp/buildroot/configs/raspberrypi0w_defconfig new file mode 100644 index 00000000..7149d91b --- /dev/null +++ b/bsp/buildroot/configs/raspberrypi0w_defconfig @@ -0,0 +1,30 @@ +BR2_arm=y +BR2_arm1176jzf_s=y +BR2_ARM_EABIHF=y + +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y + +BR2_TOOLCHAIN_BUILDROOT_CXX=y + +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" +BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-0-w" + +BR2_PACKAGE_RPI_FIRMWARE=y + +# Required tools to create the SD image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay" diff --git a/bsp/buildroot/configs/raspberrypi2_defconfig b/bsp/buildroot/configs/raspberrypi2_defconfig index 9c422a19..343ae7b2 100644 --- a/bsp/buildroot/configs/raspberrypi2_defconfig +++ b/bsp/buildroot/configs/raspberrypi2_defconfig @@ -7,13 +7,12 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="33ee56d5927ceff630fbc87e3f5caa409b6ae114" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources diff --git a/bsp/buildroot/configs/raspberrypi3_64_defconfig b/bsp/buildroot/configs/raspberrypi3_64_defconfig index 6a35ac36..43687d29 100644 --- a/bsp/buildroot/configs/raspberrypi3_64_defconfig +++ b/bsp/buildroot/configs/raspberrypi3_64_defconfig @@ -6,18 +6,17 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="33ee56d5927ceff630fbc87e3f5caa409b6ae114" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3" # Build the DTB from the kernel sources BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2837-rpi-3-b" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2837-rpi-3-b" BR2_PACKAGE_RPI_FIRMWARE=y # BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set diff --git a/bsp/buildroot/configs/raspberrypi3_defconfig b/bsp/buildroot/configs/raspberrypi3_defconfig index 359d549b..9ad5b54b 100644 --- a/bsp/buildroot/configs/raspberrypi3_defconfig +++ b/bsp/buildroot/configs/raspberrypi3_defconfig @@ -6,18 +6,17 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="33ee56d5927ceff630fbc87e3f5caa409b6ae114" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-cm3" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-rpi-cm3" BR2_PACKAGE_RPI_FIRMWARE=y diff --git a/bsp/buildroot/configs/raspberrypi3_qt5we_defconfig b/bsp/buildroot/configs/raspberrypi3_qt5we_defconfig index d4ada475..276c7cd5 100644 --- a/bsp/buildroot/configs/raspberrypi3_qt5we_defconfig +++ b/bsp/buildroot/configs/raspberrypi3_qt5we_defconfig @@ -7,18 +7,17 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="33ee56d5927ceff630fbc87e3f5caa409b6ae114" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" # Build the DTB from the kernel sources BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-cm3" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-rpi-cm3" # Build Qt5 WebEngine BR2_PACKAGE_LIBERATION=y diff --git a/bsp/buildroot/configs/raspberrypi_defconfig b/bsp/buildroot/configs/raspberrypi_defconfig index daca8362..97573aca 100644 --- a/bsp/buildroot/configs/raspberrypi_defconfig +++ b/bsp/buildroot/configs/raspberrypi_defconfig @@ -4,15 +4,14 @@ BR2_ARM_EABIHF=y BR2_SYSTEM_DHCP="eth0" -# Linux headers same as kernel, a 4.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +# Linux headers same as kernel, a 4.14 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="33ee56d5927ceff630fbc87e3f5caa409b6ae114" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" # Build the DTBs for A/B, A+/B+ and compute module from the kernel sources diff --git a/bsp/buildroot/configs/riotboard_defconfig b/bsp/buildroot/configs/riotboard_defconfig new file mode 100644 index 00000000..3efcd885 --- /dev/null +++ b/bsp/buildroot/configs/riotboard_defconfig @@ -0,0 +1,42 @@ +# architecture +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_VFPV3=y + +# system +BR2_TARGET_GENERIC_GETTY=y +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" + +# bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" +BR2_TARGET_UBOOT_BOARDNAME="riotboard" +BR2_TARGET_UBOOT_FORMAT_IMX=y + +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y + +# kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.10" +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-riotboard" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y + +# required tools to create the SD card image +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# rootfs +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_ROOTFS_OVERLAY="board/embest/riotboard/rootfs_overlay" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/embest/riotboard/genimage.cfg" diff --git a/bsp/buildroot/configs/rock64_defconfig b/bsp/buildroot/configs/rock64_defconfig new file mode 100644 index 00000000..30bf12c0 --- /dev/null +++ b/bsp/buildroot/configs/rock64_defconfig @@ -0,0 +1,38 @@ +BR2_aarch64=y +BR2_GLOBAL_PATCH_DIR="board/pine64/rock64/patches" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyS2" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/pine64/rock64/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/pine64/rock64/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.19" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3328-rock64" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="128M" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE="v1.4" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3328" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/ayufan-rock64/linux-u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="2017.09-rockchip-ayufan-1035-gd646df03ac" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rock64-rk3328" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.itb" +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.bin tpl/u-boot-tpl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/bsp/buildroot/configs/roseapplepi_defconfig b/bsp/buildroot/configs/roseapplepi_defconfig index 6627ff47..32717625 100644 --- a/bsp/buildroot/configs/roseapplepi_defconfig +++ b/bsp/buildroot/configs/roseapplepi_defconfig @@ -9,9 +9,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y BR2_ROOTFS_POST_IMAGE_SCRIPT="board/roseapplepi/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/xapp-le/kernel.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,xapp-le,kernel,59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b)/linux-59dbf6a4998e967eb9c6bdcc9b506c0d96acb26b.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="actduino_bubble_gum_linux" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/bsp/buildroot/configs/s6lx9_microboard_defconfig b/bsp/buildroot/configs/s6lx9_microboard_defconfig index f77c80ba..97b2d3fe 100644 --- a/bsp/buildroot/configs/s6lx9_microboard_defconfig +++ b/bsp/buildroot/configs/s6lx9_microboard_defconfig @@ -10,5 +10,4 @@ BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/avnet/s6lx9_microboard/lx9_mmu_defconfig" -BR2_LINUX_KERNEL_USE_CUSTOM_DTS=y BR2_LINUX_KERNEL_CUSTOM_DTS_PATH="board/avnet/s6lx9_microboard/lx9_mmu.dts" diff --git a/bsp/buildroot/configs/sheevaplug_defconfig b/bsp/buildroot/configs/sheevaplug_defconfig index edafffe0..052e3939 100644 --- a/bsp/buildroot/configs/sheevaplug_defconfig +++ b/bsp/buildroot/configs/sheevaplug_defconfig @@ -19,14 +19,14 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sheevaplug" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.07" BR2_TARGET_UBOOT_FORMAT_KWB=y # BR2_TARGET_UBOOT_NETWORK is not set # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.13" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.63" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v5" BR2_LINUX_KERNEL_APPENDED_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" diff --git a/bsp/buildroot/configs/snps_arc700_axs101_defconfig b/bsp/buildroot/configs/snps_arc700_axs101_defconfig index 0fefaf4a..4f796b43 100644 --- a/bsp/buildroot/configs/snps_arc700_axs101_defconfig +++ b/bsp/buildroot/configs/snps_arc700_axs101_defconfig @@ -6,15 +6,15 @@ BR2_TARGET_GENERIC_HOSTNAME="axs101" BR2_TARGET_GENERIC_ISSUE="Welcome to the ARC Software Development Platform" BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.8" BR2_LINUX_KERNEL_DEFCONFIG="axs101" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -22,6 +22,6 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs101" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/snps_archs38_axs103_defconfig b/bsp/buildroot/configs/snps_archs38_axs103_defconfig index 39ceeae4..456d4cba 100644 --- a/bsp/buildroot/configs/snps_archs38_axs103_defconfig +++ b/bsp/buildroot/configs/snps_archs38_axs103_defconfig @@ -7,15 +7,15 @@ BR2_TARGET_GENERIC_HOSTNAME="axs103" BR2_TARGET_GENERIC_ISSUE="Welcome to the ARC Software Development Platform" BR2_TARGET_ROOTFS_INITRAMFS=y BR2_SYSTEM_DHCP="eth0" -BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.8" BR2_LINUX_KERNEL_DEFCONFIG="axs103_smp" BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y @@ -23,7 +23,6 @@ BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.01" -BR2_TARGET_UBOOT_PATCH="board/synopsys/axs10x/patches/u-boot" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs103" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/bsp/buildroot/configs/snps_archs38_haps_defconfig b/bsp/buildroot/configs/snps_archs38_haps_defconfig index 6583c1ec..2ef49b4d 100644 --- a/bsp/buildroot/configs/snps_archs38_haps_defconfig +++ b/bsp/buildroot/configs/snps_archs38_haps_defconfig @@ -7,12 +7,12 @@ BR2_TARGET_GENERIC_HOSTNAME="zebu_hs" BR2_TARGET_GENERIC_ISSUE="Welcome to the HAPS Development Platform" BR2_TARGET_ROOTFS_INITRAMFS=y -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.8" BR2_LINUX_KERNEL_DEFCONFIG="haps_hs_smp" BR2_LINUX_KERNEL_VMLINUX=y diff --git a/bsp/buildroot/configs/snps_archs38_hsdk_defconfig b/bsp/buildroot/configs/snps_archs38_hsdk_defconfig new file mode 100644 index 00000000..4c337e5c --- /dev/null +++ b/bsp/buildroot/configs/snps_archs38_hsdk_defconfig @@ -0,0 +1,40 @@ +# Architecture +BR2_arcle=y +BR2_archs38=y + +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y + +# System +BR2_TARGET_GENERIC_HOSTNAME="hsdk" +BR2_TARGET_GENERIC_ISSUE="Welcome to the HSDK Platform" +BR2_SYSTEM_DHCP="eth0" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.8" +BR2_LINUX_KERNEL_DEFCONFIG="hsdk" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/synopsys/hsdk/linux.fragment" + +# Filesystem / image +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/synopsys/hsdk/genimage.cfg" + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.05" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="hsdk" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_FORMAT_ELF=y +BR2_TARGET_UBOOT_ENVIMAGE=y +BR2_TARGET_UBOOT_ENVIMAGE_SOURCE="board/synopsys/hsdk/uboot.env.txt" +BR2_TARGET_UBOOT_ENVIMAGE_SIZE="0x4000" diff --git a/bsp/buildroot/configs/snps_archs38_vdk_defconfig b/bsp/buildroot/configs/snps_archs38_vdk_defconfig index 46b539be..f8766cff 100644 --- a/bsp/buildroot/configs/snps_archs38_vdk_defconfig +++ b/bsp/buildroot/configs/snps_archs38_vdk_defconfig @@ -5,16 +5,16 @@ BR2_archs38=y # System BR2_TARGET_GENERIC_HOSTNAME="archs38_vdk" BR2_TARGET_GENERIC_ISSUE="Welcome to the HS38 VDK Software Development Platform" -BR2_ROOTFS_OVERLAY="board/synopsys/axs10x/fs-overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/synopsys/axs10x/post-build.sh" BR2_TARGET_ROOTFS_EXT2=y -# Linux headers same as kernel, a 4.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.8" BR2_LINUX_KERNEL_DEFCONFIG="vdk_hs38_smp" BR2_LINUX_KERNEL_VMLINUX=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y diff --git a/bsp/buildroot/configs/socrates_cyclone5_defconfig b/bsp/buildroot/configs/socrates_cyclone5_defconfig index 45355c1b..4c659263 100644 --- a/bsp/buildroot/configs/socrates_cyclone5_defconfig +++ b/bsp/buildroot/configs/socrates_cyclone5_defconfig @@ -3,13 +3,12 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_NEON=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/altera/socrates_cyclone5/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/altera-opensource/linux-socfpga.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_socfpga-4.1.33-ltsi_17.07.02_pr" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_DEFCONFIG="socfpga" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="socfpga_cyclone5_socrates" @@ -17,9 +16,8 @@ BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/altera-opensource/u-boot-socfpga.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="v2017.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="socfpga_socrates" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_IMG=y diff --git a/bsp/buildroot/configs/solidrun_clearfog_defconfig b/bsp/buildroot/configs/solidrun_clearfog_defconfig new file mode 100644 index 00000000..fd6f278a --- /dev/null +++ b/bsp/buildroot/configs/solidrun_clearfog_defconfig @@ -0,0 +1,42 @@ +# Architecture +BR2_arm=y +BR2_cortex_a9=y +BR2_ARM_ENABLE_NEON=y +BR2_ARM_ENABLE_VFP=y +BR2_ARM_FPU_NEON=y + +# Linux headers same as kernel, a 4.20 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20=y + +# System configuration +BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/clearfog/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/clearfog/genimage.cfg" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.20" +BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/solidrun/clearfog/linux.fragment" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-388-clearfog-base" +BR2_LINUX_KERNEL_INSTALL_TARGET=y + +# Filesystem +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_PACKAGE_HOST_GENIMAGE=y + +# Bootloader +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="clearfog" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_OPENSSL=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-spl.kwb" diff --git a/bsp/buildroot/configs/solidrun_macchiatobin_mainline_defconfig b/bsp/buildroot/configs/solidrun_macchiatobin_mainline_defconfig index 17fb9d02..8e5fbfa4 100644 --- a/bsp/buildroot/configs/solidrun_macchiatobin_mainline_defconfig +++ b/bsp/buildroot/configs/solidrun_macchiatobin_mainline_defconfig @@ -1,5 +1,5 @@ BR2_aarch64=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y BR2_TARGET_GENERIC_HOSTNAME="mcbin" BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for Marvell MacchiatoBin" @@ -7,7 +7,8 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for Marvell MacchiatoBin" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/atf-marvell.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="43965481990fd92e9666cf9371a8cf478055ec7c" +# This commit corresponds to release armada-18.09.4 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="711ecd32afe465b38052b5ba374c825b158eea18" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y @@ -18,14 +19,17 @@ BR2_TARGET_MV_DDR_MARVELL=y # U-Boot BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mvebu_mcbin-88f8040" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.11" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_USE_DEFCONFIG=y +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="mvebu_mcbin-88f8040" +BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/solidrun/macchiatobin/uboot-fragment.config" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.15" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.2" BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-8040-mcbin" @@ -40,4 +44,4 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_PACKAGE_HOST_GENIMAGE=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/solidrun/macchiatobin/genimage.cfg" -BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/macchiatobin/post-build.sh" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/solidrun/macchiatobin/post-build-mainline.sh" diff --git a/bsp/buildroot/configs/solidrun_macchiatobin_marvell_defconfig b/bsp/buildroot/configs/solidrun_macchiatobin_marvell_defconfig index 201562b9..4b52e479 100644 --- a/bsp/buildroot/configs/solidrun_macchiatobin_marvell_defconfig +++ b/bsp/buildroot/configs/solidrun_macchiatobin_marvell_defconfig @@ -7,7 +7,8 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for Marvell MacchiatoBin" BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/atf-marvell.git" -BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="43965481990fd92e9666cf9371a8cf478055ec7c" +# This commit corresponds to release armada-18.09.4 +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="711ecd32afe465b38052b5ba374c825b158eea18" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y @@ -20,15 +21,15 @@ BR2_TARGET_MV_DDR_MARVELL=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/u-boot-marvell" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="u-boot-2017.03-armada-17.10" +# This commit corresponds to armada-18.09.1, based on u-boot 2018.03 +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="8fe403172c58440bcfbb3724242301c0108eff5b" BR2_TARGET_UBOOT_BOARDNAME="mvebu_mcbin-88f8040" BR2_TARGET_UBOOT_NEEDS_DTC=y # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/linux-marvell" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-4.4.52-armada-17.10" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,MarvellEmbeddedProcessors,linux-marvell,linux-4.4.52-armada-17.10)/linux-linux-4.4.120-armada-18.09.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v8_lsp" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-8040-mcbin" diff --git a/bsp/buildroot/configs/ts7680_defconfig b/bsp/buildroot/configs/ts7680_defconfig index 09629a73..829af057 100644 --- a/bsp/buildroot/configs/ts7680_defconfig +++ b/bsp/buildroot/configs/ts7680_defconfig @@ -3,9 +3,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/technologic/ts7680/genimage.cfg" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/embeddedarm/linux-3.14.28-imx28.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ff01621df09b97d9fd546d1b49f4013060142892" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,embeddedarm,linux-3.14.28-imx28,ff01621df09b97d9fd546d1b49f4013060142892)/linux-ff01621df09b97d9fd546d1b49f4013060142892.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="ts76xx" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" diff --git a/bsp/buildroot/configs/wandboard_defconfig b/bsp/buildroot/configs/wandboard_defconfig index e6ba1d4e..d2f72f73 100644 --- a/bsp/buildroot/configs/wandboard_defconfig +++ b/bsp/buildroot/configs/wandboard_defconfig @@ -3,8 +3,8 @@ BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_ARM_FPU_VFPV3=y -# Linux headers same as kernel, a 4.13 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13=y +# Linux headers same as kernel, a 4.18 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18=y BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" BR2_ROOTFS_POST_BUILD_SCRIPT="board/wandboard/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/wandboard/post-image.sh" @@ -13,17 +13,18 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="wandboard" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" BR2_TARGET_UBOOT_FORMAT_IMG=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.13.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.18.14" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-wandboard imx6dl-wandboard imx6q-wandboard-revb1 imx6dl-wandboard-revb1 imx6q-wandboard-revd1 imx6dl-wandboard-revd1 imx6qp-wandboard-revd1" BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # required tools to create the SD card image BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/bsp/buildroot/configs/warp7_defconfig b/bsp/buildroot/configs/warp7_defconfig index 7de4bb5b..95e538fb 100644 --- a/bsp/buildroot/configs/warp7_defconfig +++ b/bsp/buildroot/configs/warp7_defconfig @@ -3,8 +3,8 @@ BR2_arm=y BR2_cortex_a7=y BR2_ARM_FPU_NEON_VFPV4=y -# Linux headers same as kernel, a 4.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12=y +# Linux headers same as kernel, a 4.16 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" @@ -15,16 +15,17 @@ BR2_ROOTFS_OVERLAY="board/warp7/rootfs_overlay" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.12.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.3" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx7s-warp" +BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y # U-Boot BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="warp7" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.03" BR2_TARGET_UBOOT_FORMAT_IMX=y # wifi firmware for brcm43430 diff --git a/bsp/buildroot/configs/zynq_microzed_defconfig b/bsp/buildroot/configs/zynq_microzed_defconfig index a6366ee0..1bb11fee 100644 --- a/bsp/buildroot/configs/zynq_microzed_defconfig +++ b/bsp/buildroot/configs/zynq_microzed_defconfig @@ -6,9 +6,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2017.3" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xilinx-v2017.3)/linux-xilinx-v2017.3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" @@ -21,7 +20,7 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2017.3" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2018.2" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_microzed" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/bsp/buildroot/configs/zynq_zc706_defconfig b/bsp/buildroot/configs/zynq_zc706_defconfig index 06903402..e8019177 100644 --- a/bsp/buildroot/configs/zynq_zc706_defconfig +++ b/bsp/buildroot/configs/zynq_zc706_defconfig @@ -6,9 +6,8 @@ BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2017.3" +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,Xilinx,linux-xlnx,xilinx-v2017.3)/linux-xilinx-v2017.3.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" @@ -21,7 +20,7 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2017.3" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2018.2" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zc706" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/bsp/buildroot/configs/zynq_zed_defconfig b/bsp/buildroot/configs/zynq_zed_defconfig index d08f83db..a215695b 100644 --- a/bsp/buildroot/configs/zynq_zed_defconfig +++ b/bsp/buildroot/configs/zynq_zed_defconfig @@ -2,14 +2,13 @@ BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2017.3" -BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16" +BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -21,7 +20,7 @@ BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2017.3" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2018.2" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zed" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_OPENSSL=y diff --git a/bsp/buildroot/configs/zynq_zybo_defconfig b/bsp/buildroot/configs/zynq_zybo_defconfig deleted file mode 100644 index ee6fa060..00000000 --- a/bsp/buildroot/configs/zynq_zybo_defconfig +++ /dev/null @@ -1,30 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" -BR2_ROOTFS_POST_IMAGE_SCRIPT="board/digilent/zybo/post-image.sh" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6.4" -BR2_LINUX_KERNEL_DEFCONFIG="multi_v7" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zybo" -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_4=y -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y -BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" -BR2_TARGET_UBOOT_BOARD_DEFCONFIG="zynq_zybo" -BR2_TARGET_UBOOT_NEEDS_DTC=y -BR2_TARGET_UBOOT_NEEDS_OPENSSL=y -BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y -BR2_TARGET_UBOOT_SPL=y -BR2_TARGET_UBOOT_ZYNQ_IMAGE=y -BR2_PACKAGE_HOST_DOSFSTOOLS=y -BR2_PACKAGE_HOST_GENIMAGE=y -BR2_PACKAGE_HOST_MTOOLS=y diff --git a/bsp/buildroot/configs/zynqmp_zcu106_defconfig b/bsp/buildroot/configs/zynqmp_zcu106_defconfig new file mode 100644 index 00000000..bee7c1da --- /dev/null +++ b/bsp/buildroot/configs/zynqmp_zcu106_defconfig @@ -0,0 +1,34 @@ +BR2_aarch64=y +BR2_GLOBAL_PATCH_DIR="board/zynqmp/patches/" +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynqmp/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2017.4" +BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynqmp" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="xilinx/zynqmp-zcu106-revA" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.5" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="zynqmp" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL31_UBOOT=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://github.com/xilinx/u-boot-xlnx.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="228801a215909365ae1dcdd799034195ad7264f7" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="xilinx_zynqmp_zcu106_revA" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin" +BR2_TARGET_UBOOT_ZYNQMP=y +BR2_TARGET_UBOOT_ZYNQMP_PMUFW="https://github.com/lucaceresoli/zynqmp-pmufw-binaries/raw/53fdb7b6c92860ceb0ec5fd14deee302f4a84269/bin/pmufw-zcu106-default-v2017.4.bin" +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y diff --git a/bsp/buildroot/docs/manual/adding-packages-directory.txt b/bsp/buildroot/docs/manual/adding-packages-directory.txt index c9857a80..e6201bb8 100644 --- a/bsp/buildroot/docs/manual/adding-packages-directory.txt +++ b/bsp/buildroot/docs/manual/adding-packages-directory.txt @@ -46,9 +46,11 @@ is as follows: 1. The type of option: +bool+, +string+... with the prompt 2. If needed, the +default+ value(s) -3. Any dependency of the +depends on+ form -4. Any dependency of the +select+ form -5. The help keyword and help text. +3. Any dependencies on the target in +depends on+ form +4. Any dependencies on the toolchain in +depends on+ form +5. Any dependencies on other packages in +depends on+ form +6. Any dependency of the +select+ form +7. The help keyword and help text. You can add other sub-options into a +if BR2_PACKAGE_LIBFOO...endif+ statement to configure particular things in your software. You can look at @@ -292,13 +294,13 @@ use in the comment. * Kernel headers ** Dependency symbol: +BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +toolchain/toolchain-common.in+) + +X_Y+ with the proper version, see +toolchain/Config.in+) ** Comment string: +headers >= X.Y+ and/or `headers <= X.Y` (replace +X.Y+ with the proper version) * GCC version ** Dependency symbol: +BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y+, (replace - +X_Y+ with the proper version, see +toolchain/toolchain-common.in+) + +X_Y+ with the proper version, see +toolchain/Config.in+) ** Comment string: +gcc >= X.Y+ and/or `gcc <= X.Y` (replace +X.Y+ with the proper version) @@ -444,6 +446,13 @@ contains the hashes of the downloaded files for the +libfoo+ package. The only reason for not adding a +.hash+ file is when hash checking is not possible due to how the package is downloaded. +When a package has a version selection choice, then the hash file may be +stored in a subdirectory named after the version, e.g. ++package/libfoo/1.2.3/libfoo.hash+. This is especially important if the +different versions have different licensing terms, but they are stored +in the same file. Otherwise, the hash file should stay in the package's +directory. + The hashes stored in that file are used to validate the integrity of the downloaded files and of the license files. diff --git a/bsp/buildroot/docs/manual/adding-packages-generic.txt b/bsp/buildroot/docs/manual/adding-packages-generic.txt index 1e9557c0..7be1754f 100644 --- a/bsp/buildroot/docs/manual/adding-packages-generic.txt +++ b/bsp/buildroot/docs/manual/adding-packages-generic.txt @@ -179,8 +179,10 @@ some tools to be installed on the host. If the package name is variables of other packages, if they depend on +libfoo+ or +host-libfoo+. -The call to the +generic-package+ and/or +host-generic-package+ macro *must* be -at the end of the +.mk+ file, after all variable definitions. +The call to the +generic-package+ and/or +host-generic-package+ macro +*must* be at the end of the +.mk+ file, after all variable definitions. +The call to +host-generic-package+ *must* be after the call to ++generic-package+, if any. For the target package, the +generic-package+ uses the variables defined by the .mk file and prefixed by the uppercased package name: @@ -276,7 +278,7 @@ not and can not work as people would expect it should: the file using this URL. Otherwise, Buildroot will assume the file to be downloaded is located at +LIBFOO_SITE+. Buildroot will not do anything with those additional files, except download them: it will - be up to the package recipe to use them from +$(DL_DIR)+. + be up to the package recipe to use them from +$(LIBFOO_DL_DIR)+. * +LIBFOO_SITE_METHOD+ determines the method used to fetch or copy the package source code. In many cases, Buildroot guesses the method @@ -360,6 +362,13 @@ not and can not work as people would expect it should: a similar way, +HOST_LIBFOO_DEPENDENCIES+ lists the dependencies for the current host package. +* +LIBFOO_EXTRACT_DEPENDENCIES+ lists the dependencies (in terms of + package name) that are required for the current target package to be + extracted. These dependencies are guaranteed to be compiled and + installed before the extract step of the current package + starts. This is only used internally by the package infrastructure, + and should typically not be used directly by packages. + * +LIBFOO_PATCH_DEPENDENCIES+ lists the dependencies (in terms of package name) that are required for the current package to be patched. These dependencies are guaranteed to be extracted and @@ -560,8 +569,8 @@ In the action definitions, you can use the following variables: * +$(@D)+, which contains the directory in which the package source code has been uncompressed. -* +$(DL_DIR)+ contains the path to the directory where all the downloads made - by Buildroot are stored. +* +$(LIBFOO_DL_DIR)+ contains the path to the directory where all the downloads + made by Buildroot for +libfoo+ are stored in. * +$(TARGET_CC)+, +$(TARGET_LD)+, etc. to get the target cross-compilation utilities diff --git a/bsp/buildroot/docs/manual/adding-packages-golang.txt b/bsp/buildroot/docs/manual/adding-packages-golang.txt new file mode 100644 index 00000000..efcf6968 --- /dev/null +++ b/bsp/buildroot/docs/manual/adding-packages-golang.txt @@ -0,0 +1,119 @@ +// -*- mode:doc; -*- +// vim: set syntax=asciidoc: + +=== Infrastructure for Go packages + +This infrastructure applies to Go packages that use the standard +build system and use bundled dependencies. + +[[golang-package-tutorial]] + +==== +golang-package+ tutorial + +First, let's see how to write a +.mk+ file for a go package, +with an example : + +------------------------ +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.0 +08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) +09: FOO_LICENSE = BSD-3-Clause +10: FOO_LICENSE_FILES = LICENSE +11: +12: $(eval $(golang-package)) +------------------------ + +On line 7, we declare the version of the package. + +On line 8, we declare the upstream location of the package, here +fetched from Github, since a large number of Go packages are hosted on +Github. + +On line 9 and 10, we give licensing details about the package. + +Finally, on line 12, we invoke the +golang-package+ macro that +generates all the Makefile rules that actually allow the package to be +built. + +[[golang-package-reference]] + +==== +golang-package+ reference + +In their +Config.in+ file, packages using the +golang-package+ +infrastructure should depend on +BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS+ +and +BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS+ because Buildroot will +automatically add a dependency on +host-go+ to such packages. + +The main macro of the Go package infrastructure is ++golang-package+. It is similar to the +generic-package+ macro. Only +target packages are supported with +golang-package+. + +Just like the generic infrastructure, the Go infrastructure works +by defining a number of variables before calling the +golang-package+. + +All the package metadata information variables that exist in the +xref:generic-package-reference[generic package infrastructure] also +exist in the Go infrastructure: +FOO_VERSION+, +FOO_SOURCE+, ++FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, ++FOO_LICENSE+, +FOO_LICENSE_FILES+, +FOO_INSTALL_STAGING+, etc. + +Note that it is not necessary to add +host-go+ in the ++FOO_DEPENDENCIES+ variable of a package, since this basic dependency +is automatically added as needed by the Go package infrastructure. + +A few additional variables, specific to the Go infrastructure, can +optionally be defined, depending on the package's needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + +* If your package need a custom +GOPATH+ to be compiled in, you can + use the +FOO_WORKSPACE+ variable. The +GOPATH+ being used will be + +/+. If +FOO_WORKSPACE+ is not + specified, it defaults to +_gopath+. + +* +FOO_SRC_SUBDIR+ is the sub-directory where your source will be + compiled relatively to the +GOPATH+. An example value is + +github.com/bar/foo+. If +FOO_SRC_SUBDIR+ is not specified, it + defaults to a value infered from the +FOO_SITE+ variable. + +* +FOO_LDFLAGS+ and +FOO_TAGS+ can be used to pass respectively the + +LDFLAGS+ or the +TAGS+ to the +go+ build command. + +* +FOO_BUILD_TARGETS+ can be used to pass the list of targets that + should be built. If +FOO_BUILD_TARGETS+ is not specified, it + defaults to +.+. We then have two cases: + +** +FOO_BUILD_TARGETS+ is +.+. In this case, we assume only one binary + will be produced, and that by default we name it after the package + name. If that is not appropriate, the name of the produced binary + can be overridden using +FOO_BIN_NAME+. + +** +FOO_BUILD_TARGETS+ is not +.+. In this case, we iterate over the + values to build each target, and for each produced a binary that is + the non-directory component of the target. For example if + +FOO_BUILD_TARGETS = cmd/docker cmd/dockerd+ the binaries produced + are +docker+ and +dockerd+. + +* +FOO_INSTALL_BINS+ can be used to pass the list of binaries that + should be installed in +/usr/bin+ on the target. If + +FOO_INSTALL_BINS+ is not specified, it defaults to the lower-case + name of package. + +With the Go infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Go-based packages. However, when required, it is still +possible to customize what is done in any particular step: + +* By adding a post-operation hook (after extract, patch, configure, + build or install). See xref:hooks[] for details. + +* By overriding one of the steps. For example, even if the Go + infrastructure is used, if the package +.mk+ file defines its own + +FOO_BUILD_CMDS+ variable, it will be used instead of the default Go + one. However, using this method should be restricted to very + specific cases. Do not use it in the general case. diff --git a/bsp/buildroot/docs/manual/adding-packages-kconfig.txt b/bsp/buildroot/docs/manual/adding-packages-kconfig.txt index d4d8630a..982c1229 100644 --- a/bsp/buildroot/docs/manual/adding-packages-kconfig.txt +++ b/bsp/buildroot/docs/manual/adding-packages-kconfig.txt @@ -81,3 +81,7 @@ be set to suit the needs of the package under consideration: be well suited for all packages that use the standard kconfig infrastructure as inherited from the Linux kernel; some packages use a derivative of kconfig that use a different location. + +* +FOO_KCONFIG_DEPENDENCIES+: the list of packages (most probably, host + packages) that need to be built before this package's kconfig is + interpreted. Seldom used. By default, empty. diff --git a/bsp/buildroot/docs/manual/adding-packages-luarocks.txt b/bsp/buildroot/docs/manual/adding-packages-luarocks.txt index ec3d4e7c..df97cdd5 100644 --- a/bsp/buildroot/docs/manual/adding-packages-luarocks.txt +++ b/bsp/buildroot/docs/manual/adding-packages-luarocks.txt @@ -50,6 +50,16 @@ Finally, on line 16, we invoke the +luarocks-package+ macro that generates all the Makefile rules that actually allows the package to be built. +Most of these details can be retrieved from the +rock+ and +rockspec+. +So, this file and the Config.in file can be generated by running the +command +luarocks buildroot foo lua-foo+ in the Buildroot +directory. This command runs a specific Buildroot addon of +luarocks+ +that will automatically generate a Buildroot package. The result must +still be manually inspected and possibly modified. + +* The +package/Config.in+ file has to be updated manually to include the + generated Config.in files. + [[luarocks-package-reference]] ==== +luarocks-package+ reference diff --git a/bsp/buildroot/docs/manual/adding-packages-meson.txt b/bsp/buildroot/docs/manual/adding-packages-meson.txt index f8aa08fa..30c338f4 100644 --- a/bsp/buildroot/docs/manual/adding-packages-meson.txt +++ b/bsp/buildroot/docs/manual/adding-packages-meson.txt @@ -1,18 +1,18 @@ // -*- mode:doc; -*- // vim: set syntax=asciidoc: -=== Integration of Meson-based packages +=== Infrastructure for Meson-based packages [[meson-package-tutorial]] ==== +meson-package+ tutorial http://mesonbuild.com[Meson] is an open source build system meant to be both -extremely fast, and, even more importantly, as user friendly as possible. +extremely fast, and, even more importantly, as user friendly as possible. It +uses https://ninja-build.org[Ninja] as a companion tool to perform the actual +build operations. -Buildroot does not (yet) provide a dedicated package infrastructure for -meson-based packages. So, we will explain how to write a +.mk+ file for such a -package. Let's start with an example: +Let's see how to write a +.mk+ file for a Meson-based package, with an example: ------------------------------ 01: ################################################################################ @@ -28,74 +28,78 @@ package. Let's start with an example: 11: FOO_LICENSE_FILES = COPYING 12: FOO_INSTALL_STAGING = YES 13: -14: FOO_DEPENDENCIES = host-meson host-pkgconf bar +14: FOO_DEPENDENCIES = host-pkgconf bar 15: -16: FOO_CONF_OPTS += \ -17: --prefix=/usr \ -18: --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ -19: --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf -20: -21: FOO_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) +16: ifeq ($(BR2_PACKAGE_BAZ),y) +17: FOO_CONF_OPTS += -Dbaz=true +18: FOO_DEPENDENCIES += baz +19: else +20: FOO_CONF_OPTS += -Dbaz=false +21: endif 22: -23: ifeq ($(BR2_PACKAGE_BAZ),y) -24: FOO_CONF_OPTS += -Dbaz -25: endif -26: -27: define FOO_CONFIGURE_CMDS -28: rm -rf $(@D)/build -29: mkdir -p $(@D)/build -30: $(TARGET_MAKE_ENV) meson $(FOO_CONF_OPTS) $(@D) $(@D)/build -31: endef -32: -33: define FOO_BUILD_CMDS -34: $(TARGET_MAKE_ENV) ninja $(FOO_NINJA_OPTS) -C $(@D)/build -35: endef -36: -37: define FOO_INSTALL_TARGET_CMDS -38: $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(FOO_NINJA_OPTS) \ -39: -C $(@D)/build install -40: endef -41: -42: define FOO_INSTALL_STAGING_CMDS -43: $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) ninja $(FOO_NINJA_OPTS) \ -44: -C $(@D)/build install -45: endef -46: -47: $(eval $(generic-package)) +23: $(eval $(meson-package)) -------------------------------- The Makefile starts with the definition of the standard variables for package declaration (lines 7 to 11). -As seen in line 47, it is based on the -xref:generic-package-tutorial[+generic-package+ infrastructure]. So, it defines -the variables required by this particular infrastructure, where Meson and its -companion tool, Ninja, are invoked: +On line line 23, we invoke the +meson-package+ macro that generates all the +Makefile rules that actually allows the package to be built. -* +FOO_CONFIGURE_CMDS+: the build directory required by Meson is created, and - Meson is invoked to generate the Ninja build file. The options required to - configure the cross-compilation of the package are passed via - +FOO_CONF_OPTS+. +In the example, +host-pkgconf+ and +bar+ are declared as dependencies in ++FOO_DEPENDENCIES+ at line 14 because the Meson build file of +foo+ uses +`pkg-config` to determine the compilation flags and libraries of package +bar+. -* +FOO_BUILD_CMDS+: Ninja is invoked to perform the build. +Note that it is not necessary to add +host-meson+ in the +FOO_DEPENDENCIES+ +variable of a package, since this basic dependency is automatically added as +needed by the Meson package infrastructure. -* +FOO_INSTALL_TARGET_CMDS+: Ninja is invoked to install the files generated - during the build step in the target directory. - -* +FOO_INSTALL_STAGING_CMDS+: Ninja is invoked to install the files generated - during the build step in the staging directory, as +FOO_INSTALL_STAGING+ is - set to "YES". - -In order to have Meson available for the build, +FOO_DEPENDENCIES+ needs to -contain +host-meson+. In the example, +host-pkgconf+ and +bar+ are also -declared as dependencies because the Meson build file of +foo+ uses `pkg-config` -to determine the compilation flags and libraries of package +bar+. - -If the "baz" package is selected, then support for the "baz" feature in "foo" -is activated by adding +-Dbaz+ to +FOO_CONF_OPTS+, as specified in the -+meson_options.txt+ file in "foo" source tree. +If the "baz" package is selected, then support for the "baz" feature in "foo" is +activated by adding +-Dbaz=true+ to +FOO_CONF_OPTS+ at line 17, as specified in +the +meson_options.txt+ file in "foo" source tree. The "baz" package is also +added to +FOO_DEPENDENCIES+. Note that the support for +baz+ is explicitly +disabled at line 20, if the package is not selected. To sum it up, to add a new meson-based package, the Makefile example can be copied verbatim then edited to replace all occurences of +FOO+ with the uppercase name of the new package and update the values of the standard variables. + +[[meson-package-reference]] + +==== +meson-package+ reference + +The main macro of the Meson package infrastructure is +meson-package+. It is +similar to the +generic-package+ macro. The ability to have target and host +packages is also available, with the +host-meson-package+ macro. + +Just like the generic infrastructure, the Meson infrastructure works by defining +a number of variables before calling the +meson-package+ macro. + +First, all the package metadata information variables that exist in the generic +infrastructure also exist in the Meson infrastructure: +FOO_VERSION+, ++FOO_SOURCE+, +FOO_PATCH+, +FOO_SITE+, +FOO_SUBDIR+, +FOO_DEPENDENCIES+, ++FOO_INSTALL_STAGING+, +FOO_INSTALL_TARGET+. + +A few additional variables, specific to the Meson infrastructure, can also be +defined. Many of them are only useful in very specific cases, typical packages +will therefore only use a few of them. + +* +FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main meson.build file. This is useful, + if for example, the main meson.build file is not at the root of + the tree extracted by the tarball. If +HOST_FOO_SUBDIR+ is not + specified, it defaults to +FOO_SUBDIR+. + +* +FOO_CONF_ENV+, to specify additional environment variables to pass to + +meson+ for the configuration step. By default, empty. + +* +FOO_CONF_OPTS+, to specify additional options to pass to +meson+ for the + configuration step. By default, empty. + +* +FOO_NINJA_ENV+, to specify additional environment variables to pass to + +ninja+, meson companion tool in charge of the build operations. By default, + empty. + +* +FOO_NINJA_OPTS+, to specify a space-separated list of targets to build. By + default, empty, to build the default target(s). diff --git a/bsp/buildroot/docs/manual/adding-packages-perl.txt b/bsp/buildroot/docs/manual/adding-packages-perl.txt index eb14d9de..6ce693fd 100644 --- a/bsp/buildroot/docs/manual/adding-packages-perl.txt +++ b/bsp/buildroot/docs/manual/adding-packages-perl.txt @@ -23,8 +23,9 @@ with an example : 10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures 11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ 12: PERL_FOO_BAR_LICENSE_FILES = LICENSE -13: -14: $(eval $(perl-package)) +13: PERL_FOO_BAR_DISTNAME = Foo-Bar +14: +15: $(eval $(perl-package)) ------------------------ On line 7, we declare the version of the package. @@ -40,7 +41,10 @@ On line 11 and 12, we give licensing details about the package (its license on line 11, and the file containing the license text on line 12). -Finally, on line 14, we invoke the +perl-package+ macro that +On line 13, the name of the distribution as needed by the script ++utils/scancpan+ (in order to regenerate/upgrade these package files). + +Finally, on line 15, we invoke the +perl-package+ macro that generates all the Makefile rules that actually allow the package to be built. diff --git a/bsp/buildroot/docs/manual/adding-packages-python.txt b/bsp/buildroot/docs/manual/adding-packages-python.txt index 5eb6ba51..15137cfd 100644 --- a/bsp/buildroot/docs/manual/adding-packages-python.txt +++ b/bsp/buildroot/docs/manual/adding-packages-python.txt @@ -113,6 +113,12 @@ optionally be defined, depending on the package's needs. Many of them are only useful in very specific cases, typical packages will therefore only use a few of them, or none. +* +PYTHON_FOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main +setup.py+ file. This is useful, + if for example, the main +setup.py+ file is not at the root of + the tree extracted by the tarball. If +HOST_PYTHON_FOO_SUBDIR+ is not + specified, it defaults to +PYTHON_FOO_SUBDIR+. + * +PYTHON_FOO_ENV+, to specify additional environment variables to pass to the Python +setup.py+ script (for both the build and install steps). Note that the infrastructure is automatically passing diff --git a/bsp/buildroot/docs/manual/adding-packages-rebar.txt b/bsp/buildroot/docs/manual/adding-packages-rebar.txt index be9ede01..d78b3171 100644 --- a/bsp/buildroot/docs/manual/adding-packages-rebar.txt +++ b/bsp/buildroot/docs/manual/adding-packages-rebar.txt @@ -86,6 +86,12 @@ If the package bundles a _rebar_ utility, but can use the generic * +ERLANG_FOOBAR_REBAR_ENV+, to specify additional environment variables to pass to the _rebar_ utility. +* +ERLANG_FOOBAR_KEEP_DEPENDENCIES+, to keep the dependencies + described in the rebar.config file. Valid values are +YES+ or +NO+ + (the default). Unless this variable is set to +YES+, the _rebar_ + infrastructure removes such dependencies in a post-patch hook to + ensure rebar does not download nor compile them. + With the rebar infrastructure, all the steps required to build and install the packages are already defined, and they generally work well for most rebar-based packages. However, when required, it is diff --git a/bsp/buildroot/docs/manual/adding-packages-tips.txt b/bsp/buildroot/docs/manual/adding-packages-tips.txt index 19577fa8..d10f276e 100644 --- a/bsp/buildroot/docs/manual/adding-packages-tips.txt +++ b/bsp/buildroot/docs/manual/adding-packages-tips.txt @@ -32,6 +32,38 @@ using the following rules: with `.` and `-` characters substituted with `_` (e.g.: +FOO_BAR_BOO_VERSION+). +[[check-package]] +==== How to check the coding style + +Buildroot provides a script in +utils/check-package+ that checks new or +changed files for coding style. It is not a complete language validator, +but it catches many common mistakes. It is meant to run in the actual +files you created or modified, before creating the patch for submission. + +This script can be used for packages, filesystem makefiles, Config.in +files, etc. It does not check the files defining the package +infrastructures and some other files containing similar common code. + +To use it, run the +check-package+ script, by telling which files you +created or changed: + +---- +$ ./utils/check-package package/new-package/* +---- + +If you have the +utils+ directory in your path you can also run: + +---- +$ cd package/new-package/ +$ check-package * +---- + +The tool can also be used for packages in a br2-external: + +---- +$ check-package -b /path/to/br2-ext-tree/package/my-package/* +---- + [[testing-package]] ==== How to test your package @@ -77,9 +109,14 @@ and what package to test: $ ./utils/test-pkg -c libcurl.config -p libcurl ---- -This will try to build your package against all the toolchains used -by the autobuilders (except for the internal toolchains, because it takes -too long to do so). The output lists all toolchains and the corresponding +By default, +test-pkg+ will build your package against a subset of the +toolchains used by the autobuilders, which has been selected by the +Buildroot developers as being the most useful and representative +subset. If you want to test all toolchains, pass the +-a+ option. Note +that in any case, internal toolchains are excluded as they take too +long to build. + +The output lists all toolchains that are tested and the corresponding result (excerpt, results are fake): ---- diff --git a/bsp/buildroot/docs/manual/adding-packages-waf.txt b/bsp/buildroot/docs/manual/adding-packages-waf.txt index 43b557c0..ffc004c2 100644 --- a/bsp/buildroot/docs/manual/adding-packages-waf.txt +++ b/bsp/buildroot/docs/manual/adding-packages-waf.txt @@ -60,10 +60,16 @@ the generic infrastructure also exist in the Waf infrastructure: An additional variable, specific to the Waf infrastructure, can also be defined. +* +LIBFOO_SUBDIR+ may contain the name of a subdirectory inside the + package that contains the main wscript file. This is useful, + if for example, the main wscript file is not at the root of + the tree extracted by the tarball. If +HOST_LIBFOO_SUBDIR+ is not + specified, it defaults to +LIBFOO_SUBDIR+. + * +LIBFOO_NEEDS_EXTERNAL_WAF+ can be set to +YES+ or +NO+ to tell Buildroot to use the bundled +waf+ executable. If set to +NO+, the default, then Buildroot will use the waf executable provided in the - package source tree; if set to +YES+, then Buidlroot will download, + package source tree; if set to +YES+, then Buildroot will download, install waf as a host tool and use it to build the package. * +LIBFOO_WAF_OPTS+, to specify additional options to pass to the diff --git a/bsp/buildroot/docs/manual/adding-packages.txt b/bsp/buildroot/docs/manual/adding-packages.txt index e8d40dae..4a4a17e8 100644 --- a/bsp/buildroot/docs/manual/adding-packages.txt +++ b/bsp/buildroot/docs/manual/adding-packages.txt @@ -9,8 +9,9 @@ applications) can be integrated into Buildroot. It also shows how existing packages are integrated, which is needed for fixing issues or tuning their configuration. -When you add a new package, be sure to test it in various conditions; -see xref:testing-package[] +When you add a new package, be sure to test it in various conditions +(see xref:testing-package[]) and also check it for coding style (see +xref:check-package[]). include::adding-packages-directory.txt[] @@ -38,6 +39,8 @@ include::adding-packages-meson.txt[] include::adding-packages-cargo.txt[] +include::adding-packages-golang.txt[] + include::adding-packages-kernel-module.txt[] include::adding-packages-asciidoc.txt[] diff --git a/bsp/buildroot/docs/manual/common-usage.txt b/bsp/buildroot/docs/manual/common-usage.txt index a22da201..e3d7578c 100644 --- a/bsp/buildroot/docs/manual/common-usage.txt +++ b/bsp/buildroot/docs/manual/common-usage.txt @@ -224,12 +224,12 @@ The +graph-depends+ behaviour can be controlled by setting options in the * +--transitive+, +--no-transitive+, to draw (or not) the transitive dependencies. The default is to not draw transitive dependencies. -* +--colours R,T,H+, the comma-separated list of colours to draw the +* +--colors R,T,H+, the comma-separated list of colors to draw the root package (+R+), the target packages (+T+) and the host packages (+H+). Defaults to: +lightblue,grey,gainsboro+ -------------------------------- -BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends +BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends -------------------------------- === Graphing the build duration diff --git a/bsp/buildroot/docs/manual/contribute.txt b/bsp/buildroot/docs/manual/contribute.txt index 8bbc2b9e..5530ce15 100644 --- a/bsp/buildroot/docs/manual/contribute.txt +++ b/bsp/buildroot/docs/manual/contribute.txt @@ -194,14 +194,29 @@ bisect+ to locate the origin of a problem. First of all, it is essential that the patch has a good commit message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. The body of the commit message should describe _why_ this +brief summary of the change, prefixed by the area touched by the +patch. A few examples of good commit titles: + +* +package/linuxptp: bump version to 2.0+ + +* +configs/imx23evk: bump Linux version to 4.19+ + +* +package/pkg-generic: postpone evaluation of dependency conditions+ + +* +boot/uboot: needs host-{flex,bison}+ + +* +support/testing: add python-ubjson tests+ + +The description that follows the prefix should start with a lower case +letter (i.e "bump", "needs", "postpone", "add" in the above examples). + +Second, the body of the commit message should describe _why_ this change is needed, and if necessary also give details about _how_ it was done. When writing the commit message, think of how the reviewers will read it, but also think about how you will read it when you look at this change again a few years down the line. -Second, the patch itself should do only one change, but do it +Third, the patch itself should do only one change, but do it completely. Two unrelated or weakly related changes should usually be done in two separate patches. This usually means that a patch affects only a single package. If several changes are related, it is often @@ -264,6 +279,10 @@ yourself to the DEVELOPERS file. This should be done in the same patch creating or modifying the package. See xref:DEVELOPERS[the DEVELOPERS file] for more information. +Buildroot provides a handy tool to check for common coding style +mistakes on files you created or modified, called +check-package+ (see +xref:check-package[] for more information). + ==== Preparing a patch series Starting from the changes committed in your local git view, _rebase_ @@ -304,6 +323,28 @@ Use the output of +get-developers+ to send your patches: $ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* --------------------- +Alternatively, +get-developers -e+ can be used directly with the ++--cc-cmd+ argument to +git send-email+ to automatically CC the +affected developers: + +--------------------- +$ git send-email --to buildroot@buildroot.org \ + --cc-cmd './utils/get-developers -e' origin/master +--------------------- + ++git+ can be configured to automatically do this out of the box with: + +--------------------- +$ git config sendemail.to buildroot@buildroot.org +$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e" +--------------------- + +And then just do: + +--------------------- +$ git send-email origin/master +--------------------- + Note that +git+ should be configured to use your mail account. To configure +git+, see +man git-send-email+ or google it. diff --git a/bsp/buildroot/docs/manual/customize-rootfs.txt b/bsp/buildroot/docs/manual/customize-rootfs.txt index 44fc4606..6b72a37b 100644 --- a/bsp/buildroot/docs/manual/customize-rootfs.txt +++ b/bsp/buildroot/docs/manual/customize-rootfs.txt @@ -22,6 +22,12 @@ A filesystem overlay is a tree of files that is copied directly etc., files called +.empty+ and files ending in +~+ are excluded from the copy. + +When +BR2_ROOTFS_MERGED_USR+ is enabled, then the overlay must not + contain the '/bin', '/lib' or '/sbin' directories, as Buildroot will + create them as symbolic links to the relevant folders in '/usr'. In + such a situation, should the overlay have any programs or libraries, + they should be placed in '/usr/bin', '/usr/sbin' and '/usr/lib'. ++ As shown in xref:customize-dir-structure[], the recommended path for this overlay is +board///rootfs-overlay+. @@ -100,6 +106,15 @@ To enable this feature, enable config option +System configuration+ menu. If you specify a relative path, it will be relative to the root of the Buildroot tree. + +Custom skeletons don't need to contain the '/bin', '/lib' or '/sbin' + directories, since they are created automatically during the build. + When +BR2_ROOTFS_MERGED_USR+ is enabled, then the custom skeleton must + not contain the '/bin', '/lib' or '/sbin' directories, as Buildroot + will create them as symbolic links to the relevant folders in '/usr'. + In such a situation, should the skeleton have any programs or + libraries, they should be placed in '/usr/bin', '/usr/sbin' and + '/usr/lib'. ++ This method is not recommended because it duplicates the entire skeleton, which prevents taking advantage of the fixes or improvements brought to the default skeleton in later Buildroot releases. diff --git a/bsp/buildroot/docs/manual/developers.txt b/bsp/buildroot/docs/manual/developers.txt index a0a3668d..7058d57b 100644 --- a/bsp/buildroot/docs/manual/developers.txt +++ b/bsp/buildroot/docs/manual/developers.txt @@ -6,7 +6,7 @@ The main Buildroot directory contains a file named +DEVELOPERS+ that lists the developers involved with various areas of Buildroot. Thanks -to this file, the +get-developer+ tool allows to: +to this file, the +get-developers+ tool allows to: - Calculate the list of developers to whom patches should be sent, by parsing the patches and matching the modified files with the @@ -26,20 +26,21 @@ to include in his patch the appropriate modification to the The +DEVELOPERS+ file format is documented in detail inside the file itself. -The +get-developer+ tool, located in +utils/+ allows to use +The +get-developers+ tool, located in +utils/+ allows to use the +DEVELOPERS+ file for various tasks: - When passing one or several patches as command line argument, - +get-developer+ will return the appropriate +git send-email+ - command. + +get-developers+ will return the appropriate +git send-email+ + command. If the +-e+ option is passed, only the email addresses are + printed in a format suitable for +git send-email --cc-cmd+. -- When using the +-a + command line option, +get-developer+ will +- When using the +-a + command line option, +get-developers+ will return the list of developers in charge of the given architecture. -- When using the +-p + command line option, +get-developer+ +- When using the +-p + command line option, +get-developers+ will return the list of developers in charge of the given package. -- When using the +-c+ command line option, +get-developer+ will look +- When using the +-c+ command line option, +get-developers+ will look at all files under version control in the Buildroot repository, and list the ones that are not handled by any developer. The purpose of this option is to help completing the +DEVELOPERS+ file. diff --git a/bsp/buildroot/docs/manual/manual.html b/bsp/buildroot/docs/manual/manual.html index 01b8258e..b2102ed2 100644 --- a/bsp/buildroot/docs/manual/manual.html +++ b/bsp/buildroot/docs/manual/manual.html @@ -1,9 +1,9 @@ -The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Integration of Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for packages building kernel modules
17.18. Infrastructure for asciidoc documents
17.19. Infrastructure specific to the Linux kernel package
17.20. Hooks available in the various build steps
17.21. Gettext integration and interaction with packages
17.22. Tips and tricks
17.23. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2018.02.8 manual generated on 2018-11-26 -22:42:29 UTC from git revision d047c4032b

The Buildroot manual is written by the Buildroot developers. +The Buildroot user manual

The Buildroot user manual


Table of Contents

I. Getting started
1. About Buildroot
2. System requirements
2.1. Mandatory packages
2.2. Optional packages
3. Getting Buildroot
4. Buildroot quick start
5. Community resources
II. User guide
6. Buildroot configuration
6.1. Cross-compilation toolchain
6.2. /dev management
6.3. init system
7. Configuration of other components
8. General Buildroot usage
8.1. make tips
8.2. Understanding when a full rebuild is necessary
8.3. Understanding how to rebuild packages
8.4. Offline builds
8.5. Building out-of-tree
8.6. Environment variables
8.7. Dealing efficiently with filesystem images
8.8. Graphing the dependencies between packages
8.9. Graphing the build duration
8.10. Graphing the filesystem size contribution of packages
8.11. Integration with Eclipse
8.12. Advanced usage
9. Project-specific customization
9.1. Recommended directory structure
9.2. Keeping customizations outside of Buildroot
9.3. Storing the Buildroot configuration
9.4. Storing the configuration of other components
9.5. Customizing the generated target filesystem
9.6. Adding custom user accounts
9.7. Customization after the images have been created
9.8. Adding project-specific patches
9.9. Adding project-specific packages
9.10. Quick guide to storing your project-specific customizations
10. Frequently Asked Questions & Troubleshooting
10.1. The boot hangs after Starting network…
10.2. Why is there no compiler on the target?
10.3. Why are there no development files on the target?
10.4. Why is there no documentation on the target?
10.5. Why are some packages not visible in the Buildroot config menu?
10.6. Why not use the target directory as a chroot directory?
10.7. Why doesn’t Buildroot generate binary packages (.deb, .ipkg…)?
10.8. How to speed-up the build process?
11. Known issues
12. Legal notice and licensing
12.1. Complying with open source licenses
12.2. Complying with the Buildroot license
13. Beyond Buildroot
13.1. Boot the generated images
13.2. Chroot
III. Developer guide
14. How Buildroot works
15. Coding style
15.1. Config.in file
15.2. The .mk file
15.3. The documentation
15.4. Support scripts
16. Adding support for a particular board
17. Adding new packages to Buildroot
17.1. Package directory
17.2. Config files
17.3. The .mk file
17.4. The .hash file
17.5. Infrastructure for packages with specific build systems
17.6. Infrastructure for autotools-based packages
17.7. Infrastructure for CMake-based packages
17.8. Infrastructure for Python packages
17.9. Infrastructure for LuaRocks-based packages
17.10. Infrastructure for Perl/CPAN packages
17.11. Infrastructure for virtual packages
17.12. Infrastructure for packages using kconfig for configuration files
17.13. Infrastructure for rebar-based packages
17.14. Infrastructure for Waf-based packages
17.15. Infrastructure for Meson-based packages
17.16. Integration of Cargo-based packages
17.17. Infrastructure for Go packages
17.18. Infrastructure for packages building kernel modules
17.19. Infrastructure for asciidoc documents
17.20. Infrastructure specific to the Linux kernel package
17.21. Hooks available in the various build steps
17.22. Gettext integration and interaction with packages
17.23. Tips and tricks
17.24. Conclusion
18. Patching a package
18.1. Providing patches
18.2. How patches are applied
18.3. Format and licensing of the package patches
18.4. Integrating patches found on the Web
19. Download infrastructure
20. Debugging Buildroot
21. Contributing to Buildroot
21.1. Reproducing, analyzing and fixing bugs
21.2. Analyzing and fixing autobuild failures
21.3. Reviewing and testing patches
21.4. Work on items from the TODO list
21.5. Submitting patches
21.6. Reporting issues/bugs or getting help
22. DEVELOPERS file and get-developers
IV. Appendix
23. Makedev syntax documentation
24. Makeusers syntax documentation
25. Migrating from older Buildroot versions
25.1. Migrating to 2016.11
25.2. Migrating to 2017.08

Buildroot 2019.02 manual generated on 2019-03-04 +21:52:42 UTC from git revision b9674056fb

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

Copyright © 2004-2018 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

Buildroot is a tool that simplifies and automates the process of +COPYING +file in the Buildroot sources for the full text of this license.

Copyright © 2004-2019 The Buildroot developers

logo.png

Part I. Getting started

Chapter 1. About Buildroot

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

In order to achieve this, Buildroot is able to generate a cross-compilation toolchain, a root filesystem, a Linux kernel image @@ -16,8 +16,8 @@ processors everyone is used to having in his PC. They can be PowerPC processors, MIPS processors, ARM processors, etc.

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



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the +or develop their BSP [1] or +SDK [2] on top of Buildroot.



[1] BSP: Board Support Package

[2] SDK: Software Development Kit

Chapter 2. System requirements

Buildroot is designed to run on Linux systems.

While Buildroot itself will build most host packages it needs for the compilation, certain standard Linux utilities are expected to be already installed on the host system. Below you will find an overview of the mandatory and optional packages (note that package names may vary @@ -52,7 +52,7 @@ Build tools:

  • cpio
  • -python (version 2.6 or any later) +python (version 2.7 or any later)
  • unzip
  • @@ -272,7 +272,7 @@ processor. Under most Linux systems, the compilation toolchain uses the GNU libc (glibc) as the C standard library. This compilation toolchain is called the "host compilation toolchain". The machine on which it is running, and on which you’re working, is called the "host -system" [3].

    The compilation toolchain is provided by your distribution, and +system" [3].

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

    As said above, the compilation toolchain that comes with your system @@ -547,7 +547,7 @@ The third solution is systemd. http://www.freedesktop.org/wiki/Software/systemd.

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



    [3] This terminology differs from what is used by GNU +systems. systemd can be used for more complex situations.



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

    Chapter 7. Configuration of other components

    Before attempting to modify any of the components below, make sure you have already configured Buildroot itself, and have enabled the @@ -855,10 +855,10 @@ supported.

    BR2_GRAPH_OUT=svg make graph-depends

    T --transitive, --no-transitive, to draw (or not) the transitive dependencies. The default is to not draw transitive dependencies.

  • ---colours R,T,H, the comma-separated list of colours to draw the +--colors R,T,H, the comma-separated list of colors to draw the root package (R), the target packages (T) and the host packages (H). Defaults to: lightblue,grey,gainsboro -
  • BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends

    8.9. Graphing the build duration

    When the build of a system takes a long time, it is sometimes useful +

    BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends

    8.9. Graphing the build duration

    When the build of a system takes a long time, it is sometimes useful to be able to understand which packages are the longest to build, to see if anything can be done to speed up the build. In order to help such build time analysis, Buildroot collects the build time of each @@ -935,17 +935,20 @@ software that are not packaged in Buildroot. In order to do this you can use the toolchain that was generated by Buildroot.

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

    It is possible to relocate the toolchain, this allows to distribute -the toolchain to other developers to build applications for your -target. To achieve this:

    • -run make sdk, which prepares the toolchain to be relocatable; -
    • -tarball the contents of the output/host directory; -
    • -distribute the resulting tarball. -

    Once the toolchain is installed to the new location, the user must run -the relocate-sdk.sh script to make sure all paths are updated with -the new location.

    8.12.2. Using gdb in Buildroot

    Buildroot allows to do cross-debugging, where the debugger runs on the +use ARCH-linux-gcc, ARCH-linux-objdump, ARCH-linux-ld, etc.

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

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

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

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

    8.12.2. Using gdb in Buildroot

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

    To achieve this:

    • If you are using an internal toolchain (built by Buildroot), you @@ -1015,12 +1018,18 @@ build the package

      install-target

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

      install

      target package: Run the 2 previous installation commands

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

    Additionally, there are some other useful make targets:

    command/target Description

    show-depends

    Displays the dependencies required to build the -package

    graph-depends

    Generate a dependency graph of the package, in the +directory

    Additionally, there are some other useful make targets:

    \n") + f.write(" \n" % pkg.path[2:]) + + # Patch count + td_class = ["centered"] + if pkg.patch_count == 0: + td_class.append("nopatches") + elif pkg.patch_count < 5: + td_class.append("somepatches") + else: + td_class.append("lotsofpatches") + f.write(" \n" % + (" ".join(td_class), str(pkg.patch_count))) + + # Infrastructure + infra = infra_str(pkg.infras) + td_class = ["centered"] + if infra == "Unknown": + td_class.append("wrong") + else: + td_class.append("correct") + f.write(" \n" % + (" ".join(td_class), infra_str(pkg.infras))) + + # License + td_class = ["centered"] + if pkg.has_license: + td_class.append("correct") + else: + td_class.append("wrong") + f.write(" \n" % + (" ".join(td_class), boolean_str(pkg.has_license))) + + # License files + td_class = ["centered"] + if pkg.has_license_files: + td_class.append("correct") + else: + td_class.append("wrong") + f.write(" \n" % + (" ".join(td_class), boolean_str(pkg.has_license_files))) + + # Hash + td_class = ["centered"] + if pkg.has_hash: + td_class.append("correct") + else: + td_class.append("wrong") + f.write(" \n" % + (" ".join(td_class), boolean_str(pkg.has_hash))) + + # Current version + if len(pkg.current_version) > 20: + current_version = pkg.current_version[:20] + "..." + else: + current_version = pkg.current_version + f.write(" \n" % current_version) + + # Latest version + if pkg.latest_version[0] == RM_API_STATUS_ERROR: + td_class.append("version-error") + if pkg.latest_version[1] is None: + td_class.append("version-unknown") + elif pkg.latest_version[1] != pkg.current_version: + td_class.append("version-needs-update") + else: + td_class.append("version-good") + + if pkg.latest_version[0] == RM_API_STATUS_ERROR: + latest_version_text = "Error" + elif pkg.latest_version[0] == RM_API_STATUS_NOT_FOUND: + latest_version_text = "Not found" + else: + if pkg.latest_version[1] is None: + latest_version_text = "Found, but no version" + else: + latest_version_text = "%s" % \ + (pkg.latest_version[2], str(pkg.latest_version[1])) + + latest_version_text += "
    " + + if pkg.latest_version[0] == RM_API_STATUS_FOUND_BY_DISTRO: + latest_version_text += "found by distro" + else: + latest_version_text += "found by guess" + + f.write(" \n" % + (" ".join(td_class), latest_version_text)) + + # Warnings + td_class = ["centered"] + if pkg.warnings == 0: + td_class.append("correct") + else: + td_class.append("wrong") + f.write(" \n" % + (" ".join(td_class), pkg.warnings)) + + # URL status + td_class = ["centered"] + url_str = pkg.url_status + if pkg.url_status == "Missing" or pkg.url_status == "No Config.in": + td_class.append("missing_url") + elif pkg.url_status.startswith("Invalid"): + td_class.append("invalid_url") + url_str = "%s" % (pkg.url, pkg.url_status) + else: + td_class.append("good_url") + url_str = "Link" % pkg.url + f.write(" \n" % + (" ".join(td_class), url_str)) + + f.write(" \n") + + +def dump_html_all_pkgs(f, packages): + f.write("""
    command/target Description

    show-depends

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

    show-recursive-depends

    Recursively displays the dependencies + required to build the package

    show-rdepends

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

    show-recursive-rdepends

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

    graph-depends

    Generate a dependency graph of the package, in the context of the current Buildroot configuration. See this section Section 8.8, “Graphing the dependencies between packages†for more details about dependency -graphs.

    dirclean

    Remove the whole package build directory

    reinstall

    Re-run the install commands

    rebuild

    Re-run the compilation commands - this only makes +graphs.

    graph-rdepends

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

    dirclean

    Remove the whole package build directory

    reinstall

    Re-run the install commands

    rebuild

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

    reconfigure

    Re-run the configure commands, then rebuild - this only makes sense when using the OVERRIDE_SRCDIR feature or when you modified a @@ -1065,7 +1074,17 @@ process of just this package.

    In the example of the make a source code change in /home/bob/linux and then run:

    make linux-rebuild all

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

    make busybox-rebuild all

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

    Chapter 9. Project-specific customization

    Typical actions you may need to perform for a given project are:

    • +BusyBox.

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

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

    Chapter 9. Project-specific customization

    Typical actions you may need to perform for a given project are:

    • configuring Buildroot (including build options and toolchain, bootloader, kernel, package and filesystem image type selection)
    • @@ -1426,7 +1445,11 @@ Root filesystem overlays (BR2_ROOTFS_OVERLAY) it will be relative to the root of the Buildroot tree. Hidden directories of version control systems, like .git, .svn, .hg, etc., files called .empty and files ending in ~ are excluded from - the copy.

      As shown in Section 9.1, “Recommended directory structureâ€, the recommended path for + the copy.

      When BR2_ROOTFS_MERGED_USR is enabled, then the overlay must not + contain the /bin, /lib or /sbin directories, as Buildroot will + create them as symbolic links to the relevant folders in /usr. In + such a situation, should the overlay have any programs or libraries, + they should be placed in /usr/bin, /usr/sbin and /usr/lib.

      As shown in Section 9.1, “Recommended directory structureâ€, the recommended path for this overlay is board/<company>/<boardname>/rootfs-overlay.

      Post-build scripts (BR2_ROOTFS_POST_BUILD_SCRIPT)

      Post-build scripts are shell scripts called after Buildroot builds @@ -1484,7 +1507,14 @@ Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM) BR2_ROOTFS_SKELETON_CUSTOM and set BR2_ROOTFS_SKELETON_CUSTOM_PATH to the path of your custom skeleton. Both options are available in the System configuration menu. If you specify a relative path, it will - be relative to the root of the Buildroot tree.

      This method is not recommended because it duplicates the entire + be relative to the root of the Buildroot tree.

      Custom skeletons don’t need to contain the /bin, /lib or /sbin + directories, since they are created automatically during the build. + When BR2_ROOTFS_MERGED_USR is enabled, then the custom skeleton must + not contain the /bin, /lib or /sbin directories, as Buildroot + will create them as symbolic links to the relevant folders in /usr. + In such a situation, should the skeleton have any programs or + libraries, they should be placed in /usr/bin, /usr/sbin and + /usr/lib.

      This method is not recommended because it duplicates the entire skeleton, which prevents taking advantage of the fixes or improvements brought to the default skeleton in later Buildroot releases.

      Post-fakeroot scripts (BR2_ROOTFS_POST_FAKEROOT_SCRIPT) @@ -2152,8 +2182,9 @@ and configurations in these directories, and reference them from the main Buildroot configuration. Refer to Chapter 9, Project-specific customization for more details.

    Chapter 17. Adding new packages to Buildroot

    This section covers how new packages (userspace libraries or applications) can be integrated into Buildroot. It also shows how existing packages are integrated, which is needed for fixing issues or -tuning their configuration.

    When you add a new package, be sure to test it in various conditions; -see Section 17.22.2, “How to test your packageâ€

    17.1. Package directory

    First of all, create a directory under the package directory for +tuning their configuration.

    When you add a new package, be sure to test it in various conditions +(see Section 17.23.3, “How to test your packageâ€) and also check it for coding style (see +Section 17.23.2, “How to check the coding styleâ€).

    17.1. Package directory

    First of all, create a directory under the package directory for your software, for example libfoo.

    Some packages have been grouped by topic in a sub-directory: x11r7, qt5 and gstreamer. If your package fits in one of these categories, then create your package directory in these. @@ -2179,7 +2210,11 @@ The type of option: bool, str

  • If needed, the default value(s)
  • -Any dependency of the depends on form +Any dependencies on the target in depends on form +
  • +Any dependencies on the toolchain in depends on form +
  • +Any dependencies on other packages in depends on form
  • Any dependency of the select form
  • @@ -2346,7 +2381,7 @@ Comment string: no comment to be added Kernel headers

    • Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y, (replace - X_Y with the proper version, see toolchain/toolchain-common.in) + X_Y with the proper version, see toolchain/Config.in)
    • Comment string: headers >= X.Y and/or headers <= X.Y (replace X.Y with the proper version) @@ -2354,7 +2389,7 @@ Comment string: headers >= X.Y and/or
      • Dependency symbol: BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y, (replace - X_Y with the proper version, see toolchain/toolchain-common.in) + X_Y with the proper version, see toolchain/Config.in)
      • Comment string: gcc >= X.Y and/or gcc <= X.Y (replace X.Y with the proper version) @@ -2481,7 +2516,12 @@ rules Section 15.2, “The .mk fileâ€.

      17.4. The .hash file

      When possible, you must add a third file, named libfoo.hash, that contains the hashes of the downloaded files for the libfoo package. The only reason for not adding a .hash file is when hash -checking is not possible due to how the package is downloaded.

      The hashes stored in that file are used to validate the integrity of the +checking is not possible due to how the package is downloaded.

      When a package has a version selection choice, then the hash file may be +stored in a subdirectory named after the version, e.g. +package/libfoo/1.2.3/libfoo.hash. This is especially important if the +different versions have different licensing terms, but they are stored +in the same file. Otherwise, the hash file should stay in the package’s +directory.

      The hashes stored in that file are used to validate the integrity of the downloaded files and of the license files.

      The format of this file is one line for each file for which to check the hash, each line being space-separated, with these three fields:

      • the type of hash, one of: @@ -2630,7 +2670,7 @@ flags. The argument to be given to LIBFOO_CONFIG_SCRIPTS is the file name(s) of the shell script(s) needing fixing. All these names are relative to $(STAGING_DIR)/usr/bin and if needed multiple names can be given.

        In addition, the scripts listed in LIBFOO_CONFIG_SCRIPTS are removed -from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

        Example 17.1. Config script: divine package

        Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

        So its fixup would be:

        DIVINE_CONFIG_SCRIPTS = divine-config

        Example 17.2. Config script: imagemagick package:

        Package imagemagick installs the following scripts: +from $(TARGET_DIR)/usr/bin, since they are not needed on the target.

        Example 17.1. Config script: divine package

        Package divine installs shell script $(STAGING_DIR)/usr/bin/divine-config.

        So its fixup would be:

        DIVINE_CONFIG_SCRIPTS = divine-config

        Example 17.2. Config script: imagemagick package:

        Package imagemagick installs the following scripts: $(STAGING_DIR)/usr/bin/{Magick,Magick++,MagickCore,MagickWand,Wand}-config

        So it’s fixup would be:

        IMAGEMAGICK_CONFIG_SCRIPTS = \
            Magick-config Magick++-config \
            MagickCore-config MagickWand-config Wand-config

        On line 14, we specify the list of dependencies this package relies @@ -2664,8 +2704,10 @@ some tools to be installed on the host. If the package name is libfoo, while the name of the package for the host is host-libfoo. These names should be used in the DEPENDENCIES variables of other packages, if they depend on libfoo or -host-libfoo.

        The call to the generic-package and/or host-generic-package macro must be -at the end of the .mk file, after all variable definitions.

        For the target package, the generic-package uses the variables defined by +host-libfoo.

        The call to the generic-package and/or host-generic-package macro +must be at the end of the .mk file, after all variable definitions. +The call to host-generic-package must be after the call to +generic-package, if any.

        For the target package, the generic-package uses the variables defined by the .mk file and prefixed by the uppercased package name: LIBFOO_*. host-generic-package uses the HOST_LIBFOO_* variables. For some variables, if the HOST_LIBFOO_ prefixed variable doesn’t @@ -2728,7 +2770,7 @@ because two builds can never be perfectly simultaneous, and because and Bazaar are supported URL types for retrieving packages directly from source code management systems. There is a helper function to make it easier to download source tarballs from GitHub (refer to - Section 17.22.3, “How to add a package from GitHub†for details). A filesystem path may be used + Section 17.23.4, “How to add a package from GitHub†for details). A filesystem path may be used to specify either a tarball or a directory containing the package source code. See LIBFOO_SITE_METHOD below for more details on how retrieval works. @@ -2758,7 +2800,7 @@ because two builds can never be perfectly simultaneous, and because the file using this URL. Otherwise, Buildroot will assume the file to be downloaded is located at LIBFOO_SITE. Buildroot will not do anything with those additional files, except download them: it will - be up to the package recipe to use them from $(DL_DIR). + be up to the package recipe to use them from $(LIBFOO_DL_DIR).

      • LIBFOO_SITE_METHOD determines the method used to fetch or copy the package source code. In many cases, Buildroot guesses the method @@ -2822,7 +2864,7 @@ because two builds can never be perfectly simultaneous, and because source directory into the package’s build directory. Note that for local packages, no patches are applied. If you need to still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, see - Section 17.20.1, “Using the POST_RSYNC hookâ€. + Section 17.21.1, “Using the POST_RSYNC hookâ€.

    • LIBFOO_GIT_SUBMODULES can be set to YES to create an archive with the git submodules in the repository. This is only available @@ -2851,6 +2893,13 @@ because two builds can never be perfectly simultaneous, and because a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies for the current host package.
    • +LIBFOO_EXTRACT_DEPENDENCIES lists the dependencies (in terms of + package name) that are required for the current target package to be + extracted. These dependencies are guaranteed to be compiled and + installed before the extract step of the current package + starts. This is only used internally by the package infrastructure, + and should typically not be used directly by packages. +
    • LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of package name) that are required for the current package to be patched. These dependencies are guaranteed to be extracted and @@ -3037,8 +3086,8 @@ endef

      In the action definitions, you can use the following variables:

      $(@D)
      , which contains the directory in which the package source code has been uncompressed.
    • -$(DL_DIR) contains the path to the directory where all the downloads made - by Buildroot are stored. +$(LIBFOO_DL_DIR) contains the path to the directory where all the downloads + made by Buildroot for libfoo are stored in.
    • $(TARGET_CC), $(TARGET_LD), etc. to get the target cross-compilation utilities @@ -3047,7 +3096,7 @@ endef

      In the action definitions, you can use the following variables:

    • Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) variables to install the packages properly. -

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

  • 17.6. Infrastructure for autotools-based packages

    17.6.1. autotools-package tutorial

    First, let’s see how to write a .mk file for an autotools-based +

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

    17.6. Infrastructure for autotools-based packages

    17.6.1. autotools-package tutorial

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

    01: ################################################################################
     02: #
     03: # libfoo
    @@ -3172,7 +3221,7 @@ and install the packages are already defined, and they generally work
     well for most autotools-based packages. However, when required, it is
     still possible to customize what is done in any particular step:

    • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the various build steps†for details. + build or install). See Section 17.21, “Hooks available in the various build steps†for details.
    • By overriding one of the steps. For example, even if the autotools infrastructure is used, if the package .mk file defines its @@ -3288,7 +3337,7 @@ install the packages are already defined, and they generally work well for most CMake-based packages. However, when required, it is still possible to customize what is done in any particular step:

      • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the various build steps†for details. + build or install). See Section 17.21, “Hooks available in the various build steps†for details.
      • By overriding one of the steps. For example, even if the CMake infrastructure is used, if the package .mk file defines its own @@ -3361,6 +3410,12 @@ Similarly, it is not needed to add host-setuptools optionally be defined, depending on the package’s needs. Many of them are only useful in very specific cases, typical packages will therefore only use a few of them, or none.

        • +PYTHON_FOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main setup.py file. This is useful, + if for example, the main setup.py file is not at the root of + the tree extracted by the tarball. If HOST_PYTHON_FOO_SUBDIR is not + specified, it defaults to PYTHON_FOO_SUBDIR. +
        • PYTHON_FOO_ENV, to specify additional environment variables to pass to the Python setup.py script (for both the build and install steps). Note that the infrastructure is automatically passing @@ -3399,7 +3454,7 @@ install the packages are already defined, and they generally work well for most Python-based packages. However, when required, it is still possible to customize what is done in any particular step:

          • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the various build steps†for details. + build or install). See Section 17.21, “Hooks available in the various build steps†for details.
          • By overriding one of the steps. For example, even if the Python infrastructure is used, if the package .mk file defines its own @@ -3468,7 +3523,15 @@ makes the link between the two names.

            On line 9, we declare our dependenci are built before the build process of our package starts.

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

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

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

          17.9.2. luarocks-package reference

          LuaRocks is a deployment and management system for Lua modules, and supports +package to be built.

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

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

          17.9.2. luarocks-package reference

          LuaRocks is a deployment and management system for Lua modules, and supports various build.type: builtin, make and cmake. In the context of Buildroot, the luarocks-package infrastructure only supports the builtin mode. LuaRocks packages that use the make or cmake build mechanisms @@ -3515,13 +3578,15 @@ with an example :

          01: ###################################
           10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures
           11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+
           12: PERL_FOO_BAR_LICENSE_FILES = LICENSE
          -13:
          -14: $(eval $(perl-package))

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

          On line 8 and 9, we declare the name of the tarball and the location +13: PERL_FOO_BAR_DISTNAME = Foo-Bar +14: +15: $(eval $(perl-package))

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

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

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

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

    Finally, on line 14, we invoke the perl-package macro that +12).

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

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

    Most of these data can be retrieved from https://metacpan.org/. So, this file and the Config.in can be generated by running @@ -3705,6 +3770,10 @@ be set to suit the needs of the package under consideration:

    +FOO_KCONFIG_DEPENDENCIES: the list of packages (most probably, host + packages) that need to be built before this package’s kconfig is + interpreted. Seldom used. By default, empty.

    17.13. Infrastructure for rebar-based packages

    17.13.1. rebar-package tutorial

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

    01: ################################################################################
     02: #
    @@ -3752,12 +3821,18 @@ cases, typical packages will therefore only use a few of them.

    ERLANG_FOOBAR_REBAR_ENV, to specify additional environment variables to pass to the rebar utility. +
  • +ERLANG_FOOBAR_KEEP_DEPENDENCIES, to keep the dependencies + described in the rebar.config file. Valid values are YES or NO + (the default). Unless this variable is set to YES, the rebar + infrastructure removes such dependencies in a post-patch hook to + ensure rebar does not download nor compile them.
  • With the rebar infrastructure, all the steps required to build and install the packages are already defined, and they generally work well for most rebar-based packages. However, when required, it is still possible to customize what is done in any particular step:

    • By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the various build steps†for details. + build or install). See Section 17.21, “Hooks available in the various build steps†for details.
    • By overriding one of the steps. For example, even if the rebar infrastructure is used, if the package .mk file defines its @@ -3791,10 +3866,16 @@ the generic infrastructure also exist in the Waf infrastructure: LIBFOO_SUBDIR, LIBFOO_DEPENDENCIES, LIBFOO_INSTALL_STAGING, LIBFOO_INSTALL_TARGET.

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

      • +LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main wscript file. This is useful, + if for example, the main wscript file is not at the root of + the tree extracted by the tarball. If HOST_LIBFOO_SUBDIR is not + specified, it defaults to LIBFOO_SUBDIR. +
      • LIBFOO_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell Buildroot to use the bundled waf executable. If set to NO, the default, then Buildroot will use the waf executable provided in the - package source tree; if set to YES, then Buidlroot will download, + package source tree; if set to YES, then Buildroot will download, install waf as a host tool and use it to build the package.
      • LIBFOO_WAF_OPTS, to specify additional options to pass to the @@ -3814,10 +3895,10 @@ also be defined.

          LIBFOO_INSTALL_TARGET_OPTS, to specify additional options to pass to the waf script during the target installation step. By default, empty. -

    17.15. Integration of Meson-based packages

    17.15.1. meson-package tutorial

    Meson is an open source build system meant to be both -extremely fast, and, even more importantly, as user friendly as possible.

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

    01: ################################################################################
    +

    17.15. Infrastructure for Meson-based packages

    17.15.1. meson-package tutorial

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

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

    01: ################################################################################
     02: #
     03: # foo
     04: #
    @@ -3830,67 +3911,56 @@ package. Let’s start with an example:

    01: #############
     11: FOO_LICENSE_FILES = COPYING
     12: FOO_INSTALL_STAGING = YES
     13:
    -14: FOO_DEPENDENCIES = host-meson host-pkgconf bar
    +14: FOO_DEPENDENCIES = host-pkgconf bar
     15:
    -16: FOO_CONF_OPTS += \
    -17:     --prefix=/usr \
    -18:     --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \
    -19:     --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf
    -20:
    -21: FOO_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS)
    +16: ifeq ($(BR2_PACKAGE_BAZ),y)
    +17: FOO_CONF_OPTS += -Dbaz=true
    +18: FOO_DEPENDENCIES += baz
    +19: else
    +20: FOO_CONF_OPTS += -Dbaz=false
    +21: endif
     22:
    -23: ifeq ($(BR2_PACKAGE_BAZ),y)
    -24: FOO_CONF_OPTS += -Dbaz
    -25: endif
    -26:
    -27: define FOO_CONFIGURE_CMDS
    -28:     rm -rf $(@D)/build
    -29:     mkdir -p $(@D)/build
    -30:     $(TARGET_MAKE_ENV) meson $(FOO_CONF_OPTS) $(@D) $(@D)/build
    -31: endef
    -32:
    -33: define FOO_BUILD_CMDS
    -34:     $(TARGET_MAKE_ENV) ninja $(FOO_NINJA_OPTS) -C $(@D)/build
    -35: endef
    -36:
    -37: define FOO_INSTALL_TARGET_CMDS
    -38:     $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(FOO_NINJA_OPTS) \
    -39:             -C $(@D)/build install
    -40: endef
    -41:
    -42: define FOO_INSTALL_STAGING_CMDS
    -43:     $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) ninja $(FOO_NINJA_OPTS) \
    -44:             -C $(@D)/build install
    -45: endef
    -46:
    -47: $(eval $(generic-package))

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

    As seen in line 47, it is based on the -generic-package infrastructure -Section 17.5.1, “generic-package tutorialâ€. So, it defines -the variables required by this particular infrastructure, where Meson and its -companion tool, Ninja, are invoked:

    • -FOO_CONFIGURE_CMDS: the build directory required by Meson is created, and - Meson is invoked to generate the Ninja build file. The options required to - configure the cross-compilation of the package are passed via - FOO_CONF_OPTS. -
    • -FOO_BUILD_CMDS: Ninja is invoked to perform the build. -
    • -FOO_INSTALL_TARGET_CMDS: Ninja is invoked to install the files generated - during the build step in the target directory. -
    • -FOO_INSTALL_STAGING_CMDS: Ninja is invoked to install the files generated - during the build step in the staging directory, as FOO_INSTALL_STAGING is - set to "YES". -

    In order to have Meson available for the build, FOO_DEPENDENCIES needs to -contain host-meson. In the example, host-pkgconf and bar are also -declared as dependencies because the Meson build file of foo uses pkg-config -to determine the compilation flags and libraries of package bar.

    If the "baz" package is selected, then support for the "baz" feature in "foo" -is activated by adding -Dbaz to FOO_CONF_OPTS, as specified in the -meson_options.txt file in "foo" source tree.

    To sum it up, to add a new meson-based package, the Makefile example can be +23: $(eval $(meson-package))

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

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

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

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

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

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

    17.16. Integration of Cargo-based packages

    Cargo is the package manager for the Rust programming language. It allows the +variables.

    17.15.2. meson-package reference

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

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

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

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

    • +FOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main meson.build file. This is useful, + if for example, the main meson.build file is not at the root of + the tree extracted by the tarball. If HOST_FOO_SUBDIR is not + specified, it defaults to FOO_SUBDIR. +
    • +FOO_CONF_ENV, to specify additional environment variables to pass to + meson for the configuration step. By default, empty. +
    • +FOO_CONF_OPTS, to specify additional options to pass to meson for the + configuration step. By default, empty. +
    • +FOO_NINJA_ENV, to specify additional environment variables to pass to + ninja, meson companion tool in charge of the build operations. By default, + empty. +
    • +FOO_NINJA_OPTS, to specify a space-separated list of targets to build. By + default, empty, to build the default target(s). +

    17.16. Integration of Cargo-based packages

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

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

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

    01: config BR2_PACKAGE_FOO
    @@ -3961,10 +4031,88 @@ Makefile example at line 15, this environment variable is set to
     $(HOST_DIR)/share/cargo.

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

    17.17. Infrastructure for packages building kernel modules

    Buildroot offers a helper infrastructure to make it easy to write packages that +FOO_EXTRA_DOWNLOADS.

    17.17. Infrastructure for Go packages

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

    17.17.1. golang-package tutorial

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

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

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

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

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

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

    17.17.2. golang-package reference

    In their Config.in file, packages using the golang-package +infrastructure should depend on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS +and BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS because Buildroot will +automatically add a dependency on host-go to such packages.

    The main macro of the Go package infrastructure is +golang-package. It is similar to the generic-package macro. Only +target packages are supported with golang-package.

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

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

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

    A few additional variables, specific to the Go infrastructure, can +optionally be defined, depending on the package’s needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none.

    • +If your package need a custom GOPATH to be compiled in, you can + use the FOO_WORKSPACE variable. The GOPATH being used will be + <package-srcdir>/<FOO_WORKSPACE>. If FOO_WORKSPACE is not + specified, it defaults to _gopath. +
    • +FOO_SRC_SUBDIR is the sub-directory where your source will be + compiled relatively to the GOPATH. An example value is + github.com/bar/foo. If FOO_SRC_SUBDIR is not specified, it + defaults to a value infered from the FOO_SITE variable. +
    • +FOO_LDFLAGS and FOO_TAGS can be used to pass respectively the + LDFLAGS or the TAGS to the go build command. +
    • +FOO_BUILD_TARGETS can be used to pass the list of targets that + should be built. If FOO_BUILD_TARGETS is not specified, it + defaults to .. We then have two cases: +

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

    With the Go infrastructure, all the steps required to build and +install the packages are already defined, and they generally work well +for most Go-based packages. However, when required, it is still +possible to customize what is done in any particular step:

    • +By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.21, “Hooks available in the various build steps†for details. +
    • +By overriding one of the steps. For example, even if the Go + infrastructure is used, if the package .mk file defines its own + FOO_BUILD_CMDS variable, it will be used instead of the default Go + one. However, using this method should be restricted to very + specific cases. Do not use it in the general case. +

    17.18. Infrastructure for packages building kernel modules

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

    17.17.1. kernel-module tutorial

    Let’s start with an example on how to prepare a simple package that only +modules. Buildroot’s helper infrastructure supports either case.

    17.18.1. kernel-module tutorial

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

    01: ################################################################################
     02: #
     03: # foo
    @@ -4017,7 +4165,7 @@ not sufficient; another package infrastructure must
     the kernel module located in sub-directory driver/base and, if libbar
     is enabled, the kernel module located in sub-directory driver/bar, and
     defines the variable KVERSION to be passed to the Linux buildsystem
    -when building the module(s).

    17.17.2. kernel-module reference

    The main macro for the kernel module infrastructure is kernel-module. +when building the module(s).

    17.18.2. kernel-module reference

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

    The kernel-module macro defines post-build and post-target-install hooks to build the kernel modules. If the package’s .mk needs access @@ -4053,7 +4201,7 @@ configure the build of the kernel module:

    • KERNEL_ARCH contains the name of the current architecture, like arm, mips… -

    17.18. Infrastructure for asciidoc documents

    The Buildroot manual, which you are currently reading, is entirely written +

    17.19. Infrastructure for asciidoc documents

    The Buildroot manual, which you are currently reading, is entirely written using the AsciiDoc mark-up syntax. The manual is then rendered to many formats:

    • html @@ -4071,7 +4219,7 @@ AsciiDoc syntax.

      Also as for packages, the AsciiDoc infrastructure is avai br2-external tree Section 9.2, “Keeping customizations outside of Buildrootâ€. This allows documentation for a br2-external tree to match the Buildroot documentation, as it will be -rendered to the same formats and use the same layout and theme.

      17.18.1. asciidoc-document tutorial

      Whereas package infrastructures are suffixed with -package, the document +rendered to the same formats and use the same layout and theme.

      17.19.1. asciidoc-document tutorial

      Whereas package infrastructures are suffixed with -package, the document infrastructures are suffixed with -document. So, the AsciiDoc infrastructure is named asciidoc-document.

      Here is an example to render a simple AsciiDoc document.

      01: ################################################################################
       02: #
      @@ -4085,7 +4233,7 @@ Currently, it is expected that the document’s sources are only local;
       Buildroot will not attempt to download anything to render a document.
       Thus, you must indicate where the sources are. Usually, the string
       above is sufficient for a document with no sub-directory structure.

      On line 8, we call the asciidoc-document function, which generates all -the Makefile code necessary to render the document.

      17.18.2. asciidoc-document reference

      The list of variables that can be set in a .mk file to give metadata +the Makefile code necessary to render the document.

      17.19.2. asciidoc-document reference

      The list of variables that can be set in a .mk file to give metadata information is (assuming the document name is foo) :

      • FOO_SOURCES, mandatory, defines the source files for the document.
      • @@ -4097,7 +4245,7 @@ information is (assuming the document name is foo) host-packages) that must be built before building this document. If a hook of your document needs to access the Kconfig structure, you may add prepare-kconfig to the list of dependencies. -

      There are also additional hooks (see Section 17.20, “Hooks available in the various build steps†for general information +

    There are also additional hooks (see Section 17.21, “Hooks available in the various build steps†for general information on hooks), that a document may set to define extra actions to be done at various steps:

    • FOO_POST_RSYNC_HOOKS to run additional commands after the sources @@ -4144,8 +4292,8 @@ various steps:

        17.19. Infrastructure specific to the Linux kernel package

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

        17.19.1. linux-kernel-tools

        Buildroot offers a helper infrastructure to build some userspace tools +31: $(eval $(call asciidoc-document))

      17.20. Infrastructure specific to the Linux kernel package

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

      17.20.1. linux-kernel-tools

      Buildroot offers a helper infrastructure to build some userspace tools for the target available within the Linux kernel sources. Since their source code is part of the kernel source code, a special package, linux-tools, exists and re-uses the sources of the Linux kernel that @@ -4197,7 +4345,7 @@ different steps of the Linux tool build process like for a used only when the foo tool is selected. The only supported commands are _BUILD_CMDS, _INSTALL_STAGING_CMDS and _INSTALL_TARGET_CMDS.

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

      17.19.2. linux-kernel-extensions

      Some packages provide new features that require the Linux kernel tree +they are part of the linux-tools package.

      17.20.2. linux-kernel-extensions

      Some packages provide new features that require the Linux kernel tree to be modified. This can be in the form of patches to be applied on the kernel tree, or in the form of new files to be added to the tree. The Buildroot’s Linux kernel extensions infrastructure provides @@ -4235,7 +4383,7 @@ use the variables defined by the foo package, like: $(FOO_VERSION)… as well as all the Linux variables, like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… See the definition of those kernel variables -Section 17.17.2, “kernel-module referenceâ€.

      17.20. Hooks available in the various build steps

      The generic infrastructure (and as a result also the derived autotools +Section 17.18.2, “kernel-module referenceâ€.

    17.21. Hooks available in the various build steps

    The generic infrastructure (and as a result also the derived autotools and cmake infrastructures) allow packages to specify hooks. These define further actions to perform after existing steps. Most hooks aren’t really useful for generic packages, since the .mk @@ -4291,7 +4439,7 @@ registered at a given hook point. Here is an example:

    def
             action2
     endef
     
    -LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

    17.20.1. Using the POST_RSYNC hook

    The POST_RSYNC hook is run only for packages that use a local source, +LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP

    17.21.1. Using the POST_RSYNC hook

    The POST_RSYNC hook is run only for packages that use a local source, either through the local site method or the OVERRIDE_SRCDIR mechanism. In this case, package sources are copied using rsync from the local location into the buildroot build directory. The rsync @@ -4306,10 +4454,10 @@ others, use the following variables:

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

    17.20.2. Target-finalize hook

    Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. +

    17.21.2. Target-finalize hook

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

    17.21. Gettext integration and interaction with packages

    Many packages that support internationalization use the gettext +package probably do not need them.

    17.22. Gettext integration and interaction with packages

    Many packages that support internationalization use the gettext library. Dependencies for this library are fairly complicated and therefore, deserve some explanation.

    The glibc C library integrates a full-blown implementation of gettext, supporting translation. Native Language Support is @@ -4355,7 +4503,7 @@ use select BR2_PACKAGE_GETTEXT in their

  • not add any gettext dependency in the DEPENDENCIES variable of their .mk file. -
  • 17.22. Tips and tricks

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

    In Buildroot, there is some relationship between:

    • +

    17.23. Tips and tricks

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

    In Buildroot, there is some relationship between:

    • the package name, which is the package directory name (and the name of the *.mk file);
    • @@ -4377,7 +4525,14 @@ the config entry is the upper case package name< the *.mk file variable prefix is the upper case package name with . and - characters substituted with _ (e.g.: FOO_BAR_BOO_VERSION). -

    17.22.2. How to test your package

    Once you have added your new package, it is important that you test it +

    17.23.2. How to check the coding style

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

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

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

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

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

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

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

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

    17.23.3. How to test your package

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

    Buildroot runs autobuilders which @@ -4395,9 +4550,12 @@ config snippet. For example, here’s how you would test l BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_OPENSSL=y

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

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

    This will try to build your package against all the toolchains used -by the autobuilders (except for the internal toolchains, because it takes -too long to do so). The output lists all toolchains and the corresponding +and what package to test:

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

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

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

    $ ./utils/test-pkg -c libcurl.config -p libcurl
                     armv5-ctng-linux-gnueabi [ 1/11]: OK
                   armv7-ctng-linux-gnueabihf [ 2/11]: OK
    @@ -4434,7 +4592,7 @@ one of the preliminary steps (downloading the config file, applying
     options (after you fixed your package); the script will attempt to
     re-build the package specified with -p for all toolchains, without
     the need to re-build all the dependencies of that package.

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

    $ ./utils/test-pkg -h

    17.22.3. How to add a package from GitHub

    Packages on GitHub often don’t have a download area with release tarballs. +help by running:

    $ ./utils/test-pkg -h

    17.23.4. How to add a package from GitHub

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

    # Use a tag or a full commit ID
    @@ -4461,7 +4619,7 @@ If it looks like the image above then it was uploaded by the
     On the other hand, if there’s is only the "Source code" link, then
       it’s an automatically generated tarball and you should use the
       github helper function.
    -

    17.23. Conclusion

    As you can see, adding a software package to Buildroot is simply a +

    17.24. Conclusion

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

    If you package software that might be useful for other people, don’t forget to send a patch to the Buildroot mailing list (see @@ -4727,12 +4885,23 @@ the git repository, to make it easy to find back in the history how and why things have changed, and to make it possible to use git bisect to locate the origin of a problem.

    First of all, it is essential that the patch has a good commit message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. The body of the commit message should describe why this +brief summary of the change, prefixed by the area touched by the +patch. A few examples of good commit titles:

    • +package/linuxptp: bump version to 2.0 +
    • +configs/imx23evk: bump Linux version to 4.19 +
    • +package/pkg-generic: postpone evaluation of dependency conditions +
    • +boot/uboot: needs host-{flex,bison} +
    • +support/testing: add python-ubjson tests +

    The description that follows the prefix should start with a lower case +letter (i.e "bump", "needs", "postpone", "add" in the above examples).

    Second, the body of the commit message should describe why this change is needed, and if necessary also give details about how it was done. When writing the commit message, think of how the reviewers will read it, but also think about how you will read it when you look -at this change again a few years down the line.

    Second, the patch itself should do only one change, but do it +at this change again a few years down the line.

    Third, the patch itself should do only one change, but do it completely. Two unrelated or weakly related changes should usually be done in two separate patches. This usually means that a patch affects only a single package. If several changes are related, it is often @@ -4784,7 +4953,9 @@ further changes in the packages you added or modified, please add yourself to the DEVELOPERS file. This should be done in the same patch creating or modifying the package. See the DEVELOPERS file Chapter 22, DEVELOPERS file and get-developers -for more information.

    21.5.2. Preparing a patch series

    Starting from the changes committed in your local git view, rebase +for more information.

    Buildroot provides a handy tool to check for common coding style +mistakes on files you created or modified, called check-package (see +Section 17.23.2, “How to check the coding style†for more information).

    21.5.2. Preparing a patch series

    Starting from the changes committed in your local git view, rebase your development branch on top of the upstream tree before generating a patch set. To do so, run:

    $ git fetch --all --tags
     $ git rebase origin/master

    Now, you are ready to generate then submit your patch set.

    To generate it, run:

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

    This will generate patch files in the outgoing subdirectory, @@ -4792,7 +4963,11 @@ automatically adding the Signed-off-by line.

    before submitting them, using your favorite text editor.

    Buildroot provides a handy tool to know to whom your patches should be sent, called get-developers (see Chapter 22, DEVELOPERS file and get-developers for more information). This tool reads your patches and outputs the appropriate -git send-email command to use:

    $ ./utils/get-developers outgoing/*

    Use the output of get-developers to send your patches:

    $ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/*

    Note that git should be configured to use your mail account. +git send-email command to use:

    $ ./utils/get-developers outgoing/*

    Use the output of get-developers to send your patches:

    $ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/*

    Alternatively, get-developers -e can be used directly with the +--cc-cmd argument to git send-email to automatically CC the +affected developers:

    $ git send-email --to buildroot@buildroot.org \
    +      --cc-cmd './utils/get-developers -e' origin/master

    git can be configured to automatically do this out of the box with:

    $ git config sendemail.to buildroot@buildroot.org
    +$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e"

    And then just do:

    $ git send-email origin/master

    Note that git should be configured to use your mail account. To configure git, see man git-send-email or google it.

    If you do not use git send-email, make sure posted patches are not line-wrapped, otherwise they cannot easily be applied. In such a case, fix your e-mail client, or better yet, learn to use git send-email.

    21.5.3. Cover letter

    If you want to present the whole patch set in a separate mail, add @@ -4804,7 +4979,7 @@ large number of commits in the series;

  • deep impact of the changes in the rest of the project;
  • -RFC [4]; +RFC [4];
  • whenever you feel it will help presenting your work, your choices, the review process, etc. @@ -4886,9 +5061,9 @@ pastebin service. Note that not all available pastebin services will preserve Unix-style line terminators when downloading raw pastes. Following pastebin services are known to work correctly: - https://gist.github.com/ -- http://code.bulix.org/



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

    Chapter 22. DEVELOPERS file and get-developers

    The main Buildroot directory contains a file named DEVELOPERS that +- http://code.bulix.org/



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

    Chapter 22. DEVELOPERS file and get-developers

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

    • +to this file, the get-developers tool allows to:

      • Calculate the list of developers to whom patches should be sent, by parsing the patches and matching the modified files with the relevant developers. See Section 21.5, “Submitting patches†for details. @@ -4902,19 +5077,20 @@ functionality in Buildroot, to register themselves in the file. As an example, we expect a developer contributing a new package to include in his patch the appropriate modification to the DEVELOPERS file.

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

        The get-developer tool, located in utils/ allows to use +itself.

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

        • When passing one or several patches as command line argument, - get-developer will return the appropriate git send-email - command. + get-developers will return the appropriate git send-email + command. If the -e option is passed, only the email addresses are + printed in a format suitable for git send-email --cc-cmd.
        • -When using the -a <arch> command line option, get-developer will +When using the -a <arch> command line option, get-developers will return the list of developers in charge of the given architecture.
        • -When using the -p <package> command line option, get-developer +When using the -p <package> command line option, get-developers will return the list of developers in charge of the given package.
        • -When using the -c command line option, get-developer will look +When using the -c command line option, get-developers will look at all files under version control in the Buildroot repository, and list the ones that are not handled by any developer. The purpose of this option is to help completing the DEVELOPERS file. diff --git a/bsp/buildroot/docs/manual/manual.pdf b/bsp/buildroot/docs/manual/manual.pdf index e490b559fe2a952a283a4690a6b56125dba3dd7f..970d02309982be0c0abc4adc2144abad3524c8d1 100644 GIT binary patch delta 348652 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

          CSrnv5@A_DU`jZiK&4Vy01}i>dO=OM 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 E+FjGM5y*6N0~hk}V>l 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%0AD)$D>O2D!M+*yy{ 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 Rb^tFsFCsOygpwrU{{`%j_x%6> delta 333882 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
        • Reviewing and testing patches sent by other developers. See the mailing list - or + or patchwork.
        • Working on items from the TODO list
        • diff --git a/bsp/buildroot/docs/website/copyright.txt b/bsp/buildroot/docs/website/copyright.txt index b8ad36af..600bf7df 100644 --- a/bsp/buildroot/docs/website/copyright.txt +++ b/bsp/buildroot/docs/website/copyright.txt @@ -1,6 +1,6 @@ The code and graphics on this website (and it's mirror sites, if any) are -Copyright (c) 1999-2005 by Erik Andersen, 2006-2018 The Buildroot +Copyright (c) 1999-2005 by Erik Andersen, 2006-2019 The Buildroot developers. All rights reserved. Documents on this Web site including their graphical elements, design, and diff --git a/bsp/buildroot/docs/website/download.html b/bsp/buildroot/docs/website/download.html index cf99b22c..3fc6c289 100644 --- a/bsp/buildroot/docs/website/download.html +++ b/bsp/buildroot/docs/website/download.html @@ -8,105 +8,105 @@
          Download
          -

          Latest stable / long term support release: 2018.02

          +

          Latest stable / long term support release: 2018.02.11

          diff --git a/bsp/buildroot/docs/website/favicon.png b/bsp/buildroot/docs/website/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..3bfe1ba76eae9ee9ddc267f8acd1c624bbf3483c GIT binary patch literal 1801 zcmZ`(c{mjM8vfZDOPK82X@(-%8Xh6b8B;U1(}+n!vc#CNWT|6KVk~v6S4hS-U0Et6 zmojDFx%T2Rwh~i_8GFPq&ba^GKkoCr-}gSxyZrkl+1Xl(3M&W$07R{=&^Ru`k5-VE zd-vs7#a!a|MqyC^RHcjTdk7qv1S=dCfJij}$O!=KaV7F10HFu~mTm%IOaValc0rxJ zDc3mW`G+MM93IU-8=q%!6`|W!*Mk8Nkvv)+kXInb6(J$kSPW#2mlq0wBxh=l0U$79 zjYc_Gb=N%k!{5bQx_fB1Y4!Jo&~C!Lt}q-jujGVv-fNsazes|{wQQ&eo;a#4;Yqh) zW;p%J+^V8Oq6!61cm(WUPFx&O(+*IeR}oAYI7bUwi^Fvj$>0=|F$?;|v>9^`RAUW`#D9 z-rD#uLZhn(sIZQ6px>H9(P9{gHD2;_a`aO6VB6VkBVE3(Jwrc6_;iw#TpV2D8Lokq zKhtMwf<1Xf0G`!zs%n#Vs_rz@h_4)IDjTK^yE{bm6||K+4r` zM&Nbjg|O$BV{EdNRib@Cxt2rys*nW$9kJ(loK7!&b%We8So?AX(sxE@9m$hO*?K>` zVpbe0MV8^`@!>U}BUV#)rcbIGZn{uq*1lCI#&7RM=s%V)=e0WaFy6sRn9Ng&;GuF( zC)wWqAwtG!q8b!cKA|=D`>m+m@T#1WQny@;3=|!ydaA9wekG z)N49whPLpMV*td`s;Tq6@E?=QE>4yJ=$EIInK8u-=#`^oGBufPf6`#bZxwBz{ZgM| zBLCxW7|#1@Zv3uMYrXSJt--0r{L!8To9rKBW2}vi;B`(ijB~g7C+?uXlL3GVsgTcx zP7m}qQ`eBr?%iy26HqRvrJhf_xS2j0VJ79sN>Gtov_@6QW6rgh>`ppsMpV3GXL&43 zXT}F}SZwj=QU#=J9E?a#&Dd8T+WxJ3!L+90ok6XG)|hCEkpST)w90Bi65s0pV}!!$ z;Dpkx7MFzA7#7lknR$zbW8=;=x2U-j3(REnPUtQ_BMMkgqrA{g+S!!LHL+TB8&oD7 za-Sw8k16S4$j4P{FSSb(upUjsfd*17Ds+$cgGgFwklr?ojJsQ8S72Z~I83qXnnm>C zUgj!45`L&`_27WQr>s7%Sfoc;FlYSbYYOIx_I-;=8S;hcS%DKAvw#=15|4hpa29PW`imyD-< zREMnOyMyoVzaJ;JI(fo-*vLNYLujkV*Nu*FWYhUdx%7=oL&5y(l3|uKRYJtk+vq>wP~eXe|wMFS0yr zE%4-rjbB&qFeL$^OOAj>qiNbp3(fVBL8Z)tt}>+;f346(3)9=T+gXDH^`%25Ip^FD zsjKx6suG^LnEbT_)v>*DEU@W3V@AHmLi74~loyhjC`IyKsBDP%xis-MxZrRH_V_9f zXn|_S?6sbOH5op^7n!=|=M@$f=I8qIqcDQYzqZ{a0C3J%PlmRJy7pCzy^cuU%91ZI zDtHTjp_EKjKjQ*?HpspWVs>LqmUQZGA8^t0rU{MM%oBHE*x|Xj1h)hXd-lt5r|AaHLw3E1O$2c YlJ5Th0>h0u&Mg3Ij4k@j#hY<|11;`3 - - + + + + diff --git a/bsp/buildroot/docs/website/header.html b/bsp/buildroot/docs/website/header.html index ef6724f2..e1909291 100644 --- a/bsp/buildroot/docs/website/header.html +++ b/bsp/buildroot/docs/website/header.html @@ -10,12 +10,12 @@ Buildroot - Making Embedded Linux Easy - + @@ -43,6 +43,8 @@ Contribute
        • RkX>0%y<~2g4sSd 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
          KR&g)*qYfcA`?E)w)&C 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

          *ZU)ck;xunswd6I?EO3($C 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 diff --git a/bsp/buildroot/docs/manual/manual.text b/bsp/buildroot/docs/manual/manual.text index d4be2f8d..627dadc7 100644 --- a/bsp/buildroot/docs/manual/manual.text +++ b/bsp/buildroot/docs/manual/manual.text @@ -111,15 +111,16 @@ III. Developer guide configuration files 17.13. Infrastructure for rebar-based packages 17.14. Infrastructure for Waf-based packages - 17.15. Integration of Meson-based packages + 17.15. Infrastructure for Meson-based packages 17.16. Integration of Cargo-based packages - 17.17. Infrastructure for packages building kernel modules - 17.18. Infrastructure for asciidoc documents - 17.19. Infrastructure specific to the Linux kernel package - 17.20. Hooks available in the various build steps - 17.21. Gettext integration and interaction with packages - 17.22. Tips and tricks - 17.23. Conclusion + 17.17. Infrastructure for Go packages + 17.18. Infrastructure for packages building kernel modules + 17.19. Infrastructure for asciidoc documents + 17.20. Infrastructure specific to the Linux kernel package + 17.21. Hooks available in the various build steps + 17.22. Gettext integration and interaction with packages + 17.23. Tips and tricks + 17.24. Conclusion 18. Patching a package @@ -160,16 +161,16 @@ List of Examples --------------------------------------------------------------------- -Buildroot 2018.02.8 manual generated on 2018-11-26 22:42:34 UTC from -git revision d047c4032b +Buildroot 2019.02 manual generated on 2019-03-04 21:52:47 UTC from +git revision b9674056fb The Buildroot manual is written by the Buildroot developers. It is licensed under the GNU General Public License, version 2. Refer to the COPYING [http://git.buildroot.org/buildroot/tree/COPYING?id= -d047c4032bbbece009d84094dae2092d9582df06] file in the Buildroot +b9674056fbe8d37c1b11ad524075f21dc5deaa15] file in the Buildroot sources for the full text of this license. -Copyright © 2004-2018 The Buildroot developers +Copyright © 2004-2019 The Buildroot developers Part I. Getting started @@ -243,7 +244,7 @@ vary between distributions). + perl (version 5.8.7 or any later) + tar + cpio - + python (version 2.6 or any later) + + python (version 2.7 or any later) + unzip + rsync + file (must be in /usr/bin/file) @@ -1399,11 +1400,11 @@ are: the graph. * --transitive, --no-transitive, to draw (or not) the transitive dependencies. The default is to not draw transitive dependencies. - * --colours R,T,H, the comma-separated list of colours to draw the + * --colors R,T,H, the comma-separated list of colors to draw the root package (R), the target packages (T) and the host packages (H). Defaults to: lightblue,grey,gainsboro -BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colours=red,green,blue' make graph-depends +BR2_GRAPH_DEPS_OPTS='-d 3 --no-transitive --colors=red,green,blue' make graph-depends 8.9. Graphing the build duration @@ -1527,17 +1528,26 @@ host/. The simplest way to use it is to add output/host/bin/ to your PATH environment variable and then to use ARCH-linux-gcc, ARCH-linux-objdump, ARCH-linux-ld, etc. -It is possible to relocate the toolchain, this allows to distribute -the toolchain to other developers to build applications for your -target. To achieve this: +Alternatively, Buildroot can also export the toolchain and the +development files of all selected packages, as an SDK, by running the +command make sdk. This generates a tarball of the content of the host +directory output/host/, named _sdk-buildroot.tar.gz +(which can be overriden by setting the environment variable +BR2_SDK_PREFIX) and located in the output directory output/images/. - * run make sdk, which prepares the toolchain to be relocatable; - * tarball the contents of the output/host directory; - * distribute the resulting tarball. +This tarball can then be distributed to application developers, when +they want to develop their applications that are not (yet) packaged +as a Buildroot package. -Once the toolchain is installed to the new location, the user must -run the relocate-sdk.sh script to make sure all paths are updated -with the new location. +Upon extracting the SDK tarball, the user must run the script +relocate-sdk.sh (located at the top directory of the SDK), to make +sure all paths are updated with the new location. + +Alternatively, if you just want to prepare the SDK without generating +the tarball (e.g. because you will just be moving the host directory, +or will be generating the tarball on your own), Buildroot also allows +you to just prepare the SDK with make prepare-sdk without actually +generating a tarball. 8.12.2. Using gdb in Buildroot @@ -1706,31 +1716,54 @@ The package build targets are (in the order they are executed): Additionally, there are some other useful make targets: +------------------------------------------------------------+ -| command/ |Description | -| target | | -|-------------+----------------------------------------------| -|show-depends |Displays the dependencies required to build | -| |the package | -|-------------+----------------------------------------------| -|graph-depends|Generate a dependency graph of the package, in| -| |the context of the current Buildroot | -| |configuration. See this section Section 8.8, | -| |“Graphing the dependencies between packages†| -| |for more details about dependency graphs. | -|-------------+----------------------------------------------| -| dirclean |Remove the whole package build directory | -|-------------+----------------------------------------------| -| reinstall |Re-run the install commands | -|-------------+----------------------------------------------| -| rebuild |Re-run the compilation commands - this only | -| |makes sense when using the OVERRIDE_SRCDIR | -| |feature or when you modified a file directly | -| |in the build directory | -|-------------+----------------------------------------------| -| reconfigure |Re-run the configure commands, then rebuild - | -| |this only makes sense when using the | -| |OVERRIDE_SRCDIR feature or when you modified a| -| |file directly in the build directory | +| command/target |Description | +|-----------------------+------------------------------------| +| show-depends |Displays the first-order | +| |dependencies required to build the | +| |package | +|-----------------------+------------------------------------| +|show-recursive-depends |Recursively displays the | +| |dependencies required to build the | +| |package | +|-----------------------+------------------------------------| +| show-rdepends |Displays the first-order reverse | +| |dependencies of the package (i.e | +| |packages that directly depend on it)| +|-----------------------+------------------------------------| +|show-recursive-rdepends|Recursively displays the reverse | +| |dependencies of the package (i.e the| +| |packages that depend on it, directly| +| |or indirectly) | +|-----------------------+------------------------------------| +| graph-depends |Generate a dependency graph of the | +| |package, in the context of the | +| |current Buildroot configuration. See| +| |this section Section 8.8, “Graphing | +| |the dependencies between packages†| +| |for more details about dependency | +| |graphs. | +|-----------------------+------------------------------------| +| graph-rdepends |Generate a graph of this package | +| |reverse dependencies (i.e the | +| |packages that depend on it, directly| +| |or indirectly) | +|-----------------------+------------------------------------| +| dirclean |Remove the whole package build | +| |directory | +|-----------------------+------------------------------------| +| reinstall |Re-run the install commands | +|-----------------------+------------------------------------| +| rebuild |Re-run the compilation commands - | +| |this only makes sense when using the| +| |OVERRIDE_SRCDIR feature or when you | +| |modified a file directly in the | +| |build directory | +|-----------------------+------------------------------------| +| reconfigure |Re-run the configure commands, then | +| |rebuild - this only makes sense when| +| |using the OVERRIDE_SRCDIR feature or| +| |when you modified a file directly in| +| |the build directory | +------------------------------------------------------------+ 8.12.6. Using Buildroot during development @@ -1806,6 +1839,20 @@ make busybox-rebuild all the root filesystem image in output/images contains the updated BusyBox. +Source trees for big projects often contain hundreds or thousands of +files which are not needed for building, but will slow down the +process of copying the sources with rsync. Optionally, it is possible +define _OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS to skip syncing certain +files from the source tree. For example, when working on the +webkitgtk package, the following will exclude the tests and in-tree +builds from a local WebKit source tree: + +WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit +WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ + --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ + --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ + --exclude WebKit.xcworkspace --exclude Websites --exclude Examples + Chapter 9. Project-specific customization Typical actions you may need to perform for a given project are: @@ -2322,6 +2369,13 @@ Root filesystem overlays (BR2_ROOTFS_OVERLAY) .svn, .hg, etc., files called .empty and files ending in ~ are excluded from the copy. + When BR2_ROOTFS_MERGED_USR is enabled, then the overlay must not + contain the /bin, /lib or /sbin directories, as Buildroot will + create them as symbolic links to the relevant folders in /usr. In + such a situation, should the overlay have any programs or + libraries, they should be placed in /usr/bin, /usr/sbin and /usr/ + lib. + As shown in Section 9.1, “Recommended directory structureâ€, the recommended path for this overlay is board/// rootfs-overlay. @@ -2407,6 +2461,15 @@ Custom target skeleton (BR2_ROOTFS_SKELETON_CUSTOM) menu. If you specify a relative path, it will be relative to the root of the Buildroot tree. + Custom skeletons don’t need to contain the /bin, /lib or /sbin + directories, since they are created automatically during the + build. When BR2_ROOTFS_MERGED_USR is enabled, then the custom + skeleton must not contain the /bin, /lib or /sbin directories, as + Buildroot will create them as symbolic links to the relevant + folders in /usr. In such a situation, should the skeleton have + any programs or libraries, they should be placed in /usr/bin, / + usr/sbin and /usr/lib. + This method is not recommended because it duplicates the entire skeleton, which prevents taking advantage of the fixes or improvements brought to the default skeleton in later Buildroot @@ -3135,15 +3198,16 @@ Table of Contents configuration files 17.13. Infrastructure for rebar-based packages 17.14. Infrastructure for Waf-based packages - 17.15. Integration of Meson-based packages + 17.15. Infrastructure for Meson-based packages 17.16. Integration of Cargo-based packages - 17.17. Infrastructure for packages building kernel modules - 17.18. Infrastructure for asciidoc documents - 17.19. Infrastructure specific to the Linux kernel package - 17.20. Hooks available in the various build steps - 17.21. Gettext integration and interaction with packages - 17.22. Tips and tricks - 17.23. Conclusion + 17.17. Infrastructure for Go packages + 17.18. Infrastructure for packages building kernel modules + 17.19. Infrastructure for asciidoc documents + 17.20. Infrastructure specific to the Linux kernel package + 17.21. Hooks available in the various build steps + 17.22. Gettext integration and interaction with packages + 17.23. Tips and tricks + 17.24. Conclusion 18. Patching a package @@ -3392,8 +3456,10 @@ applications) can be integrated into Buildroot. It also shows how existing packages are integrated, which is needed for fixing issues or tuning their configuration. -When you add a new package, be sure to test it in various conditions; -see Section 17.22.2, “How to test your package†+When you add a new package, be sure to test it in various conditions +(see Section 17.23.3, “How to test your packageâ€) and also check it +for coding style (see Section 17.23.2, “How to check the coding +styleâ€). 17.1. Package directory @@ -3438,9 +3504,11 @@ is as follows: 1. The type of option: bool, string… with the prompt 2. If needed, the default value(s) - 3. Any dependency of the depends on form - 4. Any dependency of the select form - 5. The help keyword and help text. + 3. Any dependencies on the target in depends on form + 4. Any dependencies on the toolchain in depends on form + 5. Any dependencies on other packages in depends on form + 6. Any dependency of the select form + 7. The help keyword and help text. You can add other sub-options into a if BR2_PACKAGE_LIBFOO…endif statement to configure particular things in your software. You can @@ -3664,14 +3732,13 @@ the text to use in the comment. + Dependency symbol: BR2_TOOLCHAIN_HEADERS_AT_LEAST_X_Y, (replace X_Y with the proper version, see toolchain/ - toolchain-common.in) + Config.in) + Comment string: headers >= X.Y and/or headers <= X.Y (replace X.Y with the proper version) * GCC version + Dependency symbol: BR2_TOOLCHAIN_GCC_AT_LEAST_X_Y, (replace - X_Y with the proper version, see toolchain/ - toolchain-common.in) + X_Y with the proper version, see toolchain/Config.in) + Comment string: gcc >= X.Y and/or gcc <= X.Y (replace X.Y with the proper version) * Host GCC version @@ -3809,6 +3876,13 @@ contains the hashes of the downloaded files for the libfoo package. The only reason for not adding a .hash file is when hash checking is not possible due to how the package is downloaded. +When a package has a version selection choice, then the hash file may +be stored in a subdirectory named after the version, e.g. package/ +libfoo/1.2.3/libfoo.hash. This is especially important if the +different versions have different licensing terms, but they are +stored in the same file. Otherwise, the hash file should stay in the +package’s directory. + The hashes stored in that file are used to validate the integrity of the downloaded files and of the license files. @@ -4078,6 +4152,8 @@ packages, if they depend on libfoo or host-libfoo. The call to the generic-package and/or host-generic-package macro must be at the end of the .mk file, after all variable definitions. +The call to host-generic-package must be after the call to +generic-package, if any. For the target package, the generic-package uses the variables defined by the .mk file and prefixed by the uppercased package name: @@ -4144,7 +4220,7 @@ information is (assuming the package name is libfoo) : Mercurial, and Bazaar are supported URL types for retrieving packages directly from source code management systems. There is a helper function to make it easier to download source tarballs - from GitHub (refer to Section 17.22.3, “How to add a package from + from GitHub (refer to Section 17.23.4, “How to add a package from GitHub†for details). A filesystem path may be used to specify either a tarball or a directory containing the package source code. See LIBFOO_SITE_METHOD below for more details on how @@ -4169,7 +4245,7 @@ information is (assuming the package name is libfoo) : file to be downloaded is located at LIBFOO_SITE. Buildroot will not do anything with those additional files, except download them: it will be up to the package recipe to use them from $ - (DL_DIR). + (LIBFOO_DL_DIR). * LIBFOO_SITE_METHOD determines the method used to fetch or copy the package source code. In many cases, Buildroot guesses the method from the contents of LIBFOO_SITE and setting @@ -4221,7 +4297,7 @@ information is (assuming the package name is libfoo) : source directory into the package’s build directory. Note that for local packages, no patches are applied. If you need to still patch the source code, use LIBFOO_POST_RSYNC_HOOKS, - see Section 17.20.1, “Using the POST_RSYNC hookâ€. + see Section 17.21.1, “Using the POST_RSYNC hookâ€. * LIBFOO_GIT_SUBMODULES can be set to YES to create an archive with the git submodules in the repository. This is only available for packages downloaded with git (i.e. when LIBFOO_SITE_METHOD=git). @@ -4245,6 +4321,13 @@ information is (assuming the package name is libfoo) : installed before the configuration of the current package starts. In a similar way, HOST_LIBFOO_DEPENDENCIES lists the dependencies for the current host package. + * LIBFOO_EXTRACT_DEPENDENCIES lists the dependencies (in terms of + package name) that are required for the current target package to + be extracted. These dependencies are guaranteed to be compiled + and installed before the extract step of the current package + starts. This is only used internally by the package + infrastructure, and should typically not be used directly by + packages. * LIBFOO_PATCH_DEPENDENCIES lists the dependencies (in terms of package name) that are required for the current package to be patched. These dependencies are guaranteed to be extracted and @@ -4427,15 +4510,15 @@ In the action definitions, you can use the following variables: runtime configuration file, a splashscreen image… * $(@D), which contains the directory in which the package source code has been uncompressed. - * $(DL_DIR) contains the path to the directory where all the - downloads made by Buildroot are stored. + * $(LIBFOO_DL_DIR) contains the path to the directory where all the + downloads made by Buildroot for libfoo are stored in. * $(TARGET_CC), $(TARGET_LD), etc. to get the target cross-compilation utilities * $(TARGET_CROSS) to get the cross-compilation toolchain prefix * Of course the $(HOST_DIR), $(STAGING_DIR) and $(TARGET_DIR) variables to install the packages properly. -Finally, you can also use hooks. See Section 17.20, “Hooks available +Finally, you can also use hooks. See Section 17.21, “Hooks available in the various build steps†for more information. 17.6. Infrastructure for autotools-based packages @@ -4580,7 +4663,7 @@ well for most autotools-based packages. However, when required, it is still possible to customize what is done in any particular step: * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the + build or install). See Section 17.21, “Hooks available in the various build steps†for details. * By overriding one of the steps. For example, even if the autotools infrastructure is used, if the package .mk file defines @@ -4719,7 +4802,7 @@ well for most CMake-based packages. However, when required, it is still possible to customize what is done in any particular step: * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the + build or install). See Section 17.21, “Hooks available in the various build steps†for details. * By overriding one of the steps. For example, even if the CMake infrastructure is used, if the package .mk file defines its own @@ -4833,6 +4916,11 @@ can optionally be defined, depending on the package’s needs. Many of them are only useful in very specific cases, typical packages will therefore only use a few of them, or none. + * PYTHON_FOO_SUBDIR may contain the name of a subdirectory inside + the package that contains the main setup.py file. This is useful, + if for example, the main setup.py file is not at the root of the + tree extracted by the tarball. If HOST_PYTHON_FOO_SUBDIR is not + specified, it defaults to PYTHON_FOO_SUBDIR. * PYTHON_FOO_ENV, to specify additional environment variables to pass to the Python setup.py script (for both the build and install steps). Note that the infrastructure is automatically @@ -4872,7 +4960,7 @@ well for most Python-based packages. However, when required, it is still possible to customize what is done in any particular step: * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the + build or install). See Section 17.21, “Hooks available in the various build steps†for details. * By overriding one of the steps. For example, even if the Python infrastructure is used, if the package .mk file defines its own @@ -5002,6 +5090,16 @@ Finally, on line 16, we invoke the luarocks-package macro that generates all the Makefile rules that actually allows the package to be built. +Most of these details can be retrieved from the rock and rockspec. +So, this file and the Config.in file can be generated by running the +command luarocks buildroot foo lua-foo in the Buildroot directory. +This command runs a specific Buildroot addon of luarocks that will +automatically generate a Buildroot package. The result must still be +manually inspected and possibly modified. + + * The package/Config.in file has to be updated manually to include + the generated Config.in files. + 17.9.2. luarocks-package reference LuaRocks is a deployment and management system for Lua modules, and @@ -5066,8 +5164,9 @@ with an example : 10: PERL_FOO_BAR_DEPENDENCIES = perl-strictures 11: PERL_FOO_BAR_LICENSE = Artistic or GPL-1.0+ 12: PERL_FOO_BAR_LICENSE_FILES = LICENSE -13: -14: $(eval $(perl-package)) +13: PERL_FOO_BAR_DISTNAME = Foo-Bar +14: +15: $(eval $(perl-package)) On line 7, we declare the version of the package. @@ -5082,7 +5181,10 @@ On line 11 and 12, we give licensing details about the package (its license on line 11, and the file containing the license text on line 12). -Finally, on line 14, we invoke the perl-package macro that generates +On line 13, the name of the distribution as needed by the script +utils/scancpan (in order to regenerate/upgrade these package files). + +Finally, on line 15, we invoke the perl-package macro that generates all the Makefile rules that actually allow the package to be built. Most of these data can be retrieved from https://metacpan.org/. So, @@ -5366,6 +5468,9 @@ consideration: be well suited for all packages that use the standard kconfig infrastructure as inherited from the Linux kernel; some packages use a derivative of kconfig that use a different location. + * FOO_KCONFIG_DEPENDENCIES: the list of packages (most probably, + host packages) that need to be built before this package’s + kconfig is interpreted. Seldom used. By default, empty. 17.13. Infrastructure for rebar-based packages @@ -5440,6 +5545,11 @@ typical packages will therefore only use a few of them. * ERLANG_FOOBAR_REBAR_ENV, to specify additional environment variables to pass to the rebar utility. + * ERLANG_FOOBAR_KEEP_DEPENDENCIES, to keep the dependencies + described in the rebar.config file. Valid values are YES or NO + (the default). Unless this variable is set to YES, the rebar + infrastructure removes such dependencies in a post-patch hook to + ensure rebar does not download nor compile them. With the rebar infrastructure, all the steps required to build and install the packages are already defined, and they generally work @@ -5447,7 +5557,7 @@ well for most rebar-based packages. However, when required, it is still possible to customize what is done in any particular step: * By adding a post-operation hook (after extract, patch, configure, - build or install). See Section 17.20, “Hooks available in the + build or install). See Section 17.21, “Hooks available in the various build steps†for details. * By overriding one of the steps. For example, even if the rebar infrastructure is used, if the package .mk file defines its own @@ -5508,10 +5618,15 @@ LIBFOO_INSTALL_TARGET. An additional variable, specific to the Waf infrastructure, can also be defined. + * LIBFOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main wscript file. This is useful, if + for example, the main wscript file is not at the root of the tree + extracted by the tarball. If HOST_LIBFOO_SUBDIR is not specified, + it defaults to LIBFOO_SUBDIR. * LIBFOO_NEEDS_EXTERNAL_WAF can be set to YES or NO to tell Buildroot to use the bundled waf executable. If set to NO, the default, then Buildroot will use the waf executable provided in - the package source tree; if set to YES, then Buidlroot will + the package source tree; if set to YES, then Buildroot will download, install waf as a host tool and use it to build the package. * LIBFOO_WAF_OPTS, to specify additional options to pass to the waf @@ -5528,17 +5643,17 @@ be defined. to the waf script during the target installation step. By default, empty. -17.15. Integration of Meson-based packages +17.15. Infrastructure for Meson-based packages 17.15.1. meson-package tutorial Meson [http://mesonbuild.com] is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly -as possible. +as possible. It uses Ninja [https://ninja-build.org] as a companion +tool to perform the actual build operations. -Buildroot does not (yet) provide a dedicated package infrastructure -for meson-based packages. So, we will explain how to write a .mk file -for such a package. Let’s start with an example: +Let’s see how to write a .mk file for a Meson-based package, with an +example: 01: ################################################################################ 02: # @@ -5553,75 +5668,79 @@ for such a package. Let’s start with an example: 11: FOO_LICENSE_FILES = COPYING 12: FOO_INSTALL_STAGING = YES 13: -14: FOO_DEPENDENCIES = host-meson host-pkgconf bar +14: FOO_DEPENDENCIES = host-pkgconf bar 15: -16: FOO_CONF_OPTS += \ -17: --prefix=/usr \ -18: --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ -19: --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf -20: -21: FOO_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) +16: ifeq ($(BR2_PACKAGE_BAZ),y) +17: FOO_CONF_OPTS += -Dbaz=true +18: FOO_DEPENDENCIES += baz +19: else +20: FOO_CONF_OPTS += -Dbaz=false +21: endif 22: -23: ifeq ($(BR2_PACKAGE_BAZ),y) -24: FOO_CONF_OPTS += -Dbaz -25: endif -26: -27: define FOO_CONFIGURE_CMDS -28: rm -rf $(@D)/build -29: mkdir -p $(@D)/build -30: $(TARGET_MAKE_ENV) meson $(FOO_CONF_OPTS) $(@D) $(@D)/build -31: endef -32: -33: define FOO_BUILD_CMDS -34: $(TARGET_MAKE_ENV) ninja $(FOO_NINJA_OPTS) -C $(@D)/build -35: endef -36: -37: define FOO_INSTALL_TARGET_CMDS -38: $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja $(FOO_NINJA_OPTS) \ -39: -C $(@D)/build install -40: endef -41: -42: define FOO_INSTALL_STAGING_CMDS -43: $(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) ninja $(FOO_NINJA_OPTS) \ -44: -C $(@D)/build install -45: endef -46: -47: $(eval $(generic-package)) +23: $(eval $(meson-package)) The Makefile starts with the definition of the standard variables for package declaration (lines 7 to 11). -As seen in line 47, it is based on the generic-package infrastructure -Section 17.5.1, “generic-package tutorialâ€. So, it defines the -variables required by this particular infrastructure, where Meson and -its companion tool, Ninja, are invoked: +On line line 23, we invoke the meson-package macro that generates all +the Makefile rules that actually allows the package to be built. - * FOO_CONFIGURE_CMDS: the build directory required by Meson is - created, and Meson is invoked to generate the Ninja build file. - The options required to configure the cross-compilation of the - package are passed via FOO_CONF_OPTS. - * FOO_BUILD_CMDS: Ninja is invoked to perform the build. - * FOO_INSTALL_TARGET_CMDS: Ninja is invoked to install the files - generated during the build step in the target directory. - * FOO_INSTALL_STAGING_CMDS: Ninja is invoked to install the files - generated during the build step in the staging directory, as - FOO_INSTALL_STAGING is set to "YES". - -In order to have Meson available for the build, FOO_DEPENDENCIES -needs to contain host-meson. In the example, host-pkgconf and bar are -also declared as dependencies because the Meson build file of foo -uses pkg-config to determine the compilation flags and libraries of +In the example, host-pkgconf and bar are declared as dependencies in +FOO_DEPENDENCIES at line 14 because the Meson build file of foo uses +pkg-config to determine the compilation flags and libraries of package bar. +Note that it is not necessary to add host-meson in the +FOO_DEPENDENCIES variable of a package, since this basic dependency +is automatically added as needed by the Meson package infrastructure. + If the "baz" package is selected, then support for the "baz" feature -in "foo" is activated by adding -Dbaz to FOO_CONF_OPTS, as specified -in the meson_options.txt file in "foo" source tree. +in "foo" is activated by adding -Dbaz=true to FOO_CONF_OPTS at line +17, as specified in the meson_options.txt file in "foo" source tree. +The "baz" package is also added to FOO_DEPENDENCIES. Note that the +support for baz is explicitly disabled at line 20, if the package is +not selected. To sum it up, to add a new meson-based package, the Makefile example can be copied verbatim then edited to replace all occurences of FOO with the uppercase name of the new package and update the values of the standard variables. +17.15.2. meson-package reference + +The main macro of the Meson package infrastructure is meson-package. +It is similar to the generic-package macro. The ability to have +target and host packages is also available, with the +host-meson-package macro. + +Just like the generic infrastructure, the Meson infrastructure works +by defining a number of variables before calling the meson-package +macro. + +First, all the package metadata information variables that exist in +the generic infrastructure also exist in the Meson infrastructure: +FOO_VERSION, FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, +FOO_DEPENDENCIES, FOO_INSTALL_STAGING, FOO_INSTALL_TARGET. + +A few additional variables, specific to the Meson infrastructure, can +also be defined. Many of them are only useful in very specific cases, +typical packages will therefore only use a few of them. + + * FOO_SUBDIR may contain the name of a subdirectory inside the + package that contains the main meson.build file. This is useful, + if for example, the main meson.build file is not at the root of + the tree extracted by the tarball. If HOST_FOO_SUBDIR is not + specified, it defaults to FOO_SUBDIR. + * FOO_CONF_ENV, to specify additional environment variables to pass + to meson for the configuration step. By default, empty. + * FOO_CONF_OPTS, to specify additional options to pass to meson for + the configuration step. By default, empty. + * FOO_NINJA_ENV, to specify additional environment variables to + pass to ninja, meson companion tool in charge of the build + operations. By default, empty. + * FOO_NINJA_OPTS, to specify a space-separated list of targets to + build. By default, empty, to build the default target(s). + 17.16. Integration of Cargo-based packages Cargo is the package manager for the Rust programming language. It @@ -5723,7 +5842,113 @@ an offline build, as Cargo will fail to fetch the dependencies. In that case, it is advised to generate a tarball of the dependencies using the cargo vendor and add it to FOO_EXTRA_DOWNLOADS. -17.17. Infrastructure for packages building kernel modules +17.17. Infrastructure for Go packages + +This infrastructure applies to Go packages that use the standard +build system and use bundled dependencies. + +17.17.1. golang-package tutorial + +First, let’s see how to write a .mk file for a go package, with an +example : + +01: ################################################################################ +02: # +03: # foo +04: # +05: ################################################################################ +06: +07: FOO_VERSION = 1.0 +08: FOO_SITE = $(call github,bar,foo,$(FOO_VERSION)) +09: FOO_LICENSE = BSD-3-Clause +10: FOO_LICENSE_FILES = LICENSE +11: +12: $(eval $(golang-package)) + +On line 7, we declare the version of the package. + +On line 8, we declare the upstream location of the package, here +fetched from Github, since a large number of Go packages are hosted +on Github. + +On line 9 and 10, we give licensing details about the package. + +Finally, on line 12, we invoke the golang-package macro that +generates all the Makefile rules that actually allow the package to +be built. + +17.17.2. golang-package reference + +In their Config.in file, packages using the golang-package +infrastructure should depend on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS and +BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS because Buildroot will +automatically add a dependency on host-go to such packages. + +The main macro of the Go package infrastructure is golang-package. It +is similar to the generic-package macro. Only target packages are +supported with golang-package. + +Just like the generic infrastructure, the Go infrastructure works by +defining a number of variables before calling the golang-package. + +All the package metadata information variables that exist in the +generic package infrastructure Section 17.5.2, “generic-package +reference†also exist in the Go infrastructure: FOO_VERSION, +FOO_SOURCE, FOO_PATCH, FOO_SITE, FOO_SUBDIR, FOO_DEPENDENCIES, +FOO_LICENSE, FOO_LICENSE_FILES, FOO_INSTALL_STAGING, etc. + +Note that it is not necessary to add host-go in the FOO_DEPENDENCIES +variable of a package, since this basic dependency is automatically +added as needed by the Go package infrastructure. + +A few additional variables, specific to the Go infrastructure, can +optionally be defined, depending on the package’s needs. Many of them +are only useful in very specific cases, typical packages will +therefore only use a few of them, or none. + + * If your package need a custom GOPATH to be compiled in, you can + use the FOO_WORKSPACE variable. The GOPATH being used will be + /. If FOO_WORKSPACE is not + specified, it defaults to _gopath. + * FOO_SRC_SUBDIR is the sub-directory where your source will be + compiled relatively to the GOPATH. An example value is github.com + /bar/foo. If FOO_SRC_SUBDIR is not specified, it defaults to a + value infered from the FOO_SITE variable. + * FOO_LDFLAGS and FOO_TAGS can be used to pass respectively the + LDFLAGS or the TAGS to the go build command. + * FOO_BUILD_TARGETS can be used to pass the list of targets that + should be built. If FOO_BUILD_TARGETS is not specified, it + defaults to .. We then have two cases: + + + FOO_BUILD_TARGETS is .. In this case, we assume only one + binary will be produced, and that by default we name it after + the package name. If that is not appropriate, the name of the + produced binary can be overridden using FOO_BIN_NAME. + + FOO_BUILD_TARGETS is not .. In this case, we iterate over the + values to build each target, and for each produced a binary + that is the non-directory component of the target. For + example if FOO_BUILD_TARGETS = cmd/docker cmd/dockerd the + binaries produced are docker and dockerd. + * FOO_INSTALL_BINS can be used to pass the list of binaries that + should be installed in /usr/bin on the target. If + FOO_INSTALL_BINS is not specified, it defaults to the lower-case + name of package. + +With the Go infrastructure, all the steps required to build and +install the packages are already defined, and they generally work +well for most Go-based packages. However, when required, it is still +possible to customize what is done in any particular step: + + * By adding a post-operation hook (after extract, patch, configure, + build or install). See Section 17.21, “Hooks available in the + various build steps†for details. + * By overriding one of the steps. For example, even if the Go + infrastructure is used, if the package .mk file defines its own + FOO_BUILD_CMDS variable, it will be used instead of the default + Go one. However, using this method should be restricted to very + specific cases. Do not use it in the general case. + +17.18. Infrastructure for packages building kernel modules Buildroot offers a helper infrastructure to make it easy to write packages that build and install Linux kernel modules. Some packages @@ -5731,7 +5956,7 @@ only contain a kernel module, other packages contain programs and libraries in addition to kernel modules. Buildroot’s helper infrastructure supports either case. -17.17.1. kernel-module tutorial +17.18.1. kernel-module tutorial Let’s start with an example on how to prepare a simple package that only builds a kernel module, and no other component: @@ -5807,7 +6032,7 @@ libbar is enabled, the kernel module located in sub-directory driver/ bar, and defines the variable KVERSION to be passed to the Linux buildsystem when building the module(s). -17.17.2. kernel-module reference +17.18.2. kernel-module reference The main macro for the kernel module infrastructure is kernel-module. Unlike other package infrastructures, it is not stand-alone, and @@ -5855,7 +6080,7 @@ You may also reference (but you may not set!) those variables: * KERNEL_ARCH contains the name of the current architecture, like arm, mips… -17.18. Infrastructure for asciidoc documents +17.19. Infrastructure for asciidoc documents The Buildroot manual, which you are currently reading, is entirely written using the AsciiDoc [http://asciidoc.org/] mark-up syntax. The @@ -5877,7 +6102,7 @@ Buildrootâ€. This allows documentation for a br2-external tree to match the Buildroot documentation, as it will be rendered to the same formats and use the same layout and theme. -17.18.1. asciidoc-document tutorial +17.19.1. asciidoc-document tutorial Whereas package infrastructures are suffixed with -package, the document infrastructures are suffixed with -document. So, the @@ -5904,7 +6129,7 @@ structure. On line 8, we call the asciidoc-document function, which generates all the Makefile code necessary to render the document. -17.18.2. asciidoc-document reference +17.19.2. asciidoc-document reference The list of variables that can be set in a .mk file to give metadata information is (assuming the document name is foo) : @@ -5919,7 +6144,7 @@ information is (assuming the document name is foo) : If a hook of your document needs to access the Kconfig structure, you may add prepare-kconfig to the list of dependencies. -There are also additional hooks (see Section 17.20, “Hooks available +There are also additional hooks (see Section 17.21, “Hooks available in the various build steps†for general information on hooks), that a document may set to define extra actions to be done at various steps: @@ -5972,13 +6197,13 @@ Here is a complete example that uses all variables and all hooks: 30: 31: $(eval $(call asciidoc-document)) -17.19. Infrastructure specific to the Linux kernel package +17.20. Infrastructure specific to the Linux kernel package The Linux kernel package can use some specific infrastructures based on package hooks for building Linux kernel tools or/and building Linux kernel extensions. -17.19.1. linux-kernel-tools +17.20.1. linux-kernel-tools Buildroot offers a helper infrastructure to build some userspace tools for the target available within the Linux kernel sources. Since @@ -6055,7 +6280,7 @@ Note. One must not call $(eval $(generic-package)) or any other package infrastructure! Linux tools are not packages by themselves, they are part of the linux-tools package. -17.19.2. linux-kernel-extensions +17.20.2. linux-kernel-extensions Some packages provide new features that require the Linux kernel tree to be modified. This can be in the form of patches to be applied on @@ -6110,10 +6335,10 @@ modify the Linux kernel tree; this is specific to the linux extension and can use the variables defined by the foo package, like: $ (FOO_DIR) or $(FOO_VERSION)… as well as all the Linux variables, like: $(LINUX_VERSION) or $(LINUX_VERSION_PROBED), $(KERNEL_ARCH)… -See the definition of those kernel variables Section 17.17.2, +See the definition of those kernel variables Section 17.18.2, “kernel-module referenceâ€. -17.20. Hooks available in the various build steps +17.21. Hooks available in the various build steps The generic infrastructure (and as a result also the derived autotools and cmake infrastructures) allow packages to specify hooks. @@ -6158,7 +6383,7 @@ endef LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP -17.20.1. Using the POST_RSYNC hook +17.21.1. Using the POST_RSYNC hook The POST_RSYNC hook is run only for packages that use a local source, either through the local site method or the OVERRIDE_SRCDIR @@ -6178,14 +6403,14 @@ among others, use the following variables: * $(SRCDIR): the path to the overridden source directory * $(@D): the path to the build directory -17.20.2. Target-finalize hook +17.21.2. Target-finalize hook Packages may also register hooks in LIBFOO_TARGET_FINALIZE_HOOKS. These hooks are run after all packages are built, but before the filesystem images are generated. They are seldom used, and your package probably do not need them. -17.21. Gettext integration and interaction with packages +17.22. Gettext integration and interaction with packages Many packages that support internationalization use the gettext library. Dependencies for this library are fairly complicated and @@ -6242,9 +6467,9 @@ package should: * not add any gettext dependency in the DEPENDENCIES variable of their .mk file. -17.22. Tips and tricks +17.23. Tips and tricks -17.22.1. Package name, config entry name and makefile variable +17.23.1. Package name, config entry name and makefile variable relationship In Buildroot, there is some relationship between: @@ -6268,7 +6493,33 @@ the following rules: . and - characters substituted with _ (e.g.: FOO_BAR_BOO_VERSION). -17.22.2. How to test your package +17.23.2. How to check the coding style + +Buildroot provides a script in utils/check-package that checks new or +changed files for coding style. It is not a complete language +validator, but it catches many common mistakes. It is meant to run in +the actual files you created or modified, before creating the patch +for submission. + +This script can be used for packages, filesystem makefiles, Config.in +files, etc. It does not check the files defining the package +infrastructures and some other files containing similar common code. + +To use it, run the check-package script, by telling which files you +created or changed: + +$ ./utils/check-package package/new-package/* + +If you have the utils directory in your path you can also run: + +$ cd package/new-package/ +$ check-package * + +The tool can also be used for packages in a br2-external: + +$ check-package -b /path/to/br2-ext-tree/package/my-package/* + +17.23.3. How to test your package Once you have added your new package, it is important that you test it under various conditions: does it build for all architectures? @@ -6306,10 +6557,15 @@ use and what package to test: $ ./utils/test-pkg -c libcurl.config -p libcurl -This will try to build your package against all the toolchains used -by the autobuilders (except for the internal toolchains, because it -takes too long to do so). The output lists all toolchains and the -corresponding result (excerpt, results are fake): +By default, test-pkg will build your package against a subset of the +toolchains used by the autobuilders, which has been selected by the +Buildroot developers as being the most useful and representative +subset. If you want to test all toolchains, pass the -a option. Note +that in any case, internal toolchains are excluded as they take too +long to build. + +The output lists all toolchains that are tested and the corresponding +result (excerpt, results are fake): $ ./utils/test-pkg -c libcurl.config -p libcurl armv5-ctng-linux-gnueabi [ 1/11]: OK @@ -6354,7 +6610,7 @@ help by running: $ ./utils/test-pkg -h -17.22.3. How to add a package from GitHub +17.23.4. How to add a package from GitHub Packages on GitHub often don’t have a download area with release tarballs. However, it is possible to download tarballs directly from @@ -6394,7 +6650,7 @@ tag: then it’s an automatically generated tarball and you should use the github helper function. -17.23. Conclusion +17.24. Conclusion As you can see, adding a software package to Buildroot is simply a matter of writing a Makefile using an existing example and modifying @@ -6789,14 +7045,26 @@ use git bisect to locate the origin of a problem. First of all, it is essential that the patch has a good commit message. The commit message should start with a separate line with a -brief summary of the change, starting with the name of the affected -package. The body of the commit message should describe why this +brief summary of the change, prefixed by the area touched by the +patch. A few examples of good commit titles: + + * package/linuxptp: bump version to 2.0 + * configs/imx23evk: bump Linux version to 4.19 + * package/pkg-generic: postpone evaluation of dependency conditions + * boot/uboot: needs host-{flex,bison} + * support/testing: add python-ubjson tests + +The description that follows the prefix should start with a lower +case letter (i.e "bump", "needs", "postpone", "add" in the above +examples). + +Second, the body of the commit message should describe why this change is needed, and if necessary also give details about how it was done. When writing the commit message, think of how the reviewers will read it, but also think about how you will read it when you look at this change again a few years down the line. -Second, the patch itself should do only one change, but do it +Third, the patch itself should do only one change, but do it completely. Two unrelated or weakly related changes should usually be done in two separate patches. This usually means that a patch affects only a single package. If several changes are related, it is often @@ -6859,6 +7127,11 @@ yourself to the DEVELOPERS file. This should be done in the same patch creating or modifying the package. See the DEVELOPERS file Chapter 22, DEVELOPERS file and get-developers for more information. +Buildroot provides a handy tool to check for common coding style +mistakes on files you created or modified, called check-package (see +Section 17.23.2, “How to check the coding style†for more +information). + 21.5.2. Preparing a patch series Starting from the changes committed in your local git view, rebase @@ -6891,6 +7164,22 @@ Use the output of get-developers to send your patches: $ git send-email --to buildroot@buildroot.org --cc bob --cc alice outgoing/* +Alternatively, get-developers -e can be used directly with the +--cc-cmd argument to git send-email to automatically CC the affected +developers: + +$ git send-email --to buildroot@buildroot.org \ + --cc-cmd './utils/get-developers -e' origin/master + +git can be configured to automatically do this out of the box with: + +$ git config sendemail.to buildroot@buildroot.org +$ git config sendemail.ccCmd "$(pwd)/utils/get-developers -e" + +And then just do: + +$ git send-email origin/master + Note that git should be configured to use your mail account. To configure git, see man git-send-email or google it. @@ -7033,7 +7322,7 @@ Chapter 22. DEVELOPERS file and get-developers The main Buildroot directory contains a file named DEVELOPERS that lists the developers involved with various areas of Buildroot. Thanks -to this file, the get-developer tool allows to: +to this file, the get-developers tool allows to: * Calculate the list of developers to whom patches should be sent, by parsing the patches and matching the modified files with the @@ -7053,21 +7342,23 @@ DEVELOPERS file. The DEVELOPERS file format is documented in detail inside the file itself. -The get-developer tool, located in utils/ allows to use the +The get-developers tool, located in utils/ allows to use the DEVELOPERS file for various tasks: * When passing one or several patches as command line argument, - get-developer will return the appropriate git send-email command. - * When using the -a command line option, get-developer will + get-developers will return the appropriate git send-email + command. If the -e option is passed, only the email addresses are + printed in a format suitable for git send-email --cc-cmd. + * When using the -a command line option, get-developers will return the list of developers in charge of the given architecture. - * When using the -p command line option, get-developer + * When using the -p command line option, get-developers will return the list of developers in charge of the given package. - * When using the -c command line option, get-developer will look at - all files under version control in the Buildroot repository, and - list the ones that are not handled by any developer. The purpose - of this option is to help completing the DEVELOPERS file. + * When using the -c command line option, get-developers will look + at all files under version control in the Buildroot repository, + and list the ones that are not handled by any developer. The + purpose of this option is to help completing the DEVELOPERS file. * When using without any arguments, it validates the integrity of the DEVELOPERS file and will note WARNINGS for items that don’t match. diff --git a/bsp/buildroot/docs/manual/manual.txt b/bsp/buildroot/docs/manual/manual.txt index 9d507604..4eb4ba9b 100644 --- a/bsp/buildroot/docs/manual/manual.txt +++ b/bsp/buildroot/docs/manual/manual.txt @@ -12,7 +12,7 @@ It is licensed under the GNU General Public License, version 2. Refer to the http://git.buildroot.org/buildroot/tree/COPYING?id={sys:git rev-parse HEAD}[COPYING] file in the Buildroot sources for the full text of this license. -Copyright (C) 2004-2018 The Buildroot developers +Copyright (C) 2004-2019 The Buildroot developers image::logo.png[] diff --git a/bsp/buildroot/docs/manual/package-make-target.txt b/bsp/buildroot/docs/manual/package-make-target.txt index c91106e8..795c7d46 100644 --- a/bsp/buildroot/docs/manual/package-make-target.txt +++ b/bsp/buildroot/docs/manual/package-make-target.txt @@ -59,14 +59,28 @@ Additionally, there are some other useful make targets: |=================================================== | command/target | Description -| +show-depends+ | Displays the dependencies required to build the +| +show-depends+ | Displays the first-order dependencies required to build the package +| +show-recursive-depends+ | Recursively displays the dependencies + required to build the package + +| +show-rdepends+ | Displays the first-order reverse dependencies of + the package (i.e packages that directly depend on it) + +| +show-recursive-rdepends+ | Recursively displays the reverse + dependencies of the package (i.e the packages that depend on it, + directly or indirectly) + | +graph-depends+ | Generate a dependency graph of the package, in the context of the current Buildroot configuration. See xref:graph-depends[this section] for more details about dependency graphs. +| +graph-rdepends+ | Generate a graph of this package reverse + dependencies (i.e the packages that depend on it, directly or + indirectly) + | +dirclean+ | Remove the whole package build directory | +reinstall+ | Re-run the install commands diff --git a/bsp/buildroot/docs/manual/prerequisite.txt b/bsp/buildroot/docs/manual/prerequisite.txt index 66e1b88f..dcd3fd25 100644 --- a/bsp/buildroot/docs/manual/prerequisite.txt +++ b/bsp/buildroot/docs/manual/prerequisite.txt @@ -32,7 +32,7 @@ between distributions). ** +perl+ (version 5.8.7 or any later) ** +tar+ ** +cpio+ -** +python+ (version 2.6 or any later) +** +python+ (version 2.7 or any later) ** +unzip+ ** +rsync+ ** +file+ (must be in +/usr/bin/file+) diff --git a/bsp/buildroot/docs/manual/using-buildroot-development.txt b/bsp/buildroot/docs/manual/using-buildroot-development.txt index 1071de51..3389a37b 100644 --- a/bsp/buildroot/docs/manual/using-buildroot-development.txt +++ b/bsp/buildroot/docs/manual/using-buildroot-development.txt @@ -81,3 +81,19 @@ make busybox-rebuild all the root filesystem image in +output/images+ contains the updated BusyBox. + +Source trees for big projects often contain hundreds or thousands of +files which are not needed for building, but will slow down the process +of copying the sources with _rsync_. Optionally, it is possible define ++_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS+ to skip syncing certain files +from the source tree. For example, when working on the +webkitgtk+ +package, the following will exclude the tests and in-tree builds from +a local WebKit source tree: + +------------------ +WEBKITGTK_OVERRIDE_SRCDIR = /home/bob/WebKit +WEBKITGTK_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS = \ + --exclude JSTests --exclude ManualTests --exclude PerformanceTests \ + --exclude WebDriverTests --exclude WebKitBuild --exclude WebKitLibraries \ + --exclude WebKit.xcworkspace --exclude Websites --exclude Examples +------------------ diff --git a/bsp/buildroot/docs/manual/using-buildroot-toolchain.txt b/bsp/buildroot/docs/manual/using-buildroot-toolchain.txt index 3246dc24..0c0c35fc 100644 --- a/bsp/buildroot/docs/manual/using-buildroot-toolchain.txt +++ b/bsp/buildroot/docs/manual/using-buildroot-toolchain.txt @@ -12,15 +12,23 @@ The toolchain generated by Buildroot is located by default in +output/host/bin/+ to your PATH environment variable and then to use +ARCH-linux-gcc+, +ARCH-linux-objdump+, +ARCH-linux-ld+, etc. -It is possible to relocate the toolchain, this allows to distribute -the toolchain to other developers to build applications for your -target. To achieve this: +Alternatively, Buildroot can also export the toolchain and the development +files of all selected packages, as an SDK, by running the command ++make sdk+. This generates a tarball of the content of the host directory ++output/host/+, named +_sdk-buildroot.tar.gz+ (which can be +overriden by setting the environment variable +BR2_SDK_PREFIX+) and +located in the output directory +output/images/+. -* run +make sdk+, which prepares the toolchain to be relocatable; -* tarball the contents of the +output/host+ directory; -* distribute the resulting tarball. +This tarball can then be distributed to application developers, when +they want to develop their applications that are not (yet) packaged as +a Buildroot package. -Once the toolchain is installed to the new location, the user must run -the +relocate-sdk.sh+ script to make sure all paths are updated with -the new location. +Upon extracting the SDK tarball, the user must run the script ++relocate-sdk.sh+ (located at the top directory of the SDK), to make +sure all paths are updated with the new location. +Alternatively, if you just want to prepare the SDK without generating +the tarball (e.g. because you will just be moving the +host+ directory, +or will be generating the tarball on your own), Buildroot also allows +you to just prepare the SDK with +make prepare-sdk+ without actually +generating a tarball. diff --git a/bsp/buildroot/docs/website/association.html b/bsp/buildroot/docs/website/association.html new file mode 100644 index 00000000..0215f858 --- /dev/null +++ b/bsp/buildroot/docs/website/association.html @@ -0,0 +1,122 @@ + + +

          + + diff --git a/bsp/buildroot/docs/website/contribute.html b/bsp/buildroot/docs/website/contribute.html index 721729be..aa1cf93f 100644 --- a/bsp/buildroot/docs/website/contribute.html +++ b/bsp/buildroot/docs/website/contribute.html @@ -18,7 +18,7 @@ autobuild failures
          +
          +
          + + +
          +
          Becoming a member
          +
          + +

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

          + +

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

          + +

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

          + +

          There are two possibilities to pay the membership + fee:

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

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

          + +

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

          + +

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

          + +
          +
          + +
          +
          +
        • x|JGqji-FOJ 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

        • Sponsors
        • +
        • + Association
        • Download
        • diff --git a/bsp/buildroot/docs/website/images/amarula-solutions-logo.png b/bsp/buildroot/docs/website/images/amarula-solutions-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe4aeef8162bd4c8233d89da93e4606c479a9b5 GIT binary patch literal 16768 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 literal 0 HcmV?d00001 diff --git a/bsp/buildroot/docs/website/images/bootlin-logo.png b/bsp/buildroot/docs/website/images/bootlin-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f918750ec4538baa801ef4e0a0cc6bc0abe534b GIT binary patch literal 6171 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

          AR^W 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 UXbAGL9RL6T07*qoM6N<$f_}VOMF0Q* literal 0 HcmV?d00001 diff --git a/bsp/buildroot/docs/website/images/owi-smile-logo.png b/bsp/buildroot/docs/website/images/owi-smile-logo.png deleted file mode 100644 index 9744ca153113043094c4f89b5fd526f6983eac91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25258 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 z 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 BA3*>B diff --git a/bsp/buildroot/docs/website/images/rockwell-collins-logo.png b/bsp/buildroot/docs/website/images/rockwell-collins-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5956a82a75a8d16de29983413313f3a30a5a231 GIT binary patch literal 6124 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 R7PRXjnrgc6@(0#o{|{tIyRQHM literal 0 HcmV?d00001 diff --git a/bsp/buildroot/docs/website/images/scaleway-logo.png b/bsp/buildroot/docs/website/images/scaleway-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..16859145480183b7b59ea61b2da40f66004de932 GIT binary patch literal 12331 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 XLMHAA0mVSZelQsc1@UT8qo4l=0b?Wu literal 0 HcmV?d00001 diff --git a/bsp/buildroot/docs/website/images/smile-logo.png b/bsp/buildroot/docs/website/images/smile-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7bcea3334c046debf0b1c09b50031f340cce0c7e GIT binary patch literal 60367 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 literal 0 HcmV?d00001 diff --git a/bsp/buildroot/docs/website/images/tkos-logo.png b/bsp/buildroot/docs/website/images/tkos-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe58826e10adad4fc3d3fd0cd31d004df0c684b GIT binary patch literal 10101 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 w nb_display) break; - var div = document.createElement("p"); - var link = document.createElement("a"); - var d = new Date(entry.published); - var data = '[' + d.toLocaleDateString() + '] ' + entry.title - var text = document.createTextNode(data); + let div = document.createElement("p"); + let link = document.createElement("a"); + let d = new Date(entry.published); + let data = '[' + d.toLocaleDateString() + '] ' + entry.title; + let text = document.createTextNode(data); link.appendChild(text); link.title = entry.title; - link.href = entry.link.href; + link.href = entry.link._href; div.appendChild(link); container.appendChild(div); } - var empty = nb_display - loaded; - for (var i = 0; i < empty; i++) { + let empty = nb_display - loaded; + for (let i = 0; i < empty; i++) { container.appendChild(document.createElement("p")); } }); } function google_analytics() { - var _gaq = _gaq || []; + let _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-21761074-1']); _gaq.push(['_setDomainName', 'none']); _gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']); - var ga = document.createElement('script'); + let ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; - ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; - var s = document.getElementsByTagName('script')[0]; + ga.src = ('https:' === document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + let s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); } @@ -55,11 +54,11 @@ function showTooltip(elem, msg) { elem.setAttribute('aria-label', msg); } -var clipboard = new Clipboard('.btn'); +let clipboard = new Clipboard('.btn'); $(function () { $('[data-toggle="tooltip"]').tooltip() -}) +}); clipboard.on('success', function(e) { e.clearSelection(); @@ -68,8 +67,8 @@ clipboard.on('success', function(e) { $(function() { $('a[href*=\\#]:not([href=\\#])').click(function() { - if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { - var target = $(this.hash); + if (location.pathname.replace(/^\//,'') === this.pathname.replace(/^\//,'') && location.hostname === this.hostname) { + let target = $(this.hash); target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); if (target.length) { $('html,body').animate({ @@ -82,9 +81,9 @@ $(function() { }); jQuery(document).ready(function($) { - var url = window.location.href; + let url = window.location.href; // Get the basename of the URL - url = url.split(/[\\/]/).pop() + url = url.split(/[\\/]/).pop(); $('.nav a[href="/' + url + '"]').parent().addClass('active'); load_activity("http://buildroot-busybox.2317881.n4.nabble.com/Buildroot-busybox-ft2.xml", "mailing-list-activity"); diff --git a/bsp/buildroot/docs/website/news.html b/bsp/buildroot/docs/website/news.html index f729a595..6fe12c70 100644 --- a/bsp/buildroot/docs/website/news.html +++ b/bsp/buildroot/docs/website/news.html @@ -9,6 +9,778 @@

          News

            +
          • +
            +
            +
            +

            2019.02 released

            +

            4 March 2019

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2019.02-rc3 released

            +

            1 March 2019

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11.3 released

            +

            23 February 2019

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.11 released

            +

            23 February 2019

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2019.02-rc2 released

            +

            23 February 2019

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2019.02-rc1 released

            +

            13 February 2019

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.10 released

            +

            31 January 2019

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11.2 released

            +

            30 January 2019

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.9 released

            +

            20 December 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08.4 released, 2018.08 series EOL

            +

            20 December 2018

            +
            +
            +

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

            +

            Notice that the 2018.08 series is now end of life, please + consider migrating to 2018.11 instead.

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11.1 released

            +

            19 December 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11 released

            +

            1 December 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11-rc3 released

            +

            30 November 2018

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.8 released

            +

            26 November 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08.3 released

            +

            26 November 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11-rc2 released

            +

            21 November 2018

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.11-rc1 released

            +

            9 November 2018

            +
            +
            +

            We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and/or read + the announcement. +

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.7 released

            +

            25 October 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08.2 released

            +

            25 October 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08.1 released

            +

            7 October 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.6 released

            +

            7 October 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05.3 released

            +

            6 October 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08 released

            +

            6 September 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08-rc3 released

            +

            31 August 2018

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.5 released

            +

            29 August 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05.2 released

            +

            28 August 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08-rc2 released

            +

            20 August 2018

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.08-rc1 released

            +

            5 August 2018

            +
            +
            +

            We have a new release candidate! Lots of changes all over the + tree, see the + CHANGES + file for details and/or read + the announcement. +

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.4 released

            +

            21 July 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05.1 released

            +

            20 July 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.3 released

            +

            18 June 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05 released

            +

            1 June 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05-rc3 released

            +

            28 May 2018

            +
            +
            +

            Release candidate 3 is out with more cleanups and security + / build fixes. See + the CHANGES + file for details.

            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05-rc2 released

            +

            22 May 2018

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.05-rc1 released

            +

            9 May 2018

            +
            +
            +

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

            + +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.2 released

            +

            4 May 2018

            +
            +
            +

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

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2017.02.11 released

            +

            11 April 2018

            +
            +
            +

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

            +

            Notice that the 2017.02 series is now end of life, so please consider + updating to 2018.02 instead.

            +
            +
            +
          • + +
          • +
            +
            +
            +

            2018.02.1 released

            +

            10 April 2018

            +
            +
            +

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

            +
            +
            +
          • +
          • @@ -20,7 +792,8 @@

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

            diff --git a/bsp/buildroot/docs/website/sponsors.html b/bsp/buildroot/docs/website/sponsors.html index 13ff6cc5..7370ecb0 100644 --- a/bsp/buildroot/docs/website/sponsors.html +++ b/bsp/buildroot/docs/website/sponsors.html @@ -5,46 +5,159 @@
            -
            Current sponsors
            +
            Sponsor of the Buildroot.org domain
            +
            +

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

            +
            +
            + + + +
            +
            +
            + +
            +
            Sponsors of the Buildroot Developers Meeting @ ELCE 2018
            +
            + +

            The Buildroot community would like to thank the following + companies for sponsoring + the Buildroot + Developers Meeting organized on October 20/21 before the + Embedded + Linux Conference Europe in Edinburgh.

            -
            -
            +
            +
            -
            - - + -
            - Google is - sponsoring - the Buildroot - Developers Meeting at FOSDEM 2018 in Brussels, by - providing logistics for the meeting: a free meeting - room and lunch for the participants. +
            + Mind sponsored the + event by contributing financially to the Buildroot + Association.
            +
            -
            -
            -
            -
            - - - -
            -
            - As it did in previous years, Mind - is sponsoring the Monday night dinner at the Buildroot - Developers Meeting at FOSDEM 2018 in Brussels. -
            +
            +
            +
            +
            +

            +

            +
            +
            + Amarula + Solutions sponsored the event by contributing + financially to the Buildroot Association.
            +
            + +
            +
            +
            +
            +

            +

            +
            +
            + Bootlin + sponsored the event by contributing financially to + the Buildroot Association. +
            +
            +
            +
            +
            + +
            + +
            +
            +
            +
            + + + +
            +
            + Logilin sponsored the + event by contributing financially to the Buildroot + Association. +
            +
            +
            +
            + +
            +
            +
            +
            + + + +
            +
            + Tk Open Systems + sponsored the event by contributing financially to + the Buildroot Association. +
            +
            +
            +
            + +
            +
            +
            +
            + + + +
            +
            + Rockwell + Collins sponsored the event by funding the social + Saturday dinner for the participants. +
            +
            +
            +
            + +
            + +
            + +
            + +
            +
            Sponsor of the Buildroot Hackathon, March 2018
            +
            +
            +

            The Buildroot community would like to + thank Scaleway, who + provided the complete logistics to organize our Buildroot + Hackathon in Paris in March 2018: meeting room, Internet + connectivity and accommodation.

            +
            +
            + + + +
            @@ -59,14 +172,16 @@
            - OpenWide/Smile sponsored + OpenWide/Smile sponsored the Buildroot Summer Camp that took place on July 1-5 2016 in Toulouse, France. OpenWide/Smile is sponsoring the participation of Romain Naour and paid the food expenses for the meeting participants. + In 2018, Smile sponsored of LLVM/Clang integration into Buildroot, see the final + report.
            @@ -82,7 +197,7 @@
            Mind sponsored the - dinner of the FOSDEM 2014, 2015, 2016 and 2017 + dinner of the FOSDEM 2014, 2015, 2016, 2017 and 2018 Developers Meeting (Brussels) and ELCE 2016 (Berlin) and 2017 (Prague), and the meeting room and the dinner for the ELCE 2014 Developers Meeting (Düsseldorf). @@ -101,8 +216,8 @@

            Google provided the logistics for the FOSDEM 2013, FOSDEM 2014, - FOSDEM 2015, FOSDEM 2016 and FOSDEM 2017 Developer Days - in Brussels, Belgium.

            + FOSDEM 2015, FOSDEM 2016, FOSDEM 2017 and FOSDEM + 2018 Developer Days in Brussels, Belgium.

            diff --git a/bsp/buildroot/docs/website/support.html b/bsp/buildroot/docs/website/support.html index 23a5db79..1a5ce9e2 100644 --- a/bsp/buildroot/docs/website/support.html +++ b/bsp/buildroot/docs/website/support.html @@ -24,6 +24,12 @@ use the Freenode web interface. When asking for help on IRC, share relevant logs or pieces of code using a code sharing website.

            + +

            Note that due to excessive spamming on Freenode, the channel can only be + joined if you are a registered user with + Freenode nickserv + service. Follow the instructions to register as a user with a password, + and then join the #buildroot channel.

            diff --git a/bsp/buildroot/fs/Config.in b/bsp/buildroot/fs/Config.in index c25b01c3..527051ef 100644 --- a/bsp/buildroot/fs/Config.in +++ b/bsp/buildroot/fs/Config.in @@ -1,10 +1,12 @@ menu "Filesystem images" source "fs/axfs/Config.in" +source "fs/btrfs/Config.in" source "fs/cloop/Config.in" source "fs/cpio/Config.in" source "fs/cramfs/Config.in" source "fs/ext2/Config.in" +source "fs/f2fs/Config.in" source "fs/initramfs/Config.in" source "fs/iso9660/Config.in" source "fs/jffs2/Config.in" diff --git a/bsp/buildroot/fs/btrfs/Config.in b/bsp/buildroot/fs/btrfs/Config.in new file mode 100644 index 00000000..85be68e7 --- /dev/null +++ b/bsp/buildroot/fs/btrfs/Config.in @@ -0,0 +1,50 @@ +config BR2_TARGET_ROOTFS_BTRFS + bool "btrfs root filesystem" + select BR2_PACKAGE_HOST_BTRFS_PROGS + help + Build a btrfs root filesystem. If you enable this option, you + probably want to enable the btrfs-progs package too. + +if BR2_TARGET_ROOTFS_BTRFS + +config BR2_TARGET_ROOTFS_BTRFS_LABEL + string "filesystem label" + +config BR2_TARGET_ROOTFS_BTRFS_SIZE + string "filesystem size" + default "100m" + help + The size of the filesystem image in bytes. + Suffix with k, m, g or t for power-of-two kilo-, mega-, giga- + or terabytes. + +config BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR + string "sector size" + default "4096" + help + This value should be set to the page size in bytes. The + default value of 4096 is the the most common page size for + most systems. If the sectorsize differs from the page size, + the created filesystem may not be mountable by the kernel. + Therefore it is recommended to leave this value at + 4096. Unless you know that your kernel uses a different page + size. Suffix with k for power-of-two kilobytes. + +config BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE + string "btree node size" + default "16384" + help + The tree block size in which btrfs stores metadata in bytes. + This must be a multiple of the sectorsize, but not larger + than 64KiB (65536). + Suffix with k for power-of-two kilobytes. + +config BR2_TARGET_ROOTFS_BTRFS_FEATURES + string "Filesystem Features" + help + A comma separated string of features that can be enabled + during creation time. + For a list of available options, use: + `.../host/bin/mkfs.btrfs -O list-all` + +endif # BR2_TARGET_ROOTFS_BTRFS diff --git a/bsp/buildroot/fs/btrfs/btrfs.mk b/bsp/buildroot/fs/btrfs/btrfs.mk new file mode 100644 index 00000000..38851638 --- /dev/null +++ b/bsp/buildroot/fs/btrfs/btrfs.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# Build the btrfs root filesystem image +# +################################################################################ + +BTRFS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE)) +ifeq ($(BR2_TARGET_ROOTFS_BTRFS)-$(BTRFS_SIZE),y-) +$(error BR2_TARGET_ROOTFS_BTRFS_SIZE cannot be empty) +endif + +BTRFS_SIZE_NODE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE)) +BTRFS_SIZE_SECTOR = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR)) +BTRFS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_FEATURES)) +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +BTRFS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_BTRFS_LABEL)) +# ") + +BTRFS_OPTS = \ + -f \ + -r '$(TARGET_DIR)' \ + -L '$(BTRFS_LABEL)' \ + --byte-count '$(BTRFS_SIZE)' \ + $(if $(BTRFS_SIZE_NODE),--nodesize '$(BTRFS_SIZE_NODE)') \ + $(if $(BTRFS_SIZE_SECTOR),--sectorsize '$(BTRFS_SIZE_SECTOR)') \ + $(if $(BTRFS_FEATURES),--features '$(BTRFS_FEATURES)') + +ROOTFS_BTRFS_DEPENDENCIES = host-btrfs-progs + +define ROOTFS_BTRFS_CMD + $(RM) -f $@ + $(HOST_DIR)/bin/mkfs.btrfs $(BTRFS_OPTS) $@ +endef + +$(eval $(rootfs)) diff --git a/bsp/buildroot/fs/common.mk b/bsp/buildroot/fs/common.mk index ac8fd4c2..a560417c 100644 --- a/bsp/buildroot/fs/common.mk +++ b/bsp/buildroot/fs/common.mk @@ -28,20 +28,57 @@ # macro will automatically generate a compressed filesystem image. FS_DIR = $(BUILD_DIR)/buildroot-fs -FAKEROOT_SCRIPT = $(FS_DIR)/fakeroot.fs -FULL_DEVICE_TABLE = $(FS_DIR)/device_table.txt ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE) \ $(BR2_ROOTFS_STATIC_DEVICE_TABLE)) -USERS_TABLE = $(FS_DIR)/users_table.txt + ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES)) +ROOTFS_FULL_DEVICES_TABLE = $(FS_DIR)/full_devices_table.txt +ROOTFS_FULL_USERS_TABLE = $(FS_DIR)/full_users_table.txt + +ifeq ($(BR2_REPRODUCIBLE),y) +define ROOTFS_REPRODUCIBLE + find $(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$(SOURCE_DATE_EPOCH) +endef +endif + +ROOTFS_COMMON_DEPENDENCIES = \ + host-fakeroot host-makedevs \ + $(BR2_TAR_HOST_DEPENDENCY) \ + $(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd) + +.PHONY: rootfs-common +rootfs-common: $(ROOTFS_COMMON_DEPENDENCIES) target-finalize + @$(call MESSAGE,"Generating root filesystems common tables") + rm -rf $(FS_DIR) + mkdir -p $(FS_DIR) + + $(call PRINTF,$(PACKAGES_USERS)) >> $(ROOTFS_FULL_USERS_TABLE) +ifneq ($(ROOTFS_USERS_TABLES),) + cat $(ROOTFS_USERS_TABLES) >> $(ROOTFS_FULL_USERS_TABLE) +endif + + $(call PRINTF,$(PACKAGES_PERMISSIONS_TABLE)) > $(ROOTFS_FULL_DEVICES_TABLE) +ifneq ($(ROOTFS_DEVICE_TABLES),) + cat $(ROOTFS_DEVICE_TABLES) >> $(ROOTFS_FULL_DEVICES_TABLE) +endif +ifeq ($(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) + $(call PRINTF,$(PACKAGES_DEVICES_TABLE)) >> $(ROOTFS_FULL_DEVICES_TABLE) +endif + +rootfs-common-show-depends: + @echo $(ROOTFS_COMMON_DEPENDENCIES) + # Since this function will be called from within an $(eval ...) # all variable references except the arguments must be $$-quoted. define inner-rootfs -# extra deps -ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs \ - $$(if $$(PACKAGES_USERS)$$(ROOTFS_USERS_TABLES),host-mkpasswd) +ROOTFS_$(2)_IMAGE_NAME ?= rootfs.$(1) +ROOTFS_$(2)_FINAL_IMAGE_NAME = $$(strip $$(ROOTFS_$(2)_IMAGE_NAME)) +ROOTFS_$(2)_DIR = $$(FS_DIR)/$(1) +ROOTFS_$(2)_TARGET_DIR = $$(ROOTFS_$(2)_DIR)/target + +ROOTFS_$(2)_DEPENDENCIES += rootfs-common ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y) ROOTFS_$(2)_COMPRESS_EXT = .gz @@ -72,42 +109,37 @@ ROOTFS_$(2)_COMPRESS_EXT = .xz ROOTFS_$(2)_COMPRESS_CMD = xz -9 -C crc32 -c endif -$$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES) - @$$(call MESSAGE,"Generating root filesystem image rootfs.$(1)") - rm -rf $(FS_DIR) - mkdir -p $(FS_DIR) - $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),$$(call $$(hook))$$(sep)) +$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): ROOTFS=$(2) +$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): FAKEROOT_SCRIPT=$$(ROOTFS_$(2)_DIR)/fakeroot +$$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES) + @$$(call MESSAGE,"Generating filesystem image $$(ROOTFS_$(2)_FINAL_IMAGE_NAME)") + mkdir -p $$(@D) + rm -rf $$(ROOTFS_$(2)_DIR) + mkdir -p $$(ROOTFS_$(2)_DIR) + rsync -auH \ + --exclude=/$$(notdir $$(TARGET_DIR_WARNING_FILE)) \ + $$(BASE_TARGET_DIR)/ \ + $$(TARGET_DIR) + echo '#!/bin/sh' > $$(FAKEROOT_SCRIPT) echo "set -e" >> $$(FAKEROOT_SCRIPT) + echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) -ifneq ($$(ROOTFS_USERS_TABLES),) - cat $$(ROOTFS_USERS_TABLES) >> $$(USERS_TABLE) -endif - $$(call PRINTF,$$(PACKAGES_USERS)) >> $$(USERS_TABLE) - PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT) -ifneq ($$(ROOTFS_DEVICE_TABLES),) - cat $$(ROOTFS_DEVICE_TABLES) > $$(FULL_DEVICE_TABLE) -ifeq ($$(BR2_ROOTFS_DEVICE_CREATION_STATIC),y) - $$(call PRINTF,$$(PACKAGES_DEVICES_TABLE)) >> $$(FULL_DEVICE_TABLE) -endif -endif - $$(call PRINTF,$$(PACKAGES_PERMISSIONS_TABLE)) >> $$(FULL_DEVICE_TABLE) - echo "$$(HOST_DIR)/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) $$(TOPDIR)/support/scripts/mkusers $$(ROOTFS_FULL_USERS_TABLE) $$(TARGET_DIR) >> $$(FAKEROOT_SCRIPT) + echo "$$(HOST_DIR)/bin/makedevs -d $$(ROOTFS_FULL_DEVICES_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT) $$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \ echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) $$(foreach hook,$$(ROOTFS_PRE_CMD_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) -ifeq ($$(BR2_REPRODUCIBLE),y) - echo "find $$(TARGET_DIR) -print0 | xargs -0 -r touch -hd @$$(SOURCE_DATE_EPOCH)" >> $$(FAKEROOT_SCRIPT) -endif - $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) - $$(foreach hook,$$(ROOTFS_POST_CMD_HOOKS),\ + + $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) + $$(call PRINTF,$$(ROOTFS_REPRODUCIBLE)) >> $$(FAKEROOT_SCRIPT) + $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) chmod a+x $$(FAKEROOT_SCRIPT) - rm -f $$(TARGET_DIR_WARNING_FILE) PATH=$$(BR_PATH) $$(HOST_DIR)/bin/fakeroot -- $$(FAKEROOT_SCRIPT) - $$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE) + $(Q)rm -rf $$(TARGET_DIR) ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),) PATH=$$(BR_PATH) $$(ROOTFS_$(2)_COMPRESS_CMD) $$@ > $$@$$(ROOTFS_$(2)_COMPRESS_EXT) endif @@ -116,7 +148,7 @@ endif rootfs-$(1)-show-depends: @echo $$(ROOTFS_$(2)_DEPENDENCIES) -rootfs-$(1): $$(BINARIES_DIR)/rootfs.$(1) +rootfs-$(1): $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME) .PHONY: rootfs-$(1) rootfs-$(1)-show-depends diff --git a/bsp/buildroot/fs/cpio/Config.in b/bsp/buildroot/fs/cpio/Config.in index 679959d2..83a7fa58 100644 --- a/bsp/buildroot/fs/cpio/Config.in +++ b/bsp/buildroot/fs/cpio/Config.in @@ -1,9 +1,9 @@ config BR2_TARGET_ROOTFS_CPIO bool "cpio the root filesystem (for use as an initial RAM filesystem)" help - Build a cpio archive of the root filesystem. This is typically - used for an initial RAM filesystem that is passed to the kernel - by the bootloader. + Build a cpio archive of the root filesystem. This is typically + used for an initial RAM filesystem that is passed to the + kernel by the bootloader. if BR2_TARGET_ROOTFS_CPIO diff --git a/bsp/buildroot/fs/cpio/cpio.mk b/bsp/buildroot/fs/cpio/cpio.mk index aa4d947f..1f0cafe6 100644 --- a/bsp/buildroot/fs/cpio/cpio.mk +++ b/bsp/buildroot/fs/cpio/cpio.mk @@ -15,14 +15,16 @@ endef else # devtmpfs does not get automounted when initramfs is used. # Add a pre-init script to mount it before running init +# We must have /dev/console very early, even before /init runs, +# for stdin/stdout/stderr define ROOTFS_CPIO_ADD_INIT if [ ! -e $(TARGET_DIR)/init ]; then \ $(INSTALL) -m 0755 fs/cpio/init $(TARGET_DIR)/init; \ fi + mkdir -p $(TARGET_DIR)/dev + mknod -m 0622 $(TARGET_DIR)/dev/console c 5 1 endef -PACKAGES_PERMISSIONS_TABLE += /dev/console c 622 0 0 5 1 - - -$(sep) - endif # BR2_ROOTFS_DEVICE_CREATION_STATIC ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_ADD_INIT diff --git a/bsp/buildroot/fs/cramfs/Config.in b/bsp/buildroot/fs/cramfs/Config.in index 1a4e3264..89f8ad52 100644 --- a/bsp/buildroot/fs/cramfs/Config.in +++ b/bsp/buildroot/fs/cramfs/Config.in @@ -3,4 +3,24 @@ config BR2_TARGET_ROOTFS_CRAMFS help Build a cramfs root filesystem - http://sourceforge.net/projects/cramfs/ + https://github.com/npitre/cramfs-tools + +if BR2_TARGET_ROOTFS_CRAMFS + +config BR2_TARGET_ROOTFS_CRAMFS_XIP + bool "Support XIP of all ELF files" + help + For ELF files, uncompressed and properly aligned data blocks + will be automatically be mapped directly into user space + whenever possible providing eXecute-In-Place (XIP) from ROM + of read-only segments. Data segments mapped read-write + (hence they have to be copied to RAM) may still be + compressed in the cramfs image in the same file along with + non compressed read-only segments. Both MMU and no-MMU + systems are supported. This is particularly handy for tiny + embedded systems with very tight memory constraints. + + The CRAMFS_MTD Kconfig option must also be enabled in a + 4.15+ kernel. + +endif # BR2_TARGET_ROOTFS_CRAMFS diff --git a/bsp/buildroot/fs/cramfs/cramfs.mk b/bsp/buildroot/fs/cramfs/cramfs.mk index f8808719..92506388 100644 --- a/bsp/buildroot/fs/cramfs/cramfs.mk +++ b/bsp/buildroot/fs/cramfs/cramfs.mk @@ -5,9 +5,17 @@ ################################################################################ ifeq ($(BR2_ENDIAN),"BIG") -CRAMFS_OPTS = -b +CRAMFS_OPTS = -B else -CRAMFS_OPTS = -l +CRAMFS_OPTS = -L +endif + +ifeq ($(BR2_TARGET_ROOTFS_CRAMFS_XIP),y) +ifeq ($(BR2_USE_MMU),y) +CRAMFS_OPTS += -X -X +else +CRAMFS_OPTS += -X +endif endif define ROOTFS_CRAMFS_CMD diff --git a/bsp/buildroot/fs/ext2/Config.in b/bsp/buildroot/fs/ext2/Config.in index 27ad69fd..74bacc11 100644 --- a/bsp/buildroot/fs/ext2/Config.in +++ b/bsp/buildroot/fs/ext2/Config.in @@ -49,11 +49,11 @@ config BR2_TARGET_ROOTFS_EXT2_SIZE default BR2_TARGET_ROOTFS_EXT2_BLOCKS if BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP # legacy 2017.08 default "60M" help - The size of the filesystem image. If it does not have a suffix, - it is interpreted as power-of-two kilobytes. If it is suffixed - by 'k', 'm', 'g', 't' (either upper-case or lower-case), then - it is interpreted in power-of-two kilobytes, megabytes, - gigabytes, terabytes, etc. + The size of the filesystem image. If it does not have a + suffix, it is interpreted as power-of-two kilobytes. If it is + suffixed by 'k', 'm', 'g', 't' (either upper-case or + lower-case), then it is interpreted in power-of-two kilobytes, + megabytes, gigabytes, terabytes, etc. config BR2_TARGET_ROOTFS_EXT2_INODES int "exact number of inodes (leave at 0 for auto calculation)" @@ -65,15 +65,16 @@ config BR2_TARGET_ROOTFS_EXT2_RESBLKS help The number of blocks on the filesystem (as a percentage of the total number of blocks), that are reserved for use by root. - Traditionally, this has been 5%, and all ext-related tools still - default to reserving 5% when creating a new ext filesystem. + Traditionally, this has been 5%, and all ext-related tools + still default to reserving 5% when creating a new ext + filesystem. config BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS string "additional mke2fs options" default "-O ^64bit" help - Specify a space-separated list of mke2fs options, including any - ext2/3/4 filesystem features. + Specify a space-separated list of mke2fs options, including + any ext2/3/4 filesystem features. For more information about the mke2fs options, see the manual page mke2fs(8). @@ -91,7 +92,8 @@ choice prompt "Compression method" default BR2_TARGET_ROOTFS_EXT2_NONE help - Select compressor for ext2/3/4 filesystem of the root filesystem + Select compressor for ext2/3/4 filesystem of the root + filesystem config BR2_TARGET_ROOTFS_EXT2_NONE bool "no compression" diff --git a/bsp/buildroot/fs/f2fs/Config.in b/bsp/buildroot/fs/f2fs/Config.in new file mode 100644 index 00000000..20d70fbf --- /dev/null +++ b/bsp/buildroot/fs/f2fs/Config.in @@ -0,0 +1,59 @@ +config BR2_TARGET_ROOTFS_F2FS + bool "f2fs root filesystem" + select BR2_PACKAGE_HOST_F2FS_TOOLS + help + Build a f2fs root filesystem. If you enable this option, you + probably want to enable the f2fs-tools package too. + +if BR2_TARGET_ROOTFS_F2FS + +config BR2_TARGET_ROOTFS_F2FS_LABEL + string "filesystem label" + +config BR2_TARGET_ROOTFS_F2FS_SIZE + string "filesystem size" + default "100M" + help + The size of the filesystem image in bytes. + Suffix with K, M, G or T for power-of-two kilo-, mega-, giga- + or terabytes. + +config BR2_TARGET_ROOTFS_F2FS_COLD_FILES + string "extension list for cold files" + help + Specify a comma separated file extension list in order f2fs + to treat them as cold files. The default list includes most + of multimedia file extensions such as jpg, gif, mpeg, mkv, + and so on. + +config BR2_TARGET_ROOTFS_F2FS_HOT_FILES + string "extension list for hot files" + help + Specify a comma separated file extension list in order f2fs + to treat them as hot files. The default list includes only + a db extension. + +config BR2_TARGET_ROOTFS_F2FS_OVERPROVISION + int "overprovision ratio" + default 0 + help + The percentage over the volume size for overprovision + area. This area is hidden to users, and utilized by F2FS + cleaner. + + Leave at 0 for autocalculation according to the partition + size. + +config BR2_TARGET_ROOTFS_F2FS_DISCARD + bool "discard policy" + default y + help + Enable or disable discard policy. + +config BR2_TARGET_ROOTFS_F2FS_FEATURES + string "filesystem features" + help + List of features that the F2FS filesystem should support + (e.g "encrypt") + +endif # BR2_TARGET_ROOTFS_F2FS diff --git a/bsp/buildroot/fs/f2fs/f2fs.mk b/bsp/buildroot/fs/f2fs/f2fs.mk new file mode 100644 index 00000000..f35bb60a --- /dev/null +++ b/bsp/buildroot/fs/f2fs/f2fs.mk @@ -0,0 +1,45 @@ +################################################################################ +# +# Build the f2fs root filesystem image +# +################################################################################ + +F2FS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_SIZE)) +ifeq ($(BR2_TARGET_ROOTFS_F2FS)-$(F2FS_SIZE),y-) +$(error BR2_TARGET_ROOTFS_F2FS_SIZE cannot be empty) +endif + +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +F2FS_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_F2FS_LABEL)) +# ") +F2FS_COLD_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_COLD_FILES)) +F2FS_HOT_FILES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_HOT_FILES)) + +ifeq ($(BR2_TARGET_ROOTFS_F2FS_DISCARD),y) +F2FS_DISCARD = 1 +else +F2FS_DISCARD = 0 +endif + +F2FS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_F2FS_FEATURES)) + +F2FS_OPTS = \ + -f \ + -l "$(F2FS_LABEL)" \ + -t $(F2FS_DISCARD) \ + -o $(BR2_TARGET_ROOTFS_F2FS_OVERPROVISION) \ + $(if $(F2FS_COLD_FILES),-e "$(F2FS_COLD_FILES)") \ + $(if $(F2FS_HOT_FILES),-E "$(F2FS_HOT_FILES)") \ + $(if $(F2FS_FEATURES),-O "$(F2FS_FEATURES)") + +ROOTFS_F2FS_DEPENDENCIES = host-f2fs-tools + +define ROOTFS_F2FS_CMD + $(RM) -f $@ + truncate -s $(F2FS_SIZE) $@ + $(HOST_DIR)/sbin/mkfs.f2fs $(F2FS_OPTS) $@ + $(HOST_DIR)/sbin/sload.f2fs -f $(TARGET_DIR) $@ +endef + +$(eval $(rootfs)) diff --git a/bsp/buildroot/fs/initramfs/Config.in b/bsp/buildroot/fs/initramfs/Config.in index 8ed9f7eb..9d5a3f92 100644 --- a/bsp/buildroot/fs/initramfs/Config.in +++ b/bsp/buildroot/fs/initramfs/Config.in @@ -10,7 +10,8 @@ config BR2_TARGET_ROOTFS_INITRAMFS A rootfs.cpio file will be generated in the images/ directory. This is the archive that will be included in the kernel image. The default rootfs compression set in the kernel configuration - is used, regardless of how buildroot's cpio archive is configured. + is used, regardless of how buildroot's cpio archive is + configured. Note that enabling initramfs together with another filesystem formats doesn't make sense: you would end up having two diff --git a/bsp/buildroot/fs/initramfs/initramfs.mk b/bsp/buildroot/fs/initramfs/initramfs.mk index b8dee18e..c7510932 100644 --- a/bsp/buildroot/fs/initramfs/initramfs.mk +++ b/bsp/buildroot/fs/initramfs/initramfs.mk @@ -1,7 +1,6 @@ ################################################################################ # -# Build a kernel with an integrated initial ramdisk -# filesystem based on cpio. +# Build a kernel with an integrated initial ramdisk filesystem based on cpio. # ################################################################################ diff --git a/bsp/buildroot/fs/iso9660/iso9660.mk b/bsp/buildroot/fs/iso9660/iso9660.mk index 207c6aa3..a129655c 100644 --- a/bsp/buildroot/fs/iso9660/iso9660.mk +++ b/bsp/buildroot/fs/iso9660/iso9660.mk @@ -35,47 +35,47 @@ ROOTFS_ISO9660_USE_INITRD = YES endif ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) -ROOTFS_ISO9660_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp +ROOTFS_ISO9660_TMP_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp define ROOTFS_ISO9660_CREATE_TEMPDIR - $(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR) - mkdir -p $(ROOTFS_ISO9660_TARGET_DIR) + $(RM) -rf $(ROOTFS_ISO9660_TMP_TARGET_DIR) + mkdir -p $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_CREATE_TEMPDIR else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_TRANSPARENT_COMPRESSION),y) ROOTFS_ISO9660_DEPENDENCIES += host-zisofs-tools -ROOTFS_ISO9660_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp +ROOTFS_ISO9660_TMP_TARGET_DIR = $(FS_DIR)/rootfs.iso9660.tmp # This must be early, before we copy the bootloader files. define ROOTFS_ISO9660_MKZFTREE - $(RM) -rf $(ROOTFS_ISO9660_TARGET_DIR) + $(RM) -rf $(ROOTFS_ISO9660_TMP_TARGET_DIR) $(HOST_DIR)/bin/mkzftree -X -z 9 -p $(PARALLEL_JOBS) \ $(TARGET_DIR) \ - $(ROOTFS_ISO9660_TARGET_DIR) + $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_MKZFTREE ROOTFS_ISO9660_GENISOIMAGE_OPTS += -z else -ROOTFS_ISO9660_TARGET_DIR = $(TARGET_DIR) +ROOTFS_ISO9660_TMP_TARGET_DIR = $(TARGET_DIR) endif ifeq ($(BR2_TARGET_ROOTFS_ISO9660_GRUB2),y) ROOTFS_ISO9660_DEPENDENCIES += grub2 ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/grub.cfg + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub.cfg ROOTFS_ISO9660_BOOT_IMAGE = boot/grub/grub-eltorito.img define ROOTFS_ISO9660_INSTALL_BOOTLOADER $(INSTALL) -D -m 0644 $(BINARIES_DIR)/grub-eltorito.img \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/grub/grub-eltorito.img + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/grub/grub-eltorito.img endef else ifeq ($(BR2_TARGET_ROOTFS_ISO9660_ISOLINUX),y) ROOTFS_ISO9660_DEPENDENCIES += syslinux ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH = \ - $(ROOTFS_ISO9660_TARGET_DIR)/isolinux/isolinux.cfg + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/isolinux.cfg ROOTFS_ISO9660_BOOT_IMAGE = isolinux/isolinux.bin define ROOTFS_ISO9660_INSTALL_BOOTLOADER $(INSTALL) -D -m 0644 $(BINARIES_DIR)/syslinux/* \ - $(ROOTFS_ISO9660_TARGET_DIR)/isolinux/ + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ $(INSTALL) -D -m 0644 $(HOST_DIR)/share/syslinux/ldlinux.c32 \ - $(ROOTFS_ISO9660_TARGET_DIR)/isolinux/ldlinux.c32 + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/isolinux/ldlinux.c32 endef endif @@ -96,7 +96,7 @@ endef # Copy the kernel to temporary filesystem define ROOTFS_ISO9660_COPY_KERNEL $(INSTALL) -D -m 0644 $(LINUX_IMAGE_PATH) \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/$(LINUX_IMAGE_NAME) + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/$(LINUX_IMAGE_NAME) endef ifeq ($(ROOTFS_ISO9660_USE_INITRD),YES) @@ -111,7 +111,7 @@ else ROOTFS_ISO9660_DEPENDENCIES += rootfs-cpio define ROOTFS_ISO9660_COPY_INITRD $(INSTALL) -D -m 0644 $(BINARIES_DIR)/rootfs.cpio$(ROOTFS_CPIO_COMPRESS_EXT) \ - $(ROOTFS_ISO9660_TARGET_DIR)/boot/initrd + $(ROOTFS_ISO9660_TMP_TARGET_DIR)/boot/initrd $(SED) "s%__INITRD_PATH__%/boot/initrd%" \ $(ROOTFS_ISO9660_BOOTLOADER_CONFIG_PATH) endef @@ -128,12 +128,11 @@ ROOTFS_ISO9660_PRE_GEN_HOOKS += ROOTFS_ISO9660_DISABLE_EXTERNAL_INITRD endif # ROOTFS_ISO9660_USE_INITRD - define ROOTFS_ISO9660_CMD $(HOST_DIR)/bin/genisoimage -J -R -b $(ROOTFS_ISO9660_BOOT_IMAGE) \ -no-emul-boot -boot-load-size 4 -boot-info-table \ $(ROOTFS_ISO9660_GENISOIMAGE_OPTS) \ - -o $@ $(ROOTFS_ISO9660_TARGET_DIR) + -o $@ $(ROOTFS_ISO9660_TMP_TARGET_DIR) endef ifeq ($(BR2_TARGET_ROOTFS_ISO9660_HYBRID),y) diff --git a/bsp/buildroot/fs/jffs2/Config.in b/bsp/buildroot/fs/jffs2/Config.in index 1010216b..44c0b104 100644 --- a/bsp/buildroot/fs/jffs2/Config.in +++ b/bsp/buildroot/fs/jffs2/Config.in @@ -38,8 +38,8 @@ endchoice config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE hex "Erase block size" - depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM default 0x20000 + depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM help Set to erase size of memory @@ -68,8 +68,8 @@ config BR2_TARGET_ROOTFS_JFFS2_PAD config BR2_TARGET_ROOTFS_JFFS2_PADSIZE hex "Pad output size (0x0 = to end of EB)" - depends on BR2_TARGET_ROOTFS_JFFS2_PAD default 0x0 + depends on BR2_TARGET_ROOTFS_JFFS2_PAD help Set to 0x0 to pad to end of erase block. @@ -94,19 +94,20 @@ config BR2_TARGET_ROOTFS_JFFS2_SUMMARY config BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE bool "Select custom virtual memory page size" help - Use a custom virtual memory page size. Note that this is not related to - the flash memory page size. Using this option is only needed if Linux is - configured to use a page size different than 4kB. - + Use a custom virtual memory page size. Note that this is not + related to the flash memory page size. Using this option is + only needed if Linux is configured to use a page size + different than 4kB. config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE hex "Virtual memory page size" - depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE default 0x1000 + depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE help - Set to virtual memory page size of target system (in bytes). This value - should match the virtual page size in Linux (i.e. this should have the - same value as the value of the PAGE_SIZE macro in Linux). It is not - related to the flash memory page size. + Set to virtual memory page size of target system (in bytes). + This value should match the virtual page size in Linux (i.e. + this should have the same value as the value of the PAGE_SIZE + macro in Linux). It is not related to the flash memory page + size. endif diff --git a/bsp/buildroot/fs/squashfs/Config.in b/bsp/buildroot/fs/squashfs/Config.in index ca9ddb22..dde2097c 100644 --- a/bsp/buildroot/fs/squashfs/Config.in +++ b/bsp/buildroot/fs/squashfs/Config.in @@ -27,5 +27,8 @@ config BR2_TARGET_ROOTFS_SQUASHFS4_LZO config BR2_TARGET_ROOTFS_SQUASHFS4_XZ bool "xz" +config BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD + bool "zstd" + endchoice endif diff --git a/bsp/buildroot/fs/squashfs/squashfs.mk b/bsp/buildroot/fs/squashfs/squashfs.mk index 51abd5d7..34ab0486 100644 --- a/bsp/buildroot/fs/squashfs/squashfs.mk +++ b/bsp/buildroot/fs/squashfs/squashfs.mk @@ -16,6 +16,8 @@ else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y) ROOTFS_SQUASHFS_ARGS += -comp lzma else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_XZ),y) ROOTFS_SQUASHFS_ARGS += -comp xz +else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD),y) +ROOTFS_SQUASHFS_ARGS += -comp zstd else ROOTFS_SQUASHFS_ARGS += -comp gzip endif diff --git a/bsp/buildroot/fs/tar/Config.in b/bsp/buildroot/fs/tar/Config.in index 2116edf1..a4e375c6 100644 --- a/bsp/buildroot/fs/tar/Config.in +++ b/bsp/buildroot/fs/tar/Config.in @@ -50,8 +50,8 @@ endchoice config BR2_TARGET_ROOTFS_TAR_OPTIONS string "other random options to pass to tar" - depends on BR2_TARGET_ROOTFS_TAR default "" + depends on BR2_TARGET_ROOTFS_TAR help Any other flags you want to pass to tar Refer to tar --help for details diff --git a/bsp/buildroot/fs/tar/tar.mk b/bsp/buildroot/fs/tar/tar.mk index 55351197..4c6327ac 100644 --- a/bsp/buildroot/fs/tar/tar.mk +++ b/bsp/buildroot/fs/tar/tar.mk @@ -6,6 +6,8 @@ TAR_OPTS := $(call qstrip,$(BR2_TARGET_ROOTFS_TAR_OPTIONS)) +ROOTFS_TAR_DEPENDENCIES = $(BR2_TAR_HOST_DEPENDENCY) + define ROOTFS_TAR_CMD (cd $(TARGET_DIR); find -print0 | LC_ALL=C sort -z | \ tar $(TAR_OPTS) -cf $@ --null --xattrs-include='*' --no-recursion -T - --numeric-owner) diff --git a/bsp/buildroot/fs/ubi/Config.in b/bsp/buildroot/fs/ubi/Config.in index 5fa2f1f6..85b1c56b 100644 --- a/bsp/buildroot/fs/ubi/Config.in +++ b/bsp/buildroot/fs/ubi/Config.in @@ -18,8 +18,9 @@ config BR2_TARGET_ROOTFS_UBI_SUBSIZE int "sub-page size" default 512 help - Tells ubinize that the flash supports sub-pages and the sub-page - size. Use 0 if sub-pages are not supported on flash chip. + Tells ubinize that the flash supports sub-pages and the + sub-page size. Use 0 if sub-pages are not supported on flash + chip. The value provided here is passed to the -s/--sub-page-size option of ubinize. @@ -28,9 +29,9 @@ config BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG help Select this option to use a custom ubinize configuration file, rather than the default configuration used by Buildroot (which - defines a single dynamic volume marked as auto-resize). Passing - a custom ubinize configuration file allows you to create several - volumes, specify volume types, etc. + defines a single dynamic volume marked as auto-resize). + Passing a custom ubinize configuration file allows you to + create several volumes, specify volume types, etc. As a convenience, buildroot replaces the string "BR2_ROOTFS_UBIFS_PATH" with the path to the built ubifs file. diff --git a/bsp/buildroot/fs/ubi/ubi.mk b/bsp/buildroot/fs/ubi/ubi.mk index c78feda5..9874e73f 100644 --- a/bsp/buildroot/fs/ubi/ubi.mk +++ b/bsp/buildroot/fs/ubi/ubi.mk @@ -15,16 +15,16 @@ UBI_UBINIZE_OPTS += $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_OPTS)) ROOTFS_UBI_DEPENDENCIES = rootfs-ubifs ifeq ($(BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG),y) -UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE)) +UBI_UBINIZE_CONFIG_FILE_PATH = $(call qstrip,$(BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE)) else -UBINIZE_CONFIG_FILE_PATH = fs/ubi/ubinize.cfg +UBI_UBINIZE_CONFIG_FILE_PATH = fs/ubi/ubinize.cfg endif # don't use sed -i as it misbehaves on systems with SELinux enabled when this is # executed through fakeroot (see #9386) define ROOTFS_UBI_CMD sed 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' \ - $(UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg + $(UBI_UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg $(HOST_DIR)/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg rm $(BUILD_DIR)/ubinize.cfg endef diff --git a/bsp/buildroot/fs/yaffs2/yaffs.mk b/bsp/buildroot/fs/yaffs2/yaffs2.mk similarity index 100% rename from bsp/buildroot/fs/yaffs2/yaffs.mk rename to bsp/buildroot/fs/yaffs2/yaffs2.mk diff --git a/bsp/buildroot/linux/Config.ext.in b/bsp/buildroot/linux/Config.ext.in index 011dffb0..32dacbdf 100644 --- a/bsp/buildroot/linux/Config.ext.in +++ b/bsp/buildroot/linux/Config.ext.in @@ -4,9 +4,11 @@ menu "Linux Kernel Extensions" # Xenomai config BR2_LINUX_KERNEL_EXT_XENOMAI bool "Adeos/Xenomai Real-time patch" - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_TOOLCHAIN_USES_MUSL + depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS + depends on BR2_USE_MMU # xenomai + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xenomai + depends on BR2_TOOLCHAIN_HAS_THREADS # xenomai + depends on !BR2_TOOLCHAIN_USES_MUSL # xenomai select BR2_PACKAGE_XENOMAI help Xenomai is split in two parts: a kernel part and a userspace @@ -34,7 +36,9 @@ config BR2_LINUX_KERNEL_EXT_XENOMAI_ADEOS_PATCH and verify that your kernel version in buildroot matches. comment "xenomai needs a uClibc or glibc toolchain w/ threads" - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS + depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL #------------------------------------------------------------------------------- @@ -117,14 +121,17 @@ config BR2_LINUX_KERNEL_EXT_AUFS_VERSION string "aufs-standalone version" default "" help - The version you choose must match that of your kernel. Usually, - the sha1 of the cset you want to use; avoid using a branch name - as this yields non-reproducible builds. + The version you choose must match that of your kernel. + Usually, the sha1 of the cset you want to use; avoid using a + branch name as this yields non-reproducible builds. - See the following resources to see what versions are available: + See the following resources to see what versions are + available: - For aufs3.x: https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/ - For aufs4.x: https://github.com/sfjro/aufs4-standalone/branches/all + For aufs3.x: + https://sourceforge.net/p/aufs/aufs3-standalone/ref/master/branches/ + For aufs4.x: + https://github.com/sfjro/aufs4-standalone/branches/all endif # aufs diff --git a/bsp/buildroot/linux/Config.in b/bsp/buildroot/linux/Config.in index e931bd41..f17334ae 100644 --- a/bsp/buildroot/linux/Config.in +++ b/bsp/buildroot/linux/Config.in @@ -29,11 +29,13 @@ config BR2_LINUX_NEEDS_MODULES choice prompt "Kernel version" +# We are intentionally staying at 4.19 for the next Buildroot LTS +# release (2019.02) config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.15)" + bool "Latest version (4.19)" config BR2_LINUX_KERNEL_LATEST_CIP_VERSION - bool "Latest CIP SLTS version (v4.4.138-cip25)" + bool "Latest CIP SLTS version (v4.4.171-cip30)" help CIP launched in the spring of 2016 to address the needs of organizations in industries such as power generation and @@ -65,13 +67,13 @@ config BR2_LINUX_KERNEL_CUSTOM_VERSION config BR2_LINUX_KERNEL_CUSTOM_TARBALL bool "Custom tarball" help - This option allows to specify a URL pointing to a kernel source - tarball. This URL can use any protocol recognized by Buildroot, - like http://, ftp://, file:// or scp://. + This option allows to specify a URL pointing to a kernel + source tarball. This URL can use any protocol recognized by + Buildroot, like http://, ftp://, file:// or scp://. - When pointing to a local tarball using file://, you may want to - use a make variable like $(TOPDIR) to reference the root of the - Buildroot tree. + When pointing to a local tarball using file://, you may want + to use a make variable like $(TOPDIR) to reference the root of + the Buildroot tree. config BR2_LINUX_KERNEL_CUSTOM_GIT bool "Custom Git repository" @@ -113,15 +115,15 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \ if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy help - Revision to use in the typical format used by Git/Mercurial/Subversion - E.G. a sha id, a tag, branch, .. + Revision to use in the typical format used by + Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. endif config BR2_LINUX_KERNEL_VERSION string - default "4.15.16" if BR2_LINUX_KERNEL_LATEST_VERSION - default "v4.4.138-cip25" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION + default "4.19.25" if BR2_LINUX_KERNEL_LATEST_VERSION + default "v4.4.171-cip30" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL @@ -179,7 +181,8 @@ config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE Path to the kernel configuration file Note: this can be a defconfig file or a complete .config file, - which can later be saved back with make linux-update-(def)config. + which can later be saved back with make + linux-update-(def)config. config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES string "Additional configuration fragment files" @@ -187,6 +190,14 @@ config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES A space-separated list of kernel configuration fragment files, that will be merged to the main kernel configuration file. +config BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH + string "Custom boot logo file path" + help + Use a custom Linux framebuffer boot logo. + Custom logo should be in PNG or JPEG format, it will be + converted to the linux kernel format (224 colors only) + and copied over the original logo file. + # # Binary format # @@ -197,7 +208,7 @@ choice config BR2_LINUX_KERNEL_UIMAGE bool "uImage" - depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \ + depends on BR2_arc || BR2_arm || BR2_armeb || \ BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ BR2_sh || BR2_mips || BR2_mipsel || \ BR2_mips64 || BR2_mips64el || BR2_xtensa @@ -288,9 +299,9 @@ endchoice choice prompt "Kernel compression format" help - This selection will just ensure that the correct host tools are built. - The actual compression for the kernel should be selected in the - kernel configuration menu. + This selection will just ensure that the correct host tools + are built. The actual compression for the kernel should be + selected in the kernel configuration menu. config BR2_LINUX_KERNEL_GZIP bool "gzip compression" @@ -321,8 +332,9 @@ config BR2_LINUX_KERNEL_IMAGE_NAME depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM help The filename of the kernel image, if it is different from the - make target (above). Only Xtensa uses a filename different from - the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. + make target (above). Only Xtensa uses a filename different + from the make target. Defaults to + BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. If unsure, leave it empty. @@ -331,18 +343,19 @@ config BR2_LINUX_KERNEL_UIMAGE_LOADADDR depends on BR2_arm || BR2_armeb depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE help - If your ARM system's Linux kernel is configured with the new (3.7+) - multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your - kernel config), then it is necessary to specify a kernel load address - when building the uImage. This should be a hexadecimal string - beginning with 0x, for example: 0x00008000. + If your ARM system's Linux kernel is configured with the new + (3.7+) multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y + in your kernel config), then it is necessary to specify a + kernel load address when building the uImage. This should be a + hexadecimal string beginning with 0x, for example: 0x00008000. If unsure, let this option empty. config BR2_LINUX_KERNEL_DTS_SUPPORT bool "Build a Device Tree Blob (DTB)" help - Compile one or more device tree sources into device tree blobs. + Compile one or more device tree sources into device tree + blobs. Select the dts files to compile in the options below. if BR2_LINUX_KERNEL_DTS_SUPPORT @@ -381,6 +394,14 @@ config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH You can provide a list of dts paths to copy and build, separated by spaces. +config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT + bool "Build Device Tree with overlay support" + help + If enabled, pass the "-@" option to dtc, such that + symbols are generated in the compiled Device Tree. + Choose this option to support Device Tree overlays + on the target system. + endif config BR2_LINUX_KERNEL_INSTALL_TARGET diff --git a/bsp/buildroot/linux/linux-ext-aufs.mk b/bsp/buildroot/linux/linux-ext-aufs.mk index fb2f3560..d4bbb071 100644 --- a/bsp/buildroot/linux/linux-ext-aufs.mk +++ b/bsp/buildroot/linux/linux-ext-aufs.mk @@ -1,7 +1,7 @@ ################################################################################ -# Linux Aufs extensions # # Patch the linux kernel with aufs extension +# ################################################################################ LINUX_EXTENSIONS += aufs diff --git a/bsp/buildroot/linux/linux-ext-ev3dev-linux-drivers.mk b/bsp/buildroot/linux/linux-ext-ev3dev-linux-drivers.mk index c8afeeb1..3bb12db3 100644 --- a/bsp/buildroot/linux/linux-ext-ev3dev-linux-drivers.mk +++ b/bsp/buildroot/linux/linux-ext-ev3dev-linux-drivers.mk @@ -1,7 +1,7 @@ ################################################################################ -# Linux ev3dev extensions # # Patch the linux kernel with ev3dev extension +# ################################################################################ LINUX_EXTENSIONS += ev3dev-linux-drivers diff --git a/bsp/buildroot/linux/linux-ext-fbtft.mk b/bsp/buildroot/linux/linux-ext-fbtft.mk index 5eb3d944..cbc9c58e 100644 --- a/bsp/buildroot/linux/linux-ext-fbtft.mk +++ b/bsp/buildroot/linux/linux-ext-fbtft.mk @@ -1,7 +1,7 @@ ################################################################################ -# Linux fbtft extensions # # Patch the linux kernel with fbtft extension +# ################################################################################ LINUX_EXTENSIONS += fbtft diff --git a/bsp/buildroot/linux/linux-ext-rtai.mk b/bsp/buildroot/linux/linux-ext-rtai.mk index fb483aa8..50f79f8d 100644 --- a/bsp/buildroot/linux/linux-ext-rtai.mk +++ b/bsp/buildroot/linux/linux-ext-rtai.mk @@ -1,7 +1,7 @@ ################################################################################ -# Linux RTAI extensions # # Patch the linux kernel with RTAI extension +# ################################################################################ LINUX_EXTENSIONS += rtai @@ -20,8 +20,8 @@ endif define RTAI_PREPARE_KERNEL kver=`$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelversion` ; \ if test -f $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/hal-linux-$${kver}-*patch ; then \ - $(APPLY_PATCHES) $(LINUX_DIR) \ - $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \ + $(APPLY_PATCHES) $(LINUX_DIR) \ + $(RTAI_DIR)/base/arch/$(RTAI_ARCH)/patches/ \ hal-linux-$${kver}-*patch ; \ else \ echo "No RTAI patch for your kernel version" ; \ diff --git a/bsp/buildroot/linux/linux-ext-xenomai.mk b/bsp/buildroot/linux/linux-ext-xenomai.mk index 76a9786e..d066bb32 100644 --- a/bsp/buildroot/linux/linux-ext-xenomai.mk +++ b/bsp/buildroot/linux/linux-ext-xenomai.mk @@ -1,7 +1,7 @@ ################################################################################ -# Linux Adeos/Xenomai extensions # -# Patch the linux kernel with xenomai extension +# Patch the linux kernel with Adeos/Xenomai extension +# ################################################################################ LINUX_EXTENSIONS += xenomai diff --git a/bsp/buildroot/linux/linux.hash b/bsp/buildroot/linux/linux.hash new file mode 100644 index 00000000..d7ddd1c8 --- /dev/null +++ b/bsp/buildroot/linux/linux.hash @@ -0,0 +1,6 @@ +# From https://www.kernel.org/pub/linux/kernel/v4.x/sha256sums.asc +sha256 1cf544308195250805e0731c716691bea4c1ed29e03e6f9ae5be6dc16785a504 linux-4.20.12.tar.xz +sha256 7ec71d90d6e96e6f741676d157ac06f30c75be4eaf1649143a3c8b7d4f919731 linux-4.19.25.tar.xz +sha256 7aa43e34e4c9e5965da29cef5ae196e06006f8c0d1d65fd755a2f197f0796a11 linux-4.14.103.tar.xz +sha256 c09af067af62d299f5e33c279968de58c88fb7c59bd05e8f3bb460f611f60515 linux-4.9.160.tar.xz +sha256 27da5401aa691762f3361c143f453877f499c02ea6c9c743b09538cb1af1c75d linux-4.4.176.tar.xz diff --git a/bsp/buildroot/linux/linux.mk b/bsp/buildroot/linux/linux.mk index 38a67edc..2b5d096e 100644 --- a/bsp/buildroot/linux/linux.mk +++ b/bsp/buildroot/linux/linux.mk @@ -30,7 +30,7 @@ else ifeq ($(BR2_LINUX_KERNEL_CUSTOM_SVN),y) LINUX_SITE = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_REPO_URL)) LINUX_SITE_METHOD = svn else ifeq ($(BR2_LINUX_KERNEL_LATEST_CIP_VERSION),y) -LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/bwh/linux-cip.git +LINUX_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git else ifneq ($(findstring -rc,$(LINUX_VERSION)),) # Since 4.12-rc1, -rc kernels are generated from cgit. This also works for # older -rc kernels. @@ -55,6 +55,9 @@ endif LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) +# We have no way to know the hashes for user-supplied patches. +BR_NO_CHECK_HASH_FOR += $(notdir $(LINUX_PATCHES)) + # We rely on the generic package infrastructure to download and apply # remote patches (downloaded from ftp, http or https). For local # patches, we can't rely on that infrastructure, because there might @@ -62,7 +65,19 @@ LINUX_PATCHES = $(call qstrip,$(BR2_LINUX_KERNEL_PATCH)) LINUX_PATCH = $(filter ftp://% http://% https://%,$(LINUX_PATCHES)) LINUX_INSTALL_IMAGES = YES -LINUX_DEPENDENCIES += host-kmod +LINUX_DEPENDENCIES = host-kmod + +# Starting with 4.16, the generated kconfig paser code is no longer +# shipped with the kernel sources, so we need flex and bison, but +# only if the host does not have them. +LINUX_KCONFIG_DEPENDENCIES = \ + $(BR2_BISON_HOST_DEPENDENCY) \ + $(BR2_FLEX_HOST_DEPENDENCY) + +# Starting with 4.18, the kconfig in the kernel calls the +# cross-compiler to check its capabilities. So we need the +# toolchain before we can call the configurators. +LINUX_KCONFIG_DEPENDENCIES += toolchain # host tools needed for kernel compression ifeq ($(BR2_LINUX_KERNEL_LZ4),y) @@ -121,19 +136,33 @@ LINUX_MAKE_ENV += \ KBUILD_BUILD_TIMESTAMP="$(shell LC_ALL=C date -d @$(SOURCE_DATE_EPOCH))" endif +# gcc-8 started warning about function aliases that have a +# non-matching prototype. This seems rather useful in general, but it +# causes tons of warnings in the Linux kernel, where we rely on +# abusing those aliases for system call entry points, in order to +# sanitize the arguments passed from user space in registers. +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82435 +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y) +LINUX_MAKE_ENV += KCFLAGS=-Wno-attribute-alias +endif + +ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y) +LINUX_MAKE_ENV += DTC_FLAGS=-@ +endif + # Get the real Linux version, which tells us where kernel modules are # going to be installed in the target filesystem. LINUX_VERSION_PROBED = `$(MAKE) $(LINUX_MAKE_FLAGS) -C $(LINUX_DIR) --no-print-directory -s kernelrelease 2>/dev/null` -KERNEL_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) +LINUX_DTS_NAME += $(call qstrip,$(BR2_LINUX_KERNEL_INTREE_DTS_NAME)) # We keep only the .dts files, so that the user can specify both .dts # and .dtsi files in BR2_LINUX_KERNEL_CUSTOM_DTS_PATH. Both will be # copied to arch//boot/dts, but only the .dts files will # actually be generated as .dtb. -KERNEL_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))))) +LINUX_DTS_NAME += $(basename $(filter %.dts,$(notdir $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))))) -KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME)) +LINUX_DTBS = $(addsuffix .dtb,$(LINUX_DTS_NAME)) ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y) LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_NAME)) @@ -155,9 +184,9 @@ LINUX_IMAGE_NAME = zImage.epapr else ifeq ($(BR2_LINUX_KERNEL_APPENDED_ZIMAGE),y) LINUX_IMAGE_NAME = zImage else ifeq ($(BR2_LINUX_KERNEL_CUIMAGE),y) -LINUX_IMAGE_NAME = cuImage.$(firstword $(KERNEL_DTS_NAME)) +LINUX_IMAGE_NAME = cuImage.$(firstword $(LINUX_DTS_NAME)) else ifeq ($(BR2_LINUX_KERNEL_SIMPLEIMAGE),y) -LINUX_IMAGE_NAME = simpleImage.$(firstword $(KERNEL_DTS_NAME)) +LINUX_IMAGE_NAME = simpleImage.$(firstword $(LINUX_DTS_NAME)) else ifeq ($(BR2_LINUX_KERNEL_IMAGE),y) LINUX_IMAGE_NAME = Image else ifeq ($(BR2_LINUX_KERNEL_LINUX_BIN),y) @@ -187,11 +216,11 @@ endif # for bzImage, arch/i386 and arch/x86_64 do not exist when copying the # defconfig file. ifeq ($(KERNEL_ARCH),i386) -KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86 +LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86 else ifeq ($(KERNEL_ARCH),x86_64) -KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/x86 +LINUX_ARCH_PATH = $(LINUX_DIR)/arch/x86 else -KERNEL_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH) +LINUX_ARCH_PATH = $(LINUX_DIR)/arch/$(KERNEL_ARCH) endif ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y) @@ -201,7 +230,7 @@ LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME) else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ_BIN),y) LINUX_IMAGE_PATH = $(LINUX_DIR)/$(LINUX_IMAGE_NAME) else -LINUX_IMAGE_PATH = $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME) +LINUX_IMAGE_PATH = $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME) endif # BR2_LINUX_KERNEL_VMLINUX define LINUX_APPLY_LOCAL_PATCHES @@ -226,6 +255,17 @@ define LINUX_TRY_PATCH_TIMECONST endef LINUX_POST_PATCH_HOOKS += LINUX_TRY_PATCH_TIMECONST +LINUX_KERNEL_CUSTOM_LOGO_PATH = $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH)) +ifneq ($(LINUX_KERNEL_CUSTOM_LOGO_PATH),) +LINUX_DEPENDENCIES += host-imagemagick +define LINUX_KERNEL_CUSTOM_LOGO_CONVERT + $(HOST_DIR)/bin/convert $(LINUX_KERNEL_CUSTOM_LOGO_PATH) \ + -dither None -colors 224 -compress none \ + $(LINUX_DIR)/drivers/video/logo/logo_linux_clut224.ppm +endef +LINUX_PRE_BUILD_HOOKS += LINUX_KERNEL_CUSTOM_LOGO_CONVERT +endif + ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y) LINUX_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_LINUX_KERNEL_DEFCONFIG))_defconfig else ifeq ($(BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG),y) @@ -236,13 +276,16 @@ endif LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES)) LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig -# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our -# host-openssl and host-libelf. However, this triggers a bug in the kconfig -# build script that causes it to build with /usr/include/ncurses.h (which is -# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not). -# We don't actually need any host-package for kconfig, so remove the HOSTCC -# override again. -LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)" +# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find +# our host-openssl and host-libelf. However, this triggers a bug in +# the kconfig build script that causes it to build with +# /usr/include/ncurses.h (which is typically wchar) but link with +# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually +# need any host-package for kconfig, so remove the HOSTCC override +# again. In addition, even though linux depends on the toolchain and +# therefore host-ccache would be ready, we use HOSTCC_NOCCACHE for +# consistency with other kconfig packages. +LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC_NOCCACHE)" # If no package has yet set it, set it from the Kconfig option LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES) @@ -278,6 +321,7 @@ define LINUX_KCONFIG_FIXUP_CMDS # replaced later by the real cpio archive, and the kernel will be # rebuilt using the linux-rebuild-with-initramfs target. $(if $(BR2_TARGET_ROOTFS_INITRAMFS), + mkdir -p $(BINARIES_DIR) touch $(BINARIES_DIR)/rootfs.cpio $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_SOURCE,"$${BR_BINARIES_DIR}/rootfs.cpio",$(@D)/.config) $(call KCONFIG_SET_OPT,CONFIG_INITRAMFS_ROOT_UID,0,$(@D)/.config) @@ -290,6 +334,9 @@ define LINUX_KCONFIG_FIXUP_CMDS $(if $(BR2_PACKAGE_AUDIT), $(call KCONFIG_ENABLE_OPT,CONFIG_NET,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_AUDIT,$(@D)/.config)) + $(if $(BR2_PACKAGE_INTEL_MICROCODE), + $(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_MICROCODE_INTEL,$(@D)/.config)) $(if $(BR2_PACKAGE_KTAP), $(call KCONFIG_ENABLE_OPT,CONFIG_DEBUG_FS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_ENABLE_DEFAULT_TRACERS,$(@D)/.config) @@ -297,6 +344,8 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_FUNCTION_TRACER,$(@D)/.config)) $(if $(BR2_PACKAGE_LINUX_TOOLS_PERF), $(call KCONFIG_ENABLE_OPT,CONFIG_PERF_EVENTS,$(@D)/.config)) + $(if $(BR2_PACKAGE_PCM_TOOLS), + $(call KCONFIG_ENABLE_OPT,CONFIG_X86_MSR,$(@D)/.config)) $(if $(BR2_PACKAGE_SYSTEMD), $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config) @@ -308,6 +357,9 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_SMACK,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_SECURITY_NETWORK,$(@D)/.config)) + $(if $(BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER), + $(call KCONFIG_ENABLE_OPT,CONFIG_CMA,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_DMA_CMA,$(@D)/.config)) $(if $(BR2_PACKAGE_IPTABLES), $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_IPTABLES,$(@D)/.config) $(call KCONFIG_ENABLE_OPT,CONFIG_IP_NF_FILTER,$(@D)/.config) @@ -327,19 +379,28 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_ARM_APPENDED_DTB,$(@D)/.config)) $(if $(BR2_PACKAGE_KERNEL_MODULE_IMX_GPU_VIV), $(call KCONFIG_DISABLE_OPT,CONFIG_MXC_GPU_VIV,$(@D)/.config)) + $(if $(LINUX_KERNEL_CUSTOM_LOGO_PATH), + $(call KCONFIG_ENABLE_OPT,CONFIG_FB,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO,$(@D)/.config) + $(call KCONFIG_ENABLE_OPT,CONFIG_LOGO_LINUX_CLUT224,$(@D)/.config)) endef ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y) +# Starting with 4.17, the generated dtc parser code is no longer +# shipped with the kernel sources, so we need flex and bison. For +# reproducibility, we use our owns rather than the host ones. +LINUX_DEPENDENCIES += host-bison host-flex + ifeq ($(BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT),) define LINUX_BUILD_DTB - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(KERNEL_DTBS) + $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_DTBS) endef ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),) define LINUX_INSTALL_DTB # dtbs moved from arch//boot to arch//boot/dts since 3.8-rc1 cp $(addprefix \ - $(KERNEL_ARCH_PATH)/boot/$(if $(wildcard \ - $(addprefix $(KERNEL_ARCH_PATH)/boot/dts/,$(KERNEL_DTBS))),dts/),$(KERNEL_DTBS)) \ + $(LINUX_ARCH_PATH)/boot/$(if $(wildcard \ + $(addprefix $(LINUX_ARCH_PATH)/boot/dts/,$(LINUX_DTBS))),dts/),$(LINUX_DTBS)) \ $(1) endef endif # BR2_LINUX_KERNEL_APPENDED_DTB @@ -349,8 +410,8 @@ endif # BR2_LINUX_KERNEL_DTS_SUPPORT ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y) # dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1 define LINUX_APPEND_DTB - (cd $(KERNEL_ARCH_PATH)/boot; \ - for dtb in $(KERNEL_DTS_NAME); do \ + (cd $(LINUX_ARCH_PATH)/boot; \ + for dtb in $(LINUX_DTS_NAME); do \ if test -e $${dtb}.dtb ; then \ dtbpath=$${dtb}.dtb ; \ else \ @@ -368,10 +429,10 @@ ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y) LINUX_APPEND_DTB += ; \ MKIMAGE_ARGS=`$(MKIMAGE) -l $(LINUX_IMAGE_PATH) |\ sed -n -e 's/Image Name:[ ]*\(.*\)/-n \1/p' -e 's/Load Address:/-a/p' -e 's/Entry Point:/-e/p'`; \ - for dtb in $(KERNEL_DTS_NAME); do \ + for dtb in $(LINUX_DTS_NAME); do \ $(MKIMAGE) -A $(MKIMAGE_ARCH) -O linux \ -T kernel -C none $${MKIMAGE_ARGS} \ - -d $(KERNEL_ARCH_PATH)/boot/zImage.$${dtb} $(LINUX_IMAGE_PATH).$${dtb}; \ + -d $(LINUX_ARCH_PATH)/boot/zImage.$${dtb} $(LINUX_IMAGE_PATH).$${dtb}; \ done endif endif @@ -379,12 +440,12 @@ endif # Compilation. We make sure the kernel gets rebuilt when the # configuration has changed. define LINUX_BUILD_CMDS - @for dts in $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)); do \ - cp -f $${dts} $(KERNEL_ARCH_PATH)/boot/dts/ ; \ - done + $(foreach dts,$(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH)), \ + cp -f $(dts) $(LINUX_ARCH_PATH)/boot/dts/ + ) $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME) - @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ - $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ + @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ + $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ; \ fi $(LINUX_BUILD_DTB) $(LINUX_APPEND_DTB) @@ -395,7 +456,7 @@ ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y) # appended DTBs. define LINUX_INSTALL_IMAGE mkdir -p $(1) - cp $(KERNEL_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME).* $(1) + cp $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME).* $(1) endef else # Otherwise, just install the unique image generated by the kernel @@ -414,13 +475,12 @@ endif define LINUX_INSTALL_HOST_TOOLS # Installing dtc (device tree compiler) as host tool, if selected - if grep -q "CONFIG_DTC=y" $(@D)/.config; then \ - $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \ + if grep -q "CONFIG_DTC=y" $(@D)/.config; then \ + $(INSTALL) -D -m 0755 $(@D)/scripts/dtc/dtc $(HOST_DIR)/bin/linux-dtc ; \ $(if $(BR2_PACKAGE_HOST_DTC),,ln -sf linux-dtc $(HOST_DIR)/bin/dtc;) \ fi endef - define LINUX_INSTALL_IMAGES_CMDS $(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR)) $(call LINUX_INSTALL_DTB,$(BINARIES_DIR)) @@ -434,10 +494,10 @@ define LINUX_INSTALL_TARGET_CMDS $(LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET) # Install modules and remove symbolic links pointing to build # directories, not relevant on the target - @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ + @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \ $(LINUX_MAKE_ENV) $(MAKE1) $(LINUX_MAKE_FLAGS) -C $(@D) modules_install; \ - rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \ - rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \ + rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/build ; \ + rm -f $(TARGET_DIR)/lib/modules/$(LINUX_VERSION_PROBED)/source ; \ fi $(LINUX_INSTALL_HOST_TOOLS) endef @@ -490,9 +550,9 @@ $(error No kernel configuration file specified, check your BR2_LINUX_KERNEL_CUST endif endif -ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(KERNEL_DTS_NAME)),y:) +ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT):$(strip $(LINUX_DTS_NAME)),y:) $(error No kernel device tree source specified, check your \ -BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings) + BR2_LINUX_KERNEL_INTREE_DTS_NAME / BR2_LINUX_KERNEL_CUSTOM_DTS_PATH settings) endif endif # BR_BUILDING diff --git a/bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.hash b/bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.hash new file mode 100644 index 00000000..faa23d0b --- /dev/null +++ b/bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 9ce2c7228dd0ac8d3cc530a32bb92b532bdbc5dfb6a405c245abee678d878697 18xx-ti-utils-R8.7_SP3.tar.gz +sha256 363cef40b276a7a91ebcff3f78626d9cfe5e5a51927c725236007259403d5fc4 COPYING diff --git a/bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.mk b/bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.mk new file mode 100644 index 00000000..d1f0388c --- /dev/null +++ b/bsp/buildroot/package/18xx-ti-utils/18xx-ti-utils.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# 18xx-ti-utils +# +################################################################################ + +18XX_TI_UTILS_VERSION = R8.7_SP3 +18XX_TI_UTILS_SITE = git://git.ti.com/wilink8-wlan/18xx-ti-utils +18XX_TI_UTILS_DEPENDENCIES = libnl +18XX_TI_UTILS_LICENSE = BSD-3-Clause +18XX_TI_UTILS_LICENSE_FILES = COPYING + +18XX_TI_UTILS_CFLAGS = -I$(STAGING_DIR)/usr/include/libnl3 -DCONFIG_LIBNL32 + +ifeq ($(BR2_STATIC_LIBS),y) +18XX_TI_UTILS_BUILD_TARGET = static +endif + +define 18XX_TI_UTILS_BUILD_CMDS + $(TARGET_MAKE_ENV) CROSS_COMPILE=$(TARGET_CROSS) \ + NFSROOT="$(STAGING_DIR)" NLVER=3 $(MAKE) -C $(@D) \ + CFLAGS="$(TARGET_CFLAGS) $(18XX_TI_UTILS_CFLAGS)" \ + $(18XX_TI_UTILS_BUILD_TARGET) +endef + +define 18XX_TI_UTILS_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 $(@D)/calibrator $(TARGET_DIR)/usr/bin/calibrator +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/18xx-ti-utils/Config.in b/bsp/buildroot/package/18xx-ti-utils/Config.in new file mode 100644 index 00000000..571d196e --- /dev/null +++ b/bsp/buildroot/package/18xx-ti-utils/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_18XX_TI_UTILS + bool "18xx-ti-utils" + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBNL + help + TI Wilink calibration utilities. + + CONFIG_NL80211_TESTMODE must be enabled in the kernel + configuration for this package to work. + + http://processors.wiki.ti.com/index.php/WL18xx_TX_Testing + +comment "18xx-ti-utils needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/Config.in b/bsp/buildroot/package/Config.in index 456d5443..cc232b9f 100644 --- a/bsp/buildroot/package/Config.in +++ b/bsp/buildroot/package/Config.in @@ -13,6 +13,7 @@ menu "Audio and video applications" source "package/atest/Config.in" source "package/aumix/Config.in" source "package/bellagio/Config.in" + source "package/bluez-alsa/Config.in" source "package/dvblast/Config.in" source "package/dvdauthor/Config.in" source "package/dvdrw-tools/Config.in" @@ -36,7 +37,6 @@ menu "Audio and video applications" source "package/mpd/Config.in" source "package/mpd-mpc/Config.in" source "package/mpg123/Config.in" - source "package/mplayer/Config.in" source "package/mpv/Config.in" source "package/multicat/Config.in" source "package/musepack/Config.in" @@ -47,7 +47,6 @@ menu "Audio and video applications" source "package/pulseaudio/Config.in" source "package/sox/Config.in" source "package/squeezelite/Config.in" - source "package/tidsp-binaries/Config.in" source "package/tovid/Config.in" source "package/tstools/Config.in" source "package/twolame/Config.in" @@ -70,6 +69,7 @@ menu "Compressors and decompressors" source "package/lzip/Config.in" source "package/lzop/Config.in" source "package/p7zip/Config.in" + source "package/pigz/Config.in" source "package/pixz/Config.in" source "package/unrar/Config.in" source "package/unzip/Config.in" @@ -82,6 +82,7 @@ menu "Debugging, profiling and benchmark" source "package/blktrace/Config.in" source "package/bonnie/Config.in" source "package/cache-calibrator/Config.in" + source "package/clinfo/Config.in" source "package/dhrystone/Config.in" source "package/dieharder/Config.in" source "package/dmalloc/Config.in" @@ -114,6 +115,7 @@ menu "Debugging, profiling and benchmark" source "package/nmon/Config.in" source "package/oprofile/Config.in" source "package/pax-utils/Config.in" + source "package/pcm-tools/Config.in" source "package/pv/Config.in" source "package/racehound/Config.in" source "package/ramsmp/Config.in" @@ -131,6 +133,7 @@ menu "Debugging, profiling and benchmark" source "package/trinity/Config.in" source "package/uclibc-ng-test/Config.in" source "package/valgrind/Config.in" + source "package/vmtouch/Config.in" source "package/whetstone/Config.in" endmenu @@ -141,6 +144,7 @@ menu "Development tools" source "package/check/Config.in" source "package/cmake/Config.in" source "package/cppunit/Config.in" + source "package/cunit/Config.in" source "package/cvs/Config.in" source "package/cxxtest/Config.in" source "package/diffutils/Config.in" @@ -166,6 +170,7 @@ menu "Development tools" endmenu menu "Filesystem and flash utilities" + source "package/abootimg/Config.in" source "package/aufs/Config.in" source "package/aufs-util/Config.in" source "package/autofs/Config.in" @@ -174,6 +179,7 @@ menu "Filesystem and flash utilities" source "package/cpio/Config.in" source "package/cramfs/Config.in" source "package/curlftpfs/Config.in" + source "package/davfs2/Config.in" source "package/dosfstools/Config.in" source "package/e2fsprogs/Config.in" source "package/e2tools/Config.in" @@ -187,6 +193,7 @@ menu "Filesystem and flash utilities" source "package/genext2fs/Config.in" source "package/genpart/Config.in" source "package/genromfs/Config.in" + source "package/imx-usb-loader/Config.in" source "package/mmc-utils/Config.in" source "package/mtd/Config.in" source "package/mtools/Config.in" @@ -197,6 +204,7 @@ menu "Filesystem and flash utilities" source "package/squashfs/Config.in" source "package/sshfs/Config.in" source "package/sunxi-tools/Config.in" + source "package/udftools/Config.in" source "package/unionfs/Config.in" source "package/xfsprogs/Config.in" endmenu @@ -233,6 +241,8 @@ endmenu menu "Games" source "package/chocolate-doom/Config.in" source "package/doom-wad/Config.in" + source "package/flare-engine/Config.in" + source "package/flare-game/Config.in" source "package/gnuchess/Config.in" source "package/lbreakout2/Config.in" source "package/ltris/Config.in" @@ -253,7 +263,6 @@ endmenu menu "Graphic libraries and applications (graphic/text)" comment "Graphic applications" - source "package/expedite/Config.in" source "package/fswebcam/Config.in" source "package/ghostscript/Config.in" source "package/glmark2/Config.in" @@ -262,6 +271,7 @@ comment "Graphic applications" source "package/kmscube/Config.in" source "package/libva-utils/Config.in" source "package/mesa3d-demos/Config.in" + source "package/netsurf/Config.in" source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" @@ -299,16 +309,17 @@ comment "Graphic libraries" source "package/sdl2_mixer/Config.in" source "package/sdl2_net/Config.in" source "package/sdl2_ttf/Config.in" + source "package/tk/Config.in" comment "Other GUIs" - source "package/qt/Config.in" source "package/qt5/Config.in" -if BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + source "package/kf5/Config.in" +if BR2_PACKAGE_QT5 comment "QT libraries and helper libraries" + source "package/cutelyst/Config.in" source "package/grantlee/Config.in" source "package/qextserialport/Config.in" source "package/qjson/Config.in" - source "package/qtuio/Config.in" source "package/quazip/Config.in" source "package/qwt/Config.in" endif @@ -334,6 +345,7 @@ comment "X applications" source "package/qt-webkit-kiosk/Config.in" source "package/rdesktop/Config.in" source "package/synergy/Config.in" + source "package/vte/Config.in" source "package/wmctrl/Config.in" source "package/x11vnc/Config.in" source "package/xdotool/Config.in" @@ -375,6 +387,7 @@ menu "Firmware" source "package/wilink-bt-firmware/Config.in" source "package/zd1211-firmware/Config.in" endmenu + source "package/18xx-ti-utils/Config.in" source "package/a10disp/Config.in" source "package/acpica/Config.in" source "package/acpid/Config.in" @@ -435,7 +448,6 @@ endmenu source "package/iostat/Config.in" source "package/ipmitool/Config.in" source "package/ipmiutil/Config.in" - source "package/iqvlinux/Config.in" source "package/irda-utils/Config.in" source "package/iucode-tool/Config.in" source "package/kbd/Config.in" @@ -477,6 +489,7 @@ endmenu source "package/pdbg/Config.in" source "package/picocom/Config.in" source "package/pifmrds/Config.in" + source "package/pigpio/Config.in" source "package/powertop/Config.in" source "package/pps-tools/Config.in" source "package/pru-software-support/Config.in" @@ -485,13 +498,15 @@ endmenu source "package/rng-tools/Config.in" source "package/rpi-userland/Config.in" source "package/rs485conf/Config.in" + source "package/rtc-tools/Config.in" source "package/rtl8188eu/Config.in" + source "package/rtl8189fs/Config.in" source "package/rtl8723bs/Config.in" source "package/rtl8723bu/Config.in" source "package/rtl8821au/Config.in" - source "package/rtl8189fs/Config.in" source "package/sane-backends/Config.in" source "package/sdparm/Config.in" + source "package/sedutil/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" @@ -504,6 +519,8 @@ endmenu source "package/stm32flash/Config.in" source "package/sunxi-cedarx/Config.in" source "package/sunxi-mali/Config.in" + source "package/sunxi-mali-mainline/Config.in" + source "package/sunxi-mali-mainline-driver/Config.in" source "package/sysstat/Config.in" source "package/targetcli-fb/Config.in" source "package/ti-gfx/Config.in" @@ -537,6 +554,7 @@ menu "Interpreter languages and scripting" source "package/erlang/Config.in" if BR2_PACKAGE_ERLANG menu "Erlang libraries/modules" + source "package/erlang-eimp/Config.in" source "package/erlang-goldrush/Config.in" source "package/erlang-jiffy/Config.in" source "package/erlang-lager/Config.in" @@ -605,11 +623,12 @@ menu "Lua libraries/modules" source "package/lua-msgpack-native/Config.in" source "package/lua-periphery/Config.in" source "package/lua-sdl2/Config.in" + source "package/lua-std-debug/Config.in" + source "package/lua-std-normalize/Config.in" source "package/lua-stdlib/Config.in" source "package/lua-testmore/Config.in" source "package/lua-utf8/Config.in" source "package/luabitop/Config.in" - source "package/luacrypto/Config.in" source "package/luadbi/Config.in" source "package/luadbi-sqlite3/Config.in" source "package/luaexpat/Config.in" @@ -652,44 +671,105 @@ endif source "package/perl/Config.in" if BR2_PACKAGE_PERL menu "Perl libraries/modules" + source "package/perl-apache-logformat-compiler/Config.in" + source "package/perl-appconfig/Config.in" + source "package/perl-astro-suntime/Config.in" + source "package/perl-class-inspector/Config.in" + source "package/perl-class-load/Config.in" + source "package/perl-class-method-modifiers/Config.in" + source "package/perl-class-std/Config.in" + source "package/perl-class-std-fast/Config.in" + source "package/perl-convert-asn1/Config.in" + source "package/perl-cookie-baker/Config.in" + source "package/perl-crypt-blowfish/Config.in" + source "package/perl-crypt-cbc/Config.in" source "package/perl-crypt-openssl-random/Config.in" source "package/perl-crypt-openssl-rsa/Config.in" + source "package/perl-data-dump/Config.in" + source "package/perl-data-optlist/Config.in" + source "package/perl-data-uuid/Config.in" + source "package/perl-date-manip/Config.in" source "package/perl-datetime-tiny/Config.in" + source "package/perl-dbd-mysql/Config.in" + source "package/perl-dbi/Config.in" + source "package/perl-devel-globaldestruction/Config.in" + source "package/perl-devel-stacktrace/Config.in" + source "package/perl-devel-stacktrace-ashtml/Config.in" + source "package/perl-device-serialport/Config.in" source "package/perl-digest-hmac/Config.in" + source "package/perl-digest-md5/Config.in" source "package/perl-digest-sha1/Config.in" + source "package/perl-dist-checkconflicts/Config.in" source "package/perl-encode-detect/Config.in" source "package/perl-encode-locale/Config.in" + source "package/perl-exporter-tiny/Config.in" source "package/perl-file-listing/Config.in" + source "package/perl-file-sharedir/Config.in" + source "package/perl-file-slurp/Config.in" source "package/perl-file-util/Config.in" + source "package/perl-filesys-notify-simple/Config.in" source "package/perl-gd/Config.in" source "package/perl-gdgraph/Config.in" source "package/perl-gdtextutil/Config.in" + source "package/perl-hash-multivalue/Config.in" source "package/perl-html-parser/Config.in" source "package/perl-html-tagset/Config.in" source "package/perl-http-cookies/Config.in" source "package/perl-http-daemon/Config.in" source "package/perl-http-date/Config.in" + source "package/perl-http-entity-parser/Config.in" + source "package/perl-http-headers-fast/Config.in" source "package/perl-http-message/Config.in" + source "package/perl-http-multipartparser/Config.in" source "package/perl-http-negotiate/Config.in" source "package/perl-io-html/Config.in" + source "package/perl-io-interface/Config.in" + source "package/perl-io-socket-multicast/Config.in" source "package/perl-io-socket-ssl/Config.in" + source "package/perl-json-maybexs/Config.in" source "package/perl-json-tiny/Config.in" source "package/perl-libwww-perl/Config.in" source "package/perl-lwp-mediatypes/Config.in" source "package/perl-mail-dkim/Config.in" source "package/perl-mailtools/Config.in" + source "package/perl-mime-base64-urlsafe/Config.in" source "package/perl-mime-base64/Config.in" + source "package/perl-mime-tools/Config.in" + source "package/perl-module-implementation/Config.in" + source "package/perl-module-runtime/Config.in" + source "package/perl-mojolicious-plugin-authentication/Config.in" source "package/perl-mojolicious/Config.in" + source "package/perl-moo/Config.in" source "package/perl-net-dns/Config.in" source "package/perl-net-http/Config.in" + source "package/perl-net-ping/Config.in" + source "package/perl-net-snmp/Config.in" + source "package/perl-net-ssh2/Config.in" source "package/perl-net-ssleay/Config.in" + source "package/perl-net-telnet/Config.in" source "package/perl-netaddr-ip/Config.in" + source "package/perl-number-bytes-human/Config.in" + source "package/perl-package-stash/Config.in" + source "package/perl-params-util/Config.in" source "package/perl-path-tiny/Config.in" - source "package/perl-time-hires/Config.in" + source "package/perl-plack/Config.in" + source "package/perl-posix-strftime-compiler/Config.in" + source "package/perl-role-tiny/Config.in" + source "package/perl-stream-buffered/Config.in" + source "package/perl-sub-exporter-progressive/Config.in" + source "package/perl-sub-quote/Config.in" + source "package/perl-sub-install/Config.in" + source "package/perl-sys-cpu/Config.in" + source "package/perl-sys-meminfo/Config.in" + source "package/perl-sys-mmap/Config.in" + source "package/perl-time-parsedate/Config.in" source "package/perl-timedate/Config.in" source "package/perl-try-tiny/Config.in" + source "package/perl-type-tiny/Config.in" source "package/perl-uri/Config.in" + source "package/perl-www-form-urlencoded/Config.in" source "package/perl-www-robotrules/Config.in" + source "package/perl-x10/Config.in" source "package/perl-xml-libxml/Config.in" source "package/perl-xml-namespacesupport/Config.in" source "package/perl-xml-sax/Config.in" @@ -719,22 +799,35 @@ endif if BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 menu "External python modules" source "package/python-aiocoap/Config.in" + source "package/python-aiodns/Config.in" + source "package/python-aiohttp/Config.in" + source "package/python-aiohttp-jinja2/Config.in" + source "package/python-aiohttp-remotes/Config.in" + source "package/python-aiohttp-security/Config.in" + source "package/python-aiohttp-session/Config.in" + source "package/python-aiohttp-sse/Config.in" + source "package/python-aiorwlock/Config.in" + source "package/python-aiojobs/Config.in" source "package/python-alsaaudio/Config.in" source "package/python-argh/Config.in" source "package/python-arrow/Config.in" source "package/python-asn1crypto/Config.in" + source "package/python-async-timeout/Config.in" source "package/python-attrs/Config.in" source "package/python-autobahn/Config.in" source "package/python-automat/Config.in" source "package/python-babel/Config.in" source "package/python-backports-abc/Config.in" source "package/python-backports-shutil-get-terminal-size/Config.in" + source "package/python-backports-ssl-match-hostname/Config.in" source "package/python-bcrypt/Config.in" source "package/python-beautifulsoup4/Config.in" source "package/python-bitstring/Config.in" source "package/python-bottle/Config.in" + source "package/python-cached-property/Config.in" source "package/python-can/Config.in" source "package/python-cbor/Config.in" + source "package/python-cchardet/Config.in" source "package/python-certifi/Config.in" source "package/python-cffi/Config.in" source "package/python-characteristic/Config.in" @@ -755,6 +848,7 @@ menu "External python modules" source "package/python-cssselect/Config.in" source "package/python-cssutils/Config.in" source "package/python-daemon/Config.in" + source "package/python-daemonize/Config.in" source "package/python-dataproperty/Config.in" source "package/python-dateutil/Config.in" source "package/python-decorator/Config.in" @@ -762,6 +856,9 @@ menu "External python modules" source "package/python-dialog3/Config.in" source "package/python-dicttoxml/Config.in" source "package/python-django/Config.in" + source "package/python-docker/Config.in" + source "package/python-dockerpty/Config.in" + source "package/python-docker-pycreds/Config.in" source "package/python-docopt/Config.in" source "package/python-docutils/Config.in" source "package/python-dominate/Config.in" @@ -770,11 +867,14 @@ menu "External python modules" source "package/python-engineio/Config.in" source "package/python-enum/Config.in" source "package/python-enum34/Config.in" + source "package/python-falcon/Config.in" + source "package/python-fire/Config.in" source "package/python-flask/Config.in" source "package/python-flask-cors/Config.in" source "package/python-flask-babel/Config.in" source "package/python-flask-jsonrpc/Config.in" source "package/python-flask-login/Config.in" + source "package/python-flask-sqlalchemy/Config.in" source "package/python-flup/Config.in" source "package/python-functools32/Config.in" source "package/python-futures/Config.in" @@ -791,6 +891,7 @@ menu "External python modules" source "package/python-id3/Config.in" source "package/python-idna/Config.in" source "package/python-incremental/Config.in" + source "package/python-influxdb/Config.in" source "package/python-iniparse/Config.in" source "package/python-iowait/Config.in" source "package/python-ipaddr/Config.in" @@ -802,10 +903,12 @@ menu "External python modules" source "package/python-itsdangerous/Config.in" source "package/python-jaraco-classes/Config.in" source "package/python-jinja2/Config.in" + source "package/python-jsonmodels/Config.in" source "package/python-jsonschema/Config.in" source "package/python-json-schema-validator/Config.in" source "package/python-keyring/Config.in" source "package/python-libconfig/Config.in" + source "package/python-libusb1/Config.in" source "package/python-lmdb/Config.in" source "package/python-logbook/Config.in" source "package/python-lxml/Config.in" @@ -817,9 +920,11 @@ menu "External python modules" source "package/python-markupsafe/Config.in" source "package/python-mbstrdecoder/Config.in" source "package/python-meld3/Config.in" + source "package/python-mimeparse/Config.in" source "package/python-mistune/Config.in" source "package/python-more-itertools/Config.in" source "package/python-msgpack/Config.in" + source "package/python-multidict/Config.in" source "package/python-mutagen/Config.in" source "package/python-mwclient/Config.in" source "package/python-mwscrape/Config.in" @@ -827,41 +932,54 @@ menu "External python modules" source "package/python-netaddr/Config.in" source "package/python-netifaces/Config.in" source "package/python-networkmanager/Config.in" + source "package/python-networkx/Config.in" source "package/python-nfc/Config.in" source "package/python-numpy/Config.in" source "package/python-oauthlib/Config.in" source "package/python-paho-mqtt/Config.in" source "package/python-pam/Config.in" source "package/python-paramiko/Config.in" + source "package/python-passlib/Config.in" source "package/python-pathlib2/Config.in" source "package/python-pathpy/Config.in" source "package/python-pathtools/Config.in" source "package/python-pathvalidate/Config.in" source "package/python-pexpect/Config.in" source "package/python-pickleshare/Config.in" + source "package/python-pigpio/Config.in" source "package/python-pillow/Config.in" + source "package/python-pip/Config.in" + source "package/python-ply/Config.in" source "package/python-portend/Config.in" source "package/python-posix-ipc/Config.in" source "package/python-priority/Config.in" source "package/python-prompt-toolkit/Config.in" source "package/python-protobuf/Config.in" source "package/python-psutil/Config.in" + source "package/python-psycopg2/Config.in" source "package/python-ptyprocess/Config.in" source "package/python-pudb/Config.in" + source "package/python-py/Config.in" source "package/python-pyasn/Config.in" source "package/python-pyasn-modules/Config.in" + source "package/python-pyasn1/Config.in" + source "package/python-pyasn1-modules/Config.in" + source "package/python-pycares/Config.in" source "package/python-pycli/Config.in" source "package/python-pycparser/Config.in" source "package/python-pycrypto/Config.in" + source "package/python-pycryptodomex/Config.in" source "package/python-pydal/Config.in" source "package/python-pyelftools/Config.in" source "package/python-pyftpdlib/Config.in" source "package/python-pygame/Config.in" source "package/python-pygments/Config.in" + source "package/python-pyhamcrest/Config.in" source "package/python-pyicu/Config.in" source "package/python-pyinotify/Config.in" source "package/python-pylibftdi/Config.in" source "package/python-pylru/Config.in" + source "package/python-pymodbus/Config.in" source "package/python-pymysql/Config.in" source "package/python-pynacl/Config.in" source "package/python-pyopenssl/Config.in" @@ -869,13 +987,13 @@ menu "External python modules" source "package/python-pyparted/Config.in" source "package/python-pypcap/Config.in" source "package/python-pyqrcode/Config.in" - source "package/python-pyqt/Config.in" source "package/python-pyqt5/Config.in" source "package/python-pyratemp/Config.in" source "package/python-pyro/Config.in" source "package/python-pyroute2/Config.in" source "package/python-pysendfile/Config.in" source "package/python-pysmb/Config.in" + source "package/python-pysmi/Config.in" source "package/python-pysnmp/Config.in" source "package/python-pysnmp-apps/Config.in" source "package/python-pysnmp-mibs/Config.in" @@ -890,19 +1008,25 @@ menu "External python modules" source "package/python-pyyaml/Config.in" source "package/python-pyzmq/Config.in" source "package/python-raven/Config.in" + source "package/python-reentry/Config.in" source "package/python-remi/Config.in" + source "package/python-request-id/Config.in" source "package/python-requests/Config.in" source "package/python-requests-oauthlib/Config.in" source "package/python-requests-toolbelt/Config.in" source "package/python-rpi-gpio/Config.in" source "package/python-rtslib-fb/Config.in" source "package/python-scandir/Config.in" + source "package/python-scapy/Config.in" source "package/python-scapy3k/Config.in" source "package/python-schedule/Config.in" source "package/python-sdnotify/Config.in" source "package/python-secretstorage/Config.in" source "package/python-see/Config.in" + source "package/python-semver/Config.in" + source "package/python-sentry-sdk/Config.in" source "package/python-serial/Config.in" + source "package/python-serial-asyncio/Config.in" source "package/python-service-identity/Config.in" source "package/python-setproctitle/Config.in" source "package/python-setuptools/Config.in" @@ -920,10 +1044,12 @@ menu "External python modules" source "package/python-socketio/Config.in" source "package/python-sortedcontainers//Config.in" source "package/python-spidev/Config.in" + source "package/python-sqlalchemy/Config.in" + source "package/python-subprocess32/Config.in" source "package/python-systemd/Config.in" source "package/python-tabledata/Config.in" source "package/python-tempora/Config.in" - source "package/python-typepy/Config.in" + source "package/python-texttable/Config.in" source "package/python-thrift/Config.in" source "package/python-tomako/Config.in" source "package/python-toml/Config.in" @@ -933,27 +1059,39 @@ menu "External python modules" source "package/python-twisted/Config.in" source "package/python-txaio/Config.in" source "package/python-txtorcon/Config.in" + source "package/python-typepy/Config.in" + source "package/python-typing/Config.in" source "package/python-u-msgpack/Config.in" source "package/python-ubjson/Config.in" source "package/python-ujson/Config.in" source "package/python-urllib3/Config.in" source "package/python-urwid/Config.in" + source "package/python-uvloop/Config.in" + source "package/python-validators/Config.in" source "package/python-versiontools/Config.in" + source "package/python-visitor/Config.in" source "package/python-watchdog/Config.in" source "package/python-wcwidth/Config.in" source "package/python-web2py/Config.in" + source "package/python-webob/Config.in" source "package/python-webpy/Config.in" + source "package/python-websocket-client/Config.in" source "package/python-websockets/Config.in" source "package/python-werkzeug/Config.in" source "package/python-whoosh/Config.in" + source "package/python-wrapt/Config.in" source "package/python-ws4py/Config.in" source "package/python-wsaccel/Config.in" + source "package/python-wtforms/Config.in" source "package/python-xlib/Config.in" source "package/python-xlrd/Config.in" source "package/python-xlsxwriter/Config.in" source "package/python-xlutils/Config.in" source "package/python-xlwt/Config.in" source "package/python-xmltodict/Config.in" + source "package/python-yarl/Config.in" + source "package/python-yieldfrom/Config.in" + source "package/python-zeroconf/Config.in" source "package/python-zope-interface/Config.in" endmenu endif @@ -982,6 +1120,7 @@ menu "Audio/Sound" source "package/libcdaudio/Config.in" source "package/libcddb/Config.in" source "package/libcdio/Config.in" + source "package/libcdio-paranoia/Config.in" source "package/libcodec2/Config.in" source "package/libcue/Config.in" source "package/libcuefile/Config.in" @@ -1010,7 +1149,9 @@ menu "Audio/Sound" source "package/opusfile/Config.in" source "package/portaudio/Config.in" source "package/sbc/Config.in" + source "package/spandsp/Config.in" source "package/speex/Config.in" + source "package/speexdsp/Config.in" source "package/taglib/Config.in" source "package/tinyalsa/Config.in" source "package/tremor/Config.in" @@ -1058,6 +1199,7 @@ menu "Crypto" source "package/openssl/Config.in" source "package/rhash/Config.in" source "package/tinydtls/Config.in" + source "package/tpm2-tss/Config.in" source "package/trousers/Config.in" source "package/ustream-ssl/Config.in" source "package/wolfssl/Config.in" @@ -1070,6 +1212,7 @@ menu "Database" source "package/hiredis/Config.in" source "package/kompexsqlite/Config.in" source "package/leveldb/Config.in" + source "package/libgit2/Config.in" source "package/libpqxx/Config.in" source "package/mongodb/Config.in" source "package/mysql/Config.in" @@ -1094,12 +1237,16 @@ endmenu menu "Graphics" source "package/assimp/Config.in" + source "package/at-spi2-atk/Config.in" + source "package/at-spi2-core/Config.in" source "package/atk/Config.in" source "package/atkmm/Config.in" source "package/bullet/Config.in" source "package/cairo/Config.in" source "package/cairomm/Config.in" + source "package/chipmunk/Config.in" source "package/exiv2/Config.in" + source "package/exempi/Config.in" source "package/fltk/Config.in" source "package/fontconfig/Config.in" source "package/freetype/Config.in" @@ -1114,6 +1261,7 @@ menu "Graphics" source "package/harfbuzz/Config.in" source "package/ijs/Config.in" source "package/imlib2/Config.in" + source "package/intel-gmmlib/Config.in" source "package/irrlicht/Config.in" source "package/jasper/Config.in" source "package/jpeg/Config.in" @@ -1166,6 +1314,7 @@ menu "Graphics" source "package/poppler/Config.in" source "package/powervr/Config.in" source "package/tiff/Config.in" + source "package/waffle/Config.in" source "package/wayland/Config.in" source "package/wayland-protocols/Config.in" source "package/waylandpp/Config.in" @@ -1183,6 +1332,7 @@ menu "Hardware handling" source "package/ccid/Config.in" source "package/dtc/Config.in" source "package/gnu-efi/Config.in" + source "package/hackrf/Config.in" source "package/hidapi/Config.in" source "package/lcdapi/Config.in" source "package/let-me-create/Config.in" @@ -1239,6 +1389,7 @@ menu "External AngularJS plugins" endmenu endif source "package/bootstrap/Config.in" + source "package/duktape/Config.in" source "package/explorercanvas/Config.in" source "package/flot/Config.in" source "package/jquery/Config.in" @@ -1328,6 +1479,7 @@ menu "Multimedia" source "package/libmpeg2/Config.in" source "package/libogg/Config.in" source "package/libopenh264/Config.in" + source "package/libopusenc/Config.in" source "package/libplayer/Config.in" source "package/libtheora/Config.in" source "package/libvpx/Config.in" @@ -1347,6 +1499,7 @@ menu "Networking" source "package/azmq/Config.in" source "package/azure-iot-sdk-c/Config.in" source "package/batman-adv/Config.in" + source "package/bluez5_utils-headers/Config.in" source "package/c-ares/Config.in" source "package/canfestival/Config.in" source "package/cgic/Config.in" @@ -1354,12 +1507,14 @@ menu "Networking" source "package/curlpp/Config.in" source "package/czmq/Config.in" source "package/daq/Config.in" + source "package/davici/Config.in" source "package/filemq/Config.in" source "package/flickcurl/Config.in" source "package/fmlib/Config.in" source "package/freeradius-client/Config.in" source "package/geoip/Config.in" source "package/glib-networking/Config.in" + source "package/grpc/Config.in" source "package/gssdp/Config.in" source "package/gupnp/Config.in" source "package/gupnp-av/Config.in" @@ -1377,7 +1532,9 @@ menu "Networking" source "package/libgsasl/Config.in" source "package/libhttpparser/Config.in" source "package/libidn/Config.in" + source "package/libidn2/Config.in" source "package/libiscsi/Config.in" + source "package/libkrb5/Config.in" source "package/libldns/Config.in" source "package/libmaxminddb/Config.in" source "package/libmbus/Config.in" @@ -1402,6 +1559,7 @@ menu "Networking" source "package/liboauth/Config.in" source "package/liboping/Config.in" source "package/libosip2/Config.in" + source "package/libpagekite/Config.in" source "package/libpcap/Config.in" source "package/libpjsip/Config.in" source "package/librsync/Config.in" @@ -1413,6 +1571,7 @@ menu "Networking" source "package/libstrophe/Config.in" source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" + source "package/libtorrent-rasterbar/Config.in" source "package/libupnp/Config.in" source "package/libupnp18/Config.in" source "package/libupnpp/Config.in" @@ -1424,8 +1583,10 @@ menu "Networking" source "package/mongoose/Config.in" source "package/nanomsg/Config.in" source "package/neon/Config.in" + source "package/nghttp2/Config.in" source "package/norm/Config.in" source "package/nss-mdns/Config.in" + source "package/nss-myhostname/Config.in" source "package/nss-pam-ldapd/Config.in" source "package/omniorb/Config.in" source "package/openldap/Config.in" @@ -1443,6 +1604,8 @@ menu "Networking" source "package/sofia-sip/Config.in" source "package/thrift/Config.in" source "package/usbredir/Config.in" + source "package/wampcc/Config.in" + source "package/websocketpp/Config.in" source "package/zeromq/Config.in" source "package/zmqpp/Config.in" source "package/zyre/Config.in" @@ -1457,17 +1620,22 @@ menu "Other" source "package/bctoolbox/Config.in" source "package/bdwgc/Config.in" source "package/boost/Config.in" + source "package/capnproto/Config.in" + source "package/clang/Config.in" source "package/clapack/Config.in" source "package/classpath/Config.in" + source "package/cmocka/Config.in" source "package/cppcms/Config.in" source "package/cracklib/Config.in" source "package/dawgdic/Config.in" source "package/ding-libs/Config.in" source "package/eigen/Config.in" source "package/elfutils/Config.in" + source "package/ell/Config.in" source "package/fftw/Config.in" source "package/flann/Config.in" source "package/flatbuffers/Config.in" + source "package/flatcc/Config.in" source "package/gconf/Config.in" source "package/gflags/Config.in" source "package/glibmm/Config.in" @@ -1484,11 +1652,14 @@ menu "Other" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" source "package/libcgroup/Config.in" + source "package/libclc/Config.in" source "package/libcofi/Config.in" + source "package/libcorrect/Config.in" source "package/libcroco/Config.in" source "package/libcrossguid/Config.in" source "package/libcsv/Config.in" source "package/libdaemon/Config.in" + source "package/libeastl/Config.in" source "package/libee/Config.in" source "package/libev/Config.in" source "package/libevdev/Config.in" @@ -1529,6 +1700,7 @@ comment "linux-pam plugins" source "package/libpam-tacplus/Config.in" endif source "package/liquid-dsp/Config.in" + source "package/llvm/Config.in" source "package/lttng-libust/Config.in" source "package/mpc/Config.in" source "package/mpdecimal/Config.in" @@ -1553,6 +1725,7 @@ endif source "package/tinycbor/Config.in" source "package/tz/Config.in" source "package/tzdata/Config.in" + source "package/xapian/Config.in" endmenu menu "Security" @@ -1641,12 +1814,14 @@ menu "Networking applications" source "package/batctl/Config.in" source "package/bcusdk/Config.in" source "package/bind/Config.in" + source "package/bird/Config.in" source "package/bluez-tools/Config.in" source "package/bluez_utils/Config.in" source "package/bluez5_utils/Config.in" source "package/bmon/Config.in" source "package/boa/Config.in" source "package/boinc/Config.in" + source "package/brcm-patchram-plus/Config.in" source "package/bridge-utils/Config.in" source "package/bwm-ng/Config.in" source "package/c-icap/Config.in" @@ -1658,12 +1833,14 @@ menu "Networking applications" source "package/connman/Config.in" source "package/connman-gtk/Config.in" source "package/conntrack-tools/Config.in" + source "package/corkscrew/Config.in" source "package/crda/Config.in" source "package/ctorrent/Config.in" source "package/cups/Config.in" source "package/cups-filters/Config.in" source "package/dante/Config.in" source "package/darkhttpd/Config.in" + source "package/dehydrated/Config.in" source "package/dhcp/Config.in" source "package/dhcpcd/Config.in" source "package/dhcpdump/Config.in" @@ -1674,6 +1851,7 @@ menu "Networking applications" source "package/ejabberd/Config.in" source "package/ethtool/Config.in" source "package/faifa/Config.in" + source "package/fail2ban/Config.in" source "package/fastd/Config.in" source "package/fcgiwrap/Config.in" source "package/flannel/Config.in" @@ -1681,15 +1859,18 @@ menu "Networking applications" source "package/fping/Config.in" source "package/freeswitch/Config.in" source "package/freeswitch-mod-bcg729/Config.in" + source "package/gerbera/Config.in" source "package/gesftpserver/Config.in" source "package/glorytun/Config.in" source "package/gupnp-tools/Config.in" source "package/gutenprint/Config.in" source "package/hans/Config.in" + source "package/haproxy/Config.in" source "package/hiawatha/Config.in" source "package/hostapd/Config.in" source "package/hplip/Config.in" source "package/httping/Config.in" + source "package/i2pd/Config.in" source "package/ibrdtn-tools/Config.in" source "package/ibrdtnd/Config.in" source "package/ifenslave/Config.in" @@ -1712,6 +1893,7 @@ menu "Networking applications" source "package/iputils/Config.in" source "package/irssi/Config.in" source "package/iw/Config.in" + source "package/iwd/Config.in" source "package/janus-gateway/Config.in" source "package/keepalived/Config.in" source "package/kismet/Config.in" @@ -1731,6 +1913,7 @@ menu "Networking applications" source "package/macchanger/Config.in" source "package/memcached/Config.in" source "package/mii-diag/Config.in" + source "package/mini-snmpd/Config.in" source "package/minidlna/Config.in" source "package/minissdpd/Config.in" source "package/mjpg-streamer/Config.in" @@ -1776,6 +1959,7 @@ endif source "package/open-plc-utils/Config.in" source "package/openntpd/Config.in" source "package/openobex/Config.in" + source "package/openresolv/Config.in" source "package/openssh/Config.in" source "package/openswan/Config.in" source "package/openvpn/Config.in" @@ -1783,6 +1967,7 @@ endif source "package/phidgetwebservice/Config.in" source "package/phytool/Config.in" source "package/pimd/Config.in" + source "package/pixiewps/Config.in" source "package/pound/Config.in" source "package/pppd/Config.in" source "package/pptp-linux/Config.in" @@ -1797,6 +1982,7 @@ endif source "package/quagga/Config.in" source "package/rabbitmq-server/Config.in" source "package/radvd/Config.in" + source "package/reaver/Config.in" source "package/rp-pppoe/Config.in" source "package/rpcbind/Config.in" source "package/rsh-redone/Config.in" @@ -1809,10 +1995,12 @@ endif source "package/samba4/Config.in" source "package/sconeserver/Config.in" source "package/ser2net/Config.in" + source "package/shadowsocks-libev/Config.in" source "package/shairport-sync/Config.in" source "package/shellinabox/Config.in" source "package/smcroute/Config.in" source "package/sngrep/Config.in" + source "package/snort/Config.in" source "package/socat/Config.in" source "package/socketcand/Config.in" source "package/softether/Config.in" @@ -1831,7 +2019,6 @@ endif source "package/thttpd/Config.in" source "package/tinc/Config.in" source "package/tinyhttpd/Config.in" - source "package/tn5250/Config.in" source "package/tor/Config.in" source "package/traceroute/Config.in" source "package/transmission/Config.in" @@ -1905,6 +2092,7 @@ comment "Shells" source "package/zsh/Config.in" comment "Utilities" source "package/at/Config.in" + source "package/bash-completion/Config.in" source "package/ccrypt/Config.in" source "package/crudini/Config.in" source "package/dialog/Config.in" @@ -1924,6 +2112,7 @@ comment "Utilities" source "package/sudo/Config.in" source "package/terminology/Config.in" source "package/time/Config.in" + source "package/tini/Config.in" source "package/tmux/Config.in" source "package/which/Config.in" source "package/xmlstarlet/Config.in" @@ -1936,7 +2125,6 @@ menu "System tools" source "package/atop/Config.in" source "package/attr/Config.in" source "package/audit/Config.in" - source "package/bootutils/Config.in" source "package/cgroupfs-mount/Config.in" source "package/circus/Config.in" source "package/coreutils/Config.in" @@ -1946,10 +2134,11 @@ menu "System tools" source "package/dcron/Config.in" source "package/ddrescue/Config.in" source "package/debianutils/Config.in" + source "package/docker-cli/Config.in" + source "package/docker-compose/Config.in" source "package/docker-containerd/Config.in" source "package/docker-engine/Config.in" source "package/docker-proxy/Config.in" - source "package/dsp-tools/Config.in" source "package/efibootmgr/Config.in" source "package/efivar/Config.in" source "package/emlog/Config.in" @@ -1965,11 +2154,13 @@ menu "System tools" source "package/kvmtool/Config.in" source "package/libostree/Config.in" source "package/lxc/Config.in" + source "package/mender/Config.in" source "package/monit/Config.in" source "package/ncdu/Config.in" source "package/numactl/Config.in" source "package/nut/Config.in" source "package/openvmtools/Config.in" + source "package/pamtester/Config.in" source "package/polkit/Config.in" source "package/powerpc-utils/Config.in" source "package/procps-ng/Config.in" @@ -1977,6 +2168,7 @@ menu "System tools" source "package/psmisc/Config.in" source "package/pwgen/Config.in" source "package/quota/Config.in" + source "package/quotatool/Config.in" source "package/rauc/Config.in" source "package/rsyslog/Config.in" source "package/runc/Config.in" @@ -1998,6 +2190,8 @@ menu "System tools" source "package/sysvinit/Config.in" source "package/tar/Config.in" source "package/tpm-tools/Config.in" + source "package/tpm2-abrmd/Config.in" + source "package/tpm2-tools/Config.in" source "package/unscd/Config.in" source "package/util-linux/Config.in" source "package/xen/Config.in" diff --git a/bsp/buildroot/package/Config.in.host b/bsp/buildroot/package/Config.in.host index 199a8e98..b4c501a3 100644 --- a/bsp/buildroot/package/Config.in.host +++ b/bsp/buildroot/package/Config.in.host @@ -2,9 +2,11 @@ menu "Host utilities" source "package/aespipe/Config.in.host" source "package/android-tools/Config.in.host" + source "package/btrfs-progs/Config.in.host" source "package/cargo/Config.in.host" source "package/cbootimage/Config.in.host" source "package/checkpolicy/Config.in.host" + source "package/checksec/Config.in.host" source "package/cmake/Config.in.host" source "package/cramfs/Config.in.host" source "package/cryptsetup/Config.in.host" @@ -14,6 +16,7 @@ menu "Host utilities" source "package/dtc/Config.in.host" source "package/e2fsprogs/Config.in.host" source "package/e2tools/Config.in.host" + source "package/f2fs-tools/Config.in.host" source "package/faketime/Config.in.host" source "package/fwup/Config.in.host" source "package/genext2fs/Config.in.host" @@ -24,6 +27,7 @@ menu "Host utilities" source "package/go-bootstrap/Config.in.host" source "package/google-breakpad/Config.in.host" source "package/gptfdisk/Config.in.host" + source "package/imx-mkimage/Config.in.host" source "package/imx-usb-loader/Config.in.host" source "package/jq/Config.in.host" source "package/jsmin/Config.in.host" @@ -42,22 +46,28 @@ menu "Host utilities" source "package/pkgconf/Config.in.host" source "package/pru-software-support/Config.in.host" source "package/pwgen/Config.in.host" + source "package/python-cython/Config.in.host" source "package/python-lxml/Config.in.host" source "package/python-six/Config.in.host" + source "package/python-xlrd/Config.in.host" source "package/qemu/Config.in.host" source "package/raspberrypi-usbboot/Config.in.host" source "package/rauc/Config.in.host" + source "package/rcw/Config.in.host" source "package/rustc/Config.in.host" source "package/s6-rc/Config.in.host" source "package/sam-ba/Config.in.host" source "package/squashfs/Config.in.host" source "package/sunxi-tools/Config.in.host" + source "package/swig/Config.in.host" source "package/tegrarcm/Config.in.host" source "package/ti-cgt-pru/Config.in.host" source "package/uboot-tools/Config.in.host" source "package/util-linux/Config.in.host" + source "package/utp_com/Config.in.host" source "package/vboot-utils/Config.in.host" source "package/xorriso/Config.in.host" source "package/zip/Config.in.host" + source "package/zstd/Config.in.host" endmenu diff --git a/bsp/buildroot/package/Makefile.in b/bsp/buildroot/package/Makefile.in index 58af2ef2..dc818a2c 100644 --- a/bsp/buildroot/package/Makefile.in +++ b/bsp/buildroot/package/Makefile.in @@ -128,6 +128,9 @@ endif ifeq ($(BR2_OPTIMIZE_S),y) TARGET_OPTIMIZATION = -Os endif +ifeq ($(BR2_OPTIMIZE_FAST),y) +TARGET_OPTIMIZATION = -Ofast +endif ifeq ($(BR2_DEBUG_1),y) TARGET_DEBUGGING = -g1 endif @@ -138,38 +141,34 @@ ifeq ($(BR2_DEBUG_3),y) TARGET_DEBUGGING = -g3 endif -TARGET_CFLAGS_RELRO = -Wl,-z,relro -TARGET_CFLAGS_RELRO_FULL = -Wl,-z,now $(TARGET_CFLAGS_RELRO) - TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS)) -ifeq ($(BR2_SSP_REGULAR),y) -TARGET_CPPFLAGS += -fstack-protector -else ifeq ($(BR2_SSP_STRONG),y) -TARGET_CPPFLAGS += -fstack-protector-strong -else ifeq ($(BR2_SSP_ALL),y) -TARGET_CPPFLAGS += -fstack-protector-all -endif - -ifeq ($(BR2_RELRO_PARTIAL),y) -TARGET_CPPFLAGS += $(TARGET_CFLAGS_RELRO) -TARGET_LDFLAGS += $(TARGET_CFLAGS_RELRO) -else ifeq ($(BR2_RELRO_FULL),y) -TARGET_CPPFLAGS += -fPIE $(TARGET_CFLAGS_RELRO_FULL) -TARGET_LDFLAGS += -pie -endif - +# By design, _FORTIFY_SOURCE requires gcc optimization to be enabled. +# Therefore, we need to pass _FORTIFY_SOURCE and the optimization level +# through the same mechanism, i.e currently through CFLAGS. Passing +# _FORTIFY_SOURCE through the wrapper and the optimization level +# through CFLAGS would not work, because CFLAGS are sometimes +# ignored/overridden by packages, but the flags passed by the wrapper +# are enforced: this would cause _FORTIFY_SOURCE to be used without any +# optimization level, leading to a build / configure failure. So we keep +# passing _FORTIFY_SOURCE and the optimization level both through CFLAGS. ifeq ($(BR2_FORTIFY_SOURCE_1),y) -TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=1 +TARGET_HARDENED += -D_FORTIFY_SOURCE=1 else ifeq ($(BR2_FORTIFY_SOURCE_2),y) -TARGET_CPPFLAGS += -D_FORTIFY_SOURCE=2 +TARGET_HARDENED += -D_FORTIFY_SOURCE=2 endif TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) +TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) $(TARGET_HARDENED) TARGET_CXXFLAGS = $(TARGET_CFLAGS) TARGET_FCFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING) +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 +ifeq ($(BR2_m68k_cf),y) +TARGET_CFLAGS += -fno-dwarf2-cfi-asm +TARGET_CXXFLAGS += -fno-dwarf2-cfi-asm +endif + ifeq ($(BR2_BINFMT_FLAT),y) TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\ -Wl$(comma)-elf2flt) @@ -186,12 +185,6 @@ TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0 TARGET_FCFLAGS += -mid-shared-library -mshared-library-id=0 TARGET_CXXFLAGS += -mid-shared-library -mshared-library-id=0 endif -ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y) -TARGET_LDFLAGS += -msep-data -TARGET_CFLAGS += -msep-data -TARGET_FCFLAGS += -msep-data -TARGET_CXXFLAGS += -msep-data -endif ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) TARGET_CROSS = $(HOST_DIR)/bin/$(GNU_TARGET_NAME)- @@ -222,8 +215,6 @@ TARGET_STRIP = /bin/true STRIPCMD = $(TARGET_STRIP) endif INSTALL := $(shell which install || type -p install) -FLEX := $(shell which flex || type -p flex) -BISON := $(shell which bison || type -p bison) UNZIP := $(shell which unzip || type -p unzip) -q APPLY_PATCHES = PATH=$(HOST_DIR)/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s) @@ -449,3 +440,5 @@ include package/pkg-kconfig.mk include package/pkg-rebar.mk include package/pkg-kernel-module.mk include package/pkg-waf.mk +include package/pkg-golang.mk +include package/pkg-meson.mk diff --git a/bsp/buildroot/package/abootimg/Config.in b/bsp/buildroot/package/abootimg/Config.in new file mode 100644 index 00000000..30e5bd1f --- /dev/null +++ b/bsp/buildroot/package/abootimg/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_ABOOTIMG + bool "abootimg" + depends on BR2_USE_MMU # libblkid + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + help + Tool to manipulate Android Boot Images, either on files + or directly on /dev block devices. + + https://github.com/ggrandou/abootimg diff --git a/bsp/buildroot/package/abootimg/abootimg.hash b/bsp/buildroot/package/abootimg/abootimg.hash new file mode 100644 index 00000000..fa5282c6 --- /dev/null +++ b/bsp/buildroot/package/abootimg/abootimg.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 eb8d912bc7b5454c2afd3385fd86f4917d3587c48a6f5ae45df7856d88502cab abootimg-7e127fee6a3981f6b0a50ce9910267cd501e09d4.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/bsp/buildroot/package/abootimg/abootimg.mk b/bsp/buildroot/package/abootimg/abootimg.mk new file mode 100644 index 00000000..e9065469 --- /dev/null +++ b/bsp/buildroot/package/abootimg/abootimg.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# abootimg +# +################################################################################ + +ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4 +ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION)) +ABOOTIMG_LICENSE = GPL-2.0+ +ABOOTIMG_LICENSE_FILES = LICENSE + +# depends on libblkid from util-linux +ABOOTIMG_DEPENDENCIES = util-linux + +define ABOOTIMG_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define ABOOTIMG_INSTALL_TARGET_CMDS + $(INSTALL) -m 0755 $(@D)/abootimg $(TARGET_DIR)/usr/bin/abootimg +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/acpica/acpica.mk b/bsp/buildroot/package/acpica/acpica.mk index 57cc37f8..c5400619 100644 --- a/bsp/buildroot/package/acpica/acpica.mk +++ b/bsp/buildroot/package/acpica/acpica.mk @@ -10,6 +10,7 @@ ACPICA_SITE = https://acpica.org/sites/acpica/files ACPICA_LICENSE = BSD-3-Clause or GPL-2.0 ACPICA_LICENSE_FILES = source/include/acpi.h ACPICA_DEPENDENCIES = host-bison host-flex +HOST_ACPICA_DEPENDENCIES = host-bison host-flex define ACPICA_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ diff --git a/bsp/buildroot/package/acpid/Config.in b/bsp/buildroot/package/acpid/Config.in index 2bd83ea8..0c8ecf24 100644 --- a/bsp/buildroot/package/acpid/Config.in +++ b/bsp/buildroot/package/acpid/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_ACPID bool "acpid" - depends on BR2_x86_64 || BR2_i386 + depends on BR2_USE_MMU # fork() help Advanced Configuration and Power Interface event daemon. diff --git a/bsp/buildroot/package/acpid/S02acpid b/bsp/buildroot/package/acpid/S02acpid old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/acpid/acpid.hash b/bsp/buildroot/package/acpid/acpid.hash index 9cf91d93..02862196 100644 --- a/bsp/buildroot/package/acpid/acpid.hash +++ b/bsp/buildroot/package/acpid/acpid.hash @@ -1,3 +1,3 @@ # From https://sourceforge.net/projects/acpid2/files/ -md5 0432407b5ff75ae8e08afb43052fde2b acpid-2.0.28.tar.xz -sha1 a5cb34d53eb6965293c436db23dc81550273975b acpid-2.0.28.tar.xz +md5 1528040b5d34f8c24ebabd97befbf913 acpid-2.0.30.tar.xz +sha1 680bbb3fa9cdabb78fb19c6d24bb57224fbbbaed acpid-2.0.30.tar.xz diff --git a/bsp/buildroot/package/acpid/acpid.mk b/bsp/buildroot/package/acpid/acpid.mk index 87378d81..adcc1757 100644 --- a/bsp/buildroot/package/acpid/acpid.mk +++ b/bsp/buildroot/package/acpid/acpid.mk @@ -4,12 +4,20 @@ # ################################################################################ -ACPID_VERSION = 2.0.28 +ACPID_VERSION = 2.0.30 ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz ACPID_SITE = http://downloads.sourceforge.net/project/acpid2 ACPID_LICENSE = GPL-2.0+ ACPID_LICENSE_FILES = COPYING +define ACPID_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 package/acpid/acpid.service \ + $(TARGET_DIR)/usr/lib/systemd/system/acpid.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/acpid.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/acpid.service +endef + define ACPID_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/acpid/S02acpid \ $(TARGET_DIR)/etc/init.d/S02acpid diff --git a/bsp/buildroot/package/acpid/acpid.service b/bsp/buildroot/package/acpid/acpid.service new file mode 100644 index 00000000..5252b52f --- /dev/null +++ b/bsp/buildroot/package/acpid/acpid.service @@ -0,0 +1,9 @@ +[Unit] +Description=ACPI event daemon +Documentation=man:acpid(8) + +[Service] +ExecStart=/usr/sbin/acpid --foreground --netlink + +[Install] +WantedBy=multi-user.target diff --git a/bsp/buildroot/package/acpitool/Config.in b/bsp/buildroot/package/acpitool/Config.in index a6f082cc..2600a789 100644 --- a/bsp/buildroot/package/acpitool/Config.in +++ b/bsp/buildroot/package/acpitool/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_ACPITOOL bool "acpitool" - depends on !BR2_bfin depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP @@ -11,6 +10,5 @@ config BR2_PACKAGE_ACPITOOL http://acpitool.sourceforge.net comment "acpitool needs a toolchain w/ threads, C++, dynamic library" - depends on !BR2_bfin depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ || !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/acsccid/acsccid.mk b/bsp/buildroot/package/acsccid/acsccid.mk index 06a04185..a59a16d7 100644 --- a/bsp/buildroot/package/acsccid/acsccid.mk +++ b/bsp/buildroot/package/acsccid/acsccid.mk @@ -11,5 +11,6 @@ ACSCCID_LICENSE = LGPL-2.1+ ACSCCID_LICENSE_FILES = COPYING ACSCCID_INSTALL_STAGING = YES ACSCCID_DEPENDENCIES = pcsc-lite host-flex host-pkgconf libusb +ACSCCID_CONF_OPTS = --enable-usbdropdir=/usr/lib/pcsc/drivers $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/aircrack-ng/0001-stack-protector.patch b/bsp/buildroot/package/aircrack-ng/0001-stack-protector.patch deleted file mode 100644 index 5f2bd1b1..00000000 --- a/bsp/buildroot/package/aircrack-ng/0001-stack-protector.patch +++ /dev/null @@ -1,58 +0,0 @@ -Added option to disable stack-protector support auto-detection in gcc. - -Downloaded from upstream commit: -http://trac.aircrack-ng.org/changeset/2889/ - -Signed-off-by: Bernd Kuhls - -Index: /trunk/INSTALLING -=================================================================== ---- trunk/INSTALLING (revision 2888) -+++ trunk/INSTALLING (revision 2889) -@@ -83,4 +83,6 @@ - * macport: Set this flag to true to compile on OS X with macports. - -+* stackprotector: Allows to enable/disable auto-detection of stack-protector support in gcc -+ - Example: - -Index: /trunk/common.mak -=================================================================== ---- trunk/common.mak (revision 2888) -+++ trunk/common.mak (revision 2889) -@@ -64,4 +64,13 @@ - ifeq ($(PCRE), true) - COMMON_CFLAGS += $(shell $(PKG_CONFIG) --cflags libpcre) -DHAVE_PCRE -+endif -+ -+STACK_PROTECTOR = true -+ifeq ($(stackprotector), false) -+ STACK_PROTECTOR = false -+endif -+ -+ifeq ($(STACKPROTECTOR), false) -+ STACK_PROTECTOR = false - endif - -@@ -235,12 +244,14 @@ - endif - --ifeq ($(GCC_OVER49), 0) -- ifeq ($(GCC_OVER41), 1) -- COMMON_CFLAGS += -fstack-protector -+ifeq ($(STACK_PROTECTOR), true) -+ ifeq ($(GCC_OVER49), 0) -+ ifeq ($(GCC_OVER41), 1) -+ COMMON_CFLAGS += -fstack-protector -+ endif - endif --endif -- --ifeq ($(GCC_OVER49), 1) -- COMMON_CFLAGS += -fstack-protector-strong -+ -+ ifeq ($(GCC_OVER49), 1) -+ COMMON_CFLAGS += -fstack-protector-strong -+ endif - endif - diff --git a/bsp/buildroot/package/aircrack-ng/Config.in b/bsp/buildroot/package/aircrack-ng/Config.in index 12fda1cb..f3e2bc4e 100644 --- a/bsp/buildroot/package/aircrack-ng/Config.in +++ b/bsp/buildroot/package/aircrack-ng/Config.in @@ -3,11 +3,8 @@ config BR2_PACKAGE_AIRCRACK_NG depends on BR2_USE_MMU # uses fork() depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP - # libnl has issues when linking statically - # they need fixing in libnl itself - select BR2_PACKAGE_LIBNL if !BR2_STATIC_LIBS - select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_ZLIB + depends on !BR2_STATIC_LIBS # dlfcn.h + select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT help A set of tools for auditing wireless networks @@ -16,6 +13,7 @@ config BR2_PACKAGE_AIRCRACK_NG http://www.aircrack-ng.org/ -comment "aircrack-ng needs a toolchain w/ threads, C++" +comment "aircrack-ng needs a toolchain w/ dynamic library, threads, C++" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/aircrack-ng/aircrack-ng.hash b/bsp/buildroot/package/aircrack-ng/aircrack-ng.hash index e210ad2e..d8a171dc 100644 --- a/bsp/buildroot/package/aircrack-ng/aircrack-ng.hash +++ b/bsp/buildroot/package/aircrack-ng/aircrack-ng.hash @@ -1,3 +1,6 @@ # From http://www.aircrack-ng.org/downloads.html -sha1 2b2fbe50fedb606b3bd96a34d49f07760e8e618a aircrack-ng-1.2-rc4.tar.gz -md5 3bbc7d5035a98ec01e78774d05c3fcce aircrack-ng-1.2-rc4.tar.gz +sha1 7b63c7ce01cb65a4775833c6cadf7ddd82bf46d5 aircrack-ng-1.5.2.tar.gz +md5 2648c192d206e953c67dca64967d2982 aircrack-ng-1.5.2.tar.gz + +# Hash for license file: +sha256 fc51fd3a97223f2fd47b057202d4a6b0daaedf23b5a1f5ff8723c192fc1e021d LICENSE diff --git a/bsp/buildroot/package/aircrack-ng/aircrack-ng.mk b/bsp/buildroot/package/aircrack-ng/aircrack-ng.mk index 6b384c07..a6db384b 100644 --- a/bsp/buildroot/package/aircrack-ng/aircrack-ng.mk +++ b/bsp/buildroot/package/aircrack-ng/aircrack-ng.mk @@ -4,69 +4,73 @@ # ################################################################################ -AIRCRACK_NG_VERSION = 1.2-rc4 +AIRCRACK_NG_VERSION = 1.5.2 AIRCRACK_NG_SITE = http://download.aircrack-ng.org AIRCRACK_NG_LICENSE = GPL-2.0+ AIRCRACK_NG_LICENSE_FILES = LICENSE -AIRCRACK_NG_DEPENDENCIES = openssl zlib host-pkgconf +AIRCRACK_NG_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_CMOCKA),cmocka) \ + $(if $(BR2_PACKAGE_LIBNL),libnl) \ + $(if $(BR2_PACKAGE_OPENSSL),openssl) \ + $(if $(BR2_PACKAGE_PCRE),pcre) \ + $(if $(BR2_PACKAGE_ZLIB),zlib) \ + host-pkgconf +AIRCRACK_NG_AUTORECONF = YES # Enable buddy-ng, easside-ng, tkiptun-ng, wesside-ng -AIRCRACK_NG_MAKE_OPTS = unstable=true - -# Account for libpthread in static -AIRCRACK_NG_LDFLAGS = $(TARGET_LDFLAGS) \ - $(if $(BR2_STATIC_LIBS),-lpthread -lz) - -# libnl support has issues when building static -ifeq ($(BR2_STATIC_LIBS),y) -AIRCRACK_NG_MAKE_OPTS += libnl=false -else -AIRCRACK_NG_MAKE_OPTS += libnl=true -AIRCRACK_NG_DEPENDENCIES += libnl -endif +AIRCRACK_NG_CONF_OPTS = --with-experimental ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) -AIRCRACK_NG_MAKE_OPTS += STACK_PROTECTOR=true +AIRCRACK_NG_CONF_OPTS += --with-opt else -AIRCRACK_NG_MAKE_OPTS += STACK_PROTECTOR=false +AIRCRACK_NG_CONF_OPTS += --without-opt +endif + +ifeq ($(BR2_PACKAGE_DUMA),y) +AIRCRACK_NG_DEPENDENCIES += duma +AIRCRACK_NG_CONF_OPTS += --with-duma +else +AIRCRACK_NG_CONF_OPTS += --without-duma +endif + +ifeq ($(BR2_PACKAGE_HWLOC),y) +AIRCRACK_NG_DEPENDENCIES += hwloc +AIRCRACK_NG_CONF_OPTS += --enable-hwloc +else +AIRCRACK_NG_CONF_OPTS += --disable-hwloc +endif + +ifeq ($(BR2_PACKAGE_JEMALLOC),y) +AIRCRACK_NG_DEPENDENCIES += jemalloc +AIRCRACK_NG_CONF_OPTS += --with-jemalloc +else +AIRCRACK_NG_CONF_OPTS += --without-jemalloc +endif + +ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) +AIRCRACK_NG_DEPENDENCIES += libgcrypt +AIRCRACK_NG_CONF_OPTS += \ + --with-gcrypt \ + --with-libgcrypt-prefix=$(STAGING_DIR)/usr +else +AIRCRACK_NG_CONF_OPTS += --without-gcrypt endif ifeq ($(BR2_PACKAGE_LIBPCAP),y) AIRCRACK_NG_DEPENDENCIES += libpcap -AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=yes \ - $(if $(BR2_STATIC_LIBS),LIBPCAP="-lpcap `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`") -else -AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=no +AIRCRACK_NG_CONF_OPTS += \ + --with-libpcap-include=$(STAGING_DIR)/usr/include \ + --with-libpcap-lib=$(STAGING_DIR)/usr/lib +ifeq ($(BR2_STATIC_LIBS),y) +AIRCRACK_NG_CONF_ENV += \ + LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" +endif endif -ifeq ($(BR2_PACKAGE_PCRE),y) -AIRCRACK_NG_DEPENDENCIES += pcre -AIRCRACK_NG_MAKE_OPTS += pcre=true -else -AIRCRACK_NG_MAKE_OPTS += pcre=false -endif - -# Duplicate -lpthread, because it is also needed by sqlite ifeq ($(BR2_PACKAGE_SQLITE),y) AIRCRACK_NG_DEPENDENCIES += sqlite -AIRCRACK_NG_MAKE_OPTS += sqlite=true LIBSQL="-lsqlite3 $(if $(BR2_STATIC_LIBS),-lpthread)" +AIRCRACK_NG_CONF_OPTS += --with-sqlite3 else -AIRCRACK_NG_MAKE_OPTS += sqlite=false +AIRCRACK_NG_CONF_OPTS += --without-sqlite3 endif -ifeq ($(BR2_X86_CPU_HAS_SSE),y) -AIRCRACK_NG_MAKE_OPTS += NEWSSE=true -else -AIRCRACK_NG_MAKE_OPTS += NEWSSE=false -endif - -define AIRCRACK_NG_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) LDFLAGS="$(AIRCRACK_NG_LDFLAGS)" \ - $(MAKE) -C $(@D) $(AIRCRACK_NG_MAKE_OPTS) -endef - -define AIRCRACK_NG_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \ - prefix=/usr $(AIRCRACK_NG_MAKE_OPTS) install -endef - -$(eval $(generic-package)) +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/alljoyn/Config.in b/bsp/buildroot/package/alljoyn/Config.in index 6eb417da..781d91bb 100644 --- a/bsp/buildroot/package/alljoyn/Config.in +++ b/bsp/buildroot/package/alljoyn/Config.in @@ -7,7 +7,6 @@ config BR2_PACKAGE_ALLJOYN depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBCAP - select BR2_PACKAGE_OPENSSL help The AllJoyn framework defines a common way for devices and apps to communicate with one another regardless of brands, diff --git a/bsp/buildroot/package/alljoyn/alljoyn.mk b/bsp/buildroot/package/alljoyn/alljoyn.mk index 69d5dedc..1281674e 100644 --- a/bsp/buildroot/package/alljoyn/alljoyn.mk +++ b/bsp/buildroot/package/alljoyn/alljoyn.mk @@ -11,11 +11,9 @@ ALLJOYN_SITE = https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_REV) # See https://allseenalliance.org/alliance/ip-policy ALLJOYN_LICENSE = ISC -ALLJOYN_DEPENDENCIES = host-scons libcap openssl +ALLJOYN_DEPENDENCIES = host-scons libcap ALLJOYN_INSTALL_STAGING = YES -ALLJOYN_CRYPTO = openssl - # AllJoyn can be compiled in debug or release mode. By default, AllJoyn is built # in debug mode. ALLJOYN_VARIANT = release @@ -39,7 +37,7 @@ ALLJOYN_SCONS_OPTS = \ CPU=$(ALLJOYN_CPU) \ VARIANT=$(ALLJOYN_VARIANT) \ BR=off \ - CRYPTO=$(ALLJOYN_CRYPTO) \ + CRYPTO=builtin \ BINDINGS=$(ALLJOYN_BINDINGS) \ TARGET_CFLAGS="$(TARGET_CFLAGS)" \ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \ diff --git a/bsp/buildroot/package/alsa-lib/0001-Don-t-use-fork-on-noMMU-platforms.patch b/bsp/buildroot/package/alsa-lib/0001-Don-t-use-fork-on-noMMU-platforms.patch new file mode 100644 index 00000000..5bf9dd20 --- /dev/null +++ b/bsp/buildroot/package/alsa-lib/0001-Don-t-use-fork-on-noMMU-platforms.patch @@ -0,0 +1,60 @@ +From 41c029755502acf01ed634db437ac06d09be6c41 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Fri, 13 Apr 2018 09:02:37 +0200 +Subject: [PATCH] Don't use fork() on noMMU platforms +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Thomas Petazzoni +[Jörg: update patch for 1.1.6] +Signed-off-by: Jörg Krause +Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141376.html +--- + configure.ac | 2 ++ + src/pcm/pcm_direct.c | 10 +++++++++- + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index cce195ae..0c852434 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -51,6 +51,8 @@ dnl Checks for library functions. + AC_PROG_GCC_TRADITIONAL + AC_CHECK_FUNCS([uselocale]) + ++AC_CHECK_FUNC([fork]) ++ + SAVE_LIBRARY_VERSION + AC_SUBST(LIBTOOL_VERSION_INFO) + +diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c +index 2b07eff9..4dc3ea26 100644 +--- a/src/pcm/pcm_direct.c ++++ b/src/pcm/pcm_direct.c +@@ -431,13 +431,21 @@ int snd_pcm_direct_server_create(snd_pcm_direct_t *dmix) + close(dmix->server_fd); + return ret; + } +- ++ ++#ifdef HAVE_FORK + ret = fork(); ++#else ++ ret = vfork(); ++#endif + if (ret < 0) { + close(dmix->server_fd); + return ret; + } else if (ret == 0) { ++#ifdef HAVE_FORK + ret = fork(); ++#else ++ ret = vfork(); ++#endif + if (ret == 0) + server_job(dmix); + _exit(EXIT_SUCCESS); +-- +2.14.3 + diff --git a/bsp/buildroot/package/alsa-lib/0001-no-mmu.patch b/bsp/buildroot/package/alsa-lib/0001-no-mmu.patch deleted file mode 100644 index 2ae0f671..00000000 --- a/bsp/buildroot/package/alsa-lib/0001-no-mmu.patch +++ /dev/null @@ -1,45 +0,0 @@ -Don't use fork() on noMMU platforms - -[Gustavo: update patch for 1.0.28] -Signed-off-by: Thomas Petazzoni - -Index: alsa-lib-1.0.26/configure.ac -=================================================================== ---- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200 -+++ alsa-lib-1.0.26/configure.ac 2013-03-09 16:22:08.000000000 +0100 -@@ -66,6 +66,8 @@ - AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes]) - AC_CHECK_FUNCS([uselocale]) - -+AC_CHECK_FUNC([fork]) -+ - SAVE_LIBRARY_VERSION - AC_SUBST(LIBTOOL_VERSION_INFO) - -Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c -=================================================================== ---- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200 -+++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100 -@@ -424,13 +424,21 @@ - close(dmix->server_fd); - return ret; - } -- -+ -+#ifdef HAVE_FORK - ret = fork(); -+#else -+ ret = vfork(); -+#endif - if (ret < 0) { - close(dmix->server_fd); - return ret; - } else if (ret == 0) { -+#ifdef HAVE_FORK - ret = fork(); -+#else -+ ret = vfork(); -+#endif - if (ret == 0) - server_job(dmix); - _exit(EXIT_SUCCESS); diff --git a/bsp/buildroot/package/alsa-lib/0003-conditional-enabling-of-libdl-in-m4.patch b/bsp/buildroot/package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch similarity index 62% rename from bsp/buildroot/package/alsa-lib/0003-conditional-enabling-of-libdl-in-m4.patch rename to bsp/buildroot/package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch index c533419b..3aab64e5 100644 --- a/bsp/buildroot/package/alsa-lib/0003-conditional-enabling-of-libdl-in-m4.patch +++ b/bsp/buildroot/package/alsa-lib/0002-alsa-lib-conditionally-enable-libdl-in-AM_PATH_ALSA-.patch @@ -1,4 +1,10 @@ -alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro +From 2aba563bd077fda94fb9c2c33002ee0ac119b345 Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Fri, 13 Apr 2018 09:13:46 +0200 +Subject: [PATCH] alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This breaks compilation of alsa-utils (and probably other packages using this @@ -9,10 +15,15 @@ This patch updates the macro to check if dlopen is available, and use that result to conditionally add -ldl to the list of libraries. Signed-off-by: Thomas De Schampheleire - +[Jörg: update for 1.1.6] +Signed-off-by: Jörg Krause +Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141377.html --- + utils/alsa.m4 | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utils/alsa.m4 b/utils/alsa.m4 +index e12310df..a5c5a292 100644 --- a/utils/alsa.m4 +++ b/utils/alsa.m4 @@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then @@ -33,3 +44,6 @@ diff --git a/utils/alsa.m4 b/utils/alsa.m4 LIBS="$ALSA_LIBS $LIBS" AC_MSG_RESULT($ALSA_LIBS) +-- +2.14.3 + diff --git a/bsp/buildroot/package/alsa-lib/0002-dlmisc.patch b/bsp/buildroot/package/alsa-lib/0002-dlmisc.patch deleted file mode 100644 index 24b7230c..00000000 --- a/bsp/buildroot/package/alsa-lib/0002-dlmisc.patch +++ /dev/null @@ -1,59 +0,0 @@ -alsa-lib: provide dummy definitions of RTLD_* if necessary - -The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header -file, so we need to guard that include. Additionally, provide dummy -definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally -provided by dlfcn.h. - -Signed-off-by: Sonic Zhang -[Thomas: don't add separate dlmisc.h, move dummy defs to global.h] -Signed-off-by: Thomas De Schampheleire - -diff --git a/include/global.h b/include/global.h ---- a/include/global.h -+++ b/include/global.h -@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_ - /** \brief Returns the version of a dynamic symbol as a string. */ - #define SND_DLSYM_VERSION(version) __STRING(version) - -+/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined -+ * on all arches (e.g. blackfin), so provide a dummy definition here. */ -+#ifndef RTLD_NOW -+#define RTLD_NOW 0 -+#endif -+ -+#ifndef RTLD_GLOBAL -+#define RTLD_GLOBAL 0 -+#endif -+ - void *snd_dlopen(const char *file, int mode); - void *snd_dlsym(void *handle, const char *name, const char *version); - int snd_dlclose(void *handle); -diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c ---- a/modules/mixer/simple/sbasedl.c -+++ b/modules/mixer/simple/sbasedl.c -@@ -27,7 +27,9 @@ - #include - #include - #include -+#include "config.h" -+#ifdef HAVE_DLFCN - #include -+#endif --#include "config.h" - #include "asoundlib.h" - #include "mixer_abst.h" -diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c ---- a/src/mixer/simple_abst.c -+++ b/src/mixer/simple_abst.c -@@ -34,7 +34,9 @@ - #include - #include - #include -+#include "config.h" -+#ifdef HAVE_DLFCN - #include -+#endif --#include "config.h" - #include "asoundlib.h" - #include "mixer_simple.h" diff --git a/bsp/buildroot/package/alsa-lib/alsa-lib.hash b/bsp/buildroot/package/alsa-lib/alsa-lib.hash index 88530938..4373a2a5 100644 --- a/bsp/buildroot/package/alsa-lib/alsa-lib.hash +++ b/bsp/buildroot/package/alsa-lib/alsa-lib.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 f4f68ad3c6da36b0b5241ac3c798a7a71e0e97d51f972e9f723b3f20a9650ae6 alsa-lib-1.1.5.tar.bz2 -sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING +sha256 9d6000b882a3b2df56300521225d69717be6741b71269e488bb20a20783bdc09 alsa-lib-1.1.7.tar.bz2 +sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING sha256 bfe16cf823bcff261fc6a062c07ee96660e3c39678f42f39a788a68dbc234ced aserver/COPYING diff --git a/bsp/buildroot/package/alsa-lib/alsa-lib.mk b/bsp/buildroot/package/alsa-lib/alsa-lib.mk index 32355020..9de45d20 100644 --- a/bsp/buildroot/package/alsa-lib/alsa-lib.mk +++ b/bsp/buildroot/package/alsa-lib/alsa-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_LIB_VERSION = 1.1.5 +ALSA_LIB_VERSION = 1.1.7 ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2 ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib ALSA_LIB_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (aserver) @@ -62,12 +62,6 @@ else ALSA_LIB_CONF_OPTS += --disable-python endif -ifeq ($(BR2_bfin),y) -# blackfin external toolchains don't have versionsort. Fake it using alphasort -# instead -ALSA_LIB_CFLAGS += -Dversionsort=alphasort -endif - ALSA_LIB_CONF_ENV = \ CFLAGS="$(ALSA_LIB_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS) -lm" diff --git a/bsp/buildroot/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch b/bsp/buildroot/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch new file mode 100644 index 00000000..2a8be0b0 --- /dev/null +++ b/bsp/buildroot/package/alsa-utils/0001-topology-topology.c-drop-unneeded-dlfcn.h-include.patch @@ -0,0 +1,29 @@ +From 4c9462a5ef2f680b24ddf6bae7ac7c693fa6a136 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 1 Nov 2018 15:15:31 +0100 +Subject: [PATCH] topology/topology.c: drop unneeded include + +This include is not used/needed and prevents building on systems that +don't provide . + +Signed-off-by: Thomas Petazzoni +Upstream: http://mailman.alsa-project.org/pipermail/alsa-devel/2018-November/141375.html +--- + topology/topology.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/topology/topology.c b/topology/topology.c +index 097c255..b72e341 100644 +--- a/topology/topology.c ++++ b/topology/topology.c +@@ -27,7 +27,6 @@ + #include + #include + #include +-#include + #include + #include + +-- +2.14.4 + diff --git a/bsp/buildroot/package/alsa-utils/Config.in b/bsp/buildroot/package/alsa-utils/Config.in index 1a48fc03..012f28ae 100644 --- a/bsp/buildroot/package/alsa-utils/Config.in +++ b/bsp/buildroot/package/alsa-utils/Config.in @@ -1,12 +1,11 @@ -comment "alsa-utils needs a toolchain w/ threads, dynamic library" +comment "alsa-utils needs a toolchain w/ threads" depends on BR2_USE_MMU # fork - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_THREADS menuconfig BR2_PACKAGE_ALSA_UTILS bool "alsa-utils" depends on BR2_USE_MMU # fork depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - depends on !BR2_STATIC_LIBS # uses dlfcn.h select BR2_PACKAGE_ALSA_LIB help This package contains the command line utilities for the ALSA @@ -76,7 +75,13 @@ config BR2_PACKAGE_ALSA_UTILS_ASEQNET config BR2_PACKAGE_ALSA_UTILS_BAT bool "bat" - select BR2_PACKAGE_FFTW + help + ALSABAT (ALSA Basic Audio Tester) is a simple command-line + utility intended to help automate audio driver and sound + server testing with little human interaction. + + Note that analysis support in alsabat requires fftw single + precision. config BR2_PACKAGE_ALSA_UTILS_IECSET bool "iecset" diff --git a/bsp/buildroot/package/alsa-utils/alsa-utils.hash b/bsp/buildroot/package/alsa-utils/alsa-utils.hash index 41cf946b..f0468fb8 100644 --- a/bsp/buildroot/package/alsa-utils/alsa-utils.hash +++ b/bsp/buildroot/package/alsa-utils/alsa-utils.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 320bd285e91db6e7fd7db3c9ec6f55b02f35449ff273c7844780ac6a5a3de2e8 alsa-utils-1.1.5.tar.bz2 +sha256 1db27fb54ab7fdeb54b00d68b8a174808ffea198cfbd67e3c959482194e1540a alsa-utils-1.1.7.tar.bz2 sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/bsp/buildroot/package/alsa-utils/alsa-utils.mk b/bsp/buildroot/package/alsa-utils/alsa-utils.mk index 2d3407d4..b5c36e0a 100644 --- a/bsp/buildroot/package/alsa-utils/alsa-utils.mk +++ b/bsp/buildroot/package/alsa-utils/alsa-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ALSA_UTILS_VERSION = 1.1.5 +ALSA_UTILS_VERSION = 1.1.7 ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2 ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils ALSA_UTILS_LICENSE = GPL-2.0 @@ -40,7 +40,8 @@ endif ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y) ALSA_UTILS_CONF_OPTS += --enable-bat -ALSA_UTILS_DEPENDENCIES += fftw +# Analysis support requires fftw single precision +ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) else ALSA_UTILS_CONF_OPTS += --disable-bat endif @@ -81,4 +82,20 @@ define ALSA_UTILS_INSTALL_TARGET_CMDS fi endef +ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSACTL)$(BR2_INIT_SYSTEMD),yy) +ALSA_UTILS_DEPENDENCIES += systemd +ALSA_UTILS_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +define ALSA_UTILS_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-restore.service \ + $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service + $(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-state.service \ + $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/sound.target.wants + ln -sf ../../../../lib/systemd/system/alsa-restore.service \ + $(TARGET_DIR)/etc/systemd/system/sound.target.wants/alsa-restore.service + ln -sf ../../../../lib/systemd/system/alsa-state.service \ + $(TARGET_DIR)/etc/systemd/system/sound.target.wants/alsa-state.service +endef +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/amd-catalyst/Config.in b/bsp/buildroot/package/amd-catalyst/Config.in index 85551ed8..1a5bf029 100644 --- a/bsp/buildroot/package/amd-catalyst/Config.in +++ b/bsp/buildroot/package/amd-catalyst/Config.in @@ -45,22 +45,6 @@ config BR2_PACKAGE_AMD_CATALYST_CMDLINE_TOOLS help Build and install the AMD command line tools. -comment "Catalyst Control Center needs Qt4 with X11 and PNG support" - depends on !BR2_PACKAGE_QT || !BR2_PACKAGE_QT_X11 \ - || BR2_PACKAGE_QT_NOPNG - -config BR2_PACKAGE_AMD_CATALYST_CCCLE - bool "Catalyst Control Center" - depends on BR2_PACKAGE_QT - depends on BR2_PACKAGE_QT_X11 - depends on !BR2_PACKAGE_QT_NOPNG - select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # procps-ng - select BR2_PACKAGE_PROCPS_NG # runtime - select BR2_PACKAGE_QT_ACCESSIBILITY - help - Installs the Catalyst Control Center, a Qt graphical tool to - control AMD graphics accelerators. - endif comment "amd-catalyst kernel module needs a kernel to be built" diff --git a/bsp/buildroot/package/amd-catalyst/amd-catalyst.mk b/bsp/buildroot/package/amd-catalyst/amd-catalyst.mk index b9396e11..fe8aa850 100644 --- a/bsp/buildroot/package/amd-catalyst/amd-catalyst.mk +++ b/bsp/buildroot/package/amd-catalyst/amd-catalyst.mk @@ -17,7 +17,7 @@ AMD_CATALYST_ARCH_DIR = $(@D)/arch/x86$(AMD_CATALYST_SUFFIX) AMD_CATALYST_LIB_SUFFIX = $(if $(BR2_x86_64),64) define AMD_CATALYST_EXTRACT_CMDS - unzip -q $(DL_DIR)/$(AMD_CATALYST_SOURCE) -d $(@D) + unzip -q $(AMD_CATALYST_DL_DIR)/$(AMD_CATALYST_SOURCE) -d $(@D) $(SHELL) $(@D)/AMD-Catalyst-$(AMD_CATALYST_VERSION)-Linux-installer-$(AMD_CATALYST_VERBOSE_VER)-x86.x86_64.run --extract $(@D) endef @@ -149,15 +149,6 @@ define AMD_CATALYST_INSTALL_CMDLINE_TOOLS endef endif -ifeq ($(BR2_PACKAGE_AMD_CATALYST_CCCLE), y) -define AMD_CATALYST_INSTALL_CCCLE - $(INSTALL) -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/X11R6/bin/amdcccle \ - $(TARGET_DIR)/usr/bin/amdcccle - $(INSTALL) -m 0755 $(AMD_CATALYST_ARCH_DIR)/usr/sbin/amdnotifyui \ - $(TARGET_DIR)/usr/sbin/amdnotifyui -endef -endif - define AMD_CATALYST_INSTALL_STAGING_CMDS $(call AMD_CATALYST_INSTALL_STAGING_XORG) endef @@ -165,7 +156,6 @@ endef define AMD_CATALYST_INSTALL_TARGET_CMDS $(call AMD_CATALYST_INSTALL_XORG) $(call AMD_CATALYST_INSTALL_CMDLINE_TOOLS) - $(call AMD_CATALYST_INSTALL_CCCLE) $(call AMD_CATALYST_INSTALL_OPENCL) endef diff --git a/bsp/buildroot/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch b/bsp/buildroot/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch new file mode 100644 index 00000000..80ea1ec1 --- /dev/null +++ b/bsp/buildroot/package/android-tools/0009-Fix-makefiles-for-out-of-tree-ext4_utils-build.patch @@ -0,0 +1,48 @@ +From d24abbec201975a5eb7f8589614cfb424b8c80b6 Mon Sep 17 00:00:00 2001 +From: Alex Kaplan +Date: Sat, 10 Nov 2018 19:50:51 -0800 +Subject: [PATCH] Fix makefiles for out-of-tree ext4_utils build + +Signed-off-by: Alex Kaplan +--- + debian/makefiles/ext4_utils.mk | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/debian/makefiles/ext4_utils.mk b/debian/makefiles/ext4_utils.mk +index cb64916..c5904bf 100644 +--- a/debian/makefiles/ext4_utils.mk ++++ b/debian/makefiles/ext4_utils.mk +@@ -1,6 +1,7 @@ + # Makefile for ext4_utils; based on https://heiher.info/2227.html + # Author: Dmitrijs Ledkovs + ++VPATH+=$(SRCDIR)/extras/ext4_utils + SRCS+=make_ext4fs.c + SRCS+=ext4fixup.c + SRCS+=ext4_utils.c +@@ -13,7 +14,7 @@ SRCS+=sha1.c + SRCS+=wipe.c + SRCS+=crc16.c + +-VPATH+=../../core/libsparse ++VPATH+=$(SRCDIR)/core/libsparse + SRCS+= backed_block.c + SRCS+= sparse_crc32.c + SRCS+= sparse.c +@@ -31,10 +32,9 @@ SRCS+=img2simg.c + SRCS+=simg2img.c + SRCS+=simg2simg.c + +-CPPFLAGS+= -I. +-CPPFLAGS+= -I/usr/include +-CPPFLAGS+= -I../../core/include +-CPPFLAGS+= -I../../core/libsparse/include/ ++CPPFLAGS+= -I$(SRCDIR) ++CPPFLAGS+= -I$(SRCDIR)/core/include ++CPPFLAGS+= -I$(SRCDIR)/core/libsparse/include/ + + LIBS+= -lz -lselinux + +-- +2.7.4 + diff --git a/bsp/buildroot/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch b/bsp/buildroot/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch new file mode 100644 index 00000000..2de33836 --- /dev/null +++ b/bsp/buildroot/package/android-tools/0010-adb-added-patch-for-openssl-1.1.0-compatibility.patch @@ -0,0 +1,47 @@ +From bb3da0e32be4f2260940edf3ee0f88103dfd0dcc Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 5 Feb 2019 01:12:19 +0200 +Subject: [PATCH] adb: added patch for openssl 1.1.0 compatibility + +Signed-off-by: Eneas U de Queiroz + +[Vadim: took only adb related part from +https://github.com/lede-project/source/commit/f63f20fb93c7e67775cb01d97fc88b5b29452b81] +Signed-off-by: Vadim Kochan +--- + core/adb/adb_auth_host.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/core/adb/adb_auth_host.c b/core/adb/adb_auth_host.c +index 9039d42..debd2ef 100644 +--- a/core/adb/adb_auth_host.c ++++ b/core/adb/adb_auth_host.c +@@ -79,7 +79,13 @@ static int RSA_to_RSAPublicKey(RSA *rsa, RSAPublicKey *pkey) + } + + BN_set_bit(r32, 32); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ const BIGNUM *rsa_n, *rsa_e; ++ RSA_get0_key(rsa, &rsa_n, &rsa_e, NULL); ++ BN_copy(n, rsa_n); ++#else + BN_copy(n, rsa->n); ++#endif + BN_set_bit(r, RSANUMWORDS * 32); + BN_mod_sqr(rr, r, n, ctx); + BN_div(NULL, rem, n, r32, ctx); +@@ -93,7 +99,11 @@ static int RSA_to_RSAPublicKey(RSA *rsa, RSAPublicKey *pkey) + BN_div(n, rem, n, r32, ctx); + pkey->n[i] = BN_get_word(rem); + } ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ pkey->exponent = BN_get_word(rsa_e); ++#else + pkey->exponent = BN_get_word(rsa->e); ++#endif + + out: + BN_free(n0inv); +-- +2.14.1 + diff --git a/bsp/buildroot/package/android-tools/Config.in.host b/bsp/buildroot/package/android-tools/Config.in.host index 993c4c9f..433f4e38 100644 --- a/bsp/buildroot/package/android-tools/Config.in.host +++ b/bsp/buildroot/package/android-tools/Config.in.host @@ -23,4 +23,11 @@ config BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB host, which can be used to interact with target devices implementing the ADB protocol. +config BR2_PACKAGE_HOST_ANDROID_TOOLS_EXT4_UTILS + bool "ext4 utils" + help + This option will build and install the ext4 utils for the + host, i.e. make_ext4fs, ext4fixup, ext2simg, img2simg, + simg2img and simg2simg. + endif diff --git a/bsp/buildroot/package/android-tools/android-tools.mk b/bsp/buildroot/package/android-tools/android-tools.mk index f6c6913a..6f6ca772 100644 --- a/bsp/buildroot/package/android-tools/android-tools.mk +++ b/bsp/buildroot/package/android-tools/android-tools.mk @@ -15,7 +15,7 @@ ANDROID_TOOLS_LICENSE_FILES = debian/copyright # Extract the Debian tarball inside the sources define ANDROID_TOOLS_DEBIAN_EXTRACT $(call suitable-extractor,$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS))) \ - $(DL_DIR)/$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS)) | \ + $(ANDROID_TOOLS_DL_DIR)/$(notdir $(ANDROID_TOOLS_EXTRA_DOWNLOADS)) | \ $(TAR) -C $(@D) $(TAR_OPTIONS) - endef @@ -31,15 +31,24 @@ HOST_ANDROID_TOOLS_PRE_PATCH_HOOKS += ANDROID_TOOLS_DEBIAN_PATCH ANDROID_TOOLS_PRE_PATCH_HOOKS += ANDROID_TOOLS_DEBIAN_PATCH ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_FASTBOOT),y) -HOST_ANDROID_TOOLS_TARGETS += fastboot +HOST_ANDROID_TOOLS_BUILD_TARGETS += fastboot +HOST_ANDROID_TOOLS_INSTALL_TARGETS += build-fastboot/fastboot HOST_ANDROID_TOOLS_DEPENDENCIES += host-zlib host-libselinux endif ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_ADB),y) -HOST_ANDROID_TOOLS_TARGETS += adb +HOST_ANDROID_TOOLS_BUILD_TARGETS += adb +HOST_ANDROID_TOOLS_INSTALL_TARGETS += build-adb/adb HOST_ANDROID_TOOLS_DEPENDENCIES += host-zlib host-openssl endif +ifeq ($(BR2_PACKAGE_HOST_ANDROID_TOOLS_EXT4_UTILS),y) +HOST_ANDROID_TOOLS_BUILD_TARGETS += ext4_utils +HOST_ANDROID_TOOLS_INSTALL_TARGETS += \ + $(addprefix build-ext4_utils/,make_ext4fs ext4fixup ext2simg img2simg simg2img simg2simg) +HOST_ANDROID_TOOLS_DEPENDENCIES += host-libselinux +endif + ifeq ($(BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT),y) ANDROID_TOOLS_TARGETS += fastboot ANDROID_TOOLS_DEPENDENCIES += zlib libselinux @@ -58,7 +67,7 @@ endif # Build each tool in its own directory not to share object files define HOST_ANDROID_TOOLS_BUILD_CMDS - $(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\ + $(foreach t,$(HOST_ANDROID_TOOLS_BUILD_TARGETS),\ mkdir -p $(@D)/build-$(t) && \ $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) SRCDIR=$(@D) \ -C $(@D)/build-$(t) -f $(@D)/debian/makefiles/$(t).mk$(sep)) @@ -72,8 +81,8 @@ define ANDROID_TOOLS_BUILD_CMDS endef define HOST_ANDROID_TOOLS_INSTALL_CMDS - $(foreach t,$(HOST_ANDROID_TOOLS_TARGETS),\ - $(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(HOST_DIR)/bin/$(t)$(sep)) + $(foreach t,$(HOST_ANDROID_TOOLS_INSTALL_TARGETS),\ + $(INSTALL) -D -m 0755 $(@D)/$(t) $(HOST_DIR)/bin/$(notdir $(t))$(sep)) endef define ANDROID_TOOLS_INSTALL_TARGET_CMDS @@ -81,5 +90,5 @@ define ANDROID_TOOLS_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/build-$(t)/$(t) $(TARGET_DIR)/usr/bin/$(t)$(sep)) endef -$(eval $(host-generic-package)) $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/angularjs/angularjs.mk b/bsp/buildroot/package/angularjs/angularjs.mk index 60702a26..a941bc38 100644 --- a/bsp/buildroot/package/angularjs/angularjs.mk +++ b/bsp/buildroot/package/angularjs/angularjs.mk @@ -12,7 +12,7 @@ ANGULARJS_LICENSE = MIT ANGULARJS_LICENSE_FILES = angular.js define ANGULARJS_EXTRACT_CMDS - unzip $(DL_DIR)/$(ANGULARJS_SOURCE) -d $(@D) + unzip $(ANGULARJS_DL_DIR)/$(ANGULARJS_SOURCE) -d $(@D) mv $(@D)/angular-$(ANGULARJS_VERSION)/* $(@D) rmdir $(@D)/angular-$(ANGULARJS_VERSION) endef diff --git a/bsp/buildroot/package/apache/S50apache b/bsp/buildroot/package/apache/S50apache new file mode 100644 index 00000000..b6874190 --- /dev/null +++ b/bsp/buildroot/package/apache/S50apache @@ -0,0 +1,15 @@ +#!/bin/sh + +case "$1" in + start|restart|graceful|graceful-stop|stop) + apachectl -k $1 + ;; + reload) + apachectl -k restart + ;; + *) + echo "Usage: $0 {start|restart|reload|graceful|graceful-stop|stop}" + exit 1 +esac + +exit $? diff --git a/bsp/buildroot/package/apache/apache.hash b/bsp/buildroot/package/apache/apache.hash index 32743656..fd42cd48 100644 --- a/bsp/buildroot/package/apache/apache.hash +++ b/bsp/buildroot/package/apache/apache.hash @@ -1,4 +1,4 @@ -# From http://archive.apache.org/dist/httpd/httpd-2.4.35.tar.bz2.sha256 -sha256 2607c6fdd4d12ac3f583127629291e9432b247b782396a563bec5678aae69b56 httpd-2.4.35.tar.bz2 +# From http://archive.apache.org/dist/httpd/httpd-2.4.38.tar.bz2.sha256 +sha256 7dc65857a994c98370dc4334b260101a7a04be60e6e74a5c57a6dee1bc8f394a httpd-2.4.38.tar.bz2 # Locally computed sha256 c49c0819a726b70142621715dae3159c47b0349c2bc9db079070f28dadac0229 LICENSE diff --git a/bsp/buildroot/package/apache/apache.mk b/bsp/buildroot/package/apache/apache.mk index 982c6de7..dd8f175f 100644 --- a/bsp/buildroot/package/apache/apache.mk +++ b/bsp/buildroot/package/apache/apache.mk @@ -4,7 +4,7 @@ # ################################################################################ -APACHE_VERSION = 2.4.35 +APACHE_VERSION = 2.4.38 APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 APACHE_SITE = http://archive.apache.org/dist/httpd APACHE_LICENSE = Apache-2.0 @@ -40,7 +40,6 @@ APACHE_CONF_OPTS = \ --without-suexec-bin \ --enable-mods-shared=all \ --with-mpm=$(APACHE_MPM) \ - --disable-lua \ --disable-luajit ifeq ($(BR2_PACKAGE_LIBXML2),y) @@ -57,6 +56,22 @@ APACHE_CONF_OPTS += \ --disable-proxy-html endif +ifeq ($(BR2_PACKAGE_LUA),y) +APACHE_CONF_OPTS += --enable-lua +APACHE_DEPENDENCIES += lua +else +APACHE_CONF_OPTS += --disable-lua +endif + +ifeq ($(BR2_PACKAGE_NGHTTP2),y) +APACHE_CONF_OPTS += \ + --enable-http2 \ + --with-nghttp2=$(STAGING_DIR)/usr +APACHE_DEPENDENCIES += nghttp2 +else +APACHE_CONF_OPTS += --disable-http2 +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) APACHE_DEPENDENCIES += openssl APACHE_CONF_OPTS += \ @@ -86,4 +101,17 @@ define APACHE_CLEANUP_TARGET endef APACHE_POST_INSTALL_TARGET_HOOKS += APACHE_CLEANUP_TARGET +define APACHE_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/apache/S50apache \ + $(TARGET_DIR)/etc/init.d/S50apache +endef + +define APACHE_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/apache/apache.service \ + $(TARGET_DIR)/usr/lib/systemd/system/apache.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/apache.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/apache.service +endef + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/apache/apache.service b/bsp/buildroot/package/apache/apache.service new file mode 100644 index 00000000..b8747e26 --- /dev/null +++ b/bsp/buildroot/package/apache/apache.service @@ -0,0 +1,13 @@ +[Unit] +Description=Apache HTTP Server +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/apachectl start +ExecReload=/usr/bin/apachectl graceful +ExecStop=/usr/bin/apachectl stop +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/bsp/buildroot/package/apr/apr.mk b/bsp/buildroot/package/apr/apr.mk index 58b1d86b..8f29e57c 100644 --- a/bsp/buildroot/package/apr/apr.mk +++ b/bsp/buildroot/package/apr/apr.mk @@ -26,7 +26,12 @@ APR_CONF_ENV = \ ac_cv_sizeof_pid_t=4 \ ac_cv_struct_rlimit=yes \ ac_cv_o_nonblock_inherited=no \ - apr_cv_mutex_recursive=yes + apr_cv_mutex_recursive=yes \ + apr_cv_epoll=yes \ + apr_cv_epoll_create1=yes \ + apr_cv_dup3=yes \ + apr_cv_sock_cloexec=yes \ + apr_cv_accept4=yes APR_CONFIG_SCRIPTS = apr-1-config # Doesn't even try to guess when cross compiling diff --git a/bsp/buildroot/package/argparse/argparse.hash b/bsp/buildroot/package/argparse/argparse.hash index a4746bc6..fa99609c 100644 --- a/bsp/buildroot/package/argparse/argparse.hash +++ b/bsp/buildroot/package/argparse/argparse.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 e00e5637c937d7bfca96025f2c598ba4fffe9eb818d69952e77b4c08167a6be3 argparse-0.5.0-1.src.rock +# computed by luarocks/buildroot +sha256 e4029f42d61cbdde1540e0a098a24b1fed0bc8a2803efe2a0d0d3e7f2f2f2c82 argparse-0.6.0-1.src.rock +sha256 c9b9a9667934d50f028a99b2617469db66663dc3b09d289b82e73e950b2b85eb argparse/LICENSE diff --git a/bsp/buildroot/package/argparse/argparse.mk b/bsp/buildroot/package/argparse/argparse.mk index 095f0a31..04c46b52 100644 --- a/bsp/buildroot/package/argparse/argparse.mk +++ b/bsp/buildroot/package/argparse/argparse.mk @@ -4,8 +4,7 @@ # ################################################################################ -ARGPARSE_VERSION_UPSTREAM = 0.5.0 -ARGPARSE_VERSION = $(ARGPARSE_VERSION_UPSTREAM)-1 +ARGPARSE_VERSION = 0.6.0-1 ARGPARSE_SUBDIR = argparse ARGPARSE_LICENSE = MIT ARGPARSE_LICENSE_FILES = $(ARGPARSE_SUBDIR)/LICENSE diff --git a/bsp/buildroot/package/armadillo/Config.in b/bsp/buildroot/package/armadillo/Config.in index 9483f181..b2b61a32 100644 --- a/bsp/buildroot/package/armadillo/Config.in +++ b/bsp/buildroot/package/armadillo/Config.in @@ -1,8 +1,6 @@ comment "armadillo needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP - depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) depends on !BR2_powerpc - depends on !BR2_bfin depends on !BR2_m68k_cf comment "armadillo needs a glibc toolchain w/ C++" @@ -12,9 +10,7 @@ comment "armadillo needs a glibc toolchain w/ C++" config BR2_PACKAGE_ARMADILLO bool "armadillo" depends on BR2_INSTALL_LIBSTDCPP - depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) # clapack depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC # clapack - depends on !BR2_bfin # clapack depends on !BR2_m68k_cf # clapack select BR2_PACKAGE_CLAPACK help diff --git a/bsp/buildroot/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/bsp/buildroot/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch deleted file mode 100644 index d6d02d2c..00000000 --- a/bsp/buildroot/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch +++ /dev/null @@ -1,58 +0,0 @@ -From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 27 Dec 2016 11:20:19 +0100 -Subject: [PATCH] configure: do not configure in menuselect - -When cross-compiling, the arguments and environment for ./configure are -different for the host and the target, and we want menuselect to be -compiled for the build machine, not the target. - -Although we do not pass any option to ./configure for menuselect, the -environment may still reference variables for the target, like CC or -CFLAGS and so on... We can not build menuselect with those variables. - -Instead, just assume that menuselect will be pre-compiled. - -Signed-off-by: "Yann E. MORIN" ---- - configure | 16 ---------------- - configure.ac | 16 ---------------- - 2 files changed, 32 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 66c8971..121dd93 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2662,12 +2662,6 @@ fi - - AC_SUBST([PBX_SYSLOG]) - --if test -f makeopts; then -- ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak --else -- touch makeopts.acbak --fi -- - AC_CONFIG_FILES([build_tools/menuselect-deps makeopts]) - AST_CHECK_MANDATORY - -@@ -2683,16 +2677,6 @@ fi - - AC_OUTPUT - --${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2 --if test "x${ac_cv_path_CMP}" = "x:"; then -- ( cd `pwd`/menuselect && ./configure ) --else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else -- ( cd `pwd`/menuselect && ./configure ) --fi ; fi -- --rm makeopts.acbak makeopts.acbak2 -- -- - if test "x${silent}" != "xyes" ; then - echo - echo " .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=.. " --- -2.7.4 - diff --git a/bsp/buildroot/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/bsp/buildroot/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch similarity index 100% rename from bsp/buildroot/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch rename to bsp/buildroot/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch diff --git a/bsp/buildroot/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/bsp/buildroot/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch similarity index 100% rename from bsp/buildroot/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch rename to bsp/buildroot/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch diff --git a/bsp/buildroot/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch b/bsp/buildroot/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch similarity index 100% rename from bsp/buildroot/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch rename to bsp/buildroot/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch diff --git a/bsp/buildroot/package/asterisk/0005-install-samples-need-the-data-files.patch b/bsp/buildroot/package/asterisk/0004-install-samples-need-the-data-files.patch similarity index 100% rename from bsp/buildroot/package/asterisk/0005-install-samples-need-the-data-files.patch rename to bsp/buildroot/package/asterisk/0004-install-samples-need-the-data-files.patch diff --git a/bsp/buildroot/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch b/bsp/buildroot/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch new file mode 100644 index 00000000..bee8fdbb --- /dev/null +++ b/bsp/buildroot/package/asterisk/0005-configure-fix-detection-of-re-entrant-resolver-funct.patch @@ -0,0 +1,38 @@ +From 9b4070944578336506cd0a76de6f733c72d0ca74 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sat, 13 Oct 2018 11:11:15 +0200 +Subject: [PATCH] configure: fix detection of re-entrant resolver functions + +Fixes https://issues.asterisk.org/jira/browse/ASTERISK-21795 + +uClibc does not provide res_nsearch: +asterisk-16.0.0/main/dns.c:506: undefined reference to `res_nsearch' + +Patch coded by Yann E. MORIN: +http://lists.busybox.net/pipermail/buildroot/2018-October/232630.html + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dd0c8edd13..ee1ca9ceb6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1388,7 +1388,11 @@ AC_LINK_IFELSE( + #include + #endif + #include ], +- [int foo = res_ninit(NULL);])], ++ [ ++ int foo; ++ foo = res_ninit(NULL); ++ foo = res_nsearch(NULL, NULL, 0, 0, NULL, 0); ++ ])], + AC_MSG_RESULT(yes) + AC_DEFINE([HAVE_RES_NINIT], 1, [Define to 1 if your system has the re-entrant resolver functions.]) + AC_SEARCH_LIBS(res_9_ndestroy, resolv) +-- +2.19.1 + diff --git a/bsp/buildroot/package/asterisk/0006-build-fix-issues-building-without-ssl.patch b/bsp/buildroot/package/asterisk/0006-build-fix-issues-building-without-ssl.patch deleted file mode 100644 index b02031e5..00000000 --- a/bsp/buildroot/package/asterisk/0006-build-fix-issues-building-without-ssl.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 999e0c17d7e4139d36730752a34fbfde18a4f9f1 Mon Sep 17 00:00:00 2001 -From: Corey Farrell -Date: Sun, 19 Nov 2017 14:52:59 -0500 -Subject: [PATCH] Build: Fix issues building without SSL. - -* Fix conditional in libasteriskssl. -* Use variables produced by configure to link the SSL and uuid libraries - into libasteriskpj.so instead of hard-coding them. - -ASTERISK-27431 - -Change-Id: I3977931fd3ef8c4e4376349ccddb354eb839b58d - -Downloaded from upstream master branch -https://github.com/asterisk/asterisk/commit/999e0c17d7e4139d36730752a34fbfde18a4f9f1 - -Signed-off-by: Bernd Kuhls ---- - main/Makefile | 4 ++-- - main/libasteriskssl.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/main/Makefile b/main/Makefile -index 08d1f65580e..c724e2012b0 100644 ---- a/main/Makefile -+++ b/main/Makefile -@@ -273,7 +273,7 @@ endif - - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTLDFLAGS+=-Wl,-soname=$(ASTPJ_LIB).$(ASTPJ_SO_VERSION) $(PJ_LDFLAGS) - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" -DAST_NOT_MODULE $(PJ_CFLAGS) --$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) -+$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) - ifeq ($(GNU_LD),1) - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): SO_SUPPRESS_SYMBOLS=-Wl,--version-script,libasteriskpj.exports,--warn-common - endif -@@ -298,7 +298,7 @@ ASTPJ_LIB:=libasteriskpj.dylib - # /lib or /usr/lib - $(ASTPJ_LIB): _ASTLDFLAGS+=-dynamiclib -install_name $(ASTLIBDIR)/$(ASTPJ_LIB) $(PJ_LDFLAGS) - $(ASTPJ_LIB): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" $(PJ_CFLAGS) -DAST_NOT_MODULE --$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) -+$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) - $(ASTPJ_LIB): SOLINK=$(DYLINK) - - # Special rules for building a shared library (not a dynamically loadable module) -diff --git a/main/libasteriskssl.c b/main/libasteriskssl.c -index 8b19e247da9..e2e256f8ffe 100644 ---- a/main/libasteriskssl.c -+++ b/main/libasteriskssl.c -@@ -37,7 +37,7 @@ - #endif - - #if defined(HAVE_OPENSSL) && \ -- !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+ (!defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) - - #include - diff --git a/bsp/buildroot/package/asterisk/Config.in b/bsp/buildroot/package/asterisk/Config.in index 17ac22bf..c52456f8 100644 --- a/bsp/buildroot/package/asterisk/Config.in +++ b/bsp/buildroot/package/asterisk/Config.in @@ -1,13 +1,16 @@ config BR2_PACKAGE_ASTERISK bool "asterisk" - # Uses glibc resolver function res_nsearch() - depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on !BR2_TOOLCHAIN_USES_MUSL + depends on BR2_USE_MMU # libedit + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_WCHAR # libedit select BR2_PACKAGE_JANSSON select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBEDIT select BR2_PACKAGE_LIBILBC select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_NCURSES select BR2_PACKAGE_SQLITE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -22,5 +25,8 @@ config BR2_PACKAGE_ASTERISK http://www.asterisk.org/ -comment "asterisk needs a glibc toolchain w/ C++" - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP +comment "asterisk needs a glibc or uClibc toolchain w/ C++, dynamic library, threads, wchar" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_USES_MUSL || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/asterisk/asterisk.hash b/bsp/buildroot/package/asterisk/asterisk.hash index a3e9d10a..e126372f 100644 --- a/bsp/buildroot/package/asterisk/asterisk.hash +++ b/bsp/buildroot/package/asterisk/asterisk.hash @@ -1,15 +1,15 @@ # Locally computed -sha256 249cf223ef4dd7aea01f0d250a6b9cad661ebd78910c73adb7f59c1c46f9fed8 asterisk-14.7.6.tar.gz +sha256 d74ba84ad92cd710eb071940e6057ef644d71864431d91aaafe0717a8939afc3 asterisk-16.1.1.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed -sha1 65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d asterisk-core-sounds-en-gsm-1.5.tar.gz -sha256 8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07 asterisk-core-sounds-en-gsm-1.5.tar.gz +sha1 721c512feaea102700d5bdce952fdc0bb29dc640 asterisk-core-sounds-en-gsm-1.6.1.tar.gz +sha256 d79c3d2044d41da8f363c447dfccc140be86b4fcc41b1ca5a60a80da52f24f2d asterisk-core-sounds-en-gsm-1.6.1.tar.gz sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asterisk-moh-opsound-wav-2.03.tar.gz # License files, locally computed sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c -sha256 0fcdb946955d20c2819a51f3fe613d8f22da2ea793bd50acb30ce156499acc88 codecs/speex/speex_resampler.h -sha256 e6e7b7204d34a3dcdf17389a9c8cf64721ec0d15a797fd51c8c1ed8517cc3038 utils/db1-ast/include/db.h +sha256 309462c10e84f46bda22032ebe6359f3e9e3e23afcf1fc2aaed5b59daf800d84 codecs/speex/speex_resampler.h +sha256 1ca2c7a7a1ae7ccd75212a8c1e85dd9ec92bdbc9170aafd97ea60459387755fd utils/db1-ast/include/db.h diff --git a/bsp/buildroot/package/asterisk/asterisk.mk b/bsp/buildroot/package/asterisk/asterisk.mk index 28b85da5..3b4d97a2 100644 --- a/bsp/buildroot/package/asterisk/asterisk.mk +++ b/bsp/buildroot/package/asterisk/asterisk.mk @@ -4,14 +4,14 @@ # ################################################################################ -ASTERISK_VERSION = 14.7.6 +ASTERISK_VERSION = 16.1.1 # Use the github mirror: it's an official mirror maintained by Digium, and # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases ASTERISK_EXTRA_DOWNLOADS = \ - $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \ + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.6.1.tar.gz \ $(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz ASTERISK_LICENSE = GPL-2.0, BSD-3c (SHA1, resample), BSD-4c (db1-ast) @@ -21,16 +21,16 @@ ASTERISK_LICENSE_FILES = \ codecs/speex/speex_resampler.h \ utils/db1-ast/include/db.h -# For patches 0001, 0003 and 0004 +# For patches 0002, 0003 and 0005 ASTERISK_AUTORECONF = YES -ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject +ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject -Ithird-party/jansson ASTERISK_DEPENDENCIES = \ host-asterisk \ jansson \ libcurl \ + libedit \ libxml2 \ - ncurses \ sqlite \ util-linux @@ -54,7 +54,6 @@ ASTERISK_CONF_OPTS = \ --without-curses \ --without-gtk2 \ --without-gmime \ - --without-h323 \ --without-hoard \ --without-iconv \ --without-iksemel \ @@ -67,7 +66,6 @@ ASTERISK_CONF_OPTS = \ --without-kqueue \ --without-libedit \ --without-libxslt \ - --without-ltdl \ --without-lua \ --without-misdn \ --without-mysqlclient \ @@ -79,12 +77,11 @@ ASTERISK_CONF_OPTS = \ --without-oss \ --without-postgres \ --without-pjproject \ + --without-pjproject-bundled \ --without-popt \ - --without-pwlib \ --without-resample \ --without-sdl \ --without-SDL_image \ - --without-spandsp \ --without-sqlite \ --without-suppserv \ --without-tds \ @@ -100,9 +97,9 @@ ASTERISK_CONF_OPTS = \ --with-libcurl \ --with-ilbc \ --with-libxml2 \ - --with-ncurses="$(STAGING_DIR)/usr" \ + --with-libedit="$(STAGING_DIR)/usr" \ --with-sqlite3="$(STAGING_DIR)/usr" \ - --with-sounds-cache=$(BR2_DL_DIR) + --with-sounds-cache=$(ASTERISK_DL_DIR) # avcodec are from ffmpeg. There is virtually zero chance this could # even work; asterisk is looking for ffmpeg/avcodec.h which has not @@ -111,8 +108,14 @@ ASTERISK_CONF_OPTS = \ ASTERISK_CONF_OPTS += --without-avcodec ASTERISK_CONF_ENV = \ + ac_cv_file_bridges_bridge_softmix_include_hrirs_h=true \ ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ASTERISK_CONF_ENV += LIBS="-latomic" +endif + ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) ASTERISK_CONF_OPTS += --with-execinfo else @@ -229,14 +232,22 @@ else ASTERISK_CONF_OPTS += --without-ssl endif -ifeq ($(BR2_PACKAGE_SPEEX),y) +ifeq ($(BR2_PACKAGE_SPANDSP),y) +ASTERISK_DEPENDENCIES += spandsp +ASTERISK_CONF_OPTS += --with-spandsp +else +ASTERISK_CONF_OPTS += --without-spandsp +endif + +ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy) ASTERISK_DEPENDENCIES += speex ASTERISK_CONF_OPTS += --with-speex --with-speexdsp else ASTERISK_CONF_OPTS += --without-speex --without-speexdsp endif -ifeq ($(BR2_PACKAGE_LIBSRTP),y) +# asterisk needs an openssl-enabled libsrtp +ifeq ($(BR2_PACKAGE_LIBSRTP)$(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yyx) ASTERISK_DEPENDENCIES += libsrtp ASTERISK_CONF_OPTS += --with-srtp else @@ -265,6 +276,11 @@ ASTERISK_DIRS = \ ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS) +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ASTERISK_MAKE_OPTS += ASTLDFLAGS="-latomic" +endif + # We want to install sample configuration files, too. ASTERISK_INSTALL_TARGET_OPTS = \ $(ASTERISK_DIRS) \ @@ -292,7 +308,7 @@ HOST_ASTERISK_CONF_ENV = CONFIG_LIBXML2=$(HOST_DIR)/bin/xml2-config HOST_ASTERISK_CONF_OPTS = \ --without-newt \ --without-curses \ - --with-ncurses=$(HOST_DIR)/usr + --with-ncurses=$(HOST_DIR) # Not an automake package, so does not inherit LDFLAGS et al. from # the configure run. diff --git a/bsp/buildroot/package/at-spi2-atk/Config.in b/bsp/buildroot/package/at-spi2-atk/Config.in new file mode 100644 index 00000000..9a7cfde0 --- /dev/null +++ b/bsp/buildroot/package/at-spi2-atk/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_AT_SPI2_ATK + bool "at-spi2-atk" + depends on BR2_PACKAGE_XORG7 # at-spi2-core + depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_USE_WCHAR # glib2 + select BR2_PACKAGE_ATK + select BR2_PACKAGE_AT_SPI2_CORE + select BR2_PACKAGE_LIBGLIB2 + help + The At-Spi2 Atk package contains a library that bridges + ATK to At-Spi2 D-Bus service. + + https://www.freedesktop.org/wiki/Accessibility/AT-SPI2/ + +comment "at-spi2-atk needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + +comment "at-spi2-atk depends on X.org" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_XORG7 diff --git a/bsp/buildroot/package/at-spi2-atk/at-spi2-atk.hash b/bsp/buildroot/package/at-spi2-atk/at-spi2-atk.hash new file mode 100644 index 00000000..77c8f68e --- /dev/null +++ b/bsp/buildroot/package/at-spi2-atk/at-spi2-atk.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 61891f0abae1689f6617a963105a3f1dcdab5970c4a36ded9c79a7a544b16a6e at-spi2-atk-2.26.2.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING diff --git a/bsp/buildroot/package/at-spi2-atk/at-spi2-atk.mk b/bsp/buildroot/package/at-spi2-atk/at-spi2-atk.mk new file mode 100644 index 00000000..4ef681b3 --- /dev/null +++ b/bsp/buildroot/package/at-spi2-atk/at-spi2-atk.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# at-spi2-atk +# +################################################################################ + +AT_SPI2_ATK_VERSION_MAJOR = 2.26 +AT_SPI2_ATK_VERSION = $(AT_SPI2_ATK_VERSION_MAJOR).2 +AT_SPI2_ATK_SOURCE = at-spi2-atk-$(AT_SPI2_ATK_VERSION).tar.xz +AT_SPI2_ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-atk/$(AT_SPI2_ATK_VERSION_MAJOR) +AT_SPI2_ATK_LICENSE = LGPL-2.0+ +AT_SPI2_ATK_LICENSE_FILES = COPYING +AT_SPI2_ATK_INSTALL_STAGING = YES +AT_SPI2_ATK_DEPENDENCIES = atk at-spi2-core libglib2 host-pkgconf + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/at-spi2-core/Config.in b/bsp/buildroot/package/at-spi2-core/Config.in new file mode 100644 index 00000000..f56c5b93 --- /dev/null +++ b/bsp/buildroot/package/at-spi2-core/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_AT_SPI2_CORE + bool "at-spi2-core" + depends on BR2_PACKAGE_XORG7 # xlib-libxtst + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, glib2 + depends on BR2_USE_MMU # glib2 + depends on BR2_USE_WCHAR # glib2 + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_XLIB_LIBXTST + help + The At-Spi2 Core package is a part of the GNOME + Accessibility Project. It provides a Service Provider + Interface for the Assistive Technologies available on the + GNOME platform and a library against which applications + can be linked. + + https://wiki.gnome.org/Accessibility + +comment "at-spi2-core needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + +comment "at-spi2-core depends on X.org" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_XORG7 diff --git a/bsp/buildroot/package/at-spi2-core/at-spi2-core.hash b/bsp/buildroot/package/at-spi2-core/at-spi2-core.hash new file mode 100644 index 00000000..9c96da31 --- /dev/null +++ b/bsp/buildroot/package/at-spi2-core/at-spi2-core.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 42a2487ab11ce43c288e73b2668ef8b1ab40a0e2b4f94e80fca04ad27b6f1c87 at-spi2-core-2.28.0.tar.xz +sha256 c6105b34ab6829ff5c70eba234f40053215fa9f8383ced271b0e370a1923624b COPYING diff --git a/bsp/buildroot/package/at-spi2-core/at-spi2-core.mk b/bsp/buildroot/package/at-spi2-core/at-spi2-core.mk new file mode 100644 index 00000000..40b29bdb --- /dev/null +++ b/bsp/buildroot/package/at-spi2-core/at-spi2-core.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# at-spi2-core +# +################################################################################ + +AT_SPI2_CORE_VERSION_MAJOR = 2.28 +AT_SPI2_CORE_VERSION = $(AT_SPI2_CORE_VERSION_MAJOR).0 +AT_SPI2_CORE_SOURCE = at-spi2-core-$(AT_SPI2_CORE_VERSION).tar.xz +AT_SPI2_CORE_SITE = http://ftp.gnome.org/pub/gnome/sources/at-spi2-core/$(AT_SPI2_CORE_VERSION_MAJOR) +AT_SPI2_CORE_LICENSE = LGPL-2.0+ +AT_SPI2_CORE_LICENSE_FILES = COPYING +AT_SPI2_CORE_INSTALL_STAGING = YES +AT_SPI2_CORE_DEPENDENCIES = host-pkgconf dbus libglib2 xlib_libXtst +AT_SPI2_CORE_CONF_OPTS = -Ddbus_daemon=/usr/bin/dbus-daemon + +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/at/Config.in b/bsp/buildroot/package/at/Config.in index 17fabf7f..cbc5be47 100644 --- a/bsp/buildroot/package/at/Config.in +++ b/bsp/buildroot/package/at/Config.in @@ -8,3 +8,5 @@ config BR2_PACKAGE_AT at - run the job at a specified time batch - run the job when system load levels permit + + https://salsa.debian.org/debian/at diff --git a/bsp/buildroot/package/at/S99at b/bsp/buildroot/package/at/S99at old mode 100755 new mode 100644 index 666d39b5..f132a46c --- a/bsp/buildroot/package/at/S99at +++ b/bsp/buildroot/package/at/S99at @@ -6,6 +6,15 @@ umask 077 start() { + # Since /var/spool can be linked to /tmp (tmpfs) + # /var/spool/cron/atjobs/.SEQ created could be not available + # Check if not exists otherwise create it + if [ ! -f /var/spool/cron/atjobs/.SEQ ]; then + mkdir -p /var/spool/cron/atjobs/ + touch /var/spool/cron/atjobs/.SEQ + printf "atd: created missing .SEQ file (atjobs will be lost on reboot)\n" + fi + printf "Starting atd: " start-stop-daemon --start --quiet --make-pidfile --pidfile /var/run/atd.pid --background --exec /usr/sbin/atd -- -f echo "OK" diff --git a/bsp/buildroot/package/at/at.hash b/bsp/buildroot/package/at/at.hash index 22c732cc..530b1257 100644 --- a/bsp/buildroot/package/at/at.hash +++ b/bsp/buildroot/package/at/at.hash @@ -1,2 +1,5 @@ -# From: http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at/at_3.1.16-1.dsc -sha256 cb9af59c6a54edce9536ba629841055409d1f89d8ae26494727a97141fb4d5c1 at_3.1.16.orig.tar.gz +# Locally calculated +sha256 f5c7c8226fab0bc4e2d16a55e04d4026f3452db51fc5cbcc4bb5a3c79a79f7ef at-release_3.1.23.tar.gz + +sha256 01dccc0975aa9ba1a9f83e7c5e04f16077353d3c72a0a759b8846ee7a5b2b616 Copyright +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/bsp/buildroot/package/at/at.mk b/bsp/buildroot/package/at/at.mk index 058ebac5..36aa8c7a 100644 --- a/bsp/buildroot/package/at/at.mk +++ b/bsp/buildroot/package/at/at.mk @@ -4,10 +4,11 @@ # ################################################################################ -AT_VERSION = 3.1.16 -AT_SOURCE = at_$(AT_VERSION).orig.tar.gz -AT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/at -# missing deps for parsetime.l +AT_VERSION = release/3.1.23 +AT_SITE = https://salsa.debian.org/debian/at.git +AT_SITE_METHOD = git +# Tried to add missing deps for parsetime.l but still parallel build fails +# in some case, so at the moment let's keep MAKE1 AT_MAKE = $(MAKE1) AT_AUTORECONF = YES AT_DEPENDENCIES = $(if $(BR2_PACKAGE_FLEX),flex) host-bison host-flex diff --git a/bsp/buildroot/package/atest/Config.in b/bsp/buildroot/package/atest/Config.in index 9a2e342a..647b2163 100644 --- a/bsp/buildroot/package/atest/Config.in +++ b/bsp/buildroot/package/atest/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_ATEST bool "atest" depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - depends on !BR2_bfin # libev select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_LIBEV help @@ -11,5 +10,4 @@ config BR2_PACKAGE_ATEST https://github.com/amouiche/atest comment "atest needs a toolchain w/ threads" - depends on !BR2_bfin depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch b/bsp/buildroot/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch new file mode 100644 index 00000000..6260cca8 --- /dev/null +++ b/bsp/buildroot/package/atk/0001-atk-meson.build-replace-shared_library-by-library.patch @@ -0,0 +1,33 @@ +From da08587d9a57b45cc8a76cb31390c79c1199959b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 10 Jan 2019 10:13:03 +0100 +Subject: [PATCH] atk/meson.build: replace shared_library by library + +Use library instead of shared_library to allow the user to build a +static libatk library + +Fixes: + - http://autobuild.buildroot.org/results/347a37dd2585974bdbf3bf99158e8ee9127d1202 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://gitlab.gnome.org/GNOME/atk/merge_requests/11] +--- + atk/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/atk/meson.build b/atk/meson.build +index 69ba6c5..0ad67e5 100644 +--- a/atk/meson.build ++++ b/atk/meson.build +@@ -122,7 +122,7 @@ endif + + atk_inc = include_directories('.') + +-libatk = shared_library('atk-@0@'.format(atk_api_version), ++libatk = library('atk-@0@'.format(atk_api_version), + sources: atk_sources + atk_enums + atk_marshals, + soversion: atk_soversion, + version: atk_libversion, +-- +2.14.1 + diff --git a/bsp/buildroot/package/atk/atk.hash b/bsp/buildroot/package/atk/atk.hash index 12c98706..911e65fc 100644 --- a/bsp/buildroot/package/atk/atk.hash +++ b/bsp/buildroot/package/atk/atk.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/atk/2.22/atk-2.22.0.sha256sum -sha256 d349f5ca4974c9c76a4963e5b254720523b0c78672cbc0e1a3475dbd9b3d44b6 atk-2.22.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/atk/2.30/atk-2.30.0.sha256sum +sha256 dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b atk-2.30.0.tar.xz + +# Hash for license file +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/bsp/buildroot/package/atk/atk.mk b/bsp/buildroot/package/atk/atk.mk index 88cf5fbc..228b24a7 100644 --- a/bsp/buildroot/package/atk/atk.mk +++ b/bsp/buildroot/package/atk/atk.mk @@ -4,15 +4,13 @@ # ################################################################################ -ATK_VERSION_MAJOR = 2.22 +ATK_VERSION_MAJOR = 2.30 ATK_VERSION = $(ATK_VERSION_MAJOR).0 ATK_SOURCE = atk-$(ATK_VERSION).tar.xz ATK_SITE = http://ftp.gnome.org/pub/gnome/sources/atk/$(ATK_VERSION_MAJOR) ATK_LICENSE = LGPL-2.0+ ATK_LICENSE_FILES = COPYING ATK_INSTALL_STAGING = YES -ATK_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LDFLAGS=-L$(STAGING_DIR)/usr/lib install -ATK_CONF_OPTS = --disable-glibtest --enable-explicit-deps=no -ATK_DEPENDENCIES = libglib2 host-pkgconf +ATK_DEPENDENCIES = libglib2 -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/atop/Config.in b/bsp/buildroot/package/atop/Config.in index d42a201b..9e42eddb 100644 --- a/bsp/buildroot/package/atop/Config.in +++ b/bsp/buildroot/package/atop/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_ATOP bool "atop" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 # PERF_FLAG_FD_CLOEXEC select BR2_PACKAGE_NCURSES select BR2_PACKAGE_ZLIB help @@ -16,3 +17,7 @@ config BR2_PACKAGE_ATOP username, state, and exit code. http://www.atoptool.nl + +comment "atop needs a toolchain w/ headers >= 3.14" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 diff --git a/bsp/buildroot/package/atop/atop.hash b/bsp/buildroot/package/atop/atop.hash index 9ee0d62b..80082d02 100644 --- a/bsp/buildroot/package/atop/atop.hash +++ b/bsp/buildroot/package/atop/atop.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 73e4725de0bafac8c63b032e8479e2305e3962afbe977ec1abd45f9e104eb264 atop-2.3.0.tar.gz +sha256 be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69 atop-2.4.0.tar.gz # Hash for license file: sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/atop/atop.mk b/bsp/buildroot/package/atop/atop.mk index 2cc0da6a..aaf02908 100644 --- a/bsp/buildroot/package/atop/atop.mk +++ b/bsp/buildroot/package/atop/atop.mk @@ -4,7 +4,7 @@ # ################################################################################ -ATOP_VERSION = 2.3.0 +ATOP_VERSION = 2.4.0 ATOP_SITE = http://www.atoptool.nl/download ATOP_LICENSE = GPL-2.0+ ATOP_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch b/bsp/buildroot/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch new file mode 100644 index 00000000..40ff2dfb --- /dev/null +++ b/bsp/buildroot/package/aubio/0001-Fix-build-with-FFmpeg-4.0.patch @@ -0,0 +1,32 @@ +From 5690daf759b473b9d13b4547ef37adc2695cf524 Mon Sep 17 00:00:00 2001 +From: James Cowgill +Date: Sun, 25 Feb 2018 14:23:25 +0000 +Subject: [PATCH] Fix build with FFmpeg 4.0 + +Downloaded from upstream commit +https://git.aubio.org/?p=aubio.git;a=commitdiff;h=5690daf759b473b9d13b4547ef37adc2695cf524 + +Signed-off-by: Bernd Kuhls +--- + src/io/source_avcodec.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/io/source_avcodec.c b/src/io/source_avcodec.c +index ccdce807..8197445c 100644 +--- a/src/io/source_avcodec.c ++++ b/src/io/source_avcodec.c +@@ -58,7 +58,11 @@ + #include "fmat.h" + #include "source_avcodec.h" + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(56, 56, 0) + #define AUBIO_AVCODEC_MAX_BUFFER_SIZE FF_MIN_BUFFER_SIZE ++#else ++#define AUBIO_AVCODEC_MAX_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE ++#endif + + struct _aubio_source_avcodec_t { + uint_t hop_size; +-- +2.14.4 + diff --git a/bsp/buildroot/package/aubio/aubio.hash b/bsp/buildroot/package/aubio/aubio.hash index b4233aee..edb63f07 100644 --- a/bsp/buildroot/package/aubio/aubio.hash +++ b/bsp/buildroot/package/aubio/aubio.hash @@ -1,2 +1,5 @@ -# From https://aubio.org/pub/aubio-0.4.5.tar.bz2.sha256 -sha256 70c2804e6f4fbf0ebc0fb9ac8cc9d465ef4a4d438311c074c9a7364e98827af6 aubio-0.4.5.tar.bz2 +# From https://aubio.org/pub/aubio-0.4.6.tar.bz2.sha256 +sha256 bdc73be1f007218d3ea6d2a503b38a217815a0e2ccc4ed441f6e850ed5d47cfb aubio-0.4.6.tar.bz2 + +# Hash for license file: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/aubio/aubio.mk b/bsp/buildroot/package/aubio/aubio.mk index 2a09ebb3..ba182d9b 100644 --- a/bsp/buildroot/package/aubio/aubio.mk +++ b/bsp/buildroot/package/aubio/aubio.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUBIO_VERSION = 0.4.5 +AUBIO_VERSION = 0.4.6 AUBIO_SITE = https://aubio.org/pub AUBIO_SOURCE = aubio-$(AUBIO_VERSION).tar.bz2 AUBIO_LICENSE = GPL-3.0+ @@ -27,7 +27,7 @@ AUBIO_CONF_OPTS += --disable-sndfile endif # Could not compile aubio in double precision mode with libsamplerate -ifeq ($(BR2_PACKAGE_LIBSAMPLERATE)$(BR2_PACKAGE_FFTW_PRECISION_SINGLE),yy) +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE):$(BR2_PACKAGE_FFTW_DOUBLE),y:) AUBIO_DEPENDENCIES += libsamplerate AUBIO_CONF_OPTS += --enable-samplerate else @@ -41,15 +41,14 @@ else AUBIO_CONF_OPTS += --disable-jack endif -ifeq ($(BR2_PACKAGE_FFTW),y) -AUBIO_DEPENDENCIES += fftw # fftw3 require double otherwise it will look for fftw3f -ifeq ($(BR2_PACKAGE_FFTW_PRECISION_DOUBLE),y) +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y) AUBIO_CONF_OPTS += --enable-fftw3 --enable-double -else ifeq ($(BR2_PACKAGE_FFTW_PRECISION_SINGLE),y) +AUBIO_DEPENDENCIES += fftw-double +else ifeq ($(BR2_PACKAGE_FFTW_SINGLE),y) AUBIO_CONF_OPTS += --enable-fftw3f --disable-double -endif -else # !BR2_PACKAGE_FFTW +AUBIO_DEPENDENCIES += fftw-single +else AUBIO_CONF_OPTS += --disable-fftw3 endif diff --git a/bsp/buildroot/package/augeas/augeas.hash b/bsp/buildroot/package/augeas/augeas.hash index 46b99dd8..d69ef857 100644 --- a/bsp/buildroot/package/augeas/augeas.hash +++ b/bsp/buildroot/package/augeas/augeas.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# http://download.augeas.net/augeas-1.10.1.tar.gz.sig -sha256 52db256afab261d31cc147eaa1a71795a5fec59e888dfd0b65a84c7aacd6364d augeas-1.10.1.tar.gz +# http://download.augeas.net/augeas-1.11.0.tar.gz.sig +sha256 393ce8f4055af89cd4c20bf903eacbbd909cf427891f41b56dc2ba66243ea0b0 augeas-1.11.0.tar.gz sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING diff --git a/bsp/buildroot/package/augeas/augeas.mk b/bsp/buildroot/package/augeas/augeas.mk index c4b8b7e6..8cb4f74e 100644 --- a/bsp/buildroot/package/augeas/augeas.mk +++ b/bsp/buildroot/package/augeas/augeas.mk @@ -4,7 +4,7 @@ # ################################################################################ -AUGEAS_VERSION = 1.10.1 +AUGEAS_VERSION = 1.11.0 AUGEAS_SITE = http://download.augeas.net AUGEAS_INSTALL_STAGING = YES AUGEAS_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/autofs/Config.in b/bsp/buildroot/package/autofs/Config.in index 8e08357a..8bb5fe27 100644 --- a/bsp/buildroot/package/autofs/Config.in +++ b/bsp/buildroot/package/autofs/Config.in @@ -2,8 +2,9 @@ config BR2_PACKAGE_AUTOFS bool "autofs" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC depends on !BR2_STATIC_LIBS # dlfcn + depends on !BR2_TOOLCHAIN_USES_MUSL # nsswitch + select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC help Autofs controls the operation of the automount daemons. The automount daemons automatically mount filesystems when they @@ -15,7 +16,7 @@ config BR2_PACKAGE_AUTOFS http://www.linuxfromscratch.org/blfs/view/svn/general/autofs.html -comment "autofs needs a toolchain w/ NPTL, RPC, dynamic library" +comment "autofs needs a glibc or uClibc toolchain w/ NPTL and dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ - !BR2_TOOLCHAIN_HAS_NATIVE_RPC + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || BR2_TOOLCHAIN_USES_MUSL diff --git a/bsp/buildroot/package/autofs/autofs.mk b/bsp/buildroot/package/autofs/autofs.mk index befee154..e7c65ef4 100644 --- a/bsp/buildroot/package/autofs/autofs.mk +++ b/bsp/buildroot/package/autofs/autofs.mk @@ -9,7 +9,7 @@ AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5 AUTOFS_LICENSE = GPL-2.0+ AUTOFS_LICENSE_FILES = COPYING COPYRIGHT -AUTOFS_DEPENDENCIES = host-flex host-bison host-nfs-utils +AUTOFS_DEPENDENCIES = host-flex host-bison host-pkgconf host-nfs-utils # autofs looks on the build machine for the path of modprobe, so tell # it explicitly where it will be located on the target. @@ -31,4 +31,11 @@ AUTOFS_CONF_OPTS = \ AUTOFS_MAKE_ENV = DONTSTRIP=1 +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +AUTOFS_CONF_OPTS += --with-libtirpc +AUTOFS_DEPENDENCIES += libtirpc +else +AUTOFS_CONF_OPTS += --without-libtirpc +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/autossh/0001-honour-LDFLAGS.patch b/bsp/buildroot/package/autossh/0001-honour-LDFLAGS.patch deleted file mode 100644 index 2e6160b8..00000000 --- a/bsp/buildroot/package/autossh/0001-honour-LDFLAGS.patch +++ /dev/null @@ -1,16 +0,0 @@ -Honour LDFLAGS, especially required when static linking - -Signed-off-by: Waldemar Brodkorb - -diff -Nur autossh-1.4e.orig/Makefile.in autossh-1.4e/Makefile.in ---- autossh-1.4e.orig/Makefile.in 2015-02-10 05:41:58.000000000 +0100 -+++ autossh-1.4e/Makefile.in 2016-11-25 12:49:06.052122855 +0100 -@@ -31,7 +31,7 @@ - - - $(TARGET): $(OFILES) -- $(CC) $(CPPFLAGS) -o $(TARGET) $(OFILES) $(LIBS) -+ $(CC) $(CPPFLAGS) $(LDFLAGS) -o $(TARGET) $(OFILES) $(LIBS) - - clean: - - /bin/rm -f *.o *.a *.core *~ diff --git a/bsp/buildroot/package/autossh/autossh.hash b/bsp/buildroot/package/autossh/autossh.hash index 4f3de137..5c6cfbc9 100644 --- a/bsp/buildroot/package/autossh/autossh.hash +++ b/bsp/buildroot/package/autossh/autossh.hash @@ -1,2 +1,6 @@ -# From http://www.harding.motd.ca/autossh/autossh-1.4e.cksums -sha256 9e8e10a59d7619176f4b986e256f776097a364d1be012781ea52e08d04679156 autossh-1.4e.tgz +# From http://www.harding.motd.ca/autossh/autossh-1.4f.cksums +sha256 0172e5e1bea40c642e0ef025334be3aadd4ff3b4d62c0b177ed88a8384e2f8f2 autossh-1.4f.tgz +sha1 28189c42ab2e05448596a44adc9d62071172fe9b autossh-1.4f.tgz +md5 432ed721a71b8af4b5763b5c484f80df autossh-1.4f.tgz +# Locally computed +sha256 b6938db718166520533b1d56b01e1eb5f0ad508624478e674938b8f507b66d98 autossh.c diff --git a/bsp/buildroot/package/autossh/autossh.mk b/bsp/buildroot/package/autossh/autossh.mk index d52b4e96..5af8b735 100644 --- a/bsp/buildroot/package/autossh/autossh.mk +++ b/bsp/buildroot/package/autossh/autossh.mk @@ -4,19 +4,14 @@ # ################################################################################ -AUTOSSH_VERSION = 1.4e +AUTOSSH_VERSION = 1.4f AUTOSSH_SITE = http://www.harding.motd.ca/autossh AUTOSSH_SOURCE = autossh-$(AUTOSSH_VERSION).tgz AUTOSSH_LICENSE = Modified BSD AUTOSSH_LICENSE_FILES = autossh.c - -# Bundled ./configure is not up-to-date with what is in configure.ac +# Fix AC_ARG_WITH code generation for --with-ssh AUTOSSH_AUTORECONF = YES AUTOSSH_CONF_OPTS = --with-ssh=/usr/bin/ssh -define AUTOSSH_INSTALL_TARGET_CMDS - $(INSTALL) -m 755 -D $(@D)/autossh $(TARGET_DIR)/usr/bin/autossh -endef - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/avahi/S05avahi-setup.sh b/bsp/buildroot/package/avahi/S05avahi-setup.sh old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/avahi/S50avahi-daemon b/bsp/buildroot/package/avahi/S50avahi-daemon old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/avahi/avahi.mk b/bsp/buildroot/package/avahi/avahi.mk index c8f1af9a..baffe3cb 100644 --- a/bsp/buildroot/package/avahi/avahi.mk +++ b/bsp/buildroot/package/avahi/avahi.mk @@ -125,6 +125,7 @@ endif ifeq ($(BR2_PACKAGE_DBUS),y) AVAHI_DEPENDENCIES += dbus +AVAHI_CONF_OPTS += --with-dbus-sys=/usr/share/dbus-1/system.d else AVAHI_CONF_OPTS += --disable-dbus endif @@ -189,6 +190,13 @@ endif ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y) +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y) +define AVAHI_INSTALL_SYSTEMD_SYSUSERS + $(INSTALL) -D -m 644 package/avahi/avahi_sysusers.conf \ + $(TARGET_DIR)/usr/lib/sysusers.d/avahi.conf +endef +endif + define AVAHI_INSTALL_INIT_SYSTEMD mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants @@ -200,6 +208,8 @@ define AVAHI_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/avahi/avahi_tmpfiles.conf \ $(TARGET_DIR)/usr/lib/tmpfiles.d/avahi.conf + + $(AVAHI_INSTALL_SYSTEMD_SYSUSERS) endef define AVAHI_INSTALL_DAEMON_INIT_SYSV diff --git a/bsp/buildroot/package/avahi/avahi_sysusers.conf b/bsp/buildroot/package/avahi/avahi_sysusers.conf new file mode 100644 index 00000000..463ce97c --- /dev/null +++ b/bsp/buildroot/package/avahi/avahi_sysusers.conf @@ -0,0 +1,5 @@ +# sysusers.d snippet for creating the avahi system user automatically +# at boot on systemd-based systems that ship with an unpopulated +# /etc. See sysusers.d(5) for details. + +u avahi - "Avahi mDNS/DNS-SD Stack" diff --git a/bsp/buildroot/package/avrdude/Config.in b/bsp/buildroot/package/avrdude/Config.in index 3757f17a..a5680b00 100644 --- a/bsp/buildroot/package/avrdude/Config.in +++ b/bsp/buildroot/package/avrdude/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_AVRDUDE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_WCHAR # elfutils depends on !BR2_STATIC_LIBS # elfutils - depends on !BR2_bfin # elfutils depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils select BR2_PACKAGE_ELFUTILS select BR2_PACKAGE_LIBUSB @@ -18,4 +17,3 @@ config BR2_PACKAGE_AVRDUDE comment "avrdude needs a uClibc or glibc toolchain w/ threads, wchar, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) - depends on !BR2_bfin diff --git a/bsp/buildroot/package/avrdude/avrdude.mk b/bsp/buildroot/package/avrdude/avrdude.mk index 0e34076e..ae378dfb 100644 --- a/bsp/buildroot/package/avrdude/avrdude.mk +++ b/bsp/buildroot/package/avrdude/avrdude.mk @@ -15,8 +15,6 @@ AVRDUDE_AUTORECONF = YES AVRDUDE_CONF_OPTS = --enable-linuxgpio AVRDUDE_DEPENDENCIES = elfutils libusb libusb-compat ncurses \ host-flex host-bison -AVRDUDE_LICENSE = GPL-2.0+ -AVRDUDE_LICENSE_FILES = avrdude/COPYING ifeq ($(BR2_PACKAGE_LIBFTDI1),y) AVRDUDE_DEPENDENCIES += libftdi1 diff --git a/bsp/buildroot/package/azmq/azmq.hash b/bsp/buildroot/package/azmq/azmq.hash index d3993f49..35139cfa 100644 --- a/bsp/buildroot/package/azmq/azmq.hash +++ b/bsp/buildroot/package/azmq/azmq.hash @@ -1,3 +1,4 @@ # Locally calculated -# https://github.com/zeromq/azmq/archive/v1.0.tar.gz -sha256 c204c731bcb7810ca3a2c5515e88974ef2ff8d0589e60a897dc238b369180e7b azmq-v1.0.tar.gz +# https://github.com/zeromq/azmq/archive/v1.0.2.tar.gz +sha256 25fa8b07756cffae95e25a55c7ea42efe02e8cd797552201aa771dd69cfc8fbf azmq-v1.0.2.tar.gz +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE-BOOST_1_0 diff --git a/bsp/buildroot/package/azmq/azmq.mk b/bsp/buildroot/package/azmq/azmq.mk index 427ad0f5..9ccb407a 100644 --- a/bsp/buildroot/package/azmq/azmq.mk +++ b/bsp/buildroot/package/azmq/azmq.mk @@ -4,7 +4,7 @@ # ################################################################################ -AZMQ_VERSION = v1.0 +AZMQ_VERSION = v1.0.2 AZMQ_SITE = $(call github,zeromq,azmq,$(AZMQ_VERSION)) AZMQ_DEPENDENCIES = boost zeromq AZMQ_LICENSE = BSL-1.0 diff --git a/bsp/buildroot/package/azure-iot-sdk-c/azure-iot-sdk-c.mk b/bsp/buildroot/package/azure-iot-sdk-c/azure-iot-sdk-c.mk index 18c3e249..8b3f6703 100644 --- a/bsp/buildroot/package/azure-iot-sdk-c/azure-iot-sdk-c.mk +++ b/bsp/buildroot/package/azure-iot-sdk-c/azure-iot-sdk-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -AZURE_IOT_SDK_C_VERSION = 2017-06-30 +AZURE_IOT_SDK_C_VERSION = 2018-12-13 AZURE_IOT_SDK_C_SITE = https://github.com/Azure/azure-iot-sdk-c AZURE_IOT_SDK_C_SITE_METHOD = git AZURE_IOT_SDK_C_GIT_SUBMODULES = YES diff --git a/bsp/buildroot/package/bandwidthd/Config.in b/bsp/buildroot/package/bandwidthd/Config.in index 8a19733c..5a3529e0 100644 --- a/bsp/buildroot/package/bandwidthd/Config.in +++ b/bsp/buildroot/package/bandwidthd/Config.in @@ -35,6 +35,7 @@ if BR2_PACKAGE_BANDWIDTHD config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL bool "enable postgresql log target support" depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help Enable support for logging the bandwidthd data to a remote @@ -42,8 +43,8 @@ config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL through a php site. See README in the source code (github.com/nroach44/bandwidthd) for more information. -comment "postgresql support needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS +comment "postgresql support needs a toolchain w/ dynamic library, wchar" + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_BANDWIDTHD_SQLITE3 bool "enable sqlite3 log storage" diff --git a/bsp/buildroot/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch b/bsp/buildroot/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch new file mode 100644 index 00000000..4d01eb6e --- /dev/null +++ b/bsp/buildroot/package/bash-completion/0001-completions-Makefile.am-Use-install-data-hook-not-in.patch @@ -0,0 +1,35 @@ +From f9a1dfe7a3d0f35474b3f4ded05e3d97be5017bf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ville=20Skytt=C3=A4?= +Date: Fri, 25 May 2018 17:38:59 +0200 +Subject: [PATCH] completions/Makefile.am: Use install-data-hook, not + install-data-local + +-hook is run after the main rule, while -local might end up before. +https://www.gnu.org/software/automake/manual/html_node/Extending.html#index-hook-targets + +Closes #212 + +[backported from ee6b37ad7ff5b309cbb9b886a871252abd9398fa] +Signed-off-by: Romain Naour +--- + completions/Makefile.am | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/completions/Makefile.am b/completions/Makefile.am +index e442a9e..5c49796 100644 +--- a/completions/Makefile.am ++++ b/completions/Makefile.am +@@ -993,8 +993,8 @@ symlinks: $(targetdir) $(DATA) + all-local: targetdir = . + all-local: symlinks + +-install-data-local: targetdir = $(DESTDIR)$(bashcompdir) +-install-data-local: symlinks ++install-data-hook: targetdir = $(DESTDIR)$(bashcompdir) ++install-data-hook: symlinks + + check-local: + ret=0 +-- +2.7.4 + diff --git a/bsp/buildroot/package/bash-completion/Config.in b/bsp/buildroot/package/bash-completion/Config.in new file mode 100644 index 00000000..c907c04a --- /dev/null +++ b/bsp/buildroot/package/bash-completion/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_BASH_COMPLETION + bool "bash completion" + depends on BR2_PACKAGE_BASH + help + Add bash completion infrastructure. + + The bash completion infrastructure is enabled by + /etc/profile.d/bash_completion.sh, which is normally + sourced by /etc/profile. + + If the system does not use the /etc/profile.d directory + mechanism, the /etc/profile.d/bash_completion.sh script can + be sourced from /etc/bashrc or ~/.bashrc. + + https://github.com/scop/bash-completion diff --git a/bsp/buildroot/package/bash-completion/bash-completion.hash b/bsp/buildroot/package/bash-completion/bash-completion.hash new file mode 100644 index 00000000..2c4cf675 --- /dev/null +++ b/bsp/buildroot/package/bash-completion/bash-completion.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c01f5570f5698a0dda8dc9cfb2a83744daa1ec54758373a6e349bd903375f54d bash-completion-2.8.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/bash-completion/bash-completion.mk b/bsp/buildroot/package/bash-completion/bash-completion.mk new file mode 100644 index 00000000..c43fb15c --- /dev/null +++ b/bsp/buildroot/package/bash-completion/bash-completion.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# bash-completion +# +################################################################################ + +BASH_COMPLETION_VERSION = 2.8 +BASH_COMPLETION_SITE = https://github.com/scop/bash-completion/releases/download/$(BASH_COMPLETION_VERSION) +BASH_COMPLETION_SOURCE = bash-completion-$(BASH_COMPLETION_VERSION).tar.xz +BASH_COMPLETION_LICENSE = GPL-2.0 +BASH_COMPLETION_LICENSE_FILES = COPYING + +# 0001-completions-Makefile.am-Use-install-data-hook-not-in.patch +BASH_COMPLETION_AUTORECONF = YES + +# Install bash-completion.pc file +BASH_COMPLETION_INSTALL_STAGING = YES + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/bash/bash.hash b/bsp/buildroot/package/bash/bash.hash index 4e2e48f3..951bcf58 100644 --- a/bsp/buildroot/package/bash/bash.hash +++ b/bsp/buildroot/package/bash/bash.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature from -# http://ftp.gnu.org/gnu/bash/bash-4.4.12.tar.gz.sig -sha256 57d8432be54541531a496fd4904fdc08c12542f43605a9202594fa5d5f9f2331 bash-4.4.12.tar.gz +# http://ftp.gnu.org/gnu/bash/bash-4.4.18.tar.gz.sig +sha256 604d9eec5e4ed5fd2180ee44dd756ddca92e0b6aa4217bbab2b6227380317f23 bash-4.4.18.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/bash/bash.mk b/bsp/buildroot/package/bash/bash.mk index 6e58f0fd..7fb7192e 100644 --- a/bsp/buildroot/package/bash/bash.mk +++ b/bsp/buildroot/package/bash/bash.mk @@ -4,11 +4,9 @@ # ################################################################################ -BASH_VERSION = 4.4.12 +BASH_VERSION = 4.4.18 BASH_SITE = $(BR2_GNU_MIRROR)/bash -# Build after since bash is better than busybox shells -BASH_DEPENDENCIES = ncurses readline host-bison \ - $(if $(BR2_PACKAGE_BUSYBOX),busybox) +BASH_DEPENDENCIES = ncurses readline host-bison BASH_CONF_OPTS = --with-installed-readline --without-bash-malloc BASH_LICENSE = GPL-3.0+ BASH_LICENSE_FILES = COPYING @@ -45,4 +43,12 @@ define BASH_INSTALL_TARGET_CMDS rm -f $(TARGET_DIR)/bin/bashbug endef +# Add /bin/bash to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define BASH_ADD_MKSH_TO_SHELLS + grep -qsE '^/bin/bash$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/bash" >> $(TARGET_DIR)/etc/shells +endef +BASH_TARGET_FINALIZE_HOOKS += BASH_ADD_MKSH_TO_SHELLS + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/bc/bc.mk b/bsp/buildroot/package/bc/bc.mk index a6446cef..ee0e4384 100644 --- a/bsp/buildroot/package/bc/bc.mk +++ b/bsp/buildroot/package/bc/bc.mk @@ -11,9 +11,4 @@ BC_DEPENDENCIES = host-flex BC_LICENSE = GPL-2.0+, LGPL-2.1+ BC_LICENSE_FILES = COPYING COPYING.LIB -# Build after busybox so target ends up with bc's "dc" version -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -BC_DEPENDENCIES += busybox -endif - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch b/bsp/buildroot/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch deleted file mode 100644 index 393ad903..00000000 --- a/bsp/buildroot/package/bdwgc/0001-configure.ac-add-check-for-NO_GETCONTEXT-definition.patch +++ /dev/null @@ -1,28 +0,0 @@ -configure.ac: add check for NO_GETCONTEXT definition - -Signed-off-by: Samuel Martin -[yann.morin.1998@free.fr: add a comment, change variable name, use - AS_IF, remove debug traces, use AC_CHECK_FUNCS (as suggested by - Thomas)] -Signed-off-by: "Yann E. MORIN" -Cc: Thomas Petazzoni - ---- - configure.ac | 6 ++++++ - 1 file changed, 6 insertions(+) - ---- bdwgc-7.2f.orig/configure.ac 2014-06-01 19:00:47.000000000 +0200 -+++ bdwgc-7.2f/configure.ac 2014-12-23 14:13:11.585716713 +0100 -@@ -365,6 +365,12 @@ - AC_MSG_RESULT($ac_cv_fno_strict_aliasing) - fi - -+# Check for getcontext (uClibc can be configured without it, for example) -+AC_CHECK_FUNCS([getcontext]) -+AS_IF([test "$ac_cv_func_getcontext" = "no"], -+ [CFLAGS="$CFLAGS -DNO_GETCONTEXT" -+ CPPFLAGS="$CPPFLAGS -DNO_GETCONTEXT"]) -+ - case "$host" in - # While IRIX 6 has libdl for the O32 and N32 ABIs, it's missing for N64 - # and unnecessary everywhere. diff --git a/bsp/buildroot/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch b/bsp/buildroot/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch new file mode 100644 index 00000000..0d5e6b09 --- /dev/null +++ b/bsp/buildroot/package/bdwgc/0001-fix-link-with-of-bdw-gc-with-a-system-atomic_ops.patch @@ -0,0 +1,57 @@ +From b549c7faa9903340b09ef2592a2c7c213a110220 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 5 Nov 2018 22:50:40 +0100 +Subject: [PATCH] fix link with of bdw-gc with a system atomic_ops + +When bdw-gc is linked with libatomic_ops, bdw-gc.pc must contain the +needed libraries (such as -latomic_ops) otherwise build of applications +such as guile will fail on link stage: + +.libs/libguile_2.0_la-posix.o: In function `scm_tmpnam': +posix.c:(.text+0x2080): warning: the use of `tmpnam' is dangerous, better use `mkstemp' + CCLD guile +/home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_fetch_compare_and_swap_emulation' +/home/buildroot/autobuild/run/instance-2/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libgc.so: undefined reference to `AO_store_full_emulation' + +So set ATOMIC_OPS_LIBS to -latomic_ops when a system atomic_ops library +is used and use ATOMIC_OPS_LIBS in bdw-gc.pc.in + +Fixes: + - http://autobuild.buildroot.org/results/2b23d445e57a5e0f417f5cb9417b0a668bb7bf1c + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ivmai/bdwgc/pull/247] +--- + bdw-gc.pc.in | 2 +- + configure.ac | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/bdw-gc.pc.in b/bdw-gc.pc.in +index ef4c2341..9fc42465 100644 +--- a/bdw-gc.pc.in ++++ b/bdw-gc.pc.in +@@ -6,5 +6,5 @@ includedir=@includedir@ + Name: Boehm-Demers-Weiser Conservative Garbage Collector + Description: A garbage collector for C and C++ + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -lgc ++Libs: -L${libdir} -lgc @ATOMIC_OPS_LIBS@ + Cflags: -I${includedir} +diff --git a/configure.ac b/configure.ac +index 21abe8fa..9ffe81de 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1081,7 +1081,9 @@ AS_IF([test x"$with_libatomic_ops" = xno \ + AC_MSG_CHECKING([which libatomic_ops to use]) + AS_IF([test x"$with_libatomic_ops" != xno], + [ AS_IF([test x"$with_libatomic_ops" != xnone -a x"$THREADS" != xnone], +- [ AC_MSG_RESULT([external]) ], ++ [ AC_MSG_RESULT([external]) ++ ATOMIC_OPS_LIBS="-latomic_ops" ++ AC_SUBST([ATOMIC_OPS_LIBS]) ], + [ AC_MSG_RESULT([none]) + AS_IF([test x"$THREADS" != xnone], + [ AC_DEFINE([GC_BUILTIN_ATOMIC], [1], +-- +2.17.1 + diff --git a/bsp/buildroot/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch b/bsp/buildroot/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch deleted file mode 100644 index e17ed846..00000000 --- a/bsp/buildroot/package/bdwgc/0002-Fix-size-of-tv-is-unknown-error-in-brief_async_signa.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 31eef02317d59b4d204624efbddaea641e861390 Mon Sep 17 00:00:00 2001 -From: Mikael Djurfeldt -Date: Sun, 26 Feb 2017 20:09:56 +0100 -Subject: [PATCH] Fix 'size of tv is unknown' error in - brief_async_signal_safe_sleep (musl) (fix commits 62097c3, 9f48082) - -Include to get struct timeval defined and select() declared. - -* pthread_stop_world.c [GC_ENABLE_SUSPEND_THREAD]: Include sys/time.h -before GC_brief_async_signal_safe_sleep definition. - -Upstream status: upstream -commit ffad61d3bbe86c09ffe062dab393fcb0e4940580 - -[Romain: backported to 7.6.0] -Signed-off-by: Romain Naour ---- - pthread_stop_world.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pthread_stop_world.c b/pthread_stop_world.c -index dad1fdc..8c76944 100644 ---- a/pthread_stop_world.c -+++ b/pthread_stop_world.c -@@ -391,6 +391,7 @@ STATIC void GC_restart_handler(int sig) - # ifndef GC_TIME_LIMIT - # define GC_TIME_LIMIT 50 - # endif -+# include - - STATIC void GC_brief_async_signal_safe_sleep(void) - { --- -2.9.4 - diff --git a/bsp/buildroot/package/bdwgc/bdwgc.hash b/bsp/buildroot/package/bdwgc/bdwgc.hash index 0ebc41c7..6cc4674e 100644 --- a/bsp/buildroot/package/bdwgc/bdwgc.hash +++ b/bsp/buildroot/package/bdwgc/bdwgc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 bd112005563d787675163b5afff02c364fc8deb13a99c03f4e80fdf6608ad41e gc-7.6.2.tar.gz -sha256 9944acfcee6cca308d974933977c1608804f5ad4345aac7cb8608137104e3742 README.QUICK +sha256 8f23f9a20883d00af2bff122249807e645bdf386de0de8cbd6cce3e0c6968f04 gc-8.0.0.tar.gz +sha256 aeeaabbf44e67d413e18719f0c6ac9c23387ab0b33e7a15ee46cf59ddef12cc7 README.QUICK diff --git a/bsp/buildroot/package/bdwgc/bdwgc.mk b/bsp/buildroot/package/bdwgc/bdwgc.mk index 5603df8d..3979cd88 100644 --- a/bsp/buildroot/package/bdwgc/bdwgc.mk +++ b/bsp/buildroot/package/bdwgc/bdwgc.mk @@ -4,7 +4,7 @@ # ################################################################################ -BDWGC_VERSION = 7.6.2 +BDWGC_VERSION = 8.0.0 BDWGC_SOURCE = gc-$(BDWGC_VERSION).tar.gz BDWGC_SITE = http://www.hboehm.info/gc/gc_source BDWGC_INSTALL_STAGING = YES @@ -12,24 +12,26 @@ BDWGC_LICENSE = bdwgc license BDWGC_LICENSE_FILES = README.QUICK BDWGC_DEPENDENCIES = libatomic_ops host-pkgconf HOST_BDWGC_DEPENDENCIES = host-libatomic_ops host-pkgconf - -# The libtool shipped with the package is bogus and generates some -# -L/usr/lib flags. It uses a version not supported by Buildroot -# libtool patches, so autoreconfiguring the packages is the easiest -# solution. +# We're patching configure.ac BDWGC_AUTORECONF = YES -BDWGC_CFLAGS = $(TARGET_CFLAGS) +BDWGC_CONF_OPTS = CFLAGS_EXTRA="$(BDWGC_CFLAGS_EXTRA)" ifeq ($(BR2_sparc),y) -BDWGC_CFLAGS += -DAO_NO_SPARC_V9 +BDWGC_CFLAGS_EXTRA += -DAO_NO_SPARC_V9 endif ifeq ($(BR2_STATIC_LIBS),y) -BDWGC_CFLAGS += -DGC_NO_DLOPEN +BDWGC_CFLAGS_EXTRA += -DGC_NO_DLOPEN endif # Ensure we use the system libatomic_ops, and not the internal one. -BDWGC_CONF_OPTS = --with-libatomic-ops=yes CFLAGS="$(BDWGC_CFLAGS)" +BDWGC_CONF_OPTS += --with-libatomic-ops=yes HOST_BDWGC_CONF_OPTS = --with-libatomic-ops=yes +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +BDWGC_CONF_OPTS += --enable-cplusplus +else +BDWGC_CONF_OPTS += --disable-cplusplus +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/berkeleydb/0002-atomic_compare_exchange.patch b/bsp/buildroot/package/berkeleydb/0002-atomic_compare_exchange.patch new file mode 100644 index 00000000..81e18ac9 --- /dev/null +++ b/bsp/buildroot/package/berkeleydb/0002-atomic_compare_exchange.patch @@ -0,0 +1,27 @@ +Rename __atomic_compare_exchange to not clash with gcc built-in + +Downloaded from +https://src.fedoraproject.org/cgit/rpms/libdb.git/commit/?id=d6841b3b46a51db98c162347211a5a64d154ea37 + +Signed-off-by: Bernd Kuhls + +--- db-5.3.28/src/dbinc/atomic.h.old 2018-05-23 09:20:04.216914922 +0200 ++++ db-5.3.28/src/dbinc/atomic.h 2018-05-23 09:20:49.510057897 +0200 +@@ -144,7 +144,7 @@ + #define atomic_inc(env, p) __atomic_inc(p) + #define atomic_dec(env, p) __atomic_dec(p) + #define atomic_compare_exchange(env, p, o, n) \ +- __atomic_compare_exchange((p), (o), (n)) ++ __db_atomic_compare_exchange((p), (o), (n)) + static inline int __atomic_inc(db_atomic_t *p) + { + int temp; +@@ -176,7 +176,7 @@ + * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html + * which configure could be changed to use. + */ +-static inline int __atomic_compare_exchange( ++static inline int __db_atomic_compare_exchange( + db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval) + { + atomic_value_t was; diff --git a/bsp/buildroot/package/berkeleydb/berkeleydb.mk b/bsp/buildroot/package/berkeleydb/berkeleydb.mk index a315943e..e5c11bdd 100644 --- a/bsp/buildroot/package/berkeleydb/berkeleydb.mk +++ b/bsp/buildroot/package/berkeleydb/berkeleydb.mk @@ -20,18 +20,11 @@ BERKELEYDB_BINARIES = db_archive db_checkpoint db_deadlock db_dump \ db_hotbackup db_load db_log_verify db_printlog db_recover db_replicate \ db_stat db_tuner db_upgrade db_verify -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -BERKELEYDB_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - # build directory can't be the directory where configure are there, so.. define BERKELEYDB_CONFIGURE_CMDS (cd $(@D)/build_unix; rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_ARGS) \ - $(BERKELEYDB_CONF_ENV) \ ../dist/configure $(QUIET) \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ diff --git a/bsp/buildroot/package/bind/S81named b/bsp/buildroot/package/bind/S81named index bc4bb0f2..1da3008a 100644 --- a/bsp/buildroot/package/bind/S81named +++ b/bsp/buildroot/package/bind/S81named @@ -3,7 +3,6 @@ CONFIG=/etc/bind/named.conf DAEMON=/usr/sbin/named -[ -x $DAEMON ] || exit 0 [ -f $CONFIG ] || exit 0 case "$1" in diff --git a/bsp/buildroot/package/bind/bind.hash b/bsp/buildroot/package/bind/bind.hash index ea76108c..3072d2d2 100644 --- a/bsp/buildroot/package/bind/bind.hash +++ b/bsp/buildroot/package/bind/bind.hash @@ -1,4 +1,4 @@ -# Verified from https://ftp.isc.org/isc/bind9/9.11.5/bind-9.11.5.tar.gz.asc +# Verified from https://ftp.isc.org/isc/bind9/9.11.5-P4/bind-9.11.5-P4.tar.gz.asc # with key BE0E9748B718253A28BB89FFF1B11BF05CF02E57 -sha256 a4cae11dad954bdd4eb592178f875bfec09fcc7e29fe0f6b7a4e5b5c6bc61322 bind-9.11.5.tar.gz -sha256 336f3c40e37a1a13690efb4c63e20908faa4c40498cc02f3579fb67d3a1933a5 COPYRIGHT +sha256 7e8c08192bcbaeb6e9f2391a70e67583b027b90e8c4bc1605da6eb126edde434 bind-9.11.5-P4.tar.gz +sha256 cd02c93b8dcda794f55dfd1231828d69633072a98eee4874f9cf732d22d9dcde COPYRIGHT diff --git a/bsp/buildroot/package/bind/bind.mk b/bsp/buildroot/package/bind/bind.mk index b5424a99..572eacd1 100644 --- a/bsp/buildroot/package/bind/bind.mk +++ b/bsp/buildroot/package/bind/bind.mk @@ -4,8 +4,8 @@ # ################################################################################ -BIND_VERSION = 9.11.5 -BIND_SITE = http://ftp.isc.org/isc/bind9/$(BIND_VERSION) +BIND_VERSION = 9.11.5-P4 +BIND_SITE = https://ftp.isc.org/isc/bind9/$(BIND_VERSION) # bind does not support parallel builds. BIND_MAKE = $(MAKE1) BIND_INSTALL_STAGING = YES @@ -95,11 +95,11 @@ endef ifeq ($(BR2_PACKAGE_BIND_SERVER),y) define BIND_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/bind/S81named \ + $(INSTALL) -m 0755 -D $(BIND_PKGDIR)/S81named \ $(TARGET_DIR)/etc/init.d/S81named endef define BIND_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 package/bind/named.service \ + $(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \ $(TARGET_DIR)/usr/lib/systemd/system/named.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants diff --git a/bsp/buildroot/package/binutils/2.27/0905-bfin-rofixup-bug.patch b/bsp/buildroot/package/binutils/2.27/0905-bfin-rofixup-bug.patch deleted file mode 100644 index da9d5865..00000000 --- a/bsp/buildroot/package/binutils/2.27/0905-bfin-rofixup-bug.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fixes: LINKER BUG: .rofixup section size mismatch - -Workaround from adi-toolchain commit: -af414ec1fb628ddb1562f062f3db49823ca14ca2 -[#6798] binutils-2.21/bfd: temp workaround for rofixup mismatch errors. - -Signed-off-by: Waldemar Brodkorb - -diff -Nur binutils-2.26.1.orig/bfd/elf32-bfin.c binutils-2.26.1/bfd/elf32-bfin.c ---- binutils-2.26.1.orig/bfd/elf32-bfin.c 2015-11-13 09:27:40.000000000 +0100 -+++ binutils-2.26.1/bfd/elf32-bfin.c 2016-07-31 00:50:48.357995132 +0200 -@@ -4879,7 +4879,8 @@ - - case R_BFIN_FUNCDESC: - picrel->fd++; -- picrel->relocsfd++; -+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) -+ picrel->relocsfd++; - break; - - /* This relocation describes the C++ object vtable hierarchy. diff --git a/bsp/buildroot/package/binutils/2.28.1/0905-bfin-rofixup-bug.patch b/bsp/buildroot/package/binutils/2.28.1/0905-bfin-rofixup-bug.patch deleted file mode 100644 index 5733b219..00000000 --- a/bsp/buildroot/package/binutils/2.28.1/0905-bfin-rofixup-bug.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fixes: LINKER BUG: .rofixup section size mismatch - -Workaround from adi-toolchain commit: -af414ec1fb628ddb1562f062f3db49823ca14ca2 -[#6798] binutils-2.21/bfd: temp workaround for rofixup mismatch errors. - -Signed-off-by: Waldemar Brodkorb - -diff -Nur binutils-2.26.1.orig/bfd/elf32-bfin.c binutils-2.26.1/bfd/elf32-bfin.c ---- binutils-2.26.1.orig/bfd/elf32-bfin.c 2015-11-13 09:27:40.000000000 +0100 -+++ binutils-2.26.1/bfd/elf32-bfin.c 2016-07-31 00:50:48.357995132 +0200 -@@ -4845,7 +4845,8 @@ - - case R_BFIN_FUNCDESC: - picrel->fd++; -- picrel->relocsfd++; -+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) -+ picrel->relocsfd++; - break; - - /* This relocation describes the C++ object vtable hierarchy. diff --git a/bsp/buildroot/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch b/bsp/buildroot/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch deleted file mode 100644 index e5409efe..00000000 --- a/bsp/buildroot/package/binutils/2.29.1/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 122de3b633f4273826a2d01702d7c515f93ec2be Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Sat, 29 Jul 2017 14:08:20 +0200 -Subject: [PATCH] Fixes: LINKER BUG: .rofixup section size mismatch - -Workaround from adi-toolchain commit: -af414ec1fb628ddb1562f062f3db49823ca14ca2 -[#6798] binutils-2.21/bfd: temp workaround for rofixup mismatch errors. - -Signed-off-by: Waldemar Brodkorb ---- - bfd/elf32-bfin.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c -index b3e09bd..660eec5 100644 ---- a/bfd/elf32-bfin.c -+++ b/bfd/elf32-bfin.c -@@ -4845,7 +4845,8 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, - - case R_BFIN_FUNCDESC: - picrel->fd++; -- picrel->relocsfd++; -+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) -+ picrel->relocsfd++; - break; - - /* This relocation describes the C++ object vtable hierarchy. --- -2.9.4 - diff --git a/bsp/buildroot/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch b/bsp/buildroot/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch new file mode 100644 index 00000000..396f2f14 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.30/0006-ARC-Refactored-location-where-GOT-information-is-col.patch @@ -0,0 +1,197 @@ +From 141346d3968bdc82d3e487f3effdc3f835a09403 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:16:21 +0100 +Subject: [PATCH] [ARC] Refactored location where GOT information is + collected. + +Change location where GOT information is collected for ARC target, avoiding +posible use conflicts of the previous .got field in the symbols hash_entry. + +bfd/ +2018-03-01 Cupertino Miranda + + * arc-got.h (get_got_entry_list_for_symbol): Changed. + * ef32-arc.c (struct elf_arc_link_hash_entry): Moved and changed. + (elf_arc_link_hash_newfunc): Changed. + (arc_elf_link_hash_table_create): Removed old initializations. + (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed. + +Signed-off-by: Alexey Brodkin +--- + bfd/arc-got.h | 6 ++-- + bfd/elf32-arc.c | 77 +++++++++++++++++++++++++++---------------------- + 2 files changed, 46 insertions(+), 37 deletions(-) + +diff --git a/bfd/arc-got.h b/bfd/arc-got.h +index a86061bcb38f..81ce88fe21a0 100644 +--- a/bfd/arc-got.h ++++ b/bfd/arc-got.h +@@ -156,9 +156,11 @@ get_got_entry_list_for_symbol (bfd *abfd, + unsigned long r_symndx, + struct elf_link_hash_entry *h) + { +- if (h != NULL) ++ struct elf_arc_link_hash_entry *h1 = ++ ((struct elf_arc_link_hash_entry *) h); ++ if (h1 != NULL) + { +- return &h->got.glist; ++ return &h1->got_ents; + } + else + { +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index 5921cc25259e..166a5ef604ff 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -159,6 +159,18 @@ struct arc_relocation_data + const char * symbol_name; + }; + ++/* ARC ELF linker hash entry. */ ++struct elf_arc_link_hash_entry ++{ ++ struct elf_link_hash_entry root; ++ ++ /* Track dynamic relocs copied for this symbol. */ ++ struct elf_dyn_relocs *dyn_relocs; ++ ++ struct got_entry *got_ents; ++}; ++ ++ + /* Should be included at this location due to static declarations + * defined before this point. */ + #include "arc-got.h" +@@ -275,15 +287,6 @@ struct arc_reloc_map + unsigned char elf_reloc_val; + }; + +-/* ARC ELF linker hash entry. */ +-struct elf_arc_link_hash_entry +-{ +- struct elf_link_hash_entry root; +- +- /* Track dynamic relocs copied for this symbol. */ +- struct elf_dyn_relocs *dyn_relocs; +-}; +- + /* ARC ELF linker hash table. */ + struct elf_arc_link_hash_table + { +@@ -295,28 +298,28 @@ elf_arc_link_hash_newfunc (struct bfd_hash_entry *entry, + struct bfd_hash_table *table, + const char *string) + { ++ struct elf_arc_link_hash_entry * ret = ++ (struct elf_arc_link_hash_entry *) entry; ++ + /* Allocate the structure if it has not already been allocated by a + subclass. */ +- if (entry == NULL) +- { +- entry = (struct bfd_hash_entry *) +- bfd_hash_allocate (table, +- sizeof (struct elf_arc_link_hash_entry)); +- if (entry == NULL) +- return entry; +- } ++ if (ret == NULL) ++ ret = (struct elf_arc_link_hash_entry *) ++ bfd_hash_allocate (table, sizeof (struct elf_arc_link_hash_entry)); ++ if (ret == NULL) ++ return (struct bfd_hash_entry *) ret; + + /* Call the allocation method of the superclass. */ +- entry = _bfd_elf_link_hash_newfunc (entry, table, string); +- if (entry != NULL) ++ ret = ((struct elf_arc_link_hash_entry *) ++ _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret, ++ table, string)); ++ if (ret != NULL) + { +- struct elf_arc_link_hash_entry *eh; +- +- eh = (struct elf_arc_link_hash_entry *) entry; +- eh->dyn_relocs = NULL; ++ ret->dyn_relocs = NULL; ++ ret->got_ents = NULL; + } + +- return entry; ++ return (struct bfd_hash_entry *) ret; + } + + /* Destroy an ARC ELF linker hash table. */ +@@ -346,11 +349,6 @@ arc_elf_link_hash_table_create (bfd *abfd) + return NULL; + } + +- ret->elf.init_got_refcount.refcount = 0; +- ret->elf.init_got_refcount.glist = NULL; +- ret->elf.init_got_offset.offset = 0; +- ret->elf.init_got_offset.glist = NULL; +- + ret->elf.root.hash_table_free = elf_arc_link_hash_table_free; + + return &ret->elf.root; +@@ -1598,10 +1596,14 @@ elf_arc_relocate_section (bfd * output_bfd, + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + { +- struct elf_link_hash_entry *h_old = h; ++ struct elf_arc_link_hash_entry *ah_old = ++ (struct elf_arc_link_hash_entry *) h; + h = (struct elf_link_hash_entry *) h->root.u.i.link; +- if (h->got.glist == 0 && h_old->got.glist != h->got.glist) +- h->got.glist = h_old->got.glist; ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; ++ ++ if (ah->got_ents == 0 && ah_old->got_ents != ah->got_ents) ++ ah->got_ents = ah_old->got_ents; + } + + /* TODO: Need to validate what was the intention. */ +@@ -1619,6 +1621,8 @@ elf_arc_relocate_section (bfd * output_bfd, + + if (is_reloc_for_GOT (howto) && !bfd_link_pic (info)) + { ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; + /* TODO: Change it to use arc_do_relocation with + ARC_32 reloc. Try to use ADD_RELA macro. */ + bfd_vma relocation = +@@ -1628,8 +1632,8 @@ elf_arc_relocate_section (bfd * output_bfd, + + reloc_data.sym_section->output_section->vma) + : 0); + +- BFD_ASSERT (h->got.glist); +- bfd_vma got_offset = h->got.glist->offset; ++ BFD_ASSERT (ah->got_ents); ++ bfd_vma got_offset = ah->got_ents->offset; + bfd_put_32 (output_bfd, relocation, + htab->sgot->contents + got_offset); + } +@@ -1941,6 +1945,7 @@ elf_arc_check_relocs (bfd * abfd, + else /* Global one. */ + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + ++ + switch (r_type) + { + case R_ARC_32: +@@ -2387,7 +2392,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + create respective dynamic relocs. */ + /* TODO: Make function to get list and not access the list directly. */ + /* TODO: Move function to relocate_section create this relocs eagerly. */ +- create_got_dynrelocs_for_got_info (&h->got.glist, ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; ++ create_got_dynrelocs_for_got_info (&ah->got_ents, + output_bfd, + info, + h); +-- +2.17.1 + diff --git a/bsp/buildroot/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch b/bsp/buildroot/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch deleted file mode 100644 index 0ce2cf22..00000000 --- a/bsp/buildroot/package/binutils/2.30/0006-Fixes-LINKER-BUG-.rofixup-section-size-mismatch.patch +++ /dev/null @@ -1,31 +0,0 @@ -From c3bd478ac1b7e83765230505eb08a0acf2fe3867 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Sat, 29 Jul 2017 14:08:20 +0200 -Subject: [PATCH] Fixes: LINKER BUG: .rofixup section size mismatch - -Workaround from adi-toolchain commit: -af414ec1fb628ddb1562f062f3db49823ca14ca2 -[#6798] binutils-2.21/bfd: temp workaround for rofixup mismatch errors. - -Signed-off-by: Waldemar Brodkorb ---- - bfd/elf32-bfin.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/bfd/elf32-bfin.c b/bfd/elf32-bfin.c -index 478b8d4731..a38519b585 100644 ---- a/bfd/elf32-bfin.c -+++ b/bfd/elf32-bfin.c -@@ -4655,7 +4655,8 @@ bfinfdpic_check_relocs (bfd *abfd, struct bfd_link_info *info, - - case R_BFIN_FUNCDESC: - picrel->fd++; -- picrel->relocsfd++; -+ if (bfd_get_section_flags (abfd, sec) & SEC_ALLOC) -+ picrel->relocsfd++; - break; - - /* This relocation describes the C++ object vtable hierarchy. --- -2.14.3 - diff --git a/bsp/buildroot/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch b/bsp/buildroot/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch new file mode 100644 index 00000000..0633692c --- /dev/null +++ b/bsp/buildroot/package/binutils/2.30/0007-ARC-Improved-robustness.-Return-FALSE-in-case-of-NUL.patch @@ -0,0 +1,34 @@ +From 4bac50c2c94023cb1b5bf947abfb1c72eeeb12d5 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:33:48 +0100 +Subject: [PATCH] [ARC] Improved robustness. Return FALSE in case of NULL + pointer. + +bfd/ +2018-03-01 Cupertino Miranda + + * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case + arc_htab is NULL. + +Signed-off-by: Alexey Brodkin +--- + bfd/elf32-arc.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index 166a5ef604ff..72b808b99127 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -2403,6 +2403,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + { + struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info); + ++ if(arc_htab == NULL) ++ return FALSE; ++ + if (h->dynindx == -1 + || (h->root.type != bfd_link_hash_defined + && h->root.type != bfd_link_hash_defweak) +-- +2.17.1 + diff --git a/bsp/buildroot/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch b/bsp/buildroot/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch new file mode 100644 index 00000000..2ffe9c97 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.30/0008-ARC-Make-sure-global-symbol-is-not-an-indirect-or-wa.patch @@ -0,0 +1,42 @@ +From b182c9f81daa08cf18cd78af3e7aca74640e8551 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:38:14 +0100 +Subject: [PATCH] [ARC] Make sure global symbol is not an indirect or + warning. + +Problem identified in the context of glibc with latest upstream binutils. +Dynamic symbol space was being reserved but, no actual information for the +symbol was being set. Data for the symbol was kept initialized with -1. +No easy test case was possible to be created. + +bfd/ +2018-03-01 Cupertino Miranda + + * elf32-arc.c (elf_arc_check_relocs): Changed. + +Signed-off-by: Alexey Brodkin +--- + bfd/elf32-arc.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index 72b808b99127..6f6470f6f202 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -1943,7 +1943,12 @@ elf_arc_check_relocs (bfd * abfd, + if (r_symndx < symtab_hdr->sh_info) /* Is a local symbol. */ + h = NULL; + else /* Global one. */ +- h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ { ++ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ while (h->root.type == bfd_link_hash_indirect ++ || h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ } + + + switch (r_type) +-- +2.17.1 + diff --git a/bsp/buildroot/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch b/bsp/buildroot/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch new file mode 100644 index 00000000..a5bcb94d --- /dev/null +++ b/bsp/buildroot/package/binutils/2.30/0009-ARC-PLT-information-was-still-being-generated-when-s.patch @@ -0,0 +1,35 @@ +From e2f2d7f939435280003983ef822acd0844648643 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:44:29 +0100 +Subject: [PATCH] [ARC] PLT information was still being generated when + symbol was forced_local. + +A change upstream reveiled this issue, triggering an assert when linking glibc. + +bfd/ +2018-03-01 Cupertino Miranda + + * elf32-arc.c (elf_arc_check_relocs): Changed. + +Signed-off-by: Alexey Brodkin +--- + bfd/elf32-arc.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index 6f6470f6f202..184957c7d750 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -2024,7 +2024,8 @@ elf_arc_check_relocs (bfd * abfd, + if (h == NULL) + continue; + else +- h->needs_plt = 1; ++ if(h->forced_local == 0) ++ h->needs_plt = 1; + } + + /* Add info to the symbol got_entry_list. */ +-- +2.17.1 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0001-sh-conf.patch b/bsp/buildroot/package/binutils/2.31.1/0001-sh-conf.patch new file mode 100644 index 00000000..9e77c12b --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0001-sh-conf.patch @@ -0,0 +1,48 @@ +From ac36af7d97d7920512068316fac6159aead97a01 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:38:13 +0100 +Subject: [PATCH] sh-conf + +Likewise, binutils has no idea about any of these new targets either, so we +fix that up too.. now we're able to actually build a real toolchain for +sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more +inept targets than that one, really. Go look, I promise). + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Thomas: rebase on top of 2.29, in which sh64 support was removed.] +Signed-off-by: Thomas Petazzoni +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 462ad053066..27cb5571d0d 100755 +--- a/configure ++++ b/configure +@@ -3855,7 +3855,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +diff --git a/configure.ac b/configure.ac +index a638f694134..2fd7bce1576 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1152,7 +1152,7 @@ case "${target}" in + nvptx*-*-*) + noconfigdirs="$noconfigdirs target-libssp target-libstdc++-v3 target-libobjc" + ;; +- sh-*-*) ++ sh*-*-*) + case "${target}" in + sh*-*-elf) + ;; +-- +2.14.4 + diff --git a/bsp/buildroot/package/binutils/arc-2017.09-release/0005-poison-system-directories.patch b/bsp/buildroot/package/binutils/2.31.1/0005-poison-system-directories.patch similarity index 89% rename from bsp/buildroot/package/binutils/arc-2017.09-release/0005-poison-system-directories.patch rename to bsp/buildroot/package/binutils/2.31.1/0005-poison-system-directories.patch index a7c2761a..90c7ac76 100644 --- a/bsp/buildroot/package/binutils/arc-2017.09-release/0005-poison-system-directories.patch +++ b/bsp/buildroot/package/binutils/2.31.1/0005-poison-system-directories.patch @@ -1,4 +1,4 @@ -From b100e9d16bfe6725b2624902af457ecfa490b150 Mon Sep 17 00:00:00 2001 +From 7d1e6ed1d57e839207e0ece7561bd4709032de9f Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Fri, 25 Dec 2015 11:45:38 +0100 Subject: [PATCH] poison-system-directories @@ -70,7 +70,7 @@ Signed-off-by: Scott Garman ld/configure | 14 ++++++++++++++ ld/configure.ac | 10 ++++++++++ ld/ld.h | 8 ++++++++ - ld/ld.texinfo | 12 ++++++++++++ + ld/ld.texi | 12 ++++++++++++ ld/ldfile.c | 17 +++++++++++++++++ ld/ldlex.h | 2 ++ ld/ldmain.c | 2 ++ @@ -78,10 +78,10 @@ Signed-off-by: Scott Garman 9 files changed, 89 insertions(+) diff --git a/ld/config.in b/ld/config.in -index 5d91380..ffe84a7 100644 +index d93c9b0..5da2742 100644 --- a/ld/config.in +++ b/ld/config.in -@@ -21,6 +21,9 @@ +@@ -31,6 +31,9 @@ language is requested. */ #undef ENABLE_NLS @@ -92,10 +92,10 @@ index 5d91380..ffe84a7 100644 #undef EXTRA_SHLIB_EXTENSION diff --git a/ld/configure b/ld/configure -index da20ab5..63e3da7 100755 +index 300a272..d68890f 100755 --- a/ld/configure +++ b/ld/configure -@@ -785,6 +785,7 @@ with_lib_path +@@ -822,6 +822,7 @@ with_lib_path enable_targets enable_64_bit_bfd with_sysroot @@ -103,7 +103,7 @@ index da20ab5..63e3da7 100755 enable_gold enable_got enable_compressed_debug_sections -@@ -1443,6 +1444,8 @@ Optional Features: +@@ -1486,6 +1487,8 @@ Optional Features: --disable-largefile omit support for large files --enable-targets alternative target configurations --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) @@ -112,7 +112,7 @@ index da20ab5..63e3da7 100755 --enable-gold[=ARG] build gold [ARG={default,yes,no}] --enable-got= GOT handling scheme (target, single, negative, multigot) -@@ -15497,7 +15500,18 @@ else +@@ -15803,7 +15806,18 @@ else fi @@ -132,10 +132,10 @@ index da20ab5..63e3da7 100755 # Check whether --enable-got was given. if test "${enable_got+set}" = set; then : diff --git a/ld/configure.ac b/ld/configure.ac -index 34315e6..5ade9a0 100644 +index d10c553..9f1b57b 100644 --- a/ld/configure.ac +++ b/ld/configure.ac -@@ -95,6 +95,16 @@ AC_SUBST(use_sysroot) +@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) AC_SUBST(TARGET_SYSTEM_ROOT) AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) @@ -153,10 +153,10 @@ index 34315e6..5ade9a0 100644 dnl "install_as_default" is set to false if gold is the default linker. dnl "installed_linker" is the installed BFD linker name. diff --git a/ld/ld.h b/ld/ld.h -index 162e156..7d6d7ef 100644 +index ba914b9..9df17da 100644 --- a/ld/ld.h +++ b/ld/ld.h -@@ -177,6 +177,14 @@ typedef struct +@@ -180,6 +180,14 @@ typedef struct in the linker script. */ bfd_boolean force_group_allocation; @@ -171,11 +171,11 @@ index 162e156..7d6d7ef 100644 /* Big or little endian as set on command line. */ enum endian_enum endian; -diff --git a/ld/ld.texinfo b/ld/ld.texinfo -index bb5f719..78501e4 100644 ---- a/ld/ld.texinfo -+++ b/ld/ld.texinfo -@@ -2480,6 +2480,18 @@ string identifying the original linked file does not change. +diff --git a/ld/ld.texi b/ld/ld.texi +index 40d79dd..137d46c 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2479,6 +2479,18 @@ string identifying the original linked file does not change. Passing @code{none} for @var{style} disables the setting from any @code{--build-id} options earlier on the command line. @@ -195,7 +195,7 @@ index bb5f719..78501e4 100644 @c man end diff --git a/ld/ldfile.c b/ld/ldfile.c -index f7e5473..2cd84d3 100644 +index b3d166c..3dcbf66 100644 --- a/ld/ldfile.c +++ b/ld/ldfile.c @@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) @@ -223,10 +223,10 @@ index f7e5473..2cd84d3 100644 /* Try to open a BFD for a lang_input_statement. */ diff --git a/ld/ldlex.h b/ld/ldlex.h -index 5aa7f6b..cb655e0 100644 +index 04d6fd5..d7df005 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h -@@ -147,6 +147,8 @@ enum option_values +@@ -148,6 +148,8 @@ enum option_values OPTION_REQUIRE_DEFINED_SYMBOL, OPTION_ORPHAN_HANDLING, OPTION_FORCE_GROUP_ALLOCATION, @@ -236,10 +236,10 @@ index 5aa7f6b..cb655e0 100644 /* The initial parser states. */ diff --git a/ld/ldmain.c b/ld/ldmain.c -index ee5ab11..5f6effd 100644 +index f31eeb2..25f8497 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c -@@ -270,6 +270,8 @@ main (int argc, char **argv) +@@ -268,6 +268,8 @@ main (int argc, char **argv) command_line.warn_mismatch = TRUE; command_line.warn_search_mismatch = TRUE; command_line.check_section_addresses = -1; @@ -249,10 +249,10 @@ index ee5ab11..5f6effd 100644 /* We initialize DEMANGLING based on the environment variable COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the diff --git a/ld/lexsup.c b/ld/lexsup.c -index 08106bc..d619d50 100644 +index 86a033a..f07f095 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c -@@ -538,6 +538,14 @@ static const struct ld_option ld_options[] = +@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] = { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, '\0', N_("=MODE"), N_("Control how orphan sections are handled."), TWO_DASHES }, @@ -267,7 +267,7 @@ index 08106bc..d619d50 100644 }; #define OPTION_COUNT ARRAY_SIZE (ld_options) -@@ -550,6 +558,7 @@ parse_args (unsigned argc, char **argv) +@@ -555,6 +563,7 @@ parse_args (unsigned argc, char **argv) int ingroup = 0; char *default_dirlist = NULL; char *shortopts; @@ -275,9 +275,9 @@ index 08106bc..d619d50 100644 struct option *longopts; struct option *really_longopts; int last_optind; -@@ -1534,6 +1543,14 @@ parse_args (unsigned argc, char **argv) - } - break; +@@ -1543,6 +1552,14 @@ parse_args (unsigned argc, char **argv) + } + break; + case OPTION_NO_POISON_SYSTEM_DIRECTORIES: + command_line.poison_system_directories = FALSE; @@ -290,7 +290,7 @@ index 08106bc..d619d50 100644 case OPTION_PUSH_STATE: input_flags.pushed = xmemdup (&input_flags, sizeof (input_flags), -@@ -1577,6 +1594,10 @@ parse_args (unsigned argc, char **argv) +@@ -1586,6 +1603,10 @@ parse_args (unsigned argc, char **argv) command_line.soname = NULL; } @@ -302,5 +302,5 @@ index 08106bc..d619d50 100644 { lang_leave_group (); -- -2.9.4 +2.7.4 diff --git a/bsp/buildroot/package/binutils/2.31.1/0006-Refactored-location-where-GOT-information-is-collect.patch b/bsp/buildroot/package/binutils/2.31.1/0006-Refactored-location-where-GOT-information-is-collect.patch new file mode 100644 index 00000000..306c65fd --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0006-Refactored-location-where-GOT-information-is-collect.patch @@ -0,0 +1,198 @@ +From d930affa2d475d1cc6792f1e6d56bef3d6c617db Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:16:21 +0100 +Subject: [PATCH] Refactored location where GOT information is collected. + +Change location where GOT information is collected for ARC target, avoiding +posible use conflicts of the previous .got field in the symbols hash_entry. + +bfd/ +2018-03-01 Cupertino Miranda + + * arc-got.h (get_got_entry_list_for_symbol): Changed. + * ef32-arc.c (struct elf_arc_link_hash_entry): Moved and changed. + (elf_arc_link_hash_newfunc): Changed. + (arc_elf_link_hash_table_create): Removed old initializations. + (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed. + +Signed-off-by: Alexey Brodkin +[Romain: rebase on top of 2.31] +Signed-off-by: Romain Naour +--- + bfd/arc-got.h | 6 +++-- + bfd/elf32-arc.c | 77 +++++++++++++++++++++++++++++++-------------------------- + 2 files changed, 46 insertions(+), 37 deletions(-) + +diff --git a/bfd/arc-got.h b/bfd/arc-got.h +index a86061bcb38..81ce88fe21a 100644 +--- a/bfd/arc-got.h ++++ b/bfd/arc-got.h +@@ -156,9 +156,11 @@ get_got_entry_list_for_symbol (bfd *abfd, + unsigned long r_symndx, + struct elf_link_hash_entry *h) + { +- if (h != NULL) ++ struct elf_arc_link_hash_entry *h1 = ++ ((struct elf_arc_link_hash_entry *) h); ++ if (h1 != NULL) + { +- return &h->got.glist; ++ return &h1->got_ents; + } + else + { +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index a48ef0ca15f..ab84de43815 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -160,6 +160,18 @@ struct arc_relocation_data + const char * symbol_name; + }; + ++/* ARC ELF linker hash entry. */ ++struct elf_arc_link_hash_entry ++{ ++ struct elf_link_hash_entry root; ++ ++ /* Track dynamic relocs copied for this symbol. */ ++ struct elf_dyn_relocs *dyn_relocs; ++ ++ struct got_entry *got_ents; ++}; ++ ++ + /* Should be included at this location due to static declarations + defined before this point. */ + #include "arc-got.h" +@@ -281,15 +293,6 @@ struct arc_reloc_map + unsigned char elf_reloc_val; + }; + +-/* ARC ELF linker hash entry. */ +-struct elf_arc_link_hash_entry +-{ +- struct elf_link_hash_entry root; +- +- /* Track dynamic relocs copied for this symbol. */ +- struct elf_dyn_relocs *dyn_relocs; +-}; +- + /* ARC ELF linker hash table. */ + struct elf_arc_link_hash_table + { +@@ -301,28 +304,28 @@ elf_arc_link_hash_newfunc (struct bfd_hash_entry *entry, + struct bfd_hash_table *table, + const char *string) + { ++ struct elf_arc_link_hash_entry * ret = ++ (struct elf_arc_link_hash_entry *) entry; ++ + /* Allocate the structure if it has not already been allocated by a + subclass. */ +- if (entry == NULL) +- { +- entry = (struct bfd_hash_entry *) +- bfd_hash_allocate (table, +- sizeof (struct elf_arc_link_hash_entry)); +- if (entry == NULL) +- return entry; +- } ++ if (ret == NULL) ++ ret = (struct elf_arc_link_hash_entry *) ++ bfd_hash_allocate (table, sizeof (struct elf_arc_link_hash_entry)); ++ if (ret == NULL) ++ return (struct bfd_hash_entry *) ret; + + /* Call the allocation method of the superclass. */ +- entry = _bfd_elf_link_hash_newfunc (entry, table, string); +- if (entry != NULL) ++ ret = ((struct elf_arc_link_hash_entry *) ++ _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret, ++ table, string)); ++ if (ret != NULL) + { +- struct elf_arc_link_hash_entry *eh; +- +- eh = (struct elf_arc_link_hash_entry *) entry; +- eh->dyn_relocs = NULL; ++ ret->dyn_relocs = NULL; ++ ret->got_ents = NULL; + } + +- return entry; ++ return (struct bfd_hash_entry *) ret; + } + + /* Destroy an ARC ELF linker hash table. */ +@@ -352,11 +355,6 @@ arc_elf_link_hash_table_create (bfd *abfd) + return NULL; + } + +- ret->elf.init_got_refcount.refcount = 0; +- ret->elf.init_got_refcount.glist = NULL; +- ret->elf.init_got_offset.offset = 0; +- ret->elf.init_got_offset.glist = NULL; +- + ret->elf.root.hash_table_free = elf_arc_link_hash_table_free; + + return &ret->elf.root; +@@ -1615,10 +1613,14 @@ elf_arc_relocate_section (bfd * output_bfd, + while (h->root.type == bfd_link_hash_indirect + || h->root.type == bfd_link_hash_warning) + { +- struct elf_link_hash_entry *h_old = h; ++ struct elf_arc_link_hash_entry *ah_old = ++ (struct elf_arc_link_hash_entry *) h; + h = (struct elf_link_hash_entry *) h->root.u.i.link; +- if (h->got.glist == 0 && h_old->got.glist != h->got.glist) +- h->got.glist = h_old->got.glist; ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; ++ ++ if (ah->got_ents == 0 && ah_old->got_ents != ah->got_ents) ++ ah->got_ents = ah_old->got_ents; + } + + /* TODO: Need to validate what was the intention. */ +@@ -1636,6 +1638,8 @@ elf_arc_relocate_section (bfd * output_bfd, + + if (is_reloc_for_GOT (howto) && !bfd_link_pic (info)) + { ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; + /* TODO: Change it to use arc_do_relocation with + ARC_32 reloc. Try to use ADD_RELA macro. */ + bfd_vma relocation = +@@ -1645,8 +1649,8 @@ elf_arc_relocate_section (bfd * output_bfd, + + reloc_data.sym_section->output_section->vma) + : 0); + +- BFD_ASSERT (h->got.glist); +- bfd_vma got_offset = h->got.glist->offset; ++ BFD_ASSERT (ah->got_ents); ++ bfd_vma got_offset = ah->got_ents->offset; + bfd_put_32 (output_bfd, relocation, + htab->sgot->contents + got_offset); + } +@@ -1958,6 +1962,7 @@ elf_arc_check_relocs (bfd * abfd, + else /* Global one. */ + h = sym_hashes[r_symndx - symtab_hdr->sh_info]; + ++ + switch (r_type) + { + case R_ARC_32: +@@ -2404,7 +2409,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + create respective dynamic relocs. */ + /* TODO: Make function to get list and not access the list directly. */ + /* TODO: Move function to relocate_section create this relocs eagerly. */ +- create_got_dynrelocs_for_got_info (&h->got.glist, ++ struct elf_arc_link_hash_entry *ah = ++ (struct elf_arc_link_hash_entry *) h; ++ create_got_dynrelocs_for_got_info (&ah->got_ents, + output_bfd, + info, + h); +-- +2.14.4 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch b/bsp/buildroot/package/binutils/2.31.1/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch new file mode 100644 index 00000000..b6e6d202 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0007-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch @@ -0,0 +1,35 @@ +From 955176bd999fe80c5b937ab8786665079e35c387 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:33:48 +0100 +Subject: [PATCH] Improved robustness. Return FALSE in case of NULL pointer. + +bfd/ +2018-03-01 Cupertino Miranda + + * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case + arc_htab is NULL. + +Signed-off-by: Alexey Brodkin +[Romain: rebase on top of 2.31] +Signed-off-by: Romain Naour +--- + bfd/elf32-arc.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index ab84de43815..33fc72cff6e 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -2420,6 +2420,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd, + { + struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info); + ++ if(arc_htab == NULL) ++ return FALSE; ++ + if (h->dynindx == -1 + || (h->root.type != bfd_link_hash_defined + && h->root.type != bfd_link_hash_defweak) +-- +2.14.4 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch b/bsp/buildroot/package/binutils/2.31.1/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch new file mode 100644 index 00000000..c3558fe0 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0008-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch @@ -0,0 +1,43 @@ +From 9d09ce14b4eef2b56f24660fd69a44acd45128b2 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:38:14 +0100 +Subject: [PATCH] Make sure global symbol is not an indirect or warning. + +Problem identified in the context of glibc with latest upstream binutils. +Dynamic symbol space was being reserved but, no actual information for the +symbol was being set. Data for the symbol was kept initialized with -1. +No easy test case was possible to be created. + +bfd/ +2018-03-01 Cupertino Miranda + + * elf32-arc.c (elf_arc_check_relocs): Changed. + +Signed-off-by: Alexey Brodkin +[Romain: rebase on top of 2.31] +Signed-off-by: Romain Naour +--- + bfd/elf32-arc.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index 33fc72cff6e..9b72c5b4f4f 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -1960,7 +1960,12 @@ elf_arc_check_relocs (bfd * abfd, + if (r_symndx < symtab_hdr->sh_info) /* Is a local symbol. */ + h = NULL; + else /* Global one. */ +- h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ { ++ h = sym_hashes[r_symndx - symtab_hdr->sh_info]; ++ while (h->root.type == bfd_link_hash_indirect ++ || h->root.type == bfd_link_hash_warning) ++ h = (struct elf_link_hash_entry *) h->root.u.i.link; ++ } + + + switch (r_type) +-- +2.14.4 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0009-PLT-information-was-still-being-generated-when-symbo.patch b/bsp/buildroot/package/binutils/2.31.1/0009-PLT-information-was-still-being-generated-when-symbo.patch new file mode 100644 index 00000000..60bb522e --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0009-PLT-information-was-still-being-generated-when-symbo.patch @@ -0,0 +1,37 @@ +From e4861c68067cb2166b4c2bb9c052abeb6ad9aaa1 Mon Sep 17 00:00:00 2001 +From: Cupertino Miranda +Date: Fri, 2 Mar 2018 17:44:29 +0100 +Subject: [PATCH] PLT information was still being generated when symbol was + forced_local. + +A change upstream reveiled this issue, triggering an assert when linking glibc. + +bfd/ +2018-03-01 Cupertino Miranda + + * elf32-arc.c (elf_arc_check_relocs): Changed. + +Signed-off-by: Alexey Brodkin +[Romain: rebase on top of 2.31] +Signed-off-by: Romain Naour +--- + bfd/elf32-arc.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c +index 9b72c5b4f4f..b40b463d34d 100644 +--- a/bfd/elf32-arc.c ++++ b/bfd/elf32-arc.c +@@ -2041,7 +2041,8 @@ elf_arc_check_relocs (bfd * abfd, + if (h == NULL) + continue; + else +- h->needs_plt = 1; ++ if(h->forced_local == 0) ++ h->needs_plt = 1; + } + + /* Add info to the symbol got_entry_list. */ +-- +2.14.4 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0010-xtensa-fix-relaxation-of-undefined-weak-references-i.patch b/bsp/buildroot/package/binutils/2.31.1/0010-xtensa-fix-relaxation-of-undefined-weak-references-i.patch new file mode 100644 index 00000000..660d30c3 --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0010-xtensa-fix-relaxation-of-undefined-weak-references-i.patch @@ -0,0 +1,48 @@ +From 5d3a462f05cba5b0c0c96de899b84fb84155c760 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 22 Jul 2018 13:52:28 -0700 +Subject: [PATCH] xtensa: fix relaxation of undefined weak references in + shared objects + +The change c451bb34ae8b ("xtensa: don't emit dynamic relocation for weak +undefined symbol") didn't properly handle shrinking of relocation +sections due to coalescing of references to a dynamic undefined weak +symbol in a shared object, which resulted in the following assertion +failure in ld when linking uClibc-ng libthread_db for xtensa: + + BFD (GNU Binutils) 2.31 internal error, aborting at elf32-xtensa.c:3269 + in elf_xtensa_finish_dynamic_sections + +Shrink dynamic relocations section for dynamic undefined weak symbols +when linking a shared object. + +bfd/ +2018-07-23 Max Filippov + + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic + relocations section for dynamic undefined weak symbols when + linking a shared object. + +Signed-off-by: Max Filippov +Backported from: 5d3a462f05cba5b0c0c96de899b84fb84155c760 +--- + bfd/elf32-xtensa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index f7f569d0c086..a4b046e445f1 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -10022,7 +10022,8 @@ shrink_dynamic_reloc_sections (struct bfd_link_info *info, + if ((r_type == R_XTENSA_32 || r_type == R_XTENSA_PLT) + && (input_section->flags & SEC_ALLOC) != 0 + && (dynamic_symbol || bfd_link_pic (info)) +- && (!h || h->root.type != bfd_link_hash_undefweak)) ++ && (!h || h->root.type != bfd_link_hash_undefweak ++ || (dynamic_symbol && bfd_link_dll (info)))) + { + asection *srel; + bfd_boolean is_plt = FALSE; +-- +2.11.0 + diff --git a/bsp/buildroot/package/binutils/2.31.1/0011-xtensa-move-dynamic-relocations-sections-consistency.patch b/bsp/buildroot/package/binutils/2.31.1/0011-xtensa-move-dynamic-relocations-sections-consistency.patch new file mode 100644 index 00000000..2c12ce3d --- /dev/null +++ b/bsp/buildroot/package/binutils/2.31.1/0011-xtensa-move-dynamic-relocations-sections-consistency.patch @@ -0,0 +1,90 @@ +From f82863d797e461b936dff2b659a3aa65088ee87e Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Sun, 22 Jul 2018 18:59:11 -0700 +Subject: [PATCH] xtensa: move dynamic relocations sections consistency + check + +The function elf_xtensa_finish_dynamic_sections checks that sizes of +sections .rela.dyn and .rela.plt match number of corresponding relocation +records, but the check is only done when .rela.plt is non-empty, so, e.g. +it is never run for the static PIE. +Rearrange the test so that .rela.dyn and .rela.plt are checked always. + +bfd/ +2018-07-23 Max Filippov + + * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Move + relocation sections consistency check to always check both + .rela.dyn and .rela.plt when they exist. Rearrange variable + definition and assignment places. + +Signed-off-by: Max Filippov +Backported from: f82863d797e461b936dff2b659a3aa65088ee87e +--- + bfd/elf32-xtensa.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c +index a4b046e445f1..cf085b7b0751 100644 +--- a/bfd/elf32-xtensa.c ++++ b/bfd/elf32-xtensa.c +@@ -3156,7 +3156,7 @@ elf_xtensa_finish_dynamic_sections (bfd *output_bfd, + { + struct elf_xtensa_link_hash_table *htab; + bfd *dynobj; +- asection *sdyn, *srelplt, *sgot, *sxtlit, *sgotloc; ++ asection *sdyn, *srelplt, *srelgot, *sgot, *sxtlit, *sgotloc; + Elf32_External_Dyn *dyncon, *dynconend; + int num_xtlit_entries = 0; + +@@ -3186,15 +3186,15 @@ elf_xtensa_finish_dynamic_sections (bfd *output_bfd, + } + + srelplt = htab->elf.srelplt; ++ srelgot = htab->elf.srelgot; + if (srelplt && srelplt->size != 0) + { +- asection *sgotplt, *srelgot, *spltlittbl; ++ asection *sgotplt, *spltlittbl; + int chunk, plt_chunks, plt_entries; + Elf_Internal_Rela irela; + bfd_byte *loc; + unsigned rtld_reloc; + +- srelgot = htab->elf.srelgot; + spltlittbl = htab->spltlittbl; + BFD_ASSERT (srelgot != NULL && spltlittbl != NULL); + +@@ -3260,14 +3260,6 @@ elf_xtensa_finish_dynamic_sections (bfd *output_bfd, + spltlittbl->contents + (chunk * 8) + 4); + } + +- /* All the dynamic relocations have been emitted at this point. +- Make sure the relocation sections are the correct size. */ +- if (srelgot->size != (sizeof (Elf32_External_Rela) +- * srelgot->reloc_count) +- || srelplt->size != (sizeof (Elf32_External_Rela) +- * srelplt->reloc_count)) +- abort (); +- + /* The .xt.lit.plt section has just been modified. This must + happen before the code below which combines adjacent literal + table entries, and the .xt.lit.plt contents have to be forced to +@@ -3282,6 +3274,14 @@ elf_xtensa_finish_dynamic_sections (bfd *output_bfd, + spltlittbl->flags &= ~SEC_HAS_CONTENTS; + } + ++ /* All the dynamic relocations have been emitted at this point. ++ Make sure the relocation sections are the correct size. */ ++ if ((srelgot && srelgot->size != (sizeof (Elf32_External_Rela) ++ * srelgot->reloc_count)) ++ || (srelplt && srelplt->size != (sizeof (Elf32_External_Rela) ++ * srelplt->reloc_count))) ++ abort (); ++ + /* Combine adjacent literal table entries. */ + BFD_ASSERT (! bfd_link_relocatable (info)); + sxtlit = bfd_get_section_by_name (output_bfd, ".xt.lit"); +-- +2.11.0 + diff --git a/bsp/buildroot/package/binutils/Config.in.host b/bsp/buildroot/package/binutils/Config.in.host index 99f78fc3..924d1749 100644 --- a/bsp/buildroot/package/binutils/Config.in.host +++ b/bsp/buildroot/package/binutils/Config.in.host @@ -18,24 +18,30 @@ choice config BR2_BINUTILS_VERSION_2_28_X bool "binutils 2.28.1" depends on !BR2_arc + depends on !BR2_riscv config BR2_BINUTILS_VERSION_2_29_X bool "binutils 2.29.1" + depends on !BR2_riscv config BR2_BINUTILS_VERSION_2_30_X bool "binutils 2.30" +config BR2_BINUTILS_VERSION_2_31_X + bool "binutils 2.31.1" + config BR2_BINUTILS_VERSION_ARC - bool "binutils arc (2.29)" + bool "binutils arc (2.31)" depends on BR2_arc endchoice config BR2_BINUTILS_VERSION string - default "arc-2017.09-release" if BR2_BINUTILS_VERSION_ARC + default "arc-2018.09-release" if BR2_BINUTILS_VERSION_ARC default "2.28.1" if BR2_BINUTILS_VERSION_2_28_X default "2.29.1" if BR2_BINUTILS_VERSION_2_29_X default "2.30" if BR2_BINUTILS_VERSION_2_30_X + default "2.31.1" if BR2_BINUTILS_VERSION_2_31_X config BR2_BINUTILS_ENABLE_LTO bool diff --git a/bsp/buildroot/package/binutils/arc-2017.09-release/0002-ld-makefile.patch b/bsp/buildroot/package/binutils/arc-2017.09-release/0002-ld-makefile.patch deleted file mode 100644 index a7cd71e6..00000000 --- a/bsp/buildroot/package/binutils/arc-2017.09-release/0002-ld-makefile.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d4e18ebc6ad810167a2de84b185a5f0d65b9ec2d Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:40:53 +0100 -Subject: [PATCH] ld-makefile - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/Makefile.am | 2 +- - ld/Makefile.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 625347f..d5334d2 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ -diff --git a/ld/Makefile.in b/ld/Makefile.in -index ba25177..a2cf228 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include --- -2.9.4 - diff --git a/bsp/buildroot/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch b/bsp/buildroot/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch deleted file mode 100644 index 3fbc5031..00000000 --- a/bsp/buildroot/package/binutils/arc-2017.09-release/0003-check-ldrunpath-length.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 3bd211025c890ef2971958915d500a9bb2913a2a Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:41:47 +0100 -Subject: [PATCH] check-ldrunpath-length - -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/emultempl/elf32.em | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em -index d2551b6..70fcb56 100644 ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1463,6 +1463,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) --- -2.9.4 - diff --git a/bsp/buildroot/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch b/bsp/buildroot/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch deleted file mode 100644 index 9e11840c..00000000 --- a/bsp/buildroot/package/binutils/arc-2017.09-release/0004-add-sysroot-fix-from-bug-3049.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 378bda0e19d279535b3f4a0e448a658a534a5d67 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Fri, 25 Dec 2015 11:42:48 +0100 -Subject: [PATCH] add sysroot fix from bug #3049 - -Always try to prepend the sysroot prefix to absolute filenames first. - -http://bugs.gentoo.org/275666 -http://sourceware.org/bugzilla/show_bug.cgi?id=10340 - -Signed-off-by: Sven Rebhan -[Romain: rebase on top of 2.26] -Signed-off-by: Romain Naour ---- - ld/ldfile.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/ld/ldfile.c b/ld/ldfile.c -index 3b37a0a..f7e5473 100644 ---- a/ld/ldfile.c -+++ b/ld/ldfile.c -@@ -338,18 +338,24 @@ ldfile_open_file_search (const char *arch, - directory first. */ - if (!entry->flags.maybe_archive) - { -- if (entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename)) -+ /* For absolute pathnames, try to always open the file in the -+ sysroot first. If this fails, try to open the file at the -+ given location. */ -+ entry->flags.sysrooted = is_sysrooted_pathname (entry->filename); -+ if (!entry->flags.sysrooted && IS_ABSOLUTE_PATH (entry->filename) -+ && ld_sysroot) - { - char *name = concat (ld_sysroot, entry->filename, - (const char *) NULL); - if (ldfile_try_open_bfd (name, entry)) - { - entry->filename = name; -+ entry->flags.sysrooted = TRUE; - return TRUE; - } - free (name); - } -- else if (ldfile_try_open_bfd (entry->filename, entry)) -+ if (ldfile_try_open_bfd (entry->filename, entry)) - return TRUE; - - if (IS_ABSOLUTE_PATH (entry->filename)) --- -2.9.4 - diff --git a/bsp/buildroot/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch b/bsp/buildroot/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch new file mode 100644 index 00000000..90c7ac76 --- /dev/null +++ b/bsp/buildroot/package/binutils/arc-2018.09-release/0005-poison-system-directories.patch @@ -0,0 +1,306 @@ +From 7d1e6ed1d57e839207e0ece7561bd4709032de9f Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 25 Dec 2015 11:45:38 +0100 +Subject: [PATCH] poison-system-directories + +Patch adapted to binutils 2.23.2 and extended to use +BR_COMPILER_PARANOID_UNSAFE_PATH by Thomas Petazzoni. + +[Romain: rebase on top of 2.26] +Signed-off-by: Romain Naour +[Gustavo: adapt to binutils 2.25] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Gustavo Zacarias + +Upstream-Status: Inappropriate [distribution: codesourcery] + +Patch originally created by Mark Hatle, forward-ported to +binutils 2.21 by Scott Garman. + +purpose: warn for uses of system directories when cross linking + +Code Merged from Sourcery G++ binutils 2.19 - 4.4-277 + +2008-07-02 Joseph Myers + + ld/ + * ld.h (args_type): Add error_poison_system_directories. + * ld.texinfo (--error-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.error_poison_system_directories. + * ldmain.c (main): Initialize + command_line.error_poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_ERROR_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --error-poison-system-directories. + (parse_args): Handle new option. + +2007-06-13 Joseph Myers + + ld/ + * config.in: Regenerate. + * ld.h (args_type): Add poison_system_directories. + * ld.texinfo (--no-poison-system-directories): Document. + * ldfile.c (ldfile_add_library_path): Check + command_line.poison_system_directories. + * ldmain.c (main): Initialize + command_line.poison_system_directories. + * lexsup.c (enum option_values): Add + OPTION_NO_POISON_SYSTEM_DIRECTORIES. + (ld_options): Add --no-poison-system-directories. + (parse_args): Handle new option. + +2007-04-20 Joseph Myers + + Merge from Sourcery G++ binutils 2.17: + + 2007-03-20 Joseph Myers + Based on patch by Mark Hatle . + ld/ + * configure.ac (--enable-poison-system-directories): New option. + * configure, config.in: Regenerate. + * ldfile.c (ldfile_add_library_path): If + ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of /lib, + /usr/lib, /usr/local/lib or /usr/X11R6/lib. + +Signed-off-by: Mark Hatle +Signed-off-by: Scott Garman +--- + ld/config.in | 3 +++ + ld/configure | 14 ++++++++++++++ + ld/configure.ac | 10 ++++++++++ + ld/ld.h | 8 ++++++++ + ld/ld.texi | 12 ++++++++++++ + ld/ldfile.c | 17 +++++++++++++++++ + ld/ldlex.h | 2 ++ + ld/ldmain.c | 2 ++ + ld/lexsup.c | 21 +++++++++++++++++++++ + 9 files changed, 89 insertions(+) + +diff --git a/ld/config.in b/ld/config.in +index d93c9b0..5da2742 100644 +--- a/ld/config.in ++++ b/ld/config.in +@@ -31,6 +31,9 @@ + language is requested. */ + #undef ENABLE_NLS + ++/* Define to warn for use of native system library directories */ ++#undef ENABLE_POISON_SYSTEM_DIRECTORIES ++ + /* Additional extension a shared object might have. */ + #undef EXTRA_SHLIB_EXTENSION + +diff --git a/ld/configure b/ld/configure +index 300a272..d68890f 100755 +--- a/ld/configure ++++ b/ld/configure +@@ -822,6 +822,7 @@ with_lib_path + enable_targets + enable_64_bit_bfd + with_sysroot ++enable_poison_system_directories + enable_gold + enable_got + enable_compressed_debug_sections +@@ -1486,6 +1487,8 @@ Optional Features: + --disable-largefile omit support for large files + --enable-targets alternative target configurations + --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes) ++ --enable-poison-system-directories ++ warn for use of native system library directories + --enable-gold[=ARG] build gold [ARG={default,yes,no}] + --enable-got= GOT handling scheme (target, single, negative, + multigot) +@@ -15803,7 +15806,18 @@ else + fi + + ++# Check whether --enable-poison-system-directories was given. ++if test "${enable_poison_system_directories+set}" = set; then : ++ enableval=$enable_poison_system_directories; ++else ++ enable_poison_system_directories=no ++fi ++ ++if test "x${enable_poison_system_directories}" = "xyes"; then + ++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h ++ ++fi + + # Check whether --enable-got was given. + if test "${enable_got+set}" = set; then : +diff --git a/ld/configure.ac b/ld/configure.ac +index d10c553..9f1b57b 100644 +--- a/ld/configure.ac ++++ b/ld/configure.ac +@@ -94,6 +94,16 @@ AC_SUBST(use_sysroot) + AC_SUBST(TARGET_SYSTEM_ROOT) + AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE) + ++AC_ARG_ENABLE([poison-system-directories], ++ AS_HELP_STRING([--enable-poison-system-directories], ++ [warn for use of native system library directories]),, ++ [enable_poison_system_directories=no]) ++if test "x${enable_poison_system_directories}" = "xyes"; then ++ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], ++ [1], ++ [Define to warn for use of native system library directories]) ++fi ++ + dnl Use --enable-gold to decide if this linker should be the default. + dnl "install_as_default" is set to false if gold is the default linker. + dnl "installed_linker" is the installed BFD linker name. +diff --git a/ld/ld.h b/ld/ld.h +index ba914b9..9df17da 100644 +--- a/ld/ld.h ++++ b/ld/ld.h +@@ -180,6 +180,14 @@ typedef struct + in the linker script. */ + bfd_boolean force_group_allocation; + ++ /* If TRUE (the default) warn for uses of system directories when ++ cross linking. */ ++ bfd_boolean poison_system_directories; ++ ++ /* If TRUE (default FALSE) give an error for uses of system ++ directories when cross linking instead of a warning. */ ++ bfd_boolean error_poison_system_directories; ++ + /* Big or little endian as set on command line. */ + enum endian_enum endian; + +diff --git a/ld/ld.texi b/ld/ld.texi +index 40d79dd..137d46c 100644 +--- a/ld/ld.texi ++++ b/ld/ld.texi +@@ -2479,6 +2479,18 @@ string identifying the original linked file does not change. + + Passing @code{none} for @var{style} disables the setting from any + @code{--build-id} options earlier on the command line. ++ ++@kindex --no-poison-system-directories ++@item --no-poison-system-directories ++Do not warn for @option{-L} options using system directories such as ++@file{/usr/lib} when cross linking. This option is intended for use ++in chroot environments when such directories contain the correct ++libraries for the target system rather than the host. ++ ++@kindex --error-poison-system-directories ++@item --error-poison-system-directories ++Give an error instead of a warning for @option{-L} options using ++system directories when cross linking. + @end table + + @c man end +diff --git a/ld/ldfile.c b/ld/ldfile.c +index b3d166c..3dcbf66 100644 +--- a/ld/ldfile.c ++++ b/ld/ldfile.c +@@ -116,6 +116,23 @@ ldfile_add_library_path (const char *name, bfd_boolean cmdline) + new_dirs->name = concat (ld_sysroot, name + strlen ("$SYSROOT"), (const char *) NULL); + else + new_dirs->name = xstrdup (name); ++ ++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES ++ if (command_line.poison_system_directories ++ && ((!strncmp (name, "/lib", 4)) ++ || (!strncmp (name, "/usr/lib", 8)) ++ || (!strncmp (name, "/usr/local/lib", 14)) ++ || (!strncmp (name, "/usr/X11R6/lib", 14)))) ++ { ++ if (command_line.error_poison_system_directories) ++ einfo (_("%X%P: error: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ else ++ einfo (_("%P: warning: library search path \"%s\" is unsafe for " ++ "cross-compilation\n"), name); ++ } ++#endif ++ + } + + /* Try to open a BFD for a lang_input_statement. */ +diff --git a/ld/ldlex.h b/ld/ldlex.h +index 04d6fd5..d7df005 100644 +--- a/ld/ldlex.h ++++ b/ld/ldlex.h +@@ -148,6 +148,8 @@ enum option_values + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, + OPTION_FORCE_GROUP_ALLOCATION, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES, + }; + + /* The initial parser states. */ +diff --git a/ld/ldmain.c b/ld/ldmain.c +index f31eeb2..25f8497 100644 +--- a/ld/ldmain.c ++++ b/ld/ldmain.c +@@ -268,6 +268,8 @@ main (int argc, char **argv) + command_line.warn_mismatch = TRUE; + command_line.warn_search_mismatch = TRUE; + command_line.check_section_addresses = -1; ++ command_line.poison_system_directories = TRUE; ++ command_line.error_poison_system_directories = FALSE; + + /* We initialize DEMANGLING based on the environment variable + COLLECT_NO_DEMANGLE. The gcc collect2 program will demangle the +diff --git a/ld/lexsup.c b/ld/lexsup.c +index 86a033a..f07f095 100644 +--- a/ld/lexsup.c ++++ b/ld/lexsup.c +@@ -543,6 +543,14 @@ static const struct ld_option ld_options[] = + { {"orphan-handling", required_argument, NULL, OPTION_ORPHAN_HANDLING}, + '\0', N_("=MODE"), N_("Control how orphan sections are handled."), + TWO_DASHES }, ++ { {"no-poison-system-directories", no_argument, NULL, ++ OPTION_NO_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Do not warn for -L options using system directories"), ++ TWO_DASHES }, ++ { {"error-poison-system-directories", no_argument, NULL, ++ OPTION_ERROR_POISON_SYSTEM_DIRECTORIES}, ++ '\0', NULL, N_("Give an error for -L options using system directories"), ++ TWO_DASHES }, + }; + + #define OPTION_COUNT ARRAY_SIZE (ld_options) +@@ -555,6 +563,7 @@ parse_args (unsigned argc, char **argv) + int ingroup = 0; + char *default_dirlist = NULL; + char *shortopts; ++ char *BR_paranoid_env; + struct option *longopts; + struct option *really_longopts; + int last_optind; +@@ -1543,6 +1552,14 @@ parse_args (unsigned argc, char **argv) + } + break; + ++ case OPTION_NO_POISON_SYSTEM_DIRECTORIES: ++ command_line.poison_system_directories = FALSE; ++ break; ++ ++ case OPTION_ERROR_POISON_SYSTEM_DIRECTORIES: ++ command_line.error_poison_system_directories = TRUE; ++ break; ++ + case OPTION_PUSH_STATE: + input_flags.pushed = xmemdup (&input_flags, + sizeof (input_flags), +@@ -1586,6 +1603,10 @@ parse_args (unsigned argc, char **argv) + command_line.soname = NULL; + } + ++ BR_paranoid_env = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); ++ if (BR_paranoid_env && strlen(BR_paranoid_env) > 0) ++ command_line.error_poison_system_directories = TRUE; ++ + while (ingroup) + { + lang_leave_group (); +-- +2.7.4 + diff --git a/bsp/buildroot/package/binutils/binutils.hash b/bsp/buildroot/package/binutils/binutils.hash index 4578a7f5..ac0831ca 100644 --- a/bsp/buildroot/package/binutils/binutils.hash +++ b/bsp/buildroot/package/binutils/binutils.hash @@ -2,6 +2,7 @@ sha512 dc5b6872ae01c07c12d38f3bb7ead06effc6da3265ac872e2d9c6104304f89f85f2645b029a43f308a7938a7299b1928d385205d0a2245674a621649032a138d binutils-2.28.1.tar.xz sha512 d748d22306477d60d921078804d21943248c23fca0707aac9b016a352c01c75ca69e82624ae37fb0bbd03af3b17088a94f60dfe1a86a7ff82e18ece3c24f0fd0 binutils-2.29.1.tar.xz sha512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 binutils-2.30.tar.xz +sha512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30 binutils-2.31.1.tar.xz # Locally calculated (fetched from Github) -sha512 cefff7521dc4ebd8b9773af4f173821ad82dcb3f1fbd0bfdf03e148ba8cec1262b876b221da628ff5db16c30b18c6cbf5ffbec0fddb4677182524684c4c232c1 binutils-arc-2017.09-release.tar.gz +sha512 a96dfcea6064fcd1aac1333ac0d631491bed8b0be9bdcf62f1447909c8f30d2cb8d9323ffeb7c9ad6b326ecddb72e3d28281684e73343189d0a4a37a11aef62f binutils-gdb-arc-2018.09-release.tar.gz diff --git a/bsp/buildroot/package/binutils/binutils.mk b/bsp/buildroot/package/binutils/binutils.mk index ac4575b6..4531b8d9 100644 --- a/bsp/buildroot/package/binutils/binutils.mk +++ b/bsp/buildroot/package/binutils/binutils.mk @@ -9,15 +9,15 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2017.09-release +BINUTILS_VERSION = arc-2018.09-release else BINUTILS_VERSION = 2.29.1 endif endif # BINUTILS_VERSION -ifeq ($(BINUTILS_VERSION),arc-2017.09-release) +ifeq ($(BINUTILS_VERSION),arc-2018.09-release) BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION)) -BINUTILS_SOURCE = binutils-$(BINUTILS_VERSION).tar.gz +BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz BINUTILS_FROM_GIT = y endif BINUTILS_SITE ?= $(BR2_GNU_MIRROR)/binutils @@ -65,12 +65,6 @@ HOST_BINUTILS_CONF_ENV += MAKEINFO=true HOST_BINUTILS_MAKE_OPTS += MAKEINFO=true HOST_BINUTILS_INSTALL_OPTS += MAKEINFO=true install -# gcc bug with Os/O1/O2/O3, PR77311 -# error: unable to find a register to spill in class 'CCREGS' -ifeq ($(BR2_bfin),y) -BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" -endif - # Workaround a build issue with -Os for ARM Cortex-M cpus. # (Binutils 2.25.1 and 2.26.1) # https://sourceware.org/bugzilla/show_bug.cgi?id=20552 @@ -78,11 +72,6 @@ ifeq ($(BR2_ARM_CPU_ARMV7M)$(BR2_OPTIMIZE_S),yy) BINUTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O2" endif -# Install binutils after busybox to prefer full-blown utilities -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -BINUTILS_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_ZLIB),y) BINUTILS_DEPENDENCIES += zlib endif diff --git a/bsp/buildroot/package/bird/Config.in b/bsp/buildroot/package/bird/Config.in new file mode 100644 index 00000000..a69551f9 --- /dev/null +++ b/bsp/buildroot/package/bird/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_BIRD + bool "bird" + depends on BR2_USE_MMU # fork() + help + BIRD Internet Routing Daemon + + The BIRD project aims to develop a dynamic IP routing daemon + with full support of all modern routing protocols, easy to + use configuration interface and powerful route filtering + language + + http://bird.network.cz/ + +if BR2_PACKAGE_BIRD + +config BR2_PACKAGE_BIRD_CLIENT + bool "birdc" + select BR2_PACKAGE_NCURSES + select BR2_PACKAGE_READLINE + help + Enable the BIRD client + +endif diff --git a/bsp/buildroot/package/bird/bird.hash b/bsp/buildroot/package/bird/bird.hash new file mode 100644 index 00000000..3f3a93b9 --- /dev/null +++ b/bsp/buildroot/package/bird/bird.hash @@ -0,0 +1,2 @@ +sha256 0f49b38327d3109553acfa662ac0cf0377719226a03c124cd2e0ea2265ecb1de bird-2.0.3.tar.gz +sha256 94c53c84320078920ac1f0d49c81a4e9004512f534521a58bdf145acbcbc2cd2 README diff --git a/bsp/buildroot/package/bird/bird.mk b/bsp/buildroot/package/bird/bird.mk new file mode 100644 index 00000000..da2f8680 --- /dev/null +++ b/bsp/buildroot/package/bird/bird.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# bird +# +################################################################################ + +BIRD_VERSION = 2.0.3 +BIRD_SITE = ftp://bird.network.cz/pub/bird +BIRD_LICENSE = GPL-2.0+ +BIRD_LICENSE_FILES = README +BIRD_DEPENDENCIES = host-flex host-bison + +ifeq ($(BR2_PACKAGE_BIRD_CLIENT),y) +BIRD_CONF_OPTS += --enable-client +BIRD_DEPENDENCIES += ncurses readline +else +BIRD_CONF_OPTS += --disable-client +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/bitstream/bitstream.hash b/bsp/buildroot/package/bitstream/bitstream.hash index a62f733d..89da7c6f 100644 --- a/bsp/buildroot/package/bitstream/bitstream.hash +++ b/bsp/buildroot/package/bitstream/bitstream.hash @@ -1,4 +1,6 @@ -# From https://get.videolan.org/bitstream/1.2/bitstream-1.2.tar.bz2 -sha256 ccfbb438711606de1fad881b58c8f134e2d82b4d53a88ea48f2d1bcb49ca5ad2 bitstream-1.2.tar.bz2 -# From https://get.videolan.org/bitstream/1.2/bitstream-1.2.tar.bz2.md5 -md5 c4b2dbd84eb5799f1525eb9a4e01dc56 bitstream-1.2.tar.bz2 +# From https://get.videolan.org/bitstream/1.4/bitstream-1.4.tar.bz2.md5 +md5 dfb1449194250b2d364d54b5bbac858d bitstream-1.4.tar.bz2 +# From https://get.videolan.org/bitstream/1.4/bitstream-1.4.tar.bz2.sha256 +sha256 b2484940d3b8733bec9dd1ec1731de428261dff31c9f95874264be9dc9ce786b bitstream-1.4.tar.bz2 +# Locally computed +sha256 9644a812f9a8377a59acb7092a36ce8882a39743425d9171a8fb84637e2f6e04 COPYING diff --git a/bsp/buildroot/package/bitstream/bitstream.mk b/bsp/buildroot/package/bitstream/bitstream.mk index 0b28ffe7..1746d138 100644 --- a/bsp/buildroot/package/bitstream/bitstream.mk +++ b/bsp/buildroot/package/bitstream/bitstream.mk @@ -4,7 +4,7 @@ # ################################################################################ -BITSTREAM_VERSION = 1.2 +BITSTREAM_VERSION = 1.4 BITSTREAM_SOURCE = bitstream-$(BITSTREAM_VERSION).tar.bz2 BITSTREAM_SITE = https://get.videolan.org/bitstream/$(BITSTREAM_VERSION) BITSTREAM_LICENSE = MIT diff --git a/bsp/buildroot/package/blktrace/0001-iowatcher-link-with-lrt.patch b/bsp/buildroot/package/blktrace/0001-iowatcher-link-with-lrt.patch deleted file mode 100644 index 689a6781..00000000 --- a/bsp/buildroot/package/blktrace/0001-iowatcher-link-with-lrt.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 80d87b99d72034441ea4fbab81f5c80c1ef3b067 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Tue, 23 Aug 2016 16:36:14 +0200 -Subject: [PATCH] iowatcher: link with -lrt - -Some C libraries (notably uClibc) have the posix_spawn*() functions in -librt, so let's link iowatcher with -lrt. - -Signed-off-by: Thomas Petazzoni -Upstream-status: merged - (http://git.kernel.org/cgit/linux/kernel/git/axboe/blktrace.git/commit/?id=d1ab783430f5a832e973ed9a293da146c04c6702) ---- - iowatcher/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/iowatcher/Makefile b/iowatcher/Makefile -index 7b5101c..502476d 100644 ---- a/iowatcher/Makefile -+++ b/iowatcher/Makefile -@@ -19,7 +19,7 @@ all: $(ALL) - $(CC) -o $*.o -c $(ALL_CFLAGS) $< - - iowatcher: blkparse.o plot.o main.o tracers.o mpstat.o fio.o -- $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -+ $(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) -lm -lrt - - depend: - @$(CC) -MM $(ALL_CFLAGS) *.c 1> .depend --- -2.7.4 - diff --git a/bsp/buildroot/package/blktrace/Config.in b/bsp/buildroot/package/blktrace/Config.in index dedfa03f..951caed5 100644 --- a/bsp/buildroot/package/blktrace/Config.in +++ b/bsp/buildroot/package/blktrace/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_BLKTRACE bool "blktrace" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() + depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # system() select BR2_PACKAGE_LIBAIO help @@ -11,7 +10,6 @@ config BR2_PACKAGE_BLKTRACE http://git.kernel.dk/?p=blktrace.git;a=summary -comment "blktrace needs a toolchain w/ NPTL" +comment "blktrace needs a toolchain w/ threads" depends on BR2_USE_MMU - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/blktrace/blktrace.hash b/bsp/buildroot/package/blktrace/blktrace.hash index acd42fb1..d4f62184 100644 --- a/bsp/buildroot/package/blktrace/blktrace.hash +++ b/bsp/buildroot/package/blktrace/blktrace.hash @@ -1,2 +1,6 @@ # From http://brick.kernel.dk/snaps/MD5SUMS -md5 9a6ca62330c8adb0b6a4ea6cf8a55694 blktrace-1.1.0.tar.gz +md5 05abb873b4de96c5e7b2deba80695bf1 blktrace-1.2.0.tar.gz + +# Locally computed +sha256 d14029bc096026dacb206bf115c912dcdb795320b5aba6dff3e46d7f94c5242d blktrace-1.2.0.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/blktrace/blktrace.mk b/bsp/buildroot/package/blktrace/blktrace.mk index bc29c250..6d1c8e3b 100644 --- a/bsp/buildroot/package/blktrace/blktrace.mk +++ b/bsp/buildroot/package/blktrace/blktrace.mk @@ -4,7 +4,7 @@ # ################################################################################ -BLKTRACE_VERSION = 1.1.0 +BLKTRACE_VERSION = 1.2.0 BLKTRACE_SITE = http://brick.kernel.dk/snaps BLKTRACE_DEPENDENCIES = libaio BLKTRACE_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/bluez-alsa/Config.in b/bsp/buildroot/package/bluez-alsa/Config.in new file mode 100644 index 00000000..e52933f0 --- /dev/null +++ b/bsp/buildroot/package/bluez-alsa/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_BLUEZ_ALSA + bool "bluez-alsa" + depends on !BR2_STATIC_LIBS # bluez5 + depends on !BR2_PACKAGE_BLUEZ_UTILS # bluez5 + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 # bluez5 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # bluez5 + depends on BR2_USE_MMU # bluez5 -> dbus + depends on BR2_USE_WCHAR # libglib2 + select BR2_PACKAGE_ALSA_LIB + select BR2_PACKAGE_BLUEZ5_UTILS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_SBC + help + Bluetooth Audio ALSA Backend. + + https://github.com/Arkq/bluez-alsa + +if BR2_PACKAGE_BLUEZ_ALSA + +config BR2_PACKAGE_BLUEZ_ALSA_HCITOP + bool "hcitop" + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS + select BR2_PACKAGE_LIBBSD + select BR2_PACKAGE_NCURSES + help + Enable top-like monitoring tool for HCI. + +config BR2_PACKAGE_BLUEZ_ALSA_RFCOMM + bool "rfcomm" + select BR2_PACKAGE_READLINE + help + Simple tool for sending RFCOMM commands. + +endif + +comment "bluez-alsa needs a toolchain w/ wchar, NPTL, headers >= 3.4, dynamic library" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 || BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_BLUEZ_UTILS diff --git a/bsp/buildroot/package/bluez-alsa/bluez-alsa.hash b/bsp/buildroot/package/bluez-alsa/bluez-alsa.hash new file mode 100644 index 00000000..ba81eadf --- /dev/null +++ b/bsp/buildroot/package/bluez-alsa/bluez-alsa.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 29dad23877d0cf46a16e2f8d3746219e89068c33d052059caf1caaacd8b40cac bluez-alsa-v1.3.1.tar.gz +sha256 9a18d8b11802d0cec100839a0676a6fc48a4179f8f70b8e12a7f3d6b7a8fd70a LICENSE.txt diff --git a/bsp/buildroot/package/bluez-alsa/bluez-alsa.mk b/bsp/buildroot/package/bluez-alsa/bluez-alsa.mk new file mode 100644 index 00000000..5c0bb4f1 --- /dev/null +++ b/bsp/buildroot/package/bluez-alsa/bluez-alsa.mk @@ -0,0 +1,50 @@ +################################################################################ +# +# bluez-alsa +# +################################################################################ + +BLUEZ_ALSA_VERSION = v1.3.1 +BLUEZ_ALSA_SITE = $(call github,Arkq,bluez-alsa,$(BLUEZ_ALSA_VERSION)) +BLUEZ_ALSA_LICENSE = MIT +BLUEZ_ALSA_LICENSE_FILES = LICENSE.txt +BLUEZ_ALSA_DEPENDENCIES = alsa-lib bluez5_utils libglib2 sbc host-pkgconf + +# git repo, no configure +BLUEZ_ALSA_AUTORECONF = YES + +# Autoreconf requires an existing m4 directory +define BLUEZ_ALSA_MKDIR_M4 + mkdir -p $(@D)/m4 +endef +BLUEZ_ALSA_POST_PATCH_HOOKS += BLUEZ_ALSA_MKDIR_M4 + +BLUEZ_ALSA_CONF_OPTS = \ + --enable-aplay \ + --disable-debug-time \ + --disable-pcm-test \ + --with-alsaplugindir=/usr/lib/alsa-lib \ + --with-alsadatadir=/usr/share/alsa + +ifeq ($(BR2_PACKAGE_FDK_AAC),y) +BLUEZ_ALSA_DEPENDENCIES += fdk-aac +BLUEZ_ALSA_CONF_OPTS += --enable-aac +else +BLUEZ_ALSA_CONF_OPTS += --disable-aac +endif + +ifeq ($(BR2_PACKAGE_BLUEZ_ALSA_HCITOP),y) +BLUEZ_ALSA_DEPENDENCIES += libbsd ncurses +BLUEZ_ALSA_CONF_OPTS += --enable-hcitop +else +BLUEZ_ALSA_CONF_OPTS += --disable-hcitop +endif + +ifeq ($(BR2_PACKAGE_BLUEZ_ALSA_RFCOMM),y) +BLUEZ_ALSA_DEPENDENCIES += readline +BLUEZ_ALSA_CONF_OPTS += --enable-rfcomm +else +BLUEZ_ALSA_CONF_OPTS += --disable-rfcomm +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/bluez5_utils-headers/Config.in b/bsp/buildroot/package/bluez5_utils-headers/Config.in new file mode 100644 index 00000000..e29e3dfe --- /dev/null +++ b/bsp/buildroot/package/bluez5_utils-headers/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_BLUEZ5_UTILS_HEADERS + bool + help + Header files from bluez utils version 5.x + + http://www.bluez.org + http://www.kernel.org/pub/linux/bluetooth diff --git a/bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.hash b/bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.hash new file mode 120000 index 00000000..1f489458 --- /dev/null +++ b/bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.hash @@ -0,0 +1 @@ +../bluez5_utils/bluez5_utils.hash \ No newline at end of file diff --git a/bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.mk b/bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.mk new file mode 100644 index 00000000..020e8b4d --- /dev/null +++ b/bsp/buildroot/package/bluez5_utils-headers/bluez5_utils-headers.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# bluez5_utils-headers +# +################################################################################ + +# Keep the version and patches in sync with bluez5_utils +BLUEZ5_UTILS_HEADERS_VERSION = 5.50 +BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz +BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth +BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils +BLUEZ5_UTILS_HEADERS_LICENSE = GPL-2.0+, LGPL-2.1+ +BLUEZ5_UTILS_HEADERS_LICENSE_FILES = COPYING COPYING.LIB + +BLUEZ5_UTILS_HEADERS_INSTALL_STAGING = YES +BLUEZ5_UTILS_HEADERS_INSTALL_TARGET = NO + +define BLUEZ5_UTILS_HEADERS_INSTALL_STAGING_CMDS + $(INSTALL) -d $(STAGING_DIR)/usr/include/bluetooth/ + $(INSTALL) -m 644 $(@D)/lib/*.h $(STAGING_DIR)/usr/include/bluetooth/ +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/bluez5_utils/0001-tools-bneptest.c-Remove-include-linux-if_bridge.h-to.patch b/bsp/buildroot/package/bluez5_utils/0001-tools-bneptest.c-Remove-include-linux-if_bridge.h-to.patch deleted file mode 100644 index e8a3ff47..00000000 --- a/bsp/buildroot/package/bluez5_utils/0001-tools-bneptest.c-Remove-include-linux-if_bridge.h-to.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 7c136b4f1941e5bb2a6c8d93985c5734c6aefb29 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 22 May 2016 09:48:57 +0200 -Subject: [PATCH 1/1] tools/bneptest.c: Remove include linux/if_bridge.h to fix - musl build - -Inspired by busybox commit: -https://git.busybox.net/busybox/commit/networking/brctl.c?id=5fa6d1a632505789409a2ba6cf8e112529f9db18 - -The build error was found by the autobuilders of the buildroot project: -http://autobuild.buildroot.net/results/eba/ebaa0bcb9c325aa6ed0bbd6c7ec75d44befa7645/build-end.log - -Signed-off-by: Bernd Kuhls -(Patch sent upstream: - http://article.gmane.org/gmane.linux.bluez.kernel/67621) ---- - tools/bneptest.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/tools/bneptest.c b/tools/bneptest.c -index 1404252..b832d72 100644 ---- a/tools/bneptest.c -+++ b/tools/bneptest.c -@@ -36,7 +36,17 @@ - #include - #include - #include --#include -+/* #include -+ * breaks on musl: we already included netinet/in.h, -+ * if we also include here, we get this: -+ * In file included from /usr/include/linux/if_bridge.h:18, -+ * from networking/brctl.c:67: -+ * /usr/include/linux/in6.h:32: error: redefinition of 'struct in6_addr' -+ * /usr/include/linux/in6.h:49: error: redefinition of 'struct sockaddr_in6' -+ * /usr/include/linux/in6.h:59: error: redefinition of 'struct ipv6_mreq' -+ */ -+/* From */ -+#define BRCTL_SET_BRIDGE_FORWARD_DELAY 8 - - #include - --- -2.8.1 - diff --git a/bsp/buildroot/package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch b/bsp/buildroot/package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch deleted file mode 100644 index 394742b6..00000000 --- a/bsp/buildroot/package/bluez5_utils/0002-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 654444dd8faf02b46f41d81f3d9c623d57bdd399 Mon Sep 17 00:00:00 2001 -From: Luiz Augusto von Dentz -Date: Fri, 20 Apr 2018 16:04:17 +0200 -Subject: [PATCH] bt_shell APIs shall only be build if readline is present on - the system since it currently depend on it. - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://marc.info/?l=linux-bluetooth&m=152422938306592&w=2 ---- - Makefile.am | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index daf34b6ca..9c3c17139 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -119,7 +119,11 @@ shared_sources = src/shared/io.h src/shared/timeout.h \ - src/shared/gatt-server.h src/shared/gatt-server.c \ - src/shared/gatt-db.h src/shared/gatt-db.c \ - src/shared/gap.h src/shared/gap.c \ -- src/shared/tty.h src/shared/shell.c src/shared/shell.h -+ src/shared/tty.h -+ -+if READLINE -+shared_sources += src/shared/shell.c src/shared/shell.h -+endif - - src_libshared_glib_la_SOURCES = $(shared_sources) \ - src/shared/io-glib.c \ --- -2.14.3 - diff --git a/bsp/buildroot/package/bluez5_utils/Config.in b/bsp/buildroot/package/bluez5_utils/Config.in index 55831e9b..c5e8dfbc 100644 --- a/bsp/buildroot/package/bluez5_utils/Config.in +++ b/bsp/buildroot/package/bluez5_utils/Config.in @@ -56,29 +56,29 @@ config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL help Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin -config BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH bool "build health plugin" help Build BlueZ 5.x health plugin -config BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI bool "build midi profile" select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB_SEQ help Build BlueZ 5.x midi plugin -config BR2_PACKAGE_BLUEZ5_PLUGINS_NFC +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC bool "build nfc plugin" help Build BlueZ 5.x nfc plugin -config BR2_PACKAGE_BLUEZ5_PLUGINS_SAP +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP bool "build sap plugin" help Build BlueZ 5.x sap plugin -config BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS +config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS bool "build sixaxis plugin" depends on BR2_PACKAGE_HAS_UDEV help diff --git a/bsp/buildroot/package/bluez5_utils/bluez5_utils.hash b/bsp/buildroot/package/bluez5_utils/bluez5_utils.hash index dc331b5a..b9657085 100644 --- a/bsp/buildroot/package/bluez5_utils/bluez5_utils.hash +++ b/bsp/buildroot/package/bluez5_utils/bluez5_utils.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 b9a8723072ef66bae7ec301c774902ebcb444c9c5b149b5a199e60a1ba970e90 bluez-5.48.tar.xz +sha256 5ffcaae18bbb6155f1591be8c24898dc12f062075a40b538b745bfd477481911 bluez-5.50.tar.xz +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/bsp/buildroot/package/bluez5_utils/bluez5_utils.mk b/bsp/buildroot/package/bluez5_utils/bluez5_utils.mk index c6086376..15c9b670 100644 --- a/bsp/buildroot/package/bluez5_utils/bluez5_utils.mk +++ b/bsp/buildroot/package/bluez5_utils/bluez5_utils.mk @@ -4,20 +4,24 @@ # ################################################################################ -BLUEZ5_UTILS_VERSION = 5.48 +# Keep the version and patches in sync with bluez5_utils-headers +BLUEZ5_UTILS_VERSION = 5.50 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES -BLUEZ5_UTILS_DEPENDENCIES = dbus libglib2 BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB -# 0001-bt_shell-APIs-shall-only-be-build-if-readline-is-pre.patch -BLUEZ5_UTILS_AUTORECONF = YES + +BLUEZ5_UTILS_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ + dbus \ + libglib2 BLUEZ5_UTILS_CONF_OPTS = \ --enable-tools \ --enable-library \ - --disable-cups + --disable-cups \ + --with-dbusconfdir=/etc ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) BLUEZ5_UTILS_CONF_OPTS += --enable-obex @@ -41,14 +45,14 @@ BLUEZ5_UTILS_CONF_OPTS += --disable-experimental endif # enable health plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-health else BLUEZ5_UTILS_CONF_OPTS += --disable-health endif # enable midi profile -ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y) BLUEZ5_UTILS_CONF_OPTS += --enable-midi BLUEZ5_UTILS_DEPENDENCIES += alsa-lib else @@ -56,21 +60,21 @@ BLUEZ5_UTILS_CONF_OPTS += --disable-midi endif # enable nfc plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_NFC),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y) BLUEZ5_UTILS_CONF_OPTS += --enable-nfc else BLUEZ5_UTILS_CONF_OPTS += --disable-nfc endif # enable sap plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_SAP),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP),y) BLUEZ5_UTILS_CONF_OPTS += --enable-sap else BLUEZ5_UTILS_CONF_OPTS += --disable-sap endif # enable sixaxis plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS),y) BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis else BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis diff --git a/bsp/buildroot/package/boinc/boinc-client.service b/bsp/buildroot/package/boinc/boinc-client.service deleted file mode 100644 index 9de940e9..00000000 --- a/bsp/buildroot/package/boinc/boinc-client.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=BOINC client -After=network.target - -[Service] -ExecStart=/usr/bin/boinc_client -Restart=always - -[Install] -WantedBy=multi-user.target diff --git a/bsp/buildroot/package/boinc/boinc.hash b/bsp/buildroot/package/boinc/boinc.hash index 8f449822..eeaaf68e 100644 --- a/bsp/buildroot/package/boinc/boinc.hash +++ b/bsp/buildroot/package/boinc/boinc.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 ed5f3dcdc8d1cc5277529afb701377e77d1ff89711368a7456553bf249940bad boinc-7.8.6.tar.gz +sha256 970aedb9e25afa20be67f125ab05435df8eb2e66a3ac30ad316c54085e397c88 boinc-7.14.2.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSER diff --git a/bsp/buildroot/package/boinc/boinc.mk b/bsp/buildroot/package/boinc/boinc.mk index 01050345..dd468c76 100644 --- a/bsp/buildroot/package/boinc/boinc.mk +++ b/bsp/buildroot/package/boinc/boinc.mk @@ -4,8 +4,8 @@ # ################################################################################ -BOINC_VERSION_MAJOR = 7.8 -BOINC_VERSION = $(BOINC_VERSION_MAJOR).6 +BOINC_VERSION_MAJOR = 7.14 +BOINC_VERSION = $(BOINC_VERSION_MAJOR).2 # client_release can be used to build the Client and Manager but not the Server # part. The Server currently has no versioning (see # https://github.com/BOINC/boinc/pull/1798). @@ -44,14 +44,16 @@ endef BOINC_POST_INSTALL_TARGET_HOOKS += BOINC_REMOVE_UNNEEDED_FILE +define BOINC_USERS + boinc -1 boinc -1 * /var/lib/boinc - BOINC user +endef + define BOINC_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/boinc/S99boinc-client \ $(TARGET_DIR)/etc/init.d/S99boinc-client endef define BOINC_INSTALL_INIT_SYSTEMD - $(INSTALL) -D -m 644 package/boinc/boinc-client.service \ - $(TARGET_DIR)/usr/lib/systemd/system/boinc-client.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -sf ../../../../usr/lib/systemd/system/boinc-client.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/boinc-client.service diff --git a/bsp/buildroot/package/boost/0005-fix-build-with-g-5.patch b/bsp/buildroot/package/boost/0005-fix-build-with-g-5.patch deleted file mode 100644 index 49149e6e..00000000 --- a/bsp/buildroot/package/boost/0005-fix-build-with-g-5.patch +++ /dev/null @@ -1,32 +0,0 @@ -From da2793fcde5c4e3ff448b4b21348ef8b1482c678 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Tue, 16 Jan 2018 14:51:32 +0100 -Subject: [PATCH] fix build with g++5 - -Patch needed to build domoticz - -Patch fetch from one of the answer of - https://github.com/domoticz/domoticz/issues/2034: - workaround suggested to the boost developers - -Signed-off-by: Fabrice Fontaine ---- - boost/asio/detail/consuming_buffers.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/boost/asio/detail/consuming_buffers.hpp b/boost/asio/detail/consuming_buffers.hpp -index a429f97..b7a887c 100644 ---- a/boost/asio/detail/consuming_buffers.hpp -+++ b/boost/asio/detail/consuming_buffers.hpp -@@ -102,7 +102,7 @@ public: - - std::advance(next, next_elem_); - std::size_t elem_offset = next_elem_offset_; -- while (next != end && max_size > 0 && result.count < result.max_buffers) -+ while (next != end && max_size > 0 && (result.count) < result.max_buffers) - { - Buffer next_buf = Buffer(*next) + elem_offset; - result.elems[result.count] = boost::asio::buffer(next_buf, max_size); --- -2.7.4 - diff --git a/bsp/buildroot/package/boost/Config.in b/bsp/buildroot/package/boost/Config.in index 0755d9c0..4e6bbff6 100644 --- a/bsp/buildroot/package/boost/Config.in +++ b/bsp/buildroot/package/boost/Config.in @@ -57,6 +57,7 @@ config BR2_PACKAGE_BOOST_ATOMIC config BR2_PACKAGE_BOOST_CHRONO bool "boost-chrono" + select BR2_PACKAGE_BOOST_SYSTEM help Useful time utilities. C++11. @@ -69,22 +70,51 @@ config BR2_PACKAGE_BOOST_CONTAINER # http://www.boost.org/doc/libs/1_59_0/libs/context/doc/html/context/architectures.html # for the list of supported architectures. Sparc pretends to be # supported, but it doesn't build. +config BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + bool + default y if ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) + default y if BR2_i386 + default y if BR2_mips + default y if BR2_mipsel + default y if BR2_powerpc + default y if BR2_x86_64 + config BR2_PACKAGE_BOOST_CONTEXT bool "boost-context" - depends on ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \ - BR2_i386 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64 + depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + select BR2_PACKAGE_BOOST_THREAD if !BR2_TOOLCHAIN_GCC_AT_LEAST_6 help C++11 context switching library. +config BR2_PACKAGE_BOOST_CONTRACT + bool "boost-contract" + # pthread_condattr_setclock + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_PACKAGE_BOOST_SYSTEM + help + Contract programming for C++. + +comment "boost-contract needs a toolchain w/ NPTL" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL + config BR2_PACKAGE_BOOST_COROUTINE bool "boost-coroutine" - depends on BR2_PACKAGE_BOOST_CONTEXT + depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_CONTEXT + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD help deprecated coroutine library, the non-depricated coroutine2 library is a header-only library and does not need to be selected. +comment "boost-coroutine needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + config BR2_PACKAGE_BOOST_DATE_TIME bool "boost-date_time" help @@ -100,24 +130,37 @@ config BR2_PACKAGE_BOOST_EXCEPTION config BR2_PACKAGE_BOOST_FIBER bool "boost-fiber" + depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # mips support uses the "pause" instruction, only available # since mips32r2/mips64r2. depends on !BR2_MIPS_CPU_MIPS32 && !BR2_MIPS_CPU_MIPS64 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # boost-context + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 + select BR2_PACKAGE_BOOST_CONTEXT + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_SYSTEM help C++11 userland threads library. comment "boost-fiber needs a toolchain w/ NPTL" + depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "boost-fiber needs a toolchain not affected by GCC bug 64735, 85180" + depends on BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_TOOLCHAIN_HAS_GCC_BUG_85180 + config BR2_PACKAGE_BOOST_FILESYSTEM bool "boost-filesystem" + select BR2_PACKAGE_BOOST_SYSTEM help The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. config BR2_PACKAGE_BOOST_GRAPH bool "boost-graph" + select BR2_PACKAGE_BOOST_REGEX help The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL). @@ -147,6 +190,8 @@ config BR2_PACKAGE_BOOST_LOCALE # https://svn.boost.org/trac/boost/ticket/9685 for more # details. depends on !(BR2_STATIC_LIBS && BR2_PACKAGE_ICU) + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD if BR2_PACKAGE_ICU select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help Provide localization and Unicode handling tools for C++. @@ -158,15 +203,17 @@ comment "boost-locale needs a toolchain w/ dynamic library" config BR2_PACKAGE_BOOST_LOG bool "boost-log" depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL - # for some reason, uClibc on PowerPC fails to build the boost - # log module - depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC) + select BR2_PACKAGE_BOOST_ATOMIC + select BR2_PACKAGE_BOOST_DATE_TIME + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_REGEX + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD help Logging library. comment "boost-log needs a toolchain w/ NPTL" depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC) config BR2_PACKAGE_BOOST_MATH bool "boost-math" @@ -217,6 +264,7 @@ config BR2_PACKAGE_BOOST_PYTHON config BR2_PACKAGE_BOOST_RANDOM bool "boost-random" + select BR2_PACKAGE_BOOST_SYSTEM help A complete system for random number generation. @@ -231,11 +279,6 @@ config BR2_PACKAGE_BOOST_SERIALIZATION help Serialization for persistence and marshalling. -config BR2_PACKAGE_BOOST_SIGNALS - bool "boost-signals" - help - Managed signals & slots callback implementation. - config BR2_PACKAGE_BOOST_STACKTRACE bool "boost-stacktrace" depends on !BR2_STATIC_LIBS @@ -254,22 +297,31 @@ config BR2_PACKAGE_BOOST_SYSTEM config BR2_PACKAGE_BOOST_TEST bool "boost-test" depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_TIMER help Support for simple program testing, full unit testing, and for program execution monitoring. config BR2_PACKAGE_BOOST_THREAD bool "boost-thread" + select BR2_PACKAGE_BOOST_ATOMIC if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_SYSTEM help Portable C++ multi-threading. C++11, C++14. config BR2_PACKAGE_BOOST_TIMER bool "boost-timer" + select BR2_PACKAGE_BOOST_CHRONO + select BR2_PACKAGE_BOOST_SYSTEM help Event timer, progress timer, and progress display classes. config BR2_PACKAGE_BOOST_TYPE_ERASURE bool "boost-type_erasure" + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD help Runtime polymorphism based on concepts. @@ -278,6 +330,10 @@ config BR2_PACKAGE_BOOST_WAVE # limitation of assembler for coldfire # error: Tried to convert PC relative branch to absolute jump depends on !BR2_m68k_cf + select BR2_PACKAGE_BOOST_DATE_TIME + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_THREAD help The Boost.Wave library is a Standards conformant, and highly configurable implementation of the mandated C99/C++ diff --git a/bsp/buildroot/package/boost/boost.hash b/bsp/buildroot/package/boost/boost.hash index 7eb675d5..c67c3f4a 100644 --- a/bsp/buildroot/package/boost/boost.hash +++ b/bsp/buildroot/package/boost/boost.hash @@ -1,5 +1,5 @@ -# From http://www.boost.org/users/history/version_1_66_0.html -sha256 5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9 boost_1_66_0.tar.bz2 +# From http://www.boost.org/users/history/version_1_69_0.html +sha256 8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406 boost_1_69_0.tar.bz2 # Locally computed sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/bsp/buildroot/package/boost/boost.mk b/bsp/buildroot/package/boost/boost.mk index 9ad83d5a..43273090 100644 --- a/bsp/buildroot/package/boost/boost.mk +++ b/bsp/buildroot/package/boost/boost.mk @@ -4,7 +4,7 @@ # ################################################################################ -BOOST_VERSION = 1.66.0 +BOOST_VERSION = 1.69.0 BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2 BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION) BOOST_INSTALL_STAGING = YES @@ -14,15 +14,15 @@ BOOST_LICENSE_FILES = LICENSE_1_0.txt # keep host variant as minimal as possible HOST_BOOST_FLAGS = --without-icu --with-toolset=gcc \ --without-libraries=$(subst $(space),$(comma),atomic chrono context \ - coroutine date_time exception filesystem graph graph_parallel iostreams \ - locale log math mpi program_options python random regex serialization \ - signals system test thread timer type_erasure \ - wave) + contract coroutine date_time exception filesystem graph graph_parallel \ + iostreams locale log math mpi program_options python random regex \ + serialization system test thread timer type_erasure wave) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTAINER),,container) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTEXT),,context) +BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CONTRACT),,contract) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_COROUTINE),,coroutine) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_DATE_TIME),,date_time) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_EXCEPTION),,exception) @@ -40,7 +40,6 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_RANDOM),,random) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_REGEX),,regex) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SERIALIZATION),,serialization) -BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SIGNALS),,signals) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_STACKTRACE),,stacktrace) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system) BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test) @@ -158,6 +157,24 @@ define BOOST_INSTALL_STAGING_CMDS --layout=$(BOOST_LAYOUT) install) endef +# These hooks will help us to detect missing select in Config.in +# Indeed boost buildsystem can select a library even if the user has +# disable it +define BOOST_REMOVE_TARGET_LIBRARIES + rm -rf $(TARGET_DIR)/usr/lib/libboost_* +endef + +BOOST_PRE_INSTALL_TARGET_HOOKS += BOOST_REMOVE_TARGET_LIBRARIES + +define BOOST_CHECK_TARGET_LIBRARIES + @$(foreach disabled,$(BOOST_WITHOUT_FLAGS),\ + ! ls $(TARGET_DIR)/usr/lib/libboost_$(disabled)* 1>/dev/null 2>&1 || \ + ! echo "libboost_$(disabled) shouldn't have been installed: missing select in boost/Config.in" || \ + exit 1;) +endef + +BOOST_POST_INSTALL_TARGET_HOOKS += BOOST_CHECK_TARGET_LIBRARIES + define HOST_BOOST_CONFIGURE_CMDS (cd $(@D) && ./bootstrap.sh $(HOST_BOOST_FLAGS)) echo "using gcc : `$(HOST_CC) -dumpversion` : $(HOSTCXX) : \"$(HOST_CXXFLAGS)\" \"$(HOST_LDFLAGS)\" ;" > $(@D)/user-config.jam diff --git a/bsp/buildroot/package/bootstrap/bootstrap.hash b/bsp/buildroot/package/bootstrap/bootstrap.hash index 32ef9c4b..ed29f9c5 100644 --- a/bsp/buildroot/package/bootstrap/bootstrap.hash +++ b/bsp/buildroot/package/bootstrap/bootstrap.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 fa1caaaf640c32c553d0b323da1036f2232703d64a1d22c3a2ec84ace68c791a bootstrap-4.0.0-dist.zip -sha256 8c1a4c25634d5841924aab1848acc9dcbc3d5672183053c8b71ff2139b65d7c3 css/bootstrap.css +sha256 75c0325fd82e29cf524e28d8be7716c216cc507ba85b087ab36868209236aa01 bootstrap-4.1.0-dist.zip +sha256 0ce7fbe215cdf921ed87d00a374404681d5d24898589a7fe60e068d09289b4ba css/bootstrap.css diff --git a/bsp/buildroot/package/bootstrap/bootstrap.mk b/bsp/buildroot/package/bootstrap/bootstrap.mk index 61d6c826..0699485f 100644 --- a/bsp/buildroot/package/bootstrap/bootstrap.mk +++ b/bsp/buildroot/package/bootstrap/bootstrap.mk @@ -4,19 +4,21 @@ # ################################################################################ -BOOTSTRAP_VERSION = 4.0.0 +BOOTSTRAP_VERSION = 4.1.0 BOOTSTRAP_SITE = https://github.com/twbs/bootstrap/releases/download/v$(BOOTSTRAP_VERSION) BOOTSTRAP_SOURCE = bootstrap-$(BOOTSTRAP_VERSION)-dist.zip BOOTSTRAP_LICENSE = MIT BOOTSTRAP_LICENSE_FILES = css/bootstrap.css define BOOTSTRAP_EXTRACT_CMDS - $(UNZIP) $(DL_DIR)/$(BOOTSTRAP_SOURCE) -d $(@D) + $(UNZIP) $(BOOTSTRAP_DL_DIR)/$(BOOTSTRAP_SOURCE) -d $(@D) endef define BOOTSTRAP_INSTALL_TARGET_CMDS $(INSTALL) -m 0644 -D $(@D)/css/bootstrap.min.css \ $(TARGET_DIR)/var/www/bootstrap/css/bootstrap.min.css + $(INSTALL) -m 0644 -D $(@D)/css/bootstrap.min.css.map \ + $(TARGET_DIR)/var/www/bootstrap/css/bootstrap.min.css.map $(INSTALL) -m 0644 -D $(@D)/js/bootstrap.min.js \ $(TARGET_DIR)/var/www/bootstrap/js/bootstrap.min.js endef diff --git a/bsp/buildroot/package/bootutils/0001-fix-musl-compilation-issue.patch b/bsp/buildroot/package/bootutils/0001-fix-musl-compilation-issue.patch deleted file mode 100644 index ccb6ef61..00000000 --- a/bsp/buildroot/package/bootutils/0001-fix-musl-compilation-issue.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e4c2c18b9d1d7a6dc17d8f7705b26fc2e2efc5a9 Mon Sep 17 00:00:00 2001 -From: Brendan Heading -Date: Sun, 30 Aug 2015 20:12:40 +0100 -Subject: [PATCH 1/1] fix musl compilation issue - -makedev(3) requires sys/types.h to be included. - -Note upstream has not issued releases since 2009. No mailing list activity -since January 2010, and even before then it seems to be mostly spam. - -Upstream-Status: dormant -Signed-off-by: Brendan Heading ---- - raidscan.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/raidscan.c b/raidscan.c -index fab3b02..3cb1a0d 100644 ---- a/raidscan.c -+++ b/raidscan.c -@@ -22,6 +22,7 @@ - #include "config.h" - - #include -+#include - #include - #include - #include --- -2.4.3 - diff --git a/bsp/buildroot/package/bootutils/Config.in b/bsp/buildroot/package/bootutils/Config.in deleted file mode 100644 index 30d647ab..00000000 --- a/bsp/buildroot/package/bootutils/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_BOOTUTILS - bool "bootutils" - depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - help - BootUtils is a collection of utilities to facilitate booting - of Linux 2.6-based systems. The process of finding the root - volume either by label or explicit label= on the kernel - command line, mounting it, and 'switchroot'ing is automated. - - http://bootutils.sourceforge.net/ diff --git a/bsp/buildroot/package/bootutils/bootutils.hash b/bsp/buildroot/package/bootutils/bootutils.hash deleted file mode 100644 index 576c324c..00000000 --- a/bsp/buildroot/package/bootutils/bootutils.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 78549714e7c7fa246a4019c245f4da044aee6cfe48ad6887c4013ac4c749c7b9 bootutils-1.0.0.tar.gz diff --git a/bsp/buildroot/package/bootutils/bootutils.mk b/bsp/buildroot/package/bootutils/bootutils.mk deleted file mode 100644 index bc4b3e84..00000000 --- a/bsp/buildroot/package/bootutils/bootutils.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# bootutils -# -################################################################################ - -BOOTUTILS_VERSION = 1.0.0 -BOOTUTILS_SITE = http://downloads.sourceforge.net/project/bootutils/Stable/v$(BOOTUTILS_VERSION) -BOOTUTILS_CONF_OPTS = --prefix=/ --exec-prefix=/ -BOOTUTILS_LICENSE = GPL-2.0+ -BOOTUTILS_LICENSE_FILES = COPYING - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/botan/0001-remove-mips64-explicit-mabi.patch b/bsp/buildroot/package/botan/0001-remove-mips64-explicit-mabi.patch index 3fddd54e..9c931775 100644 --- a/bsp/buildroot/package/botan/0001-remove-mips64-explicit-mabi.patch +++ b/bsp/buildroot/package/botan/0001-remove-mips64-explicit-mabi.patch @@ -3,15 +3,17 @@ Remove explicit mips64 -mabi parameter This breaks when building for n32 ABI on mips64. Signed-off-by: Baruch Siach +[Bernd: rebased for botan-2.7.0] +Signed-off-by: Bernd Kuhls --- diff -Nuar Botan-1.10.8-orig/src/build-data/cc/gcc.txt Botan-1.10.8/src/build-data/cc/gcc.txt --- Botan-1.10.8-orig/src/build-data/cc/gcc.txt 2014-04-10 17:11:44.000000000 +0300 +++ Botan-1.10.8/src/build-data/cc/gcc.txt 2014-10-23 09:20:34.506722323 +0300 -@@ -92,7 +92,6 @@ - # The 'linking' bit means "use this for both compiling *and* linking" - - x86_64 -> "-m64" +@@ -83,7 +83,6 @@ + + openmp -> "-fopenmp" + -mips64 -> "-mabi=64" s390 -> "-m31" s390x -> "-m64" diff --git a/bsp/buildroot/package/botan/Config.in b/bsp/buildroot/package/botan/Config.in index 733dc896..a242a38e 100644 --- a/bsp/buildroot/package/botan/Config.in +++ b/bsp/buildroot/package/botan/Config.in @@ -8,13 +8,22 @@ config BR2_PACKAGE_BOTAN_ARCH_SUPPORTS config BR2_PACKAGE_BOTAN bool "botan" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future + select BR2_PACKAGE_BOOST_FILESYSTEM if BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM if BR2_PACKAGE_BOOST help Botan is a crypto library for C++ http://botan.randombit.net -comment "botan needs a toolchain w/ C++, threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP +comment "botan needs a toolchain w/ C++, threads, gcc >= 4.8" + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + +comment "botan needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_BOTAN_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/botan/botan.hash b/bsp/buildroot/package/botan/botan.hash index 3d46a135..faa467ec 100644 --- a/bsp/buildroot/package/botan/botan.hash +++ b/bsp/buildroot/package/botan/botan.hash @@ -1,2 +1,4 @@ -# Locally calculated after checking pgp signature -sha256 6c5472401d06527e87adcb53dd270f3c9b1fb688703b04dd7a7cfb86289efe52 Botan-1.10.16.tgz +# From https://botan.randombit.net/releases/sha256sums.txt +sha256 e7159b127e91e0c158245d61c638c50d443ec7b440b6b0161328c47b3aba3960 Botan-2.8.0.tgz +# Locally computed +sha256 40cfd35a9e34d18463806f57553c968fdbaf254a2e2a636d1d8e32ff6b698495 license.txt diff --git a/bsp/buildroot/package/botan/botan.mk b/bsp/buildroot/package/botan/botan.mk index e42bb61c..a96a1217 100644 --- a/bsp/buildroot/package/botan/botan.mk +++ b/bsp/buildroot/package/botan/botan.mk @@ -4,11 +4,11 @@ # ################################################################################ -BOTAN_VERSION = 1.10.16 +BOTAN_VERSION = 2.8.0 BOTAN_SOURCE = Botan-$(BOTAN_VERSION).tgz BOTAN_SITE = http://botan.randombit.net/releases BOTAN_LICENSE = BSD-2-Clause -BOTAN_LICENSE_FILES = doc/license.txt +BOTAN_LICENSE_FILES = license.txt BOTAN_INSTALL_STAGING = YES @@ -17,10 +17,44 @@ BOTAN_CONF_OPTS = \ --os=linux \ --cc=gcc \ --cc-bin="$(TARGET_CXX)" \ - --prefix=/usr + --ldflags="$(BOTAN_LDFLAGS)" \ + --prefix=/usr \ + --without-documentation -ifeq ($(BR2_STATIC_LIBS),y) -BOTAN_CONF_OPTS += --disable-shared --no-autoload +BOTAN_LDFLAGS = $(TARGET_LDFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +BOTAN_LDFLAGS += -latomic +endif + +ifeq ($(BR2_SHARED_LIBS),y) +BOTAN_CONF_OPTS += \ + --disable-static-library \ + --enable-shared-library +else ifeq ($(BR2_STATIC_LIBS),y) +BOTAN_CONF_OPTS += \ + --disable-shared-library \ + --enable-static-library \ + --no-autoload +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +BOTAN_CONF_OPTS += \ + --enable-shared-library \ + --enable-static-library +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_SSP),y) +BOTAN_CONF_OPTS += --with-stack-protector +else +BOTAN_CONF_OPTS += --without-stack-protector +endif + +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) +BOTAN_CONF_OPTS += --without-os-feature=getauxval +endif + +ifeq ($(BR2_PACKAGE_BOOST),y) +BOTAN_DEPENDENCIES += boost +BOTAN_CONF_OPTS += --with-boost endif ifeq ($(BR2_PACKAGE_BZIP2),y) @@ -28,41 +62,48 @@ BOTAN_DEPENDENCIES += bzip2 BOTAN_CONF_OPTS += --with-bzip2 endif -ifeq ($(BR2_PACKAGE_GMP),y) -BOTAN_DEPENDENCIES += gmp -BOTAN_CONF_OPTS += --with-gnump -endif - ifeq ($(BR2_PACKAGE_OPENSSL),y) BOTAN_DEPENDENCIES += openssl BOTAN_CONF_OPTS += --with-openssl endif +ifeq ($(BR2_PACKAGE_SQLITE),y) +BOTAN_DEPENDENCIES += sqlite +BOTAN_CONF_OPTS += --with-sqlite +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +BOTAN_DEPENDENCIES += xz +BOTAN_CONF_OPTS += --with-lzma +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) BOTAN_DEPENDENCIES += zlib BOTAN_CONF_OPTS += --with-zlib endif -ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) -BOTAN_CONF_OPTS += --enable-altivec -else +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),) BOTAN_CONF_OPTS += --disable-altivec endif +ifeq ($(BR2_ARM_CPU_HAS_NEON),) +BOTAN_CONF_OPTS += --disable-neon +endif + define BOTAN_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) ./configure.py $(BOTAN_CONF_OPTS)) endef define BOTAN_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) AR="$(TARGET_AR) crs" + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) AR="$(TARGET_AR)" endef define BOTAN_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)/usr" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" install endef define BOTAN_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)/usr" install + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/brcm-patchram-plus/Config.in b/bsp/buildroot/package/brcm-patchram-plus/Config.in new file mode 100644 index 00000000..2742016e --- /dev/null +++ b/bsp/buildroot/package/brcm-patchram-plus/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_BRCM_PATCHRAM_PLUS + bool "brcm-patchram-plus" + help + Broadcom utility to flash Bluetooth firmwares, extended with + per-device Low Power Mode configuration. + + https://github.com/AsteroidOS/brcm-patchram-plus diff --git a/bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.hash b/bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.hash new file mode 100644 index 00000000..f6910e71 --- /dev/null +++ b/bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 febad69fbc9185b4c6a31188cf381fd280b88d93cb7f5a40dfdbab9c599c29a7 brcm-patchram-plus-95b7b6916d661a4da3f9c0adf52d5e1f4f8ab042.tar.gz +sha256 26324f5c563b7e338c2876c8abe90c3681c1e9a6163fc59b494c94ad6493eda4 COPYING diff --git a/bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.mk b/bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.mk new file mode 100644 index 00000000..329571d9 --- /dev/null +++ b/bsp/buildroot/package/brcm-patchram-plus/brcm-patchram-plus.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# brcm-patchram-plus +# +################################################################################ + +BRCM_PATCHRAM_PLUS_VERSION = 95b7b6916d661a4da3f9c0adf52d5e1f4f8ab042 +BRCM_PATCHRAM_PLUS_SITE = $(call github,AsteroidOS,brcm-patchram-plus,$(BRCM_PATCHRAM_PLUS_VERSION)) +BRCM_PATCHRAM_PLUS_LICENSE = Apache-2.0 +BRCM_PATCHRAM_PLUS_LICENSE_FILES = COPYING +BRCM_PATCHRAM_PLUS_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch b/bsp/buildroot/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch deleted file mode 100644 index e6a2005d..00000000 --- a/bsp/buildroot/package/brltty/0001-Prevent-scancodes-from-generating-spurious-log-messa.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3ea213e47c6771b7e2481f64a98f30c02fcb4867 Mon Sep 17 00:00:00 2001 -From: Mario Lang -Date: Thu, 30 Nov 2017 13:14:47 +0100 -Subject: [PATCH] Prevent scancodes from generating spurious log messages. (ml) - -Signed-off-by: Mario Lang ---- -This patch was taken from upstream, and can be removed when 5.6 is out. - - Drivers/Braille/HandyTech/braille.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Drivers/Braille/HandyTech/braille.c b/Drivers/Braille/HandyTech/braille.c -index ef95fd15b..f7e605c1a 100644 ---- a/Drivers/Braille/HandyTech/braille.c -+++ b/Drivers/Braille/HandyTech/braille.c -@@ -1560,7 +1560,7 @@ brl_readCommand (BrailleDisplay *brl, KeyTableCommandContext context) { - case HT_EXTPKT_Scancode: { - while (length--) - enqueueCommand(BRL_CMD_BLK(PASSAT) | BRL_ARG_PUT(*bytes++)); -- break; -+ continue; - } - - case HT_EXTPKT_GetRTC: { --- -2.15.0 - diff --git a/bsp/buildroot/package/brltty/0004-buildsys-fix-cross-compilation.patch b/bsp/buildroot/package/brltty/0001-buildsys-fix-cross-compilation.patch similarity index 100% rename from bsp/buildroot/package/brltty/0004-buildsys-fix-cross-compilation.patch rename to bsp/buildroot/package/brltty/0001-buildsys-fix-cross-compilation.patch diff --git a/bsp/buildroot/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch b/bsp/buildroot/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch deleted file mode 100644 index 3dbacb3b..00000000 --- a/bsp/buildroot/package/brltty/0002-Check-for-ioperm-to-make-sure-the-platform-supports-.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 28dde6749327fd15a1b8b7bcf5cc74a95598582a Mon Sep 17 00:00:00 2001 -From: Mario Lang -Date: Fri, 29 Dec 2017 10:35:05 +0100 -Subject: [PATCH] Check for ioperm to make sure the platform supports ports - I/O. (ml) - -Signed-off-by: Mario Lang ---- -This patch was taken from upstream, and can be removed when 5.6 is out. - - configure.ac | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 5e94d33bd..07119dd9f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1446,7 +1446,9 @@ BRLTTY_ARG_PACKAGE([ports], [I/O ports], [], [dnl - ports_package="kfreebsd" - ;; - linux*) -- ports_package="glibc" -+ AC_CHECK_FUNC([ioperm], [ -+ ports_package="glibc" -+ ]) - ;; - mingw*) - ports_package="windows" --- -2.15.0 - diff --git a/bsp/buildroot/package/brltty/0002-Fix-linking-error-on-mips64el.patch b/bsp/buildroot/package/brltty/0002-Fix-linking-error-on-mips64el.patch new file mode 100644 index 00000000..4882a226 --- /dev/null +++ b/bsp/buildroot/package/brltty/0002-Fix-linking-error-on-mips64el.patch @@ -0,0 +1,42 @@ +From ddb06335935ef1458fe98f99cdc5d5fe6757fd02 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 3 Oct 2018 19:06:40 +0200 +Subject: [PATCH] Fix linking error on mips64el + +Patch that was fixing build on mips64el was reverted: +https://github.com/brltty/brltty/commit/9e7d62c869d3c1cbe12dda8b0291a4692c193416 + +So fix the issue again, this time by checking if $(GCC) is available as +suggested by Arnout during review of buildroot patch: +https://patchwork.ozlabs.org/patch/972614 + +Fixes: + - http://autobuild.buildroot.org/results/31f682838b3d3b2c7103b5c51f2aba0b89d4f630 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/brltty/brltty/pull/149] +--- + configure.ac | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 1e2774abf..a488d3d52 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -481,7 +481,12 @@ AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_make_objec + case "${host_os}" + in + *) +- brltty_cv_prog_make_object_relocatable="\$(LD) -r -o" ++ if test "${GCC}" = "yes" ++ then ++ brltty_cv_prog_make_object_relocatable="\$(CC) -shared -o" ++ else ++ brltty_cv_prog_make_object_relocatable="\$(LD) -r -o" ++ fi + ;; + esac]) + MKREL="${brltty_cv_prog_make_object_relocatable}" +-- +2.17.1 + diff --git a/bsp/buildroot/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch b/bsp/buildroot/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch deleted file mode 100644 index c1980417..00000000 --- a/bsp/buildroot/package/brltty/0003-Remove-MKOBJ-in-favour-of-MKMOD.patch +++ /dev/null @@ -1,64 +0,0 @@ -From b3b0e47015e9162f519730789976157c7cc38178 Mon Sep 17 00:00:00 2001 -From: Mario Lang -Date: Fri, 29 Dec 2017 14:52:37 +0100 -Subject: [PATCH] Remove MKOBJ in favour of MKMOD. (ml) - -Calling ld directly can lead to problems when cross-compiling. - -Upstream: https://github.com/brltty/brltty/commit/4c8aba42e246b96d10ffcbd57653682375499e46 -Signed-off-by: Mario Lang ---- - Drivers/Braille/EuroBraille/Makefile.in | 2 +- - config.mk.in | 1 - - configure.ac | 10 ---------- - 3 files changed, 1 insertion(+), 12 deletions(-) - -diff --git a/Drivers/Braille/EuroBraille/Makefile.in b/Drivers/Braille/EuroBraille/Makefile.in -index 0500aa70e..ce8a3d1a4 100644 ---- a/Drivers/Braille/EuroBraille/Makefile.in -+++ b/Drivers/Braille/EuroBraille/Makefile.in -@@ -28,7 +28,7 @@ SRC_FILES = eu_braille.c eu_clio.c eu_esysiris.c - OBJ_FILES = $(SRC_FILES:.c=.$O) - - braille.$O: $(OBJ_FILES) -- $(MKOBJ) $@ $(OBJ_FILES) -+ $(MKMOD) $@ $(OBJ_FILES) - - %.$O: $(SRC_DIR)/%.c - $(CC) $(BRL_CFLAGS) -o $@ -c $< -diff --git a/config.mk.in b/config.mk.in -index 686f547e6..8d1da79b4 100644 ---- a/config.mk.in -+++ b/config.mk.in -@@ -250,7 +250,6 @@ LD = @LD@ - LDFLAGS = @LDFLAGS@ - LDLIBS = $(ICU_LIBS) $(POLKIT_LIBS) $(SYSTEM_LIBS) @LIBS@ - --MKOBJ = @MKOBJ@ - MKMOD = @MKMOD@ - MKLIB = @MKLIB@ - CONFLIBDIR = @CONFLIBDIR@ -diff --git a/configure.ac b/configure.ac -index 07119dd9f..ad80b8d60 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -428,16 +428,6 @@ AC_SUBST([can_make_manual]) - test "${DOXYGEN}" = "false" && can_make_BrlAPIref=no || can_make_BrlAPIref=yes - AC_SUBST([can_make_BrlAPIref]) - --AC_CACHE_CHECK([for make relocatable object command], [brltty_cv_prog_mkobj], [dnl --case "${host_os}" --in -- *) -- brltty_cv_prog_mkobj="\$(LD) -r -o" -- ;; --esac]) --MKOBJ="${brltty_cv_prog_mkobj}" --AC_SUBST([MKOBJ]) -- - AC_CACHE_CHECK([for loadable module creation command], [brltty_cv_prog_mkmod], [dnl - case "${host_os}" - in --- -2.15.0 - diff --git a/bsp/buildroot/package/brltty/Config.in b/bsp/buildroot/package/brltty/Config.in index 48ceb04c..de11af3b 100644 --- a/bsp/buildroot/package/brltty/Config.in +++ b/bsp/buildroot/package/brltty/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_BRLTTY A daemon providing access to the Linux console for a blind person using a refreshable braille display. - http://brltty.com/ + http://brltty.app/ if BR2_PACKAGE_BRLTTY diff --git a/bsp/buildroot/package/brltty/brltty.hash b/bsp/buildroot/package/brltty/brltty.hash index 3bc2f9cf..6b9470c8 100644 --- a/bsp/buildroot/package/brltty/brltty.hash +++ b/bsp/buildroot/package/brltty/brltty.hash @@ -1,3 +1,3 @@ -sha256 4ebf1df5922df0efccac4795f5bd1c514fc850348c34d9ec0868e2798b565a36 brltty-5.5.tar.xz -sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad LICENSE-GPL +sha256 6171258aca833bb2012afd9c63928573a48c3daab7b149a3e90001ba53beb80f brltty-5.6.tar.xz sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f LICENSE-LGPL +sha256 42685d8fa420f618e325d423be110c69abd976afdef183dfac385ccd44cb12e9 README diff --git a/bsp/buildroot/package/brltty/brltty.mk b/bsp/buildroot/package/brltty/brltty.mk index eb91ef8f..21f6877b 100644 --- a/bsp/buildroot/package/brltty/brltty.mk +++ b/bsp/buildroot/package/brltty/brltty.mk @@ -4,14 +4,16 @@ # ################################################################################ -BRLTTY_VERSION = 5.5 +BRLTTY_VERSION = 5.6 BRLTTY_SOURCE = brltty-$(BRLTTY_VERSION).tar.xz BRLTTY_SITE = http://brltty.com/archive BRLTTY_INSTALL_STAGING_OPTS = INSTALL_ROOT=$(STAGING_DIR) install BRLTTY_INSTALL_TARGET_OPTS = INSTALL_ROOT=$(TARGET_DIR) install -BRLTTY_LICENSE_FILES = LICENSE-GPL LICENSE-LGPL +BRLTTY_LICENSE = LGPL-2.1+ +BRLTTY_LICENSE_FILES = LICENSE-LGPL README -BRLTTY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-autoconf host-pkgconf +BRLTTY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-autoconf host-pkgconf \ + $(if $(BR2_PACKAGE_AT_SPI2_CORE),at-spi2-core) BRLTTY_CONF_OPTS = \ --disable-java-bindings \ diff --git a/bsp/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch b/bsp/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch index ba65ac41..de2db2f1 100644 --- a/bsp/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch +++ b/bsp/buildroot/package/btrfs-progs/0001-Makefile-install-static-library-and-headers-in-insta.patch @@ -16,6 +16,8 @@ Signed-off-by: Thomas Petazzoni Signed-off-by: Gustavo Zacarias [Vincent: Rebase for btrfs-progs 4.10] Signed-off-by: Vicente Olivert Riera +[baruch: Rebase for btrfs-progs 4.16] +Signed-off-by: Baruch Siach --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) @@ -39,8 +41,8 @@ index 67fbc48..d9e34be 100644 $(LN_S) -f btrfs.static $(DESTDIR)$(bindir)/btrfsck.static + $(INSTALL) -m755 -d $(DESTDIR)$(libdir) + $(INSTALL) $(libs_static) $(DESTDIR)$(libdir) -+ $(INSTALL) -m755 -d $(DESTDIR)$(incdir) -+ $(INSTALL) -m644 $(headers) $(DESTDIR)$(incdir) ++ $(INSTALL) -m755 -d $(DESTDIR)$(incdir)/btrfs ++ $(INSTALL) -m644 $(libbtrfs_headers) $(DESTDIR)$(incdir)/btrfs $(INSTALLDIRS): @echo "Making install in $(patsubst install-%,%,$@)" diff --git a/bsp/buildroot/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch b/bsp/buildroot/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch deleted file mode 100644 index 7b09f278..00000000 --- a/bsp/buildroot/package/btrfs-progs/0003-btrfs-progs-convert-add-missing-types-header.patch +++ /dev/null @@ -1,39 +0,0 @@ -From dda485a3d788c47bb6849218f695db7b51822872 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 31 Oct 2017 14:51:51 +0200 -Subject: [PATCH] btrfs-progs: convert: add missing types header - -Build with musl libc needs the sys/types.h header for the dev_t type, -since this header is not included indirectly. This fixes the following -build failure: - -In file included from convert/source-fs.c:23:0: -./convert/source-fs.h:112:1: error: unknown type name ‘dev_t’ - dev_t decode_dev(u32 dev); - ^~~~~ -convert/source-fs.c:31:1: error: unknown type name ‘dev_t’ - dev_t decode_dev(u32 dev) - ^~~~~ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://marc.info/?l=linux-btrfs&m=150945479718731&w=2 - - convert/source-fs.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/convert/source-fs.h b/convert/source-fs.h -index 23f33567b42d..4e5babefe6a2 100644 ---- a/convert/source-fs.h -+++ b/convert/source-fs.h -@@ -19,6 +19,7 @@ - - #include "kerncompat.h" - #include -+#include - #include - - #define CONV_IMAGE_SUBVOL_OBJECTID BTRFS_FIRST_FREE_OBJECTID --- -2.14.2 - diff --git a/bsp/buildroot/package/btrfs-progs/Config.in b/bsp/buildroot/package/btrfs-progs/Config.in index ad86bab5..35dfc391 100644 --- a/bsp/buildroot/package/btrfs-progs/Config.in +++ b/bsp/buildroot/package/btrfs-progs/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_BTRFS_PROGS bool "btrfs-progs" depends on BR2_USE_MMU # util-linux depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_LZO select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBBLKID diff --git a/bsp/buildroot/package/btrfs-progs/Config.in.host b/bsp/buildroot/package/btrfs-progs/Config.in.host new file mode 100644 index 00000000..cdcd2e4e --- /dev/null +++ b/bsp/buildroot/package/btrfs-progs/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_BTRFS_PROGS + bool "host btrfs-progs" + help + Btrfs filesystem utilities + + https://btrfs.wiki.kernel.org/index.php/Main_Page diff --git a/bsp/buildroot/package/btrfs-progs/btrfs-progs.hash b/bsp/buildroot/package/btrfs-progs/btrfs-progs.hash index bdcb8bad..07d55ec3 100644 --- a/bsp/buildroot/package/btrfs-progs/btrfs-progs.hash +++ b/bsp/buildroot/package/btrfs-progs/btrfs-progs.hash @@ -1,4 +1,6 @@ # From https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/sha256sums.asc -sha256 805bdb0031c21a0a5d2ba295a8c9bdd8ba831a68c3fa801aab85677ec902d783 btrfs-progs-v4.13.3.tar.xz +sha256 bf0b34f1538c0b6e88f959937b0419678cadbf2ba7044336dcbfb2bcdc28cd74 btrfs-progs-v4.17.1.tar.xz # Locally computed sha256 0d5bf346df9e635a29dcdddf832dc5b002ca6cdc1c5c9c6c567d2a61bb0c5c15 COPYING +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 libbtrfsutil/COPYING +sha256 e3a994d82e644b03a792a930f574002658412f62407f5fee083f2555c5f23118 libbtrfsutil/COPYING.LESSER diff --git a/bsp/buildroot/package/btrfs-progs/btrfs-progs.mk b/bsp/buildroot/package/btrfs-progs/btrfs-progs.mk index 96c4350d..585dcf36 100644 --- a/bsp/buildroot/package/btrfs-progs/btrfs-progs.mk +++ b/bsp/buildroot/package/btrfs-progs/btrfs-progs.mk @@ -4,13 +4,14 @@ # ################################################################################ -BTRFS_PROGS_VERSION = 4.13.3 +BTRFS_PROGS_VERSION = 4.17.1 BTRFS_PROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/kdave/btrfs-progs BTRFS_PROGS_SOURCE = btrfs-progs-v$(BTRFS_PROGS_VERSION).tar.xz -BTRFS_PROGS_DEPENDENCIES = host-pkgconf e2fsprogs lzo util-linux zlib -BTRFS_PROGS_CONF_OPTS = --disable-backtrace -BTRFS_PROGS_LICENSE = GPL-2.0 -BTRFS_PROGS_LICENSE_FILES = COPYING +BTRFS_PROGS_DEPENDENCIES = host-pkgconf lzo util-linux zlib +BTRFS_PROGS_CONF_OPTS = --disable-backtrace --disable-zstd --disable-python +BTRFS_PROGS_LICENSE = GPL-2.0, LGPL-3.0+ (libbtrfsutil) +BTRFS_PROGS_LICENSE_FILES = COPYING libbtrfsutil/COPYING \ + libbtrfsutil/COPYING.LESSER BTRFS_PROGS_INSTALL_STAGING = YES # Doesn't autodetect static-only and tries to build both @@ -20,4 +21,22 @@ BTRFS_PROGS_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-static BTRFS_PROGS_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-static endif +# convert also supports conversion from reiserfs, which needs some +# reiserfs libraries, but we have no package for them in Buildroot, so +# we keep things simple and only handle ext2. +ifeq ($(BR2_PACKAGE_E2FSPROGS),y) +BTRFS_PROGS_CONF_OPTS += --enable-convert --with-convert=ext2 +BTRFS_PROGS_DEPENDENCIES += e2fsprogs +else +BTRFS_PROGS_CONF_OPTS += --disable-convert +endif + +HOST_BTRFS_PROGS_DEPENDENCIES = host-util-linux host-lzo host-zlib +HOST_BTRFS_PROGS_CONF_OPTS = \ + --disable-backtrace \ + --disable-zstd \ + --disable-python \ + --disable-convert + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch b/bsp/buildroot/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch index 105626cb..8375ae05 100644 --- a/bsp/buildroot/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch +++ b/bsp/buildroot/package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch @@ -4,6 +4,8 @@ Date: Mon, 25 Nov 2013 22:51:53 +0100 Subject: [PATCH] Makefile.flags: strip non -l arguments returned by pkg-config Signed-off-by: Thomas Petazzoni +[yann.morin.1998@free.fr: refresh for 1.29.0] +Signed-off-by: "Yann E. MORIN" --- Makefile.flags | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) @@ -12,7 +14,7 @@ diff --git a/Makefile.flags b/Makefile.flags index 307afa7..885e323 100644 --- a/Makefile.flags +++ b/Makefile.flags -@@ -141,7 +141,9 @@ ifeq ($(CONFIG_SELINUX),y) +@@ -153,7 +153,9 @@ ifeq ($(CONFIG_SELINUX),y) SELINUX_PC_MODULES = libselinux libsepol $(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES))) CPPFLAGS += $(SELINUX_CFLAGS) @@ -22,7 +24,7 @@ index 307afa7..885e323 100644 + $(SELINUX_PC_MODULES:lib%=%)) endif - ifeq ($(CONFIG_EFENCE),y) + ifeq ($(CONFIG_FEATURE_NSLOOKUP_BIG),y) -- 1.8.1.2 diff --git a/bsp/buildroot/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch b/bsp/buildroot/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch deleted file mode 100644 index 610ca399..00000000 --- a/bsp/buildroot/package/busybox/0003-Makefile-include-per-arch-Makefile-before-Makefile.f.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 2c240f131ae5cc981702b45397be3b311c67a9ee Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 14 Jul 2017 22:23:46 +0200 -Subject: [PATCH] Makefile: include per-arch Makefile before Makefile.flags - -Makefile.flags contains: - -ARCH_FPIC ?= -fpic -ARCH_FPIE ?= -fpie - -However, arch/$(ARCH)/Makefile gets included *after* Makefile.flags, -and therefore doesn't get the chance to provide its own value. - -Fix this by including arch/$(ARCH)/Makefile *before* Makefile.flags. - -[Submitted upstream: http://lists.busybox.net/pipermail/busybox/2017-July/085632.html] -Signed-off-by: Thomas Petazzoni ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 971e68e..fe85070 100644 ---- a/Makefile -+++ b/Makefile -@@ -508,6 +508,8 @@ ifeq ($(dot-config),1) - # To avoid any implicit rule to kick in, define an empty command - .config .kconfig.d: ; - -+-include $(srctree)/arch/$(ARCH)/Makefile -+ - # Now we can define CFLAGS etc according to .config - include $(srctree)/Makefile.flags - -@@ -531,8 +533,6 @@ endif - # Defaults busybox but it is usually overridden in the arch makefile - all: busybox doc - ---include $(srctree)/arch/$(ARCH)/Makefile -- - # arch Makefile may override CC so keep this after arch Makefile is included - #bbox# NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include) - CHECKFLAGS += $(NOSTDINC_FLAGS) --- -2.9.4 - diff --git a/bsp/buildroot/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch b/bsp/buildroot/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch new file mode 100644 index 00000000..b6fb5b92 --- /dev/null +++ b/bsp/buildroot/package/busybox/0003-install.sh-don-t-clobber-dangling-symlinks.patch @@ -0,0 +1,38 @@ +From c9f1a877f1b9e2602913600d769edb17ee41d15d Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 17 Jul 2018 13:18:09 +0300 +Subject: [PATCH] install.sh: don't clobber dangling symlinks + +Symlinks in a subdirectory that is to become target rootfs are sometimes +dangling because they link to canonical file names that are not present +on the host, but are present relative to the target rootfs root. Don't +copy over dangling symlinks when noclobber is enabled + +The -e test treats dangling symlinks as non-existent files. Add -h test +that returns true for all symlinks. + +Cc: Yann E. MORIN +Signed-off-by: Baruch Siach +--- +Upstream status: +http://lists.busybox.net/pipermail/busybox/2018-July/086555.html + + applets/install.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/applets/install.sh b/applets/install.sh +index 9aede0f530e2..415896893e86 100755 +--- a/applets/install.sh ++++ b/applets/install.sh +@@ -83,7 +83,7 @@ install -m 755 busybox "$prefix/bin/busybox" || exit 1 + for i in $h; do + appdir=`dirname "$i"` + app=`basename "$i"` +- if [ x"$noclobber" = x"1" ] && [ -e "$prefix/$i" ]; then ++ if [ x"$noclobber" = x"1" ] && ([ -e "$prefix/$i" ] || [ -h "$prefix/$i" ]); then + echo " $prefix/$i already exists" + continue + fi +-- +2.18.0 + diff --git a/bsp/buildroot/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch b/bsp/buildroot/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch deleted file mode 100644 index b4870353..00000000 --- a/bsp/buildroot/package/busybox/0004-arch-sparc-sparc64-Makefile-define-ARCH_FPIC.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 43593d65827f4e7f848fc410321b0b2deed986fc Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 14 Jul 2017 21:54:37 +0200 -Subject: [PATCH] arch/{sparc,sparc64}/Makefile: define ARCH_FPIC - -Building Busybox on SPARC or SPARC64 with CONFIG_BUILD_LIBBUSYBOX=y -currently fails with: - -miscutils/lib.a(i2c_tools.o): In function `i2c_dev_open': -i2c_tools.c:(.text.i2c_dev_open+0x14): relocation truncated to fit: R_SPARC_GOT13 against `.LC0' -i2c_tools.c:(.text.i2c_dev_open+0x38): relocation truncated to fit: R_SPARC_GOT13 against symbol `bb_errno' defined in COMMON section in libbb/lib.a(ptr_to_globals.o) -i2c_tools.c:(.text.i2c_dev_open+0x6c): relocation truncated to fit: R_SPARC_GOT13 against `.LC1' -miscutils/lib.a(i2c_tools.o): In function `check_funcs_test_end': -i2c_tools.c:(.text.check_funcs_test_end+0x24): relocation truncated to fit: R_SPARC_GOT13 against `.LC2' -i2c_tools.c:(.text.check_funcs_test_end+0x2c): relocation truncated to fit: R_SPARC_GOT13 against `.LC3' -miscutils/lib.a(i2c_tools.o): In function `check_read_funcs': -i2c_tools.c:(.text.check_read_funcs+0x30): relocation truncated to fit: R_SPARC_GOT13 against `.LC10' -i2c_tools.c:(.text.check_read_funcs+0x80): relocation truncated to fit: R_SPARC_GOT13 against `.LC4' -i2c_tools.c:(.text.check_read_funcs+0x98): relocation truncated to fit: R_SPARC_GOT13 against `.LC5' -i2c_tools.c:(.text.check_read_funcs+0xc0): relocation truncated to fit: R_SPARC_GOT13 against `.LC6' -i2c_tools.c:(.text.check_read_funcs+0xe0): relocation truncated to fit: R_SPARC_GOT13 against `.LC7' -i2c_tools.c:(.text.check_read_funcs+0xf8): additional relocation overflows omitted from the output - -As stated by the gcc documentation, the SPARC architecture has a -limited GOT size, which prevents moderately large binaries to be built -with -fpic, and -fPIC is necessary. From gcc's documentation: - -'-fpic' - Generate position-independent code (PIC) suitable for use in a - shared library, if supported for the target machine. Such code - accesses all constant addresses through a global offset table - (GOT). The dynamic loader resolves the GOT entries when the - program starts (the dynamic loader is not part of GCC; it is part - of the operating system). If the GOT size for the linked - executable exceeds a machine-specific maximum size, you get an - error message from the linker indicating that '-fpic' does not - work; in that case, recompile with '-fPIC' instead. (These - maximums are 8k on the SPARC, 28k on AArch64 and 32k on the m68k - and RS/6000. The x86 has no such limit.) - -'-fPIC' - If supported for the target machine, emit position-independent - code, suitable for dynamic linking and avoiding any limit on the - size of the global offset table. This option makes a difference on - AArch64, m68k, PowerPC and SPARC. - -With a limit of 8KB on SPARC, we quickly reach this limit, and we hit -it when building Busybox on SPARC/SPARC64 with the -CONFIG_BUILD_LIBBUSYBOX=y option enabled. - -Therefore, this commit redefines ARCH_FPIC as -fPIC on sparc and -sparc64 to solve this issue. - -[Submitted upstream: http://lists.busybox.net/pipermail/busybox/2017-July/085633.html] -Signed-off-by: Thomas Petazzoni ---- - arch/sparc/Makefile | 1 + - arch/sparc64/Makefile | 1 + - 2 files changed, 2 insertions(+) - create mode 100644 arch/sparc/Makefile - create mode 100644 arch/sparc64/Makefile - -diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile -new file mode 100644 -index 0000000..4d6c5fb ---- /dev/null -+++ b/arch/sparc/Makefile -@@ -0,0 +1 @@ -+ARCH_FPIC = -fPIC -diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile -new file mode 100644 -index 0000000..4d6c5fb ---- /dev/null -+++ b/arch/sparc64/Makefile -@@ -0,0 +1 @@ -+ARCH_FPIC = -fPIC --- -2.9.4 - diff --git a/bsp/buildroot/package/busybox/0005-httpd-fix-handling-of-range-requests.patch b/bsp/buildroot/package/busybox/0005-httpd-fix-handling-of-range-requests.patch deleted file mode 100644 index b3ca32d7..00000000 --- a/bsp/buildroot/package/busybox/0005-httpd-fix-handling-of-range-requests.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 2b400d9b2b7309d6e479102fc3ce646e893058a5 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Mon, 18 Sep 2017 13:09:11 +0200 -Subject: [PATCH] httpd: fix handling of range requests - -Signed-off-by: Denys Vlasenko -Signed-off-by: Peter Korsgaard ---- - networking/httpd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/networking/httpd.c b/networking/httpd.c -index e072f23c7..5e32fc936 100644 ---- a/networking/httpd.c -+++ b/networking/httpd.c -@@ -2337,7 +2337,7 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr) - if (STRNCASECMP(iobuf, "Range:") == 0) { - /* We know only bytes=NNN-[MMM] */ - char *s = skip_whitespace(iobuf + sizeof("Range:")-1); -- if (is_prefixed_with(s, "bytes=") == 0) { -+ if (is_prefixed_with(s, "bytes=")) { - s += sizeof("bytes=")-1; - range_start = BB_STRTOOFF(s, &s, 10); - if (s[0] != '-' || range_start < 0) { --- -2.11.0 - diff --git a/bsp/buildroot/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch b/bsp/buildroot/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch deleted file mode 100644 index e8fd2e02..00000000 --- a/bsp/buildroot/package/busybox/0006-bunzip2-fix-runCnt-overflow-from-bug-10431.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 0402cb32df015d9372578e3db27db47b33d5c7b0 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Sun, 22 Oct 2017 18:23:23 +0200 -Subject: [PATCH] bunzip2: fix runCnt overflow from bug 10431 - -This particular corrupted file can be dealth with by using "unsigned". -If there will be cases where it genuinely overflows, there is a disabled -code to deal with that too. - -function old new delta -get_next_block 1678 1667 -11 - -Signed-off-by: Denys Vlasenko -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 0402cb32df0 - - archival/libarchive/decompress_bunzip2.c | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -diff --git a/archival/libarchive/decompress_bunzip2.c b/archival/libarchive/decompress_bunzip2.c -index 7cd18f5ed4cf..bec89edd3a4d 100644 ---- a/archival/libarchive/decompress_bunzip2.c -+++ b/archival/libarchive/decompress_bunzip2.c -@@ -156,15 +156,15 @@ static unsigned get_bits(bunzip_data *bd, int bits_wanted) - static int get_next_block(bunzip_data *bd) - { - struct group_data *hufGroup; -- int dbufCount, dbufSize, groupCount, *base, *limit, selector, -- i, j, runPos, symCount, symTotal, nSelectors, byteCount[256]; -- int runCnt = runCnt; /* for compiler */ -+ int groupCount, *base, *limit, selector, -+ i, j, symCount, symTotal, nSelectors, byteCount[256]; - uint8_t uc, symToByte[256], mtfSymbol[256], *selectors; - uint32_t *dbuf; - unsigned origPtr, t; -+ unsigned dbufCount, runPos; -+ unsigned runCnt = runCnt; /* for compiler */ - - dbuf = bd->dbuf; -- dbufSize = bd->dbufSize; - selectors = bd->selectors; - - /* In bbox, we are ok with aborting through setjmp which is set up in start_bunzip */ -@@ -187,7 +187,7 @@ static int get_next_block(bunzip_data *bd) - it didn't actually work. */ - if (get_bits(bd, 1)) return RETVAL_OBSOLETE_INPUT; - origPtr = get_bits(bd, 24); -- if ((int)origPtr > dbufSize) return RETVAL_DATA_ERROR; -+ if (origPtr > bd->dbufSize) return RETVAL_DATA_ERROR; - - /* mapping table: if some byte values are never used (encoding things - like ascii text), the compression code removes the gaps to have fewer -@@ -435,7 +435,14 @@ static int get_next_block(bunzip_data *bd) - symbols, but a run of length 0 doesn't mean anything in this - context). Thus space is saved. */ - runCnt += (runPos << nextSym); /* +runPos if RUNA; +2*runPos if RUNB */ -- if (runPos < dbufSize) runPos <<= 1; -+//The 32-bit overflow of runCnt wasn't yet seen, but probably can happen. -+//This would be the fix (catches too large count way before it can overflow): -+// if (runCnt > bd->dbufSize) { -+// dbg("runCnt:%u > dbufSize:%u RETVAL_DATA_ERROR", -+// runCnt, bd->dbufSize); -+// return RETVAL_DATA_ERROR; -+// } -+ if (runPos < bd->dbufSize) runPos <<= 1; - goto end_of_huffman_loop; - } - -@@ -445,14 +452,15 @@ static int get_next_block(bunzip_data *bd) - literal used is the one at the head of the mtfSymbol array.) */ - if (runPos != 0) { - uint8_t tmp_byte; -- if (dbufCount + runCnt > dbufSize) { -- dbg("dbufCount:%d+runCnt:%d %d > dbufSize:%d RETVAL_DATA_ERROR", -- dbufCount, runCnt, dbufCount + runCnt, dbufSize); -+ if (dbufCount + runCnt > bd->dbufSize) { -+ dbg("dbufCount:%u+runCnt:%u %u > dbufSize:%u RETVAL_DATA_ERROR", -+ dbufCount, runCnt, dbufCount + runCnt, bd->dbufSize); - return RETVAL_DATA_ERROR; - } - tmp_byte = symToByte[mtfSymbol[0]]; - byteCount[tmp_byte] += runCnt; -- while (--runCnt >= 0) dbuf[dbufCount++] = (uint32_t)tmp_byte; -+ while ((int)--runCnt >= 0) -+ dbuf[dbufCount++] = (uint32_t)tmp_byte; - runPos = 0; - } - -@@ -466,7 +474,7 @@ static int get_next_block(bunzip_data *bd) - first symbol in the mtf array, position 0, would have been handled - as part of a run above. Therefore 1 unused mtf position minus - 2 non-literal nextSym values equals -1.) */ -- if (dbufCount >= dbufSize) return RETVAL_DATA_ERROR; -+ if (dbufCount >= bd->dbufSize) return RETVAL_DATA_ERROR; - i = nextSym - 1; - uc = mtfSymbol[i]; - --- -2.15.1 - diff --git a/bsp/buildroot/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch b/bsp/buildroot/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch deleted file mode 100644 index c8d87501..00000000 --- a/bsp/buildroot/package/busybox/0007-unlzma-fix-SEGV-closes-10436.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 9ac42c500586fa5f10a1f6d22c3f797df11b1f6b Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Fri, 27 Oct 2017 15:37:03 +0200 -Subject: [PATCH] unlzma: fix SEGV, closes 10436 - -Signed-off-by: Denys Vlasenko -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 9ac42c500586f - - archival/libarchive/decompress_unlzma.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/archival/libarchive/decompress_unlzma.c b/archival/libarchive/decompress_unlzma.c -index a9040877efa0..be4342414435 100644 ---- a/archival/libarchive/decompress_unlzma.c -+++ b/archival/libarchive/decompress_unlzma.c -@@ -450,8 +450,12 @@ unpack_lzma_stream(transformer_state_t *xstate) - IF_NOT_FEATURE_LZMA_FAST(string:) - do { - uint32_t pos = buffer_pos - rep0; -- if ((int32_t)pos < 0) -+ if ((int32_t)pos < 0) { - pos += header.dict_size; -+ /* bug 10436 has an example file where this triggers: */ -+ if ((int32_t)pos < 0) -+ goto bad; -+ } - previous_byte = buffer[pos]; - IF_NOT_FEATURE_LZMA_FAST(one_byte2:) - buffer[buffer_pos++] = previous_byte; --- -2.15.1 - diff --git a/bsp/buildroot/package/busybox/Config.in b/bsp/buildroot/package/busybox/Config.in index ca8fe68e..e5c5f89a 100644 --- a/bsp/buildroot/package/busybox/Config.in +++ b/bsp/buildroot/package/busybox/Config.in @@ -59,7 +59,6 @@ config BR2_PACKAGE_BUSYBOX_SELINUX config BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES bool "Individual binaries" depends on !BR2_STATIC_LIBS - depends on !BR2_bfin # libbusybox.so link issue help By default (i.e with this option disabled), Busybox is installed as a single binary in /bin/busybox and all applets @@ -70,7 +69,6 @@ config BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES comment "Busybox individual binaries need a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS - depends on !BR2_bfin config BR2_PACKAGE_BUSYBOX_WATCHDOG bool "Install the watchdog daemon startup script" diff --git a/bsp/buildroot/package/busybox/S01logging b/bsp/buildroot/package/busybox/S01logging deleted file mode 100644 index fcb3e7d2..00000000 --- a/bsp/buildroot/package/busybox/S01logging +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# Start logging -# - -SYSLOGD_ARGS=-n -KLOGD_ARGS=-n -[ -r /etc/default/logging ] && . /etc/default/logging - -start() { - printf "Starting logging: " - start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- $SYSLOGD_ARGS - start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- $KLOGD_ARGS - echo "OK" -} - -stop() { - printf "Stopping logging: " - start-stop-daemon -K -q -p /var/run/syslogd.pid - start-stop-daemon -K -q -p /var/run/klogd.pid - echo "OK" -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - ;; - *) - echo "Usage: $0 {start|stop|restart|reload}" - exit 1 -esac - -exit $? diff --git a/bsp/buildroot/package/busybox/S01syslogd b/bsp/buildroot/package/busybox/S01syslogd new file mode 100644 index 00000000..6e642a67 --- /dev/null +++ b/bsp/buildroot/package/busybox/S01syslogd @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="syslogd" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +# BusyBox' syslogd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- -n $SYSLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/busybox/S02klogd b/bsp/buildroot/package/busybox/S02klogd new file mode 100644 index 00000000..a4200cfb --- /dev/null +++ b/bsp/buildroot/package/busybox/S02klogd @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="klogd" +PIDFILE="/var/run/$DAEMON.pid" + +KLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +# BusyBox' klogd does not create a pidfile, so pass "-n" in the command line +# and use "-m" to instruct start-stop-daemon to create one. +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- -n $KLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/busybox/S50telnet b/bsp/buildroot/package/busybox/S50telnet old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/busybox/busybox-minimal.config b/bsp/buildroot/package/busybox/busybox-minimal.config index 4130e6a8..a7aa19ea 100644 --- a/bsp/buildroot/package/busybox/busybox-minimal.config +++ b/bsp/buildroot/package/busybox/busybox-minimal.config @@ -1,39 +1,39 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.27.1 -# Sun Jul 30 15:42:11 2017 +# Busybox version: 1.28.0 +# Wed Feb 7 09:47:09 2018 # CONFIG_HAVE_DOT_CONFIG=y # -# Busybox Settings +# Settings # # CONFIG_DESKTOP is not set # CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_LONG_OPTS=y # CONFIG_SHOW_USAGE is not set # CONFIG_FEATURE_VERBOSE_USAGE is not set # CONFIG_FEATURE_COMPRESS_USAGE is not set -CONFIG_BUSYBOX=y -CONFIG_FEATURE_INSTALLER=y -# CONFIG_INSTALL_NO_USR is not set +CONFIG_LFS=y # CONFIG_PAM is not set -CONFIG_LONG_OPTS=y CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_UTMP=y CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set CONFIG_FEATURE_SUID=y # CONFIG_FEATURE_SUID_CONFIG is not set # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set -# CONFIG_SELINUX is not set # CONFIG_FEATURE_PREFER_APPLETS is not set CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_SYSLOG=y -# CONFIG_FEATURE_HAVE_RPC is not set CONFIG_PLATFORM_LINUX=y # @@ -43,14 +43,15 @@ CONFIG_STATIC=y # CONFIG_PIE is not set # CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set # CONFIG_FEATURE_INDIVIDUAL is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y CONFIG_CROSS_COMPILER_PREFIX="" CONFIG_SYSROOT="" CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set # # Installation Options ("make install" behavior) @@ -77,7 +78,7 @@ CONFIG_NO_DEBUG_LIB=y # CONFIG_EFENCE is not set # -# Busybox Library Tuning +# Library Tuning # # CONFIG_FEATURE_USE_BSS_TAIL is not set CONFIG_FEATURE_RTMINMAX=y @@ -144,7 +145,6 @@ CONFIG_BZCAT=y # CONFIG_UNLZMA is not set CONFIG_LZCAT=y # CONFIG_LZMA is not set -# CONFIG_FEATURE_LZMA_FAST is not set # CONFIG_UNXZ is not set CONFIG_XZCAT=y # CONFIG_XZ is not set @@ -164,8 +164,8 @@ CONFIG_FEATURE_GZIP_DECOMPRESS=y CONFIG_UNLZOP=y CONFIG_LZOPCAT=y # CONFIG_LZOP_COMPR_HIGH is not set -# CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set # CONFIG_TAR is not set # CONFIG_FEATURE_TAR_LONG_OPTIONS is not set # CONFIG_FEATURE_TAR_CREATE is not set @@ -183,12 +183,14 @@ CONFIG_LZOPCAT=y # CONFIG_FEATURE_UNZIP_BZIP2 is not set # CONFIG_FEATURE_UNZIP_LZMA is not set # CONFIG_FEATURE_UNZIP_XZ is not set +# CONFIG_FEATURE_LZMA_FAST is not set # # Coreutils # CONFIG_BASENAME=y CONFIG_CAT=y +CONFIG_FEATURE_CATN=y CONFIG_FEATURE_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y @@ -219,11 +221,8 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y CONFIG_ECHO=y CONFIG_FEATURE_FANCY_ECHO=y CONFIG_ENV=y -# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set # CONFIG_EXPAND is not set -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set # CONFIG_UNEXPAND is not set -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FACTOR=y @@ -261,12 +260,10 @@ CONFIG_SHA3SUM=y # CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y CONFIG_MKNOD=y # CONFIG_MKTEMP is not set CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y CONFIG_NICE=y CONFIG_NL=y CONFIG_NOHUP=y @@ -281,7 +278,6 @@ CONFIG_FEATURE_READLINK_FOLLOW=y CONFIG_REALPATH=y CONFIG_RM=y CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y CONFIG_SHRED=y # CONFIG_SHUF is not set @@ -320,6 +316,7 @@ CONFIG_TRUNCATE=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y CONFIG_UNIQ=y CONFIG_UNLINK=y CONFIG_USLEEP=y @@ -387,6 +384,14 @@ CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_WHICH=y +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + # # Editors # @@ -456,6 +461,8 @@ CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y # # Init Utilities @@ -489,12 +496,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y CONFIG_USE_BB_CRYPT=y # CONFIG_USE_BB_CRYPT_SHA is not set # CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set # CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_LAST_ID=60000 CONFIG_FIRST_SYSTEM_ID=100 @@ -604,7 +609,6 @@ CONFIG_FEATURE_GETOPT_LONG=y # CONFIG_HD is not set CONFIG_XXD=y # CONFIG_HWCLOCK is not set -# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set # CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set # CONFIG_IONICE is not set # CONFIG_IPCRM is not set @@ -644,7 +648,6 @@ CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_FEATURE_MOUNT_OTHERTAB=y # CONFIG_MOUNTPOINT is not set # CONFIG_NSENTER is not set -# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set # CONFIG_PIVOT_ROOT is not set # CONFIG_RDATE is not set # CONFIG_RDEV is not set @@ -658,11 +661,15 @@ CONFIG_FEATURE_MOUNT_OTHERTAB=y CONFIG_LINUX32=y CONFIG_LINUX64=y CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y # CONFIG_SETSID is not set CONFIG_SWAPON=y # CONFIG_FEATURE_SWAPON_DISCARD is not set # CONFIG_FEATURE_SWAPON_PRI is not set CONFIG_SWAPOFF=y +CONFIG_FEATURE_SWAPONOFF_LABEL=y # CONFIG_SWITCH_ROOT is not set # CONFIG_TASKSET is not set # CONFIG_FEATURE_TASKSET_FANCY is not set @@ -678,7 +685,11 @@ CONFIG_FEATURE_UMOUNT_ALL=y CONFIG_FEATURE_MOUNT_LOOP=y CONFIG_FEATURE_MOUNT_LOOP_CREATE=y # CONFIG_FEATURE_MTAB_SUPPORT is not set -# CONFIG_VOLUMEID is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# # CONFIG_FEATURE_VOLUMEID_BCACHE is not set # CONFIG_FEATURE_VOLUMEID_BTRFS is not set # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set @@ -692,6 +703,7 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y # CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set # CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set # CONFIG_FEATURE_VOLUMEID_LUKS is not set +CONFIG_FEATURE_VOLUMEID_MINIX=y # CONFIG_FEATURE_VOLUMEID_NILFS is not set # CONFIG_FEATURE_VOLUMEID_NTFS is not set # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set @@ -724,6 +736,7 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0 # CONFIG_CROND is not set # CONFIG_FEATURE_CROND_D is not set # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set CONFIG_FEATURE_CROND_DIR="" # CONFIG_CRONTAB is not set # CONFIG_DC is not set @@ -746,6 +759,7 @@ CONFIG_FEATURE_CROND_DIR="" # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y # CONFIG_I2CGET is not set # CONFIG_I2CSET is not set # CONFIG_I2CDUMP is not set @@ -777,6 +791,7 @@ CONFIG_PARTPROBE=y # CONFIG_RFKILL is not set # CONFIG_RUNLEVEL is not set # CONFIG_RX is not set +CONFIG_SETFATTR=y CONFIG_SETSERIAL=y # CONFIG_STRINGS is not set # CONFIG_TIME is not set @@ -872,6 +887,7 @@ CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" # CONFIG_FEATURE_NAMEIF_EXTENDED is not set # CONFIG_NBDCLIENT is not set CONFIG_NC=y +# CONFIG_NETCAT is not set CONFIG_NC_SERVER=y # CONFIG_NC_EXTRA is not set # CONFIG_NC_110_COMPAT is not set @@ -899,11 +915,11 @@ CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_FEATURE_TELNETD_STANDALONE is not set # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set # CONFIG_TFTP is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set # CONFIG_TFTPD is not set # CONFIG_FEATURE_TFTP_GET is not set # CONFIG_FEATURE_TFTP_PUT is not set # CONFIG_FEATURE_TFTP_BLOCKSIZE is not set -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set # CONFIG_TFTP_DEBUG is not set # CONFIG_TLS is not set # CONFIG_TRACEROUTE is not set @@ -922,13 +938,9 @@ CONFIG_WGET=y # CONFIG_FEATURE_WGET_OPENSSL is not set # CONFIG_WHOIS is not set # CONFIG_ZCIP is not set -# CONFIG_UDHCPC6 is not set -# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set -# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set -# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set # CONFIG_UDHCPD is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set CONFIG_DHCPD_LEASES_FILE="" # CONFIG_DUMPLEASES is not set # CONFIG_DHCPRELAY is not set @@ -936,11 +948,19 @@ CONFIG_UDHCPC=y # CONFIG_FEATURE_UDHCPC_ARPING is not set CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +# CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set + +# +# Common options for DHCP applets +# # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=9 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 # CONFIG_FEATURE_UDHCP_RFC3397 is not set # CONFIG_FEATURE_UDHCP_8021Q is not set -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" # @@ -1020,13 +1040,11 @@ CONFIG_SV_DEFAULT_SERVICE_DIR="" CONFIG_SVC=y # CONFIG_SVLOGD is not set # CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set # CONFIG_GETENFORCE is not set # CONFIG_GETSEBOOL is not set # CONFIG_LOAD_POLICY is not set # CONFIG_MATCHPATHCON is not set # CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set # CONFIG_SELINUXENABLED is not set # CONFIG_SESTATUS is not set # CONFIG_SETENFORCE is not set @@ -1081,17 +1099,19 @@ CONFIG_HUSH_TEST=y CONFIG_HUSH_HELP=y CONFIG_HUSH_EXPORT=y CONFIG_HUSH_EXPORT_N=y +CONFIG_HUSH_READONLY=y CONFIG_HUSH_KILL=y CONFIG_HUSH_WAIT=y CONFIG_HUSH_TRAP=y CONFIG_HUSH_TYPE=y +CONFIG_HUSH_TIMES=y CONFIG_HUSH_READ=y CONFIG_HUSH_SET=y CONFIG_HUSH_UNSET=y CONFIG_HUSH_ULIMIT=y CONFIG_HUSH_UMASK=y +CONFIG_HUSH_GETOPTS=y # CONFIG_HUSH_MEMLEAK is not set -# CONFIG_MSH is not set # # Options common to all shells @@ -1101,6 +1121,7 @@ CONFIG_FEATURE_SH_MATH_64=y CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y # CONFIG_FEATURE_SH_HISTFILESIZE is not set # diff --git a/bsp/buildroot/package/busybox/busybox.config b/bsp/buildroot/package/busybox/busybox.config index 7753a861..38de13d4 100644 --- a/bsp/buildroot/package/busybox/busybox.config +++ b/bsp/buildroot/package/busybox/busybox.config @@ -1,39 +1,39 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.27.1 -# Sun Jul 30 15:27:03 2017 +# Busybox version: 1.28.0 +# Wed Feb 7 09:44:57 2018 # CONFIG_HAVE_DOT_CONFIG=y # -# Busybox Settings +# Settings # CONFIG_DESKTOP=y # CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_LONG_OPTS=y CONFIG_SHOW_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y # CONFIG_FEATURE_COMPRESS_USAGE is not set -CONFIG_BUSYBOX=y -CONFIG_FEATURE_INSTALLER=y -# CONFIG_INSTALL_NO_USR is not set +CONFIG_LFS=y # CONFIG_PAM is not set -CONFIG_LONG_OPTS=y CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_UTMP=y CONFIG_FEATURE_WTMP=y # CONFIG_FEATURE_PIDFILE is not set CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set CONFIG_FEATURE_SUID=y # CONFIG_FEATURE_SUID_CONFIG is not set # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set -# CONFIG_SELINUX is not set # CONFIG_FEATURE_PREFER_APPLETS is not set CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set CONFIG_FEATURE_SYSLOG=y -# CONFIG_FEATURE_HAVE_RPC is not set CONFIG_PLATFORM_LINUX=y # @@ -43,14 +43,15 @@ CONFIG_PLATFORM_LINUX=y # CONFIG_PIE is not set # CONFIG_NOMMU is not set # CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set # CONFIG_FEATURE_INDIVIDUAL is not set # CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y CONFIG_CROSS_COMPILER_PREFIX="" CONFIG_SYSROOT="" CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set # # Installation Options ("make install" behavior) @@ -77,7 +78,7 @@ CONFIG_NO_DEBUG_LIB=y # CONFIG_EFENCE is not set # -# Busybox Library Tuning +# Library Tuning # # CONFIG_FEATURE_USE_BSS_TAIL is not set CONFIG_FEATURE_RTMINMAX=y @@ -144,7 +145,6 @@ CONFIG_BZCAT=y CONFIG_UNLZMA=y CONFIG_LZCAT=y CONFIG_LZMA=y -# CONFIG_FEATURE_LZMA_FAST is not set CONFIG_UNXZ=y CONFIG_XZCAT=y CONFIG_XZ=y @@ -164,8 +164,8 @@ CONFIG_FEATURE_GZIP_DECOMPRESS=y CONFIG_UNLZOP=y CONFIG_LZOPCAT=y # CONFIG_LZOP_COMPR_HIGH is not set -# CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set CONFIG_TAR=y CONFIG_FEATURE_TAR_LONG_OPTIONS=y CONFIG_FEATURE_TAR_CREATE=y @@ -183,12 +183,14 @@ CONFIG_FEATURE_UNZIP_CDF=y CONFIG_FEATURE_UNZIP_BZIP2=y CONFIG_FEATURE_UNZIP_LZMA=y CONFIG_FEATURE_UNZIP_XZ=y +# CONFIG_FEATURE_LZMA_FAST is not set # # Coreutils # CONFIG_BASENAME=y CONFIG_CAT=y +CONFIG_FEATURE_CATN=y CONFIG_FEATURE_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y @@ -219,11 +221,8 @@ CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y CONFIG_ECHO=y CONFIG_FEATURE_FANCY_ECHO=y CONFIG_ENV=y -# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set # CONFIG_EXPAND is not set -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set # CONFIG_UNEXPAND is not set -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FACTOR=y @@ -261,12 +260,10 @@ CONFIG_SHA3SUM=y # CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y CONFIG_MKNOD=y CONFIG_MKTEMP=y CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y CONFIG_NICE=y CONFIG_NL=y CONFIG_NOHUP=y @@ -281,7 +278,6 @@ CONFIG_FEATURE_READLINK_FOLLOW=y CONFIG_REALPATH=y CONFIG_RM=y CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y CONFIG_SHRED=y # CONFIG_SHUF is not set @@ -320,6 +316,7 @@ CONFIG_TRUNCATE=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y CONFIG_UNIQ=y CONFIG_UNLINK=y CONFIG_USLEEP=y @@ -391,6 +388,14 @@ CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y CONFIG_WHICH=y +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + # # Editors # @@ -460,6 +465,8 @@ CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y # # Init Utilities @@ -493,12 +500,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y CONFIG_USE_BB_CRYPT=y # CONFIG_USE_BB_CRYPT_SHA is not set CONFIG_ADDGROUP=y -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set # CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_LAST_ID=60000 CONFIG_FIRST_SYSTEM_ID=100 @@ -608,7 +613,6 @@ CONFIG_HEXDUMP=y # CONFIG_HD is not set CONFIG_XXD=y CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y # CONFIG_IONICE is not set CONFIG_IPCRM=y @@ -648,7 +652,6 @@ CONFIG_FEATURE_MOUNT_FSTAB=y CONFIG_FEATURE_MOUNT_OTHERTAB=y CONFIG_MOUNTPOINT=y # CONFIG_NSENTER is not set -# CONFIG_FEATURE_NSENTER_LONG_OPTS is not set CONFIG_PIVOT_ROOT=y CONFIG_RDATE=y # CONFIG_RDEV is not set @@ -662,11 +665,15 @@ CONFIG_SETARCH=y CONFIG_LINUX32=y CONFIG_LINUX64=y CONFIG_SETPRIV=y +CONFIG_FEATURE_SETPRIV_DUMP=y +CONFIG_FEATURE_SETPRIV_CAPABILITIES=y +CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y CONFIG_SETSID=y CONFIG_SWAPON=y # CONFIG_FEATURE_SWAPON_DISCARD is not set # CONFIG_FEATURE_SWAPON_PRI is not set CONFIG_SWAPOFF=y +CONFIG_FEATURE_SWAPONOFF_LABEL=y CONFIG_SWITCH_ROOT=y # CONFIG_TASKSET is not set # CONFIG_FEATURE_TASKSET_FANCY is not set @@ -700,6 +707,7 @@ CONFIG_FEATURE_VOLUMEID_FAT=y # CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set # CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set # CONFIG_FEATURE_VOLUMEID_LUKS is not set +CONFIG_FEATURE_VOLUMEID_MINIX=y # CONFIG_FEATURE_VOLUMEID_NILFS is not set # CONFIG_FEATURE_VOLUMEID_NTFS is not set # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set @@ -732,6 +740,7 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0 CONFIG_CROND=y # CONFIG_FEATURE_CROND_D is not set # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_SPECIAL_TIMES=y CONFIG_FEATURE_CROND_DIR="/var/spool/cron" CONFIG_CRONTAB=y CONFIG_DC=y @@ -754,6 +763,7 @@ CONFIG_FEATURE_HDPARM_GET_IDENTITY=y # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y CONFIG_I2CGET=y CONFIG_I2CSET=y CONFIG_I2CDUMP=y @@ -785,6 +795,7 @@ CONFIG_PARTPROBE=y # CONFIG_RFKILL is not set CONFIG_RUNLEVEL=y # CONFIG_RX is not set +CONFIG_SETFATTR=y CONFIG_SETSERIAL=y CONFIG_STRINGS=y CONFIG_TIME=y @@ -880,6 +891,7 @@ CONFIG_NAMEIF=y # CONFIG_FEATURE_NAMEIF_EXTENDED is not set # CONFIG_NBDCLIENT is not set # CONFIG_NC is not set +# CONFIG_NETCAT is not set # CONFIG_NC_SERVER is not set # CONFIG_NC_EXTRA is not set # CONFIG_NC_110_COMPAT is not set @@ -907,6 +919,7 @@ CONFIG_FEATURE_TELNET_WIDTH=y # CONFIG_FEATURE_TELNETD_STANDALONE is not set # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set CONFIG_TFTP=y +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set # CONFIG_TFTPD is not set # @@ -915,7 +928,6 @@ CONFIG_TFTP=y CONFIG_FEATURE_TFTP_GET=y CONFIG_FEATURE_TFTP_PUT=y CONFIG_FEATURE_TFTP_BLOCKSIZE=y -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set # CONFIG_TFTP_DEBUG is not set # CONFIG_TLS is not set CONFIG_TRACEROUTE=y @@ -934,13 +946,9 @@ CONFIG_FEATURE_WGET_TIMEOUT=y # CONFIG_FEATURE_WGET_OPENSSL is not set # CONFIG_WHOIS is not set # CONFIG_ZCIP is not set -# CONFIG_UDHCPC6 is not set -# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set -# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set -# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set # CONFIG_UDHCPD is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set CONFIG_DHCPD_LEASES_FILE="" # CONFIG_DUMPLEASES is not set # CONFIG_DHCPRELAY is not set @@ -948,11 +956,19 @@ CONFIG_UDHCPC=y CONFIG_FEATURE_UDHCPC_ARPING=y CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +# CONFIG_UDHCPC6 is not set +# CONFIG_FEATURE_UDHCPC6_RFC3646 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4704 is not set +# CONFIG_FEATURE_UDHCPC6_RFC4833 is not set + +# +# Common options for DHCP applets +# # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 # CONFIG_FEATURE_UDHCP_RFC3397 is not set CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" # @@ -1032,13 +1048,11 @@ CONFIG_SV_DEFAULT_SERVICE_DIR="" CONFIG_SVC=y # CONFIG_SVLOGD is not set # CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set # CONFIG_GETENFORCE is not set # CONFIG_GETSEBOOL is not set # CONFIG_LOAD_POLICY is not set # CONFIG_MATCHPATHCON is not set # CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set # CONFIG_SELINUXENABLED is not set # CONFIG_SESTATUS is not set # CONFIG_SETENFORCE is not set @@ -1093,17 +1107,19 @@ CONFIG_ASH_CMDCMD=y # CONFIG_HUSH_HELP is not set # CONFIG_HUSH_EXPORT is not set # CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set # CONFIG_HUSH_KILL is not set # CONFIG_HUSH_WAIT is not set # CONFIG_HUSH_TRAP is not set # CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set # CONFIG_HUSH_READ is not set # CONFIG_HUSH_SET is not set # CONFIG_HUSH_UNSET is not set # CONFIG_HUSH_ULIMIT is not set # CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set # CONFIG_HUSH_MEMLEAK is not set -# CONFIG_MSH is not set # # Options common to all shells @@ -1113,6 +1129,7 @@ CONFIG_FEATURE_SH_MATH_64=y CONFIG_FEATURE_SH_EXTRA_QUIET=y # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y # CONFIG_FEATURE_SH_HISTFILESIZE is not set # diff --git a/bsp/buildroot/package/busybox/busybox.hash b/bsp/buildroot/package/busybox/busybox.hash index 3e1956d0..b12bc212 100644 --- a/bsp/buildroot/package/busybox/busybox.hash +++ b/bsp/buildroot/package/busybox/busybox.hash @@ -1,5 +1,3 @@ -# From https://busybox.net/downloads/busybox-1.27.2.tar.bz2.sign -md5 476186f4bab81781dab2369bfd42734e busybox-1.27.2.tar.bz2 -sha1 11669e223cc38de646ce26080e91ca29b8d42ad9 busybox-1.27.2.tar.bz2 -# License files, locally calculated -sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE +# From https://busybox.net/downloads/busybox-1.29.3.tar.bz2.sha256 +sha256 97648636e579462296478e0218e65e4bc1e9cd69089a3b1aeb810bff7621efb7 busybox-1.29.3.tar.bz2 +sha256 bbfc9843646d483c334664f651c208b9839626891d8f17604db2146962f43548 LICENSE diff --git a/bsp/buildroot/package/busybox/busybox.mk b/bsp/buildroot/package/busybox/busybox.mk index f17c20bf..5c5a8ea8 100644 --- a/bsp/buildroot/package/busybox/busybox.mk +++ b/bsp/buildroot/package/busybox/busybox.mk @@ -4,7 +4,7 @@ # ################################################################################ -BUSYBOX_VERSION = 1.27.2 +BUSYBOX_VERSION = 1.29.3 BUSYBOX_SITE = http://www.busybox.net/downloads BUSYBOX_SOURCE = busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_LICENSE = GPL-2.0 @@ -20,6 +20,55 @@ BUSYBOX_CFLAGS = \ BUSYBOX_LDFLAGS = \ $(TARGET_LDFLAGS) +# Packages that provide commands that may also be busybox applets: +BUSYBOX_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_ATTR),attr) \ + $(if $(BR2_PACKAGE_BASH),bash) \ + $(if $(BR2_PACKAGE_BC),bc) \ + $(if $(BR2_PACKAGE_BINUTILS),binutils) \ + $(if $(BR2_PACKAGE_COREUTILS),coreutils) \ + $(if $(BR2_PACKAGE_CPIO),cpio) \ + $(if $(BR2_PACKAGE_DCRON),dcron) \ + $(if $(BR2_PACKAGE_DEBIANUTILS),debianutils) \ + $(if $(BR2_PACKAGE_DIFFUTILS),diffutils) \ + $(if $(BR2_PACKAGE_DOS2UNIX),dos2unix) \ + $(if $(BR2_PACKAGE_E2FSPROGS),e2fsprogs) \ + $(if $(BR2_PACKAGE_FBSET),fbset) \ + $(if $(BR2_PACKAGE_GAWK),gawk) \ + $(if $(BR2_PACKAGE_GREP),grep) \ + $(if $(BR2_PACKAGE_GZIP),gzip) \ + $(if $(BR2_PACKAGE_I2C_TOOLS),i2c-tools) \ + $(if $(BR2_PACKAGE_IFENSLAVE),ifenslave) \ + $(if $(BR2_PACKAGE_IFPLUGD),ifplugd) \ + $(if $(BR2_PACKAGE_IFUPDOWN),ifupdown) \ + $(if $(BR2_PACKAGE_IPROUTE2),iproute2) \ + $(if $(BR2_PACKAGE_IPUTILS),iputils) \ + $(if $(BR2_PACKAGE_KMOD),kmod) \ + $(if $(BR2_PACKAGE_LESS),less) \ + $(if $(BR2_PACKAGE_LSOF),lsof) \ + $(if $(BR2_PACKAGE_MTD),mtd) \ + $(if $(BR2_PACKAGE_NET_TOOLS),net-tools) \ + $(if $(BR2_PACKAGE_NETCAT),netcat) \ + $(if $(BR2_PACKAGE_NETCAT_OPENSBSD),netcat-openbsd) \ + $(if $(BR2_PACKAGE_NMAP),nmap) \ + $(if $(BR2_PACKAGE_NTP),ntp) \ + $(if $(BR2_PACKAGE_PCIUTILS),pciutils) \ + $(if $(BR2_PACKAGE_PROCPS_NG),procps-ng) \ + $(if $(BR2_PACKAGE_PSMISC),psmisc) \ + $(if $(BR2_PACKAGE_START_STOP_DAEMON),start-stop-daemon) \ + $(if $(BR2_PACKAGE_SYSKLOGD),sysklogd) \ + $(if $(BR2_PACKAGE_SYSTEMD),systemd) \ + $(if $(BR2_PACKAGE_SYSVINIT),sysvinit) \ + $(if $(BR2_PACKAGE_TAR),tar) \ + $(if $(BR2_PACKAGE_TFTPD),tftpd) \ + $(if $(BR2_PACKAGE_TRACEROUTE),traceroute) \ + $(if $(BR2_PACKAGE_UNZIP),unzip) \ + $(if $(BR2_PACKAGE_USBUTILS),usbutils) \ + $(if $(BR2_PACKAGE_UTIL_LINUX),util-linux) \ + $(if $(BR2_PACKAGE_VIM),vim) \ + $(if $(BR2_PACKAGE_WGET),wget) \ + $(if $(BR2_PACKAGE_WHOIS),whois) + # Link against libtirpc if available so that we can leverage its RPC # support for NFS mounting with BusyBox ifeq ($(BR2_PACKAGE_LIBTIRPC),y) @@ -148,29 +197,6 @@ define BUSYBOX_PREFER_STATIC endef endif -# Disable shadow passwords support if unsupported by the C library -ifeq ($(BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS),) -define BUSYBOX_INTERNAL_SHADOW_PASSWORDS - $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_PWD_GRP,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_SHADOW,$(BUSYBOX_BUILD_CONFIG)) -endef -endif - -# We also need to use internal shadow password functions when using -# the musl C library, since some of them are not yet implemented by -# musl. -# -# Do not use utmp/wmtp support. wmtp support is not available in musl, -# and utmp support is not sufficient for Busybox. -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -define BUSYBOX_MUSL_TWEAKS - $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_PWD_GRP,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_ENABLE_OPT,CONFIG_USE_BB_SHADOW,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_UTMP,$(BUSYBOX_BUILD_CONFIG)) - $(call KCONFIG_DISABLE_OPT,CONFIG_FEATURE_WTMP,$(BUSYBOX_BUILD_CONFIG)) -endef -endif - define BUSYBOX_INSTALL_UDHCPC_SCRIPT if grep -q CONFIG_UDHCPC=y $(@D)/.config; then \ $(INSTALL) -m 0755 -D package/busybox/udhcpc.script \ @@ -217,12 +243,21 @@ define BUSYBOX_INSTALL_INDIVIDUAL_BINARIES endef endif +# Only install our logging scripts if no other package does it. +ifeq ($(BR2_PACKAGE_SYSKLOGD)$(BR2_PACKAGE_RSYSLOG)$(BR2_PACKAGE_SYSLOG_NG),) define BUSYBOX_INSTALL_LOGGING_SCRIPT - if grep -q CONFIG_SYSLOGD=y $(@D)/.config; then \ - $(INSTALL) -m 0755 -D package/busybox/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging; \ + if grep -q CONFIG_SYSLOGD=y $(@D)/.config; \ + then \ + $(INSTALL) -m 0755 -D package/busybox/S01syslogd \ + $(TARGET_DIR)/etc/init.d/S01syslogd; \ + fi; \ + if grep -q CONFIG_KLOGD=y $(@D)/.config; \ + then \ + $(INSTALL) -m 0755 -D package/busybox/S02klogd \ + $(TARGET_DIR)/etc/init.d/S02klogd; \ fi endef +endif ifeq ($(BR2_INIT_BUSYBOX),y) define BUSYBOX_INSTALL_INITTAB @@ -262,11 +297,19 @@ define BUSYBOX_INSTALL_TELNET_SCRIPT fi endef -# Enable "noclobber" in install.sh, to prevent BusyBox from overwriting any -# full-blown versions of apps installed by other packages with sym/hard links. -define BUSYBOX_NOCLOBBER_INSTALL - $(SED) 's/^noclobber="0"$$/noclobber="1"/' $(@D)/applets/install.sh +# Add /bin/{a,hu}sh to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define BUSYBOX_INSTALL_ADD_TO_SHELLS + if grep -q CONFIG_ASH=y $(@D)/.config; then \ + grep -qsE '^/bin/ash$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/ash" >> $(TARGET_DIR)/etc/shells; \ + fi + if grep -q CONFIG_HUSH=y $(@D)/.config; then \ + grep -qsE '^/bin/hush$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/hush" >> $(TARGET_DIR)/etc/shells; \ + fi endef +BUSYBOX_TARGET_FINALIZE_HOOKS += BUSYBOX_INSTALL_ADD_TO_SHELLS define BUSYBOX_KCONFIG_FIXUP_CMDS $(BUSYBOX_SET_MMU) @@ -274,16 +317,10 @@ define BUSYBOX_KCONFIG_FIXUP_CMDS $(BUSYBOX_SET_MDEV) $(BUSYBOX_SET_CRYPT_SHA) $(BUSYBOX_LINUX_PAM) - $(BUSYBOX_INTERNAL_SHADOW_PASSWORDS) $(BUSYBOX_SET_INIT) $(BUSYBOX_SET_WATCHDOG) $(BUSYBOX_SET_SELINUX) $(BUSYBOX_SET_INDIVIDUAL_BINARIES) - $(BUSYBOX_MUSL_TWEAKS) -endef - -define BUSYBOX_CONFIGURE_CMDS - $(BUSYBOX_NOCLOBBER_INSTALL) endef define BUSYBOX_BUILD_CMDS @@ -291,7 +328,9 @@ define BUSYBOX_BUILD_CMDS endef define BUSYBOX_INSTALL_TARGET_CMDS - $(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install + # Use the 'noclobber' install rule, to prevent BusyBox from overwriting + # any full-blown versions of apps installed by other packages. + $(BUSYBOX_MAKE_ENV) $(MAKE) $(BUSYBOX_MAKE_OPTS) -C $(@D) install-noclobber $(BUSYBOX_INSTALL_INITTAB) $(BUSYBOX_INSTALL_UDHCPC_SCRIPT) $(BUSYBOX_INSTALL_MDEV_CONF) diff --git a/bsp/buildroot/package/c-ares/c-ares.hash b/bsp/buildroot/package/c-ares/c-ares.hash index 832c4dfc..a3599aaa 100644 --- a/bsp/buildroot/package/c-ares/c-ares.hash +++ b/bsp/buildroot/package/c-ares/c-ares.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 45d3c1fd29263ceec2afc8ff9cd06d5f8f889636eb4e80ce3cc7f0eaf7aadc6e c-ares-1.14.0.tar.gz +sha256 6cdb97871f2930530c97deb7cf5c8fa4be5a0b02c7cea6e7c7667672a39d6852 c-ares-1.15.0.tar.gz + +# Hash for license file +sha256 db4eb63fe09daebdf57d3f79b091bb5ee5070c0d761040e83264e648d307af4c LICENSE.md diff --git a/bsp/buildroot/package/c-ares/c-ares.mk b/bsp/buildroot/package/c-ares/c-ares.mk index 67254244..f9e440d9 100644 --- a/bsp/buildroot/package/c-ares/c-ares.mk +++ b/bsp/buildroot/package/c-ares/c-ares.mk @@ -4,14 +4,14 @@ # ################################################################################ -C_ARES_VERSION = 1.14.0 +C_ARES_VERSION = 1.15.0 C_ARES_SITE = http://c-ares.haxx.se/download C_ARES_INSTALL_STAGING = YES C_ARES_CONF_OPTS = --with-random=/dev/urandom # Rebuild configure to avoid XC_CHECK_USER_CFLAGS C_ARES_AUTORECONF = YES C_ARES_LICENSE = MIT -# No standalone, use some source file -C_ARES_LICENSE_FILES = ares_mkquery.c +C_ARES_LICENSE_FILES = LICENSE.md $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/c-periphery/c-periphery.hash b/bsp/buildroot/package/c-periphery/c-periphery.hash index 524925ff..745e44a7 100644 --- a/bsp/buildroot/package/c-periphery/c-periphery.hash +++ b/bsp/buildroot/package/c-periphery/c-periphery.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c6cfaae7496ff6500b747106571de6b4ca7d80a383297e592ffcfa3413b66321 c-periphery-v1.1.1.tar.gz +sha256 50665a4f298b30e4cc8f7dbd38362fd860cc3746803d00325cb04806674e3166 c-periphery-v1.1.3.tar.gz +sha256 6b5669a90260126f0600aae98cb10fb5e219269dc9cbd0137f63927b96d5c31d LICENSE diff --git a/bsp/buildroot/package/c-periphery/c-periphery.mk b/bsp/buildroot/package/c-periphery/c-periphery.mk index 359c860e..df261055 100644 --- a/bsp/buildroot/package/c-periphery/c-periphery.mk +++ b/bsp/buildroot/package/c-periphery/c-periphery.mk @@ -4,7 +4,7 @@ # ################################################################################ -C_PERIPHERY_VERSION = v1.1.1 +C_PERIPHERY_VERSION = v1.1.3 C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,$(C_PERIPHERY_VERSION)) C_PERIPHERY_INSTALL_STAGING = YES # only a static library diff --git a/bsp/buildroot/package/ca-certificates/ca-certificates.hash b/bsp/buildroot/package/ca-certificates/ca-certificates.hash index 00296e2a..8100dde3 100644 --- a/bsp/buildroot/package/ca-certificates/ca-certificates.hash +++ b/bsp/buildroot/package/ca-certificates/ca-certificates.hash @@ -1,3 +1,3 @@ # hashes from: $(CA_CERTIFICATES_SITE)/ca-certificates_$(CA_CERTIFICATES_VERSION).dsc : -sha1 4c093ceee1f1428d5aa7e9a5324b92961c0c0f06 ca-certificates_20170717.tar.xz -sha256 e487639b641fa75445174734dd6e9d600373e3248b3d86a7e3c6d0f6977decd2 ca-certificates_20170717.tar.xz +sha1 edf0ec04b02fcbc90cc65906ff83fb042894a3b7 ca-certificates_20180409.tar.xz +sha256 7af6f5bfc619fd29cbf0258c1d95107c38ce840ad6274e343e1e0d971fc72b51 ca-certificates_20180409.tar.xz diff --git a/bsp/buildroot/package/ca-certificates/ca-certificates.mk b/bsp/buildroot/package/ca-certificates/ca-certificates.mk index 515a4f21..5c259aa3 100644 --- a/bsp/buildroot/package/ca-certificates/ca-certificates.mk +++ b/bsp/buildroot/package/ca-certificates/ca-certificates.mk @@ -4,9 +4,9 @@ # ################################################################################ -CA_CERTIFICATES_VERSION = 20170717 +CA_CERTIFICATES_VERSION = 20180409 CA_CERTIFICATES_SOURCE = ca-certificates_$(CA_CERTIFICATES_VERSION).tar.xz -CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20170814T210836Z/pool/main/c/ca-certificates +CA_CERTIFICATES_SITE = http://snapshot.debian.org/archive/debian/20180411T111033Z/pool/main/c/ca-certificates CA_CERTIFICATES_DEPENDENCIES = host-openssl # ca-certificates can be built with either python 2 or python 3 # but it must be at least python 2.7 diff --git a/bsp/buildroot/package/cache-calibrator/cache-calibrator.mk b/bsp/buildroot/package/cache-calibrator/cache-calibrator.mk index 6f12d119..203732e4 100644 --- a/bsp/buildroot/package/cache-calibrator/cache-calibrator.mk +++ b/bsp/buildroot/package/cache-calibrator/cache-calibrator.mk @@ -10,7 +10,7 @@ CACHE_CALIBRATOR_LICENSE = Cache calibrator license CACHE_CALIBRATOR_LICENSE_FILES = calibrator.c.license define CACHE_CALIBRATOR_EXTRACT_CMDS - cp $(DL_DIR)/$(CACHE_CALIBRATOR_SOURCE) $(@D) + cp $(CACHE_CALIBRATOR_DL_DIR)/$(CACHE_CALIBRATOR_SOURCE) $(@D) endef define CACHE_CALIBRATOR_EXTRACT_LICENSE diff --git a/bsp/buildroot/package/cairo/0001-blackfin-build-fix.patch b/bsp/buildroot/package/cairo/0001-blackfin-build-fix.patch deleted file mode 100644 index 0e8dd3ad..00000000 --- a/bsp/buildroot/package/cairo/0001-blackfin-build-fix.patch +++ /dev/null @@ -1,55 +0,0 @@ -Fix build on platforms where __USER_LABEL_PREFIX__ is not empty - -On most platforms, a C language symbol and its assembly equivalent are -identical. However, on the Blackfin architecture, this isn't the case, -the corresponding C language symbol in assembly is prepended with a -"_". Blackfin therefore has __USER_LABEL_PREFIX__ defined to "_". - -Cairo already has some code to cope with __USER_LABEL_PREFIX__, but -this code isn't completely correct: it prepends both assembly symbols -and C symbols with __USER_LABEL_PREFIX__, which cannot work. - -This patch fixes that by using the existing slim_hidden_asmname() to -define assembly symbols, and introduce a new slim_hidden_realname() -for C symbols. - -Signed-off-by: Thomas Petazzoni - -Index: b/src/cairo-compiler-private.h -=================================================================== ---- a/src/cairo-compiler-private.h -+++ b/src/cairo-compiler-private.h -@@ -93,12 +93,13 @@ - __asm__ (slim_hidden_asmname (internal)) - # define slim_hidden_def1(name, internal) \ - extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ -- __attribute__((__alias__(slim_hidden_asmname(internal)))) -+ __attribute__((__alias__(slim_hidden_realname(internal)))) - # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) - # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) - # define slim_hidden_ulp2(x) #x - # define slim_hidden_asmname(name) slim_hidden_asmname1(name) - # define slim_hidden_asmname1(name) slim_hidden_ulp #name -+# define slim_hidden_realname(name) #name - #else - # define slim_hidden_proto(name) int _cairo_dummy_prototype(void) - # define slim_hidden_proto_no_warn(name) int _cairo_dummy_prototype(void) -Index: b/util/cairo-script/cairo-script-private.h -=================================================================== ---- a/util/cairo-script/cairo-script-private.h -+++ b/util/cairo-script/cairo-script-private.h -@@ -109,12 +109,13 @@ - __asm__ (slim_hidden_asmname (internal)) - # define slim_hidden_def1(name, internal) \ - extern __typeof (name) EXT_##name __asm__(slim_hidden_asmname(name)) \ -- __attribute__((__alias__(slim_hidden_asmname(internal)))) -+ __attribute__((__alias__(slim_hidden_realname(internal)))) - # define slim_hidden_ulp slim_hidden_ulp1(__USER_LABEL_PREFIX__) - # define slim_hidden_ulp1(x) slim_hidden_ulp2(x) - # define slim_hidden_ulp2(x) #x - # define slim_hidden_asmname(name) slim_hidden_asmname1(name) - # define slim_hidden_asmname1(name) slim_hidden_ulp #name -+# define slim_hidden_realname(name) #name - #else - # define slim_hidden_proto(name) int _csi_dummy_prototype(void) - # define slim_hidden_proto_no_warn(name) int _csi_dummy_prototype(void) diff --git a/bsp/buildroot/package/cairo/0003-fix-nofork-build.patch b/bsp/buildroot/package/cairo/0001-fix-nofork-build.patch similarity index 100% rename from bsp/buildroot/package/cairo/0003-fix-nofork-build.patch rename to bsp/buildroot/package/cairo/0001-fix-nofork-build.patch diff --git a/bsp/buildroot/package/cairo/0005-fix-gcc-49-build.patch b/bsp/buildroot/package/cairo/0005-fix-gcc-49-build.patch deleted file mode 100644 index 112c9ea0..00000000 --- a/bsp/buildroot/package/cairo/0005-fix-gcc-49-build.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix build with gcc 4.9 - -cairo fails to build with gcc 4.9 due to a bad interaction of cairo -modules with the LTO mechanism. The suggested workaround is to pass --ffat-lto-objects. See -https://bugs.freedesktop.org/show_bug.cgi?id=77060 for the upstream -bug report, and -https://bugs.archlinux.org/task/40313?project=1&openedfrom=-1+week for -the ArchLinux bug report. - -This patch passes -ffat-lto-objects when gcc understands this option, -in order to provide compatibility with gcc versions older than 4.8, -which did not provide this option, but are anyway unaffected by the -issue. - -Signed-off-by: Thomas Petazzoni - -Index: b/configure.ac -=================================================================== ---- a/configure.ac -+++ b/configure.ac -@@ -37,6 +37,16 @@ - m4_include(build/configure.ac.pthread) dnl checks for pthreads - AC_CACHE_SAVE - -+old_cflags=$CFLAGS -+CFLAGS=-ffat-lto-objects -+AC_MSG_CHECKING([whether CC supports -ffat-lto-objects]) -+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], -+ [AC_MSG_RESULT([yes])] -+ [LTO_CFLAGS=-ffat-lto-objects], -+ [AC_MSG_RESULT([no])] -+) -+CFLAGS="${old_CFLAGS} ${LTO_CFLAGS}" -+ - dnl =========================================================================== - - AC_CHECK_LIB(z, compress, diff --git a/bsp/buildroot/package/cairo/cairo.hash b/bsp/buildroot/package/cairo/cairo.hash index f3aa01f2..795a2eee 100644 --- a/bsp/buildroot/package/cairo/cairo.hash +++ b/bsp/buildroot/package/cairo/cairo.hash @@ -1,4 +1,9 @@ -# From http://cairographics.org/releases/cairo-1.14.10.tar.xz.sha1 -sha1 28c59d85d6b790c21b8b59ece73a6a1dda28d69a cairo-1.14.10.tar.xz +# From https://www.cairographics.org/snapshots/cairo-1.15.12.tar.xz.sha1 +sha1 4e64c6a48789edb4c60bc3fa95bd3992cc388b88 cairo-1.15.12.tar.xz # Calculated based on the hash above -sha256 7e87878658f2c9951a14fc64114d4958c0e65ac47530b8ac3078b2ce41b66a09 cairo-1.14.10.tar.xz +sha256 7623081b94548a47ee6839a7312af34e9322997806948b6eec421a8c6d0594c9 cairo-1.15.12.tar.xz + +# Hash for license files: +sha256 67228a9f7c5f9b67c58f556f1be178f62da4d9e2e6285318d8c74d567255abdf COPYING +sha256 9e9e8608c4cdda51a78cc3a385f4ec9a2e4c96d5ecad74ac8bca5fca3e563b7d COPYING-LGPL-2.1 +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f COPYING-MPL-1.1 diff --git a/bsp/buildroot/package/cairo/cairo.mk b/bsp/buildroot/package/cairo/cairo.mk index 97490567..6dffff4b 100644 --- a/bsp/buildroot/package/cairo/cairo.mk +++ b/bsp/buildroot/package/cairo/cairo.mk @@ -4,13 +4,12 @@ # ################################################################################ -CAIRO_VERSION = 1.14.10 +CAIRO_VERSION = 1.15.12 CAIRO_SOURCE = cairo-$(CAIRO_VERSION).tar.xz CAIRO_LICENSE = LGPL-2.1 or MPL-1.1 (library) CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 -CAIRO_SITE = http://cairographics.org/releases +CAIRO_SITE = http://cairographics.org/snapshots CAIRO_INSTALL_STAGING = YES -CAIRO_AUTORECONF = YES # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) diff --git a/bsp/buildroot/package/can-utils/Config.in b/bsp/buildroot/package/can-utils/Config.in index bfa522d9..da563788 100644 --- a/bsp/buildroot/package/can-utils/Config.in +++ b/bsp/buildroot/package/can-utils/Config.in @@ -1,14 +1,14 @@ config BR2_PACKAGE_CAN_UTILS bool "can-utils" depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() + depends on !BR2_TOOLCHAIN_USES_MUSL # error() help SocketCAN is a set of open source CAN drivers and a networking stack. This package provides various tools for this stack. - http://elinux.org/Can-utils + https://github.com/linux-can/can-utils -comment "can-utils needs a toolchain w/ NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "can-utils needs a glibc or uClibc toolchain" + depends on BR2_TOOLCHAIN_USES_MUSL depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/can-utils/can-utils.hash b/bsp/buildroot/package/can-utils/can-utils.hash index 64c4cf66..2034c35a 100644 --- a/bsp/buildroot/package/can-utils/can-utils.hash +++ b/bsp/buildroot/package/can-utils/can-utils.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 c4b6b347c1c165a64c1156bb8816bce557945dd770f61b8bdc8fdb7c0744af27 can-utils-c3305fdd515464153d20199db232b6124bc962c0.tar.gz +sha256 370ad4b19447c29099f7300548f1a3362d6e123c4a6a827dbbd3110bc2c26839 can-utils-v2018.02.0.tar.gz +sha256 c258939ebb09c3857f5fc7704a449e5077cc881090c87b38f9a81332b96fa075 Makefile diff --git a/bsp/buildroot/package/can-utils/can-utils.mk b/bsp/buildroot/package/can-utils/can-utils.mk index 45d5e29f..bff4d21f 100644 --- a/bsp/buildroot/package/can-utils/can-utils.mk +++ b/bsp/buildroot/package/can-utils/can-utils.mk @@ -4,9 +4,10 @@ # ################################################################################ -CAN_UTILS_VERSION = c3305fdd515464153d20199db232b6124bc962c0 +CAN_UTILS_VERSION = v2018.02.0 CAN_UTILS_SITE = $(call github,linux-can,can-utils,$(CAN_UTILS_VERSION)) CAN_UTILS_LICENSE = BSD-3-Clause or GPL-2.0, GPL-2.0+ +CAN_UTILS_LICENSE_FILES = Makefile CAN_UTILS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch b/bsp/buildroot/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch new file mode 100644 index 00000000..6bb7702a --- /dev/null +++ b/bsp/buildroot/package/capnproto/0001-Do-not-use-execinfo-h-with-uclibc.patch @@ -0,0 +1,30 @@ +From e651ac5febc59e3e2b5d3365ededbe5362756da2 Mon Sep 17 00:00:00 2001 +From: Koen Martens +Date: Wed, 12 Jul 2017 18:49:32 +0200 +Subject: [PATCH] Do not use execinfo.h with uclibc (#511) + +Upstream commit: https://github.com/capnproto/capnproto/commit/e651ac5febc59e3e2b5d3365ededbe5362756da2 + +Signed-off-by: Koen Martens +Signed-off-by: Joel Carlson + +--- + c++/src/kj/exception.c++ | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/c++/src/kj/exception.c++ b/c++/src/kj/exception.c++ +index 218f1db..339601a 100644 +--- a/c++/src/kj/exception.c++ ++++ b/c++/src/kj/exception.c++ +@@ -33,7 +33,7 @@ + #endif + #include "io.h" + +-#if (__linux__ && __GLIBC__) || __APPLE__ ++#if (__linux__ && __GLIBC__ && !__UCLIBC__) || __APPLE__ + #define KJ_HAS_BACKTRACE 1 + #include + #endif +-- +2.7.4 + diff --git a/bsp/buildroot/package/capnproto/Config.in b/bsp/buildroot/package/capnproto/Config.in new file mode 100644 index 00000000..00328fa6 --- /dev/null +++ b/bsp/buildroot/package/capnproto/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_CAPNPROTO + bool "capnproto" + depends on BR2_USE_MMU + depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_ATOMIC + help + Cap'n Proto is an insanely fast data interchange format + and capability-based RPC system. Think JSON, except + binary. Or think Protocol Buffers, except faster. In + fact, in benchmarks, Cap’n Proto is INFINITY TIMES + faster than Protocol Buffers. + + https://capnproto.org/index.html + +comment "capnproto needs host and target gcc >= 4.8 w/ C++, threads, atomic" + depends on BR2_USE_MMU + depends on !BR2_HOST_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_ATOMIC diff --git a/bsp/buildroot/package/capnproto/capnproto.hash b/bsp/buildroot/package/capnproto/capnproto.hash new file mode 100644 index 00000000..1a65cdd4 --- /dev/null +++ b/bsp/buildroot/package/capnproto/capnproto.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 85210424c09693d8fe158c1970a2bca37af3a0424f02b263f566a1b8a5451a2d capnproto-v0.6.1.tar.gz +sha256 16194222e9412c3aa14d2287953f7fc89a1dcbcdd266d1534ba35060d4cde5b6 LICENSE diff --git a/bsp/buildroot/package/capnproto/capnproto.mk b/bsp/buildroot/package/capnproto/capnproto.mk new file mode 100644 index 00000000..ff7a5bc1 --- /dev/null +++ b/bsp/buildroot/package/capnproto/capnproto.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# capnproto +# +################################################################################ + +CAPNPROTO_VERSION = v0.6.1 +CAPNPROTO_SITE = $(call github,capnproto,capnproto,$(CAPNPROTO_VERSION)) +CAPNPROTO_LICENSE = MIT +CAPNPROTO_LICENSE_FILES = LICENSE +CAPNPROTO_INSTALL_STAGING = YES +# Fetched from Github with no configure script +CAPNPROTO_AUTORECONF = YES +CAPNPROTO_CONF_OPTS = --with-external-capnp +# Needs the capnproto compiler on the host to generate C++ code from message +# definitions +CAPNPROTO_DEPENDENCIES = host-autoconf host-capnproto +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +CAPNPROTO_CONF_ENV += LIBS=-latomic +endif +# The actual source to be compiled is within a 'c++' subdirectory +CAPNPROTO_SUBDIR = c++ + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/cargo-bin/cargo-bin.hash b/bsp/buildroot/package/cargo-bin/cargo-bin.hash index ea121547..2673e157 100644 --- a/bsp/buildroot/package/cargo-bin/cargo-bin.hash +++ b/bsp/buildroot/package/cargo-bin/cargo-bin.hash @@ -1,7 +1,12 @@ -# From https://static.rust-lang.org/dist/cargo-0.24.0-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 6ffc847e0ee2a1273223ce500f7b212d051e99a6d234e34585d0c55e21a963ea cargo-0.24.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/cargo-0.24.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 93b953c8c7a2088aef952de8dccd7f6ccf9b21bf94b735d3909961ffe831da8c cargo-0.24.0-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.30.0-i686-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.30.0-i686-unknown-linux-gnu.tar.xz.asc +sha256 43a5754d13fa0436b33c48b1f562b4198d6930efad3dc36284b88289ff20d74d cargo-0.30.0-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.30.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.30.0-powerpc64le-unknown-linux-gnu.tar.xz.asc +sha256 f8d7c27a40bba6343ee7dd39a324fe772b77824921adf3e9514a44d4e49059c8 cargo-0.30.0-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/cargo-0.30.0-x86_64-unknown-linux-gnu.tar.xz.sha256 +# Verified using https://static.rust-lang.org/dist/cargo-0.30.0-x86_64-unknown-linux-gnu.tar.xz.asc +sha256 cb7c63c166baa42ab0be08429e29fa59fc7108efd17ca512462b2645b1655a7f cargo-0.30.0-x86_64-unknown-linux-gnu.tar.xz # Locally generated sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/bsp/buildroot/package/cargo-bin/cargo-bin.mk b/bsp/buildroot/package/cargo-bin/cargo-bin.mk index 3c834d90..7fb4508a 100644 --- a/bsp/buildroot/package/cargo-bin/cargo-bin.mk +++ b/bsp/buildroot/package/cargo-bin/cargo-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -CARGO_BIN_VERSION = 0.24.0 +CARGO_BIN_VERSION = 0.30.0 CARGO_BIN_SITE = https://static.rust-lang.org/dist CARGO_BIN_SOURCE = cargo-$(CARGO_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz CARGO_BIN_LICENSE = Apache-2.0 or MIT diff --git a/bsp/buildroot/package/cargo/Config.in.host b/bsp/buildroot/package/cargo/Config.in.host index 0f1ca305..c33c6851 100644 --- a/bsp/buildroot/package/cargo/Config.in.host +++ b/bsp/buildroot/package/cargo/Config.in.host @@ -1,6 +1,7 @@ config BR2_PACKAGE_HOST_CARGO bool "host cargo" - depends on BR2_PACKAGE_HAS_HOST_RUSTC + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + select BR2_PACKAGE_HOST_RUSTC help Cargo is the package manager for the Rust programming language. diff --git a/bsp/buildroot/package/cargo/cargo.hash b/bsp/buildroot/package/cargo/cargo.hash index 2a24e2e1..baa2cfbc 100644 --- a/bsp/buildroot/package/cargo/cargo.hash +++ b/bsp/buildroot/package/cargo/cargo.hash @@ -1,8 +1,8 @@ # Locally generated -sha256 a9d4291254a1d622d3c3cb942aaa56ab4059b8d04915c3af234f0362f14722e8 cargo-0.24.0.tar.gz +sha256 1a4bae6910ca895157a1abe8225eb2b7e9b49ee1ee1e4e72fb81cb8e1446bff9 cargo-0.26.0.tar.gz sha256 dc7240d60a869fa24a68c8734fb7c810c27cca0a6dad52df6279865e4e8e7fae rust-installer-4f994850808a572e2cc8d43f968893c8e942e9bf.tar.gz sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT sha256 8bd89f9222dc80292f4107347103b693ac66f3a083371f0629ccf42338abe880 LICENSE-THIRD-PARTY -# From https://src.fedoraproject.org/repo/pkgs/cargo/cargo-0.24.0-vendor.tar.xz/sha512 -sha512 60c12ce49a53cf986490f5a5fdf606f0374677902edfdc4d48ab1ba6094f3f23efc59626cd3776649c9386a9cab2a60332e5693aad6acbcbb92132efdcf9fe21 cargo-0.24.0-vendor.tar.xz +# From https://src.fedoraproject.org/repo/pkgs/cargo/cargo-0.26.0-vendor.tar.xz/sha512 +sha512 6ed2a1644c9b18fc24ddad5350d41b6c36cd5b62de4cf0b748a57b589f4f0ac12f91461989158d58d0892bf6fc2c1626cf574e7e2b9da4b0e35f72dfd88f9048 cargo-0.26.0-vendor.tar.xz diff --git a/bsp/buildroot/package/cargo/cargo.mk b/bsp/buildroot/package/cargo/cargo.mk index 3fd088d7..a387281b 100644 --- a/bsp/buildroot/package/cargo/cargo.mk +++ b/bsp/buildroot/package/cargo/cargo.mk @@ -4,12 +4,12 @@ # ################################################################################ -CARGO_VERSION = 0.24.0 +CARGO_VERSION = 0.26.0 CARGO_SITE = $(call github,rust-lang,cargo,$(CARGO_VERSION)) CARGO_LICENSE = Apache-2.0 or MIT CARGO_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT -CARGO_DEPS_SHA512 = 60c12ce49a53cf986490f5a5fdf606f0374677902edfdc4d48ab1ba6094f3f23efc59626cd3776649c9386a9cab2a60332e5693aad6acbcbb92132efdcf9fe21 +CARGO_DEPS_SHA512 = 6ed2a1644c9b18fc24ddad5350d41b6c36cd5b62de4cf0b748a57b589f4f0ac12f91461989158d58d0892bf6fc2c1626cf574e7e2b9da4b0e35f72dfd88f9048 CARGO_DEPS_SITE = https://src.fedoraproject.org/repo/pkgs/cargo/$(CARGO_DEPS_SOURCE)/sha512/$(CARGO_DEPS_SHA512) CARGO_DEPS_SOURCE = cargo-$(CARGO_VERSION)-vendor.tar.xz @@ -37,7 +37,7 @@ HOST_CARGO_HOME = $(HOST_DIR)/share/cargo define HOST_CARGO_EXTRACT_DEPS @mkdir -p $(@D)/vendor $(call suitable-extractor,$(CARGO_DEPS_SOURCE)) \ - $(DL_DIR)/$(CARGO_DEPS_SOURCE) | \ + $(HOST_CARGO_DL_DIR)/$(CARGO_DEPS_SOURCE) | \ $(TAR) --strip-components=1 -C $(@D)/vendor $(TAR_OPTIONS) - endef @@ -46,7 +46,7 @@ HOST_CARGO_POST_EXTRACT_HOOKS += HOST_CARGO_EXTRACT_DEPS define HOST_CARGO_EXTRACT_INSTALLER @mkdir -p $(@D)/src/rust-installer $(call suitable-extractor,$(CARGO_INSTALLER_SOURCE)) \ - $(DL_DIR)/$(CARGO_INSTALLER_SOURCE) | \ + $(HOST_CARGO_DL_DIR)/$(CARGO_INSTALLER_SOURCE) | \ $(TAR) --strip-components=1 -C $(@D)/src/rust-installer $(TAR_OPTIONS) - endef @@ -70,7 +70,7 @@ HOST_CARGO_SNAP_OPTS = \ $(if $(VERBOSE),--verbose) HOST_CARGO_ENV = \ - RUSTFLAGS="-Clink-arg=-Wl,-rpath,$(HOST_DIR)/lib" \ + RUSTFLAGS="$(addprefix -Clink-arg=,$(HOST_LDFLAGS))" \ CARGO_HOME=$(HOST_CARGO_HOME) define HOST_CARGO_BUILD_CMDS diff --git a/bsp/buildroot/package/cc-tool/Config.in b/bsp/buildroot/package/cc-tool/Config.in index b2cf9796..8145b676 100644 --- a/bsp/buildroot/package/cc-tool/Config.in +++ b/bsp/buildroot/package/cc-tool/Config.in @@ -9,7 +9,6 @@ config BR2_PACKAGE_CC_TOOL select BR2_PACKAGE_BOOST_SYSTEM select BR2_PACKAGE_BOOST_REGEX select BR2_PACKAGE_BOOST_FILESYSTEM - select BR2_PACKAGE_BOOST_SIGNALS help cc-tool provides support for Texas Instruments CC Debugger for Linux OS in order to program 8051-based System-On-Chip diff --git a/bsp/buildroot/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch b/bsp/buildroot/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch deleted file mode 100644 index 33db7d48..00000000 --- a/bsp/buildroot/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -From fe42d6f7b739e8d42811bf46bcccfafa728847a2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mathias=20De=20Mar=C3=A9?= -Date: Mon, 19 Sep 2016 10:38:13 +0200 -Subject: [PATCH] Convert argument to '--sysroot' option to relative path - -Previously, only the argument to '--sysroot=' was converted. -This changeset adds support for '--sysroot'. - -Signed-off-by: Brandon Maier -Signed-off-by: Matt Weber ---- - ccache.c | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/ccache.c b/ccache.c -index 8ffadcc..76139b9 100644 ---- a/ccache.c -+++ b/ccache.c -@@ -2407,6 +2407,21 @@ cc_process_args(struct args *args, struct args **preprocessor_args, - free(option); - continue; - } -+ // Alternate form of specifying sysroot without = -+ if (str_eq(argv[i], "--sysroot")) { -+ if (i == argc-1) { -+ cc_log("Missing argument to %s", argv[i]); -+ stats_update(STATS_ARGS); -+ result = false; -+ goto out; -+ } -+ args_add(stripped_args, argv[i]); -+ char *relpath = make_relative_path(x_strdup(argv[i+1])); -+ args_add(stripped_args, relpath); -+ i++; -+ free(relpath); -+ continue; -+ } - if (str_startswith(argv[i], "-Wp,")) { - if (str_eq(argv[i], "-Wp,-P") - || strstr(argv[i], ",-P,") --- -2.8.3 - diff --git a/bsp/buildroot/package/ccache/ccache.hash b/bsp/buildroot/package/ccache/ccache.hash index c22394b1..779a2abc 100644 --- a/bsp/buildroot/package/ccache/ccache.hash +++ b/bsp/buildroot/package/ccache/ccache.hash @@ -1,3 +1,4 @@ -# Verified key https://samba.org/ftp/ccache/ccache-3.3.4.tar.xz.asc - sha256 computed locally -sha256 24f15bf389e38c41548c9c259532187774ec0cb9686c3497bbb75504c8dc404f ccache-3.3.4.tar.xz -sha256 190576a6e938760ec8113523e6fd380141117303e90766cc4802e770422b30c6 ccache-3.3.5.tar.xz +# sha256 computed locally +sha256 a6b129576328fcefad00cb72035bc87bc98b6a76aec0f4b59bed76d67a399b1f ccache-3.6.tar.xz +sha256 ec6b1a326ff93b2cc21df88a697ae470ff6927a55b8929e7e491b315e1563361 GPL-3.0.txt +sha256 2af7b3ec0ea737e1542e58db016122f6d75df9ea3b4f00c8151ecfef7040b39b LICENSE.adoc diff --git a/bsp/buildroot/package/ccache/ccache.mk b/bsp/buildroot/package/ccache/ccache.mk index 552a611f..4d9de0a0 100644 --- a/bsp/buildroot/package/ccache/ccache.mk +++ b/bsp/buildroot/package/ccache/ccache.mk @@ -4,11 +4,11 @@ # ################################################################################ -CCACHE_VERSION = 3.3.5 +CCACHE_VERSION = 3.6 CCACHE_SITE = https://www.samba.org/ftp/ccache CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz CCACHE_LICENSE = GPL-3.0+, others -CCACHE_LICENSE_FILES = LICENSE.txt GPL-3.0.txt +CCACHE_LICENSE_FILES = LICENSE.adoc GPL-3.0.txt # Force ccache to use its internal zlib. The problem is that without # this, ccache would link against the zlib of the build system, but we @@ -21,6 +21,11 @@ CCACHE_LICENSE_FILES = LICENSE.txt GPL-3.0.txt # has zero dependency besides the C library. HOST_CCACHE_CONF_OPTS += --with-bundled-zlib +# We are ccache, so we can't use ccache +HOST_CCACHE_CONF_ENV = \ + CC="$(HOSTCC_NOCCACHE)" \ + CXX="$(HOSTCXX_NOCCACHE)" + # Patch host-ccache as follows: # - Use BR_CACHE_DIR instead of CCACHE_DIR, because CCACHE_DIR # is already used by autotargets for the ccache package. @@ -33,8 +38,8 @@ HOST_CCACHE_CONF_OPTS += --with-bundled-zlib HOST_CCACHE_DEFAULT_CCACHE_DIR = $(patsubst $(HOME)/%,\%s/%,$(BR_CACHE_DIR)) define HOST_CCACHE_PATCH_CONFIGURATION - sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/ccache.c - sed -i 's,"%s/.ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/conf.c + sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/src/ccache.c + sed -i 's,"%s/.ccache","$(HOST_CCACHE_DEFAULT_CCACHE_DIR)",' $(@D)/src/conf.c endef HOST_CCACHE_POST_PATCH_HOOKS += HOST_CCACHE_PATCH_CONFIGURATION diff --git a/bsp/buildroot/package/ccid/Config.in b/bsp/buildroot/package/ccid/Config.in index dfb57e82..599bcc04 100644 --- a/bsp/buildroot/package/ccid/Config.in +++ b/bsp/buildroot/package/ccid/Config.in @@ -8,7 +8,7 @@ config BR2_PACKAGE_CCID help PC/SC driver for USB CCID smart card readers - http://pcsclite.alioth.debian.org/ccid.html + https://ccid.apdu.fr/ comment "ccid needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/ccid/ccid.hash b/bsp/buildroot/package/ccid/ccid.hash index a7d4875c..eb221939 100644 --- a/bsp/buildroot/package/ccid/ccid.hash +++ b/bsp/buildroot/package/ccid/ccid.hash @@ -1,3 +1,3 @@ -# From http://cdn-fastly.deb.debian.org/debian/pool/main/c/ccid/ccid_1.4.27-1.dsc -sha1 d72ee816422183a86006e0083ccd643236b4e12a ccid_1.4.27.tar.bz2 -sha256 a660e269606986cb94840ad5ba802ffb0cd23dd12b98f69a35035e0deb9dd137 ccid_1.4.27.tar.bz2 +# Locally computed +sha256 a5432ae845730493c04e59304b5c0c6103cd0e2c8827df57d69469a3eaaab84d ccid-1.4.29.tar.bz2 +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/bsp/buildroot/package/ccid/ccid.mk b/bsp/buildroot/package/ccid/ccid.mk index e566afe0..73da9c4b 100644 --- a/bsp/buildroot/package/ccid/ccid.mk +++ b/bsp/buildroot/package/ccid/ccid.mk @@ -4,13 +4,14 @@ # ################################################################################ -CCID_VERSION = 1.4.27 -CCID_SOURCE = ccid_$(CCID_VERSION).tar.bz2 -CCID_SITE = https://alioth.debian.org/frs/download.php/file/4218 +CCID_VERSION = 1.4.29 +CCID_SOURCE = ccid-$(CCID_VERSION).tar.bz2 +CCID_SITE = https://ccid.apdu.fr/files CCID_LICENSE = LGPL-2.1+ CCID_LICENSE_FILES = COPYING CCID_INSTALL_STAGING = YES CCID_DEPENDENCIES = pcsc-lite host-pkgconf libusb +CCID_CONF_OPTS = --enable-usbdropdir=/usr/lib/pcsc/drivers ifeq ($(BR2_PACKAGE_HAS_UDEV),y) define CCID_INSTALL_UDEV_RULES diff --git a/bsp/buildroot/package/ccrypt/ccrypt.mk b/bsp/buildroot/package/ccrypt/ccrypt.mk index d27e3461..541a0e77 100644 --- a/bsp/buildroot/package/ccrypt/ccrypt.mk +++ b/bsp/buildroot/package/ccrypt/ccrypt.mk @@ -5,7 +5,7 @@ ################################################################################ CCRYPT_VERSION = 1.10 -CCRYPT_SITE = http://ccrypt.sourceforge.net/download +CCRYPT_SITE = http://ccrypt.sourceforge.net/download/$(CCRYPT_VERSION) CCRYPT_LICENSE = GPL-2.0+ CCRYPT_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/cgilua/Config.in b/bsp/buildroot/package/cgilua/Config.in index d1e7fbf0..a6761313 100644 --- a/bsp/buildroot/package/cgilua/Config.in +++ b/bsp/buildroot/package/cgilua/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_CGILUA bool "cgilua" - # Runtime dependency only - select BR2_PACKAGE_LUAFILESYSTEM + select BR2_PACKAGE_LUAFILESYSTEM # runtime help CGILua is a tool for creating dynamic HTML pages and manipulating input data from Web forms. diff --git a/bsp/buildroot/package/cgilua/cgilua.hash b/bsp/buildroot/package/cgilua/cgilua.hash index b932e80c..ac977ec3 100644 --- a/bsp/buildroot/package/cgilua/cgilua.hash +++ b/bsp/buildroot/package/cgilua/cgilua.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 7d4883e6a89b3463a1d35b8084a6e2afbbb584af7aca1169380e92af0f848413 cgilua-5.2.1-1.src.rock +# computed by luarocks/buildroot +sha256 8e9ef583f8e1c5b600ebc6bb04924a61f72320130410191a9c56d7295fb02be1 cgilua-5.1.4-2.src.rock +sha256 e612df003d24aeaf6d3cc09a1e9255493c691866158b5962dc4c68fff8a56a8b cgilua-5.1.4/doc/us/license.html diff --git a/bsp/buildroot/package/cgilua/cgilua.mk b/bsp/buildroot/package/cgilua/cgilua.mk index cd78841f..17b39642 100644 --- a/bsp/buildroot/package/cgilua/cgilua.mk +++ b/bsp/buildroot/package/cgilua/cgilua.mk @@ -4,7 +4,7 @@ # ################################################################################ -CGILUA_VERSION = 5.2.1-1 +CGILUA_VERSION = 5.1.4-2 CGILUA_LICENSE = MIT CGILUA_LICENSE_FILES = $(CGILUA_SUBDIR)/doc/us/license.html diff --git a/bsp/buildroot/package/checkpolicy/checkpolicy.hash b/bsp/buildroot/package/checkpolicy/checkpolicy.hash index 7397393a..cf38d6e2 100644 --- a/bsp/buildroot/package/checkpolicy/checkpolicy.hash +++ b/bsp/buildroot/package/checkpolicy/checkpolicy.hash @@ -1,2 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 5413479f1dcde866c19896b4dbfec315d822aa431606e1d03c944408984c3201 checkpolicy-2.7.tar.gz +sha256 9dec811c24b88e58c3bf741365eacf1dbb945531a2fcb8f284aacf68098194c8 checkpolicy-2.8.tar.gz + +# Hash for license file +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/checkpolicy/checkpolicy.mk b/bsp/buildroot/package/checkpolicy/checkpolicy.mk index 52f81609..7143b2d7 100644 --- a/bsp/buildroot/package/checkpolicy/checkpolicy.mk +++ b/bsp/buildroot/package/checkpolicy/checkpolicy.mk @@ -4,8 +4,8 @@ # ################################################################################ -CHECKPOLICY_VERSION = 2.7 -CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +CHECKPOLICY_VERSION = 2.8 +CHECKPOLICY_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 CHECKPOLICY_LICENSE = GPL-2.0 CHECKPOLICY_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch b/bsp/buildroot/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch new file mode 100644 index 00000000..3ed75a3c --- /dev/null +++ b/bsp/buildroot/package/checksec/0001-checksec-Fixed-issue-with-relative-path.patch @@ -0,0 +1,43 @@ +From b48a2dfae26fa3b4af8e65fb5953b3caf62c137b Mon Sep 17 00:00:00 2001 +From: Paresh Chaudhary +Date: Mon, 21 May 2018 14:34:23 -0500 +Subject: [PATCH] checksec: Fixed issue with relative path + +Before this patch, the checksec script was not able to find existing +directories when the user passed a relative path with --dir/-d, +the script aborted with a "No such file or directory". The same error +was reported when the script was executed through a relative path. + +https://github.com/slimm609/checksec.sh/issues/54 + +Signed-off-by: Paresh Chaudhary +Signed-off-by: Matt Weber +--- + checksec | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/checksec b/checksec +index 24b521f..baf8d63 100755 +--- a/checksec ++++ b/checksec +@@ -1193,7 +1193,7 @@ do + echo_message "RELRO STACK CANARY NX PIE RPATH RUNPATH FORTIFY Checked Total Filename\n" '' "\n" "{ \"dir\": { \"name\":\"$tempdir\" }," + fdircount=0 + fdirtotal=0 +- for N in $(find $tempdir -type f); do ++ for N in $(find . -type f); do + if [[ "$N" != "[A-Za-z1-0]*" ]]; then + out=$(file "$N") + if [[ $out =~ ELF ]] ; then +@@ -1201,7 +1201,7 @@ do + fi + fi + done +- for N in $(find $tempdir -type f); do ++ for N in $(find . -type f); do + if [[ "$N" != "[A-Za-z1-0]*" ]]; then + # read permissions? + if [[ ! -r "$N" ]]; then +-- +1.9.1 + diff --git a/bsp/buildroot/package/checksec/Config.in.host b/bsp/buildroot/package/checksec/Config.in.host new file mode 100644 index 00000000..e4e8903b --- /dev/null +++ b/bsp/buildroot/package/checksec/Config.in.host @@ -0,0 +1,17 @@ +config BR2_PACKAGE_HOST_CHECKSEC + bool "host checksec" + help + This tool provides a shell script to check the + properties of executables + (PIE,RELRO,Stack Canaries,Fortify Source). + It also has a kernel test mode that can run on target + for testing of PaX, ASLR, heap and config hardening. + + NOTE: when using this tool as a host tool, the tool + can offline check a target folder of elf files for + hardening features enabled in those elf files. There + are other features of this tool, like the kernel test + feature that are not functional offline, but require the + user to execute in a chroot or on target. + + https://github.com/slimm609/checksec.sh.git diff --git a/bsp/buildroot/package/checksec/checksec.hash b/bsp/buildroot/package/checksec/checksec.hash new file mode 100644 index 00000000..e3d1ffd5 --- /dev/null +++ b/bsp/buildroot/package/checksec/checksec.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 510b0b0528f15d0bf13fa1ae7140d2b9fc9261323c98ff76c011bef475a69c14 checksec-cdefe53eb72e6e8f23308417d2fc6b68cba9dbac.tar.gz +sha256 c5e2a8e188040fc34eb9362084778a2e25f8d1f888e47a2be09efa7cecd9c70d LICENSE.txt diff --git a/bsp/buildroot/package/checksec/checksec.mk b/bsp/buildroot/package/checksec/checksec.mk new file mode 100644 index 00000000..bfe54c26 --- /dev/null +++ b/bsp/buildroot/package/checksec/checksec.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# checksec +# +################################################################################ + +CHECKSEC_VERSION = cdefe53eb72e6e8f23308417d2fc6b68cba9dbac +CHECKSEC_SITE = $(call github,slimm609,checksec.sh,$(CHECKSEC_VERSION)) +CHECKSEC_LICENSE = BSD-3-Clause +CHECKSEC_LICENSE_FILES = LICENSE.txt + +define HOST_CHECKSEC_INSTALL_CMDS + $(INSTALL) -D -m 0755 $(@D)/checksec $(HOST_DIR)/bin/checksec +endef + +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/chipmunk/0001-Fix-build-failure-on-musl.patch b/bsp/buildroot/package/chipmunk/0001-Fix-build-failure-on-musl.patch new file mode 100644 index 00000000..4485e937 --- /dev/null +++ b/bsp/buildroot/package/chipmunk/0001-Fix-build-failure-on-musl.patch @@ -0,0 +1,37 @@ +From 231c1fb97785290aaac89ed74d7cb24eaa74b363 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 2 Sep 2018 12:05:22 +0200 +Subject: [PATCH] Fix build failure on musl + +Build fails on: +/home/test/autobuild/run/instance-0/output/build/chipmunk-7.0.2/src/cpHastySpace.c:11:24: fatal error: sys/sysctl.h: No such file or directory + +Indeed, sys/sysctl.h is not available on musl so include this header +only if __APPLE__ is defined as sysctlbyname is only used in this case. + +Fixes: + - http://autobuild.buildroot.org/results/e5be2f8eb9315a9054e1c8d854dec37cbb28eed7 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/slembcke/Chipmunk2D/pull/171] +--- + src/cpHastySpace.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/cpHastySpace.c b/src/cpHastySpace.c +index 8dca425..e087df8 100644 +--- a/src/cpHastySpace.c ++++ b/src/cpHastySpace.c +@@ -8,7 +8,9 @@ + + //#include + #ifndef _WIN32 ++#ifdef __APPLE__ + #include ++#endif + #include + #else + #ifndef WIN32_LEAN_AND_MEAN +-- +2.17.1 + diff --git a/bsp/buildroot/package/chipmunk/Config.in b/bsp/buildroot/package/chipmunk/Config.in new file mode 100644 index 00000000..7275d684 --- /dev/null +++ b/bsp/buildroot/package/chipmunk/Config.in @@ -0,0 +1,12 @@ + +comment "chipmunk needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGL + +config BR2_PACKAGE_CHIPMUNK + bool "chipmunk" + depends on BR2_PACKAGE_HAS_LIBGL + help + Chipmunk2D is a simple, lightweight, fast and portable 2D + rigid body physics library written in C. + + http://chipmunk-physics.net/ diff --git a/bsp/buildroot/package/chipmunk/chipmunk.hash b/bsp/buildroot/package/chipmunk/chipmunk.hash new file mode 100644 index 00000000..7bd9b156 --- /dev/null +++ b/bsp/buildroot/package/chipmunk/chipmunk.hash @@ -0,0 +1,5 @@ +# Locally calculated +sha256 6b6d8d5d910c4442fb9c8c4c46a178126d8c21d075cdb3ce439a7f8d8757b0ca Chipmunk-7.0.2.tar.gz + +# Hash for license file: +sha256 109cedb0301cba4e05fa99241f162bdad015c9541ae84b420b0148ac1ea588e2 LICENSE.txt diff --git a/bsp/buildroot/package/chipmunk/chipmunk.mk b/bsp/buildroot/package/chipmunk/chipmunk.mk new file mode 100644 index 00000000..a84af228 --- /dev/null +++ b/bsp/buildroot/package/chipmunk/chipmunk.mk @@ -0,0 +1,28 @@ +################################################################################ +# +# chipmunk +# +################################################################################ + +CHIPMUNK_VERSION = 7.0.2 +CHIPMUNK_SITE = https://github.com/slembcke/Chipmunk2D/archive +CHIPMUNK_SOURCE = Chipmunk-$(CHIPMUNK_VERSION).tar.gz +CHIPMUNK_INSTALL_STAGING = YES +CHIPMUNK_LICENSE = MIT +CHIPMUNK_LICENSE_FILES = LICENSE.txt +CHIPMUNK_DEPENDENCIES = libgl +CHIPMUNK_CONF_OPTS = -DBUILD_DEMOS=OFF + +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +CHIPMUNK_CONF_OPTS += -DBUILD_STATIC=ON -DINSTALL_STATIC=ON +else +CHIPMUNK_CONF_OPTS += -DBUILD_STATIC=OFF -DINSTALL_STATIC=OFF +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y) +CHIPMUNK_CONF_OPTS += -DBUILD_SHARED=ON +else +CHIPMUNK_CONF_OPTS += -DBUILD_SHARED=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch b/bsp/buildroot/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch new file mode 100644 index 00000000..1fd5bd99 --- /dev/null +++ b/bsp/buildroot/package/chrony/0002-hash-include-util.h-for-MIN-macro.patch @@ -0,0 +1,28 @@ +From 948ecf84314f78da82e0e2b07b6570ca9cff86c8 Mon Sep 17 00:00:00 2001 +From: Miroslav Lichvar +Date: Thu, 20 Sep 2018 15:01:16 +0200 +Subject: [PATCH] hash: include util.h for MIN macro + +The hash_intmd5.c file inadvertently relied on the system headers to +provide the MIN macro, but it is missing with some libc implementations. + +Signed-off-by: Giulio Benetti +--- + hash_intmd5.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hash_intmd5.c b/hash_intmd5.c +index 0b60f9b..49da1cf 100644 +--- a/hash_intmd5.c ++++ b/hash_intmd5.c +@@ -29,6 +29,7 @@ + #include "sysincl.h" + #include "hash.h" + #include "memory.h" ++#include "util.h" + + #include "md5.c" + +-- +2.17.1 + diff --git a/bsp/buildroot/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch b/bsp/buildroot/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch deleted file mode 100644 index d71685e5..00000000 --- a/bsp/buildroot/package/chrony/0002-util-fall-back-to-reading-dev-urandom-when-getrandom.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7c5bd948bb7e21fa0ee22f29e97748b2d0360319 Mon Sep 17 00:00:00 2001 -From: Miroslav Lichvar -Date: Thu, 17 May 2018 14:16:58 +0200 -Subject: [PATCH] util: fall back to reading /dev/urandom when getrandom() - blocks - -With recent changes in the Linux kernel, the getrandom() system call may -block for a long time after boot on machines that don't have enough -entropy. It blocks the chronyd's initialization before it can detach -from the terminal and may cause a chronyd service to fail to start due -to a timeout. - -At least for now, enable the GRND_NONBLOCK flag to make the system call -non-blocking and let the code fall back to reading /dev/urandom (which -never blocks) if the system call failed with EAGAIN or any other error. - -This makes the start of chronyd non-deterministic with respect to files -that it needs to open and possibly also makes it slightly easier to -guess the transmit/receive timestamp in client requests until the -urandom source is fully initialized. - -Signed-off-by: Peter Korsgaard ---- - util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/util.c b/util.c -index 4b3e455..76417d5 100644 ---- a/util.c -+++ b/util.c -@@ -1224,7 +1224,7 @@ get_random_bytes_getrandom(char *buf, unsigned int len) - if (disabled) - break; - -- if (getrandom(rand_buf, sizeof (rand_buf), 0) != sizeof (rand_buf)) { -+ if (getrandom(rand_buf, sizeof (rand_buf), GRND_NONBLOCK) != sizeof (rand_buf)) { - disabled = 1; - break; - } --- -2.11.0 - diff --git a/bsp/buildroot/package/chrony/S49chrony b/bsp/buildroot/package/chrony/S49chrony old mode 100755 new mode 100644 index 6215acc4..f75233fe --- a/bsp/buildroot/package/chrony/S49chrony +++ b/bsp/buildroot/package/chrony/S49chrony @@ -2,12 +2,12 @@ # # Start chrony -[ -f /etc/chrony.conf ] || exit 0 +[ -r /etc/default/chrony ] && . /etc/default/chrony case "$1" in start) printf "Starting chrony: " - chronyd && echo "OK" || echo "FAIL" + chronyd $CHRONY_ARGS && echo "OK" || echo "FAIL" ;; stop) printf "Stopping chrony: " diff --git a/bsp/buildroot/package/chrony/chrony.hash b/bsp/buildroot/package/chrony/chrony.hash index 38f15342..925240cf 100644 --- a/bsp/buildroot/package/chrony/chrony.hash +++ b/bsp/buildroot/package/chrony/chrony.hash @@ -1,5 +1,5 @@ -# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2017/09/msg00000.html -md5 f4c4eb0dc92f35ee4bb7d3dcd8029ecb chrony-3.2.tar.gz -sha1 64db6c31e013222cc0a2b66322192b4cedf6e048 chrony-3.2.tar.gz +# From https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-announce/2018/09/msg00000.html +md5 7170e750469c198fc6784047d6f71144 chrony-3.4.tar.gz +sha1 fa41e595e7041a9deda76a69e970a023091474f6 chrony-3.4.tar.gz # Locally calculated sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/chrony/chrony.mk b/bsp/buildroot/package/chrony/chrony.mk index 8868e848..b5821b23 100644 --- a/bsp/buildroot/package/chrony/chrony.mk +++ b/bsp/buildroot/package/chrony/chrony.mk @@ -4,7 +4,7 @@ # ################################################################################ -CHRONY_VERSION = 3.2 +CHRONY_VERSION = 3.4 CHRONY_SITE = http://download.tuxfamily.org/chrony CHRONY_LICENSE = GPL-2.0 CHRONY_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch b/bsp/buildroot/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch deleted file mode 100644 index 65360765..00000000 --- a/bsp/buildroot/package/cifs-utils/0001-mount.cifs-Remove-data_blob.h-include.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 272d523a57a4e8791d625a479128613be5e401f5 Mon Sep 17 00:00:00 2001 -From: Thomas Witt -Date: Wed, 15 Mar 2017 20:20:44 +0000 -Subject: [PATCH] mount.cifs: Remove data_blob.h include - -data_blob.h includes talloc.h from libtalloc, but that is only marked as -a dependency for cifs.upcall. No symbols from that header are used by -cifs.mount, so remove it to avoid the libtalloc dependency - -Signed-off-by: Thomas Witt -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 272d523a57a4 - - mount.cifs.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/mount.cifs.c b/mount.cifs.c -index 13b71ef50303..2612feb4d591 100644 ---- a/mount.cifs.c -+++ b/mount.cifs.c -@@ -61,7 +61,6 @@ - #include "mount.h" - #include "util.h" - #include "resolve_host.h" --#include "data_blob.h" - - #ifndef MS_MOVE - #define MS_MOVE 8192 --- -2.11.0 - diff --git a/bsp/buildroot/package/cifs-utils/cifs-utils.hash b/bsp/buildroot/package/cifs-utils/cifs-utils.hash index ebc9c43e..fda1573e 100644 --- a/bsp/buildroot/package/cifs-utils/cifs-utils.hash +++ b/bsp/buildroot/package/cifs-utils/cifs-utils.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 b2f21612474ab012e75accd167aab607a0614ff67efb56ea0f36789fa785cfab cifs-utils-6.7.tar.bz2 +sha256 e7d1f6050c43f21f82cd77e288eb756755effd22f0c310fc2c525df9d41dff79 cifs-utils-6.8.tar.bz2 + +# Hash for license file: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/cifs-utils/cifs-utils.mk b/bsp/buildroot/package/cifs-utils/cifs-utils.mk index e0efb3bf..3456cd91 100644 --- a/bsp/buildroot/package/cifs-utils/cifs-utils.mk +++ b/bsp/buildroot/package/cifs-utils/cifs-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -CIFS_UTILS_VERSION = 6.7 +CIFS_UTILS_VERSION = 6.8 CIFS_UTILS_SOURCE = cifs-utils-$(CIFS_UTILS_VERSION).tar.bz2 CIFS_UTILS_SITE = http://ftp.samba.org/pub/linux-cifs/cifs-utils CIFS_UTILS_LICENSE = GPL-3.0+ diff --git a/bsp/buildroot/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch b/bsp/buildroot/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch new file mode 100644 index 00000000..6af8d872 --- /dev/null +++ b/bsp/buildroot/package/circus/0001-circus-tests-rename-async-argument-of-_create_circus.patch @@ -0,0 +1,97 @@ +From 7fd0495cf3520508fb1cca301ad3d792b56b5656 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 8 Sep 2018 22:24:24 +0200 +Subject: [PATCH] circus/tests: rename async argument of _create_circus() to + use_async + +In Python 3.7.0, 'async' is now a reserved keyword of the language, so +it cannot be used as an method argument name. When used, it causes the +following byte-compilation failure: + +Traceback (most recent call last): + File "/home/thomas/projets/buildroot/output/host/lib/python3.7/py_compile.py", line 136, in compile + _optimize=optimize) + File "", line 763, in source_to_code + File "", line 219, in _call_with_frames_removed + File "usr/lib/python3.7/site-packages/circus/tests/support.py", line 210 + debug=debug, async=True, **kw) + ^ +SyntaxError: invalid syntax + +Signed-off-by: Thomas Petazzoni +Upstream-status: https://github.com/circus-tent/circus/pull/1079 +--- + circus/tests/support.py | 6 +++--- + circus/tests/test_client.py | 2 +- + circus/tests/test_watcher.py | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/circus/tests/support.py b/circus/tests/support.py +index 38964cc..794a9c7 100644 +--- a/circus/tests/support.py ++++ b/circus/tests/support.py +@@ -217,7 +217,7 @@ class TestCircus(AsyncTestCase): + stdout_stream=None, debug=True, **kw): + testfile, arbiter = self._create_circus( + cmd, stdout_stream=stdout_stream, +- debug=debug, async=True, **kw) ++ debug=debug, use_async=True, **kw) + self.test_file = testfile + self.arbiter = arbiter + self.arbiters.append(arbiter) +@@ -265,7 +265,7 @@ class TestCircus(AsyncTestCase): + + @classmethod + def _create_circus(cls, callable_path, plugins=None, stats=False, +- async=False, arbiter_kw=None, **kw): ++ use_async=False, arbiter_kw=None, **kw): + fd, testfile = mkstemp() + os.close(fd) + wdir = os.path.dirname(os.path.dirname(os.path.dirname( +@@ -292,7 +292,7 @@ class TestCircus(AsyncTestCase): + arbiter_kw['stats_endpoint'] = "tcp://127.0.0.1:%d" % _gp() + arbiter_kw['statsd_close_outputs'] = not debug + +- if async: ++ if use_async: + arbiter_kw['background'] = False + arbiter_kw['loop'] = get_ioloop() + else: +diff --git a/circus/tests/test_client.py b/circus/tests/test_client.py +index 9a56a11..a0cfca0 100644 +--- a/circus/tests/test_client.py ++++ b/circus/tests/test_client.py +@@ -90,7 +90,7 @@ class TestWithHook(TestCircus): + self.stream = QueueStream() + self.errstream = QueueStream() + dummy_process = 'circus.tests.support.run_process' +- return self._create_circus(dummy_process, async=True, ++ return self._create_circus(dummy_process, use_async=True, + stdout_stream={'stream': self.stream}, + stderr_stream={'stream': self.errstream}, + hooks=hooks) +diff --git a/circus/tests/test_watcher.py b/circus/tests/test_watcher.py +index 5dd857c..4299ed1 100644 +--- a/circus/tests/test_watcher.py ++++ b/circus/tests/test_watcher.py +@@ -376,7 +376,7 @@ class TestWatcherHooks(TestCircus): + return self._create_circus(dummy_process, + stdout_stream=stdout_stream, + stderr_stream=stderr_stream, +- hooks=hooks, debug=True, async=True) ++ hooks=hooks, debug=True, use_async=True) + + @tornado.gen.coroutine + def _stop(self): +@@ -601,7 +601,7 @@ class RespawnTest(TestCircus): + def test_not_respawning(self): + oneshot_process = 'circus.tests.test_watcher.oneshot_process' + testfile, arbiter = self._create_circus(oneshot_process, +- respawn=False, async=True) ++ respawn=False, use_async=True) + yield arbiter.start() + watcher = arbiter.watchers[-1] + try: +-- +2.14.4 + diff --git a/bsp/buildroot/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch b/bsp/buildroot/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch deleted file mode 100644 index aee3cfcb..00000000 --- a/bsp/buildroot/package/civetweb/0001-Lua-fix-a-typo-changing-LFS_DIR-to-LFS_DIR.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0821066f9adf8410891cd07684ecac50a9bc36a4 Mon Sep 17 00:00:00 2001 -From: Fabio Porcedda -Date: Wed, 25 Feb 2015 18:40:24 +0100 -Subject: [PATCH] Lua: fix a typo changing %(LFS_DIR) to $(LFS_DIR) - -Also this fix a error on GNU Make v4.0: - Makefile:203: *** mixed implicit and normal rules. Stop. - -Signed-off-by: Fabio Porcedda ---- - resources/Makefile.in-lua | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/resources/Makefile.in-lua b/resources/Makefile.in-lua -index 0902f11..f3d95fd 100644 ---- a/resources/Makefile.in-lua -+++ b/resources/Makefile.in-lua -@@ -57,5 +57,5 @@ LFS_CFLAGS = -I$(LFS_DIR) - - OBJECTS += $(LUA_OBJECTS) $(SQLITE_OBJECTS) $(LFS_OBJECTS) - CFLAGS += $(LUA_CFLAGS) $(SQLITE_CFLAGS) $(LFS_CFLAGS) -DUSE_LUA -DUSE_LUA_SQLITE3 -DUSE_LUA_FILE_SYSTEM --SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) %(LFS_DIR) -+SOURCE_DIRS = $(LUA_DIR) $(SQLITE_DIR) $(LFS_DIR) - --- -2.3.0 - diff --git a/bsp/buildroot/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch b/bsp/buildroot/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch new file mode 100644 index 00000000..bd1b06ae --- /dev/null +++ b/bsp/buildroot/package/civetweb/0001-modlua.ini-include-dlfcn.h.patch @@ -0,0 +1,34 @@ +From ca4325c6963e505d6fb628163abf2359427ea022 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 21:43:28 +0100 +Subject: [PATCH] modlua.ini: include dlfcn.h + +dlfcn.h must be included to be able to use dlopen otherwise build will +fail on: +src/mod_lua.inl:2845:41: error: 'RTLD_LAZY' undeclared (first use in this function) + lib_handle_uuid = dlopen("libuuid.so", RTLD_LAZY); + +Fixes: + - http://autobuild.buildroot.org/results/7a189f49c5a8b6f7b3d4c57cda5982adc65dbc19 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/civetweb/civetweb/pull/706] +--- + src/mod_lua.inl | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/mod_lua.inl b/src/mod_lua.inl +index 97a5de1e..ce7a4b2e 100644 +--- a/src/mod_lua.inl ++++ b/src/mod_lua.inl +@@ -2,6 +2,7 @@ + * See https://github.com/civetweb/civetweb/ + */ + ++#include + #include "civetweb_lua.h" + #include "civetweb_private_lua.h" + +-- +2.14.1 + diff --git a/bsp/buildroot/package/civetweb/Config.in b/bsp/buildroot/package/civetweb/Config.in index d68a1ffd..9e439690 100644 --- a/bsp/buildroot/package/civetweb/Config.in +++ b/bsp/buildroot/package/civetweb/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_CIVETWEB bool "civetweb" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_CIVETWEB_SERVER if !BR2_PACKAGE_CIVETWEB_LIB help Full featured embedded web server with Lua support. @@ -9,6 +10,17 @@ config BR2_PACKAGE_CIVETWEB if BR2_PACKAGE_CIVETWEB +config BR2_PACKAGE_CIVETWEB_SERVER + bool "enable the web server application" + help + Include the web server and its config files. + +config BR2_PACKAGE_CIVETWEB_LIB + bool "enable library for embedding" + help + Enable the civetweb library for embedding in another + application. + config BR2_PACKAGE_CIVETWEB_WITH_LUA bool "enable Lua support" # required by the bundled Sqlite3 and Lua code diff --git a/bsp/buildroot/package/civetweb/civetweb.hash b/bsp/buildroot/package/civetweb/civetweb.hash index 745f4a8c..23f7c4ac 100644 --- a/bsp/buildroot/package/civetweb/civetweb.hash +++ b/bsp/buildroot/package/civetweb/civetweb.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 79a852a26068eb6d2f8de5ee72e021f0d2c8bd176eb81f41909a876b736815d9 civetweb-v1.5.tar.gz +sha256 de7d5e7a2d9551d325898c71e41d437d5f7b51e754b242af897f7be96e713a42 civetweb-v1.11.tar.gz +sha256 1cd00da00b8649b4005757f4019acfd3102ecd407f47998081697e8e9086f706 LICENSE.md diff --git a/bsp/buildroot/package/civetweb/civetweb.mk b/bsp/buildroot/package/civetweb/civetweb.mk index d29765b8..fe1cdd56 100644 --- a/bsp/buildroot/package/civetweb/civetweb.mk +++ b/bsp/buildroot/package/civetweb/civetweb.mk @@ -4,16 +4,26 @@ # ################################################################################ -CIVETWEB_VERSION = v1.5 -CIVETWEB_SITE = $(call github,sunsetbrew,civetweb,$(CIVETWEB_VERSION)) +CIVETWEB_VERSION = v1.11 +CIVETWEB_SITE = $(call github,civetweb,civetweb,$(CIVETWEB_VERSION)) CIVETWEB_LICENSE = MIT CIVETWEB_LICENSE_FILES = LICENSE.md -CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 +CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \ + $(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1) CIVETWEB_COPT = -DHAVE_POSIX_FALLOCATE=0 CIVETWEB_LIBS = -lpthread -lm CIVETWEB_SYSCONFDIR = /etc CIVETWEB_HTMLDIR = /var/www +CIVETWEB_INSTALL_OPTS = \ + DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \ + CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \ + HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \ + SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)" + +ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),) +CIVETWEB_COPT += -DNO_ATOMICS=1 +endif ifeq ($(BR2_PACKAGE_CIVETWEB_WITH_LUA),y) CIVETWEB_CONF_OPTS += WITH_LUA=1 @@ -28,19 +38,48 @@ else CIVETWEB_COPT += -DNO_SSL endif +ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y) +CIVETWEB_BUILD_TARGETS += build +CIVETWEB_INSTALL_TARGETS += install +endif + +ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y) +CIVETWEB_INSTALL_STAGING = YES +CIVETWEB_INSTALL_TARGETS += install-headers + +ifeq ($(BR2_STATIC_LIBS)$(BR2_STATIC_SHARED_LIBS),y) +CIVETWEB_BUILD_TARGETS += lib +CIVETWEB_INSTALL_TARGETS += install-lib +endif + +ifeq ($(BR2_SHARED_LIBS)$(BR2_STATIC_SHARED_LIBS),y) +CIVETWEB_BUILD_TARGETS += slib +CIVETWEB_INSTALL_TARGETS += install-slib +CIVETWEB_COPT += -fPIC +endif + +endif # BR2_PACKAGE_CIVETWEB_LIB + define CIVETWEB_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) build \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_BUILD_TARGETS) \ $(CIVETWEB_CONF_OPTS) \ COPT="$(CIVETWEB_COPT)" LIBS="$(CIVETWEB_LIBS)" endef +define CIVETWEB_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/include + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \ + PREFIX="$(STAGING_DIR)/usr" \ + $(CIVETWEB_INSTALL_OPTS) \ + $(CIVETWEB_CONF_OPTS) \ + COPT='$(CIVETWEB_COPT)' +endef + define CIVETWEB_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install \ - DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \ - CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \ - HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \ - SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)" \ + mkdir -p $(TARGET_DIR)/usr/include + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \ PREFIX="$(TARGET_DIR)/usr" \ + $(CIVETWEB_INSTALL_OPTS) \ $(CIVETWEB_CONF_OPTS) \ COPT='$(CIVETWEB_COPT)' endef diff --git a/bsp/buildroot/package/cjson/cjson.hash b/bsp/buildroot/package/cjson/cjson.hash index ea2ecbb7..9c39bb32 100644 --- a/bsp/buildroot/package/cjson/cjson.hash +++ b/bsp/buildroot/package/cjson/cjson.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 28ef8c069db19010b9af247b86b05f0f879ac914a4620997c3e5181465170b40 cjson-v1.7.1.tar.gz +sha256 cc544fdd065f3dd19113f1d5ba5f61d696e0f810f291f4b585d1dec361b0188e cjson-v1.7.10.tar.gz sha256 a36dda207c36db5818729c54e7ad4e8b0c6fba847491ba64f372c1a2037b6d5c LICENSE diff --git a/bsp/buildroot/package/cjson/cjson.mk b/bsp/buildroot/package/cjson/cjson.mk index 88a33a2c..b2ef1c85 100644 --- a/bsp/buildroot/package/cjson/cjson.mk +++ b/bsp/buildroot/package/cjson/cjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -CJSON_VERSION = v1.7.1 +CJSON_VERSION = v1.7.10 CJSON_SITE = $(call github,DaveGamble,cjson,$(CJSON_VERSION)) CJSON_INSTALL_STAGING = YES CJSON_LICENSE = MIT diff --git a/bsp/buildroot/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch b/bsp/buildroot/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch deleted file mode 100644 index 1d26b099..00000000 --- a/bsp/buildroot/package/clamav/0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 6b6ff53b5931c162be13504a1efc53fc5212f9d1 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Mon, 7 May 2018 22:57:34 +0200 -Subject: [PATCH] m4/reorganization/libs/curl.m4: fix curl-config detection - logic - -The current logic in curl.m4 doesn't behave properly when ---without-libcurl is passed to the ./configure script. - -Indeed, in this case what happens is that: - - (1) Since --without-libcurl is passed, LIBCURL_HOME is set to nothing - - (2) find_curl is set to "no" - - (3) Due to find_curl being "no", LIBCURL_HOME is not set to - /usr/local and remains empty - - (4) We test if $LIBCURL_HOME/bin/curl_config exists, which is - equivalent to testing if /bin/curl-config exists. So curl.m4 is - looking at /bin/curl-config, which is irrelevant in a - cross-compilation context: it is not because the build machine - has libcurl installed that it is available for the target. - - Due to this mistake, it sets have_curl="yes" - -Due to this, the ./configure script assumes it can build the -clamsubmit program, which fails at build time because curl/curl.h -doesn't exist. - -To fix this, this commit rewrites the curl-config detection logic with -a simpler loop. If find_curl=yes, it means we have to find libcurl -ourselves, so we iterate over /usr/local and /usr, and check if a -bin/curl-config binary is available there. If so, we use this path as -LIBCURL_HOME and set have_curl="yes". - -This preserves the existing behavior, while fixing the situation where ---without-libcurl is passed, but /bin/curl-config exists. - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://github.com/Cisco-Talos/clamav-devel/pull/87 ---- - m4/reorganization/libs/curl.m4 | 15 +++++---------- - 1 file changed, 5 insertions(+), 10 deletions(-) - -diff --git a/m4/reorganization/libs/curl.m4 b/m4/reorganization/libs/curl.m4 -index 2a5966ee7..b6a9c2137 100644 ---- a/m4/reorganization/libs/curl.m4 -+++ b/m4/reorganization/libs/curl.m4 -@@ -19,17 +19,12 @@ fi - [find_curl="yes"]) - - if test "X$find_curl" = "Xyes"; then -- LIBCURL_HOME=/usr/local --fi --if test -f "$LIBCURL_HOME/bin/curl-config"; then -- have_curl="yes" --else -- if test "X$find_curl" = "Xyes"; then -- LIBCURL_HOME=/usr -- if test -f "$LIBCURL_HOME/bin/curl-config"; then -- have_curl="yes" -+ for p in /usr/local /usr ; do -+ if test -f "${p}/bin/curl-config"; then -+ LIBCURL_HOME=$p -+ have_curl="yes" - fi -- fi -+ done - fi - - if test "X$have_curl" = "Xyes"; then --- -2.14.3 - diff --git a/bsp/buildroot/package/clamav/Config.in b/bsp/buildroot/package/clamav/Config.in index bc934ea4..2017011b 100644 --- a/bsp/buildroot/package/clamav/Config.in +++ b/bsp/buildroot/package/clamav/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_CLAMAV bool "clamav" + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBTOOL select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_ZLIB @@ -11,6 +13,7 @@ config BR2_PACKAGE_CLAMAV http://www.clamav.net -comment "clamav needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "clamav needs a toolchain w/ C++, threads, wchar" + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/clamav/clamav.hash b/bsp/buildroot/package/clamav/clamav.hash index 390251fc..9ac68e76 100644 --- a/bsp/buildroot/package/clamav/clamav.hash +++ b/bsp/buildroot/package/clamav/clamav.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 4a2e4f0cd41e62adb5a713b4a1857c49145cd09a69957e6d946ecad575206dd6 clamav-0.100.2.tar.gz +sha256 fa368fa9b2f57638696150c7d108b06dec284e8d8e3b8e702c784947c01fb806 clamav-0.101.1.tar.gz sha256 0c4fd2fa9733fc9122503797648710851e4ee6d9e4969dd33fcbd8c63cd2f584 COPYING sha256 d72a145c90918184a05ef65a04c9e6f7466faa59bc1b82c8f6a8ddc7ddcb9bed COPYING.bzip2 sha256 dfb818a0d41411c6fb1c193c68b73018ceadd1994bda41ad541cbff292894bc6 COPYING.file diff --git a/bsp/buildroot/package/clamav/clamav.mk b/bsp/buildroot/package/clamav/clamav.mk index 50990aba..8900b481 100644 --- a/bsp/buildroot/package/clamav/clamav.mk +++ b/bsp/buildroot/package/clamav/clamav.mk @@ -4,7 +4,7 @@ # ################################################################################ -CLAMAV_VERSION = 0.100.2 +CLAMAV_VERSION = 0.101.1 CLAMAV_SITE = https://www.clamav.net/downloads/production CLAMAV_LICENSE = GPL-2.0 CLAMAV_LICENSE_FILES = COPYING COPYING.bzip2 COPYING.file COPYING.getopt \ @@ -16,14 +16,16 @@ CLAMAV_DEPENDENCIES = \ openssl \ zlib \ $(TARGET_NLS_DEPENDENCIES) -# 0003-m4-reorganization-libs-curl.m4-fix-curl-config-detec.patch -CLAMAV_AUTORECONF = YES # mmap cannot be detected when cross-compiling, needed for mempool support CLAMAV_CONF_ENV = \ ac_cv_c_mmap_private=yes \ have_cv_ipv6=yes +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +CLAMAV_CONF_ENV += LIBS=-latomic +endif + # UCLIBC_HAS_FTS is disabled, therefore disable fanotify (missing fts.h) CLAMAV_CONF_OPTS = \ --with-dbdir=/var/lib/clamav \ @@ -78,11 +80,21 @@ else CLAMAV_CONF_OPTS += --without-iconv endif -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) +CLAMAV_CONF_OPTS += --with-pcre=$(STAGING_DIR)/usr +CLAMAV_DEPENDENCIES += pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) CLAMAV_CONF_OPTS += --with-pcre=$(STAGING_DIR)/usr CLAMAV_DEPENDENCIES += pcre else CLAMAV_CONF_OPTS += --without-pcre endif +ifeq ($(BR2_INIT_SYSTEMD),y) +CLAMAV_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system +CLAMAV_DEPENDENCIES += systemd +else +CLAMAV_CONF_OPTS += --with-systemdsystemunitdir=no +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/clang/Config.in b/bsp/buildroot/package/clang/Config.in new file mode 100644 index 00000000..80f03c80 --- /dev/null +++ b/bsp/buildroot/package/clang/Config.in @@ -0,0 +1,26 @@ +config BR2_PACKAGE_CLANG + bool "clang" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # std::wstring + select BR2_PACKAGE_LLVM + help + Clang is a C/C++, Objective C/C++ and OpenCL C front-end + for the LLVM compiler. + + http://clang.llvm.org + +comment "clang needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, host gcc >= 4.8, dynamic library" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + || BR2_STATIC_LIBS || !BR2_USE_WCHAR + +comment "clang needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/clang/clang.hash b/bsp/buildroot/package/clang/clang.hash new file mode 100644 index 00000000..fe868f58 --- /dev/null +++ b/bsp/buildroot/package/clang/clang.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 a45b62dde5d7d5fdcdfa876b0af92f164d434b06e9e89b5d0b1cbc65dfe3f418 cfe-7.0.1.src.tar.xz +sha256 3f3f2e96e3b7319d2b4b49227d6da624a717340107ce2ca5342a25e0e57dfd35 LICENSE.TXT diff --git a/bsp/buildroot/package/clang/clang.mk b/bsp/buildroot/package/clang/clang.mk new file mode 100644 index 00000000..c15f2b0d --- /dev/null +++ b/bsp/buildroot/package/clang/clang.mk @@ -0,0 +1,98 @@ +################################################################################ +# +# clang +# +################################################################################ + +CLANG_VERSION = 7.0.1 +CLANG_SITE = http://llvm.org/releases/$(CLANG_VERSION) +CLANG_SOURCE = cfe-$(CLANG_VERSION).src.tar.xz +CLANG_LICENSE = NCSA +CLANG_LICENSE_FILES = LICENSE.TXT +CLANG_SUPPORTS_IN_SOURCE_BUILD = NO +CLANG_INSTALL_STAGING = YES + +HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2 +CLANG_DEPENDENCIES = llvm host-clang + +# This option is needed, otherwise multiple shared libs +# (libclangAST.so, libclangBasic.so, libclangFrontend.so, etc.) will +# be generated. As a final shared lib containing all these components +# (libclang.so) is also generated, this resulted in the following +# error when trying to use tools that use libclang: +# $ CommandLine Error: Option 'track-memory' registered more than once! +# $ LLVM ERROR: inconsistency in registered CommandLine options +# By setting BUILD_SHARED_LIBS to OFF, we generate multiple static +# libraries (the same way as host's clang build) and finally +# libclang.so to be installed on the target. +CLANG_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF + +# Default is Debug build, which requires considerably more disk space +# and build time. Release build is selected for host and target +# because the linker can run out of memory in Debug mode. +HOST_CLANG_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release +CLANG_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release + +CLANG_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 + +# We need to build tools because libclang is a tool +HOST_CLANG_CONF_OPTS += -DCLANG_BUILD_TOOLS=ON +CLANG_CONF_OPTS += -DCLANG_BUILD_TOOLS=ON + +HOST_CLANG_CONF_OPTS += \ + -DCLANG_BUILD_EXAMPLES=OFF \ + -DCLANG_INCLUDE_DOCS=OFF \ + -DCLANG_INCLUDE_TESTS=OFF + +CLANG_CONF_OPTS += \ + -DCLANG_BUILD_EXAMPLES=OFF \ + -DCLANG_INCLUDE_DOCS=OFF \ + -DCLANG_INCLUDE_TESTS=OFF + +HOST_CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(HOST_DIR)/bin/llvm-config \ + -DCLANG_DEFAULT_LINKER=$(TARGET_LD) +CLANG_CONF_OPTS += -DLLVM_CONFIG:FILEPATH=$(STAGING_DIR)/usr/bin/llvm-config \ + -DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \ + -DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen + +# Clang can't be used as compiler on the target since there are no +# development files (headers) and other build tools. So remove clang +# binaries and some other unnecessary files from target. +CLANG_FILES_TO_REMOVE = \ + /usr/bin/clang* \ + /usr/bin/c-index-test \ + /usr/bin/git-clang-format \ + /usr/bin/scan-build \ + /usr/bin/scan-view \ + /usr/libexec/c++-analyzer \ + /usr/libexec/ccc-analyzer \ + /usr/share/clang \ + /usr/share/opt-viewer \ + /usr/share/scan-build \ + /usr/share/scan-view \ + /usr/share/man/man1/scan-build.1 \ + /usr/lib/clang + +define CLANG_CLEANUP_TARGET + rm -rf $(addprefix $(TARGET_DIR),$(CLANG_FILES_TO_REMOVE)) +endef +CLANG_POST_INSTALL_TARGET_HOOKS += CLANG_CLEANUP_TARGET + +# clang-tblgen is not installed by default, however it is necessary +# for cross-compiling clang +define HOST_CLANG_INSTALL_CLANG_TBLGEN + $(INSTALL) -D -m 0755 $(HOST_CLANG_BUILDDIR)/bin/clang-tblgen \ + $(HOST_DIR)/bin/clang-tblgen +endef +HOST_CLANG_POST_INSTALL_HOOKS = HOST_CLANG_INSTALL_CLANG_TBLGEN + +# This option must be enabled to link libclang dynamically against libLLVM.so +HOST_CLANG_CONF_OPTS += -DLLVM_LINK_LLVM_DYLIB=ON +CLANG_CONF_OPTS += -DLLVM_LINK_LLVM_DYLIB=ON + +# Prevent clang binaries from linking against LLVM static libs +HOST_CLANG_CONF_OPTS += -DLLVM_DYLIB_COMPONENTS=all +CLANG_CONF_OPTS += -DLLVM_DYLIB_COMPONENTS=all + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/bsp/buildroot/package/clapack/Config.in b/bsp/buildroot/package/clapack/Config.in index e5be0b64..a912eb6c 100644 --- a/bsp/buildroot/package/clapack/Config.in +++ b/bsp/buildroot/package/clapack/Config.in @@ -4,14 +4,9 @@ comment "clapack needs a glibc toolchain" config BR2_PACKAGE_CLAPACK bool "cblas/clapack" - depends on !(BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) # _fpu_control is used on PowerPC, but not available with # uClibc or musl depends on !BR2_powerpc || BR2_TOOLCHAIN_USES_GLIBC - # disable clapack on blackfin, it triggers "undefined symbol" failure - # because of the "_" symbol prefix: - # http://autobuild.buildroot.net/results/a28df0ba10803e6e54c2f8160bbd8190cba4d690/ - depends on !BR2_bfin # assembler: Error: value out of range depends on !BR2_m68k_cf help diff --git a/bsp/buildroot/package/clinfo/Config.in b/bsp/buildroot/package/clinfo/Config.in new file mode 100644 index 00000000..3df4feec --- /dev/null +++ b/bsp/buildroot/package/clinfo/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_CLINFO + bool "clinfo" + depends on BR2_PACKAGE_HAS_LIBOPENCL + help + clinfo is a simple command-line application that enumerates + all possible (known) properties of the OpenCL platform and + devices available on the system. + + https://github.com/Oblomov/clinfo + +comment "clinfo needs an OpenCL provider" + depends on !BR2_PACKAGE_HAS_LIBOPENCL diff --git a/bsp/buildroot/package/clinfo/clinfo.hash b/bsp/buildroot/package/clinfo/clinfo.hash new file mode 100644 index 00000000..d5766e63 --- /dev/null +++ b/bsp/buildroot/package/clinfo/clinfo.hash @@ -0,0 +1,4 @@ +# locally calculated +sha256 64b02e68ccff3b95437bd0bd70dcb88438c58adec16a7145a5d4e5c26a898ccf clinfo-2.2.18.03.26.tar.gz +sha256 a2010f343487d3f7618affe54f789f5487602331c0a8d03f49e9a7c547cf0499 legalcode.txt +sha256 2a7a9321be169ea6edbc6b1010e8f7bb0f4c1482a2f65c34a49e9719f129b79a LICENSE diff --git a/bsp/buildroot/package/clinfo/clinfo.mk b/bsp/buildroot/package/clinfo/clinfo.mk new file mode 100644 index 00000000..cf086923 --- /dev/null +++ b/bsp/buildroot/package/clinfo/clinfo.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# clinfo +# +################################################################################ + +CLINFO_VERSION = 2.2.18.03.26 +CLINFO_SITE = $(call github,Oblomov,clinfo,$(CLINFO_VERSION)) +CLINFO_LICENSE = CC0-1.0 +CLINFO_LICENSE_FILES = legalcode.txt LICENSE +CLINFO_DEPENDENCIES = libopencl + +define CLINFO_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) +endef + +define CLINFO_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 755 $(@D)/clinfo $(TARGET_DIR)/usr/bin/clinfo +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch b/bsp/buildroot/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch new file mode 100644 index 00000000..9abf1a53 --- /dev/null +++ b/bsp/buildroot/package/cmake/0002-FindLibUV-Also-check-uv-version-h-for-version-detection.patch @@ -0,0 +1,32 @@ +From 92c4b3d900a24512967a960f108d985c819fdf00 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Sat, 23 Jun 2018 20:30:07 +0200 +Subject: [PATCH] FindLibUV: Also check uv/version.h for version detection + +Starting with libuv 1.21.0, libuv's headers were moved into a uv/ directory. +Make FindLibUV aware of the file's new location for configuration to work. + +Upstream change: https://github.com/libuv/libuv/pull/1429 + +Signed-off-by: Fabrice Fontaine +[Retrieve from: https://gitlab.kitware.com/cmake/cmake/merge_requests/2169] +--- + Source/Modules/FindLibUV.cmake | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Source/Modules/FindLibUV.cmake b/Source/Modules/FindLibUV.cmake +index ba13d75f8b..0554d62c23 100644 +--- a/Source/Modules/FindLibUV.cmake ++++ b/Source/Modules/FindLibUV.cmake +@@ -63,6 +63,8 @@ mark_as_advanced(LibUV_INCLUDE_DIR) + set(_LibUV_H_REGEX "#[ \t]*define[ \t]+UV_VERSION_(MAJOR|MINOR|PATCH)[ \t]+[0-9]+") + if(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv-version.h") + file(STRINGS "${LibUV_INCLUDE_DIR}/uv-version.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") ++elseif(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv/version.h") ++ file(STRINGS "${LibUV_INCLUDE_DIR}/uv/version.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") + elseif(LibUV_INCLUDE_DIR AND EXISTS "${LibUV_INCLUDE_DIR}/uv.h") + file(STRINGS "${LibUV_INCLUDE_DIR}/uv.h" _LibUV_H REGEX "${_LibUV_H_REGEX}") + else() +-- +2.16.4 + diff --git a/bsp/buildroot/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch b/bsp/buildroot/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch new file mode 100644 index 00000000..68dbc11d --- /dev/null +++ b/bsp/buildroot/package/cmocka/0001-examples-uptime-include-stdint.h-before-cmocka.h.patch @@ -0,0 +1,35 @@ +From dd8449ae3ba7fd05ac172f0227cd93af7f37005e Mon Sep 17 00:00:00 2001 +From: Joel Carlson +Date: Mon, 1 Oct 2018 15:01:56 -0600 +Subject: [PATCH] examples: uptime: include stdint.h before cmocka.h + +Fixes a build error encountered on one MIPS64 toolchain about uintptr_t +being declared twice, first by cmocka.h and then later by the toolchains +stdint.h. + +Fixes #7 + +Signed-off-by: Joel Carlson +Reviewed-by: Andreas Schneider +--- +Fixes build error with br-mips64-n64-full +Upstream commit: dd8449ae3ba7fd05ac172f0227cd93af7f37005e +--- + example/mock/uptime/test_uptime.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/example/mock/uptime/test_uptime.c b/example/mock/uptime/test_uptime.c +index badfac9..183c276 100644 +--- a/example/mock/uptime/test_uptime.c ++++ b/example/mock/uptime/test_uptime.c +@@ -16,6 +16,7 @@ + + #include + #include ++#include + #include + #include + +-- +2.17.1 + diff --git a/bsp/buildroot/package/cmocka/Config.in b/bsp/buildroot/package/cmocka/Config.in new file mode 100644 index 00000000..cf49d0f6 --- /dev/null +++ b/bsp/buildroot/package/cmocka/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_CMOCKA + bool cmocka + depends on !BR2_STATIC_LIBS + help + cmocka is an elegant unit testing framework for C with support + for mock objects. It only requires the standard C library, + works on a range of computing platforms (including embedded) + and with different compilers. It is a fork of Google's very + popular cmockery unit testing framework to fix bugs and + support it in the future. + + https://cmocka.org + +comment "cmocka needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/cmocka/cmocka.hash b/bsp/buildroot/package/cmocka/cmocka.hash new file mode 100644 index 00000000..1cbda224 --- /dev/null +++ b/bsp/buildroot/package/cmocka/cmocka.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 43eabcf72a9c80e3d03f7c8a1c04e408c18d2db5121eb058a3ef732a9dfabfaf cmocka-1.1.3.tar.xz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/bsp/buildroot/package/cmocka/cmocka.mk b/bsp/buildroot/package/cmocka/cmocka.mk new file mode 100644 index 00000000..281410ab --- /dev/null +++ b/bsp/buildroot/package/cmocka/cmocka.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# cmocka +# +################################################################################ + +CMOCKA_VERSION = 1.1.3 +CMOCKA_SOURCE = cmocka-$(CMOCKA_VERSION).tar.xz +CMOCKA_SITE = https://cmocka.org/files/1.1 +CMOCKA_LICENSE = Apache-2.0 +CMOCKA_LICENSE_FILES = COPYING +CMOCKA_INSTALL_STAGING = YES + +# cmocka only supports out of source builds +CMOCKA_SUPPORTS_IN_SOURCE_BUILD = NO + +# cmocka always builds a shared library, but you can optionally build a static +# library as well +ifeq ($(BR2_SHARED_STATIC_LIBS),y) +CMOCKA_CONF_OPTS += -DWITH_STATIC_LIB=ON +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch b/bsp/buildroot/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch new file mode 100644 index 00000000..b5abf815 --- /dev/null +++ b/bsp/buildroot/package/collectd/0002-gps-plugin-fix-build-with-newer-gpsd.patch @@ -0,0 +1,43 @@ +From 991a6d3fd38c2435d94de3853fda36b3330cf6ab Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 9 Oct 2018 19:57:21 +0300 +Subject: [PATCH] gps plugin: fix build with newer gpsd + +gpsd version 3.18 changed the prototype of gps_read(). Make the +gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that. + +This fixes build failures like: + +gps.c: In function 'cgps_thread': +gps.c:144:11: error: too few arguments to function 'gps_read' + if (gps_read(&gpsd_conn) == -1) { + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/collectd/collectd/pull/2947 + + src/gps.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/gps.c b/src/gps.c +index 1d32d0492617..b22c3a2e5ecd 100644 +--- a/src/gps.c ++++ b/src/gps.c +@@ -141,7 +141,12 @@ static void *cgps_thread(void *pData) { + continue; + } + +- if (gps_read(&gpsd_conn) == -1) { ++#if GPSD_API_MAJOR_VERSION > 6 ++ if (gps_read(&gpsd_conn, NULL, 0) == -1) ++#else ++ if (gps_read(&gpsd_conn) == -1) ++#endif ++ { + WARNING("gps plugin: incorrect data! (err_count: %d)", err_count); + err_count++; + +-- +2.19.1 + diff --git a/bsp/buildroot/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch b/bsp/buildroot/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch new file mode 100644 index 00000000..9270021d --- /dev/null +++ b/bsp/buildroot/package/collectd/0003-sensors-Removed-checks-for-upper-limit-of-SENSORS_AP.patch @@ -0,0 +1,89 @@ +From 069796bd76dd1ab0089a64f7c9c2a3c9f1475414 Mon Sep 17 00:00:00 2001 +From: Pavel Rochnyack +Date: Mon, 3 Dec 2018 18:34:14 +0700 +Subject: [PATCH] sensors: Removed checks for upper limit of + SENSORS_API_VERSION + +That makes no more sense after lm-sensors got new maintainers. + +Issue: #3006 + +[Vadim Kochan: backported to support 5.7.1 version] +Signed-off-by: Vadim Kochan +--- + src/sensors.c | 17 ++++++----------- + 1 file changed, 6 insertions(+), 11 deletions(-) + +diff --git a/src/sensors.c b/src/sensors.c +index 8f1824d..409dc38 100644 +--- a/src/sensors.c ++++ b/src/sensors.c +@@ -149,7 +149,7 @@ typedef struct featurelist { + static char *conffile = SENSORS_CONF_PATH; + /* #endif SENSORS_API_VERSION < 0x400 */ + +-#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#elif (SENSORS_API_VERSION >= 0x400) + typedef struct featurelist { + const sensors_chip_name *chip; + const sensors_feature *feature; +@@ -159,11 +159,6 @@ typedef struct featurelist { + + static char *conffile = NULL; + static _Bool use_labels = 0; +-/* #endif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */ +- +-#else /* if SENSORS_API_VERSION >= 0x500 */ +-#error "This version of libsensors is not supported yet. Please report this " \ +- "as bug." + #endif + + static featurelist_t *first_feature = NULL; +@@ -223,7 +218,7 @@ static int sensors_config(const char *key, const char *value) { + if (IS_TRUE(value)) + ignorelist_set_invert(sensor_list, 0); + } +-#if (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#if (SENSORS_API_VERSION >= 0x400) + else if (strcasecmp(key, "UseLabels") == 0) { + use_labels = IS_TRUE(value) ? 1 : 0; + } +@@ -353,7 +348,7 @@ static int sensors_load_conf(void) { + } /* while sensors_get_detected_chips */ + /* #endif SENSORS_API_VERSION < 0x400 */ + +-#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#elif (SENSORS_API_VERSION >= 0x400) + chip_num = 0; + while ((chip = sensors_get_detected_chips(NULL, &chip_num)) != NULL) { + const sensors_feature *feature; +@@ -404,7 +399,7 @@ static int sensors_load_conf(void) { + } /* while (subfeature) */ + } /* while (feature) */ + } /* while (chip) */ +-#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */ ++#endif /* (SENSORS_API_VERSION >= 0x400) */ + + if (first_feature == NULL) { + sensors_cleanup(); +@@ -479,7 +474,7 @@ static int sensors_read(void) { + } /* for fl = first_feature .. NULL */ + /* #endif SENSORS_API_VERSION < 0x400 */ + +-#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) ++#elif (SENSORS_API_VERSION >= 0x400) + for (featurelist_t *fl = first_feature; fl != NULL; fl = fl->next) { + double value; + int status; +@@ -518,7 +513,7 @@ static int sensors_read(void) { + + sensors_submit(plugin_instance, type, type_instance, value); + } /* for fl = first_feature .. NULL */ +-#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */ ++#endif /* (SENSORS_API_VERSION >= 0x400) */ + + return (0); + } /* int sensors_read */ +-- +2.14.1 + diff --git a/bsp/buildroot/package/collectd/Config.in b/bsp/buildroot/package/collectd/Config.in index ccd3fbe1..3222547b 100644 --- a/bsp/buildroot/package/collectd/Config.in +++ b/bsp/buildroot/package/collectd/Config.in @@ -383,6 +383,7 @@ config BR2_PACKAGE_COLLECTD_PING config BR2_PACKAGE_COLLECTD_POSTGRESQL bool "postgresql" + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help Connects to and executes SQL statements on a PostgreSQL @@ -390,6 +391,9 @@ config BR2_PACKAGE_COLLECTD_POSTGRESQL configuration, the returned values are then converted into collectd “value listsâ€. +comment "postgresql support needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR + config BR2_PACKAGE_COLLECTD_PROCESSES bool "processes" help @@ -559,7 +563,7 @@ config BR2_PACKAGE_COLLECTD_RIEMANN # riemann-c-client -> protobuf-c depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_HOST_GCC_AT_LEAST_4_5 + depends on BR2_HOST_GCC_AT_LEAST_4_8 select BR2_PACKAGE_RIEMANN_C_CLIENT select BR2_PACKAGE_LIBTOOL help @@ -588,15 +592,15 @@ config BR2_PACKAGE_COLLECTD_WRITEPROMETHEUS bool "write_prometheus" depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # protobuf-c - depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_4_8 # protobuf-c select BR2_PACKAGE_LIBMICROHTTPD select BR2_PACKAGE_PROTOBUF_C help Publishes values using an embedded HTTP server, in a format compatible with Prometheus' collectd_exporter. -comment "write_prometheus needs a toolchain w/ C++, host gcc >= 4.5" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_4_5 +comment "write_prometheus needs a toolchain w/ C++, host gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" config BR2_PACKAGE_COLLECTD_WRITESENSU diff --git a/bsp/buildroot/package/collectd/collectd.mk b/bsp/buildroot/package/collectd/collectd.mk index ef45f342..589324e6 100644 --- a/bsp/buildroot/package/collectd/collectd.mk +++ b/bsp/buildroot/package/collectd/collectd.mk @@ -42,6 +42,7 @@ COLLECTD_CONF_OPTS += \ --with-nan-emulation \ --with-fp-layout=$(COLLECTD_FP_LAYOUT) \ --with-perl-bindings=no \ + --disable-werror \ $(foreach p, $(COLLECTD_PLUGINS_DISABLE), --disable-$(p)) \ $(if $(BR2_PACKAGE_COLLECTD_AGGREGATION),--enable-aggregation,--disable-aggregation) \ $(if $(BR2_PACKAGE_COLLECTD_APACHE),--enable-apache,--disable-apache) \ @@ -194,14 +195,6 @@ else COLLECTD_CONF_OPTS += --with-libgcrypt=no endif -# released software should not break on minor warnings -define COLLECTD_DROP_WERROR - $(SED) 's/-Werror//' \ - $(@D)/src/Makefile.in $(@D)/src/libcollectdclient/Makefile.in -endef - -COLLECTD_POST_PATCH_HOOKS += COLLECTD_DROP_WERROR - define COLLECTD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) install rm -f $(TARGET_DIR)/usr/bin/collectd-nagios diff --git a/bsp/buildroot/package/connman/0002-nat-build-failure.patch b/bsp/buildroot/package/connman/0001-nat-build-failure.patch similarity index 100% rename from bsp/buildroot/package/connman/0002-nat-build-failure.patch rename to bsp/buildroot/package/connman/0001-nat-build-failure.patch diff --git a/bsp/buildroot/package/connman/0001-tethering-Reorder-header-includes.patch b/bsp/buildroot/package/connman/0001-tethering-Reorder-header-includes.patch deleted file mode 100644 index 4955df1c..00000000 --- a/bsp/buildroot/package/connman/0001-tethering-Reorder-header-includes.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bdfb3526466f8fb8f13d9259037d8f42c782ce24 Mon Sep 17 00:00:00 2001 -From: Daniel Wagner -Date: Wed, 17 Jan 2018 23:42:50 +0100 -Subject: [PATCH] tethering: Reorder header includes - -Avoid compile errors due to unsupported header include order with -newer kernels (>=4.15). We should import the libc header files first -and then the Linux header files in user space applications. - -Reported by Neil MacLeod . Fix probosal by Jonas -Bonn and Hauke Mehrtens . - -Signed-off-by: Martin Bark ---- - src/tethering.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/tethering.c b/src/tethering.c -index c929ba7..4b20236 100644 ---- a/src/tethering.c -+++ b/src/tethering.c -@@ -31,11 +31,11 @@ - #include - #include - #include --#include - #include - #include --#include - #include -+#include -+#include - #include - - #include "connman.h" --- -2.7.4 diff --git a/bsp/buildroot/package/connman/S45connman b/bsp/buildroot/package/connman/S45connman old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/connman/connman.hash b/bsp/buildroot/package/connman/connman.hash index c822bb1f..fad1c55d 100644 --- a/bsp/buildroot/package/connman/connman.hash +++ b/bsp/buildroot/package/connman/connman.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/network/connman/sha256sums.asc -sha256 66d7deb98371545c6e417239a9b3b3e3201c1529d08eedf40afbc859842cf2aa connman-1.35.tar.xz +sha256 c789db41cc443fa41e661217ea321492ad59a004bebcd1aa013f3bc10a6e0074 connman-1.36.tar.xz +# Locally computed +sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING diff --git a/bsp/buildroot/package/connman/connman.mk b/bsp/buildroot/package/connman/connman.mk index 52c45451..b67d1c4b 100644 --- a/bsp/buildroot/package/connman/connman.mk +++ b/bsp/buildroot/package/connman/connman.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONNMAN_VERSION = 1.35 +CONNMAN_VERSION = 1.36 CONNMAN_SOURCE = connman-$(CONNMAN_VERSION).tar.xz CONNMAN_SITE = $(BR2_KERNEL_MIRROR)/linux/network/connman CONNMAN_DEPENDENCIES = libglib2 dbus iptables diff --git a/bsp/buildroot/package/conntrack-tools/conntrack-tools.hash b/bsp/buildroot/package/conntrack-tools/conntrack-tools.hash index 9d681772..cd95a06d 100644 --- a/bsp/buildroot/package/conntrack-tools/conntrack-tools.hash +++ b/bsp/buildroot/package/conntrack-tools/conntrack-tools.hash @@ -1,3 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/conntrack-tools/conntrack-tools-1.4.4.tar.bz2.{md5sum,sha1sum} -md5 acd9e0b27cf16ae3092ba900e4d7560e conntrack-tools-1.4.4.tar.bz2 -sha1 25b36fb6832373ef899bade3b82adf5382b9a05b conntrack-tools-1.4.4.tar.bz2 +# From https://netfilter.org/projects/conntrack-tools/downloads.html +sha256 36c6d99c7684851d4d72e75bd07ff3f0ff1baaf4b6f069eb7244990cd1a9a462 conntrack-tools-1.4.5.tar.bz2 +# Locally calculated +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/conntrack-tools/conntrack-tools.mk b/bsp/buildroot/package/conntrack-tools/conntrack-tools.mk index 2f4ea5f2..77fcb529 100644 --- a/bsp/buildroot/package/conntrack-tools/conntrack-tools.mk +++ b/bsp/buildroot/package/conntrack-tools/conntrack-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONNTRACK_TOOLS_VERSION = 1.4.4 +CONNTRACK_TOOLS_VERSION = 1.4.5 CONNTRACK_TOOLS_SOURCE = conntrack-tools-$(CONNTRACK_TOOLS_VERSION).tar.bz2 CONNTRACK_TOOLS_SITE = http://www.netfilter.org/projects/conntrack-tools/files CONNTRACK_TOOLS_DEPENDENCIES = host-pkgconf \ @@ -15,15 +15,6 @@ CONNTRACK_TOOLS_LICENSE_FILES = COPYING CONNTRACK_TOOLS_CFLAGS = $(TARGET_CFLAGS) -# Some of conntrack-tools source files include both linux/in.h (via -# linux/netfilter.h for kernel headers >= 4.2) and netinet/in.h, which -# causes some symbol conflicts when musl is used. Defining __GLIBC__ -# works around that issue since the kernel headers are prepared to -# avoid redefinition of certain symbols when they see __GLIBC__. -ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -CONNTRACK_TOOLS_CFLAGS += -D__GLIBC__ -endif - ifeq ($(BR2_PACKAGE_LIBTIRPC),y) CONNTRACK_TOOLS_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` CONNTRACK_TOOLS_DEPENDENCIES += libtirpc host-pkgconf diff --git a/bsp/buildroot/package/copas/Config.in b/bsp/buildroot/package/copas/Config.in index d7800b6d..f4e05ea2 100644 --- a/bsp/buildroot/package/copas/Config.in +++ b/bsp/buildroot/package/copas/Config.in @@ -1,12 +1,11 @@ config BR2_PACKAGE_COPAS bool "copas" - # Runtime dependency only - select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT - select BR2_PACKAGE_LUASOCKET + select BR2_PACKAGE_COXPCALL if BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT # runtime + select BR2_PACKAGE_LUASOCKET # runtime help Copas is a dispatcher based on coroutines that can be used for asynchronous networking. For example TCP or UDP based servers. But it also features timers and client support for http(s), ftp and smtp requests. - http://keplerproject.github.com/copas/ + http://www.keplerproject.org/copas/ diff --git a/bsp/buildroot/package/copas/copas.hash b/bsp/buildroot/package/copas/copas.hash index d894b865..4e9e7878 100644 --- a/bsp/buildroot/package/copas/copas.hash +++ b/bsp/buildroot/package/copas/copas.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 efeded4f4633bc71551175b239199304640ef918ae8ea9dc9c5047359ae07107 copas-2.0.2-1.src.rock +sha256 3f59cccf38e9397f6fb34dcff983a24d336df982edb5b0cde549d0c32c28c9c0 copas-2_0_2/LICENSE diff --git a/bsp/buildroot/package/copas/copas.mk b/bsp/buildroot/package/copas/copas.mk index 988692c4..5b7ba999 100644 --- a/bsp/buildroot/package/copas/copas.mk +++ b/bsp/buildroot/package/copas/copas.mk @@ -7,6 +7,6 @@ COPAS_VERSION = 2.0.2-1 COPAS_SUBDIR = copas-2_0_2 COPAS_LICENSE = MIT -COPAS_LICENSE_FILES = $(COPAS_SUBDIR)/doc/us/license.html +COPAS_LICENSE_FILES = $(COPAS_SUBDIR)/LICENSE $(eval $(luarocks-package)) diff --git a/bsp/buildroot/package/coreutils/coreutils.hash b/bsp/buildroot/package/coreutils/coreutils.hash index 472cab55..d55e25a8 100644 --- a/bsp/buildroot/package/coreutils/coreutils.hash +++ b/bsp/buildroot/package/coreutils/coreutils.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 8891d349ee87b9ff7870f52b6d9312a9db672d2439d289bc57084771ca21656b coreutils-8.27.tar.xz +sha256 e831b3a86091496cdba720411f9748de81507798f6130adeaef872d206e1b057 coreutils-8.30.tar.xz diff --git a/bsp/buildroot/package/coreutils/coreutils.mk b/bsp/buildroot/package/coreutils/coreutils.mk index 8259f42f..3e8efbf0 100644 --- a/bsp/buildroot/package/coreutils/coreutils.mk +++ b/bsp/buildroot/package/coreutils/coreutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -COREUTILS_VERSION = 8.27 +COREUTILS_VERSION = 8.30 COREUTILS_SITE = $(BR2_GNU_MIRROR)/coreutils COREUTILS_SOURCE = coreutils-$(COREUTILS_VERSION).tar.xz COREUTILS_LICENSE = GPL-3.0+ @@ -14,7 +14,7 @@ COREUTILS_LICENSE_FILES = COPYING COREUTILS_AUTORECONF = YES COREUTILS_GETTEXTIZE = YES -COREUTILS_CONF_OPTS = --disable-rpath --enable-single-binary=shebangs \ +COREUTILS_CONF_OPTS = --disable-rpath --enable-single-binary=symlinks \ $(if $(BR2_TOOLCHAIN_USES_MUSL),--with-included-regex) COREUTILS_CONF_ENV = ac_cv_c_restrict=no \ ac_cv_func_chown_works=yes \ @@ -59,12 +59,6 @@ COREUTILS_BIN_PROGS = cat chgrp chmod chown cp date dd df dir echo false \ kill link ln ls mkdir mknod mktemp mv nice printenv pwd rm rmdir \ vdir sleep stty sync touch true uname join -# If both coreutils and busybox are selected, make certain coreutils -# wins the fight over who gets to have their utils actually installed. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -COREUTILS_DEPENDENCIES = busybox -endif - ifeq ($(BR2_PACKAGE_ACL),y) COREUTILS_DEPENDENCIES += acl else @@ -103,10 +97,11 @@ endif ifeq ($(BR2_ROOTFS_MERGED_USR),) define COREUTILS_CLEANUP_BIN - # some things go in root rather than usr - for f in $(COREUTILS_BIN_PROGS); do \ - mv -f $(TARGET_DIR)/usr/bin/$$f $(TARGET_DIR)/bin/$$f || exit 1; \ - done + # some things go in /bin rather than /usr/bin + $(foreach f,$(COREUTILS_BIN_PROGS), \ + rm -f $(TARGET_DIR)/usr/bin/$(f) && \ + ln -sf ../usr/bin/coreutils $(TARGET_DIR)/bin/$(f) + ) endef COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP_BIN endif @@ -117,9 +112,10 @@ endif define COREUTILS_CLEANUP # link for archaic shells - ln -fs test $(TARGET_DIR)/usr/bin/[ + ln -fs coreutils $(TARGET_DIR)/usr/bin/[ # gnu thinks chroot is in bin, debian thinks it's in sbin - mv -f $(TARGET_DIR)/usr/bin/chroot $(TARGET_DIR)/usr/sbin/chroot + rm -f $(TARGET_DIR)/usr/bin/chroot + ln -sf ../bin/coreutils $(TARGET_DIR)/usr/sbin/chroot endef COREUTILS_POST_INSTALL_TARGET_HOOKS += COREUTILS_CLEANUP diff --git a/bsp/buildroot/package/corkscrew/Config.in b/bsp/buildroot/package/corkscrew/Config.in new file mode 100644 index 00000000..1266f86e --- /dev/null +++ b/bsp/buildroot/package/corkscrew/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_CORKSCREW + bool "corkscrew" + help + Corkscrew is a tool for tunneling SSH through HTTP proxies, + but... you might find another use for it. + + https://github.com/bryanpkc/corkscrew diff --git a/bsp/buildroot/package/corkscrew/corkscrew.hash b/bsp/buildroot/package/corkscrew/corkscrew.hash new file mode 100644 index 00000000..5a580d13 --- /dev/null +++ b/bsp/buildroot/package/corkscrew/corkscrew.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 ba28a7d123fe607b87ff9d399b33e7549d9ef1a13ae3b61e8f61982e8ae5571d corkscrew-a94f745b40077172b8fe7d77e2d583b9cf900281.tar.gz +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/corkscrew/corkscrew.mk b/bsp/buildroot/package/corkscrew/corkscrew.mk new file mode 100644 index 00000000..13612d44 --- /dev/null +++ b/bsp/buildroot/package/corkscrew/corkscrew.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# corkscrew +# +################################################################################ + +CORKSCREW_VERSION = a94f745b40077172b8fe7d77e2d583b9cf900281 +CORKSCREW_SITE = $(call github,bryanpkc,corkscrew,$(CORKSCREW_VERSION)) +CORKSCREW_LICENSE = GPL-2.0 +CORKSCREW_LICENSE_FILES = COPYING +CORKSCREW_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/coxpcall/coxpcall.hash b/bsp/buildroot/package/coxpcall/coxpcall.hash index e037af9e..953005e9 100644 --- a/bsp/buildroot/package/coxpcall/coxpcall.hash +++ b/bsp/buildroot/package/coxpcall/coxpcall.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 c1488ee08e5d25d59a11e19cb0322edae509202b246d0c93cb2de1676dbfdf2b coxpcall-1.16.0-1.src.rock +# computed by luarocks/buildroot +sha256 11feb07f08927c39b0b93e8c0bbaf15433f86155cba4820a31a09f4754ab3258 coxpcall-1.17.0-1.src.rock +sha256 11f0f03dda1a28eca658d5e3361c15fd4d048371364aacc5f6870d77a66866c8 coxpcall/doc/license.html diff --git a/bsp/buildroot/package/coxpcall/coxpcall.mk b/bsp/buildroot/package/coxpcall/coxpcall.mk index 3af81f2c..6633b925 100644 --- a/bsp/buildroot/package/coxpcall/coxpcall.mk +++ b/bsp/buildroot/package/coxpcall/coxpcall.mk @@ -4,7 +4,7 @@ # ################################################################################ -COXPCALL_VERSION = 1.16.0-1 +COXPCALL_VERSION = 1.17.0-1 COXPCALL_SUBDIR = coxpcall COXPCALL_LICENSE = MIT COXPCALL_LICENSE_FILES = $(COXPCALL_SUBDIR)/doc/license.html diff --git a/bsp/buildroot/package/cpio/cpio.mk b/bsp/buildroot/package/cpio/cpio.mk index 7e8549db..9a092795 100644 --- a/bsp/buildroot/package/cpio/cpio.mk +++ b/bsp/buildroot/package/cpio/cpio.mk @@ -7,7 +7,6 @@ CPIO_VERSION = 2.12 CPIO_SITE = $(BR2_GNU_MIRROR)/cpio CPIO_CONF_OPTS = --bindir=/bin -CPIO_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) CPIO_LICENSE = GPL-3.0+ CPIO_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/cppcms/cppcms.hash b/bsp/buildroot/package/cppcms/cppcms.hash index 6bfc680a..86f86d94 100644 --- a/bsp/buildroot/package/cppcms/cppcms.hash +++ b/bsp/buildroot/package/cppcms/cppcms.hash @@ -1,7 +1,8 @@ -# From http://sourceforge.net/projects/cppcms/files/cppcms/1.0.5/ -sha1 15f21897c14acfd4b0c74622e49d95857f2fe939 cppcms-1.0.5.tar.bz2 -md5 d668c201dd31fff8090380ebdc0bcc2b cppcms-1.0.5.tar.bz2 +# From http://sourceforge.net/projects/cppcms/files/cppcms/1.2.1/ +sha1 9cb25cc5d507d2f4235326ba3815eba252b4ac77 cppcms-1.2.1.tar.bz2 +md5 2bb259fefb86532e404207c71c094a0c cppcms-1.2.1.tar.bz2 # Locally computed: -sha256 84b685977bca97c3e997497f227bd5906adb80555066d811a7046b01c2f51865 cppcms-1.0.5.tar.bz2 -sha256 2ff22bab712c46dbadf9bae0f759bbc95d5d87614cacb7ebc3d5a50910603d6a COPYING.TXT -sha256 70fbf0194bee0f444c57ecd47e7d976a3e5a890e4421a21aab49f2d214267e69 THIRD_PARTY_SOFTWARE.TXT +sha256 10fec7710409c949a229b9019ea065e25ff5687103037551b6f05716bf6cac52 cppcms-1.2.1.tar.bz2 +sha256 fb7c15ddf590037d4cd18ebd61148a2304b9243369d238a64f599182377e32db COPYING.TXT +sha256 3e4012cc5950e05bedfdd2f00ceffe1ef71c46ac8c79f07e237ecb23c773f65f MIT.TXT +sha256 d6ce062e5cf4f7e3c536d7d2fee84c882c45245f1848ed3162401f2b29fa2b4b THIRD_PARTY_SOFTWARE.TXT diff --git a/bsp/buildroot/package/cppcms/cppcms.mk b/bsp/buildroot/package/cppcms/cppcms.mk index 5fb6375d..b289617b 100644 --- a/bsp/buildroot/package/cppcms/cppcms.mk +++ b/bsp/buildroot/package/cppcms/cppcms.mk @@ -4,10 +4,10 @@ # ################################################################################ -CPPCMS_VERSION = 1.0.5 +CPPCMS_VERSION = 1.2.1 CPPCMS_SOURCE = cppcms-$(CPPCMS_VERSION).tar.bz2 -CPPCMS_LICENSE = LGPL-3.0, BSL-1.0 (boost), MIT (base64.cpp), Public Domain (json2.js), Zlib (md5) -CPPCMS_LICENSE_FILES = COPYING.TXT THIRD_PARTY_SOFTWARE.TXT +CPPCMS_LICENSE = MIT, BSL-1.0 (boost), Public Domain (json2.js), Zlib (md5) +CPPCMS_LICENSE_FILES = COPYING.TXT MIT.TXT THIRD_PARTY_SOFTWARE.TXT CPPCMS_SITE = http://downloads.sourceforge.net/project/cppcms/cppcms/$(CPPCMS_VERSION) CPPCMS_INSTALL_STAGING = YES CPPCMS_CXXFLAGS = $(TARGET_CXXFLAGS) diff --git a/bsp/buildroot/package/cppzmq/0001-fix-install-without-static-libzmq.patch b/bsp/buildroot/package/cppzmq/0001-fix-install-without-static-libzmq.patch new file mode 100644 index 00000000..15936f3f --- /dev/null +++ b/bsp/buildroot/package/cppzmq/0001-fix-install-without-static-libzmq.patch @@ -0,0 +1,47 @@ +From bffb0eda34195339f2af49f2879d9d0b9dee5c28 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 20 Sep 2018 19:37:26 +0200 +Subject: [PATCH] fix install without static libzmq + +If libzmq is only available as a shared library and not a static one +then cmake fails with: + +-- CMake libzmq package not found, trying again with pkg-config (normal install of zeromq) +-- Found PkgConfig: /home/fabrice/buildroot/output/host/bin/pkg-config (found version "0.28") +CMake Error at CMakeLists.txt:20 (message): + ZeroMQ was not found, neither as a CMake package nor via pkg-config + +This is due to the fact that ZeroMQ_FOUND is not set to ON even if +ZEROMQ_LIBRARY is TRUE: + +if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY) + set(ZeroMQ_FOUND ON) +endif() + +So change AND by OR as suggested in +https://github.com/zeromq/cppzmq/issues/266 + +Fix #266 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/zeromq/cppzmq/pull/267] +--- + libzmq-pkg-config/FindZeroMQ.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libzmq-pkg-config/FindZeroMQ.cmake b/libzmq-pkg-config/FindZeroMQ.cmake +index 89d8236..1b84c95 100644 +--- a/libzmq-pkg-config/FindZeroMQ.cmake ++++ b/libzmq-pkg-config/FindZeroMQ.cmake +@@ -8,7 +8,7 @@ find_library(ZeroMQ_LIBRARY NAMES libzmq.so libzmq.dylib libzmq.dll + find_library(ZeroMQ_STATIC_LIBRARY NAMES libzmq-static.a libzmq.a libzmq.dll.a + PATHS ${PC_LIBZMQ_LIBDIR} ${PC_LIBZMQ_LIBRARY_DIRS}) + +-if(ZeroMQ_LIBRARY AND ZeroMQ_STATIC_LIBRARY) ++if(ZeroMQ_LIBRARY OR ZeroMQ_STATIC_LIBRARY) + set(ZeroMQ_FOUND ON) + endif() + +-- +2.17.1 + diff --git a/bsp/buildroot/package/cppzmq/cppzmq.hash b/bsp/buildroot/package/cppzmq/cppzmq.hash index 792fb17b..52308d1e 100644 --- a/bsp/buildroot/package/cppzmq/cppzmq.hash +++ b/bsp/buildroot/package/cppzmq/cppzmq.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 812b47f76c609e194b2607a186ff0d1b03b6a0c8ea13b20faa47570ddf38ef2c cppzmq-68a7b09cfce01c4c279fba2cf91686fcfc566848.tar.gz +sha256 27d1f56406ba94ee779e639203218820975cf68174f92fbeae0f645df0fcada4 cppzmq-v4.3.0.tar.gz +sha256 7e6db90e2e805c72b3daa77849d1cb5f1f92da0e69750c8a4aa1d86d70704748 LICENSE diff --git a/bsp/buildroot/package/cppzmq/cppzmq.mk b/bsp/buildroot/package/cppzmq/cppzmq.mk index 113b9a07..d23366e1 100644 --- a/bsp/buildroot/package/cppzmq/cppzmq.mk +++ b/bsp/buildroot/package/cppzmq/cppzmq.mk @@ -4,15 +4,12 @@ # ################################################################################ -CPPZMQ_VERSION = 68a7b09cfce01c4c279fba2cf91686fcfc566848 +CPPZMQ_VERSION = v4.3.0 CPPZMQ_SITE = $(call github,zeromq,cppzmq,$(CPPZMQ_VERSION)) CPPZMQ_INSTALL_STAGING = YES -CPPZMQ_DEPENDENCIES = zeromq +CPPZMQ_DEPENDENCIES = host-pkgconf zeromq CPPZMQ_LICENSE = MIT CPPZMQ_LICENSE_FILES = LICENSE +CPPZMQ_CONF_OPTS = -DCPPZMQ_BUILD_TESTS=OFF -define CPPZMQ_INSTALL_STAGING_CMDS - $(INSTALL) -m 0644 -D $(@D)/zmq.hpp $(STAGING_DIR)/usr/include/zmq.hpp -endef - -$(eval $(generic-package)) +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/cracklib/cracklib.mk b/bsp/buildroot/package/cracklib/cracklib.mk index 2fa3d3b4..aeee60d1 100644 --- a/bsp/buildroot/package/cracklib/cracklib.mk +++ b/bsp/buildroot/package/cracklib/cracklib.mk @@ -29,7 +29,7 @@ HOST_CRACKLIB_CONF_OPTS += --without-python --without-zlib ifeq ($(BR2_PACKAGE_CRACKLIB_FULL_DICT),y) CRACKLIB_EXTRA_DOWNLOADS = cracklib-words-$(CRACKLIB_VERSION).gz -CRACKLIB_DICT_SOURCE = $(DL_DIR)/cracklib-words-$(CRACKLIB_VERSION).gz +CRACKLIB_DICT_SOURCE = $(CRACKLIB_DL_DIR)/cracklib-words-$(CRACKLIB_VERSION).gz else CRACKLIB_DICT_SOURCE = $(@D)/dicts/cracklib-small endif diff --git a/bsp/buildroot/package/cramfs/0001-endian.patch b/bsp/buildroot/package/cramfs/0001-endian.patch deleted file mode 100644 index b2eda5a1..00000000 --- a/bsp/buildroot/package/cramfs/0001-endian.patch +++ /dev/null @@ -1,288 +0,0 @@ -Index: cramfs-1.1/mkcramfs.c -=================================================================== ---- cramfs-1.1.orig/mkcramfs.c 2002-02-20 09:03:32.000000000 +0100 -+++ cramfs-1.1/mkcramfs.c 2011-09-09 15:11:00.980895119 +0200 -@@ -93,6 +93,7 @@ - static int opt_verbose = 0; - static char *opt_image = NULL; - static char *opt_name = NULL; -+static int swap_endian = 0; - - static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid; - -@@ -130,6 +131,8 @@ - " -i file insert a file image into the filesystem (requires >= 2.4.0)\n" - " -n name set name of cramfs filesystem\n" - " -p pad by %d bytes for boot code\n" -+ " -l litte endian filesystem\n" -+ " -b big endian filesystem\n" - " -s sort directory entries (old option, ignored)\n" - " -v be more verbose\n" - " -z make explicit holes (requires >= 2.3.39)\n" -@@ -372,6 +375,50 @@ - return totalsize; - } - -+/* routines to swap endianness/bitfields in inode/superblock block data */ -+static void fix_inode(struct cramfs_inode *inode) -+{ -+#define wswap(x) (((x)>>24) | (((x)>>8)&0xff00) | (((x)&0xff00)<<8) | (((x)&0xff)<<24)) -+ /* attempt #2 */ -+ inode->mode = (inode->mode >> 8) | ((inode->mode&0xff)<<8); -+ inode->uid = (inode->uid >> 8) | ((inode->uid&0xff)<<8); -+ inode->size = (inode->size >> 16) | (inode->size&0xff00) | -+ ((inode->size&0xff)<<16); -+ ((u32*)inode)[2] = wswap(inode->offset | (inode->namelen<<26)); -+} -+ -+static void fix_offset(struct cramfs_inode *inode, u32 offset) -+{ -+ u32 tmp = wswap(((u32*)inode)[2]); -+ ((u32*)inode)[2] = wswap((offset >> 2) | (tmp&0xfc000000)); -+} -+ -+static void fix_block_pointer(u32 *p) -+{ -+ *p = wswap(*p); -+} -+ -+static void fix_super(struct cramfs_super *super) -+{ -+ u32 *p = (u32*)super; -+ -+ /* fix superblock fields */ -+ p[0] = wswap(p[0]); /* magic */ -+ p[1] = wswap(p[1]); /* size */ -+ p[2] = wswap(p[2]); /* flags */ -+ p[3] = wswap(p[3]); /* future */ -+ -+ /* fix filesystem info fields */ -+ p = (u32*)&super->fsid; -+ p[0] = wswap(p[0]); /* crc */ -+ p[1] = wswap(p[1]); /* edition */ -+ p[2] = wswap(p[2]); /* blocks */ -+ p[3] = wswap(p[3]); /* files */ -+ -+ fix_inode(&super->root); -+#undef wswap -+} -+ - /* Returns sizeof(struct cramfs_super), which includes the root inode. */ - static unsigned int write_superblock(struct entry *root, char *base, int size) - { -@@ -405,6 +452,7 @@ - super->root.gid = root->gid; - super->root.size = root->size; - super->root.offset = offset >> 2; -+ if (swap_endian) fix_super(super); - - return offset; - } -@@ -419,7 +467,10 @@ - if (offset >= (1 << (2 + CRAMFS_OFFSET_WIDTH))) { - die(MKFS_ERROR, 0, "filesystem too big"); - } -- inode->offset = (offset >> 2); -+ if (swap_endian) -+ fix_offset(inode, offset); -+ else -+ inode->offset = (offset >> 2); - } - - /* -@@ -515,6 +566,7 @@ - stack_entries++; - } - entry = entry->next; -+ if (swap_endian) fix_inode(inode); - } - - /* -@@ -609,6 +661,7 @@ - } - - *(u32 *) (base + offset) = curr; -+ if (swap_endian) fix_block_pointer((u32*)(base + offset)); - offset += 4; - } while (size); - -@@ -699,7 +752,7 @@ - progname = argv[0]; - - /* command line options */ -- while ((c = getopt(argc, argv, "hEe:i:n:psvz")) != EOF) { -+ while ((c = getopt(argc, argv, "hEe:i:n:psvzlb")) != EOF) { - switch (c) { - case 'h': - usage(MKFS_OK); -@@ -727,6 +780,18 @@ - opt_pad = PAD_SIZE; - fslen_ub += PAD_SIZE; - break; -+ case 'b': -+#if __BYTE_ORDER == __LITTLE_ENDIAN -+ swap_endian = 1; -+ printf("Swapping filesystem endian-ness\n"); -+#endif -+ break; -+ case 'l': -+#if __BYTE_ORDER == __BIG_ENDIAN -+ swap_endian = 1; -+ printf("Swapping filesystem endian-ness\n"); -+#endif -+ break; - case 's': - /* old option, ignored */ - break; -Index: cramfs-1.1/cramfsck.c -=================================================================== ---- cramfs-1.1.orig/cramfsck.c 2002-02-23 01:00:42.000000000 +0100 -+++ cramfs-1.1/cramfsck.c 2011-09-09 15:10:06.810894275 +0200 -@@ -30,6 +30,7 @@ - * 2000/07/15: Daniel Quinlan (initial support for block devices) - * 2002/01/10: Daniel Quinlan (additional checks, test more return codes, - * use read if mmap fails, standardize messages) -+ * 2004/09/01: Alfonso Acosta (Add swapping support) - */ - - /* compile-time options */ -@@ -53,6 +54,7 @@ - #define _LINUX_STRING_H_ - #include - #include -+#include - #include - - /* Exit codes used by fsck-type programs */ -@@ -73,6 +75,7 @@ - static char *filename; /* ROM image filename */ - struct cramfs_super super; /* just find the cramfs superblock once */ - static int opt_verbose = 0; /* 1 = verbose (-v), 2+ = very verbose (-vv) */ -+static int need_swapping = 0; /* fs and host dont have the same endianness */ - #ifdef INCLUDE_FS_TESTS - static int opt_extract = 0; /* extract cramfs (-x) */ - static char *extract_dir = "root"; /* extraction directory (-x) */ -@@ -84,6 +87,9 @@ - static unsigned long start_data = ~0UL; /* start of the data (256 MB = max) */ - static unsigned long end_data = 0; /* end of the data */ - -+/* access 32 byte variables */ -+#define CRAMFS_32(x) (need_swapping ? bswap_32(x) : x) -+ - /* Guarantee access to at least 8kB at a time */ - #define ROMBUFFER_BITS 13 - #define ROMBUFFERSIZE (1 << ROMBUFFER_BITS) -@@ -165,20 +171,34 @@ - if (super.magic == CRAMFS_MAGIC) { - *start = 0; - } -+ else if (super.magic == bswap_32(CRAMFS_MAGIC)) { -+ *start = 0; -+ need_swapping = 1; -+ } -+ - else if (*length >= (PAD_SIZE + sizeof(super))) { - lseek(fd, PAD_SIZE, SEEK_SET); - if (read(fd, &super, sizeof(super)) != sizeof(super)) { - die(FSCK_ERROR, 1, "read failed: %s", filename); - } -- if (super.magic == CRAMFS_MAGIC) { -+ if (super.magic == CRAMFS_32(CRAMFS_MAGIC)) { - *start = PAD_SIZE; - } - } - - /* superblock tests */ -- if (super.magic != CRAMFS_MAGIC) { -+ if (super.magic != CRAMFS_32(CRAMFS_MAGIC)) { - die(FSCK_UNCORRECTED, 0, "superblock magic not found"); - } -+ if (need_swapping){ -+ super.size = bswap_32(super.size); -+ super.flags = bswap_32(super.flags); -+ super.future = bswap_32(super.future); -+ super.fsid.crc = bswap_32(super.fsid.crc); -+ super.fsid.edition = bswap_32(super.fsid.edition); -+ super.fsid.blocks = bswap_32(super.fsid.blocks); -+ super.fsid.files = bswap_32(super.fsid.files); -+ } - if (super.flags & ~CRAMFS_SUPPORTED_FLAGS) { - die(FSCK_ERROR, 0, "unsupported filesystem features"); - } -@@ -213,7 +233,10 @@ - die(FSCK_USAGE, 0, "unable to test CRC: old cramfs format"); - #endif /* not INCLUDE_FS_TESTS */ - } -- -+ else if (need_swapping) { -+ /* crc checking in this case would mean translating the whole file */ -+ return; -+ } - crc = crc32(0L, Z_NULL, 0); - - buf = mmap(NULL, super.size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0); -@@ -298,12 +321,23 @@ - - static struct cramfs_inode *cramfs_iget(struct cramfs_inode * i) - { -+#define wswap(x) (((x)>>24) | (((x)>>8)&0xff00) | (((x)&0xff00)<<8) | (((x)&0xff)<<24)) - struct cramfs_inode *inode = malloc(sizeof(struct cramfs_inode)); - - if (!inode) { - die(FSCK_ERROR, 1, "malloc failed"); - } -- *inode = *i; -+ if(!need_swapping) { -+ *inode = *i; -+ } -+ else { -+ inode->mode=bswap_16(i->mode); -+ inode->uid=bswap_16(i->uid); -+ inode->size=bswap_32(i->size << 8); -+ inode->gid=i->gid; -+ inode->namelen = bswap_32(((u32*)i)[2]) >> 26; -+ inode->offset = bswap_32(((u32*)i)[2]) & 0x3FFFFFFF; -+ } - return inode; - } - -@@ -322,9 +356,9 @@ - */ - static struct cramfs_inode *read_super(void) - { -- unsigned long offset = super.root.offset << 2; -- -- if (!S_ISDIR(super.root.mode)) -+ struct cramfs_inode *root = cramfs_iget(&super.root); -+ unsigned long offset = root->offset << 2; -+ if (!S_ISDIR(root->mode)) - die(FSCK_UNCORRECTED, 0, "root inode is not directory"); - if (!(super.flags & CRAMFS_FLAG_SHIFTED_ROOT_OFFSET) && - ((offset != sizeof(struct cramfs_super)) && -@@ -332,7 +366,7 @@ - { - die(FSCK_UNCORRECTED, 0, "bad root offset (%lu)", offset); - } -- return cramfs_iget(&super.root); -+ return root; - } - - static int uncompress_block(void *src, int len) -@@ -364,7 +398,7 @@ - - do { - unsigned long out = PAGE_CACHE_SIZE; -- unsigned long next = *(u32 *) romfs_read(offset); -+ unsigned long next = CRAMFS_32(*(u32 *) romfs_read(offset)); - - if (next > end_data) { - end_data = next; -@@ -525,7 +559,7 @@ - { - unsigned long offset = i->offset << 2; - unsigned long curr = offset + 4; -- unsigned long next = *(u32 *) romfs_read(offset); -+ unsigned long next = CRAMFS_32(*(u32 *) romfs_read(offset)); - unsigned long size; - - if (offset == 0) { diff --git a/bsp/buildroot/package/cramfs/0002-cygwin_IO.patch b/bsp/buildroot/package/cramfs/0002-cygwin_IO.patch deleted file mode 100644 index 8be333f0..00000000 --- a/bsp/buildroot/package/cramfs/0002-cygwin_IO.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: cramfs-1.1/cramfsck.c -=================================================================== ---- cramfs-1.1.orig/cramfsck.c 2011-09-09 15:10:06.000000000 +0200 -+++ cramfs-1.1/cramfsck.c 2011-09-09 15:13:49.950897747 +0200 -@@ -57,6 +57,10 @@ - #include - #include - -+#ifdef __CYGWIN__ -+#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) -+#endif /* __CYGWIN__ */ -+ - /* Exit codes used by fsck-type programs */ - #define FSCK_OK 0 /* No errors */ - #define FSCK_NONDESTRUCT 1 /* File system errors corrected */ diff --git a/bsp/buildroot/package/cramfs/0003-fix-missing-types.patch b/bsp/buildroot/package/cramfs/0003-fix-missing-types.patch deleted file mode 100644 index 89611001..00000000 --- a/bsp/buildroot/package/cramfs/0003-fix-missing-types.patch +++ /dev/null @@ -1,17 +0,0 @@ -mkcramfs; loff_t is guarded by _GNU_SOURCE - -Although already properly done in cramfsck, it was missing in mkcramfs. - -Signed-off-by: "Yann E. MORIN" - -diff -durN cramfs-1.1.orig/mkcramfs.c cramfs-1.1/mkcramfs.c ---- cramfs-1.1.orig/mkcramfs.c 2015-08-05 22:31:16.830543096 +0200 -+++ cramfs-1.1/mkcramfs.c 2015-08-05 22:33:33.136289744 +0200 -@@ -22,6 +22,7 @@ - * If you change the disk format of cramfs, please update fs/cramfs/README. - */ - -+#define _GNU_SOURCE - #include - #include - #include diff --git a/bsp/buildroot/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch b/bsp/buildroot/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch deleted file mode 100644 index 6096cf36..00000000 --- a/bsp/buildroot/package/cramfs/0004-Include-sysmacros.h-to-compile-with-glibc-2.28.patch +++ /dev/null @@ -1,33 +0,0 @@ -Fix minor()/major() build failure due to glibc 2.28 - -glibc 2.28 no longer includes from , -and therefore must be included explicitly when -major()/minor() are used. - -This commit directly includes into cramfsck.c and -mkcramfs.c files where minor() and major() macros are used. - -Signed-off-by: Giulio Benetti ---- -diff -urpN host-cramfs-1.1.orig/cramfsck.c host-cramfs-1.1/cramfsck.c ---- host-cramfs-1.1.orig/cramfsck.c 2018-09-27 16:48:09.704782201 +0200 -+++ host-cramfs-1.1/cramfsck.c 2018-09-27 16:49:12.841138657 +0200 -@@ -38,6 +38,7 @@ - - #define _GNU_SOURCE - #include -+#include - #include - #include - #include -diff -urpN host-cramfs-1.1.orig/mkcramfs.c host-cramfs-1.1/mkcramfs.c ---- host-cramfs-1.1.orig/mkcramfs.c 2018-09-27 16:48:09.712782246 +0200 -+++ host-cramfs-1.1/mkcramfs.c 2018-09-27 16:48:59.777064921 +0200 -@@ -24,6 +24,7 @@ - - #define _GNU_SOURCE - #include -+#include - #include - #include - #include diff --git a/bsp/buildroot/package/cramfs/Config.in b/bsp/buildroot/package/cramfs/Config.in index b2a0c6c5..a177004c 100644 --- a/bsp/buildroot/package/cramfs/Config.in +++ b/bsp/buildroot/package/cramfs/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_CRAMFS cramfs is a compressed read-only filesystem. This package contains the tools to generate and check a cramfs filesystem. - http://sourceforge.net/projects/cramfs/ + https://github.com/npitre/cramfs-tools diff --git a/bsp/buildroot/package/cramfs/Config.in.host b/bsp/buildroot/package/cramfs/Config.in.host index 53b43d44..e594d5c8 100644 --- a/bsp/buildroot/package/cramfs/Config.in.host +++ b/bsp/buildroot/package/cramfs/Config.in.host @@ -4,4 +4,4 @@ config BR2_PACKAGE_HOST_CRAMFS cramfs is a compressed read-only filesystem. This package contains the tools to generate and check a cramfs filesystem. - http://sourceforge.net/projects/cramfs/ + https://github.com/npitre/cramfs-tools diff --git a/bsp/buildroot/package/cramfs/cramfs.hash b/bsp/buildroot/package/cramfs/cramfs.hash index b8c5f5fb..c6c18b07 100644 --- a/bsp/buildroot/package/cramfs/cramfs.hash +++ b/bsp/buildroot/package/cramfs/cramfs.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 133caca2c4e7c64106555154ee0ff693f5cf5beb9421ce2eb86baee997d22368 cramfs-1.1.tar.gz +sha256 99d87aa5874f4a34c219275e0297b0f4c710895f9c87295267aeabe6a752add1 cramfs-1a1e65f2a049.tar.gz diff --git a/bsp/buildroot/package/cramfs/cramfs.mk b/bsp/buildroot/package/cramfs/cramfs.mk index 70010e8e..18bef80b 100644 --- a/bsp/buildroot/package/cramfs/cramfs.mk +++ b/bsp/buildroot/package/cramfs/cramfs.mk @@ -4,8 +4,8 @@ # ################################################################################ -CRAMFS_VERSION = 1.1 -CRAMFS_SITE = http://downloads.sourceforge.net/project/cramfs/cramfs/$(CRAMFS_VERSION) +CRAMFS_VERSION = 1a1e65f2a049 +CRAMFS_SITE = $(call github,npitre,cramfs-tools,$(CRAMFS_VERSION)) CRAMFS_LICENSE = GPL-2.0+ CRAMFS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch b/bsp/buildroot/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch index 99eb11cb..fb46d58e 100644 --- a/bsp/buildroot/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch +++ b/bsp/buildroot/package/crda/0001-crda-support-python-3-in-utils-key2pub.py.patch @@ -1,7 +1,7 @@ -From 797f2836c48f9ba2446629ae4b6867ca1a5ea512 Mon Sep 17 00:00:00 2001 +From 4c346aa9e816bddfedc8ac99809fd1ed91bfc8ee Mon Sep 17 00:00:00 2001 From: Taahir Ahmed Date: Wed, 30 Mar 2016 11:23:54 -0300 -Subject: [PATCH 1/2] crda: support python 3 in utils/key2pub.py +Subject: [PATCH] crda: support python 3 in utils/key2pub.py utils/key2pub.py can now be run under either python 2.7 or python 3.x. This required some minor syntactical changes as well as switching from @@ -18,16 +18,18 @@ fixed: [Gustavo: don't call /utils/key2pub.py since that doesn't compute] Signed-off-by: Gustavo Zacarias +[Rebased against crda-4.14] +Signed-off-by: Peter Seiderer --- Status: submitted upstream by author but not (yet) accepted URL: http://www.spinics.net/lists/linux-wireless/msg138936.html - +--- Makefile | 2 +- - utils/key2pub.py | 146 ++++++++++++++++++++++++++++--------------------------- + utils/key2pub.py | 146 ++++++++++++++++++++++++----------------------- 2 files changed, 75 insertions(+), 73 deletions(-) diff --git a/Makefile b/Makefile -index 1f25509..523a96e 100644 +index a3ead30..8da38d0 100644 --- a/Makefile +++ b/Makefile @@ -112,7 +112,7 @@ $(REG_BIN): @@ -40,7 +42,7 @@ index 1f25509..523a96e 100644 $(LIBREG): regdb.h reglib.h reglib.c $(NQ) ' CC ' $@ diff --git a/utils/key2pub.py b/utils/key2pub.py -index 3e84cd2..c76cbbb 100755 +index 9bb04cd..9f92ebd 100755 --- a/utils/key2pub.py +++ b/utils/key2pub.py @@ -1,126 +1,128 @@ @@ -223,7 +225,7 @@ index 3e84cd2..c76cbbb 100755 + .n = _n, .len_n = sizeof(_n), \\ } - static const struct key_params keys[] = { + static const struct key_params __attribute__ ((unused)) keys[] = { ''') - for n in xrange(n + 1): - output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) @@ -267,5 +269,5 @@ index 3e84cd2..c76cbbb 100755 modes[mode][1](output, idx - 1) -- -2.7.3 +2.18.0 diff --git a/bsp/buildroot/package/crda/crda.hash b/bsp/buildroot/package/crda/crda.hash index 45b9d204..edec55a0 100644 --- a/bsp/buildroot/package/crda/crda.hash +++ b/bsp/buildroot/package/crda/crda.hash @@ -1,2 +1,2 @@ -# From https://www.kernel.org/pub/software/network/crda/sha256sums.asc -sha256 43fcb9679f8b75ed87ad10944a506292def13e4afb194afa7aa921b01e8ecdbf crda-3.18.tar.xz +# Locally computed +sha256 5a8f35bb8b27474f466b0e75d451ba917433d8aab1889678a64d9c4e72a8b8c2 crda-4.14.tar.gz diff --git a/bsp/buildroot/package/crda/crda.mk b/bsp/buildroot/package/crda/crda.mk index df879f68..eb43a7d7 100644 --- a/bsp/buildroot/package/crda/crda.mk +++ b/bsp/buildroot/package/crda/crda.mk @@ -4,9 +4,8 @@ # ################################################################################ -CRDA_VERSION = 3.18 -CRDA_SOURCE = crda-$(CRDA_VERSION).tar.xz -CRDA_SITE = $(BR2_KERNEL_MIRROR)/software/network/crda +CRDA_VERSION = 4.14 +CRDA_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot CRDA_DEPENDENCIES = host-pkgconf host-python-pycrypto libnl libgcrypt CRDA_LICENSE = ISC CRDA_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.hash b/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.hash index 48d608e1..eeb481d6 100644 --- a/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.hash +++ b/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 90a4c5e46d7d5fcc0c6155f1add824e73c27de9b1ff0b7fe2017a104cf9398dd cryptodev-linux-0a54e38b264d9a3bed74c642a61b88191660d0f8.tar.gz +sha256 994ed2f715dd3786f534d5215ae7ae4735b84cff28ea41080ff3501bf1503944 cryptodev-linux-f60aa08c63fc02780554a0a12180a478ca27d49f.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.mk b/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.mk index dacb29da..028f7b1d 100644 --- a/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.mk +++ b/bsp/buildroot/package/cryptodev-linux/cryptodev-linux.mk @@ -4,7 +4,7 @@ # ################################################################################ -CRYPTODEV_LINUX_VERSION = 0a54e38b264d9a3bed74c642a61b88191660d0f8 +CRYPTODEV_LINUX_VERSION = f60aa08c63fc02780554a0a12180a478ca27d49f CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,$(CRYPTODEV_LINUX_VERSION)) CRYPTODEV_LINUX_INSTALL_STAGING = YES CRYPTODEV_LINUX_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/cryptopp/0001-Fix-possible-DoS-in-ASN.1-decoders-CVE-2016-9939.patch b/bsp/buildroot/package/cryptopp/0001-Fix-possible-DoS-in-ASN.1-decoders-CVE-2016-9939.patch deleted file mode 100644 index 2d0f1d91..00000000 --- a/bsp/buildroot/package/cryptopp/0001-Fix-possible-DoS-in-ASN.1-decoders-CVE-2016-9939.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 3d9181d7bdd8e491f745dbc9e34bd20b6f6da069 Mon Sep 17 00:00:00 2001 -From: Gergely Nagy -Date: Wed, 14 Dec 2016 13:19:01 +0100 -Subject: [PATCH] Fix possible DoS in ASN.1 decoders (CVE-2016-9939) - -Signed-off-by: Peter Korsgaard ---- - asn.cpp | 10 ++++++++++ - asn.h | 2 ++ - 2 files changed, 12 insertions(+) - -diff --git a/asn.cpp b/asn.cpp -index 297ff01..2e923ef 100644 ---- a/asn.cpp -+++ b/asn.cpp -@@ -123,6 +123,8 @@ size_t BERDecodeOctetString(BufferedTransformation &bt, SecByteBlock &str) - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - str.New(bc); - if (bc != bt.Get(str, bc)) -@@ -139,6 +141,8 @@ size_t BERDecodeOctetString(BufferedTransformation &bt, BufferedTransformation & - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - bt.TransferTo(str, bc); - return bc; -@@ -161,6 +165,8 @@ size_t BERDecodeTextString(BufferedTransformation &bt, std::string &str, byte as - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - SecByteBlock temp(bc); - if (bc != bt.Get(temp, bc)) -@@ -188,6 +194,10 @@ size_t BERDecodeBitString(BufferedTransformation &bt, SecByteBlock &str, unsigne - size_t bc; - if (!BERLengthDecode(bt, bc)) - BERDecodeError(); -+ if (bc == 0) -+ BERDecodeError(); -+ if (bc > bt.MaxRetrievable()) -+ BERDecodeError(); - - byte unused; - if (!bt.Get(unused)) -diff --git a/asn.h b/asn.h -index ed9de52..33f0dd0 100644 ---- a/asn.h -+++ b/asn.h -@@ -498,6 +498,8 @@ void BERDecodeUnsigned(BufferedTransformation &in, T &w, byte asnTag = INTEGER, - bool definite = BERLengthDecode(in, bc); - if (!definite) - BERDecodeError(); -+ if (bc > in.MaxRetrievable()) -+ BERDecodeError(); - - SecByteBlock buf(bc); - --- -2.10.2 - diff --git a/bsp/buildroot/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch b/bsp/buildroot/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch new file mode 100644 index 00000000..7f93bcea --- /dev/null +++ b/bsp/buildroot/package/cryptopp/0001-config.h-avx2-depends-on-gcc-4.9.patch @@ -0,0 +1,40 @@ +From c484938fb4a57430a2e47334f753b1d771aa0f1b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 21 Feb 2019 20:26:24 +0100 +Subject: [PATCH] config.h: avx2 depends on gcc 4.9 + +Build of cryptopp on x86 with gcc 4.8 fails on: +chacha_avx.cpp: In function 'void CryptoPP::ChaCha_OperateKeystream_AVX2(const word32*, const byte*, CryptoPP::byte*, unsigned int)': +chacha_avx.cpp:98:85: error: '_mm256_broadcastsi128_si256' was not declared in this scope + +This is due to the fact that _mm256_broadcastsi128_si256 has been added +only in gcc 4.9: +https://github.com/gcc-mirror/gcc/commit/78e8d5ffbf0ba5031b736d2c6fc6a44605047cbc + +So bump CRYPTOPP_GCC_VERSION from 4.7 to 4.9 for AVX2 support + +Fixes: + - http://autobuild.buildroot.org/results/195e40b34344f773da51a3fbff9d8e76c517eed1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/weidai11/cryptopp/pull/809] +--- + config.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.h b/config.h +index eccba009..4516d2b3 100644 +--- a/config.h ++++ b/config.h +@@ -591,7 +591,7 @@ NAMESPACE_END + // Requires Binutils 2.24 + #if !defined(CRYPTOPP_DISABLE_AVX2) && defined(CRYPTOPP_AVX_AVAILABLE) && \ + (defined(__AVX2__) || (CRYPTOPP_MSC_VERSION >= 1800) || (__SUNPRO_CC >= 0x5130) || \ +- (CRYPTOPP_GCC_VERSION >= 40700) || (__INTEL_COMPILER >= 1400) || \ ++ (CRYPTOPP_GCC_VERSION >= 40900) || (__INTEL_COMPILER >= 1400) || \ + (CRYPTOPP_LLVM_CLANG_VERSION >= 30100) || (CRYPTOPP_APPLE_CLANG_VERSION >= 40600)) + #define CRYPTOPP_AVX2_AVAILABLE 1 + #endif +-- +2.14.1 + diff --git a/bsp/buildroot/package/cryptopp/cryptopp.hash b/bsp/buildroot/package/cryptopp/cryptopp.hash index 577638c1..8d12a98d 100644 --- a/bsp/buildroot/package/cryptopp/cryptopp.hash +++ b/bsp/buildroot/package/cryptopp/cryptopp.hash @@ -1,2 +1,5 @@ -# Locally computed -sha256 a75ef486fe3128008bbb201efee3dcdcffbe791120952910883b26337ec32c34 cryptopp565.zip +# Hash from: https://www.cryptopp.com/release800.html: +sha256 bbfd89b348846b920d97a1d32b88c85caf0d7bb423d4fcfab7c44349aaceb82c cryptopp800.zip + +# Hash for license file: +sha256 fe5f5f187e6e38ac2f833956fc5c4cab2df08797cff07f540e4ee74f12f7ee5b License.txt diff --git a/bsp/buildroot/package/cryptopp/cryptopp.mk b/bsp/buildroot/package/cryptopp/cryptopp.mk index 4b121aef..8e3277a9 100644 --- a/bsp/buildroot/package/cryptopp/cryptopp.mk +++ b/bsp/buildroot/package/cryptopp/cryptopp.mk @@ -4,15 +4,15 @@ # ################################################################################ -CRYPTOPP_VERSION = 5.6.5 +CRYPTOPP_VERSION = 8.0.0 CRYPTOPP_SOURCE = cryptopp$(subst .,,$(CRYPTOPP_VERSION)).zip -CRYPTOPP_SITE = http://cryptopp.com/ +CRYPTOPP_SITE = https://cryptopp.com CRYPTOPP_LICENSE = BSL-1.0 CRYPTOPP_LICENSE_FILES = License.txt CRYPTOPP_INSTALL_STAGING = YES define HOST_CRYPTOPP_EXTRACT_CMDS - $(UNZIP) $(DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D) + $(UNZIP) $(HOST_CRYPTOPP_DL_DIR)/$(CRYPTOPP_SOURCE) -d $(@D) endef HOST_CRYPTOPP_MAKE_OPTS = \ diff --git a/bsp/buildroot/package/cryptsetup/Config.in b/bsp/buildroot/package/cryptsetup/Config.in index 7322a4ba..14b897a8 100644 --- a/bsp/buildroot/package/cryptsetup/Config.in +++ b/bsp/buildroot/package/cryptsetup/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_CRYPTSETUP select BR2_PACKAGE_LVM2 select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_JSON_C help This tool helps manipulate dm-crypt and luks partitions for diff --git a/bsp/buildroot/package/cryptsetup/cryptsetup.hash b/bsp/buildroot/package/cryptsetup/cryptsetup.hash index 1573d530..748ea0ea 100644 --- a/bsp/buildroot/package/cryptsetup/cryptsetup.hash +++ b/bsp/buildroot/package/cryptsetup/cryptsetup.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/cryptsetup/v2.0/sha256sums.asc -sha256 4d6cca04c1f5ff4a68d045d190efb2623087eda0274ded92f92a4b6911e501d4 cryptsetup-2.0.3.tar.xz +sha256 7c51fae0f0e7ea9af0f515b2ac77009fb2969a6619ebab47d097dca38b083d30 cryptsetup-2.0.6.tar.xz sha256 45670cce8b6a0ddd66c8016cd8ccef6cd71f35717cbacc7f1e895b3855207b33 COPYING sha256 8c33cc37871654ec7ed87e6fbb896c8cf33ef5ef05b1611a5aed857596ffafa5 COPYING.LGPL diff --git a/bsp/buildroot/package/cryptsetup/cryptsetup.mk b/bsp/buildroot/package/cryptsetup/cryptsetup.mk index d81aa7b3..7788bfb6 100644 --- a/bsp/buildroot/package/cryptsetup/cryptsetup.mk +++ b/bsp/buildroot/package/cryptsetup/cryptsetup.mk @@ -5,7 +5,7 @@ ################################################################################ CRYPTSETUP_VERSION_MAJOR = 2.0 -CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).3 +CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).6 CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR) CRYPTSETUP_DEPENDENCIES = lvm2 popt util-linux host-pkgconf json-c \ @@ -14,6 +14,7 @@ CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL CRYPTSETUP_INSTALL_STAGING = YES CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)" +CRYPTSETUP_CONF_OPTS += --enable-blkid # cryptsetup uses libgcrypt by default, but can be configured to use OpenSSL # or kernel crypto modules instead @@ -37,7 +38,8 @@ HOST_CRYPTSETUP_DEPENDENCIES = \ host-openssl HOST_CRYPTSETUP_CONF_OPTS = --with-crypto_backend=openssl \ - --disable-kernel_crypto + --disable-kernel_crypto \ + --enable-blkid $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/cunit/Config.in b/bsp/buildroot/package/cunit/Config.in new file mode 100644 index 00000000..8bcfa2a4 --- /dev/null +++ b/bsp/buildroot/package/cunit/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_CUNIT + bool "cunit" + help + An automated testing framework in 'C'. + + http://cunit.sourceforge.net/ diff --git a/bsp/buildroot/package/cunit/cunit.hash b/bsp/buildroot/package/cunit/cunit.hash new file mode 100644 index 00000000..bbd43a78 --- /dev/null +++ b/bsp/buildroot/package/cunit/cunit.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a40f214 CUnit-2.1-3.tar.bz2 +sha256 5d9d73d41a57dd2f34487ef3978a2c13cdb97294baeeb81fcd274796399eb15f COPYING diff --git a/bsp/buildroot/package/cunit/cunit.mk b/bsp/buildroot/package/cunit/cunit.mk new file mode 100644 index 00000000..9fc3b961 --- /dev/null +++ b/bsp/buildroot/package/cunit/cunit.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# cunit +# +################################################################################ + +CUNIT_VERSION = 2.1-3 +CUNIT_SITE = http://downloads.sourceforge.net/project/cunit/CUnit/$(CUNIT_VERSION) +CUNIT_SOURCE = CUnit-$(CUNIT_VERSION).tar.bz2 +CUNIT_INSTALL_STAGING = YES +CUNIT_LICENSE = LGPL-2.0+ +CUNIT_LICENSE_FILES = COPYING + +# The source archive does not have the autoconf/automake material generated. +CUNIT_AUTORECONF = YES + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch b/bsp/buildroot/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch new file mode 100644 index 00000000..3eb2d35c --- /dev/null +++ b/bsp/buildroot/package/cups-filters/0002-Poppler-removed-memCheck-and-gMemReport-functions.patch @@ -0,0 +1,79 @@ +From 6b0747c1630dd973acd138f927dbded4ea45e360 Mon Sep 17 00:00:00 2001 +From: Olivier Schonken +Date: Fri, 5 Oct 2018 12:05:31 +0200 +Subject: [PATCH] Poppler removed memCheck and gMemReport functions + +Only use gMemReport and memCheck functions if poppler version less +than 0.69.0 + +The poppler project removed the memCheck and gMemReport functions in +commits c362ab1b97f20c5b73b3bad8d52015f679178748 - Remove DEBUG_MEM +from Object since this uses RAII now and hence cannot leak. +(The existing tracking also is not thread-safe and hence unreliable.) + +and + +f89446f6917a869b0f1a80fcc8ce81a7213dade4 - Remove generic heap debugging +from gmem since external tools and compiler instrumentation achieve the +same effect. + +This commit solves https://github.com/OpenPrinting/cups-filters/issues/62 + +Signed-off-by: Olivier Schonken +--- + filter/pdftoijs.cxx | 2 ++ + filter/pdftoopvp/pdftoopvp.cxx | 2 ++ + filter/pdftoraster.cxx | 2 ++ + 3 files changed, 6 insertions(+) + +diff --git a/filter/pdftoijs.cxx b/filter/pdftoijs.cxx +index 22bc33f4..dd6b6fa0 100644 +--- a/filter/pdftoijs.cxx ++++ b/filter/pdftoijs.cxx +@@ -503,9 +503,11 @@ err1: + ppdClose(ppd); + free(outputfile); + ++#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 69 + // Check for memory leaks + Object::memCheck(stderr); + gMemReport(stderr); ++#endif + + return exitCode; + } +diff --git a/filter/pdftoopvp/pdftoopvp.cxx b/filter/pdftoopvp/pdftoopvp.cxx +index 024941ab..bf25983b 100644 +--- a/filter/pdftoopvp/pdftoopvp.cxx ++++ b/filter/pdftoopvp/pdftoopvp.cxx +@@ -763,9 +763,11 @@ err2: + err0: + delete globalParams; + ++#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 69 + // check for memory leaks + Object::memCheck(stderr); + gMemReport(stderr); ++#endif + + } + /* muntrace(); */ +diff --git a/filter/pdftoraster.cxx b/filter/pdftoraster.cxx +index 0c63ab8d..4ebf02b0 100644 +--- a/filter/pdftoraster.cxx ++++ b/filter/pdftoraster.cxx +@@ -2162,9 +2162,11 @@ err1: + cmsDeleteTransform(colorTransform); + } + ++#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 69 + // Check for memory leaks + Object::memCheck(stderr); + gMemReport(stderr); ++#endif + + return exitCode; + } +-- +2.17.1 + diff --git a/bsp/buildroot/package/cups-filters/cups-filters.hash b/bsp/buildroot/package/cups-filters/cups-filters.hash index 7bb00818..e426ad8b 100644 --- a/bsp/buildroot/package/cups-filters/cups-filters.hash +++ b/bsp/buildroot/package/cups-filters/cups-filters.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 aad95e35033154f54639923b439e0657fc9f616b9eac7490df89514362551f98 cups-filters-1.20.3.tar.gz -sha256 24cc91478ca68d6d982dfd86181210ad5f0931ec431bdb740793e3d6555fdcd8 COPYING +sha256 981b280bc5275a21c6f436aff6207e03cab36dc304c119bbac507db940e7421c cups-filters-1.21.3.tar.gz +sha256 8e697cf4681ebbca716bf8cc30dde51c264e32ceee41fa63ceb5213334204b83 COPYING diff --git a/bsp/buildroot/package/cups-filters/cups-filters.mk b/bsp/buildroot/package/cups-filters/cups-filters.mk index 3c5e13da..81d91956 100644 --- a/bsp/buildroot/package/cups-filters/cups-filters.mk +++ b/bsp/buildroot/package/cups-filters/cups-filters.mk @@ -4,12 +4,13 @@ # ################################################################################ -CUPS_FILTERS_VERSION = 1.20.3 +CUPS_FILTERS_VERSION = 1.21.3 CUPS_FILTERS_SITE = http://openprinting.org/download/cups-filters CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+, MIT, BSD-4-Clause CUPS_FILTERS_LICENSE_FILES = COPYING # 0001-Replace-relative-linking-with-absolute-linking.patch CUPS_FILTERS_AUTORECONF = YES + CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg CUPS_FILTERS_CONF_OPTS = --disable-imagefilters \ diff --git a/bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch b/bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch new file mode 100644 index 00000000..ff242f82 --- /dev/null +++ b/bsp/buildroot/package/cups/0005-Fix-builds-without-PAM-Issue-5283.patch @@ -0,0 +1,189 @@ +From 570933a6a3597371bae1beeb754ee8711d6305ab Mon Sep 17 00:00:00 2001 +From: Michael R Sweet +Date: Mon, 2 Apr 2018 20:05:13 -0400 +Subject: [PATCH] Fix builds without PAM (Issue #5283) + +[baruch: drop CHANGES.md hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit 570933a6a3 + + CHANGES.md | 8 ++- + scheduler/auth.c | 134 ++--------------------------------------------- + 2 files changed, 11 insertions(+), 131 deletions(-) + +diff --git a/scheduler/auth.c b/scheduler/auth.c +index 8b134b5d7257..fa4e2715de34 100644 +--- a/scheduler/auth.c ++++ b/scheduler/auth.c +@@ -1,8 +1,8 @@ + /* + * Authorization routines for the CUPS scheduler. + * +- * Copyright 2007-2016 by Apple Inc. +- * Copyright 1997-2007 by Easy Software Products, all rights reserved. ++ * Copyright © 2007-2018 by Apple Inc. ++ * Copyright © 1997-2007 by Easy Software Products, all rights reserved. + * + * This file contains Kerberos support code, copyright 2006 by + * Jelmer Vernooij. +@@ -71,9 +71,6 @@ static int check_authref(cupsd_client_t *con, const char *right); + static int compare_locations(cupsd_location_t *a, + cupsd_location_t *b); + static cupsd_authmask_t *copy_authmask(cupsd_authmask_t *am, void *data); +-#if !HAVE_LIBPAM +-static char *cups_crypt(const char *pw, const char *salt); +-#endif /* !HAVE_LIBPAM */ + static void free_authmask(cupsd_authmask_t *am, void *data); + #if HAVE_LIBPAM + static int pam_func(int, const struct pam_message **, +@@ -694,14 +691,14 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */ + * client... + */ + +- pass = cups_crypt(password, pw->pw_passwd); ++ pass = crypt(password, pw->pw_passwd); + + if (!pass || strcmp(pw->pw_passwd, pass)) + { + # ifdef HAVE_SHADOW_H + if (spw) + { +- pass = cups_crypt(password, spw->sp_pwdp); ++ pass = crypt(password, spw->sp_pwdp); + + if (pass == NULL || strcmp(spw->sp_pwdp, pass)) + { +@@ -1995,129 +1992,6 @@ copy_authmask(cupsd_authmask_t *mask, /* I - Existing auth mask */ + } + + +-#if !HAVE_LIBPAM +-/* +- * 'cups_crypt()' - Encrypt the password using the DES or MD5 algorithms, +- * as needed. +- */ +- +-static char * /* O - Encrypted password */ +-cups_crypt(const char *pw, /* I - Password string */ +- const char *salt) /* I - Salt (key) string */ +-{ +- if (!strncmp(salt, "$1$", 3)) +- { +- /* +- * Use MD5 passwords without the benefit of PAM; this is for +- * Slackware Linux, and the algorithm was taken from the +- * old shadow-19990827/lib/md5crypt.c source code... :( +- */ +- +- int i; /* Looping var */ +- unsigned long n; /* Output number */ +- int pwlen; /* Length of password string */ +- const char *salt_end; /* End of "salt" data for MD5 */ +- char *ptr; /* Pointer into result string */ +- _cups_md5_state_t state; /* Primary MD5 state info */ +- _cups_md5_state_t state2; /* Secondary MD5 state info */ +- unsigned char digest[16]; /* MD5 digest result */ +- static char result[120]; /* Final password string */ +- +- +- /* +- * Get the salt data between dollar signs, e.g. $1$saltdata$md5. +- * Get a maximum of 8 characters of salt data after $1$... +- */ +- +- for (salt_end = salt + 3; *salt_end && (salt_end - salt) < 11; salt_end ++) +- if (*salt_end == '$') +- break; +- +- /* +- * Compute the MD5 sum we need... +- */ +- +- pwlen = strlen(pw); +- +- _cupsMD5Init(&state); +- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); +- _cupsMD5Append(&state, (unsigned char *)salt, salt_end - salt); +- +- _cupsMD5Init(&state2); +- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen); +- _cupsMD5Append(&state2, (unsigned char *)salt + 3, salt_end - salt - 3); +- _cupsMD5Append(&state2, (unsigned char *)pw, pwlen); +- _cupsMD5Finish(&state2, digest); +- +- for (i = pwlen; i > 0; i -= 16) +- _cupsMD5Append(&state, digest, i > 16 ? 16 : i); +- +- for (i = pwlen; i > 0; i >>= 1) +- _cupsMD5Append(&state, (unsigned char *)((i & 1) ? "" : pw), 1); +- +- _cupsMD5Finish(&state, digest); +- +- for (i = 0; i < 1000; i ++) +- { +- _cupsMD5Init(&state); +- +- if (i & 1) +- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); +- else +- _cupsMD5Append(&state, digest, 16); +- +- if (i % 3) +- _cupsMD5Append(&state, (unsigned char *)salt + 3, salt_end - salt - 3); +- +- if (i % 7) +- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); +- +- if (i & 1) +- _cupsMD5Append(&state, digest, 16); +- else +- _cupsMD5Append(&state, (unsigned char *)pw, pwlen); +- +- _cupsMD5Finish(&state, digest); +- } +- +- /* +- * Copy the final sum to the result string and return... +- */ +- +- memcpy(result, salt, (size_t)(salt_end - salt)); +- ptr = result + (salt_end - salt); +- *ptr++ = '$'; +- +- for (i = 0; i < 5; i ++, ptr += 4) +- { +- n = ((((unsigned)digest[i] << 8) | (unsigned)digest[i + 6]) << 8); +- +- if (i < 4) +- n |= (unsigned)digest[i + 12]; +- else +- n |= (unsigned)digest[5]; +- +- to64(ptr, n, 4); +- } +- +- to64(ptr, (unsigned)digest[11], 2); +- ptr += 2; +- *ptr = '\0'; +- +- return (result); +- } +- else +- { +- /* +- * Use the standard crypt() function... +- */ +- +- return (crypt(pw, salt)); +- } +-} +-#endif /* !HAVE_LIBPAM */ +- +- + /* + * 'free_authmask()' - Free function for auth masks. + */ +-- +2.17.0 + diff --git a/bsp/buildroot/package/cups/cups.hash b/bsp/buildroot/package/cups/cups.hash index d4f20b60..a19b3b09 100644 --- a/bsp/buildroot/package/cups/cups.hash +++ b/bsp/buildroot/package/cups/cups.hash @@ -1,2 +1,3 @@ # Locally calculated: -sha256 a8795e2aa54dcfbdc9ff254a770f0d7154e35c981bca5b3369050c5193ab5a21 cups-2.2.5-source.tar.gz +sha256 3c4b637b737077565ccdfbd5f61785d03f49461ae736fcc2c0ffaf41d2c6ea6a cups-2.2.7-source.tar.gz +sha256 6e0e0ffbde118aae709f7ef65590de9071e8b2cd322f84fd645c6b64f3cc452c LICENSE.txt diff --git a/bsp/buildroot/package/cups/cups.mk b/bsp/buildroot/package/cups/cups.mk index 0726d8a3..8f338248 100644 --- a/bsp/buildroot/package/cups/cups.mk +++ b/bsp/buildroot/package/cups/cups.mk @@ -4,7 +4,7 @@ # ################################################################################ -CUPS_VERSION = 2.2.5 +CUPS_VERSION = 2.2.7 CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.gz CUPS_SITE = https://github.com/apple/cups/releases/download/v$(CUPS_VERSION) CUPS_LICENSE = GPL-2.0, LGPL-2.0 @@ -24,6 +24,7 @@ CUPS_CONF_OPTS = \ --without-java \ --without-php \ --disable-gssapi \ + --disable-pam \ --libdir=/usr/lib CUPS_CONFIG_SCRIPTS = cups-config CUPS_DEPENDENCIES = \ diff --git a/bsp/buildroot/package/cutelyst/Config.in b/bsp/buildroot/package/cutelyst/Config.in new file mode 100644 index 00000000..8eff938d --- /dev/null +++ b/bsp/buildroot/package/cutelyst/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_CUTELYST + bool "cutelyst" + depends on BR2_PACKAGE_QT5 + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 + select BR2_PACKAGE_QT5BASE_GUI + help + A C++ Web Framework built on top of Qt, using + the simple approach of Catalyst (Perl) framework. + + https://cutelyst.org + +comment "cutelyst needs a toolchain w/ C++, gcc >= 4.8, headers >= 3.3" + depends on BR2_PACKAGE_QT5 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 diff --git a/bsp/buildroot/package/cutelyst/cutelyst.hash b/bsp/buildroot/package/cutelyst/cutelyst.hash new file mode 100644 index 00000000..87506ab9 --- /dev/null +++ b/bsp/buildroot/package/cutelyst/cutelyst.hash @@ -0,0 +1,3 @@ +# Locally calculated after checking pgp signature +sha256 f87c2f04b148a50f5df13aa5d75b45bf20e56be2e2cd6e17c2aef5231db4b467 cutelyst-2.7.0.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/cutelyst/cutelyst.mk b/bsp/buildroot/package/cutelyst/cutelyst.mk new file mode 100644 index 00000000..42a317e7 --- /dev/null +++ b/bsp/buildroot/package/cutelyst/cutelyst.mk @@ -0,0 +1,38 @@ +################################################################################ +# +# cutelyst +# +################################################################################ + +CUTELYST_VERSION = 2.7.0 +CUTELYST_SITE = https://github.com/cutelyst/cutelyst/archive/v$(CUTELYST_VERSION) +CUTELYST_INSTALL_STAGING = YES +CUTELYST_SUPPORTS_IN_SOURCE_BUILD = NO +CUTELYST_LICENSE = LGPL-2.1+ +CUTELYST_LICENSE_FILES = COPYING +CUTELYST_DEPENDENCIES = qt5base + +CUTELYST_CONF_OPTS += \ + -DPLUGIN_CSRFPROTECTION=ON \ + -DPLUGIN_VIEW_GRANTLEE=OFF + +# Qt 5.8 needs atomics, which on various architectures are in -latomic +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC)$(BR2_PACKAGE_QT5_VERSION_LATEST),yy) +CUTELYST_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + +ifeq ($(BR2_PACKAGE_LIBPWQUALITY),y) +CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=ON +CUTELYST_DEPENDENCIES += libpwquality +else +CUTELYST_CONF_OPTS += -DPLUGIN_VALIDATOR_PWQUALITY=OFF +endif + +ifeq ($(BR2_PACKAGE_JEMALLOC),y) +CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=ON +CUTELYST_DEPENDENCIES += jemalloc +else +CUTELYST_CONF_OPTS += -DUSE_JEMALLOC=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/czmq/czmq.hash b/bsp/buildroot/package/czmq/czmq.hash index 526ea594..c42525c7 100644 --- a/bsp/buildroot/package/czmq/czmq.hash +++ b/bsp/buildroot/package/czmq/czmq.hash @@ -1,2 +1,6 @@ +# From https://github.com/zeromq/czmq/releases +md5 6d3a6fdd25c2bb29897c53670dce97bf czmq-4.1.1.tar.gz +sha1 629d34e8b5c1f2dd88689350f71f9917a8d76f23 czmq-4.1.1.tar.gz # Locally calculated -sha256 5c76de41f736f0c059e0b26174ef99200f2aba2fa38333683dbe4944b2f80555 czmq-5205ec201e97c3a652c17eb86b18b70350b54512.tar.gz +sha256 f00ff419881dc2a05d0686c8467cd89b4882677fc56f31c0e2cc81c134cbb0c0 czmq-4.1.1.tar.gz +sha256 1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5 LICENCE diff --git a/bsp/buildroot/package/czmq/czmq.mk b/bsp/buildroot/package/czmq/czmq.mk index 5305789d..6eb93142 100644 --- a/bsp/buildroot/package/czmq/czmq.mk +++ b/bsp/buildroot/package/czmq/czmq.mk @@ -4,10 +4,10 @@ # ################################################################################ -CZMQ_VERSION = 5205ec201e97c3a652c17eb86b18b70350b54512 -CZMQ_SITE = $(call github,zeromq,czmq,$(CZMQ_VERSION)) +CZMQ_VERSION = 4.1.1 +CZMQ_SITE = https://github.com/zeromq/czmq/releases/download/v$(CZMQ_VERSION) -# Autoreconf required as we use the git tree +# 0001-configure.ac-remove-Werror.patch touches configure.ac CZMQ_AUTORECONF = YES CZMQ_INSTALL_STAGING = YES CZMQ_DEPENDENCIES = zeromq host-pkgconf @@ -18,10 +18,4 @@ CZMQ_LICENSE_FILES = LICENSE # host-python, so disable asciidoc entirely. CZMQ_CONF_ENV = ac_cv_prog_czmq_have_asciidoc=no -define CZMQ_CREATE_CONFIG_DIR - mkdir -p $(@D)/config -endef - -CZMQ_POST_PATCH_HOOKS += CZMQ_CREATE_CONFIG_DIR - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/dado/dado.hash b/bsp/buildroot/package/dado/dado.hash index 973bdb3f..a57f52b8 100644 --- a/bsp/buildroot/package/dado/dado.hash +++ b/bsp/buildroot/package/dado/dado.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 5a10ed7ff7be34ac004d10d6ea62ee8efc2b594c50ffc93e840e7fb7a2e6b4d0 dado-1.8.3-1.src.rock +sha256 141953aa7714e3145a6adfd71d6acbbe377e07ab920bc8ec4039394774da8a6e dado-1.8.3/doc/license.html diff --git a/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk b/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk index c042a14e..6ac1e889 100644 --- a/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk +++ b/bsp/buildroot/package/dahdi-linux/dahdi-linux.mk @@ -56,7 +56,7 @@ DAHDI_LINUX_MODULE_MAKE_OPTS = \ define DAHDI_LINUX_EXTRACT_FW $(foreach f,$(DAHDI_LINUX_FW_FILES),\ - cp $(BR2_DL_DIR)/$(f) $(@D)/drivers/dahdi/firmware/$(f)$(sep)) + cp $(DAHDI_LINUX_DL_DIR)/$(f) $(@D)/drivers/dahdi/firmware/$(f)$(sep)) endef DAHDI_LINUX_POST_EXTRACT_HOOKS += DAHDI_LINUX_EXTRACT_FW diff --git a/bsp/buildroot/package/dante/dante.mk b/bsp/buildroot/package/dante/dante.mk index 687567e1..0bd036d3 100644 --- a/bsp/buildroot/package/dante/dante.mk +++ b/bsp/buildroot/package/dante/dante.mk @@ -9,10 +9,17 @@ DANTE_SITE = http://www.inet.no/dante/files DANTE_LICENSE = BSD-3-Clause DANTE_LICENSE_FILES = LICENSE -# Dante uses a *VERY* old configure.ac -DANTE_LIBTOOL_PATCH = NO +# 0002-compiler.m4-do-not-remove-g-flag.patch touches a m4 file +DANTE_AUTORECONF = YES -DANTE_CONF_OPTS += --disable-client --disable-preload +DANTE_CONF_OPTS += --disable-client --disable-preload --without-pam + +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +DANTE_DEPENDENCIES += linux-pam +DANTE_CONF_OPTS += --with-pam +else +DANTE_CONF_OPTS += --without-pam +endif define DANTE_INSTALL_CONFIG_FILE $(INSTALL) -D -m 644 $(@D)/example/sockd.conf \ diff --git a/bsp/buildroot/package/dash/0002-histedit-fix-build-with-musl-libc.patch b/bsp/buildroot/package/dash/0002-histedit-fix-build-with-musl-libc.patch deleted file mode 100644 index a9e4c5ae..00000000 --- a/bsp/buildroot/package/dash/0002-histedit-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 2da5b72c704fed10f1b04b5432ac6b078d016fae Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 2 Mar 2018 08:25:36 +0200 -Subject: [PATCH] histedit: fix build with musl libc - -musl libc defines the optreset BSD extension only in getopt.h. This -fixes the following build failure: - -histedit.c: In function 'histcmd': -histedit.c:220:2: error: 'optreset' undeclared (first use in this function) - optreset = 1; optind = 1; /* initialize getopt */ - ^~~~~~~~ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://www.mail-archive.com/dash@vger.kernel.org/msg01389.html - - src/histedit.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/histedit.c b/src/histedit.c -index 94465d785cc9..f5c90aba873b 100644 ---- a/src/histedit.c -+++ b/src/histedit.c -@@ -39,6 +39,7 @@ - #include - #include - #include -+#include - /* - * Editline and history functions (and glue). - */ --- -2.16.1 - diff --git a/bsp/buildroot/package/dash/dash.hash b/bsp/buildroot/package/dash/dash.hash index b5a37b61..a2e13153 100644 --- a/bsp/buildroot/package/dash/dash.hash +++ b/bsp/buildroot/package/dash/dash.hash @@ -1,2 +1,4 @@ -# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.9.1.tar.gz.sha256sum -sha256 5ecd5bea72a93ed10eb15a1be9951dd51b52e5da1d4a7ae020efd9826b49e659 dash-0.5.9.1.tar.gz +# From http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.10.2.tar.gz.sha256sum +sha256 3c663919dc5c66ec991da14c7cf7e0be8ad00f3db73986a987c118862b5f6071 dash-0.5.10.2.tar.gz +# Locally calculated +sha256 254a7894923ff62e69184a991dcbccae97edee58a1105e8efbe78caf10595d72 COPYING diff --git a/bsp/buildroot/package/dash/dash.mk b/bsp/buildroot/package/dash/dash.mk index 2d415558..3014aafe 100644 --- a/bsp/buildroot/package/dash/dash.mk +++ b/bsp/buildroot/package/dash/dash.mk @@ -4,7 +4,7 @@ # ################################################################################ -DASH_VERSION = 0.5.9.1 +DASH_VERSION = 0.5.10.2 DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c) DASH_LICENSE_FILES = COPYING @@ -28,7 +28,15 @@ DASH_CONF_OPTS += --without-libedit endif define DASH_INSTALL_TARGET_CMDS - $(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash + $(INSTALL) -m 0755 -D $(@D)/src/dash $(TARGET_DIR)/bin/dash endef +# Add /bin/dash to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define DASH_ADD_DASH_TO_SHELLS + grep -qsE '^/bin/dash$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/dash" >> $(TARGET_DIR)/etc/shells +endef +DASH_TARGET_FINALIZE_HOOKS += DASH_ADD_DASH_TO_SHELLS + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/davfs2/0001-src-Makefile.am-do-not-hardcode-fstack-protector-str.patch b/bsp/buildroot/package/davfs2/0001-src-Makefile.am-do-not-hardcode-fstack-protector-str.patch new file mode 100644 index 00000000..54ae62fc --- /dev/null +++ b/bsp/buildroot/package/davfs2/0001-src-Makefile.am-do-not-hardcode-fstack-protector-str.patch @@ -0,0 +1,45 @@ +From d209ef650cf2f760ef8217748ab10716bd22d60d Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sun, 24 Jun 2018 10:35:37 +0200 +Subject: [PATCH] src/Makefile.am: do not hardcode -fstack-protector-strong + +davfs2 does not truly require -fstack-protector-strong, so do not hardcode +it. + +Signed-off-by: Peter Korsgaard +--- + src/Makefile.am | 3 +-- + src/Makefile.in | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index f083462..ed6b682 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -32,8 +32,7 @@ mount_davfs_SOURCES = cache.c dav_coda.c \ + kernel_interface.h mount_davfs.h webdav.h + umount_davfs_SOURCES = umount_davfs.c defaults.h + +-AM_CFLAGS = -Wall -Werror=format-security \ +- -fstack-protector-strong --param=ssp-buffer-size=4 ++AM_CFLAGS = -Wall -Werror=format-security + DEFS = -DPROGRAM_NAME=\"mount.davfs\" \ + -DDAV_SYS_CONF_DIR=\"$(pkgsysconfdir)\" \ + -DDAV_LOCALSTATE_DIR=\"$(dav_localstatedir)\" \ +diff --git a/src/Makefile.in b/src/Makefile.in +index 9fee542..e98758d 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -315,8 +315,7 @@ mount_davfs_SOURCES = cache.c dav_coda.c \ + kernel_interface.h mount_davfs.h webdav.h + + umount_davfs_SOURCES = umount_davfs.c defaults.h +-AM_CFLAGS = -Wall -Werror=format-security \ +- -fstack-protector-strong --param=ssp-buffer-size=4 ++AM_CFLAGS = -Wall -Werror=format-security + + all: all-am + +-- +2.11.0 + diff --git a/bsp/buildroot/package/davfs2/Config.in b/bsp/buildroot/package/davfs2/Config.in new file mode 100644 index 00000000..162753be --- /dev/null +++ b/bsp/buildroot/package/davfs2/Config.in @@ -0,0 +1,18 @@ +comment "davfs2 needs a glibc or uClibc toolchain" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_USES_MUSL + +config BR2_PACKAGE_DAVFS2 + bool "davfs2" + depends on !BR2_TOOLCHAIN_USES_MUSL # error.h + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_NEON + select BR2_PACKAGE_NEON_XML + help + davfs2 is a Linux file system driver that allows to + mount a WebDAV resource. WebDAV is an extension to HTTP/1.1 + that allows remote collaborative authoring of Web resources. + To use davfs2 via /etc/fstab, FEATURE_MOUNT_HELPERS + must be selected in busybox configuration. + + http://savannah.nongnu.org/projects/davfs2 diff --git a/bsp/buildroot/package/davfs2/davfs2.hash b/bsp/buildroot/package/davfs2/davfs2.hash new file mode 100644 index 00000000..102659a3 --- /dev/null +++ b/bsp/buildroot/package/davfs2/davfs2.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 c9c4e0f0912a782386216b2147eb9c36c47f193b8fcf3d637719e0b9fe7c96e0 davfs2-1.5.4.tar.gz +# License file, locally calculated +sha256 0ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227 COPYING diff --git a/bsp/buildroot/package/davfs2/davfs2.mk b/bsp/buildroot/package/davfs2/davfs2.mk new file mode 100644 index 00000000..c1f8477f --- /dev/null +++ b/bsp/buildroot/package/davfs2/davfs2.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# davfs2 +# +################################################################################ + +DAVFS2_VERSION = 1.5.4 +DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 +DAVFS2_LICENSE = GPL-3.0+ +DAVFS2_LICENSE_FILES = COPYING + +DAVFS2_DEPENDENCIES = neon + +DAVFS2_CONF_ENV += \ + ac_cv_path_NEON_CONFIG=$(STAGING_DIR)/usr/bin/neon-config + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/davici/Config.in b/bsp/buildroot/package/davici/Config.in new file mode 100644 index 00000000..9dfa0ec1 --- /dev/null +++ b/bsp/buildroot/package/davici/Config.in @@ -0,0 +1,18 @@ +comment "davici needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + +config BR2_PACKAGE_DAVICI + bool "davici" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_STRONGSWAN + help + davici is an alternative implementation of the VICI + client protocol, targeting better integration in other + software stacks. + + https://github.com/strongswan/davici diff --git a/bsp/buildroot/package/davici/davici.hash b/bsp/buildroot/package/davici/davici.hash new file mode 100644 index 00000000..257e902c --- /dev/null +++ b/bsp/buildroot/package/davici/davici.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d3e5e806ecca841d7e133a3df768062df59f4b4c76bf98e0f90aa8064721b3bd davici-v1.3.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/davici/davici.mk b/bsp/buildroot/package/davici/davici.mk new file mode 100644 index 00000000..5c4b9774 --- /dev/null +++ b/bsp/buildroot/package/davici/davici.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# davici +# +################################################################################ + +DAVICI_VERSION = v1.3 +DAVICI_SITE = $(call github,strongswan,davici,$(DAVICI_VERSION)) +DAVICI_LICENSE = LGPL-2.1+ +DAVICI_LICENSE_FILES = COPYING +DAVICI_DEPENDENCIES = strongswan +DAVICI_INSTALL_STAGING = YES +DAVICI_AUTORECONF = YES + +define DAVICI_CREATE_M4 + mkdir -p $(@D)/m4 +endef +DAVICI_POST_PATCH_HOOKS += DAVICI_CREATE_M4 + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/dbus-glib/dbus-glib.hash b/bsp/buildroot/package/dbus-glib/dbus-glib.hash index 732ae97c..8a80b71b 100644 --- a/bsp/buildroot/package/dbus-glib/dbus-glib.hash +++ b/bsp/buildroot/package/dbus-glib/dbus-glib.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 9f340c7e2352e9cdf113893ca77ca9075d9f8d5e81476bf2bf361099383c602c dbus-glib-0.108.tar.gz +sha256 7ce4760cf66c69148f6bd6c92feaabb8812dee30846b24cd0f7395c436d7e825 dbus-glib-0.110.tar.gz diff --git a/bsp/buildroot/package/dbus-glib/dbus-glib.mk b/bsp/buildroot/package/dbus-glib/dbus-glib.mk index 2257c8e4..372942e1 100644 --- a/bsp/buildroot/package/dbus-glib/dbus-glib.mk +++ b/bsp/buildroot/package/dbus-glib/dbus-glib.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_GLIB_VERSION = 0.108 +DBUS_GLIB_VERSION = 0.110 DBUS_GLIB_SITE = http://dbus.freedesktop.org/releases/dbus-glib DBUS_GLIB_INSTALL_STAGING = YES DBUS_GLIB_LICENSE = AFL-2.1 or GPL-2.0+ diff --git a/bsp/buildroot/package/dbus-python/dbus-python.hash b/bsp/buildroot/package/dbus-python/dbus-python.hash index 080aada0..991bb427 100644 --- a/bsp/buildroot/package/dbus-python/dbus-python.hash +++ b/bsp/buildroot/package/dbus-python/dbus-python.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 e2f1d6871f74fba23652e51d10873e54f71adab0525833c19bad9e99b1b2f9cc dbus-python-1.2.4.tar.gz +sha256 abf12bbb765e300bf8e2a1b2f32f85949eab06998dbda127952c31cb63957b6f dbus-python-1.2.8.tar.gz diff --git a/bsp/buildroot/package/dbus-python/dbus-python.mk b/bsp/buildroot/package/dbus-python/dbus-python.mk index da04b740..d6af7454 100644 --- a/bsp/buildroot/package/dbus-python/dbus-python.mk +++ b/bsp/buildroot/package/dbus-python/dbus-python.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_PYTHON_VERSION = 1.2.4 +DBUS_PYTHON_VERSION = 1.2.8 DBUS_PYTHON_SITE = http://dbus.freedesktop.org/releases/dbus-python DBUS_PYTHON_INSTALL_STAGING = YES DBUS_PYTHON_LICENSE = MIT diff --git a/bsp/buildroot/package/dbus/S30dbus b/bsp/buildroot/package/dbus/S30dbus index b4bcf9c7..52646cea 100644 --- a/bsp/buildroot/package/dbus/S30dbus +++ b/bsp/buildroot/package/dbus/S30dbus @@ -10,9 +10,6 @@ # pidfile: /var/run/messagebus.pid # -# Sanity checks. -[ -x /usr/bin/dbus-daemon ] || exit 0 - # Create needed directories. [ -d /var/run/dbus ] || mkdir -p /var/run/dbus [ -d /var/lock/subsys ] || mkdir -p /var/lock/subsys diff --git a/bsp/buildroot/package/dbus/dbus.hash b/bsp/buildroot/package/dbus/dbus.hash index 1aa5aa44..92c0c942 100644 --- a/bsp/buildroot/package/dbus/dbus.hash +++ b/bsp/buildroot/package/dbus/dbus.hash @@ -1,5 +1,6 @@ # Locally calculated after checking pgp signature -# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.2.tar.gz.asc -sha256 272bb5091770b047c8188b926d5e6038fa4fe6745488b2add96b23e2d9a83d88 dbus-1.12.2.tar.gz +# https://dbus.freedesktop.org/releases/dbus/dbus-1.12.10.tar.gz.asc +# using key 36EC5A6448A4F5EF79BEFE98E05AE1478F814C4F +sha256 4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7 dbus-1.12.10.tar.gz # Locally calculated sha256 0e46f54efb12d04ab5c33713bacd0e140c9a35b57ae29e03c853203266e8f3a1 COPYING diff --git a/bsp/buildroot/package/dbus/dbus.mk b/bsp/buildroot/package/dbus/dbus.mk index 22ba22e1..0a56de5a 100644 --- a/bsp/buildroot/package/dbus/dbus.mk +++ b/bsp/buildroot/package/dbus/dbus.mk @@ -4,7 +4,7 @@ # ################################################################################ -DBUS_VERSION = 1.12.2 +DBUS_VERSION = 1.12.10 DBUS_SITE = https://dbus.freedesktop.org/releases/dbus DBUS_LICENSE = AFL-2.1 or GPL-2.0+ (library, tools), GPL-2.0+ (tools) DBUS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/dc3dd/0003-fix-for-glibc-2.28.patch b/bsp/buildroot/package/dc3dd/0003-fix-for-glibc-2.28.patch new file mode 100644 index 00000000..79e52b1e --- /dev/null +++ b/bsp/buildroot/package/dc3dd/0003-fix-for-glibc-2.28.patch @@ -0,0 +1,87 @@ +Fix build with glibc 2.28 + +glibc 2.28 hides a number of internal macros that used to be visible. gnulib +relied on these macros. Add a patch based on upstream gnulib commit +4af4a4a71827c0 (fflush: adjust to glibc 2.28 libio.h removal) to fix the +build. + +Signed-off-by: Baruch Siach +--- +Upstream status: gnulib commit 4af4a4a7182 + +diff -Nuar dc3dd-7.2.641.orig/lib/freadahead.c dc3dd-7.2.641/lib/freadahead.c +--- dc3dd-7.2.641.orig/lib/freadahead.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/freadahead.c 2018-10-26 08:46:36.612492230 +0300 +@@ -24,7 +24,7 @@ + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +diff -Nuar dc3dd-7.2.641.orig/lib/freadptr.c dc3dd-7.2.641/lib/freadptr.c +--- dc3dd-7.2.641.orig/lib/freadptr.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/freadptr.c 2018-10-26 08:36:53.965310494 +0300 +@@ -29,7 +29,7 @@ + size_t size; + + /* Keep this code in sync with freadahead! */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return NULL; + size = fp->_IO_read_end - fp->_IO_read_ptr; +diff -Nuar dc3dd-7.2.641.orig/lib/freadseek.c dc3dd-7.2.641/lib/freadseek.c +--- dc3dd-7.2.641.orig/lib/freadseek.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/freadseek.c 2018-10-26 08:49:35.387912087 +0300 +@@ -34,7 +34,7 @@ + freadptrinc (FILE *fp, size_t increment) + { + /* Keep this code in sync with freadptr! */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_IO_read_ptr += increment; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_p += increment; +diff -Nuar dc3dd-7.2.641.orig/lib/fseeko.c dc3dd-7.2.641/lib/fseeko.c +--- dc3dd-7.2.641.orig/lib/fseeko.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/fseeko.c 2018-10-26 08:51:02.841583936 +0300 +@@ -44,7 +44,7 @@ + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +diff -Nuar dc3dd-7.2.641.orig/lib/fseterr.c dc3dd-7.2.641/lib/fseterr.c +--- dc3dd-7.2.641.orig/lib/fseterr.c 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/fseterr.c 2018-10-26 08:47:51.209919605 +0300 +@@ -29,7 +29,7 @@ + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_flags |= __SERR; +diff -Nuar dc3dd-7.2.641.orig/lib/stdio-impl.h dc3dd-7.2.641/lib/stdio-impl.h +--- dc3dd-7.2.641.orig/lib/stdio-impl.h 2012-11-06 23:42:58.000000000 +0200 ++++ dc3dd-7.2.641/lib/stdio-impl.h 2018-10-26 08:46:26.136291709 +0300 +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + diff --git a/bsp/buildroot/package/dcron/dcron.mk b/bsp/buildroot/package/dcron/dcron.mk index 7e81b638..2ee0709a 100644 --- a/bsp/buildroot/package/dcron/dcron.mk +++ b/bsp/buildroot/package/dcron/dcron.mk @@ -9,11 +9,6 @@ DCRON_SITE = http://www.jimpryor.net/linux/releases # The source code does not specify the version of the GPL that is used. DCRON_LICENSE = GPL -# Overwrite cron-related Busybox commands if available -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -DCRON_DEPENDENCIES = busybox -endif - define DCRON_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) endef diff --git a/bsp/buildroot/package/debianutils/debianutils.mk b/bsp/buildroot/package/debianutils/debianutils.mk index 86f201da..189d9837 100644 --- a/bsp/buildroot/package/debianutils/debianutils.mk +++ b/bsp/buildroot/package/debianutils/debianutils.mk @@ -8,8 +8,6 @@ DEBIANUTILS_VERSION = 4.8.1 DEBIANUTILS_SOURCE = debianutils_$(DEBIANUTILS_VERSION).tar.xz DEBIANUTILS_SITE = http://snapshot.debian.org/archive/debian/20161118T033019Z/pool/main/d/debianutils DEBIANUTILS_CONF_OPTS = --exec-prefix=/ -# Make sure we override the busybox tools, such as which -DEBIANUTILS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) DEBIANUTILS_LICENSE = GPL-2.0+, SMAIL (savelog) DEBIANUTILS_LICENSE_FILES = debian/copyright diff --git a/bsp/buildroot/package/dehydrated/Config.in b/bsp/buildroot/package/dehydrated/Config.in new file mode 100644 index 00000000..f14ae0f6 --- /dev/null +++ b/bsp/buildroot/package/dehydrated/Config.in @@ -0,0 +1,33 @@ +config BR2_PACKAGE_DEHYDRATED + bool "dehydrated" + depends on BR2_USE_MMU # bash + select BR2_PACKAGE_BASH + select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_CURL + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_LIBOPENSSL_BIN if BR2_PACKAGE_LIBOPENSSL + select BR2_PACKAGE_LIBRESSL_BIN if BR2_PACKAGE_LIBRESSL + help + Dehydrated is a client for signing certificates with an + ACME-server (e.g. Let's Encrypt) implemented as a relatively + simple (zsh-compatible) bash-script. This client supports + both ACME v1 and the new ACME v2 including support for + wildcard certificates! + + To use this script in Buildroot: + - Create /etc/dehydrated/domains.txt + - Make sure that "dehydrated -c" is called regularly, e.g. + from cron. + - Make sure /etc/dehydrated is writable. + - Configure the webserver to export the WELLKNOWN directory + (/var/www/dehydrated) as /.well-known/acme-challenge + - Configure the webserver to use the certificates under + /etc/dehydrated/certs/ + - Register a HOOK to reload the webserver after the + certificates have been renewed. + + You probably need to install a custom /etc/dehydrated/config + with the rootfs overlay. + + https://github.com/lukas2511/dehydrated diff --git a/bsp/buildroot/package/dehydrated/dehydrated.hash b/bsp/buildroot/package/dehydrated/dehydrated.hash new file mode 100644 index 00000000..1d194e5a --- /dev/null +++ b/bsp/buildroot/package/dehydrated/dehydrated.hash @@ -0,0 +1,6 @@ +# Locally computed after verifying +# https://github.com/lukas2511/dehydrated/releases/download/v0.6.2/dehydrated-0.6.2.tar.gz.asc +# with key 3C2F2605E078A1E18F4793909C4DBE6CF438F333 from https://keybase.io/lukas2511 +sha256 163384479199f06f59382ceb6291a299567a2f4f0b963b9b61f2db65a407e80e dehydrated-0.6.2.tar.gz +# License, locally computed +sha256 b4583b7dd07e3e2a08906de38e7e329d41f921ed9dcb6310b3886e013a6b8723 LICENSE diff --git a/bsp/buildroot/package/dehydrated/dehydrated.mk b/bsp/buildroot/package/dehydrated/dehydrated.mk new file mode 100644 index 00000000..b7de27a4 --- /dev/null +++ b/bsp/buildroot/package/dehydrated/dehydrated.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# dehydrated +# +################################################################################ + +DEHYDRATED_VERSION = 0.6.2 +DEHYDRATED_SITE = https://github.com/lukas2511/dehydrated/releases/download/v$(DEHYDRATED_VERSION) + +DEHYDRATED_LICENSE = MIT +DEHYDRATED_LICENSE_FILES = LICENSE + +define DEHYDRATED_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/dehydrated $(TARGET_DIR)/usr/bin/dehydrated + $(INSTALL) -D -m 0644 $(@D)/docs/examples/config $(TARGET_DIR)/etc/dehydrated/config +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/devmem2/Config.in b/bsp/buildroot/package/devmem2/Config.in index 64d6400b..1ccb0553 100644 --- a/bsp/buildroot/package/devmem2/Config.in +++ b/bsp/buildroot/package/devmem2/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_DEVMEM2 help Simple program to read/write from/to any location in memory. - http://free-electrons.com/pub/mirror/devmem2.c + http://bootlin.com/pub/mirror/devmem2.c diff --git a/bsp/buildroot/package/devmem2/devmem2.mk b/bsp/buildroot/package/devmem2/devmem2.mk index eb92db60..e1bbee3b 100644 --- a/bsp/buildroot/package/devmem2/devmem2.mk +++ b/bsp/buildroot/package/devmem2/devmem2.mk @@ -4,14 +4,14 @@ # ################################################################################ -DEVMEM2_SITE = http://free-electrons.com/pub/mirror +DEVMEM2_SITE = http://bootlin.com/pub/mirror DEVMEM2_SOURCE = devmem2.c DEVMEM2_VERSION = 1 DEVMEM2_LICENSE = GPL-2.0+ DEVMEM2_LICENSE_FILES = devmem2.c.license define DEVMEM2_EXTRACT_CMDS - cp $(DL_DIR)/$($(PKG)_SOURCE) $(@D)/ + cp $(DEVMEM2_DL_DIR)/$($(PKG)_SOURCE) $(@D)/ endef define DEVMEM2_EXTRACT_LICENSE diff --git a/bsp/buildroot/package/dhcpcd/S41dhcpcd b/bsp/buildroot/package/dhcpcd/S41dhcpcd old mode 100755 new mode 100644 index a2e87ca0..3e5c22f7 --- a/bsp/buildroot/package/dhcpcd/S41dhcpcd +++ b/bsp/buildroot/package/dhcpcd/S41dhcpcd @@ -7,7 +7,6 @@ DAEMON=/sbin/dhcpcd CONFIG=/etc/dhcpcd.conf PIDFILE=/var/run/dhcpcd.pid -[ -x $DAEMON ] || exit 0 [ -f $CONFIG ] || exit 0 case "$1" in diff --git a/bsp/buildroot/package/dhcpcd/dhcpcd.hash b/bsp/buildroot/package/dhcpcd/dhcpcd.hash index 3be3f7ff..605e8760 100644 --- a/bsp/buildroot/package/dhcpcd/dhcpcd.hash +++ b/bsp/buildroot/package/dhcpcd/dhcpcd.hash @@ -1,2 +1,4 @@ -# Locally calculated from download (no sig, hash) -sha256 6f9674dc7e27e936cc787175404a6171618675ecfb6903ab9887b1b66a87d69e dhcpcd-6.11.5.tar.xz +# sha256 from ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.3.tar.xz.distinfo.asc +sha256 a255d9aecceb1c77a9862f1c0d31a48ba37aab5ef2ca5ad76fc7a907b6ea292e dhcpcd-7.0.3.tar.xz +# Locally calculated +sha256 b120a64b92cfb2453b61df4457a3c0eb163ef9c1c397822826756a31581f3947 LICENSE diff --git a/bsp/buildroot/package/dhcpcd/dhcpcd.mk b/bsp/buildroot/package/dhcpcd/dhcpcd.mk index dc5c69b8..ae16c340 100644 --- a/bsp/buildroot/package/dhcpcd/dhcpcd.mk +++ b/bsp/buildroot/package/dhcpcd/dhcpcd.mk @@ -4,12 +4,12 @@ # ################################################################################ -DHCPCD_VERSION = 6.11.5 +DHCPCD_VERSION = 7.0.3 DHCPCD_SOURCE = dhcpcd-$(DHCPCD_VERSION).tar.xz DHCPCD_SITE = http://roy.marples.name/downloads/dhcpcd DHCPCD_DEPENDENCIES = host-pkgconf DHCPCD_LICENSE = BSD-2-Clause -DHCPCD_LICENSE_FILES = dhcpcd.c +DHCPCD_LICENSE_FILES = LICENSE ifeq ($(BR2_STATIC_LIBS),y) DHCPCD_CONFIG_OPTS += --enable-static @@ -36,6 +36,10 @@ define DHCPCD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR) endef +# When network-manager is enabled together with dhcpcd, it will use +# dhcpcd as a DHCP client, and will be in charge of running, so we +# don't want the init script or service file to be installed. +ifeq ($(BR2_PACKAGE_NETWORK_MANAGER),) define DHCPCD_INSTALL_INIT_SYSV $(INSTALL) -m 755 -D package/dhcpcd/S41dhcpcd \ $(TARGET_DIR)/etc/init.d/S41dhcpcd @@ -48,6 +52,7 @@ define DHCPCD_INSTALL_INIT_SYSTEMD ln -sf ../../../../usr/lib/systemd/system/dhcpcd.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpcd.service endef +endif # NOTE: Even though this package has a configure script, it is not generated # using the autotools, so we have to use the generic package infrastructure. diff --git a/bsp/buildroot/package/dhcpdump/0002-fix-strsep-feature-test.patch b/bsp/buildroot/package/dhcpdump/0002-fix-strsep-feature-test.patch deleted file mode 100644 index 06bab947..00000000 --- a/bsp/buildroot/package/dhcpdump/0002-fix-strsep-feature-test.patch +++ /dev/null @@ -1,27 +0,0 @@ -Use the official _BSD_SOURCE feature test macro instead of the meaningless -HAVE_STRSEP macro in order to detect the availability of strsep(). - -This allows toolchains supporting strsep() to use it instead of the custom -implementation from dhcpdump, which also avoids the following error with some -toolchains: - - In file included from dhcpdump.c:30:0: - dhcpdump.c: At top level: - strsep.c:65:23: error: register name not specified for ‘delim’ - register const char *delim; - ^ - -Signed-off-by: Benoît Thébaudeau - -diff -Nrdup dhcpdump-1.8.orig/dhcpdump.c dhcpdump-1.8/dhcpdump.c ---- dhcpdump-1.8.orig/dhcpdump.c 2008-06-24 05:26:52.000000000 +0200 -+++ dhcpdump-1.8/dhcpdump.c 2011-05-31 19:22:15.987388498 +0200 -@@ -26,7 +26,7 @@ - #include - #include "dhcp_options.h" - --#ifndef HAVE_STRSEP -+#ifndef _BSD_SOURCE - #include "strsep.c" - #endif - diff --git a/bsp/buildroot/package/dhcpdump/dhcpdump.mk b/bsp/buildroot/package/dhcpdump/dhcpdump.mk index 96f23196..24138128 100644 --- a/bsp/buildroot/package/dhcpdump/dhcpdump.mk +++ b/bsp/buildroot/package/dhcpdump/dhcpdump.mk @@ -15,8 +15,11 @@ ifeq ($(BR2_STATIC_LIBS),y) DHCPDUMP_LIBS += `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` endif +# glibc, uclibc and musl have strsep() +DHCPDUMP_CFLAGS = $(TARGET_CFLAGS) -DHAVE_STRSEP + define DHCPDUMP_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(TARGET_CFLAGS) \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC="$(TARGET_CC) $(DHCPDUMP_CFLAGS) \ -D_GNU_SOURCE" LIBS="$(DHCPDUMP_LIBS)" endef diff --git a/bsp/buildroot/package/dhrystone/dhrystone.mk b/bsp/buildroot/package/dhrystone/dhrystone.mk index c0bca989..d54c8d94 100644 --- a/bsp/buildroot/package/dhrystone/dhrystone.mk +++ b/bsp/buildroot/package/dhrystone/dhrystone.mk @@ -9,7 +9,7 @@ DHRYSTONE_SOURCE = dhry-c DHRYSTONE_SITE = http://www.netlib.org/benchmark define DHRYSTONE_EXTRACT_CMDS - (cd $(@D) && $(SHELL) $(DL_DIR)/$($(PKG)_SOURCE)) + (cd $(@D) && $(SHELL) $(DHRYSTONE_DL_DIR)/$($(PKG)_SOURCE)) $(Q)cp package/dhrystone/Makefile $(@D)/ endef diff --git a/bsp/buildroot/package/diffutils/diffutils.mk b/bsp/buildroot/package/diffutils/diffutils.mk index 79785d6f..9a41c985 100644 --- a/bsp/buildroot/package/diffutils/diffutils.mk +++ b/bsp/buildroot/package/diffutils/diffutils.mk @@ -17,8 +17,4 @@ ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) DIFFUTILS_CONF_ENV += gl_cv_func_getopt_gnu=yes endif -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -DIFFUTILS_DEPENDENCIES += busybox -endif - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/dmalloc/0005-fix-strdup.patch b/bsp/buildroot/package/dmalloc/0005-fix-strdup.patch new file mode 100644 index 00000000..5884df6a --- /dev/null +++ b/bsp/buildroot/package/dmalloc/0005-fix-strdup.patch @@ -0,0 +1,24 @@ +From 59d73a473f1c1a31bcba90d314f956d0bcc3de95 Mon Sep 17 00:00:00 2001 +From: Siana Gearz +Date: Sat, 8 Sep 2012 22:55:17 +0200 +Subject: [PATCH] Fix strdup + +[Retrieved from: +https://github.com/siana/dmalloc/commit/59d73a473f1c1a31bcba90d314f956d0bcc3de95] +Signed-off-by: Fabrice Fontaine +--- + dmalloc.h.3 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dmalloc.h.3 b/dmalloc.h.3 +index d3d1c13..3fc573a 100644 +--- a/dmalloc.h.3 ++++ b/dmalloc.h.3 +@@ -459,6 +459,7 @@ DMALLOC_PNT valloc(DMALLOC_SIZE size); + * + * string -> String we are duplicating. + */ ++#undef strdup + extern + char *strdup(const char *string); + #endif /* ifndef DMALLOC_STRDUP_MACRO */ diff --git a/bsp/buildroot/package/dmalloc/0006-fix-strndup.patch b/bsp/buildroot/package/dmalloc/0006-fix-strndup.patch new file mode 100644 index 00000000..a1865acb --- /dev/null +++ b/bsp/buildroot/package/dmalloc/0006-fix-strndup.patch @@ -0,0 +1,24 @@ +From 005d92c2cebbde5c8623daa29725f7a62b18df7c Mon Sep 17 00:00:00 2001 +From: Siana Gearz +Date: Sat, 8 Sep 2012 22:44:35 +0200 +Subject: [PATCH] Fix strndup + +[Retrieved from: +https://github.com/siana/dmalloc/commit/005d92c2cebbde5c8623daa29725f7a62b18df7c] +Signed-off-by: Fabrice Fontaine +--- + dmalloc.h.3 | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dmalloc.h.3 b/dmalloc.h.3 +index 8bda997..fb538a8 100644 +--- a/dmalloc.h.3 ++++ b/dmalloc.h.3 +@@ -429,6 +429,7 @@ char *strdup(const char *string); + * + * len -> Length of the string to duplicate. + */ ++#undef strndup + extern + char *strndup(const char *string, const DMALLOC_SIZE len); + diff --git a/bsp/buildroot/package/dmraid/S20dmraid b/bsp/buildroot/package/dmraid/S20dmraid index fd2ad9e8..b3bfdcc8 100644 --- a/bsp/buildroot/package/dmraid/S20dmraid +++ b/bsp/buildroot/package/dmraid/S20dmraid @@ -2,8 +2,6 @@ set -e -[ -x /usr/sbin/dmraid ] || exit 0 - # try to load module in case that hasn't been done yet modprobe dm-mod >/dev/null 2>&1 diff --git a/bsp/buildroot/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch b/bsp/buildroot/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch deleted file mode 100644 index 7b834e80..00000000 --- a/bsp/buildroot/package/dnsmasq/0001-DNSSEC-fix-for-wildcard-NSEC-records.-CVE-2017-15107.patch +++ /dev/null @@ -1,212 +0,0 @@ -From 4fe6744a220eddd3f1749b40cac3dfc510787de6 Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Fri, 19 Jan 2018 12:26:08 +0000 -Subject: [PATCH] DNSSEC fix for wildcard NSEC records. CVE-2017-15107 applies. - -It's OK for NSEC records to be expanded from wildcards, -but in that case, the proof of non-existence is only valid -starting at the wildcard name, *. NOT the name expanded -from the wildcard. Without this check it's possible for an -attacker to craft an NSEC which wrongly proves non-existence -in a domain which includes a wildcard for NSEC. - -[baruch: drop the CHANGELOG hunk] -Signed-off-by: Baruch Siach ---- -Upstream status: upstream commit 4fe6744a220e - - CHANGELOG | 12 +++++- - src/dnssec.c | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- - 2 files changed, 114 insertions(+), 15 deletions(-) - -diff --git a/src/dnssec.c b/src/dnssec.c -index eb6c11cbe00f..a54a0b4f14cf 100644 ---- a/src/dnssec.c -+++ b/src/dnssec.c -@@ -103,15 +103,17 @@ static void from_wire(char *name) - static int count_labels(char *name) - { - int i; -- -+ char *p; -+ - if (*name == 0) - return 0; - -- for (i = 0; *name; name++) -- if (*name == '.') -+ for (p = name, i = 0; *p; p++) -+ if (*p == '.') - i++; - -- return i+1; -+ /* Don't count empty first label. */ -+ return *name == '.' ? i : i+1; - } - - /* Implement RFC1982 wrapped compare for 32-bit numbers */ -@@ -1094,8 +1096,8 @@ static int hostname_cmp(const char *a, const char *b) - } - } - --static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count, -- char *workspace1, char *workspace2, char *name, int type, int *nons) -+static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsigned char **nsecs, unsigned char **labels, int nsec_count, -+ char *workspace1_in, char *workspace2, char *name, int type, int *nons) - { - int i, rc, rdlen; - unsigned char *p, *psave; -@@ -1108,6 +1110,9 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi - /* Find NSEC record that proves name doesn't exist */ - for (i = 0; i < nsec_count; i++) - { -+ char *workspace1 = workspace1_in; -+ int sig_labels, name_labels; -+ - p = nsecs[i]; - if (!extract_name(header, plen, &p, workspace1, 1, 10)) - return 0; -@@ -1116,7 +1121,27 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi - psave = p; - if (!extract_name(header, plen, &p, workspace2, 1, 10)) - return 0; -- -+ -+ /* If NSEC comes from wildcard expansion, use original wildcard -+ as name for computation. */ -+ sig_labels = *labels[i]; -+ name_labels = count_labels(workspace1); -+ -+ if (sig_labels < name_labels) -+ { -+ int k; -+ for (k = name_labels - sig_labels; k != 0; k--) -+ { -+ while (*workspace1 != '.' && *workspace1 != 0) -+ workspace1++; -+ if (k != 1 && *workspace1 == '.') -+ workspace1++; -+ } -+ -+ workspace1--; -+ *workspace1 = '*'; -+ } -+ - rc = hostname_cmp(workspace1, name); - - if (rc == 0) -@@ -1514,24 +1539,26 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns - - static int prove_non_existence(struct dns_header *header, size_t plen, char *keyname, char *name, int qtype, int qclass, char *wildname, int *nons) - { -- static unsigned char **nsecset = NULL; -- static int nsecset_sz = 0; -+ static unsigned char **nsecset = NULL, **rrsig_labels = NULL; -+ static int nsecset_sz = 0, rrsig_labels_sz = 0; - - int type_found = 0; -- unsigned char *p = skip_questions(header, plen); -+ unsigned char *auth_start, *p = skip_questions(header, plen); - int type, class, rdlen, i, nsecs_found; - - /* Move to NS section */ - if (!p || !(p = skip_section(p, ntohs(header->ancount), header, plen))) - return 0; -+ -+ auth_start = p; - - for (nsecs_found = 0, i = ntohs(header->nscount); i != 0; i--) - { - unsigned char *pstart = p; - -- if (!(p = skip_name(p, header, plen, 10))) -+ if (!extract_name(header, plen, &p, daemon->workspacename, 1, 10)) - return 0; -- -+ - GETSHORT(type, p); - GETSHORT(class, p); - p += 4; /* TTL */ -@@ -1548,7 +1575,69 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key - if (!expand_workspace(&nsecset, &nsecset_sz, nsecs_found)) - return 0; - -- nsecset[nsecs_found++] = pstart; -+ if (type == T_NSEC) -+ { -+ /* If we're looking for NSECs, find the corresponding SIGs, to -+ extract the labels value, which we need in case the NSECs -+ are the result of wildcard expansion. -+ Note that the NSEC may not have been validated yet -+ so if there are multiple SIGs, make sure the label value -+ is the same in all, to avoid be duped by a rogue one. -+ If there are no SIGs, that's an error */ -+ unsigned char *p1 = auth_start; -+ int res, j, rdlen1, type1, class1; -+ -+ if (!expand_workspace(&rrsig_labels, &rrsig_labels_sz, nsecs_found)) -+ return 0; -+ -+ rrsig_labels[nsecs_found] = NULL; -+ -+ for (j = ntohs(header->nscount); j != 0; j--) -+ { -+ if (!(res = extract_name(header, plen, &p1, daemon->workspacename, 0, 10))) -+ return 0; -+ -+ GETSHORT(type1, p1); -+ GETSHORT(class1, p1); -+ p1 += 4; /* TTL */ -+ GETSHORT(rdlen1, p1); -+ -+ if (!CHECK_LEN(header, p1, plen, rdlen1)) -+ return 0; -+ -+ if (res == 1 && class1 == qclass && type1 == T_RRSIG) -+ { -+ int type_covered; -+ unsigned char *psav = p1; -+ -+ if (rdlen < 18) -+ return 0; /* bad packet */ -+ -+ GETSHORT(type_covered, p1); -+ -+ if (type_covered == T_NSEC) -+ { -+ p1++; /* algo */ -+ -+ /* labels field must be the same in every SIG we find. */ -+ if (!rrsig_labels[nsecs_found]) -+ rrsig_labels[nsecs_found] = p1; -+ else if (*rrsig_labels[nsecs_found] != *p1) /* algo */ -+ return 0; -+ } -+ p1 = psav; -+ } -+ -+ if (!ADD_RDLEN(header, p1, plen, rdlen1)) -+ return 0; -+ } -+ -+ /* Must have found at least one sig. */ -+ if (!rrsig_labels[nsecs_found]) -+ return 0; -+ } -+ -+ nsecset[nsecs_found++] = pstart; - } - - if (!ADD_RDLEN(header, p, plen, rdlen)) -@@ -1556,7 +1645,7 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key - } - - if (type_found == T_NSEC) -- return prove_non_existence_nsec(header, plen, nsecset, nsecs_found, daemon->workspacename, keyname, name, qtype, nons); -+ return prove_non_existence_nsec(header, plen, nsecset, rrsig_labels, nsecs_found, daemon->workspacename, keyname, name, qtype, nons); - else if (type_found == T_NSEC3) - return prove_non_existence_nsec3(header, plen, nsecset, nsecs_found, daemon->workspacename, keyname, name, qtype, wildname, nons); - else --- -2.15.1 - diff --git a/bsp/buildroot/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch b/bsp/buildroot/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch deleted file mode 100644 index ef28b90c..00000000 --- a/bsp/buildroot/package/dnsmasq/0002-Fix-DNSSEC-validation-errors-introduced-in-4fe6744a2.patch +++ /dev/null @@ -1,29 +0,0 @@ -From cd7df612b14ec1bf831a966ccaf076be0dae7404 Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Sat, 20 Jan 2018 00:10:55 +0000 -Subject: [PATCH] Fix DNSSEC validation errors introduced in - 4fe6744a220eddd3f1749b40cac3dfc510787de6 - -Signed-off-by: Baruch Siach ---- -Upstream status: upstream commit cd7df612b14ec - - src/dnssec.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/dnssec.c b/src/dnssec.c -index a54a0b4f14cf..c47e33569f96 100644 ---- a/src/dnssec.c -+++ b/src/dnssec.c -@@ -1610,7 +1610,7 @@ static int prove_non_existence(struct dns_header *header, size_t plen, char *key - int type_covered; - unsigned char *psav = p1; - -- if (rdlen < 18) -+ if (rdlen1 < 18) - return 0; /* bad packet */ - - GETSHORT(type_covered, p1); --- -2.15.1 - diff --git a/bsp/buildroot/package/dnsmasq/S80dnsmasq b/bsp/buildroot/package/dnsmasq/S80dnsmasq old mode 100755 new mode 100644 index d2f8b0f6..b052259e --- a/bsp/buildroot/package/dnsmasq/S80dnsmasq +++ b/bsp/buildroot/package/dnsmasq/S80dnsmasq @@ -1,6 +1,5 @@ #!/bin/sh -[ -x /usr/sbin/dnsmasq ] || exit 0 [ -f /etc/dnsmasq.conf ] || exit 0 case "$1" in diff --git a/bsp/buildroot/package/dnsmasq/dnsmasq.hash b/bsp/buildroot/package/dnsmasq/dnsmasq.hash index 28e2e658..322f8df5 100644 --- a/bsp/buildroot/package/dnsmasq/dnsmasq.hash +++ b/bsp/buildroot/package/dnsmasq/dnsmasq.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.78.tar.xz.asc -sha256 89949f438c74b0c7543f06689c319484bd126cc4b1f8c745c742ab397681252b dnsmasq-2.78.tar.xz +# http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.79.tar.xz.asc +sha256 78ad74f5ca14fd85a8bac93f764cd9d60b27579e90eabd3687ca7b030e67861f dnsmasq-2.79.tar.xz # Locally calculated sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING-v3 diff --git a/bsp/buildroot/package/dnsmasq/dnsmasq.mk b/bsp/buildroot/package/dnsmasq/dnsmasq.mk index 9f96030e..79c56199 100644 --- a/bsp/buildroot/package/dnsmasq/dnsmasq.mk +++ b/bsp/buildroot/package/dnsmasq/dnsmasq.mk @@ -4,16 +4,19 @@ # ################################################################################ -DNSMASQ_VERSION = 2.78 +DNSMASQ_VERSION = 2.79 DNSMASQ_SOURCE = dnsmasq-$(DNSMASQ_VERSION).tar.xz DNSMASQ_SITE = http://thekelleys.org.uk/dnsmasq DNSMASQ_MAKE_ENV = $(TARGET_MAKE_ENV) CC="$(TARGET_CC)" DNSMASQ_MAKE_OPTS = COPTS="$(DNSMASQ_COPTS)" PREFIX=/usr CFLAGS="$(TARGET_CFLAGS)" -DNSMASQ_MAKE_OPTS += DESTDIR=$(TARGET_DIR) LDFLAGS="$(TARGET_LDFLAGS)" -DNSMASQ_DEPENDENCIES = host-pkgconf +DNSMASQ_MAKE_OPTS += DESTDIR=$(TARGET_DIR) LDFLAGS="$(TARGET_LDFLAGS)" \ + LIBS+=$(TARGET_NLS_LIBS) +DNSMASQ_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) DNSMASQ_LICENSE = GPL-2.0 or GPL-3.0 DNSMASQ_LICENSE_FILES = COPYING COPYING-v3 +DNSMASQ_I18N = $(if $(BR2_SYSTEM_ENABLE_NLS),-i18n) + ifneq ($(BR2_PACKAGE_DNSMASQ_DHCP),y) DNSMASQ_COPTS += -DNO_DHCP endif @@ -30,12 +33,9 @@ ifneq ($(BR2_PACKAGE_DNSMASQ_TFTP),y) DNSMASQ_COPTS += -DNO_TFTP endif -# NLS requires IDN so only enable it (i18n) when IDN is true ifeq ($(BR2_PACKAGE_DNSMASQ_IDN),y) -DNSMASQ_DEPENDENCIES += libidn $(TARGET_NLS_DEPENDENCIES) -DNSMASQ_MAKE_OPTS += LIBS+=$(TARGET_NLS_LIBS) +DNSMASQ_DEPENDENCIES += libidn DNSMASQ_COPTS += -DHAVE_IDN -DNSMASQ_I18N = $(if $(BR2_SYSTEM_ENABLE_NLS),-i18n) endif ifeq ($(BR2_PACKAGE_DNSMASQ_CONNTRACK),y) diff --git a/bsp/buildroot/package/docker-cli/Config.in b/bsp/buildroot/package/docker-cli/Config.in new file mode 100644 index 00000000..82c35c45 --- /dev/null +++ b/bsp/buildroot/package/docker-cli/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_DOCKER_CLI + bool "docker-cli" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Docker is a platform to build, ship, + and run applications as lightweight containers. + + https://github.com/docker/cli + +if BR2_PACKAGE_DOCKER_CLI + +config BR2_PACKAGE_DOCKER_CLI_STATIC + bool "build static client" + depends on !BR2_STATIC_LIBS + help + Build a static docker client. + +endif + +comment "docker-cli needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/docker-cli/docker-cli.hash b/bsp/buildroot/package/docker-cli/docker-cli.hash new file mode 100644 index 00000000..9782f34b --- /dev/null +++ b/bsp/buildroot/package/docker-cli/docker-cli.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 29f3a435bfcd52dbe26f6315ee92bffc0220a537608935a2c3870f6b729fc16e docker-cli-v18.09.2.tar.gz +sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/bsp/buildroot/package/docker-cli/docker-cli.mk b/bsp/buildroot/package/docker-cli/docker-cli.mk new file mode 100644 index 00000000..c3dd5369 --- /dev/null +++ b/bsp/buildroot/package/docker-cli/docker-cli.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# docker-cli +# +################################################################################ + +DOCKER_CLI_VERSION = v18.09.2 +DOCKER_CLI_SITE = $(call github,docker,cli,$(DOCKER_CLI_VERSION)) +DOCKER_CLI_WORKSPACE = gopath + +DOCKER_CLI_LICENSE = Apache-2.0 +DOCKER_CLI_LICENSE_FILES = LICENSE + +DOCKER_CLI_DEPENDENCIES = host-pkgconf + +DOCKER_CLI_TAGS = autogen +DOCKER_CLI_BUILD_TARGETS = cmd/docker + +DOCKER_CLI_LDFLAGS = \ + -X github.com/docker/cli/cli.GitCommit=$(DOCKER_CLI_VERSION) \ + -X github.com/docker/cli/cli.Version=$(DOCKER_CLI_VERSION) + +ifeq ($(BR2_PACKAGE_DOCKER_CLI_STATIC),y) +DOCKER_CLI_LDFLAGS += -extldflags '-static' +DOCKER_CLI_TAGS += osusergo netgo +DOCKER_CLI_GO_ENV = CGO_ENABLED=no +endif + +DOCKER_CLI_INSTALL_BINS = $(notdir $(DOCKER_CLI_BUILD_TARGETS)) + +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch b/bsp/buildroot/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch new file mode 100644 index 00000000..1378c3b8 --- /dev/null +++ b/bsp/buildroot/package/docker-compose/0001-setup.py-allow-all-recent-2.x-requests-releases.patch @@ -0,0 +1,34 @@ +From a79152d1d621ea9d477ecc6862a03cae80b2425b Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 15 Dec 2018 14:04:57 +0100 +Subject: [PATCH] setup.py: allow all recent 2.x requests releases + +Instead of having to update this for each new requests release. + +It it not quite clear why the restriction was added in the first place in +commit b0480b4d04e (Bump SDK version to latest), but change it to simply +disallow the upcoming 3.0 release to match what is done for the other +modules. + +Submitted upstream: https://github.com/docker/compose/pull/6415 +Signed-off-by: Peter Korsgaard +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 96530726..3c8c7d0e 100644 +--- a/setup.py ++++ b/setup.py +@@ -33,7 +33,7 @@ install_requires = [ + 'cached-property >= 1.2.0, < 2', + 'docopt >= 0.6.1, < 0.7', + 'PyYAML >= 3.10, < 4', +- 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 2.19', ++ 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 3.0', + 'texttable >= 0.9.0, < 0.10', + 'websocket-client >= 0.32.0, < 1.0', + 'docker >= 3.1.4, < 4.0', +-- +2.11.0 + diff --git a/bsp/buildroot/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch b/bsp/buildroot/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch new file mode 100644 index 00000000..a3b4bfb8 --- /dev/null +++ b/bsp/buildroot/package/docker-compose/0002-Upgrade-pyyaml-to-4.2b1.patch @@ -0,0 +1,27 @@ +From 8419a670aed3364c39b86a0608782aaeae3ce5df Mon Sep 17 00:00:00 2001 +From: Quentin Brunet +Date: Tue, 8 Jan 2019 14:04:54 +0100 +Subject: [PATCH] Upgrade pyyaml to 4.2b1 + +Signed-off-by: Quentin Brunet +Signed-off-by: Peter Korsgaard +--- + setup.py | 2 +- + 1 file changed, 1 insertions(+), 1 deletions(-) + +diff --git a/setup.py b/setup.py +index 4c49bab7..8b5f9d99 100644 +--- a/setup.py ++++ b/setup.py +@@ -32,7 +32,7 @@ def find_version(*file_paths): + install_requires = [ + 'cached-property >= 1.2.0, < 2', + 'docopt >= 0.6.1, < 0.7', +- 'PyYAML >= 3.10, < 4', ++ 'PyYAML >= 3.10, < 4.3', + 'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 3.0', + 'texttable >= 0.9.0, < 0.10', + 'websocket-client >= 0.32.0, < 1.0', +-- +2.11.0 + diff --git a/bsp/buildroot/package/docker-compose/Config.in b/bsp/buildroot/package/docker-compose/Config.in new file mode 100644 index 00000000..393b5f1a --- /dev/null +++ b/bsp/buildroot/package/docker-compose/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_DOCKER_COMPOSE + bool "docker-compose" + depends on BR2_USE_MMU # python + depends on BR2_USE_WCHAR # python + depends on BR2_TOOLCHAIN_HAS_THREADS # python + depends on !BR2_STATIC_LIBS # python + select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME \ + if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_CACHED_PROPERTY # runtime + select BR2_PACKAGE_PYTHON_DOCOPT # runtime + select BR2_PACKAGE_PYTHON_PYYAML # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + select BR2_PACKAGE_PYTHON_TEXTTABLE # runtime + select BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT # runtime + select BR2_PACKAGE_PYTHON_DOCKER # runtime + select BR2_PACKAGE_PYTHON_DOCKERPTY # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime + help + Multi-container orchestration for Docker. + + https://www.docker.com/ + +comment "docker-compose needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/docker-compose/docker-compose.hash b/bsp/buildroot/package/docker-compose/docker-compose.hash new file mode 100644 index 00000000..5a5e86ab --- /dev/null +++ b/bsp/buildroot/package/docker-compose/docker-compose.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/docker-compose/json, sha256 locally computed +md5 8f9f6d59cc8e65dbfad6fda26b96fde7 docker-compose-1.20.1.tar.gz +sha256 34c043ebd4c23e4b864812c16b41dad25cec6b675557b180ced52d372e1a9e66 docker-compose-1.20.1.tar.gz +sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/bsp/buildroot/package/docker-compose/docker-compose.mk b/bsp/buildroot/package/docker-compose/docker-compose.mk new file mode 100644 index 00000000..52c16dbc --- /dev/null +++ b/bsp/buildroot/package/docker-compose/docker-compose.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# docker-compose +# +################################################################################ + +DOCKER_COMPOSE_VERSION = 1.20.1 +DOCKER_COMPOSE_SITE = https://pypi.python.org/packages/25/4f/4e2b8ff942c9b3d96a81082590617c5c5fa006b066a4181b8d985ea3ac79 +DOCKER_COMPOSE_SETUP_TYPE = setuptools +DOCKER_COMPOSE_LICENSE = Apache-2.0 +DOCKER_COMPOSE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/docker-containerd/Config.in b/bsp/buildroot/package/docker-containerd/Config.in index 2f7bf71a..4a4db1cd 100644 --- a/bsp/buildroot/package/docker-containerd/Config.in +++ b/bsp/buildroot/package/docker-containerd/Config.in @@ -3,6 +3,9 @@ config BR2_PACKAGE_DOCKER_CONTAINERD depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # runc + depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # runc depends on BR2_USE_MMU # util-linux select BR2_PACKAGE_RUNC # runtime dependency select BR2_PACKAGE_UTIL_LINUX # runtime dependency @@ -15,8 +18,22 @@ config BR2_PACKAGE_DOCKER_CONTAINERD https://github.com/docker/containerd -comment "docker-containerd needs a toolchain w/ threads" +if BR2_PACKAGE_DOCKER_CONTAINERD + +config BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS + bool "btrfs snapshot driver" + depends on BR2_USE_MMU # btrfs-progs + depends on BR2_TOOLCHAIN_HAS_THREADS # btrfs-progs + select BR2_PACKAGE_BTRFS_PROGS + help + Build the btrfs snapshot driver for containerd. + +endif + +comment "docker-containerd needs a glibc or musl toolchain w/ threads" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM diff --git a/bsp/buildroot/package/docker-containerd/docker-containerd.hash b/bsp/buildroot/package/docker-containerd/docker-containerd.hash index 992eb5b0..cae88f40 100644 --- a/bsp/buildroot/package/docker-containerd/docker-containerd.hash +++ b/bsp/buildroot/package/docker-containerd/docker-containerd.hash @@ -1,2 +1,3 @@ # Computed locally -sha256 da89086a7c643702a2ddecec67a45d3d8e4b0d610dd19036be63e6bd54cc1a85 docker-containerd-9048e5e50717ea4497b757314bad98ea3763c145.tar.gz +sha256 ff4c2ad680c9e2484e335868a54b0c1ea49d9165dd5b38b64ef7d9dacf2b96b4 docker-containerd-v1.2.3.tar.gz +sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/bsp/buildroot/package/docker-containerd/docker-containerd.mk b/bsp/buildroot/package/docker-containerd/docker-containerd.mk index ffbadb0c..9088c176 100644 --- a/bsp/buildroot/package/docker-containerd/docker-containerd.mk +++ b/bsp/buildroot/package/docker-containerd/docker-containerd.mk @@ -4,44 +4,37 @@ # ################################################################################ -DOCKER_CONTAINERD_VERSION = 9048e5e50717ea4497b757314bad98ea3763c145 -DOCKER_CONTAINERD_SITE = $(call github,docker,containerd,$(DOCKER_CONTAINERD_VERSION)) +DOCKER_CONTAINERD_VERSION = v1.2.3 +DOCKER_CONTAINERD_SITE = $(call github,containerd,containerd,$(DOCKER_CONTAINERD_VERSION)) DOCKER_CONTAINERD_LICENSE = Apache-2.0 -DOCKER_CONTAINERD_LICENSE_FILES = LICENSE.code +DOCKER_CONTAINERD_LICENSE_FILES = LICENSE -DOCKER_CONTAINERD_DEPENDENCIES = host-go +DOCKER_CONTAINERD_WORKSPACE = vendor -DOCKER_CONTAINERD_GOPATH = "$(@D)/vendor" -DOCKER_CONTAINERD_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ - CGO_ENABLED=1 \ - GOBIN="$(@D)/bin" \ - GOPATH="$(DOCKER_CONTAINERD_GOPATH)" - -DOCKER_CONTAINERD_GLDFLAGS = \ +DOCKER_CONTAINERD_LDFLAGS = \ -X github.com/docker/containerd.GitCommit=$(DOCKER_CONTAINERD_VERSION) -ifeq ($(BR2_STATIC_LIBS),y) -DOCKER_CONTAINERD_GLDFLAGS += -extldflags '-static' +DOCKER_CONTAINERD_BUILD_TARGETS = cmd/ctr cmd/containerd cmd/containerd-shim + +DOCKER_CONTAINERD_INSTALL_BINS = containerd containerd-shim + +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +DOCKER_CONTAINERD_DEPENDENCIES += libseccomp host-pkgconf +DOCKER_CONTAINERD_TAGS += seccomp endif -define DOCKER_CONTAINERD_CONFIGURE_CMDS - mkdir -p $(DOCKER_CONTAINERD_GOPATH)/src/github.com/docker - ln -s $(@D) $(DOCKER_CONTAINERD_GOPATH)/src/github.com/docker/containerd - mkdir -p $(DOCKER_CONTAINERD_GOPATH)/src/github.com/opencontainers - ln -s $(RUNC_SRCDIR) $(DOCKER_CONTAINERD_GOPATH)/src/github.com/opencontainers/runc -endef +ifeq ($(BR2_PACKAGE_DOCKER_CONTAINERD_DRIVER_BTRFS),y) +DOCKER_CONTAINERD_DEPENDENCIES += btrfs-progs +else +DOCKER_CONTAINERD_TAGS += no_btrfs +endif -define DOCKER_CONTAINERD_BUILD_CMDS - $(foreach d,ctr containerd containerd-shim,\ - cd $(@D); $(DOCKER_CONTAINERD_MAKE_ENV) $(HOST_DIR)/bin/go build \ - -v -o $(@D)/bin/$(d) -ldflags "$(DOCKER_CONTAINERD_GLDFLAGS)" ./$(d)$(sep)) -endef - -define DOCKER_CONTAINERD_INSTALL_TARGET_CMDS +define DOCKER_CONTAINERD_INSTALL_SYMLINKS ln -fs runc $(TARGET_DIR)/usr/bin/docker-runc - $(INSTALL) -D -m 0755 $(@D)/bin/containerd $(TARGET_DIR)/usr/bin/docker-containerd - $(INSTALL) -D -m 0755 $(@D)/bin/containerd-shim $(TARGET_DIR)/usr/bin/containerd-shim ln -fs containerd-shim $(TARGET_DIR)/usr/bin/docker-containerd-shim + ln -fs containerd $(TARGET_DIR)/usr/bin/docker-containerd endef -$(eval $(generic-package)) +DOCKER_CONTAINERD_POST_INSTALL_TARGET_HOOKS += DOCKER_CONTAINERD_INSTALL_SYMLINKS + +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch b/bsp/buildroot/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch new file mode 100644 index 00000000..dc47a8f9 --- /dev/null +++ b/bsp/buildroot/package/docker-engine/0001-Fix-faulty-runc-version-commit-scrape.patch @@ -0,0 +1,45 @@ +From 324e7be4b252c13002bca6a9d82e7b2e43664634 Mon Sep 17 00:00:00 2001 +From: Christian Stewart +Date: Mon, 26 Nov 2018 22:59:32 -0800 +Subject: [PATCH] Fix faulty runc version commit scrape + +This commit replaces faulty logic to determine the runc version commit hash. + +The original logic takes the second line of the output of "runc --version" and +does not work if there are a different number of lines printed from the command +than expected. The buildroot version of runc outputs two lines instead of the +expected three, causing the error: + +unknown output format: runc version commit: ... + +This patch replaces this logic with a simple scan of the "runc --version" +output, searching for the "runc version commit" prefixed line. + +Signed-off-by: Christian Stewart +--- + daemon/info_unix.go | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/daemon/info_unix.go b/daemon/info_unix.go +index 60b2f99870..688a510796 100644 +--- a/daemon/info_unix.go ++++ b/daemon/info_unix.go +@@ -32,10 +32,11 @@ func (daemon *Daemon) fillPlatformInfo(v *types.Info, sysInfo *sysinfo.SysInfo) + defaultRuntimeBinary := daemon.configStore.GetRuntime(v.DefaultRuntime).Path + if rv, err := exec.Command(defaultRuntimeBinary, "--version").Output(); err == nil { + parts := strings.Split(strings.TrimSpace(string(rv)), "\n") +- if len(parts) == 3 { +- parts = strings.Split(parts[1], ": ") +- if len(parts) == 2 { +- v.RuncCommit.ID = strings.TrimSpace(parts[1]) ++ for _, pt := range parts { ++ ptKv := strings.Split(pt, ":") ++ if strings.HasSuffix(strings.TrimSpace(ptKv[0]), "commit") { ++ v.RuncCommit.ID = strings.TrimSpace(ptKv[1]) ++ break + } + } + +-- +2.18.1 + diff --git a/bsp/buildroot/package/docker-engine/Config.in b/bsp/buildroot/package/docker-engine/Config.in index 8feb11b4..08f30e43 100644 --- a/bsp/buildroot/package/docker-engine/Config.in +++ b/bsp/buildroot/package/docker-engine/Config.in @@ -3,6 +3,14 @@ config BR2_PACKAGE_DOCKER_ENGINE depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # docker-containerd -> runc + depends on !BR2_TOOLCHAIN_USES_UCLIBC # docker-containerd -> runc + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # docker-containerd -> runc + depends on BR2_USE_MMU # docker-containerd + select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency + select BR2_PACKAGE_DOCKER_PROXY # runtime dependency + select BR2_PACKAGE_IPTABLES # runtime dependency + select BR2_PACKAGE_SQLITE # runtime dependency help Docker is a platform to build, ship, and run applications as lightweight containers. @@ -11,29 +19,9 @@ config BR2_PACKAGE_DOCKER_ENGINE if BR2_PACKAGE_DOCKER_ENGINE -config BR2_PACKAGE_DOCKER_ENGINE_DAEMON - bool "docker daemon" - default y - depends on BR2_USE_MMU # docker-containerd - select BR2_PACKAGE_DOCKER_CONTAINERD # runtime dependency - select BR2_PACKAGE_DOCKER_PROXY # runtime dependency - select BR2_PACKAGE_IPTABLES # runtime dependency - select BR2_PACKAGE_SQLITE # runtime dependency - help - Build the Docker system daemon. - If not selected, will build client only. - config BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL bool "build experimental features" -config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT - bool "build static client" - depends on !BR2_STATIC_LIBS - help - Build a static docker client. - -if BR2_PACKAGE_DOCKER_ENGINE_DAEMON - config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS bool "btrfs filesystem driver" depends on BR2_USE_MMU # btrfs-progs @@ -64,9 +52,10 @@ config BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS endif -endif - -comment "docker-engine needs a toolchain w/ threads" +comment "docker-engine needs a glibc or musl toolchain w/ threads, headers >= 3.11" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAIN_USES_UCLIBC + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM + depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/docker-engine/S60dockerd b/bsp/buildroot/package/docker-engine/S60dockerd new file mode 100644 index 00000000..def8bea1 --- /dev/null +++ b/bsp/buildroot/package/docker-engine/S60dockerd @@ -0,0 +1,38 @@ +#!/bin/sh + +NAME=dockerd +DAEMON=/usr/bin/$NAME +PIDFILE=/var/run/$NAME.pid +DAEMON_ARGS="" + +[ -r /etc/default/$NAME ] && . /etc/default/$NAME $1 + +do_start() { + echo -n "Starting $NAME: " + start-stop-daemon --start --quiet --background --make-pidfile \ + --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS \ + && echo "OK" || echo "FAIL" +} + +do_stop() { + echo -n "Stopping $NAME: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + && echo "OK" || echo "FAIL" +} + +case "$1" in + start) + do_start + ;; + stop) + do_stop + ;; + restart) + do_stop + sleep 1 + do_start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/bsp/buildroot/package/docker-engine/docker-engine.hash b/bsp/buildroot/package/docker-engine/docker-engine.hash index 6c0ed338..fe7b0d3b 100644 --- a/bsp/buildroot/package/docker-engine/docker-engine.hash +++ b/bsp/buildroot/package/docker-engine/docker-engine.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 4716df117d867b82ddab2e82395cd40aa3d0925a689eedcec8919729e4c9f121 docker-engine-v17.05.0-ce.tar.gz +sha256 4babbcbc3e1d7750c61a1e5bee29bd206256948961feaac5b44cabb0c70a50a6 docker-engine-v18.09.2.tar.gz +sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/bsp/buildroot/package/docker-engine/docker-engine.mk b/bsp/buildroot/package/docker-engine/docker-engine.mk index 8928f072..e2f59666 100644 --- a/bsp/buildroot/package/docker-engine/docker-engine.mk +++ b/bsp/buildroot/package/docker-engine/docker-engine.mk @@ -4,88 +4,64 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = v17.05.0-ce -DOCKER_ENGINE_COMMIT = 89658bed64c2a8fe05a978e5b87dbec409d57a0f -DOCKER_ENGINE_SITE = $(call github,docker,docker,$(DOCKER_ENGINE_VERSION)) +DOCKER_ENGINE_VERSION = v18.09.2 +DOCKER_ENGINE_SITE = $(call github,docker,engine,$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 DOCKER_ENGINE_LICENSE_FILES = LICENSE -DOCKER_ENGINE_DEPENDENCIES = host-go host-pkgconf +DOCKER_ENGINE_DEPENDENCIES = host-pkgconf +DOCKER_ENGINE_SRC_SUBDIR = github.com/docker/docker -DOCKER_ENGINE_GOPATH = "$(@D)/gopath" -DOCKER_ENGINE_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ - CGO_ENABLED=1 \ - CGO_NO_EMULATION=1 \ - GOBIN="$(@D)/bin" \ - GOPATH="$(DOCKER_ENGINE_GOPATH)" \ - PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - $(TARGET_MAKE_ENV) - -DOCKER_ENGINE_GLDFLAGS = \ +DOCKER_ENGINE_LDFLAGS = \ -X main.GitCommit=$(DOCKER_ENGINE_VERSION) \ -X main.Version=$(DOCKER_ENGINE_VERSION) -ifeq ($(BR2_STATIC_LIBS),y) -DOCKER_ENGINE_GLDFLAGS += -extldflags '-static' -else -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT),y) -DOCKER_ENGINE_GLDFLAGS_DOCKER += -extldflags '-static' -endif -endif - -DOCKER_ENGINE_BUILD_TAGS = cgo exclude_graphdriver_zfs autogen -DOCKER_ENGINE_BUILD_TARGETS = docker +DOCKER_ENGINE_TAGS = cgo exclude_graphdriver_zfs autogen +DOCKER_ENGINE_BUILD_TARGETS = cmd/dockerd ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) -DOCKER_ENGINE_BUILD_TAGS += seccomp +DOCKER_ENGINE_TAGS += seccomp DOCKER_ENGINE_DEPENDENCIES += libseccomp endif ifeq ($(BR2_INIT_SYSTEMD),y) -DOCKER_ENGINE_BUILD_TAGS += journald DOCKER_ENGINE_DEPENDENCIES += systemd +DOCKER_ENGINE_TAGS += systemd journald endif - -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) -DOCKER_ENGINE_BUILD_TAGS += daemon -DOCKER_ENGINE_BUILD_TARGETS += dockerd -endif - ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_EXPERIMENTAL),y) -DOCKER_ENGINE_BUILD_TAGS += experimental +DOCKER_ENGINE_TAGS += experimental endif ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_BTRFS),y) DOCKER_ENGINE_DEPENDENCIES += btrfs-progs else -DOCKER_ENGINE_BUILD_TAGS += exclude_graphdriver_btrfs +DOCKER_ENGINE_TAGS += exclude_graphdriver_btrfs endif ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_DEVICEMAPPER),y) DOCKER_ENGINE_DEPENDENCIES += lvm2 else -DOCKER_ENGINE_BUILD_TAGS += exclude_graphdriver_devicemapper +DOCKER_ENGINE_TAGS += exclude_graphdriver_devicemapper endif ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DRIVER_VFS),y) DOCKER_ENGINE_DEPENDENCIES += gvfs else -DOCKER_ENGINE_BUILD_TAGS += exclude_graphdriver_vfs +DOCKER_ENGINE_TAGS += exclude_graphdriver_vfs endif -define DOCKER_ENGINE_CONFIGURE_CMDS - mkdir -p $(DOCKER_ENGINE_GOPATH)/src/github.com/docker - ln -fs $(@D) $(DOCKER_ENGINE_GOPATH)/src/github.com/docker/docker +DOCKER_ENGINE_INSTALL_BINS = $(notdir $(DOCKER_ENGINE_BUILD_TARGETS)) + +define DOCKER_ENGINE_RUN_AUTOGEN cd $(@D) && \ - GITCOMMIT="$$(echo $(DOCKER_ENGINE_COMMIT) | head -c7)" \ BUILDTIME="$$(date)" \ VERSION="$(patsubst v%,%,$(DOCKER_ENGINE_VERSION))" \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" $(TARGET_MAKE_ENV) \ bash ./hack/make/.go-autogen endef -ifeq ($(BR2_PACKAGE_DOCKER_ENGINE_DAEMON),y) +DOCKER_ENGINE_POST_CONFIGURE_HOOKS += DOCKER_ENGINE_RUN_AUTOGEN define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.service \ @@ -97,28 +73,13 @@ define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/docker.service endef +define DOCKER_ENGINE_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/docker-engine/S60dockerd \ + $(TARGET_DIR)/etc/init.d/S60dockerd +endef + define DOCKER_ENGINE_USERS - - docker -1 * - - - Docker Application Container Framework endef -endif - -define DOCKER_ENGINE_BUILD_CMDS - $(foreach target,$(DOCKER_ENGINE_BUILD_TARGETS), \ - cd $(@D)/gopath/src/github.com/docker/docker; \ - $(DOCKER_ENGINE_MAKE_ENV) \ - $(HOST_DIR)/bin/go build -v \ - -o $(@D)/bin/$(target) \ - -tags "$(DOCKER_ENGINE_BUILD_TAGS)" \ - -ldflags "$(DOCKER_ENGINE_GLDFLAGS) $(DOCKER_ENGINE_GLDFLAGS_$(call UPPERCASE,$(target)))" \ - github.com/docker/docker/cmd/$(target) - ) -endef - -define DOCKER_ENGINE_INSTALL_TARGET_CMDS - $(foreach target,$(DOCKER_ENGINE_BUILD_TARGETS), \ - $(INSTALL) -D -m 0755 $(@D)/bin/$(target) $(TARGET_DIR)/usr/bin/$(target) - ) -endef - -$(eval $(generic-package)) +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/docker-proxy/docker-proxy.mk b/bsp/buildroot/package/docker-proxy/docker-proxy.mk index 3bf6546d..dfa9d434 100644 --- a/bsp/buildroot/package/docker-proxy/docker-proxy.mk +++ b/bsp/buildroot/package/docker-proxy/docker-proxy.mk @@ -10,37 +10,14 @@ DOCKER_PROXY_SITE = $(call github,docker,libnetwork,$(DOCKER_PROXY_VERSION)) DOCKER_PROXY_LICENSE = Apache-2.0 DOCKER_PROXY_LICENSE_FILES = LICENSE -DOCKER_PROXY_DEPENDENCIES = host-go host-pkgconf +DOCKER_PROXY_DEPENDENCIES = host-pkgconf -DOCKER_PROXY_GOPATH = "$(@D)/gopath" -DOCKER_PROXY_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ - CGO_ENABLED=1 \ - CGO_NO_EMULATION=1 \ - GOBIN="$(@D)/bin" \ - GOPATH="$(DOCKER_PROXY_GOPATH)" \ - PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - $(TARGET_MAKE_ENV) +DOCKER_PROXY_WORKSPACE = gopath -ifeq ($(BR2_STATIC_LIBS),y) -DOCKER_PROXY_GLDFLAGS += -extldflags '-static' -endif - -define DOCKER_PROXY_CONFIGURE_CMDS - mkdir -p $(DOCKER_PROXY_GOPATH)/src/github.com/docker - ln -fs $(@D) $(DOCKER_PROXY_GOPATH)/src/github.com/docker/libnetwork -endef - -define DOCKER_PROXY_BUILD_CMDS - cd $(@D)/gopath/src/github.com/docker/libnetwork; \ - $(DOCKER_PROXY_MAKE_ENV) \ - $(HOST_DIR)/usr/bin/go build -v \ - -o $(@D)/bin/docker-proxy \ - -ldflags "$(DOCKER_PROXY_GLDFLAGS)" \ - github.com/docker/libnetwork/cmd/proxy -endef +DOCKER_PROXY_BUILD_TARGETS = cmd/proxy define DOCKER_PROXY_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/bin/docker-proxy $(TARGET_DIR)/usr/bin/docker-proxy + $(INSTALL) -D -m 0755 $(@D)/bin/proxy $(TARGET_DIR)/usr/bin/docker-proxy endef -$(eval $(generic-package)) +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/domoticz/0001-Bumped-version.patch b/bsp/buildroot/package/domoticz/0001-Bumped-version.patch new file mode 100644 index 00000000..70426ba1 --- /dev/null +++ b/bsp/buildroot/package/domoticz/0001-Bumped-version.patch @@ -0,0 +1,20 @@ +From 98723b7da9467a49222b8a7ffaae276c5bc075c1 Mon Sep 17 00:00:00 2001 +From: gizmocuz +Date: Thu, 28 Jun 2018 08:00:58 +0200 +Subject: [PATCH] Bumped version + +Signed-off-by: Fabrice Fontaine +[Retrieved from https://github.com/domoticz/domoticz/commit/98723b7da9467a49222b8a7ffaae276c5bc075c1] +--- + appversion.default | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/appversion.default b/appversion.default +index beaa069bb..7d3530590 100644 +--- a/appversion.default ++++ b/appversion.default +@@ -1,3 +1,3 @@ +-#define APPVERSION 5876 ++#define APPVERSION 9700 + #define APPHASH "b97777b" + #define APPDATE 1478691222 diff --git a/bsp/buildroot/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch b/bsp/buildroot/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch deleted file mode 100644 index d73ea4f0..00000000 --- a/bsp/buildroot/package/domoticz/0001-Fix-compilation-with-boost-1.66.patch +++ /dev/null @@ -1,56 +0,0 @@ -From b9481d3382d416d72f523a0442d662e49b4192d1 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 14 Jan 2018 18:18:32 +0100 -Subject: [PATCH] Fix compilation with boost 1.66 - -Patch fetch from one of the answer of - https://github.com/domoticz/domoticz/issues/2034 -(issue still opened, no official PR sent upstream) - -Boost asio changed its API: - - http://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/net_ts.html - -Signed-off-by: Fabrice Fontaine ---- - webserver/proxyclient.cpp | 2 +- - webserver/server.cpp | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/webserver/proxyclient.cpp b/webserver/proxyclient.cpp -index 203ee619..efc9815a 100644 ---- a/webserver/proxyclient.cpp -+++ b/webserver/proxyclient.cpp -@@ -639,7 +639,7 @@ namespace http { - void CProxyManager::StartThread() - { - try { -- boost::asio::ssl::context ctx(io_service, boost::asio::ssl::context::sslv23); -+ boost::asio::ssl::context ctx(boost::asio::ssl::context::sslv23); - ctx.set_verify_mode(boost::asio::ssl::verify_none); - - proxyclient.reset(new CProxyClient(io_service, ctx, m_pWebEm)); -diff --git a/webserver/server.cpp b/webserver/server.cpp -index 5255aa34..0c1af08a 100644 ---- a/webserver/server.cpp -+++ b/webserver/server.cpp -@@ -148,7 +148,7 @@ void server::handle_accept(const boost::system::error_code& e) { - ssl_server::ssl_server(const ssl_server_settings & ssl_settings, request_handler & user_request_handler) : - server_base(ssl_settings, user_request_handler), - settings_(ssl_settings), -- context_(io_service_, ssl_settings.get_ssl_method()) -+ context_(ssl_settings.get_ssl_method()) - { - #ifdef DEBUG_WWW - _log.Log(LOG_STATUS, "[web:%s] create ssl_server using ssl_server_settings : %s", ssl_settings.listening_port.c_str(), ssl_settings.to_string().c_str()); -@@ -161,7 +161,7 @@ ssl_server::ssl_server(const ssl_server_settings & ssl_settings, request_handler - ssl_server::ssl_server(const server_settings & settings, request_handler & user_request_handler) : - server_base(settings, user_request_handler), - settings_(dynamic_cast(settings)), -- context_(io_service_, dynamic_cast(settings).get_ssl_method()) { -+ context_(dynamic_cast(settings).get_ssl_method()) { - #ifdef DEBUG_WWW - _log.Log(LOG_STATUS, "[web:%s] create ssl_server using server_settings : %s", settings.listening_port.c_str(), settings.to_string().c_str()); - #endif --- -2.14.1 - diff --git a/bsp/buildroot/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch b/bsp/buildroot/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch new file mode 100644 index 00000000..a0adbdfe --- /dev/null +++ b/bsp/buildroot/package/domoticz/0002-CMakeLists.txt-fix-build-with-python-and-cmake-3.7.patch @@ -0,0 +1,40 @@ +From 4b77662232c806b8aba7680405144ad51ac3671b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 00:36:00 +0100 +Subject: [PATCH] CMakeLists.txt: fix build with python and cmake <= 3.7 + +domoticz will fail to build with python and older cmake +Indeed, find_package(PythonLibs 3.4) will not recognize python 3.7 until +cmake 3.7 and the following commit: +https://github.com/Kitware/CMake/commit/c31573b9641e0f1bc7a34149506db51f3494323b + +To fix this, add a call to find_package(PythonInterp 3.4). Indeed, if +FindPythonInterp has already found the major and minor version, that +version will be inserted between the user supplied versions and the +stock version list since cmake in version 3.1 and +https://github.com/Kitware/CMake/commit/3816cd2dc7a7cc220e4f1b1e87fee986545b9cb3 + +Fixes: + - http://autobuild.buildroot.org/results/8e82501a7b49da628ec026132ffca44c0c813040 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/domoticz/domoticz/pull/2889] +--- + CMakeLists.txt | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4e38b88..41003a0c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -125,6 +125,7 @@ ENDIF(USE_BUILTIN_SQLITE) + + option(USE_PYTHON "Use Python for Plugins and Event-Scripts" YES) + IF(USE_PYTHON) ++ find_package(PythonInterp 3.4) + find_package(PythonLibs 3.4) + IF(PYTHONLIBS_FOUND) + MESSAGE(STATUS "Python3 includes found at: ${PYTHON_INCLUDE_PATH}") +-- +2.14.1 + diff --git a/bsp/buildroot/package/domoticz/Config.in b/bsp/buildroot/package/domoticz/Config.in index 530027f2..b99e5480 100644 --- a/bsp/buildroot/package/domoticz/Config.in +++ b/bsp/buildroot/package/domoticz/Config.in @@ -3,11 +3,12 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_USE_MMU # mosquitto depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mosquitto depends on !BR2_STATIC_LIBS # mosquitto + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # sleep_for # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR - depends on BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3 + depends on BR2_PACKAGE_LUA_5_3 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME @@ -27,13 +28,14 @@ config BR2_PACKAGE_DOMOTICZ http://domoticz.com -comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, NPTL, wchar, dynamic library" +comment "domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 4.8, NPTL, wchar, dynamic library" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ - !(BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3) + !BR2_PACKAGE_LUA_5_3 comment "domoticz needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/domoticz/domoticz.hash b/bsp/buildroot/package/domoticz/domoticz.hash index 00dcf713..106d242d 100644 --- a/bsp/buildroot/package/domoticz/domoticz.hash +++ b/bsp/buildroot/package/domoticz/domoticz.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 5ea8f37f2ef900e9bd17b1b5375e75bfdec4f09001e3e2e0b647a260989d014c domoticz-3.8153.tar.gz +sha256 c31f185a1ffac01b86a77bf33e059a4403d814e826c9d6639c63c2e9afa55a46 domoticz-4.9700.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 License.txt diff --git a/bsp/buildroot/package/domoticz/domoticz.mk b/bsp/buildroot/package/domoticz/domoticz.mk index bd25708a..7f094d09 100644 --- a/bsp/buildroot/package/domoticz/domoticz.mk +++ b/bsp/buildroot/package/domoticz/domoticz.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOMOTICZ_VERSION = 3.8153 +DOMOTICZ_VERSION = 4.9700 DOMOTICZ_SITE = $(call github,domoticz,domoticz,$(DOMOTICZ_VERSION)) DOMOTICZ_LICENSE = GPL-3.0 DOMOTICZ_LICENSE_FILES = License.txt @@ -18,32 +18,18 @@ DOMOTICZ_DEPENDENCIES = \ sqlite \ zlib -# Fixes: -# http://autobuild.buildroot.org/results/454c0ea393615bae2d1b44be9920f25b5c49fc33 -# There is an issue with powerpc64le and boost::uuids::random_generator on the -# following line of code (from include/boost/uuid/seed_rng.hpp): -# sha.process_bytes( (unsigned char const*)&std::rand, sizeof( void(*)() ) ) -# This line "inspects the first couple bytes (here eight) of the std::rand -# function to seed some rng. Due to the implementation of process_bytes and -# inlining happening, it seems that one of the loops therein uses &rand-1 as -# some boundary, compiling with -O0 makes that reloc come out as 'rand + 0' and -# the link will succeed." -# See: https://bugzilla.suse.com/show_bug.cgi?id=955832#c7 -ifeq ($(BR2_powerpc64le),y) -DOMOTICZ_CXXFLAGS += -O0 -endif - # Due to the dependency on mosquitto, domoticz depends on -# !BR2_STATIC_LIBS so set USE_STATIC_BOOST to OFF -DOMOTICZ_CONF_OPTS += -DUSE_STATIC_BOOST=OFF +# !BR2_STATIC_LIBS so set USE_STATIC_BOOST and USE_OPENSSL_STATIC to OFF +DOMOTICZ_CONF_OPTS += \ + -DUSE_STATIC_BOOST=OFF \ + -DUSE_OPENSSL_STATIC=OFF # Do not use any built-in libraries which are enabled by default for # lua, sqlite and mqtt DOMOTICZ_CONF_OPTS += \ -DUSE_BUILTIN_LUA=OFF \ -DUSE_BUILTIN_SQLITE=OFF \ - -DUSE_BUILTIN_MQTT=OFF \ - -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(DOMOTICZ_CXXFLAGS)" + -DUSE_BUILTIN_MQTT=OFF ifeq ($(BR2_PACKAGE_LIBUSB),y) DOMOTICZ_DEPENDENCIES += libusb diff --git a/bsp/buildroot/package/doom-wad/doom-wad.mk b/bsp/buildroot/package/doom-wad/doom-wad.mk index d3ac731b..f348fc22 100644 --- a/bsp/buildroot/package/doom-wad/doom-wad.mk +++ b/bsp/buildroot/package/doom-wad/doom-wad.mk @@ -11,7 +11,7 @@ DOOM_WAD_SOURCE = doom$(subst .,,$(DOOM_WAD_VERSION))s.zip DOOM_WAD_SITE = http://www.jbserver.com/downloads/games/doom/misc/shareware define DOOM_WAD_EXTRACT_CMDS - $(UNZIP) -p $(DL_DIR)/$($(PKG)_SOURCE) 'DOOMS_19.[12]' > \ + $(UNZIP) -p $(DOOM_WAD_DL_DIR)/$($(PKG)_SOURCE) 'DOOMS_19.[12]' > \ $(@D)/doom-$(DOOM_WAD_VERSION).zip $(UNZIP) -d $(@D) $(@D)/doom-$(DOOM_WAD_VERSION).zip DOOM1.WAD endef diff --git a/bsp/buildroot/package/dos2unix/dos2unix.mk b/bsp/buildroot/package/dos2unix/dos2unix.mk index 5001397f..0522ad16 100644 --- a/bsp/buildroot/package/dos2unix/dos2unix.mk +++ b/bsp/buildroot/package/dos2unix/dos2unix.mk @@ -8,9 +8,7 @@ DOS2UNIX_VERSION = 7.4.0 DOS2UNIX_SITE = http://waterlan.home.xs4all.nl/dos2unix DOS2UNIX_LICENSE = BSD-2-Clause DOS2UNIX_LICENSE_FILES = COPYING.txt -DOS2UNIX_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_BUSYBOX),busybox) \ - $(TARGET_NLS_DEPENDENCIES) +DOS2UNIX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) DOS2UNIX_MAKE_OPTS += ENABLE_NLS=1 diff --git a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash index a2b7eba9..5ad9406a 100644 --- a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash +++ b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.hash @@ -1,3 +1,3 @@ # Locally computed after checking signature -sha256 4ae09cb788c5334d167f5a89ee70b0616c3231e5904ad258ce408e4953cfdd6a dovecot-2.2-pigeonhole-0.4.21.tar.gz +sha256 547999e67a001abc5e654c7e35653d3fe057fa9a47a24257e39a79c41ef08516 dovecot-2.3-pigeonhole-0.5.4.tar.gz sha256 fc9e9522216f2a9a28b31300e3c73c1df56acc27dfae951bf516e7995366b51a COPYING diff --git a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk index ea8b0077..18420467 100644 --- a/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk +++ b/bsp/buildroot/package/dovecot-pigeonhole/dovecot-pigeonhole.mk @@ -4,9 +4,9 @@ # ################################################################################ -DOVECOT_PIGEONHOLE_VERSION = 0.4.21 -DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.2-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz -DOVECOT_PIGEONHOLE_SITE = http://pigeonhole.dovecot.org/releases/2.2 +DOVECOT_PIGEONHOLE_VERSION = 0.5.4 +DOVECOT_PIGEONHOLE_SOURCE = dovecot-2.3-pigeonhole-$(DOVECOT_PIGEONHOLE_VERSION).tar.gz +DOVECOT_PIGEONHOLE_SITE = https://pigeonhole.dovecot.org/releases/2.3 DOVECOT_PIGEONHOLE_LICENSE = LGPL-2.1 DOVECOT_PIGEONHOLE_LICENSE_FILES = COPYING DOVECOT_PIGEONHOLE_DEPENDENCIES = dovecot diff --git a/bsp/buildroot/package/dovecot/dovecot.hash b/bsp/buildroot/package/dovecot/dovecot.hash index fef07460..e4a07ba4 100644 --- a/bsp/buildroot/package/dovecot/dovecot.hash +++ b/bsp/buildroot/package/dovecot/dovecot.hash @@ -1,5 +1,5 @@ # Locally computed after checking signature -sha256 5e92a4325409e66b343f6aaa67174b8921ce83d0df792c6eeb0b7b7e2c808353 dovecot-2.2.34.tar.gz +sha256 b8873e2ce5c33e58963bb7a8d2ff8427c09dbfdd63e13a0b0f4502864043aa07 dovecot-2.3.4.1.tar.gz sha256 a363b132e494f662d98c820d1481297e6ae72f194c2c91b6c39e1518b86240a8 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL sha256 52b8c95fabb19575281874b661ef7968ea47e8f5d74ba0dd40ce512e52b3fc97 COPYING.MIT diff --git a/bsp/buildroot/package/dovecot/dovecot.mk b/bsp/buildroot/package/dovecot/dovecot.mk index e1b4bb21..bffc8ac5 100644 --- a/bsp/buildroot/package/dovecot/dovecot.mk +++ b/bsp/buildroot/package/dovecot/dovecot.mk @@ -4,9 +4,9 @@ # ################################################################################ -DOVECOT_VERSION_MAJOR = 2.2 -DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).34 -DOVECOT_SITE = http://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) +DOVECOT_VERSION_MAJOR = 2.3 +DOVECOT_VERSION = $(DOVECOT_VERSION_MAJOR).4.1 +DOVECOT_SITE = https://www.dovecot.org/releases/$(DOVECOT_VERSION_MAJOR) DOVECOT_INSTALL_STAGING = YES DOVECOT_LICENSE = LGPL-2.1, MIT, Public Domain, BSD-3-Clause, Unicode-DFS-2015 DOVECOT_LICENSE_FILES = COPYING COPYING.LGPL COPYING.MIT @@ -57,6 +57,13 @@ else DOVECOT_CONF_OPTS += --without-libcap endif +ifeq ($(BR2_PACKAGE_LIBSODIUM),y) +DOVECOT_CONF_OPTS += --with-sodium +DOVECOT_DEPENDENCIES += libsodium +else +DOVECOT_CONF_OPTS += --without-sodium +endif + ifeq ($(BR2_PACKAGE_DOVECOT_MYSQL),y) DOVECOT_CONF_ENV += MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config" DOVECOT_CONF_OPTS += --with-mysql diff --git a/bsp/buildroot/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch b/bsp/buildroot/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch deleted file mode 100644 index b64158ca..00000000 --- a/bsp/buildroot/package/doxygen/0001-Bug-776791-1.8.13-Regression-Segfault-building-the-b.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0f02761a158a5e9ddbd5801682482af8986dbc35 Mon Sep 17 00:00:00 2001 -From: albert-github -Date: Wed, 4 Jan 2017 12:24:55 +0100 -Subject: [PATCH] Bug 776791 - [1.8.13 Regression] Segfault building the - breathe docs - -Protected against NULL pointer of variable al - -[Romain: backport from upstream] -Signed-off-by: Romain Naour ---- - src/xmlgen.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp -index fe95c7a..70e198a 100644 ---- a/src/xmlgen.cpp -+++ b/src/xmlgen.cpp -@@ -620,7 +620,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De - if (md->isInline()) t << "yes"; else t << "no"; - t << "\""; - -- if (al->refQualifier!=RefQualifierNone) -+ if (al!=0 && al->refQualifier!=RefQualifierNone) - { - t << " refqual=\""; - if (al->refQualifier==RefQualifierLValue) t << "lvalue"; else t << "rvalue"; --- -2.9.4 - diff --git a/bsp/buildroot/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch b/bsp/buildroot/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch deleted file mode 100644 index 282b2bdc..00000000 --- a/bsp/buildroot/package/doxygen/0002-build-fix-the-way-lang_cfg.h-is-generated.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f9a3aa72c2bf15726bcdafd140fd21f790de555d Mon Sep 17 00:00:00 2001 -From: Bartosz Golaszewski -Date: Wed, 21 Jun 2017 14:32:25 +0200 -Subject: [PATCH] build: fix the way lang_cfg.h is generated - -This header is generated by running cmake/lang_cfg.cmake and -redirecting its stderr. If any warning is emitted by this script, it -ends up in the generated header and breaks the build. - -To avoid such problems: pass the path to the header as an argument to -the cmake script and use the cmake 'file' command instead of 'message'. - -We can't even use message(STATUS...) as - although it prints to stdout -as opposed to other types of messages - it prepends all output with -a double hyphen. - -Signed-off-by: Bartosz Golaszewski ---- - cmake/lang_cfg.cmake | 10 +++++----- - src/CMakeLists.txt | 2 +- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/cmake/lang_cfg.cmake b/cmake/lang_cfg.cmake -index c57d3ed..86c2d9a 100644 ---- a/cmake/lang_cfg.cmake -+++ b/cmake/lang_cfg.cmake -@@ -1,10 +1,10 @@ --if(${CMAKE_ARGC} GREATER 1) -- if ("${CMAKE_ARGV3}" STREQUAL "ENONLY") -- message("#define ENGLISH_ONLY") -+if(${CMAKE_ARGC} GREATER 2) -+ if ("${CMAKE_ARGV4}" STREQUAL "ENONLY") -+ file(APPEND ${CMAKE_ARGV3} " #define ENGLISH_ONLY") - else() - math(EXPR UPTO ${CMAKE_ARGC}-1) -- foreach(i RANGE 3 ${UPTO}) -- message("#define LANG_${CMAKE_ARGV${i}}") -+ foreach(i RANGE 4 ${UPTO}) -+ file(APPEND ${CMAKE_ARGV3} " #define LANG_${CMAKE_ARGV${i}}") - endforeach() - endif() - endif() -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 08c8439..dcf4ef8 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -73,7 +73,7 @@ set_source_files_properties(${GENERATED_SRC}/ce_parse.h PROPERTIES GENERATED 1) - # lang_cfg.h - add_custom_command( - COMMENT "Generating ${GENERATED_SRC}/lang_cfg.h" -- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${LANG_CODES} 2> ${GENERATED_SRC}/lang_cfg.h -+ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/lang_cfg.cmake ${GENERATED_SRC}/lang_cfg.h ${LANG_CODES} - DEPENDS ${LANGUAGE_FILES} - OUTPUT ${GENERATED_SRC}/lang_cfg.h - ) --- -2.9.3 - diff --git a/bsp/buildroot/package/doxygen/doxygen.hash b/bsp/buildroot/package/doxygen/doxygen.hash index 4cf53e7a..db70b74d 100644 --- a/bsp/buildroot/package/doxygen/doxygen.hash +++ b/bsp/buildroot/package/doxygen/doxygen.hash @@ -1,2 +1,2 @@ # Computed locally -sha256 af667887bd7a87dc0dbf9ac8d86c96b552dfb8ca9c790ed1cbffaa6131573f6b doxygen-1.8.13.src.tar.gz +sha256 d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d doxygen-1.8.14.src.tar.gz diff --git a/bsp/buildroot/package/doxygen/doxygen.mk b/bsp/buildroot/package/doxygen/doxygen.mk index 10cdcf97..5e11a1d1 100644 --- a/bsp/buildroot/package/doxygen/doxygen.mk +++ b/bsp/buildroot/package/doxygen/doxygen.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOXYGEN_VERSION = 1.8.13 +DOXYGEN_VERSION = 1.8.14 DOXYGEN_SOURCE = doxygen-$(DOXYGEN_VERSION).src.tar.gz DOXYGEN_SITE = http://ftp.stack.nl/pub/users/dimitri DOXYGEN_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/dropbear/Config.in b/bsp/buildroot/package/dropbear/Config.in index 5d6b83b6..62f77bad 100644 --- a/bsp/buildroot/package/dropbear/Config.in +++ b/bsp/buildroot/package/dropbear/Config.in @@ -56,4 +56,14 @@ config BR2_PACKAGE_DROPBEAR_LASTLOG Enable logging of dropbear access to lastlog. Notice that Buildroot does not generate lastlog by default. +config BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO + bool "enable legacy crypto" + help + Enable legacy and possibly insecure algorithms: + 3DES encryption + SHA1-96 message integrity + CBC encryption mode + DSA public keys + Diffie-Hellman Group1 key exchange + endif diff --git a/bsp/buildroot/package/dropbear/dropbear.mk b/bsp/buildroot/package/dropbear/dropbear.mk index fc41a84c..a5a8243b 100644 --- a/bsp/buildroot/package/dropbear/dropbear.mk +++ b/bsp/buildroot/package/dropbear/dropbear.mk @@ -34,6 +34,19 @@ ifeq ($(BR2_SHARED_STATIC_LIBS),y) DROPBEAR_CONF_OPTS += --disable-static endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +define DROPBEAR_SVR_PAM_AUTH + echo '#define DROPBEAR_SVR_PASSWORD_AUTH 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_SVR_PAM_AUTH 1' >> $(@D)/localoptions.h +endef +define DROPBEAR_INSTALL_PAM_CONF + $(INSTALL) -D -m 644 package/dropbear/etc-pam.d-sshd $(TARGET_DIR)/etc/pam.d/sshd +endef +DROPBEAR_DEPENDENCIES += linux-pam +DROPBEAR_CONF_OPTS += --enable-pam +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PAM_AUTH +DROPBEAR_POST_INSTALL_TARGET_HOOKS += DROPBEAR_INSTALL_PAM_CONF +else # Ensure that dropbear doesn't use crypt() when it's not available define DROPBEAR_SVR_PASSWORD_AUTH echo '#if !HAVE_CRYPT' >> $(@D)/localoptions.h @@ -41,6 +54,18 @@ define DROPBEAR_SVR_PASSWORD_AUTH echo '#endif' >> $(@D)/localoptions.h endef DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_SVR_PASSWORD_AUTH +endif + +define DROPBEAR_DISABLE_LEGACY_CRYPTO + echo '#define DROPBEAR_3DES 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_ENABLE_CBC_MODE 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_SHA1_96_HMAC 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_DSS 0' >> $(@D)/localoptions.h + echo '#define DROPBEAR_DH_GROUP1 0' >> $(@D)/localoptions.h +endef +ifneq ($(BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO),y) +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_DISABLE_LEGACY_CRYPTO +endif define DROPBEAR_ENABLE_REVERSE_DNS echo '#define DO_HOST_LOOKUP 1' >> $(@D)/localoptions.h @@ -48,7 +73,6 @@ endef define DROPBEAR_BUILD_FEATURED echo '#define DROPBEAR_SMALL_CODE 0' >> $(@D)/localoptions.h - echo '#define DROPBEAR_BLOWFISH 1' >> $(@D)/localoptions.h echo '#define DROPBEAR_TWOFISH128 1' >> $(@D)/localoptions.h echo '#define DROPBEAR_TWOFISH256 1' >> $(@D)/localoptions.h endef @@ -57,6 +81,12 @@ define DROPBEAR_DISABLE_STANDALONE echo '#define NON_INETD_MODE 0' >> $(@D)/localoptions.h endef +define DROPBEAR_CUSTOM_PATH + echo '#define DEFAULT_PATH $(BR2_SYSTEM_DEFAULT_PATH)' >>$(@D)/localoptions.h +endef + +DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_CUSTOM_PATH + define DROPBEAR_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/dropbear/dropbear.service \ $(TARGET_DIR)/usr/lib/systemd/system/dropbear.service diff --git a/bsp/buildroot/package/dropbear/etc-pam.d-sshd b/bsp/buildroot/package/dropbear/etc-pam.d-sshd new file mode 100644 index 00000000..5e13fc0d --- /dev/null +++ b/bsp/buildroot/package/dropbear/etc-pam.d-sshd @@ -0,0 +1,7 @@ +#%PAM-1.0 +auth required pam_unix.so shadow nodelay +account required pam_nologin.so +account required pam_unix.so +password required pam_unix.so shadow nullok use_authtok +session required pam_unix.so +session required pam_limits.so diff --git a/bsp/buildroot/package/dsp-tools/Config.in b/bsp/buildroot/package/dsp-tools/Config.in deleted file mode 100644 index 0267454b..00000000 --- a/bsp/buildroot/package/dsp-tools/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_DSP_TOOLS - bool "dsp-tools" - depends on BR2_cortex_a8 - select BR2_PACKAGE_TIDSP_BINARIES - help - Utilities for TI OMAP3 DSP. - - http://github.com/felipec/dsp-tools diff --git a/bsp/buildroot/package/dsp-tools/dsp-tools.hash b/bsp/buildroot/package/dsp-tools/dsp-tools.hash deleted file mode 100644 index cfcf06c8..00000000 --- a/bsp/buildroot/package/dsp-tools/dsp-tools.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 734a1d5f21fb388bdbe64f7b599fef52357c3c72ff860f38456a352e7c1c3e78 dsp-tools-v2.0.tar.gz diff --git a/bsp/buildroot/package/dsp-tools/dsp-tools.mk b/bsp/buildroot/package/dsp-tools/dsp-tools.mk deleted file mode 100644 index ec63bcd1..00000000 --- a/bsp/buildroot/package/dsp-tools/dsp-tools.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# dsp-tools -# -################################################################################ - -DSP_TOOLS_VERSION = v2.0 -DSP_TOOLS_SITE = $(call github,felipec,dsp-tools,$(DSP_TOOLS_VERSION)) -DSP_TOOLS_DEPENDENCIES = tidsp-binaries -DSP_TOOLS_LICENSE = LGPL-2.1 -DSP_TOOLS_LICENSE_FILES = LICENSE - -define DSP_TOOLS_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e -endef - -define DSP_TOOLS_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch b/bsp/buildroot/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch deleted file mode 100644 index 79c43d6a..00000000 --- a/bsp/buildroot/package/dt-utils/0001-common-Rename-strlcpy-to-DT_strlcpy.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 3d229cc0f8dc81335c53b1f7471ef82ef2f6e570 Mon Sep 17 00:00:00 2001 -From: Marcin Niestroj -Date: Fri, 23 Jun 2017 11:11:04 +0200 -Subject: [PATCH] common: Rename strlcpy to DT_strlcpy -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -strlcpy function is defined in uClibc library, causing "static -declaration of ‘strlcpy’ follows non-static declaration" build -errors. - -Rename internal strlcpy function to DT_strlcpy to avoid conflicts. - -Signed-off-by: Marcin Niestroj ---- - src/dt/common.h | 4 ++-- - src/libdt.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/dt/common.h b/src/dt/common.h -index f6bad44..992e28f 100644 ---- a/src/dt/common.h -+++ b/src/dt/common.h -@@ -168,7 +168,7 @@ static inline char *barebox_asprintf(const char *fmt, ...) - #define basprintf(fmt, arg...) barebox_asprintf(fmt, ##arg) - - /** -- * strlcpy - Copy a %NUL terminated string into a sized buffer -+ * DT_strlcpy - Copy a %NUL terminated string into a sized buffer - * @dest: Where to copy the string to - * @src: Where to copy the string from - * @size: size of destination buffer -@@ -178,7 +178,7 @@ static inline char *barebox_asprintf(const char *fmt, ...) - * of course, the buffer size is zero). It does not pad - * out the result like strncpy() does. - */ --static inline size_t strlcpy(char *dest, const char *src, size_t size) -+static inline size_t DT_strlcpy(char *dest, const char *src, size_t size) - { - size_t ret = strlen(src); - -diff --git a/src/libdt.c b/src/libdt.c -index 4db5160..3adeed2 100644 ---- a/src/libdt.c -+++ b/src/libdt.c -@@ -1503,7 +1503,7 @@ int of_modalias_node(struct device_node *node, char *modalias, int len) - if (!compatible || strlen(compatible) > cplen) - return -ENODEV; - p = strchr(compatible, ','); -- strlcpy(modalias, p ? p + 1 : compatible, len); -+ DT_strlcpy(modalias, p ? p + 1 : compatible, len); - return 0; - } - --- -2.13.1 - diff --git a/bsp/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch b/bsp/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch new file mode 100644 index 00000000..8c2f5859 --- /dev/null +++ b/bsp/buildroot/package/dt-utils/0001-src-fix-compilation-for-glibc-version-2.27.9000-36.f.patch @@ -0,0 +1,75 @@ +From 1c80e31872aec9f2ef7eca6a52aa89c0ea759d8f Mon Sep 17 00:00:00 2001 +From: Enrico Joerns +Date: Wed, 5 Sep 2018 12:28:28 +0200 +Subject: [PATCH] src: fix compilation for glibc version 2.27.9000-36.fc29 and + newer + +As recent glibc versions (>= 2.27.9000-36.fc29) also define 'struct +statx' which is also defined in linux/stat.h, compilation fails with +error: + +| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: +| [..]/usr/include/linux/stat.h:56:8: error: redefinition of 'struct statx_timestamp' +| struct statx_timestamp { +| ^~~~~~~~~~~~~~~ +| In file included from [..]/usr/include/sys/stat.h:446, +| from ../dt-utils-2018.05.0/src/dt/common.h:15, +| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: +| [..]/usr/include/bits/statx.h:25:8: note: originally defined here +| struct statx_timestamp +| ^~~~~~~~~~~~~~~ +| In file included from ../dt-utils-2018.05.0/src/crypto/digest.c:24: +| [..]/usr/include/linux/stat.h:99:8: error: redefinition of 'struct statx' +| struct statx { +| ^~~~~ +| In file included from [..]/usr/include/sys/stat.h:446, +| from ../dt-utils-2018.05.0/src/dt/common.h:15, +| from ../dt-utils-2018.05.0/src/crypto/digest.c:19: +| [..]/usr/include/bits/statx.h:36:8: note: originally defined here +| struct statx +| ^~~~~ + +The linux/stat.h originates from the code that was copied from barebox +but is not explicitly required to be linux/stat.h instead of sys/stat.h +and we do not actually use struct statx. + +Thus it is safe to simply replace occurrences of linux/stat.h by +sys/stat.h to fix compilation. + +Signed-off-by: Enrico Joerns +[Thomas: backport from upstream.] +Signed-off-by: Thomas Petazzoni +--- + src/barebox-state/backend_storage.c | 2 +- + src/crypto/digest.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/barebox-state/backend_storage.c b/src/barebox-state/backend_storage.c +index 53fe829..1052656 100644 +--- a/src/barebox-state/backend_storage.c ++++ b/src/barebox-state/backend_storage.c +@@ -19,7 +19,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +diff --git a/src/crypto/digest.c b/src/crypto/digest.c +index 7a8c3c0..8353412 100644 +--- a/src/crypto/digest.c ++++ b/src/crypto/digest.c +@@ -21,7 +21,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +2.19.2 + diff --git a/bsp/buildroot/package/dt-utils/0002-common-Include-sys-types.h-header.patch b/bsp/buildroot/package/dt-utils/0002-common-Include-sys-types.h-header.patch deleted file mode 100644 index a49d4686..00000000 --- a/bsp/buildroot/package/dt-utils/0002-common-Include-sys-types.h-header.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b8bc4e83bf447b6330ece54e94a1684d12ecdd0b Mon Sep 17 00:00:00 2001 -From: Marcin Niestroj -Date: Fri, 23 Jun 2017 12:00:30 +0200 -Subject: [PATCH] common: Include sys/types.h header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Build with musl library fails with following error: - -In file included from src/crypto/sha1.c:21:0: -./src/digest.h:95:10: error: unknown type name ‘ulong’ - ulong start, ulong size); -... - -Fix that by including sys/types.h header in common.h, so ulong type -is defined with musl library. - -Signed-off-by: Marcin Niestroj ---- - src/dt/common.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/dt/common.h b/src/dt/common.h -index 992e28f..1425c53 100644 ---- a/src/dt/common.h -+++ b/src/dt/common.h -@@ -13,6 +13,7 @@ - - #include - #include -+#include - - #include - --- -2.13.1 - diff --git a/bsp/buildroot/package/dt-utils/dt-utils.hash b/bsp/buildroot/package/dt-utils/dt-utils.hash new file mode 100644 index 00000000..5805adf3 --- /dev/null +++ b/bsp/buildroot/package/dt-utils/dt-utils.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 d0f53c76bc9f821a6506c8db3b623922d82570a017a9a40ad118bd7c957672b6 dt-utils-v2018.05.0.tar.gz +sha256 a45932c79317d15116eadbf1c9c6fc59117ec3c4621db3a876066defa723963b COPYING diff --git a/bsp/buildroot/package/dt-utils/dt-utils.mk b/bsp/buildroot/package/dt-utils/dt-utils.mk index 5b137505..3dbadc7b 100644 --- a/bsp/buildroot/package/dt-utils/dt-utils.mk +++ b/bsp/buildroot/package/dt-utils/dt-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -DT_UTILS_VERSION = v2017.03.0 +DT_UTILS_VERSION = v2018.05.0 DT_UTILS_SITE = https://git.pengutronix.de/git/tools/dt-utils DT_UTILS_SITE_METHOD = git DT_UTILS_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch b/bsp/buildroot/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch new file mode 100644 index 00000000..d9c660ef --- /dev/null +++ b/bsp/buildroot/package/dtc/0001-Kill-bogus-TYPE_BLOB-marker-type.patch @@ -0,0 +1,138 @@ +From 9619c8619c37b9aea98100bcc15c51a5642e877e Mon Sep 17 00:00:00 2001 +From: Greg Kurz +Date: Thu, 30 Aug 2018 12:01:59 +0200 +Subject: [PATCH] Kill bogus TYPE_BLOB marker type + +Since commit 32b9c6130762 "Preserve datatype markers when emitting dts +format", we no longer try to guess the value type. Instead, we reuse +the type of the datatype markers when they are present, if the type +is either TYPE_UINT* or TYPE_STRING. + +This causes 'dtc -I fs' to crash: + +Starting program: /root/dtc -q -f -O dts -I fs /proc/device-tree +/dts-v1/; + +/ { + +Program received signal SIGSEGV, Segmentation fault. +__strlen_power8 () at ../sysdeps/powerpc/powerpc64/power8/strlen.S:47 +47 ld r12,0(r4) /* Load doubleword from memory. */ +(gdb) bt +#0 __strlen_power8 () at ../sysdeps/powerpc/powerpc64/power8/strlen.S:47 +#1 0x00007ffff7de3d10 in __GI__IO_fputs (str=, + fp=) at iofputs.c:33 +#2 0x000000001000c7a0 in write_propval (prop=0x100525e0, + f=0x7ffff7f718a0 <_IO_2_1_stdout_>) at treesource.c:245 + +The offending line is: + + fprintf(f, "%s", delim_start[emit_type]); + +where emit_type is TYPE_BLOB and: + +static const char *delim_start[] = { + [TYPE_UINT8] = "[", + [TYPE_UINT16] = "/bits/ 16 <", + [TYPE_UINT32] = "<", + [TYPE_UINT64] = "/bits/ 64 <", + [TYPE_STRING] = "", +}; + +/* Data blobs */ +enum markertype { + TYPE_NONE, + REF_PHANDLE, + REF_PATH, + LABEL, + TYPE_UINT8, + TYPE_UINT16, + TYPE_UINT32, + TYPE_UINT64, + TYPE_BLOB, + TYPE_STRING, +}; + +Because TYPE_BLOB < TYPE_STRING and delim_start[] is a static array, +delim_start[emit_type] is 0x0. The glibc usually prints out "(null)" +when one passes 0x0 to %s, but it seems to call fputs() internally if +the format is exactly "%s", hence the crash. + +TYPE_BLOB basically means the data comes from a file and we don't know +its type. We don't care for the former, and the latter is TYPE_NONE. + +So let's drop TYPE_BLOB completely and use TYPE_NONE instead when reading +the file. Then, try to guess the data type at emission time, like the +code already does for refs and labels. + +Instead of adding yet another check for TYPE_NONE, an helper is introduced +to check if the data marker has type information, ie, >= TYPE_UINT8. + +Fixes: 32b9c61307629ac76c6ac0bead6f926d579b3d2c +Suggested-by: David Gibson +Signed-off-by: Greg Kurz +Signed-off-by: David Gibson +Signed-off-by: Joel Stanley +--- + data.c | 2 +- + dtc.h | 1 - + treesource.c | 9 +++++++-- + 3 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/data.c b/data.c +index accdfaef6668..4a204145cc7b 100644 +--- a/data.c ++++ b/data.c +@@ -95,7 +95,7 @@ struct data data_copy_file(FILE *f, size_t maxlen) + { + struct data d = empty_data; + +- d = data_add_marker(d, TYPE_BLOB, NULL); ++ d = data_add_marker(d, TYPE_NONE, NULL); + while (!feof(f) && (d.len < maxlen)) { + size_t chunksize, ret; + +diff --git a/dtc.h b/dtc.h +index 303c2a6a73b7..51c03ef64dbe 100644 +--- a/dtc.h ++++ b/dtc.h +@@ -82,7 +82,6 @@ enum markertype { + TYPE_UINT16, + TYPE_UINT32, + TYPE_UINT64, +- TYPE_BLOB, + TYPE_STRING, + }; + extern const char *markername(enum markertype markertype); +diff --git a/treesource.c b/treesource.c +index f99544d72344..53e62036ad0e 100644 +--- a/treesource.c ++++ b/treesource.c +@@ -133,9 +133,14 @@ static void write_propval_int(FILE *f, const char *p, size_t len, size_t width) + } + } + ++static bool has_data_type_information(struct marker *m) ++{ ++ return m->type >= TYPE_UINT8; ++} ++ + static struct marker *next_type_marker(struct marker *m) + { +- while (m && (m->type == LABEL || m->type == REF_PHANDLE || m->type == REF_PATH)) ++ while (m && !has_data_type_information(m)) + m = m->next; + return m; + } +@@ -225,7 +230,7 @@ static void write_propval(FILE *f, struct property *prop) + size_t chunk_len; + const char *p = &prop->val.val[m->offset]; + +- if (m->type < TYPE_UINT8) ++ if (!has_data_type_information(m)) + continue; + + chunk_len = type_marker_length(m); +-- +2.17.1 + diff --git a/bsp/buildroot/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch b/bsp/buildroot/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch new file mode 100644 index 00000000..bff5f4c0 --- /dev/null +++ b/bsp/buildroot/package/dtc/0002-Fix-include-guards-for-older-kernel-u-boot-sources.patch @@ -0,0 +1,62 @@ +From 086283ed7f1886de05407bc75dd4c070c78a6f50 Mon Sep 17 00:00:00 2001 +From: Lothar Felten +Date: Mon, 8 Oct 2018 13:29:44 +0200 +Subject: [PATCH] Fix include guards for older kernel/u-boot sources + +Linux kernels before 4.17 and U-Boot versions before 2018.07 use libfdt +include guards with leading underscores. + +Those have been removed in dtc-1.4.7. + +This patch handles both include guard types and allows the compilation +of older Linux kernel and u-boot sources. + +Signed-off-by: Lothar Felten +[ThomasDS: also update fdt.h which has the same issue, seen on U-Boot +2011.03] +Signed-off-by: Thomas De Schampheleire +--- + libfdt/fdt.h | 4 ++++ + libfdt/libfdt.h | 4 ++++ + libfdt/libfdt_env.h | 4 ++++ + 3 files changed, 12 insertions(+) + +diff --git a/libfdt/fdt.h b/libfdt/fdt.h +index 74961f9..2904f48 100644 +--- a/libfdt/fdt.h ++++ b/libfdt/fdt.h +@@ -1,3 +1,7 @@ ++#ifdef _FDT_H ++#warning "Please consider updating your kernel and/or u-boot version" ++#define FDT_H ++#endif + #ifndef FDT_H + #define FDT_H + /* +diff --git a/libfdt/libfdt.h b/libfdt/libfdt.h +index 830b77e..bef4566 100644 +--- a/libfdt/libfdt.h ++++ b/libfdt/libfdt.h +@@ -1,3 +1,7 @@ ++#ifdef _LIBFDT_H ++#warning "Please consider updating your kernel and/or u-boot version" ++#define LIBFDT_H ++#endif + #ifndef LIBFDT_H + #define LIBFDT_H + /* +diff --git a/libfdt/libfdt_env.h b/libfdt/libfdt_env.h +index eb20538..6a61e6a 100644 +--- a/libfdt/libfdt_env.h ++++ b/libfdt/libfdt_env.h +@@ -1,3 +1,7 @@ ++#ifdef _LIBFDT_ENV_H ++#warning "Please consider updating your kernel and/or u-boot version" ++#define LIBFDT_ENV_H ++#endif + #ifndef LIBFDT_ENV_H + #define LIBFDT_ENV_H + /* +-- +2.19.2 + diff --git a/bsp/buildroot/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch b/bsp/buildroot/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch new file mode 100644 index 00000000..ab95214a --- /dev/null +++ b/bsp/buildroot/package/dtc/0003-checks-fix-simple-bus-compatible-matching.patch @@ -0,0 +1,120 @@ +From 5277449e5fd13a2f3778ed3380ba157cb9d4ea55 Mon Sep 17 00:00:00 2001 +From: Rob Herring +Date: Thu, 20 Sep 2018 14:30:03 -0700 +Subject: [PATCH] checks: fix simple-bus compatible matching + +Since commit 7975f6422260 ("Fix widespread incorrect use of strneq(), +replace with new strprefixeq()") simple-bus checks have been silently +skipped. The problem was 'end - str' is one more than the string length +and the strnlen in strprefixeq fails. This can't be fixed simply by +subtracting one as it is possible to have multiple '\0' at the end of +the property. Fix this by making the 'compatible' property string list +check a dependency, and then we can assume the property is null +terminated and we can just use streq() for comparisons. + +Add some tests so the problem doesn't happen again. + +Fixes: 7975f6422260 ("Fix widespread incorrect use of strneq(), replace with new strprefixeq()") +Reported-by: Kumar Gala +Signed-off-by: Rob Herring +Signed-off-by: David Gibson +[Backport from upstream commit e84742aa7b934cd6603e3a64f8c0966f683c5711] +Signed-off-by: Thomas Petazzoni +--- + checks.c | 5 +++-- + tests/run_tests.sh | 4 ++++ + tests/unit-addr-simple-bus-compatible.dts | 18 ++++++++++++++++++ + tests/unit-addr-simple-bus-reg-mismatch.dts | 18 ++++++++++++++++++ + 4 files changed, 43 insertions(+), 2 deletions(-) + create mode 100644 tests/unit-addr-simple-bus-compatible.dts + create mode 100644 tests/unit-addr-simple-bus-reg-mismatch.dts + +diff --git a/checks.c b/checks.c +index a2cc103..acf91c3 100644 +--- a/checks.c ++++ b/checks.c +@@ -910,7 +910,7 @@ static bool node_is_compatible(struct node *node, const char *compat) + + for (str = prop->val.val, end = str + prop->val.len; str < end; + str += strnlen(str, end - str) + 1) { +- if (strprefixeq(str, end - str, compat)) ++ if (streq(str, compat)) + return true; + } + return false; +@@ -921,7 +921,8 @@ static void check_simple_bus_bridge(struct check *c, struct dt_info *dti, struct + if (node_is_compatible(node, "simple-bus")) + node->bus = &simple_bus; + } +-WARNING(simple_bus_bridge, check_simple_bus_bridge, NULL, &addr_size_cells); ++WARNING(simple_bus_bridge, check_simple_bus_bridge, NULL, ++ &addr_size_cells, &compatible_is_string_list); + + static void check_simple_bus_reg(struct check *c, struct dt_info *dti, struct node *node) + { +diff --git a/tests/run_tests.sh b/tests/run_tests.sh +index 7348c9c..c4354d2 100755 +--- a/tests/run_tests.sh ++++ b/tests/run_tests.sh +@@ -652,6 +652,10 @@ dtc_tests () { + check_tests pci-bridge-bad1.dts pci_bridge + check_tests pci-bridge-bad2.dts pci_bridge + ++ check_tests unit-addr-simple-bus-reg-mismatch.dts simple_bus_reg ++ check_tests unit-addr-simple-bus-compatible.dts simple_bus_reg ++ ++ + # Check warning options + run_sh_test dtc-checkfails.sh address_cells_is_cell interrupt_cells_is_cell -n size_cells_is_cell -- -Wno_size_cells_is_cell -I dts -O dtb bad-ncells.dts + run_sh_test dtc-fails.sh -n test-warn-output.test.dtb -I dts -O dtb bad-ncells.dts +diff --git a/tests/unit-addr-simple-bus-compatible.dts b/tests/unit-addr-simple-bus-compatible.dts +new file mode 100644 +index 0000000..c8f9341 +--- /dev/null ++++ b/tests/unit-addr-simple-bus-compatible.dts +@@ -0,0 +1,18 @@ ++/dts-v1/; ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ bus@10000000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "foo-bus", "simple-bus"; ++ ranges = <0x0 0x10000000 0x10000>; ++ ++ node@100 { ++ reg = <0x1000 1>; ++ }; ++ }; ++ ++}; +diff --git a/tests/unit-addr-simple-bus-reg-mismatch.dts b/tests/unit-addr-simple-bus-reg-mismatch.dts +new file mode 100644 +index 0000000..2823377 +--- /dev/null ++++ b/tests/unit-addr-simple-bus-reg-mismatch.dts +@@ -0,0 +1,18 @@ ++/dts-v1/; ++ ++/ { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ bus@10000000 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "simple-bus"; ++ ranges = <0x0 0x10000000 0x10000>; ++ ++ node@100 { ++ reg = <0x1000 1>; ++ }; ++ }; ++ ++}; +-- +2.19.1 + diff --git a/bsp/buildroot/package/dtc/dtc.hash b/bsp/buildroot/package/dtc/dtc.hash index 75c2e40e..b402c224 100644 --- a/bsp/buildroot/package/dtc/dtc.hash +++ b/bsp/buildroot/package/dtc/dtc.hash @@ -1,2 +1,2 @@ # from https://www.kernel.org/pub/software/utils/dtc/sha256sums.asc -sha256 470731d5c015b160d26a96645dbb1c7337d6e7b8c98244612002b66bedf6cffb dtc-1.4.4.tar.xz +sha256 6643e8f00ff86350f465bb54b2185058b5b1b7bac01a0842c81a52b86589cde7 dtc-1.4.7.tar.xz diff --git a/bsp/buildroot/package/dtc/dtc.mk b/bsp/buildroot/package/dtc/dtc.mk index 1bcee29b..7cb879bf 100644 --- a/bsp/buildroot/package/dtc/dtc.mk +++ b/bsp/buildroot/package/dtc/dtc.mk @@ -4,7 +4,7 @@ # ################################################################################ -DTC_VERSION = 1.4.4 +DTC_VERSION = 1.4.7 DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz DTC_SITE = https://www.kernel.org/pub/software/utils/dtc DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library) @@ -13,6 +13,14 @@ DTC_INSTALL_STAGING = YES DTC_DEPENDENCIES = host-bison host-flex HOST_DTC_DEPENDENCIES = host-bison host-flex +DTC_MAKE_OPTS = \ + PREFIX=/usr \ + NO_PYTHON=1 + +HOST_DTC_MAKE_OPTS = \ + PREFIX=$(HOST_DIR) \ + NO_PYTHON=1 + define DTC_POST_INSTALL_TARGET_RM_DTDIFF rm -f $(TARGET_DIR)/usr/bin/dtdiff endef @@ -32,26 +40,26 @@ DTC_INSTALL_GOAL = install-lib endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y define DTC_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) PREFIX=/usr + $(TARGET_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(TARGET_CFLAGS) -fPIC" -C $(@D) $(DTC_MAKE_OPTS) endef # For staging, only the library is needed define DTC_INSTALL_STAGING_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr install-lib \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) $(DTC_MAKE_OPTS) install-lib \ install-includes endef define DTC_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL) + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) $(DTC_MAKE_OPTS) $(DTC_INSTALL_GOAL) endef # host build define HOST_DTC_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(HOST_CFLAGS) -fPIC" -C $(@D) PREFIX=$(HOST_DIR) + $(HOST_CONFIGURE_OPTS) $(MAKE) CFLAGS="$(HOST_CFLAGS) -fPIC" -C $(@D) $(HOST_DTC_MAKE_OPTS) endef define HOST_DTC_INSTALL_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=$(HOST_DIR) install + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(HOST_DTC_MAKE_OPTS) install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.hash b/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.hash index 02f086dc..a4606bbe 100644 --- a/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.hash +++ b/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 ec64aa81a207372340a04d3e9e950ff2f8b4f404580f21480cdbf06019057a9f dtv-scan-tables-ceb11833b35f05813b1f0397a60e0f3b99430aab.tar.gz +sha256 a9c9375a3d3087cf9ee47086c19fffe8e3bf52397928288d88cd7fa4d7f8944e dtv-scan-tables-59f4a9b1dfbd573bafe33d238a08da95e4f0263a.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 4fd46f32582c29007657e2daad8d0a6d954cf4e9d2e47bae8f8d8c32765fc987 COPYING.LGPL diff --git a/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.mk b/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.mk index 3c546ed8..64779858 100644 --- a/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.mk +++ b/bsp/buildroot/package/dtv-scan-tables/dtv-scan-tables.mk @@ -4,7 +4,7 @@ # ################################################################################ -DTV_SCAN_TABLES_VERSION = ceb11833b35f05813b1f0397a60e0f3b99430aab +DTV_SCAN_TABLES_VERSION = 59f4a9b1dfbd573bafe33d238a08da95e4f0263a DTV_SCAN_TABLES_SITE = http://git.linuxtv.org/cgit.cgi/dtv-scan-tables.git DTV_SCAN_TABLES_SITE_METHOD = git @@ -17,15 +17,6 @@ DTV_SCAN_TABLES_SITE_METHOD = git DTV_SCAN_TABLES_LICENSE = GPL-2.0, LGPL-2.1 DTV_SCAN_TABLES_LICENSE_FILES = COPYING COPYING.LGPL -# In order to avoid issues with file name encodings, we rename the -# only dtv-scan-tables file that has non-ASCII characters to have a -# name using only ASCII characters (pl-Krosno_Sucha_Gora) -define DTV_SCAN_TABLES_FIX_NONASCII_FILENAMES - mv $(@D)/dvb-t/pl-Krosno_Sucha* $(@D)/dvb-t/pl-Krosno_Sucha_Gora -endef - -DTV_SCAN_TABLES_POST_PATCH_HOOKS += DTV_SCAN_TABLES_FIX_NONASCII_FILENAMES - define DTV_SCAN_TABLES_INSTALL_TARGET_CMDS for f in atsc dvb-c dvb-s dvb-t; do \ $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/dvb/$$f; \ diff --git a/bsp/buildroot/package/duktape/Config.in b/bsp/buildroot/package/duktape/Config.in new file mode 100644 index 00000000..5dad5c3e --- /dev/null +++ b/bsp/buildroot/package/duktape/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_DUKTAPE + bool "duktape" + depends on !BR2_STATIC_LIBS + help + Duktape is an embeddable Javascript engine, with a focus on + portability and compact footprint. + + Duktape is easy to integrate into a C/C++ project: add + duktape.c, duktape.h, and duk_config.h to your build, and use + the Duktape API to call Ecmascript functions from C code and + vice versa. + + http://www.duktape.org + +comment "duktape needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/duktape/duktape.hash b/bsp/buildroot/package/duktape/duktape.hash new file mode 100644 index 00000000..100af58d --- /dev/null +++ b/bsp/buildroot/package/duktape/duktape.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 0df1c0a9d40bfae31733e5c44f0eabaeae59e0a2ebf7693ff68bbabd49aae331 duktape-v2.3.0.tar.gz +sha256 9aabee442709a6e7652348b9617ae26d26da6b270c1f4b6fce4a1e746acb3df0 LICENSE.txt diff --git a/bsp/buildroot/package/duktape/duktape.mk b/bsp/buildroot/package/duktape/duktape.mk new file mode 100644 index 00000000..97b51f94 --- /dev/null +++ b/bsp/buildroot/package/duktape/duktape.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# duktape +# +################################################################################ + +DUKTAPE_VERSION = v2.3.0 +DUKTAPE_SITE = $(call github,svaarala,duktape-releases,$(DUKTAPE_VERSION)) +DUKTAPE_LICENSE = MIT +DUKTAPE_LICENSE_FILES = LICENSE.txt +DUKTAPE_INSTALL_STAGING = YES + +define DUKTAPE_BUILD_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary +endef + +define DUKTAPE_INSTALL_STAGING_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \ + INSTALL_PREFIX=$(STAGING_DIR)/usr install +endef + +define DUKTAPE_INSTALL_TARGET_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) -f Makefile.sharedlibrary \ + INSTALL_PREFIX=$(TARGET_DIR)/usr install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/dvblast/Config.in b/bsp/buildroot/package/dvblast/Config.in index c358531e..973eee88 100644 --- a/bsp/buildroot/package/dvblast/Config.in +++ b/bsp/buildroot/package/dvblast/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_DVBLAST bool "dvblast" - depends on !BR2_bfin # libev - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_BITSTREAM select BR2_PACKAGE_LIBEV select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE @@ -11,6 +10,5 @@ config BR2_PACKAGE_DVBLAST http://www.videolan.org/projects/dvblast.html -comment "dvblast needs a toolchain w/ NPTL" - depends on !BR2_bfin # libev - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL +comment "dvblast needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/dvblast/dvblast.hash b/bsp/buildroot/package/dvblast/dvblast.hash index d6ec4cb0..b32668fa 100644 --- a/bsp/buildroot/package/dvblast/dvblast.hash +++ b/bsp/buildroot/package/dvblast/dvblast.hash @@ -1,2 +1,7 @@ -# From https://get.videolan.org/dvblast/3.1/dvblast-3.1.tar.bz2 -sha256 3159e8666a3b1822aeccd01684bdcad712a0da88d758bef6b7e2c396f27fd3e0 dvblast-3.1.tar.bz2 +# From https://get.videolan.org/dvblast/3.4/dvblast-3.4.tar.bz2.md5 +md5 148a26e1207e111f905461cfb1cd106a dvblast-3.4.tar.bz2 +# From https://get.videolan.org/dvblast/3.4/dvblast-3.4.tar.bz2.sha256 +sha256 7abd45aff738544017350af87ec7ebad00fcfb4e4effd04f35023d504d9b6f44 dvblast-3.4.tar.bz2 +# Locally computed +sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING +sha256 2c1bea2f338d46ee6f2712f2c2bf05b874327ca0bec5eb0b7b4fbe208a23677f COPYING.WTFPL diff --git a/bsp/buildroot/package/dvblast/dvblast.mk b/bsp/buildroot/package/dvblast/dvblast.mk index 3cf24df2..3571ff3c 100644 --- a/bsp/buildroot/package/dvblast/dvblast.mk +++ b/bsp/buildroot/package/dvblast/dvblast.mk @@ -4,7 +4,7 @@ # ################################################################################ -DVBLAST_VERSION = 3.1 +DVBLAST_VERSION = 3.4 DVBLAST_SOURCE = dvblast-$(DVBLAST_VERSION).tar.bz2 DVBLAST_SITE = https://get.videolan.org/dvblast/$(DVBLAST_VERSION) DVBLAST_LICENSE = GPL-2.0+, WTFPL diff --git a/bsp/buildroot/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch b/bsp/buildroot/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch new file mode 100644 index 00000000..29c3a73a --- /dev/null +++ b/bsp/buildroot/package/dvdrw-tools/0002-Include-sysmacros.h-to-compile-with-newer-gcc.patch @@ -0,0 +1,14 @@ +growisofs.c: include sysmacros.h to compile with glibc-2.28 + +Signed-off-by: Giulio Benetti + +diff -urpN dvd+rw-tools-7.1.orig/growisofs.c dvd+rw-tools-7.1/growisofs.c +--- dvd+rw-tools-7.1.orig/growisofs.c 2018-09-08 01:56:11.686656819 +0200 ++++ dvd+rw-tools-7.1/growisofs.c 2018-09-08 02:11:45.868778471 +0200 +@@ -441,6 +441,7 @@ + #include + #include + #include ++#include + #include + #include "mp.h" diff --git a/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash b/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash index 3def51f9..7619e262 100644 --- a/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash +++ b/bsp/buildroot/package/e2fsprogs/e2fsprogs.hash @@ -1,6 +1,6 @@ -# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.43.9/sha256sums.asc -sha256 926f8e8de1ffba55d791f21b71334e8a32b5227257ad370f2bf7e4396629e97f e2fsprogs-1.43.9.tar.xz +# From https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.44.5/sha256sums.asc +sha256 ba5eb3069d69160d96818bb9700de9ab5a8458d9add1fd85d427c0000d34c5b9 e2fsprogs-1.44.5.tar.xz # Locally calculated -sha256 680f852df303874fe9c722283a7da571ae9a0477768df8af1e363298e2adc51e NOTICE +sha256 5da5ef153e559c1d990d4c3eedbedd4442db892d37eae1f35fff069de8ec9020 NOTICE sha256 032989b508f1a72ebee5b3417e55d06d473f9ee203e45ab11864a7e49cdec63d lib/ss/mit-sipb-copyright.h sha256 47182fe6631a32f271a15bbe210751b3825b7199f588879aac7d4804fc8b4b8f lib/et/internal.h diff --git a/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk b/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk index 99019c73..f5785ab4 100644 --- a/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk +++ b/bsp/buildroot/package/e2fsprogs/e2fsprogs.mk @@ -4,7 +4,7 @@ # ################################################################################ -E2FSPROGS_VERSION = 1.43.9 +E2FSPROGS_VERSION = 1.44.5 E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION) E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet) @@ -17,12 +17,6 @@ E2FSPROGS_INSTALL_STAGING = YES E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux HOST_E2FSPROGS_DEPENDENCIES = host-pkgconf host-util-linux -# If both e2fsprogs and busybox are selected, make certain e2fsprogs -# wins the fight over who gets to have their utils actually installed -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -E2FSPROGS_DEPENDENCIES += busybox -endif - # e4defrag doesn't build on older systems like RHEL5.x, and we don't # need it on the host anyway. # Disable fuse2fs as well to avoid carrying over deps, and it's unused @@ -32,11 +26,12 @@ HOST_E2FSPROGS_CONF_OPTS = \ --disable-fuse2fs \ --disable-libblkid \ --disable-libuuid \ + --disable-testio-debug \ --enable-symlink-install \ - --disable-testio-debug + --enable-elf-shlibs -# Set the binary directories to "/bin" and "/sbin" to override programs -# installed by busybox. +# Set the binary directories to "/bin" and "/sbin", as busybox does, +# so that we do not end up with two versions of e2fs tools. E2FSPROGS_CONF_OPTS = \ --bindir=/bin \ --sbindir=/sbin \ @@ -65,32 +60,17 @@ ifeq ($(BR2_nios2),y) E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no endif -# Some programs are built for the host, but use definitions guessed by -# the configure script (i.e with the cross-compiler). Help them by -# saying that is available on the host, which is needed -# for util/subst.c to build properly. -E2FSPROGS_CONF_ENV += BUILD_CFLAGS="-DHAVE_SYS_STAT_H" +E2FSPROGS_CONF_ENV += ac_cv_path_LDCONFIG=true -# Disable use of the host magic.h, as on older hosts (e.g. RHEL 5) -# it doesn't provide definitions expected by e2fsprogs support lib. -HOST_E2FSPROGS_CONF_ENV += \ - ac_cv_header_magic_h=no \ - ac_cv_lib_magic_magic_file=no - -E2FSPROGS_MAKE_OPTS = LDCONFIG=true +HOST_E2FSPROGS_CONF_ENV += ac_cv_path_LDCONFIG=true E2FSPROGS_INSTALL_STAGING_OPTS = \ DESTDIR=$(STAGING_DIR) \ - LDCONFIG=true \ install-libs -E2FSPROGS_INSTALL_TARGET_OPTS = \ - DESTDIR=$(TARGET_DIR) \ - LDCONFIG=true \ - install - +# Package does not build in parallel due to improper make rules define HOST_E2FSPROGS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install install-libs + $(HOST_MAKE_ENV) $(MAKE1) -C $(@D) install install-libs endef $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/ecryptfs-utils/0002-openssl110.patch b/bsp/buildroot/package/ecryptfs-utils/0002-openssl110.patch new file mode 100644 index 00000000..3ae29a60 --- /dev/null +++ b/bsp/buildroot/package/ecryptfs-utils/0002-openssl110.patch @@ -0,0 +1,173 @@ +Fix build with OpenSSL 1.1.x + +Downloaded from upstream commit +https://code.launchpad.net/~jelle-vdwaa/ecryptfs/ecryptfs/+merge/319746 + +Signed-off-by: Bernd Kuhls + +=== modified file 'src/key_mod/ecryptfs_key_mod_openssl.c' +--- a/src/key_mod/ecryptfs_key_mod_openssl.c 2013-10-25 19:45:09 +0000 ++++ b/src/key_mod/ecryptfs_key_mod_openssl.c 2017-06-02 18:27:28 +0000 +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -55,6 +56,19 @@ + char *passphrase; + }; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++#endif ++ + static void + ecryptfs_openssl_destroy_openssl_data(struct openssl_data *openssl_data) + { +@@ -142,6 +156,7 @@ + { + int len, nbits, ebits, i; + int nbytes, ebytes; ++ const BIGNUM *key_n, *key_e; + unsigned char *hash; + unsigned char *data = NULL; + int rc = 0; +@@ -152,11 +167,13 @@ + rc = -ENOMEM; + goto out; + } +- nbits = BN_num_bits(key->n); ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ nbits = BN_num_bits(key_n); + nbytes = nbits / 8; + if (nbits % 8) + nbytes++; +- ebits = BN_num_bits(key->e); ++ RSA_get0_key(key, NULL, &key_e, NULL); ++ ebits = BN_num_bits(key_e); + ebytes = ebits / 8; + if (ebits % 8) + ebytes++; +@@ -179,11 +196,13 @@ + data[i++] = '\02'; + data[i++] = (nbits >> 8); + data[i++] = nbits; +- BN_bn2bin(key->n, &(data[i])); ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ BN_bn2bin(key_n, &(data[i])); + i += nbytes; + data[i++] = (ebits >> 8); + data[i++] = ebits; +- BN_bn2bin(key->e, &(data[i])); ++ RSA_get0_key(key, NULL, &key_e, NULL); ++ BN_bn2bin(key_e, &(data[i])); + i += ebytes; + SHA1(data, len + 3, hash); + to_hex(sig, (char *)hash, ECRYPTFS_SIG_SIZE); +@@ -278,7 +297,9 @@ + BIO *in = NULL; + int rc; + ++ #if OPENSSL_VERSION_NUMBER < 0x10100000L + CRYPTO_malloc_init(); ++ #endif + ERR_load_crypto_strings(); + OpenSSL_add_all_algorithms(); + ENGINE_load_builtin_engines(); + +=== modified file 'src/key_mod/ecryptfs_key_mod_pkcs11_helper.c' +--- a/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c 2013-10-25 19:45:09 +0000 ++++ b/src/key_mod/ecryptfs_key_mod_pkcs11_helper.c 2017-06-02 18:27:28 +0000 +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -77,6 +78,19 @@ + typedef const unsigned char *__pkcs11_openssl_d2i_t; + #endif + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++#endif ++ + /** + * ecryptfs_pkcs11h_deserialize + * @pkcs11h_data: The deserialized version of the key module data; +@@ -282,7 +296,11 @@ + goto out; + } + ++ #if OPENSSL_VERSION_NUMBER < 0x10100000L + if (pubkey->type != EVP_PKEY_RSA) { ++ #else ++ if (EVP_PKEY_base_id(pubkey) != EVP_PKEY_RSA) { ++ #endif + syslog(LOG_ERR, "PKCS#11: Invalid public key algorithm"); + rc = -EIO; + goto out; +@@ -318,6 +336,7 @@ + int nbytes, ebytes; + char *hash = NULL; + char *data = NULL; ++ const BIGNUM *rsa_n, *rsa_e; + int rc; + + if ((rc = ecryptfs_pkcs11h_get_public_key(&rsa, blob))) { +@@ -331,11 +350,13 @@ + rc = -ENOMEM; + goto out; + } +- nbits = BN_num_bits(rsa->n); ++ RSA_get0_key(rsa, &rsa_n, NULL, NULL); ++ nbits = BN_num_bits(rsa_n); + nbytes = nbits / 8; + if (nbits % 8) + nbytes++; +- ebits = BN_num_bits(rsa->e); ++ RSA_get0_key(rsa, NULL, &rsa_e, NULL); ++ ebits = BN_num_bits(rsa_e); + ebytes = ebits / 8; + if (ebits % 8) + ebytes++; +@@ -358,11 +379,13 @@ + data[i++] = '\02'; + data[i++] = (char)(nbits >> 8); + data[i++] = (char)nbits; +- BN_bn2bin(rsa->n, &(data[i])); ++ RSA_get0_key(rsa, &rsa_n, NULL, NULL); ++ BN_bn2bin(rsa_n, &(data[i])); + i += nbytes; + data[i++] = (char)(ebits >> 8); + data[i++] = (char)ebits; +- BN_bn2bin(rsa->e, &(data[i])); ++ RSA_get0_key(rsa, NULL, &rsa_e, NULL); ++ BN_bn2bin(rsa_e, &(data[i])); + i += ebytes; + SHA1(data, len + 3, hash); + to_hex(sig, hash, ECRYPTFS_SIG_SIZE); + diff --git a/bsp/buildroot/package/ecryptfs-utils/Config.in b/bsp/buildroot/package/ecryptfs-utils/Config.in index bb4cc644..6652d33e 100644 --- a/bsp/buildroot/package/ecryptfs-utils/Config.in +++ b/bsp/buildroot/package/ecryptfs-utils/Config.in @@ -7,6 +7,7 @@ config BR2_PACKAGE_ECRYPTFS_UTILS depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnss -> libnspr depends on !BR2_MIPS_NABI32 # libnss depends on !BR2_STATIC_LIBS # libnss, keyutils + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # microblaze specific & GCC < 7.x select BR2_PACKAGE_KEYUTILS select BR2_PACKAGE_LIBNSS # runtime dependency only, some scripts are using the @@ -35,3 +36,6 @@ comment "ecryptfs-utils needs a toolchain w/ threads, wchar, dynami library" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \ BR2_STATIC_LIBS + +comment "ecryptfs needs a toolchain not affected by GCC bug 85862" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # libnss diff --git a/bsp/buildroot/package/ed/ed.hash b/bsp/buildroot/package/ed/ed.hash index 1aa00c04..96c814d3 100644 --- a/bsp/buildroot/package/ed/ed.hash +++ b/bsp/buildroot/package/ed/ed.hash @@ -1,2 +1,4 @@ -# From http://lists.gnu.org/archive/html/bug-ed/2017-02/msg00005.html -sha256 f57962ba930d70d02fc71d6be5c5f2346b16992a455ab9c43be7061dec9810db ed-1.14.2.tar.lz +# From http://lists.gnu.org/archive/html/bug-ed/2019-01/msg00010.html +sha256 ad4489c0ad7a108c514262da28e6c2a426946fb408a3977ef1ed34308bdfd174 ed-1.15.tar.lz +# Locally calculated +sha256 f03a12bef9dfb7281864a0dd965166d4f4ec7a66633df2bc72fa4363e57de02c COPYING diff --git a/bsp/buildroot/package/ed/ed.mk b/bsp/buildroot/package/ed/ed.mk index ada0316a..6ef8f951 100644 --- a/bsp/buildroot/package/ed/ed.mk +++ b/bsp/buildroot/package/ed/ed.mk @@ -4,12 +4,9 @@ # ################################################################################ -ED_VERSION = 1.14.2 +ED_VERSION = 1.15 ED_SITE = $(BR2_GNU_MIRROR)/ed ED_SOURCE = ed-$(ED_VERSION).tar.lz -ED_CONF_OPTS = \ - CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ - LDFLAGS="$(TARGET_LDFLAGS)" ED_LICENSE = GPL-3.0+ ED_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/efibootmgr/0002-Allow-build-with-uClibc.patch b/bsp/buildroot/package/efibootmgr/0001-Allow-build-with-uClibc.patch similarity index 100% rename from bsp/buildroot/package/efibootmgr/0002-Allow-build-with-uClibc.patch rename to bsp/buildroot/package/efibootmgr/0001-Allow-build-with-uClibc.patch diff --git a/bsp/buildroot/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch b/bsp/buildroot/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch deleted file mode 100644 index abafcec5..00000000 --- a/bsp/buildroot/package/efibootmgr/0001-dont-use-fshort-wchar-when-building.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 3466fd05c8c6f1052e0426d64eed40f8a88fd78f Mon Sep 17 00:00:00 2001 -From: steve-mcintyre -Date: Fri, 6 Jan 2017 18:18:47 +0000 -Subject: [PATCH] Don't use -fshort-wchar when building (#63) - -It's not needed and is causing build failures with gcc 6. Closes -Debian bug #849651 - -Signed-off-by: Steve McIntyre -[Upstream commit: https://github.com/rhinstaller/efibootmgr/commit/3466fd05c8c6f1052e0426d64eed40f8a88fd78f] -Signed-off-by: Thomas Petazzoni ---- - Make.defaults | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Make.defaults b/Make.defaults -index 50f1f4d..0ac50ef 100644 ---- a/Make.defaults -+++ b/Make.defaults -@@ -26,7 +26,7 @@ clang_cflags = - gcc_cflags = - cflags = $(CFLAGS) $(SUBDIR_CFLAGS) \ - -Werror -Wall -Wextra -Wsign-compare -Wstrict-aliasing \ -- -std=gnu11 -fshort-wchar -fPIC \ -+ -std=gnu11 -fPIC \ - -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DLOCALEDIR=\"$(localedir)\" \ - -DEFIBOOTMGR_VERSION="\"$(VERSION)\"" \ - $(if $(findstring clang,$(CC)),$(clang_cflags),) \ diff --git a/bsp/buildroot/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch b/bsp/buildroot/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch deleted file mode 100644 index 8bc6f01e..00000000 --- a/bsp/buildroot/package/efibootmgr/0003-Remove-extra-const-keywords-gcc-7-gripes-about.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a542b169003c2ef95ce6c00d40050eb10568b612 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 6 Feb 2017 16:34:54 -0500 -Subject: [PATCH] Remove extra const keywords gcc 7 gripes about. - -Signed-off-by: Peter Jones -[Backported from upstream commit a542b169003c2ef95ce6c00d40050eb10568b612] -Signed-off-by: Thomas Petazzoni ---- - src/efibootdump.c | 2 +- - src/efibootmgr.c | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/efibootdump.c b/src/efibootdump.c -index 6ff8360..30a1943 100644 ---- a/src/efibootdump.c -+++ b/src/efibootdump.c -@@ -39,7 +39,7 @@ print_boot_entry(efi_load_option *loadopt, size_t data_size) - uint8_t *optional_data = NULL; - size_t optional_data_len = 0; - uint16_t pathlen; -- const unsigned char const *desc; -+ const unsigned char *desc; - char *raw; - size_t raw_len; - -diff --git a/src/efibootmgr.c b/src/efibootmgr.c -index 493f2cf..90a0998 100644 ---- a/src/efibootmgr.c -+++ b/src/efibootmgr.c -@@ -221,7 +221,7 @@ warn_duplicate_name(list_t *var_list) - list_t *pos; - var_entry_t *entry; - efi_load_option *load_option; -- const unsigned char const *desc; -+ const unsigned char *desc; - - list_for_each(pos, var_list) { - entry = list_entry(pos, var_entry_t, list); -@@ -873,7 +873,7 @@ show_vars(const char *prefix) - { - list_t *pos; - var_entry_t *boot; -- const unsigned char const *description; -+ const unsigned char *description; - efi_load_option *load_option; - efidp dp = NULL; - unsigned char *optional_data = NULL; --- -2.9.4 - diff --git a/bsp/buildroot/package/efibootmgr/Config.in b/bsp/buildroot/package/efibootmgr/Config.in index 0d36ffd6..6644d26b 100644 --- a/bsp/buildroot/package/efibootmgr/Config.in +++ b/bsp/buildroot/package/efibootmgr/Config.in @@ -3,22 +3,23 @@ config BR2_PACKAGE_EFIBOOTMGR depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS # efivar depends on !BR2_STATIC_LIBS # efivar depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # efivar - depends on !BR2_TOOLCHAIN_USES_MUSL # efivar depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # efivar + depends on BR2_HOST_GCC_AT_LEAST_4_8 # efivar depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS select BR2_PACKAGE_EFIVAR + select BR2_PACKAGE_POPT help A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager. This application can create and destroy boot entries, change the boot order, change the next running boot option, and more. - https://github.com/rhinstaller/efibootmgr + https://github.com/rhboot/efibootmgr -comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" +comment "efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 4.8" depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ - BR2_TOOLCHAIN_USES_MUSL || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/bsp/buildroot/package/efibootmgr/efibootmgr.hash b/bsp/buildroot/package/efibootmgr/efibootmgr.hash index f71dced5..b786a415 100644 --- a/bsp/buildroot/package/efibootmgr/efibootmgr.hash +++ b/bsp/buildroot/package/efibootmgr/efibootmgr.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 3f260491e2c62e93cb6347ea6f21aaa5f93152e9e7f0269d314623769d82e473 efibootmgr-14.tar.gz +sha256 5a708b9690cdc631fd75d8f598128d20cad007e711b975b0143f9517c2dd1bf4 efibootmgr-15.tar.gz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/bsp/buildroot/package/efibootmgr/efibootmgr.mk b/bsp/buildroot/package/efibootmgr/efibootmgr.mk index b32d9cbc..079a9b72 100644 --- a/bsp/buildroot/package/efibootmgr/efibootmgr.mk +++ b/bsp/buildroot/package/efibootmgr/efibootmgr.mk @@ -4,27 +4,23 @@ # ################################################################################ -EFIBOOTMGR_VERSION = 14 -EFIBOOTMGR_SITE = $(call github,rhinstaller,efibootmgr,$(EFIBOOTMGR_VERSION)) +EFIBOOTMGR_VERSION = 15 +EFIBOOTMGR_SITE = $(call github,rhboot,efibootmgr,$(EFIBOOTMGR_VERSION)) EFIBOOTMGR_LICENSE = GPL-2.0+ EFIBOOTMGR_LICENSE_FILES = COPYING -EFIBOOTMGR_DEPENDENCIES = efivar $(TARGET_NLS_DEPENDENCIES) +EFIBOOTMGR_DEPENDENCIES = host-pkgconf efivar popt $(TARGET_NLS_DEPENDENCIES) EFIBOOTMGR_LDFLAGS = $(TARGET_LDFLAGS) $(TARGET_NLS_LIBS) - -define EFIBOOTMSR_PATCH_HEADER_PATH - $(SED) 's,-I/,-I$(STAGING_DIR)/,' $(@D)/Makefile -endef - -EFIBOOTMGR_POST_PATCH_HOOKS += EFIBOOTMSR_PATCH_HEADER_PATH +EFIBOOTMGR_MAKE_ARGS = EFIDIR=buildroot define EFIBOOTMGR_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ - LDFLAGS="$(EFIBOOTMGR_LDFLAGS)" $(MAKE1) -C $(@D) + LDFLAGS="$(EFIBOOTMGR_LDFLAGS)" $(MAKE1) -C $(@D) \ + $(EFIBOOTMGR_MAKE_ARGS) endef define EFIBOOTMGR_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ - DESTDIR=$(TARGET_DIR) install + $(EFIBOOTMGR_MAKE_ARGS) DESTDIR=$(TARGET_DIR) install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/efivar/0002-Allow-build-with-uClibc.patch b/bsp/buildroot/package/efivar/0001-Allow-build-with-uClibc.patch similarity index 96% rename from bsp/buildroot/package/efivar/0002-Allow-build-with-uClibc.patch rename to bsp/buildroot/package/efivar/0001-Allow-build-with-uClibc.patch index 7c195872..01fa9dee 100644 --- a/bsp/buildroot/package/efivar/0002-Allow-build-with-uClibc.patch +++ b/bsp/buildroot/package/efivar/0001-Allow-build-with-uClibc.patch @@ -20,7 +20,7 @@ index 7f2d4dd..72c02d1 100644 #include -#include - #include + #include #include "lib.h" +#ifdef __UCLIBC__ diff --git a/bsp/buildroot/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch b/bsp/buildroot/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch deleted file mode 100644 index 2bc3ff24..00000000 --- a/bsp/buildroot/package/efivar/0001-Use-z-muldefs-to-avoid-the-multiple-definitions-bug-.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 314eb67b239e60c2ed3700e2baf9cd0e590465f3 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Thu, 27 Oct 2016 09:19:18 -0400 -Subject: [PATCH] Use -z muldefs to avoid the multiple definitions bug - without -flto - -This fixes github issue #64 - -Signed-off-by: Peter Jones -Signed-off-by: Andy Shevchenko ---- - Make.defaults | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Make.defaults b/Make.defaults -index aa974d9..c9d599f 100644 ---- a/Make.defaults -+++ b/Make.defaults -@@ -32,6 +32,7 @@ cflags = $(CFLAGS) -I${TOPDIR}/src/include/efivar/ \ - clang_ccldflags = - gcc_ccldflags = - ccldflags = $(cflags) -L. $(CCLDFLAGS) $(LDFLAGS) \ -+ -Wl,-z,muldefs \ - $(if $(findstring clang,$(CCLD)),$(clang_ccldflags),) \ - $(if $(findstring gcc,$(CCLD)),$(gcc_ccldflags),) \ - $(call pkg-config-ccldflags) --- -2.10.2 - diff --git a/bsp/buildroot/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch b/bsp/buildroot/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch deleted file mode 100644 index 6b9f77eb..00000000 --- a/bsp/buildroot/package/efivar/0003-Remove-some-extra-const-that-gcc-complains-about.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 1c7c0f71c9d22efda4156881eb187b8c69d1cca7 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 6 Feb 2017 14:28:19 -0500 -Subject: [PATCH] Remove some extra "const" that gcc complains about. - -One of these days I'll get these right. - -Signed-off-by: Peter Jones -Signed-off-by: Baruch Siach ---- -Upstream commit 1c7c0f71c9d22e. - - src/include/efivar/efiboot-loadopt.h | 4 ++-- - src/loadopt.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/include/efivar/efiboot-loadopt.h b/src/include/efivar/efiboot-loadopt.h -index 07db5c4c53e3..efc29c69d47e 100644 ---- a/src/include/efivar/efiboot-loadopt.h -+++ b/src/include/efivar/efiboot-loadopt.h -@@ -32,8 +32,8 @@ extern ssize_t efi_loadopt_create(uint8_t *buf, ssize_t size, - - extern efidp efi_loadopt_path(efi_load_option *opt, ssize_t limit) - __attribute__((__nonnull__ (1))); --extern const unsigned char const * efi_loadopt_desc(efi_load_option *opt, -- ssize_t limit) -+extern const unsigned char * efi_loadopt_desc(efi_load_option *opt, -+ ssize_t limit) - __attribute__((__visibility__ ("default"))) - __attribute__((__nonnull__ (1))); - extern uint32_t efi_loadopt_attrs(efi_load_option *opt) -diff --git a/src/loadopt.c b/src/loadopt.c -index a63ca792d2dc..ce889867fd29 100644 ---- a/src/loadopt.c -+++ b/src/loadopt.c -@@ -357,7 +357,7 @@ teardown(void) - - __attribute__((__nonnull__ (1))) - __attribute__((__visibility__ ("default"))) --const unsigned char const * -+const unsigned char * - efi_loadopt_desc(efi_load_option *opt, ssize_t limit) - { - if (last_desc) { --- -2.13.2 - diff --git a/bsp/buildroot/package/efivar/Config.in b/bsp/buildroot/package/efivar/Config.in index 0fa9adf3..545962ed 100644 --- a/bsp/buildroot/package/efivar/Config.in +++ b/bsp/buildroot/package/efivar/Config.in @@ -16,19 +16,18 @@ config BR2_PACKAGE_EFIVAR # failures. So, prevent this package to be built using those # toolchains. depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS - # doesn't build with musl due to lack of __bswap_constant_16 - depends on !BR2_TOOLCHAIN_USES_MUSL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - select BR2_PACKAGE_POPT + # needs __builtin_bswap16 + depends on BR2_HOST_GCC_AT_LEAST_4_8 help Tools and libraries to manipulate EFI variables - https://github.com/rhinstaller/efivar + https://github.com/rhboot/efivar -comment "efivar needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9" +comment "efivar needs a toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 4.8" depends on BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS depends on BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ - BR2_TOOLCHAIN_USES_MUSL || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \ + !BR2_HOST_GCC_AT_LEAST_4_8 depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS diff --git a/bsp/buildroot/package/efivar/efivar.hash b/bsp/buildroot/package/efivar/efivar.hash index e337b964..7feb5b75 100644 --- a/bsp/buildroot/package/efivar/efivar.hash +++ b/bsp/buildroot/package/efivar/efivar.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 20709c76311f8eb8be92977b7ac008ce62501fa9f7fe885a784321540fc352f9 efivar-30.tar.gz +sha256 747bc4d97b4bd74979e5356c44a172534a8a07184f130349fd201742e683d292 efivar-35.tar.gz +sha256 91df770634adc2755e78cae33a0d01e702ce2f69046408ae93d0d934ff29691b COPYING diff --git a/bsp/buildroot/package/efivar/efivar.mk b/bsp/buildroot/package/efivar/efivar.mk index d06192ed..d96bd98d 100644 --- a/bsp/buildroot/package/efivar/efivar.mk +++ b/bsp/buildroot/package/efivar/efivar.mk @@ -4,21 +4,16 @@ # ################################################################################ -EFIVAR_VERSION = 30 -EFIVAR_SITE = $(call github,rhinstaller,efivar,$(EFIVAR_VERSION)) +EFIVAR_VERSION = 35 +EFIVAR_SITE = $(call github,rhboot,efivar,$(EFIVAR_VERSION)) EFIVAR_LICENSE = LGPL-2.1 EFIVAR_LICENSE_FILES = COPYING -EFIVAR_DEPENDENCIES = popt EFIVAR_INSTALL_STAGING = YES -# BINTARGETS is set to skip efivar-static which requires static popt, -# and since we depend on dynamic libraries, efivar will never be built -# in a static-only environment. # -fPIC is needed at least on MIPS, otherwise fails to build shared # -library. EFIVAR_MAKE_OPTS = \ libdir=/usr/lib \ - BINTARGETS=efivar \ LDFLAGS="$(TARGET_LDFLAGS) -fPIC" define EFIVAR_BUILD_CMDS diff --git a/bsp/buildroot/package/efl/Config.in b/bsp/buildroot/package/efl/Config.in index aa5749db..05be5aae 100644 --- a/bsp/buildroot/package/efl/Config.in +++ b/bsp/buildroot/package/efl/Config.in @@ -173,7 +173,7 @@ config BR2_PACKAGE_EFL_X_XLIB select BR2_PACKAGE_XLIB_LIBXRENDER select BR2_PACKAGE_XLIB_LIBXSCRNSAVER select BR2_PACKAGE_XLIB_LIBXTST - select BR2_PACKAGE_XPROTO_GLPROTO + select BR2_PACKAGE_XORGPROTO config BR2_PACKAGE_EFL_WAYLAND bool "Wayland support" diff --git a/bsp/buildroot/package/efl/efl.hash b/bsp/buildroot/package/efl/efl.hash index 5507bda3..bbefdeec 100644 --- a/bsp/buildroot/package/efl/efl.hash +++ b/bsp/buildroot/package/efl/efl.hash @@ -1,10 +1,11 @@ -# From https://download.enlightenment.org/rel/libs/efl/efl-1.20.6.tar.xz.sha256 -sha256 56c67ea77435753a4f324a0a13488ba58f4ed7eb35a97c1a354fdc79c39a32c1 efl-1.20.6.tar.xz +# From https://download.enlightenment.org/rel/libs/efl/efl-1.21.1.tar.xz.sha256 +sha256 44774b42b3dbbbe4d124c8fddcd169c6ffab9d602d1a757abcfb9a84e001a928 efl-1.21.1.tar.xz + sha256 d949e42ca8fd48d275c397c5fc2ac34c9b63ada715dcaf1a670e17bb62964341 COMPLIANCE sha256 1f0597d326e2fdb54aa2f0caec6d8bb0afb9941ef32475f017ed02ca214fcf37 COPYING -sha256 781ee841d15835b393bfe7d4c6497dc1b05217479abd40daceaf7aa102a758e1 licenses/COPYING.BSD +sha256 af4ffe7ed1795a6e9cd3b3ce8747fdc45da449ff58cf35b8027c0699a66fd5cf licenses/COPYING.BSD sha256 e60d07dfb2c5264f9f405fa52bf0d4f85429dd9ae1bc2ffcff8af1924ef720d1 licenses/COPYING.FTL sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 licenses/COPYING.GPL -sha256 89f79ccd2c35ba220ddeba70ee36ca867226c41fc210bc5e7f1e9032c5b16d5f licenses/COPYING.LGPL +sha256 ae2d99bf2a8e8310281bdbe5e8b78cbe5e89bfead8c01e67a8c68b530efcf25a licenses/COPYING.LGPL sha256 2996a1c43ee757f9c997a829d82bdd584052323e73cf02ff8126c6fbd95c2d87 licenses/COPYING.NGINX-MIT -sha256 48f124212f8fc024392a2d1d011fbb96c7ab8f89c0b72c671c33e9e1cb1d0790 licenses/COPYING.SMALL +sha256 d847c749aa38b8d864665fc4e5c80e2f2a505e414fafe9712e85b5154e908218 licenses/COPYING.SMALL diff --git a/bsp/buildroot/package/efl/efl.mk b/bsp/buildroot/package/efl/efl.mk index 70857967..c4fd676b 100644 --- a/bsp/buildroot/package/efl/efl.mk +++ b/bsp/buildroot/package/efl/efl.mk @@ -4,7 +4,7 @@ # ################################################################################ -EFL_VERSION = 1.20.6 +EFL_VERSION = 1.21.1 EFL_SOURCE = efl-$(EFL_VERSION).tar.xz EFL_SITE = http://download.enlightenment.org/rel/libs/efl EFL_LICENSE = BSD-2-Clause, LGPL-2.1+, GPL-2.0+, FTL, MIT @@ -50,11 +50,6 @@ EFL_CONF_OPTS = \ --enable-liblz4 \ --with-doxygen=no -# Disable untested configuration warning. -ifeq ($(BR2_PACKAGE_EFL_HAS_RECOMMENDED_CONFIG),) -EFL_CONF_OPTS += --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb -endif - ifeq ($(BR2_PACKAGE_EFL_EOLIAN_CPP),y) EFL_CONF_OPTS += --enable-cxx-bindings \ --with-eolian-cxx=$(HOST_DIR)/bin/eolian_cxx @@ -345,7 +340,6 @@ HOST_EFL_DEPENDENCIES = \ # --with-doxygen: disable doxygen documentation # --with-net-control=none: disable connman networkmanager. # --with-x11=none: remove dependency on X.org. -# Yes I really know what I am doing. HOST_EFL_CONF_OPTS += \ --disable-audio \ --disable-fontconfig \ @@ -372,8 +366,7 @@ HOST_EFL_CONF_OPTS += \ --with-glib=yes \ --with-net-control=none \ --with-opengl=none \ - --with-x11=none \ - --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb + --with-x11=none # Enable Eolian language bindings to provide eolian_cxx tool for the # host which is required to build Eolian language bindings for the diff --git a/bsp/buildroot/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch b/bsp/buildroot/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch new file mode 100644 index 00000000..01a5362e --- /dev/null +++ b/bsp/buildroot/package/ejabberd/0001-Makefile.in-do-not-download-or-compile-dependencies.patch @@ -0,0 +1,35 @@ +From 277103e886c9b3ddfede8b3f5b92d3e94736f404 Mon Sep 17 00:00:00 2001 +From: Johan Oudinet +Date: Fri, 23 Nov 2018 16:13:21 +0100 +Subject: [PATCH] Makefile.in: do not download or compile dependencies + +Signed-off-by: Johan Oudinet +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 48dca7d8..d2324dae 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -94,7 +94,7 @@ ifneq ($(INSTALLGROUP),) + G_USER=-g $(INSTALLGROUP) + endif + +-all: deps src ++all: src + + deps: deps/.got + +@@ -108,7 +108,7 @@ deps/.built: deps/.got + $(REBAR) configure-deps + $(REBAR) compile && :> deps/.built + +-src: deps/.built ++src: + $(REBAR) skip_deps=true compile + + update: +-- +2.17.1 + diff --git a/bsp/buildroot/package/ejabberd/0001-remove-make-targets-for-deps.patch b/bsp/buildroot/package/ejabberd/0001-remove-make-targets-for-deps.patch deleted file mode 100644 index f012140a..00000000 --- a/bsp/buildroot/package/ejabberd/0001-remove-make-targets-for-deps.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 21d1f05a8882657c151397d0e4723535402f1757 Mon Sep 17 00:00:00 2001 -From: Philipp Huebner -Date: Wed, 20 Jan 2016 10:22:57 -0500 -Subject: [PATCH] remove make targets for deps - -Without this patch, dependencies would be downloaded and compiled -using rebar at build time. - -Signed-off-by: Frank Hunleth - -diff --git a/Makefile.in b/Makefile.in -index df2abfdc..8c8fd714 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -86,27 +86,11 @@ else - INIT_USER=$(INSTALLUSER) - endif - --all: deps src -+all: src - --deps: deps/.got -- --deps/.got: -- rm -rf deps/.got -- rm -rf deps/.built -- mkdir -p deps -- $(REBAR) get-deps && :> deps/.got -- --deps/.built: deps/.got -- $(REBAR) compile && :> deps/.built -- --src: deps/.built -+src: - $(REBAR) skip_deps=true compile - --update: -- rm -rf deps/.got -- rm -rf deps/.built -- $(REBAR) update-deps && :> deps/.got -- - xref: all - $(REBAR) skip_deps=true xref diff --git a/bsp/buildroot/package/ejabberd/0007-fix-ejabberdctl.patch b/bsp/buildroot/package/ejabberd/0002-fix-ejabberdctl.patch similarity index 100% rename from bsp/buildroot/package/ejabberd/0007-fix-ejabberdctl.patch rename to bsp/buildroot/package/ejabberd/0002-fix-ejabberdctl.patch diff --git a/bsp/buildroot/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch b/bsp/buildroot/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index 154c7bff..00000000 --- a/bsp/buildroot/package/ejabberd/0002-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 8674f61701da41cc53c532b5fa3a516838a2c5d4 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 10 Jan 2018 15:14:56 +0100 -Subject: [PATCH] remove dependencies from rebar config - -Without this patch, dependencies would be downloaded and compiled by -rebar at build time. - -Signed-off-by: Johan Oudinet ---- - rebar.config | 72 ------------------------------------------------------------ - 1 file changed, 72 deletions(-) - -diff --git a/rebar.config b/rebar.config -index d6ad5e7b..0b246b92 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -18,68 +18,6 @@ - %%% - %%%---------------------------------------------------------------------- - --{deps, [{lager, ".*", {git, "https://github.com/erlang-lager/lager", -- {tag, {if_version_above, "17", "3.4.2", "3.2.1"}}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}, -- {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.12"}}}, -- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, -- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.10"}}}, -- {fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.25"}}}, -- {xmpp, ".*", {git, "https://github.com/processone/xmpp", {tag, "1.1.16"}}}, -- {fast_yaml, ".*", {git, "https://github.com/processone/fast_yaml", {tag, "1.0.12"}}}, -- {jiffy, ".*", {git, "https://github.com/davisp/jiffy", {tag, "0.14.8"}}}, -- {p1_oauth2, ".*", {git, "https://github.com/processone/p1_oauth2", {tag, "0.6.2"}}}, -- {luerl, ".*", {git, "https://github.com/rvirding/luerl", {tag, "v0.2"}}}, -- {jose, ".*", {git, "git://github.com/potatosalad/erlang-jose.git", {tag, "1.8.4"}}}, -- {fs, ".*", {git, "https://github.com/synrc/fs.git", {tag, "2.12.0"}}}, -- {if_var_true, stun, {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.16"}}}}, -- {if_var_true, sip, {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.17"}}}}, -- {if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql", -- {tag, "1.0.4"}}}}, -- {if_var_true, pgsql, {p1_pgsql, ".*", {git, "https://github.com/processone/p1_pgsql", -- {tag, "1.1.4"}}}}, -- {if_var_true, sqlite, {sqlite3, ".*", {git, "https://github.com/processone/erlang-sqlite3", -- {tag, "1.1.5"}}}}, -- {if_var_true, pam, {epam, ".*", {git, "https://github.com/processone/epam", -- {tag, "1.0.3"}}}}, -- {if_var_true, zlib, {ezlib, ".*", {git, "https://github.com/processone/ezlib", -- {tag, "1.0.3"}}}}, -- {if_var_true, riak, {riakc, ".*", {git, "https://github.com/processone/riak-erlang-client.git", -- {tag, {if_version_above, "19", "develop", "2.5.3"}}}}}, -- {if_var_true, graphics, {eimp, ".*", {git, "https://github.com/processone/eimp.git", {tag, "1.0.2"}}}}, -- %% Elixir support, needed to run tests -- {if_var_true, elixir, {elixir, ".*", {git, "https://github.com/elixir-lang/elixir", -- {tag, {if_version_above, "17", "v1.4.4", "v1.1.1"}}}}}, -- %% TODO: When modules are fully migrated to new structure and mix, we will not need anymore rebar_elixir_plugin -- {if_not_rebar3, {if_var_true, elixir, {rebar_elixir_plugin, ".*", -- {git, "https://github.com/processone/rebar_elixir_plugin", "0.1.0"}}}}, -- {if_var_true, iconv, {iconv, ".*", {git, "https://github.com/processone/iconv", -- {tag, "1.0.6"}}}}, -- {if_var_true, tools, {meck, "0.8.*", {git, "https://github.com/eproxus/meck", -- {tag, "0.8.4"}}}}, -- {if_var_true, tools, {moka, ".*", {git, "https://github.com/processone/moka.git", -- {tag, "1.0.5c"}}}}, -- {if_var_true, redis, {eredis, ".*", {git, "https://github.com/wooga/eredis", -- {tag, "v1.0.8"}}}}]}. -- --{if_var_true, latest_deps, -- {floating_deps, [cache_tab, -- fast_tls, -- stringprep, -- fast_xml, -- esip, -- stun, -- fast_yaml, -- xmpp, -- p1_utils, -- p1_mysql, -- p1_pgsql, -- p1_oauth2, -- epam, -- ezlib, -- eimp, -- iconv]}}. -- - {erl_first_files, ["src/ejabberd_config.erl", "src/gen_mod.erl", "src/mod_muc_room.erl", "src/mod_push.erl"]}. - - {erl_opts, [nowarn_deprecated_function, -@@ -153,16 +91,6 @@ - {if_version_above, "17", {cover_enabled, true}}. - {cover_export_enabled, true}. - --{post_hook_configure, [{"fast_tls", []}, -- {"stringprep", []}, -- {"fast_yaml", []}, -- {if_var_true, sip, {"esip", []}}, -- {"fast_xml", [{if_var_true, full_xml, "--enable-full-xml"}]}, -- {if_var_true, pam, {"epam", []}}, -- {if_var_true, zlib, {"ezlib", []}}, -- {if_var_true, graphics, {"eimp", []}}, -- {if_var_true, iconv, {"iconv", []}}]}. -- - {port_env, [{"CFLAGS", "-g -O2 -Wall"}]}. - - {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. --- -2.14.1 - diff --git a/bsp/buildroot/package/ejabberd/0003-remove-checking-erlang-version.patch b/bsp/buildroot/package/ejabberd/0003-remove-checking-erlang-version.patch deleted file mode 100644 index da3bf2a8..00000000 --- a/bsp/buildroot/package/ejabberd/0003-remove-checking-erlang-version.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f384518dedec4ad657ad69d55754076c13c22d96 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 20 Jan 2016 08:11:32 -0500 -Subject: [PATCH] remove checking erlang version - -Without this patch, the configure will try to run erlang to simply check -if the version is supported by ejabberd. Instead, we do this test -statically. - -Signed-off-by: Johan Oudinet ---- - configure.ac | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 97e89a2..cd1ab08 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -39,10 +39,8 @@ AC_ARG_ENABLE(erlang-version-check, - [Check Erlang/OTP version @<:@default=yes@:>@])]) - case "$enable_erlang_version_check" in - yes|'') -- ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX]) - ;; - no) -- ERLANG_VERSION_CHECK([$REQUIRE_ERLANG_MIN],[$REQUIRE_ERLANG_MAX],[warn]) - ;; - esac - --- -2.5.0 - diff --git a/bsp/buildroot/package/ejabberd/0004-correct-includes.patch b/bsp/buildroot/package/ejabberd/0004-correct-includes.patch deleted file mode 100644 index f8f827a4..00000000 --- a/bsp/buildroot/package/ejabberd/0004-correct-includes.patch +++ /dev/null @@ -1,1919 +0,0 @@ -From 0487178693143955ff57e3c9371fb6e7b164294c Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Thu, 11 Jan 2018 12:49:38 +0100 -Subject: [PATCH] correct includes - -Use include_lib() instead of include() for files from external -libraries. See https://github.com/processone/ejabberd/pull/1446 - -Note: Philipp Huebner has a similar patch in Debian's port of ejabberd -but it was easier to redo this patch from scratch with the following sed -command on ejabberd git repository than adapting Huebner's patch format: -for f in src/*.erl include/*.hrl; do - sed -i -e 's,esip/include,s1_sip/include,g' \ - -e 's,include("ns.hrl,include_lib("p1_xmpp/include/ns.hrl,g' \ - -e 's,include("fxml.hrl,include_lib("p1_xml/include/fxml.hrl,g' \ - -e 's,include("xmpp\.hrl,include_lib("p1_xmpp/include/xmpp.hrl,g' \ - -e 's,include("jid\.hrl,include_lib("p1_xmpp/include/jid.hrl,g' \ - "$f" -done - -Signed-off-by: Johan Oudinet ---- - include/jlib.hrl | 4 ++-- - src/acl.erl | 2 +- - src/acme_challenge.erl | 2 +- - src/ejabberd_acme.erl | 2 +- - src/ejabberd_acme_comm.erl | 2 +- - src/ejabberd_auth_anonymous.erl | 2 +- - src/ejabberd_bosh.erl | 2 +- - src/ejabberd_c2s.erl | 2 +- - src/ejabberd_captcha.erl | 2 +- - src/ejabberd_http.erl | 2 +- - src/ejabberd_http_ws.erl | 2 +- - src/ejabberd_iq.erl | 2 +- - src/ejabberd_local.erl | 2 +- - src/ejabberd_oauth.erl | 2 +- - src/ejabberd_oauth_rest.erl | 2 +- - src/ejabberd_oauth_sql.erl | 2 +- - src/ejabberd_piefxis.erl | 2 +- - src/ejabberd_router.erl | 2 +- - src/ejabberd_router_multicast.erl | 2 +- - src/ejabberd_s2s.erl | 2 +- - src/ejabberd_s2s_in.erl | 2 +- - src/ejabberd_s2s_out.erl | 2 +- - src/ejabberd_service.erl | 2 +- - src/ejabberd_sm.erl | 2 +- - src/ejabberd_socket.erl | 2 +- - src/ejabberd_system_monitor.erl | 2 +- - src/ejabberd_web.erl | 2 +- - src/ejabberd_web_admin.erl | 2 +- - src/ejabberd_websocket.erl | 2 +- - src/ejabberd_xmlrpc.erl | 2 +- - src/gen_iq_handler.erl | 2 +- - src/gen_pubsub_node.erl | 2 +- - src/gen_pubsub_nodetree.erl | 2 +- - src/jd2ejd.erl | 2 +- - src/mod_adhoc.erl | 2 +- - src/mod_admin_extra.erl | 2 +- - src/mod_admin_update_sql.erl | 2 +- - src/mod_announce.erl | 2 +- - src/mod_announce_mnesia.erl | 2 +- - src/mod_announce_riak.erl | 2 +- - src/mod_announce_sql.erl | 2 +- - src/mod_avatar.erl | 2 +- - src/mod_block_strangers.erl | 2 +- - src/mod_blocking.erl | 2 +- - src/mod_bosh.erl | 2 +- - src/mod_caps.erl | 2 +- - src/mod_carboncopy.erl | 2 +- - src/mod_client_state.erl | 2 +- - src/mod_configure.erl | 2 +- - src/mod_delegation.erl | 2 +- - src/mod_disco.erl | 2 +- - src/mod_echo.erl | 2 +- - src/mod_fail2ban.erl | 2 +- - src/mod_http_api.erl | 2 +- - src/mod_http_upload.erl | 2 +- - src/mod_http_upload_quota.erl | 2 +- - src/mod_irc.erl | 2 +- - src/mod_irc_connection.erl | 2 +- - src/mod_irc_mnesia.erl | 2 +- - src/mod_irc_riak.erl | 2 +- - src/mod_irc_sql.erl | 2 +- - src/mod_last.erl | 2 +- - src/mod_legacy_auth.erl | 2 +- - src/mod_mam.erl | 2 +- - src/mod_mam_mnesia.erl | 2 +- - src/mod_mam_sql.erl | 2 +- - src/mod_metrics.erl | 2 +- - src/mod_mix.erl | 2 +- - src/mod_muc.erl | 2 +- - src/mod_muc_admin.erl | 2 +- - src/mod_muc_log.erl | 2 +- - src/mod_muc_mnesia.erl | 2 +- - src/mod_muc_riak.erl | 2 +- - src/mod_muc_room.erl | 2 +- - src/mod_muc_sql.erl | 2 +- - src/mod_multicast.erl | 2 +- - src/mod_offline.erl | 2 +- - src/mod_offline_mnesia.erl | 2 +- - src/mod_offline_riak.erl | 2 +- - src/mod_offline_sql.erl | 2 +- - src/mod_ping.erl | 2 +- - src/mod_pres_counter.erl | 2 +- - src/mod_privacy.erl | 2 +- - src/mod_privacy_mnesia.erl | 2 +- - src/mod_privacy_riak.erl | 2 +- - src/mod_privacy_sql.erl | 2 +- - src/mod_private.erl | 2 +- - src/mod_private_mnesia.erl | 2 +- - src/mod_private_riak.erl | 2 +- - src/mod_private_sql.erl | 2 +- - src/mod_privilege.erl | 2 +- - src/mod_proxy65_service.erl | 2 +- - src/mod_pubsub.erl | 2 +- - src/mod_push.erl | 2 +- - src/mod_push_keepalive.erl | 2 +- - src/mod_push_mnesia.erl | 2 +- - src/mod_push_sql.erl | 2 +- - src/mod_register.erl | 2 +- - src/mod_register_web.erl | 2 +- - src/mod_roster.erl | 2 +- - src/mod_s2s_dialback.erl | 2 +- - src/mod_service_log.erl | 2 +- - src/mod_shared_roster.erl | 2 +- - src/mod_shared_roster_ldap.erl | 2 +- - src/mod_shared_roster_mnesia.erl | 2 +- - src/mod_shared_roster_riak.erl | 2 +- - src/mod_shared_roster_sql.erl | 2 +- - src/mod_sic.erl | 2 +- - src/mod_sip.erl | 2 +- - src/mod_sip_proxy.erl | 2 +- - src/mod_sip_registrar.erl | 2 +- - src/mod_stats.erl | 2 +- - src/mod_stream_mgmt.erl | 2 +- - src/mod_time.erl | 2 +- - src/mod_vcard.erl | 2 +- - src/mod_vcard_ldap.erl | 2 +- - src/mod_vcard_mnesia.erl | 2 +- - src/mod_vcard_riak.erl | 2 +- - src/mod_vcard_sql.erl | 2 +- - src/mod_vcard_xupdate.erl | 2 +- - src/mod_version.erl | 2 +- - src/node_dag.erl | 2 +- - src/node_dispatch.erl | 2 +- - src/node_flat.erl | 2 +- - src/node_flat_sql.erl | 2 +- - src/node_online.erl | 2 +- - src/nodetree_dag.erl | 2 +- - src/nodetree_tree.erl | 2 +- - src/nodetree_tree_sql.erl | 2 +- - src/prosody2ejabberd.erl | 2 +- - src/pubsub_subscription.erl | 2 +- - src/pubsub_subscription_sql.erl | 2 +- - src/xmpp_stream_in.erl | 2 +- - src/xmpp_stream_out.erl | 2 +- - src/xmpp_stream_pkix.erl | 2 +- - 135 files changed, 136 insertions(+), 136 deletions(-) - -diff --git a/include/jlib.hrl b/include/jlib.hrl -index cd5fedbf..293fcc0e 100644 ---- a/include/jlib.hrl -+++ b/include/jlib.hrl -@@ -18,8 +18,8 @@ - %%% - %%%---------------------------------------------------------------------- - ---include("ns.hrl"). ---include("fxml.hrl"). -+-include_lib("p1_xmpp/include/ns.hrl"). -+-include_lib("p1_xml/include/fxml.hrl"). - - -define(STANZA_ERROR(Code, Type, Condition), - #xmlel{name = <<"error">>, -diff --git a/src/acl.erl b/src/acl.erl -index 2d848b99..88df4625 100644 ---- a/src/acl.erl -+++ b/src/acl.erl -@@ -45,7 +45,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - -record(acl, {aclname, aclspec}). - -record(access, {name :: aclname(), -diff --git a/src/acme_challenge.erl b/src/acme_challenge.erl -index f4fde4e7..45fc6d8f 100644 ---- a/src/acme_challenge.erl -+++ b/src/acme_challenge.erl -@@ -16,7 +16,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_http.hrl"). - -include("ejabberd_acme.hrl"). - -diff --git a/src/ejabberd_acme.erl b/src/ejabberd_acme.erl -index a5166b45..eee74092 100644 ---- a/src/ejabberd_acme.erl -+++ b/src/ejabberd_acme.erl -@@ -21,7 +21,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_commands.hrl"). - -include("ejabberd_acme.hrl"). - -include_lib("public_key/include/public_key.hrl"). -diff --git a/src/ejabberd_acme_comm.erl b/src/ejabberd_acme_comm.erl -index a5668d08..02acd1c4 100644 ---- a/src/ejabberd_acme_comm.erl -+++ b/src/ejabberd_acme_comm.erl -@@ -24,7 +24,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_acme.hrl"). - -include_lib("public_key/include/public_key.hrl"). -diff --git a/src/ejabberd_auth_anonymous.erl b/src/ejabberd_auth_anonymous.erl -index a4f3ac1c..697b3e08 100644 ---- a/src/ejabberd_auth_anonymous.erl -+++ b/src/ejabberd_auth_anonymous.erl -@@ -46,7 +46,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - start(Host) -> - ejabberd_hooks:add(sm_register_connection_hook, Host, -diff --git a/src/ejabberd_bosh.erl b/src/ejabberd_bosh.erl -index 1df6681f..e8cc5f9b 100644 ---- a/src/ejabberd_bosh.erl -+++ b/src/ejabberd_bosh.erl -@@ -47,7 +47,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl -index a94d065f..a56d9041 100644 ---- a/src/ejabberd_c2s.erl -+++ b/src/ejabberd_c2s.erl -@@ -52,7 +52,7 @@ - host_up/1, host_down/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/ejabberd_captcha.erl b/src/ejabberd_captcha.erl -index 76af5278..3a950786 100644 ---- a/src/ejabberd_captcha.erl -+++ b/src/ejabberd_captcha.erl -@@ -43,7 +43,7 @@ - is_feature_available/0, create_captcha_x/5, - opt_type/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include("ejabberd_http.hrl"). -diff --git a/src/ejabberd_http.erl b/src/ejabberd_http.erl -index 0bc0d8fc..d39a585d 100644 ---- a/src/ejabberd_http.erl -+++ b/src/ejabberd_http.erl -@@ -39,7 +39,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_http_ws.erl b/src/ejabberd_http_ws.erl -index f9f7b07e..5c0e6ea1 100644 ---- a/src/ejabberd_http_ws.erl -+++ b/src/ejabberd_http_ws.erl -@@ -39,7 +39,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_iq.erl b/src/ejabberd_iq.erl -index 7d2751dc..76a6b056 100644 ---- a/src/ejabberd_iq.erl -+++ b/src/ejabberd_iq.erl -@@ -34,7 +34,7 @@ - -export([init/1, handle_call/3, handle_cast/2, handle_info/2, - terminate/2, code_change/3]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -record(state, {expire = infinity :: timeout()}). -diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl -index cc1d6a2e..f72fd43b 100644 ---- a/src/ejabberd_local.erl -+++ b/src/ejabberd_local.erl -@@ -50,7 +50,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {}). - -diff --git a/src/ejabberd_oauth.erl b/src/ejabberd_oauth.erl -index df4e4bc2..34bf24f8 100644 ---- a/src/ejabberd_oauth.erl -+++ b/src/ejabberd_oauth.erl -@@ -52,7 +52,7 @@ - - -export([oauth_issue_token/3, oauth_list_tokens/0, oauth_revoke_token/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd.hrl"). - -include("logger.hrl"). -diff --git a/src/ejabberd_oauth_rest.erl b/src/ejabberd_oauth_rest.erl -index 206fab43..1a7287ee 100644 ---- a/src/ejabberd_oauth_rest.erl -+++ b/src/ejabberd_oauth_rest.erl -@@ -37,7 +37,7 @@ - -include("ejabberd.hrl"). - -include("ejabberd_oauth.hrl"). - -include("logger.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - init() -> - rest:start(?MYNAME), -diff --git a/src/ejabberd_oauth_sql.erl b/src/ejabberd_oauth_sql.erl -index 14eaca6a..fcd105ba 100644 ---- a/src/ejabberd_oauth_sql.erl -+++ b/src/ejabberd_oauth_sql.erl -@@ -36,7 +36,7 @@ - -include("ejabberd_oauth.hrl"). - -include("ejabberd.hrl"). - -include("ejabberd_sql_pt.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("logger.hrl"). - - init() -> -diff --git a/src/ejabberd_piefxis.erl b/src/ejabberd_piefxis.erl -index ecb4908a..7331f442 100644 ---- a/src/ejabberd_piefxis.erl -+++ b/src/ejabberd_piefxis.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl -index e2901483..315505ec 100644 ---- a/src/ejabberd_router.erl -+++ b/src/ejabberd_router.erl -@@ -71,7 +71,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include("ejabberd_router.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -callback init() -> any(). - -callback register_route(binary(), binary(), local_hint(), -diff --git a/src/ejabberd_router_multicast.erl b/src/ejabberd_router_multicast.erl -index 5d5acfca..3f206ef2 100644 ---- a/src/ejabberd_router_multicast.erl -+++ b/src/ejabberd_router_multicast.erl -@@ -43,7 +43,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(route_multicast, {domain = <<"">> :: binary() | '_', - pid = self() :: pid()}). -diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl -index 0626d62f..e2fc34c9 100644 ---- a/src/ejabberd_s2s.erl -+++ b/src/ejabberd_s2s.erl -@@ -57,7 +57,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_commands.hrl"). - -diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl -index a949e83d..3d8e100e 100644 ---- a/src/ejabberd_s2s_in.erl -+++ b/src/ejabberd_s2s_in.erl -@@ -45,7 +45,7 @@ - host_up/1, host_down/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type state() :: map(). -diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl -index fea5d816..c035731f 100644 ---- a/src/ejabberd_s2s_out.erl -+++ b/src/ejabberd_s2s_out.erl -@@ -43,7 +43,7 @@ - route/2, establish/1, update_state/2, host_up/1, host_down/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type state() :: map(). -diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl -index 7b5f945d..895fed09 100644 ---- a/src/ejabberd_service.erl -+++ b/src/ejabberd_service.erl -@@ -37,7 +37,7 @@ - -export([send/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type state() :: map(). -diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl -index 3df1d88e..e8087c48 100644 ---- a/src/ejabberd_sm.erl -+++ b/src/ejabberd_sm.erl -@@ -89,7 +89,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_commands.hrl"). - -include("ejabberd_sm.hrl"). -diff --git a/src/ejabberd_socket.erl b/src/ejabberd_socket.erl -index 9953a76a..0dd1c4ff 100644 ---- a/src/ejabberd_socket.erl -+++ b/src/ejabberd_socket.erl -@@ -52,7 +52,7 @@ - sockname/1, peername/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -type sockmod() :: ejabberd_bosh | -diff --git a/src/ejabberd_system_monitor.erl b/src/ejabberd_system_monitor.erl -index 773104f9..46e641b7 100644 ---- a/src/ejabberd_system_monitor.erl -+++ b/src/ejabberd_system_monitor.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {}). - -diff --git a/src/ejabberd_web.erl b/src/ejabberd_web.erl -index 7a40d2c7..aa1abc9b 100644 ---- a/src/ejabberd_web.erl -+++ b/src/ejabberd_web.erl -@@ -34,7 +34,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_web_admin.erl b/src/ejabberd_web_admin.erl -index b3d72c19..cdd951b6 100644 ---- a/src/ejabberd_web_admin.erl -+++ b/src/ejabberd_web_admin.erl -@@ -38,7 +38,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_websocket.erl b/src/ejabberd_websocket.erl -index 9926c20c..fabf2293 100644 ---- a/src/ejabberd_websocket.erl -+++ b/src/ejabberd_websocket.erl -@@ -47,7 +47,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/ejabberd_xmlrpc.erl b/src/ejabberd_xmlrpc.erl -index 213aef7a..f5b51894 100644 ---- a/src/ejabberd_xmlrpc.erl -+++ b/src/ejabberd_xmlrpc.erl -@@ -42,7 +42,7 @@ - -include("ejabberd_http.hrl"). - -include("mod_roster.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, - {access_commands = [] :: list(), -diff --git a/src/gen_iq_handler.erl b/src/gen_iq_handler.erl -index d34db358..ab04a252 100644 ---- a/src/gen_iq_handler.erl -+++ b/src/gen_iq_handler.erl -@@ -45,7 +45,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {host, module, function}). - -diff --git a/src/gen_pubsub_node.erl b/src/gen_pubsub_node.erl -index 4f516bd5..83de80a8 100644 ---- a/src/gen_pubsub_node.erl -+++ b/src/gen_pubsub_node.erl -@@ -25,7 +25,7 @@ - - -module(gen_pubsub_node). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -type(host() :: mod_pubsub:host()). - -type(nodeId() :: mod_pubsub:nodeId()). -diff --git a/src/gen_pubsub_nodetree.erl b/src/gen_pubsub_nodetree.erl -index bf7140aa..4267b9a1 100644 ---- a/src/gen_pubsub_nodetree.erl -+++ b/src/gen_pubsub_nodetree.erl -@@ -36,7 +36,7 @@ - ServerHost :: binary(), - Opts :: [any()]) -> atom(). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -callback terminate(Host :: host(), ServerHost :: binary()) -> atom(). - -diff --git a/src/jd2ejd.erl b/src/jd2ejd.erl -index ae293698..bbe9bc6d 100644 ---- a/src/jd2ejd.erl -+++ b/src/jd2ejd.erl -@@ -32,7 +32,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%%---------------------------------------------------------------------- - %%% API -diff --git a/src/mod_adhoc.erl b/src/mod_adhoc.erl -index e6df3904..0f3ada11 100644 ---- a/src/mod_adhoc.erl -+++ b/src/mod_adhoc.erl -@@ -39,7 +39,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl -index 799f0079..9fd8531b 100644 ---- a/src/mod_admin_extra.erl -+++ b/src/mod_admin_extra.erl -@@ -84,7 +84,7 @@ - -include("mod_roster.hrl"). - -include("mod_privacy.hrl"). - -include("ejabberd_sm.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%% - %%% gen_mod -diff --git a/src/mod_admin_update_sql.erl b/src/mod_admin_update_sql.erl -index 2f105d97..cace1b94 100644 ---- a/src/mod_admin_update_sql.erl -+++ b/src/mod_admin_update_sql.erl -@@ -38,7 +38,7 @@ - -include("logger.hrl"). - -include("ejabberd.hrl"). - -include("ejabberd_commands.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sql_pt.hrl"). - - %%% -diff --git a/src/mod_announce.erl b/src/mod_announce.erl -index b259aced..146b6a35 100644 ---- a/src/mod_announce.erl -+++ b/src/mod_announce.erl -@@ -52,7 +52,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - - -callback init(binary(), gen_mod:opts()) -> any(). -diff --git a/src/mod_announce_mnesia.erl b/src/mod_announce_mnesia.erl -index f2e5c1c4..cecd68cc 100644 ---- a/src/mod_announce_mnesia.erl -+++ b/src/mod_announce_mnesia.erl -@@ -31,7 +31,7 @@ - get_motd/1, is_motd_user/2, set_motd_user/2, import/3]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_announce_riak.erl b/src/mod_announce_riak.erl -index 04a29a68..a3dac3e9 100644 ---- a/src/mod_announce_riak.erl -+++ b/src/mod_announce_riak.erl -@@ -30,7 +30,7 @@ - -export([init/2, set_motd_users/2, set_motd/2, delete_motd/1, - get_motd/1, is_motd_user/2, set_motd_user/2, import/3]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - - %%%=================================================================== -diff --git a/src/mod_announce_sql.erl b/src/mod_announce_sql.erl -index c5c9eb58..b243d05d 100644 ---- a/src/mod_announce_sql.erl -+++ b/src/mod_announce_sql.erl -@@ -33,7 +33,7 @@ - get_motd/1, is_motd_user/2, set_motd_user/2, import/3, - export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_announce.hrl"). - -include("ejabberd_sql_pt.hrl"). - -include("logger.hrl"). -diff --git a/src/mod_avatar.erl b/src/mod_avatar.erl -index dde58abf..ffc31c94 100644 ---- a/src/mod_avatar.erl -+++ b/src/mod_avatar.erl -@@ -28,7 +28,7 @@ - %% Hooks - -export([pubsub_publish_item/6, vcard_iq_convert/1, vcard_iq_publish/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("pubsub.hrl"). - -diff --git a/src/mod_block_strangers.erl b/src/mod_block_strangers.erl -index b2c56f36..429c0ab2 100644 ---- a/src/mod_block_strangers.erl -+++ b/src/mod_block_strangers.erl -@@ -34,7 +34,7 @@ - - -export([filter_packet/1, filter_offline_msg/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_blocking.erl b/src/mod_blocking.erl -index 738c5e16..479b34ea 100644 ---- a/src/mod_blocking.erl -+++ b/src/mod_blocking.erl -@@ -35,7 +35,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_privacy.hrl"). - -diff --git a/src/mod_bosh.erl b/src/mod_bosh.erl -index 6ee58047..e49ab960 100644 ---- a/src/mod_bosh.erl -+++ b/src/mod_bosh.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_http.hrl"). - -include("bosh.hrl"). - -diff --git a/src/mod_caps.erl b/src/mod_caps.erl -index edc93bbf..6ead4230 100644 ---- a/src/mod_caps.erl -+++ b/src/mod_caps.erl -@@ -53,7 +53,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_caps.hrl"). - - -define(BAD_HASH_LIFETIME, 600). -diff --git a/src/mod_carboncopy.erl b/src/mod_carboncopy.erl -index 307d6154..c3a998d8 100644 ---- a/src/mod_carboncopy.erl -+++ b/src/mod_carboncopy.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_carboncopy.hrl"). - - -type direction() :: sent | received. -diff --git a/src/mod_client_state.erl b/src/mod_client_state.erl -index f7adb1c6..09507b73 100644 ---- a/src/mod_client_state.erl -+++ b/src/mod_client_state.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(CSI_QUEUE_MAX, 100). - -diff --git a/src/mod_configure.erl b/src/mod_configure.erl -index 31f7a9c8..6ea5bd37 100644 ---- a/src/mod_configure.erl -+++ b/src/mod_configure.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sm.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). - -diff --git a/src/mod_delegation.erl b/src/mod_delegation.erl -index 27e00768..c93912d6 100644 ---- a/src/mod_delegation.erl -+++ b/src/mod_delegation.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -type disco_acc() :: {error, stanza_error()} | {result, [binary()]} | empty. - -record(state, {server_host = <<"">> :: binary(), -diff --git a/src/mod_disco.erl b/src/mod_disco.erl -index 76be408f..5bea1fb7 100644 ---- a/src/mod_disco.erl -+++ b/src/mod_disco.erl -@@ -42,7 +42,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/mod_echo.erl b/src/mod_echo.erl -index 79dd5996..38199d3c 100644 ---- a/src/mod_echo.erl -+++ b/src/mod_echo.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {hosts = [] :: [binary()]}). - -diff --git a/src/mod_fail2ban.erl b/src/mod_fail2ban.erl -index 5e931853..01bdfe2f 100644 ---- a/src/mod_fail2ban.erl -+++ b/src/mod_fail2ban.erl -@@ -39,7 +39,7 @@ - -include_lib("stdlib/include/ms_transform.hrl"). - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(C2S_AUTH_BAN_LIFETIME, 3600). %% 1 hour - -define(C2S_MAX_AUTH_FAILURES, 20). -diff --git a/src/mod_http_api.erl b/src/mod_http_api.erl -index ef881d14..f7cd10bf 100644 ---- a/src/mod_http_api.erl -+++ b/src/mod_http_api.erl -@@ -77,7 +77,7 @@ - -export([start/2, stop/1, reload/3, process/2, mod_opt_type/1, depends/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("ejabberd_http.hrl"). - -diff --git a/src/mod_http_upload.erl b/src/mod_http_upload.erl -index c3c295f6..d3bd4e84 100644 ---- a/src/mod_http_upload.erl -+++ b/src/mod_http_upload.erl -@@ -89,7 +89,7 @@ - - -include("ejabberd.hrl"). - -include("ejabberd_http.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - -record(state, -diff --git a/src/mod_http_upload_quota.erl b/src/mod_http_upload_quota.erl -index 10243ac0..cda5c563 100644 ---- a/src/mod_http_upload_quota.erl -+++ b/src/mod_http_upload_quota.erl -@@ -50,7 +50,7 @@ - %% ejabberd_hooks callback. - -export([handle_slot_request/5]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("logger.hrl"). - -include_lib("kernel/include/file.hrl"). - -diff --git a/src/mod_irc.erl b/src/mod_irc.erl -index 92093507..9b9becc8 100644 ---- a/src/mod_irc.erl -+++ b/src/mod_irc.erl -@@ -43,7 +43,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_irc.hrl"). - - -define(DEFAULT_IRC_ENCODING, <<"iso8859-15">>). -diff --git a/src/mod_irc_connection.erl b/src/mod_irc_connection.erl -index 59336591..ca81358f 100644 ---- a/src/mod_irc_connection.erl -+++ b/src/mod_irc_connection.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(SETS, gb_sets). - -diff --git a/src/mod_irc_mnesia.erl b/src/mod_irc_mnesia.erl -index eb982e1f..510ce09d 100644 ---- a/src/mod_irc_mnesia.erl -+++ b/src/mod_irc_mnesia.erl -@@ -30,7 +30,7 @@ - -export([init/2, get_data/3, set_data/4, import/2]). - -export([need_transform/1, transform/1]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_irc.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_irc_riak.erl b/src/mod_irc_riak.erl -index 23f2a2c3..d236bfa7 100644 ---- a/src/mod_irc_riak.erl -+++ b/src/mod_irc_riak.erl -@@ -29,7 +29,7 @@ - %% API - -export([init/2, get_data/3, set_data/4, import/2]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_irc.hrl"). - - %%%=================================================================== -diff --git a/src/mod_irc_sql.erl b/src/mod_irc_sql.erl -index 1f8d7d16..5f784fdc 100644 ---- a/src/mod_irc_sql.erl -+++ b/src/mod_irc_sql.erl -@@ -31,7 +31,7 @@ - %% API - -export([init/2, get_data/3, set_data/4, import/1, import/2, export/1]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_irc.hrl"). - -include("ejabberd_sql_pt.hrl"). - -diff --git a/src/mod_last.erl b/src/mod_last.erl -index e97ef43f..34498e26 100644 ---- a/src/mod_last.erl -+++ b/src/mod_last.erl -@@ -40,7 +40,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_privacy.hrl"). - -include("mod_last.hrl"). -diff --git a/src/mod_legacy_auth.erl b/src/mod_legacy_auth.erl -index 722a0573..c6644386 100644 ---- a/src/mod_legacy_auth.erl -+++ b/src/mod_legacy_auth.erl -@@ -29,7 +29,7 @@ - %% hooks - -export([c2s_unauthenticated_packet/2, c2s_stream_features/2]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -type c2s_state() :: ejabberd_c2s:state(). - -diff --git a/src/mod_mam.erl b/src/mod_mam.erl -index eb839ea1..abc461db 100644 ---- a/src/mod_mam.erl -+++ b/src/mod_mam.erl -@@ -41,7 +41,7 @@ - delete_old_messages/2, get_commands_spec/0, msg_to_el/4, - get_room_config/4, set_room_option/3, offline_message/1, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_muc_room.hrl"). - -include("ejabberd_commands.hrl"). -diff --git a/src/mod_mam_mnesia.erl b/src/mod_mam_mnesia.erl -index 71f1f701..a3a7eb5f 100644 ---- a/src/mod_mam_mnesia.erl -+++ b/src/mod_mam_mnesia.erl -@@ -31,7 +31,7 @@ - extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6]). - - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_mam.hrl"). - -diff --git a/src/mod_mam_sql.erl b/src/mod_mam_sql.erl -index 40aa9836..b4fab39b 100644 ---- a/src/mod_mam_sql.erl -+++ b/src/mod_mam_sql.erl -@@ -33,7 +33,7 @@ - extended_fields/0, store/8, write_prefs/4, get_prefs/2, select/6, export/1]). - - -include_lib("stdlib/include/ms_transform.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_mam.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_metrics.erl b/src/mod_metrics.erl -index 73a68a8d..1b0d2e1b 100644 ---- a/src/mod_metrics.erl -+++ b/src/mod_metrics.erl -@@ -30,7 +30,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([start/2, stop/1, mod_opt_type/1, depends/2, reload/3]). - -diff --git a/src/mod_mix.erl b/src/mod_mix.erl -index 90507665..627363f3 100644 ---- a/src/mod_mix.erl -+++ b/src/mod_mix.erl -@@ -37,7 +37,7 @@ - terminate/2, code_change/3]). - - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(NODES, [?NS_MIX_NODES_MESSAGES, - ?NS_MIX_NODES_PRESENCE, -diff --git a/src/mod_muc.erl b/src/mod_muc.erl -index f7d5303f..f01cde16 100644 ---- a/src/mod_muc.erl -+++ b/src/mod_muc.erl -@@ -73,7 +73,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_muc.hrl"). - - -record(state, -diff --git a/src/mod_muc_admin.erl b/src/mod_muc_admin.erl -index e41f62b5..4d18d068 100644 ---- a/src/mod_muc_admin.erl -+++ b/src/mod_muc_admin.erl -@@ -43,7 +43,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_muc.hrl"). - -include("mod_muc_room.hrl"). - -include("ejabberd_http.hrl"). -diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl -index f2685aaa..abb55c42 100644 ---- a/src/mod_muc_log.erl -+++ b/src/mod_muc_log.erl -@@ -44,7 +44,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_muc_room.hrl"). - - -define(T(Text), translate:translate(Lang, Text)). -diff --git a/src/mod_muc_mnesia.erl b/src/mod_muc_mnesia.erl -index aa59038c..7334aca4 100644 ---- a/src/mod_muc_mnesia.erl -+++ b/src/mod_muc_mnesia.erl -@@ -44,7 +44,7 @@ - - -include("mod_muc.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("stdlib/include/ms_transform.hrl"). - - -record(state, {}). -diff --git a/src/mod_muc_riak.erl b/src/mod_muc_riak.erl -index 57d9666b..4ebd2949 100644 ---- a/src/mod_muc_riak.erl -+++ b/src/mod_muc_riak.erl -@@ -38,7 +38,7 @@ - -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, - get_affiliations/3, search_affiliation/4]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_muc.hrl"). - - %%%=================================================================== -diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl -index bafa938d..d8b5e288 100644 ---- a/src/mod_muc_room.erl -+++ b/src/mod_muc_room.erl -@@ -51,7 +51,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_muc_room.hrl"). - -diff --git a/src/mod_muc_sql.erl b/src/mod_muc_sql.erl -index 8aa6071c..71d79b02 100644 ---- a/src/mod_muc_sql.erl -+++ b/src/mod_muc_sql.erl -@@ -41,7 +41,7 @@ - -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, - get_affiliations/3, search_affiliation/4]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_muc.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_multicast.erl b/src/mod_multicast.erl -index 7b772521..7c1cab3b 100644 ---- a/src/mod_multicast.erl -+++ b/src/mod_multicast.erl -@@ -45,7 +45,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, - {lserver, lservice, access, service_limits}). -diff --git a/src/mod_offline.erl b/src/mod_offline.erl -index 5b95fe4b..8146ffdc 100644 ---- a/src/mod_offline.erl -+++ b/src/mod_offline.erl -@@ -70,7 +70,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/mod_offline_mnesia.erl b/src/mod_offline_mnesia.erl -index a725ab00..126fd1bb 100644 ---- a/src/mod_offline_mnesia.erl -+++ b/src/mod_offline_mnesia.erl -@@ -32,7 +32,7 @@ - remove_all_messages/2, count_messages/2, import/1]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_offline.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_offline_riak.erl b/src/mod_offline_riak.erl -index 5d0fd1af..607a78ba 100644 ---- a/src/mod_offline_riak.erl -+++ b/src/mod_offline_riak.erl -@@ -31,7 +31,7 @@ - read_message/3, remove_message/3, read_all_messages/2, - remove_all_messages/2, count_messages/2, import/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_offline.hrl"). - - %%%=================================================================== -diff --git a/src/mod_offline_sql.erl b/src/mod_offline_sql.erl -index 53a0d345..50fa83bc 100644 ---- a/src/mod_offline_sql.erl -+++ b/src/mod_offline_sql.erl -@@ -33,7 +33,7 @@ - read_message/3, remove_message/3, read_all_messages/2, - remove_all_messages/2, count_messages/2, import/1, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_offline.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_ping.erl b/src/mod_ping.erl -index 02357181..7d51f4dc 100644 ---- a/src/mod_ping.erl -+++ b/src/mod_ping.erl -@@ -36,7 +36,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(DEFAULT_SEND_PINGS, false). - -diff --git a/src/mod_pres_counter.erl b/src/mod_pres_counter.erl -index 875aeef3..ffa95576 100644 ---- a/src/mod_pres_counter.erl -+++ b/src/mod_pres_counter.erl -@@ -33,7 +33,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(pres_counter, - {dir, start, count, logged = false}). -diff --git a/src/mod_privacy.erl b/src/mod_privacy.erl -index 64ae9620..034a56e4 100644 ---- a/src/mod_privacy.erl -+++ b/src/mod_privacy.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - - -define(PRIVACY_CACHE, privacy_cache). -diff --git a/src/mod_privacy_mnesia.erl b/src/mod_privacy_mnesia.erl -index 7449262b..201b92ec 100644 ---- a/src/mod_privacy_mnesia.erl -+++ b/src/mod_privacy_mnesia.erl -@@ -32,7 +32,7 @@ - remove_list/3, use_cache/1, import/1]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_privacy_riak.erl b/src/mod_privacy_riak.erl -index 0cd39c11..88f294f8 100644 ---- a/src/mod_privacy_riak.erl -+++ b/src/mod_privacy_riak.erl -@@ -33,7 +33,7 @@ - - -export([privacy_schema/0]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - - %%%=================================================================== -diff --git a/src/mod_privacy_sql.erl b/src/mod_privacy_sql.erl -index 7939cbb2..6141feda 100644 ---- a/src/mod_privacy_sql.erl -+++ b/src/mod_privacy_sql.erl -@@ -35,7 +35,7 @@ - - -export([item_to_raw/1, raw_to_item/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_privacy.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_private.erl b/src/mod_private.erl -index cb167468..0b84d071 100644 ---- a/src/mod_private.erl -+++ b/src/mod_private.erl -@@ -37,7 +37,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - - -define(PRIVATE_CACHE, private_cache). -diff --git a/src/mod_private_mnesia.erl b/src/mod_private_mnesia.erl -index 04c1a04a..6a9dee68 100644 ---- a/src/mod_private_mnesia.erl -+++ b/src/mod_private_mnesia.erl -@@ -31,7 +31,7 @@ - use_cache/1, import/3]). - -export([need_transform/1, transform/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - -include("logger.hrl"). - -diff --git a/src/mod_private_riak.erl b/src/mod_private_riak.erl -index be175f07..f97c2dd8 100644 ---- a/src/mod_private_riak.erl -+++ b/src/mod_private_riak.erl -@@ -30,7 +30,7 @@ - -export([init/2, set_data/3, get_data/3, get_all_data/2, del_data/2, - import/3]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - - %%%=================================================================== -diff --git a/src/mod_private_sql.erl b/src/mod_private_sql.erl -index 5ed584c3..da4974ce 100644 ---- a/src/mod_private_sql.erl -+++ b/src/mod_private_sql.erl -@@ -30,7 +30,7 @@ - -export([init/2, set_data/3, get_data/3, get_all_data/2, del_data/2, - import/3, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_private.hrl"). - -include("ejabberd_sql_pt.hrl"). - -include("logger.hrl"). -diff --git a/src/mod_privilege.erl b/src/mod_privilege.erl -index dab7a619..695c8acf 100644 ---- a/src/mod_privilege.erl -+++ b/src/mod_privilege.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -record(state, {server_host = <<"">> :: binary(), - permissions = dict:new() :: ?TDICT}). -diff --git a/src/mod_proxy65_service.erl b/src/mod_proxy65_service.erl -index fb34ba55..f42aa461 100644 ---- a/src/mod_proxy65_service.erl -+++ b/src/mod_proxy65_service.erl -@@ -39,7 +39,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PROCNAME, ejabberd_mod_proxy65_service). - -diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl -index d2e1f6c5..b7cd6644 100644 ---- a/src/mod_pubsub.erl -+++ b/src/mod_pubsub.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("pubsub.hrl"). - -include("mod_roster.hrl"). - -diff --git a/src/mod_push.erl b/src/mod_push.erl -index 1eaec6ad..ac4ed89e 100644 ---- a/src/mod_push.erl -+++ b/src/mod_push.erl -@@ -52,7 +52,7 @@ - -include("ejabberd.hrl"). - -include("ejabberd_commands.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUSH_CACHE, push_cache). - -diff --git a/src/mod_push_keepalive.erl b/src/mod_push_keepalive.erl -index bcdc0c25..d979eaec 100644 ---- a/src/mod_push_keepalive.erl -+++ b/src/mod_push_keepalive.erl -@@ -36,7 +36,7 @@ - c2s_handle_cast/2, c2s_handle_info/2, c2s_stanza/3]). - - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUSH_BEFORE_TIMEOUT_SECS, 120). - -diff --git a/src/mod_push_mnesia.erl b/src/mod_push_mnesia.erl -index ff12150f..866b5630 100644 ---- a/src/mod_push_mnesia.erl -+++ b/src/mod_push_mnesia.erl -@@ -35,7 +35,7 @@ - - -include_lib("stdlib/include/ms_transform.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_push.hrl"). - - %%%------------------------------------------------------------------- -diff --git a/src/mod_push_sql.erl b/src/mod_push_sql.erl -index c82d9fc0..79fedba4 100644 ---- a/src/mod_push_sql.erl -+++ b/src/mod_push_sql.erl -@@ -32,7 +32,7 @@ - lookup_sessions/3, lookup_sessions/2, lookup_sessions/1, - delete_session/3, delete_old_sessions/2, export/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). - -include("mod_push.hrl"). -diff --git a/src/mod_register.erl b/src/mod_register.erl -index 77557ee0..8ad27fcf 100644 ---- a/src/mod_register.erl -+++ b/src/mod_register.erl -@@ -41,7 +41,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_register_web.erl b/src/mod_register_web.erl -index b7bc2edc..a7bb83f5 100644 ---- a/src/mod_register_web.erl -+++ b/src/mod_register_web.erl -@@ -60,7 +60,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("ejabberd_http.hrl"). - -diff --git a/src/mod_roster.erl b/src/mod_roster.erl -index a86b50d9..57f5fdce 100644 ---- a/src/mod_roster.erl -+++ b/src/mod_roster.erl -@@ -54,7 +54,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_roster.hrl"). - -diff --git a/src/mod_s2s_dialback.erl b/src/mod_s2s_dialback.erl -index b4c2ed9d..645ab37f 100644 ---- a/src/mod_s2s_dialback.erl -+++ b/src/mod_s2s_dialback.erl -@@ -33,7 +33,7 @@ - s2s_in_features/2, s2s_out_init/2, s2s_out_closed/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - - %%%=================================================================== -diff --git a/src/mod_service_log.erl b/src/mod_service_log.erl -index 1c6e5fe8..c295aa45 100644 ---- a/src/mod_service_log.erl -+++ b/src/mod_service_log.erl -@@ -35,7 +35,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, _Opts) -> - ejabberd_hooks:add(user_send_packet, Host, ?MODULE, -diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl -index 5f95266b..db641dbb 100644 ---- a/src/mod_shared_roster.erl -+++ b/src/mod_shared_roster.erl -@@ -44,7 +44,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -include("mod_roster.hrl"). - -diff --git a/src/mod_shared_roster_ldap.erl b/src/mod_shared_roster_ldap.erl -index 66cbebd9..4b431fc4 100644 ---- a/src/mod_shared_roster_ldap.erl -+++ b/src/mod_shared_roster_ldap.erl -@@ -46,7 +46,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_roster.hrl"). - -include("eldap.hrl"). - -diff --git a/src/mod_shared_roster_mnesia.erl b/src/mod_shared_roster_mnesia.erl -index adfbac68..bdd87030 100644 ---- a/src/mod_shared_roster_mnesia.erl -+++ b/src/mod_shared_roster_mnesia.erl -@@ -37,7 +37,7 @@ - -include("mod_roster.hrl"). - -include("mod_shared_roster.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_shared_roster_riak.erl b/src/mod_shared_roster_riak.erl -index 441aafd0..d5545eb1 100644 ---- a/src/mod_shared_roster_riak.erl -+++ b/src/mod_shared_roster_riak.erl -@@ -35,7 +35,7 @@ - - -include("mod_roster.hrl"). - -include("mod_shared_roster.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_shared_roster_sql.erl b/src/mod_shared_roster_sql.erl -index 488e0ec7..f952347a 100644 ---- a/src/mod_shared_roster_sql.erl -+++ b/src/mod_shared_roster_sql.erl -@@ -36,7 +36,7 @@ - add_user_to_group/3, remove_user_from_group/3, import/3, - export/1]). - ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - -include("mod_roster.hrl"). - -include("mod_shared_roster.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_sic.erl b/src/mod_sic.erl -index a2b3256e..da61b2c2 100644 ---- a/src/mod_sic.erl -+++ b/src/mod_sic.erl -@@ -36,7 +36,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_sip.erl b/src/mod_sip.erl -index 01327c77..70159d17 100644 ---- a/src/mod_sip.erl -+++ b/src/mod_sip.erl -@@ -52,7 +52,7 @@ mod_opt_type(_) -> - locate/1, mod_opt_type/1, depends/2]). - - -include("ejabberd.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("s1_sip/include/esip.hrl"). - - %%%=================================================================== - %%% API -diff --git a/src/mod_sip_proxy.erl b/src/mod_sip_proxy.erl -index d600da3d..c3dfe874 100644 ---- a/src/mod_sip_proxy.erl -+++ b/src/mod_sip_proxy.erl -@@ -40,7 +40,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("s1_sip/include/esip.hrl"). - - -define(SIGN_LIFETIME, 300). %% in seconds. - -diff --git a/src/mod_sip_registrar.erl b/src/mod_sip_registrar.erl -index a47de697..f89d3cab 100644 ---- a/src/mod_sip_registrar.erl -+++ b/src/mod_sip_registrar.erl -@@ -42,7 +42,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include_lib("esip/include/esip.hrl"). -+-include_lib("s1_sip/include/esip.hrl"). - - -define(CALL_TIMEOUT, timer:seconds(30)). - -define(DEFAULT_EXPIRES, 3600). -diff --git a/src/mod_stats.erl b/src/mod_stats.erl -index 2bdbdbd3..2969fbd2 100644 ---- a/src/mod_stats.erl -+++ b/src/mod_stats.erl -@@ -35,7 +35,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_stream_mgmt.erl b/src/mod_stream_mgmt.erl -index 658bd504..46b00993 100644 ---- a/src/mod_stream_mgmt.erl -+++ b/src/mod_stream_mgmt.erl -@@ -37,7 +37,7 @@ - -export([get_resume_timeout/1, set_resume_timeout/2]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("p1_queue.hrl"). - -diff --git a/src/mod_time.erl b/src/mod_time.erl -index c54f3d27..20321d36 100644 ---- a/src/mod_time.erl -+++ b/src/mod_time.erl -@@ -38,7 +38,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/mod_vcard.erl b/src/mod_vcard.erl -index 378b9430..10618c96 100644 ---- a/src/mod_vcard.erl -+++ b/src/mod_vcard.erl -@@ -44,7 +44,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - - -define(JUD_MATCHES, 30). -diff --git a/src/mod_vcard_ldap.erl b/src/mod_vcard_ldap.erl -index 88621fc0..e2c741c5 100644 ---- a/src/mod_vcard_ldap.erl -+++ b/src/mod_vcard_ldap.erl -@@ -41,7 +41,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - -include("eldap.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("translate.hrl"). - - -define(PROCNAME, ejabberd_mod_vcard_ldap). -diff --git a/src/mod_vcard_mnesia.erl b/src/mod_vcard_mnesia.erl -index 3e742ec1..6e9e0e50 100644 ---- a/src/mod_vcard_mnesia.erl -+++ b/src/mod_vcard_mnesia.erl -@@ -33,7 +33,7 @@ - -export([need_transform/1, transform/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - -include("logger.hrl"). - -include("translate.hrl"). -diff --git a/src/mod_vcard_riak.erl b/src/mod_vcard_riak.erl -index e5ad1b3d..5427ec7f 100644 ---- a/src/mod_vcard_riak.erl -+++ b/src/mod_vcard_riak.erl -@@ -31,7 +31,7 @@ - search_fields/1, search_reported/1, import/3, stop/1]). - -export([is_search_supported/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - - %%%=================================================================== -diff --git a/src/mod_vcard_sql.erl b/src/mod_vcard_sql.erl -index 07d90b69..1dc5d40f 100644 ---- a/src/mod_vcard_sql.erl -+++ b/src/mod_vcard_sql.erl -@@ -33,7 +33,7 @@ - search_fields/1, search_reported/1, import/3, export/1]). - -export([is_search_supported/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("mod_vcard.hrl"). - -include("logger.hrl"). - -include("ejabberd_sql_pt.hrl"). -diff --git a/src/mod_vcard_xupdate.erl b/src/mod_vcard_xupdate.erl -index 7643fed4..19148654 100644 ---- a/src/mod_vcard_xupdate.erl -+++ b/src/mod_vcard_xupdate.erl -@@ -35,7 +35,7 @@ - - -include("ejabberd.hrl"). - -include("logger.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(VCARD_XUPDATE_CACHE, vcard_xupdate_cache). - -diff --git a/src/mod_version.erl b/src/mod_version.erl -index 5f613e02..23ac02cd 100644 ---- a/src/mod_version.erl -+++ b/src/mod_version.erl -@@ -37,7 +37,7 @@ - -include("ejabberd.hrl"). - -include("logger.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts, gen_iq_handler:iqdisc(Host)), -diff --git a/src/node_dag.erl b/src/node_dag.erl -index 9829c27c..5f399357 100644 ---- a/src/node_dag.erl -+++ b/src/node_dag.erl -@@ -28,7 +28,7 @@ - -author('bjc@kublai.com'). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/node_dispatch.erl b/src/node_dispatch.erl -index 92a655b8..00eb55d9 100644 ---- a/src/node_dispatch.erl -+++ b/src/node_dispatch.erl -@@ -34,7 +34,7 @@ - -author('christophe.romain@process-one.net'). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/node_flat.erl b/src/node_flat.erl -index bc529e14..571b1b16 100644 ---- a/src/node_flat.erl -+++ b/src/node_flat.erl -@@ -34,7 +34,7 @@ - -author('christophe.romain@process-one.net'). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/node_flat_sql.erl b/src/node_flat_sql.erl -index afbc050a..ae279c4c 100644 ---- a/src/node_flat_sql.erl -+++ b/src/node_flat_sql.erl -@@ -36,7 +36,7 @@ - -compile([{parse_transform, ejabberd_sql_pt}]). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sql_pt.hrl"). - - -export([init/3, terminate/2, options/0, features/0, -diff --git a/src/node_online.erl b/src/node_online.erl -index 39b08d99..ce71fdb0 100644 ---- a/src/node_online.erl -+++ b/src/node_online.erl -@@ -28,7 +28,7 @@ - -author('christophe.romain@process-one.net'). - - -include("pubsub.hrl"). ---include("jid.hrl"). -+-include_lib("p1_xmpp/include/jid.hrl"). - - -export([init/3, terminate/2, options/0, features/0, - create_node_permission/6, create_node/2, delete_node/1, -diff --git a/src/nodetree_dag.erl b/src/nodetree_dag.erl -index a44e7155..0c5609c4 100644 ---- a/src/nodetree_dag.erl -+++ b/src/nodetree_dag.erl -@@ -30,7 +30,7 @@ - -include_lib("stdlib/include/qlc.hrl"). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, set_node/1, - get_node/3, get_node/2, get_node/1, get_nodes/2, -diff --git a/src/nodetree_tree.erl b/src/nodetree_tree.erl -index 31724036..0fe1f5e0 100644 ---- a/src/nodetree_tree.erl -+++ b/src/nodetree_tree.erl -@@ -40,7 +40,7 @@ - -include_lib("stdlib/include/qlc.hrl"). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -export([init/3, terminate/2, options/0, set_node/1, - get_node/3, get_node/2, get_node/1, get_nodes/2, -diff --git a/src/nodetree_tree_sql.erl b/src/nodetree_tree_sql.erl -index b310dd2d..19ff1786 100644 ---- a/src/nodetree_tree_sql.erl -+++ b/src/nodetree_tree_sql.erl -@@ -40,7 +40,7 @@ - -compile([{parse_transform, ejabberd_sql_pt}]). - - -include("pubsub.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("ejabberd_sql_pt.hrl"). - - -export([init/3, terminate/2, options/0, set_node/1, -diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl -index 2c7dabb4..b6ba864c 100644 ---- a/src/prosody2ejabberd.erl -+++ b/src/prosody2ejabberd.erl -@@ -28,7 +28,7 @@ - -export([from_dir/1]). - - -include("ejabberd.hrl"). ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include("logger.hrl"). - -include("mod_roster.hrl"). - -include("mod_offline.hrl"). -diff --git a/src/pubsub_subscription.erl b/src/pubsub_subscription.erl -index 746e39e3..59ee734b 100644 ---- a/src/pubsub_subscription.erl -+++ b/src/pubsub_subscription.erl -@@ -39,7 +39,7 @@ - - -include("pubsub.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUBSUB_DELIVER, <<"pubsub#deliver">>). - -define(PUBSUB_DIGEST, <<"pubsub#digest">>). -diff --git a/src/pubsub_subscription_sql.erl b/src/pubsub_subscription_sql.erl -index 3315748c..5700c100 100644 ---- a/src/pubsub_subscription_sql.erl -+++ b/src/pubsub_subscription_sql.erl -@@ -35,7 +35,7 @@ - - -include("pubsub.hrl"). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - - -define(PUBSUB_DELIVER, <<"pubsub#deliver">>). - -define(PUBSUB_DIGEST, <<"pubsub#digest">>). -diff --git a/src/xmpp_stream_in.erl b/src/xmpp_stream_in.erl -index 329ebad6..4ce8760c 100644 ---- a/src/xmpp_stream_in.erl -+++ b/src/xmpp_stream_in.erl -@@ -42,7 +42,7 @@ - -define(FSMOPTS, []). - -endif. - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -type state() :: map(). - -type stop_reason() :: {stream, reset | {in | out, stream_error()}} | - {tls, inet:posix() | atom() | binary()} | -diff --git a/src/xmpp_stream_out.erl b/src/xmpp_stream_out.erl -index 7ddc183b..8095bd86 100644 ---- a/src/xmpp_stream_out.erl -+++ b/src/xmpp_stream_out.erl -@@ -44,7 +44,7 @@ - - -define(TCP_SEND_TIMEOUT, 15000). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("kernel/include/inet.hrl"). - - -type state() :: map(). -diff --git a/src/xmpp_stream_pkix.erl b/src/xmpp_stream_pkix.erl -index 8361999f..a6fe728c 100644 ---- a/src/xmpp_stream_pkix.erl -+++ b/src/xmpp_stream_pkix.erl -@@ -24,7 +24,7 @@ - %% API - -export([authenticate/1, authenticate/2, get_cert_domains/1, format_error/1]). - ---include("xmpp.hrl"). -+-include_lib("p1_xmpp/include/xmpp.hrl"). - -include_lib("public_key/include/public_key.hrl"). - -include("XmppAddr.hrl"). - --- -2.14.1 - diff --git a/bsp/buildroot/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch b/bsp/buildroot/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch deleted file mode 100644 index 09b35621..00000000 --- a/bsp/buildroot/package/ejabberd/0005-disable-ERLANG_DEPRECATED_CHECK.patch +++ /dev/null @@ -1,29 +0,0 @@ -From d43a65b112ec995a5ee52aca2a16e5cf9699d7c1 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 20 Jan 2016 08:16:26 -0500 -Subject: [PATCH] disable ERLANG_DEPRECATED_CHECK - -Without this patch, the configure will try to execute erlang to check -if it uses deprecated types. Assume the answer is false. - -Signed-off-by: Johan Oudinet ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index cd1ab08..a4f1533 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -235,7 +235,7 @@ if test "$ENABLEUSER" != ""; then - AC_SUBST([INSTALLUSER], [$ENABLEUSER]) - fi - --ERLANG_DEPRECATED_TYPES_CHECK -+AC_SUBST(erlang_deprecated_types, false) - - if test "$sqlite" = "true"; then - AX_LIB_SQLITE3([3.6.19]) --- -2.5.0 - diff --git a/bsp/buildroot/package/ejabberd/0006-fix-install-permissions.patch b/bsp/buildroot/package/ejabberd/0006-fix-install-permissions.patch deleted file mode 100644 index 9a0073f5..00000000 --- a/bsp/buildroot/package/ejabberd/0006-fix-install-permissions.patch +++ /dev/null @@ -1,84 +0,0 @@ -From ef847479778cc58818e066b87aa1789ba1c4148b Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Wed, 20 Jan 2016 09:34:07 -0500 -Subject: [PATCH] fix install permissions - -Without this patch, the makefile will try to install directories and -files with incompatible permissions for ejabberd, which run as an -ejabberd user. - -Signed-off-by: Frank Hunleth - -diff --git a/Makefile.in b/Makefile.in -index a0b4553d..2cae2db4 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -169,10 +169,8 @@ copy-files-sub: copy-files-sub2 - install: all copy-files - # - # Configuration files -- $(INSTALL) -d -m 750 $(G_USER) $(ETCDIR) -- [ -f $(ETCDIR)/ejabberd.yml ] \ -- && $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml-new \ -- || $(INSTALL) -b -m 640 $(G_USER) ejabberd.yml.example $(ETCDIR)/ejabberd.yml -+ $(INSTALL) -d $(ETCDIR) -+ $(INSTALL) -b -m 644 ejabberd.yml.example $(ETCDIR)/ejabberd.yml - $(SED) -e "s*{{rootdir}}*@prefix@*g" \ - -e "s*{{installuser}}*@INSTALLUSER@*g" \ - -e "s*{{bindir}}*@bindir@*g" \ -@@ -183,53 +181,16 @@ install: all copy-files - -e "s*{{erl}}*@ERL@*g" \ - -e "s*{{epmd}}*@EPMD@*g" ejabberdctl.template \ - > ejabberdctl.example -- [ -f $(ETCDIR)/ejabberdctl.cfg ] \ -- && $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg-new \ -- || $(INSTALL) -b -m 640 $(G_USER) ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg -- $(INSTALL) -b -m 644 $(G_USER) inetrc $(ETCDIR)/inetrc -+ $(INSTALL) -b -m 644 ejabberdctl.cfg.example $(ETCDIR)/ejabberdctl.cfg -+ $(INSTALL) -b -m 644 inetrc $(ETCDIR)/inetrc - # - # Administration script -- [ -d $(SBINDIR) ] || $(INSTALL) -d -m 755 $(SBINDIR) -- $(INSTALL) -m 550 $(G_USER) ejabberdctl.example $(SBINDIR)/ejabberdctl -+ $(INSTALL) -D ejabberdctl.example $(SBINDIR)/ejabberdctl - # Elixir binaries - [ -d $(BINDIR) ] || $(INSTALL) -d -m 755 $(BINDIR) - [ -f deps/elixir/bin/iex ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/iex $(BINDIR)/iex || true - [ -f deps/elixir/bin/elixir ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/elixir $(BINDIR)/elixir || true - [ -f deps/elixir/bin/mix ] && $(INSTALL) -m 550 $(G_USER) deps/elixir/bin/mix $(BINDIR)/mix || true -- # -- # Init script -- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" \ -- -e "s*@installuser@*$(INIT_USER)*g" ejabberd.init.template \ -- > ejabberd.init -- chmod 755 ejabberd.init -- # -- # Service script -- $(SED) -e "s*@ctlscriptpath@*$(SBINDIR)*g" ejabberd.service.template \ -- > ejabberd.service -- chmod 644 ejabberd.service -- # -- # Spool directory -- $(INSTALL) -d -m 750 $(O_USER) $(SPOOLDIR) -- $(CHOWN_COMMAND) -R @INSTALLUSER@ $(SPOOLDIR) >$(CHOWN_OUTPUT) -- chmod -R 750 $(SPOOLDIR) -- [ ! -f $(COOKIEFILE) ] || { $(CHOWN_COMMAND) @INSTALLUSER@ $(COOKIEFILE) >$(CHOWN_OUTPUT) ; chmod 400 $(COOKIEFILE) ; } -- # -- # ejabberdctl lock directory -- $(INSTALL) -d -m 750 $(O_USER) $(CTLLOCKDIR) -- $(CHOWN_COMMAND) -R @INSTALLUSER@ $(CTLLOCKDIR) >$(CHOWN_OUTPUT) -- chmod -R 750 $(CTLLOCKDIR) -- # -- # Log directory -- $(INSTALL) -d -m 750 $(O_USER) $(LOGDIR) -- $(CHOWN_COMMAND) -R @INSTALLUSER@ $(LOGDIR) >$(CHOWN_OUTPUT) -- chmod -R 750 $(LOGDIR) -- # -- # Documentation -- $(INSTALL) -d $(DOCDIR) -- [ -f doc/guide.html ] \ -- && $(INSTALL) -m 644 doc/guide.html $(DOCDIR) \ -- || echo "Documentation not included in sources" -- $(INSTALL) -m 644 COPYING $(DOCDIR) - - uninstall: uninstall-binary diff --git a/bsp/buildroot/package/ejabberd/0008-handle-error-case-from-lib_dir.patch b/bsp/buildroot/package/ejabberd/0008-handle-error-case-from-lib_dir.patch deleted file mode 100644 index f7931b4e..00000000 --- a/bsp/buildroot/package/ejabberd/0008-handle-error-case-from-lib_dir.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d0bfcbbfd8a6e7ee6213112e4078b020e4e1d15d Mon Sep 17 00:00:00 2001 -From: PaweÅ‚ Chmielowski -Date: Wed, 10 Jan 2018 16:34:01 +0100 -Subject: [PATCH] Handle error case from code:lib_dir in ResolveDepPath in - rebar.config.script - -This patch have already been applied in upstream/master. - -Signed-off-by: PaweÅ‚ Chmielowski - ---- - rebar.config.script | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/rebar.config.script b/rebar.config.script -index 85f918fffd..ba374e5c5f 100644 ---- a/rebar.config.script -+++ b/rebar.config.script -@@ -233,9 +233,10 @@ ResolveDepPath = case {SystemDeps, IsRebar3} of - {true, _} -> - fun("deps/" ++ Rest) -> - Slash = string:str(Rest, "/"), -- code:lib_dir( -- string:sub_string(Rest, 1, Slash -1)) ++ -- string:sub_string(Rest, Slash); -+ case code:lib_dir(string:sub_string(Rest, 1, Slash -1)) of -+ {error, _} -> Rest; -+ V -> V ++ string:sub_string(Rest, Slash) -+ end; - (Path) -> - Path - end; diff --git a/bsp/buildroot/package/ejabberd/0009-disable-mod_avatar.patch b/bsp/buildroot/package/ejabberd/0009-disable-mod_avatar.patch deleted file mode 100644 index ab89ba1a..00000000 --- a/bsp/buildroot/package/ejabberd/0009-disable-mod_avatar.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e6eac74e82975e7d87b1f59c50eb007ab04c1392 Mon Sep 17 00:00:00 2001 -From: Johan Oudinet -Date: Tue, 16 Jan 2018 14:29:56 +0100 -Subject: [PATCH] disable mod_avatar - -This module requires to compile with graphics enabled. - -Signed-off-by: Johan Oudinet ---- - ejabberd.yml.example | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/ejabberd.yml.example b/ejabberd.yml.example -index e178e956..7c12b76c 100644 ---- a/ejabberd.yml.example -+++ b/ejabberd.yml.example -@@ -796,9 +796,9 @@ modules: - search: false - mod_vcard_xupdate: {} - ## Convert all avatars posted by Android clients from WebP to JPEG -- mod_avatar: -- convert: -- webp: jpeg -+ ## mod_avatar: -+ ## convert: -+ ## webp: jpeg - mod_version: {} - mod_stream_mgmt: {} - ## Non-SASL Authentication (XEP-0078) is now disabled by default --- -2.14.1 - diff --git a/bsp/buildroot/package/ejabberd/Config.in b/bsp/buildroot/package/ejabberd/Config.in index a7542cd1..7d51d1de 100644 --- a/bsp/buildroot/package/ejabberd/Config.in +++ b/bsp/buildroot/package/ejabberd/Config.in @@ -2,11 +2,12 @@ config BR2_PACKAGE_EJABBERD bool "ejabberd" depends on BR2_PACKAGE_ERLANG depends on BR2_INSTALL_LIBSTDCPP # jiffy, stringprep - select BR2_PACKAGE_ERLANG_JIFFY + select BR2_PACKAGE_ERLANG_EIMP + select BR2_PACKAGE_ERLANG_JIFFY # runtime select BR2_PACKAGE_ERLANG_LAGER select BR2_PACKAGE_ERLANG_P1_CACHE_TAB select BR2_PACKAGE_ERLANG_P1_ICONV - select BR2_PACKAGE_ERLANG_P1_OAUTH2 + select BR2_PACKAGE_ERLANG_P1_OAUTH2 # runtime select BR2_PACKAGE_ERLANG_P1_SIP select BR2_PACKAGE_ERLANG_P1_STRINGPREP select BR2_PACKAGE_ERLANG_P1_STUN diff --git a/bsp/buildroot/package/ejabberd/ejabberd.hash b/bsp/buildroot/package/ejabberd/ejabberd.hash index 6fb90a23..aed269cb 100644 --- a/bsp/buildroot/package/ejabberd/ejabberd.hash +++ b/bsp/buildroot/package/ejabberd/ejabberd.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 bd16b33a2f1345e5847fd05b70a5fa992181bac756cd6d5d621de9c18cb76801 ejabberd-17.11.tgz +sha256 781a68d2deefb4afae563c29a8955063c759c244d308251167d46185f145d4ff ejabberd-18.09.tgz diff --git a/bsp/buildroot/package/ejabberd/ejabberd.mk b/bsp/buildroot/package/ejabberd/ejabberd.mk index 0f7af9b8..6982375c 100644 --- a/bsp/buildroot/package/ejabberd/ejabberd.mk +++ b/bsp/buildroot/package/ejabberd/ejabberd.mk @@ -4,12 +4,13 @@ # ################################################################################ -EJABBERD_VERSION = 17.11 +EJABBERD_VERSION = 18.09 EJABBERD_SOURCE = ejabberd-$(EJABBERD_VERSION).tgz EJABBERD_SITE = https://www.process-one.net/downloads/ejabberd/$(EJABBERD_VERSION) EJABBERD_LICENSE = GPL-2.0+ with OpenSSL exception EJABBERD_LICENSE_FILES = COPYING -EJABBERD_DEPENDENCIES = getent openssl host-erlang-lager erlang-lager \ +EJABBERD_DEPENDENCIES = getent openssl erlang-eimp \ + host-erlang-lager erlang-lager \ erlang-p1-cache-tab erlang-p1-iconv erlang-p1-sip \ erlang-p1-stringprep erlang-p1-stun erlang-p1-tls \ erlang-p1-utils erlang-p1-xml erlang-p1-xmpp erlang-p1-yaml \ @@ -23,29 +24,19 @@ ifeq ($(BR2_PACKAGE_LINUX_PAM),y) EJABBERD_DEPENDENCIES += linux-pam endif -# Install check-erlang-lib script to the directory in which the -# package has been uncompressed, so it is available during the -# configure step. -define EJABBERD_INSTALL_CHECK_ERLANG_LIB - $(INSTALL) -m 0755 $(EJABBERD_PKGDIR)/check-erlang-lib \ - $(@D)/check-erlang-lib -endef - -EJABBERD_POST_EXTRACT_HOOKS += EJABBERD_INSTALL_CHECK_ERLANG_LIB - EJABBERD_ERLANG_LIBS = sasl public_key mnesia inets compiler # Guess answers for these tests, configure will bail out otherwise # saying error: cannot run test program while cross compiling. +EJABBERD_CHECK_LIB = $(TOPDIR)/$(EJABBERD_PKGDIR)/check-erlang-lib EJABBERD_CONF_ENV = \ ac_cv_erlang_root_dir="$(HOST_DIR)/lib/erlang" \ $(foreach lib,$(EJABBERD_ERLANG_LIBS), \ - ac_cv_erlang_lib_dir_$(lib)="`./check-erlang-lib $(lib)`") + ac_cv_erlang_lib_dir_$(lib)="`$(EJABBERD_CHECK_LIB) $(lib)`") EJABBERD_CONF_OPTS = \ --enable-system-deps \ - --disable-erlang-version-check \ - --disable-graphics + --disable-erlang-version-check define EJABBERD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) install -C $(@D) @@ -63,6 +54,11 @@ define EJABBERD_USERS ejabberd -1 ejabberd -1 * /var/lib/ejabberd /bin/sh - ejabberd daemon endef +define EJABBERD_PERMISSIONS + /etc/ejabberd r 750 root ejabberd - - - - - + /usr/sbin/ejabberdctl f 750 root ejabberd - - - - - +endef + define EJABBERD_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/ejabberd/S50ejabberd \ $(TARGET_DIR)/etc/init.d/S50ejabberd diff --git a/bsp/buildroot/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch b/bsp/buildroot/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch new file mode 100644 index 00000000..82558255 --- /dev/null +++ b/bsp/buildroot/package/elf2flt/0002-Makefile-fix-build-with-Binutils-2.31.patch @@ -0,0 +1,34 @@ +From faf1a1646093fbc5ed279bae1c7250c7dfea56f8 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 17 Jul 2018 16:36:16 +0200 +Subject: [PATCH] Makefile: fix build with Binutils 2.31 + +Binutils added diagnostics.h to bfd.h [1], so elf2flt must create a symlink +for this header. + +Fixes: +https://gitlab.com/free-electrons/toolchains-builder/-/jobs/82284139 + +[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=95da9854466ada2572b42f5528711a06a2d42db1 + +Signed-off-by: Romain Naour +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index cfad06c..164e306 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -127,7 +127,7 @@ bfd-headers/.stamp: + rm -rf bfd-headers + mkdir bfd-headers + ln -sf $(BFD_INCLUDE_DIR)/bfd.h bfd-headers/bfd.h +- for f in ansidecl filenames hashtab libiberty symcat; do \ ++ for f in ansidecl diagnostics filenames hashtab libiberty symcat; do \ + ln -sf $(BINUTILS_INCLUDE_DIR)/$$f.h bfd-headers/$$f.h || exit 1; \ + done + ln -sf $(BINUTILS_INCLUDE_DIR)/elf bfd-headers/elf +-- +2.7.4 + diff --git a/bsp/buildroot/package/elfutils/Config.in b/bsp/buildroot/package/elfutils/Config.in index ad86c313..6c8bd0b0 100644 --- a/bsp/buildroot/package/elfutils/Config.in +++ b/bsp/buildroot/package/elfutils/Config.in @@ -1,5 +1,4 @@ comment "elfutils needs a uClibc or glibc toolchain w/ wchar, dynamic library" - depends on !BR2_bfin depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS \ || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) @@ -9,9 +8,6 @@ config BR2_PACKAGE_ELFUTILS depends on !BR2_STATIC_LIBS # Only glibc and uClibc implement the myriad of required GNUisms depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC - # build issue caused by the _ prefix used on blackfin for - # assembly symbols - depends on !BR2_bfin select BR2_PACKAGE_ZLIB select BR2_PACKAGE_ARGP_STANDALONE if BR2_TOOLCHAIN_USES_UCLIBC help diff --git a/bsp/buildroot/package/ell/Config.in b/bsp/buildroot/package/ell/Config.in new file mode 100644 index 00000000..f27d581f --- /dev/null +++ b/bsp/buildroot/package/ell/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_ELL + bool "ell" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR + help + Embedded Linux library (ell) + + https://01.org/ell + +comment "ell needs a toolchain w/ dynamic library, wchar" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/ell/ell.hash b/bsp/buildroot/package/ell/ell.hash new file mode 100644 index 00000000..dd6e90f3 --- /dev/null +++ b/bsp/buildroot/package/ell/ell.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 bb7038340bfa4eed57700a42da235ba2efce19fe7ab6b976af3e69ee9597a4dd ell-0.16.tar.gz + +# License files +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/bsp/buildroot/package/ell/ell.mk b/bsp/buildroot/package/ell/ell.mk new file mode 100644 index 00000000..9f610e7d --- /dev/null +++ b/bsp/buildroot/package/ell/ell.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# ell +# +################################################################################ + +ELL_VERSION = 0.16 +ELL_SITE = https://git.kernel.org/pub/scm/libs/ell/ell.git +ELL_SITE_METHOD = git +ELL_LICENSE = LGPL-2.1+ +ELL_LICENSE_FILES = COPYING +ELL_INSTALL_STAGING = YES +# sources from git, no configure script provided +ELL_AUTORECONF = YES + +# autoreconf requires an existing build-aux directory +define ELL_MKDIR_BUILD_AUX + mkdir -p $(@D)/build-aux +endef +ELL_POST_PATCH_HOOKS += ELL_MKDIR_BUILD_AUX + +ELL_DEPENDENCIES = host-pkgconf + +# disable ell/glib main loop example +ELL_CONF_OPTS = --disable-glib + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/enlightenment/enlightenment.hash b/bsp/buildroot/package/enlightenment/enlightenment.hash index 10e8facf..4872676b 100644 --- a/bsp/buildroot/package/enlightenment/enlightenment.hash +++ b/bsp/buildroot/package/enlightenment/enlightenment.hash @@ -1,3 +1,3 @@ -# From https://www.enlightenment.org/news/e0.22.1_release -sha256 207b6b88dafc4932ab007a835510823c5a1dd8c191876ac037628176ca77a7e0 enlightenment-0.22.1.tar.xz +# From https://www.enlightenment.org/news/e0.22.4_release +sha256 59f4997c8b59457142870e40f137bc08c9735c84368d32213dacf09c4342fe79 enlightenment-0.22.4.tar.xz sha256 34dbd501ec9d1c8dcc569c01db9cf9a4b7ee5981614cc9f8f613a97463d27350 COPYING diff --git a/bsp/buildroot/package/enlightenment/enlightenment.mk b/bsp/buildroot/package/enlightenment/enlightenment.mk index 0d87119b..f0f9834c 100644 --- a/bsp/buildroot/package/enlightenment/enlightenment.mk +++ b/bsp/buildroot/package/enlightenment/enlightenment.mk @@ -4,7 +4,7 @@ # ################################################################################ -ENLIGHTENMENT_VERSION = 0.22.1 +ENLIGHTENMENT_VERSION = 0.22.4 ENLIGHTENMENT_SOURCE = enlightenment-$(ENLIGHTENMENT_VERSION).tar.xz ENLIGHTENMENT_SITE = http://download.enlightenment.org/rel/apps/enlightenment ENLIGHTENMENT_LICENSE = BSD-2-Clause @@ -13,47 +13,36 @@ ENLIGHTENMENT_LICENSE_FILES = COPYING ENLIGHTENMENT_DEPENDENCIES = \ host-pkgconf \ host-efl \ - host-meson \ efl \ xcb-util-keysyms -ENLIGHTENMENT_MESON_OPTS += \ - --prefix=/usr \ - --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ - --cross-file=$(HOST_DIR)/etc/meson/cross-compilation.conf \ +ENLIGHTENMENT_CONF_OPTS = \ -Dedje-cc=$(HOST_DIR)/bin/edje_cc \ -Deet=$(HOST_DIR)/bin/eet \ -Deldbus-codegen=$(HOST_DIR)/bin/eldbus-codegen \ -Dpam=false +# enlightenment.pc and /usr/lib/enlightenment/modules/*.so +ENLIGHTENMENT_INSTALL_STAGING = YES + ifeq ($(BR2_PACKAGE_SYSTEMD),y) -ENLIGHTENMENT_MESON_OPTS += -Dsystemd=true +ENLIGHTENMENT_CONF_OPTS += -Dsystemd=true ENLIGHTENMENT_DEPENDENCIES += systemd else -ENLIGHTENMENT_MESON_OPTS += -Dsystemd=false +ENLIGHTENMENT_CONF_OPTS += -Dsystemd=false endif # alsa backend needs mixer support ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy) -ENLIGHTENMENT_MESON_OPTS += -Dmixer=true +ENLIGHTENMENT_CONF_OPTS += -Dmixer=true ENLIGHTENMENT_DEPENDENCIES += alsa-lib else -ENLIGHTENMENT_MESON_OPTS += -Dmixer=false +ENLIGHTENMENT_CONF_OPTS += -Dmixer=false endif -define ENLIGHTENMENT_CONFIGURE_CMDS - rm -rf $(@D)/build - mkdir -p $(@D)/build - $(TARGET_MAKE_ENV) meson $(ENLIGHTENMENT_MESON_OPTS) $(@D) $(@D)/build -endef - -define ENLIGHTENMENT_BUILD_CMDS - $(TARGET_MAKE_ENV) ninja -C $(@D)/build -endef - -define ENLIGHTENMENT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) ninja -C $(@D)/build install -endef +ifeq ($(BR2_PACKAGE_XKEYBOARD_CONFIG),y) +ENLIGHTENMENT_DEPENDENCIES += xkeyboard-config +endif define ENLIGHTENMENT_REMOVE_DOCUMENTATION rm -rf $(TARGET_DIR)/usr/share/enlightenment/doc/ @@ -62,4 +51,4 @@ define ENLIGHTENMENT_REMOVE_DOCUMENTATION endef ENLIGHTENMENT_POST_INSTALL_TARGET_HOOKS += ENLIGHTENMENT_REMOVE_DOCUMENTATION -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/erlang-eimp/Config.in b/bsp/buildroot/package/erlang-eimp/Config.in new file mode 100644 index 00000000..5c207e9c --- /dev/null +++ b/bsp/buildroot/package/erlang-eimp/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_ERLANG_EIMP + bool "erlang-eimp" + select BR2_PACKAGE_ERLANG_P1_UTILS + select BR2_PACKAGE_GD + select BR2_PACKAGE_GD_WEBPNG + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_WEBP + help + Erlang Image Manipulation Process + + https://github.com/processone/eimp diff --git a/bsp/buildroot/package/erlang-eimp/erlang-eimp.mk b/bsp/buildroot/package/erlang-eimp/erlang-eimp.mk new file mode 100644 index 00000000..83d34cd5 --- /dev/null +++ b/bsp/buildroot/package/erlang-eimp/erlang-eimp.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# erlang-eimp +# +################################################################################ + +ERLANG_EIMP_VERSION = 1.0.8 +ERLANG_EIMP_SITE = $(call github,processone,eimp,$(ERLANG_EIMP_VERSION)) +ERLANG_EIMP_LICENSE = Apache-2.0 +ERLANG_EIMP_LICENSE_FILES = LICENSE.txt +ERLANG_EIMP_DEPENDENCIES = erlang-p1-utils gd jpeg libpng webp + +$(eval $(rebar-package)) diff --git a/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash b/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash index 9425bcda..84141029 100644 --- a/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash +++ b/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5ef27d3be0ef2e8dc06468ec39dc3a43506d6f85af0edc21b9c14db860669d38 erlang-p1-cache-tab-1.0.12.tar.gz +sha256 169c3ca82b99c482e5914b616d594fed25cf34a4c995e37bfe1651d70bbaea55 erlang-p1-cache-tab-1.0.16.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk b/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk index ae96103e..a25f0a1e 100644 --- a/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk +++ b/bsp/buildroot/package/erlang-p1-cache-tab/erlang-p1-cache-tab.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_CACHE_TAB_VERSION = 1.0.12 +ERLANG_P1_CACHE_TAB_VERSION = 1.0.16 ERLANG_P1_CACHE_TAB_SITE = $(call github,processone,cache_tab,$(ERLANG_P1_CACHE_TAB_VERSION)) ERLANG_P1_CACHE_TAB_LICENSE = Apache-2.0 ERLANG_P1_CACHE_TAB_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.hash b/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.hash index 0f0a2316..31bcf407 100644 --- a/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.hash +++ b/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c7214ea7503c3de1edf3bdd72b37187aa3a9a36d7cf7f5945a067ae8d262d3fb erlang-p1-iconv-1.0.6.tar.gz +sha256 8a9ff8a3dd983284caa964f118b5782ef1c0c662995608b2ca4f4a5f285605a9 erlang-p1-iconv-1.0.10.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.mk b/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.mk index 6b22431c..79d8efe1 100644 --- a/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.mk +++ b/bsp/buildroot/package/erlang-p1-iconv/erlang-p1-iconv.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_ICONV_VERSION = 1.0.6 +ERLANG_P1_ICONV_VERSION = 1.0.10 ERLANG_P1_ICONV_SITE = $(call github,processone,iconv,$(ERLANG_P1_ICONV_VERSION)) ERLANG_P1_ICONV_LICENSE = Apache-2.0 ERLANG_P1_ICONV_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.hash b/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.hash index 29fae126..58756c6f 100644 --- a/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.hash +++ b/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 aea823ccc49b20f7e27f1893c7edf231339f56b16ba21ce78a60f735b6211718 erlang-p1-oauth2-0.6.2.tar.gz +sha256 d7d954376ae7c131a0884c7c80b0b9e8270b6f574182df59ce4f2fbbae322854 erlang-p1-oauth2-0.6.3.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.mk b/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.mk index 5c27393a..444bc897 100644 --- a/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.mk +++ b/bsp/buildroot/package/erlang-p1-oauth2/erlang-p1-oauth2.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_OAUTH2_VERSION = 0.6.2 +ERLANG_P1_OAUTH2_VERSION = 0.6.3 ERLANG_P1_OAUTH2_SITE = $(call github,processone,p1_oauth2,$(ERLANG_P1_OAUTH2_VERSION)) ERLANG_P1_OAUTH2_LICENSE = MIT ERLANG_P1_OAUTH2_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch b/bsp/buildroot/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index da860769..00000000 --- a/bsp/buildroot/package/erlang-p1-sip/0002-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,20 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config -index ed93134..5b32788 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -31,10 +31,6 @@ - - {port_specs, [{"priv/lib/esip_drv.so", ["c_src/esip_codec.c"]}]}. - --{deps, [{stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.16"}}}, -- {fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/esip_codec.gcda", "c_src/esip_codec.gcno"]}. - - {cover_enabled, true}. diff --git a/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.hash b/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.hash index 4d41b988..2cd057b9 100644 --- a/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.hash +++ b/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6ac36594921561d0d5502bb824b7408223a3f53560a9d2fa4b0f685c0441baf0 erlang-p1-sip-1.0.17.tar.gz +sha256 be38cceff8e2207da24805b8e1c926cdf6d63ab116be12cd829f5a3a4e5e58ab erlang-p1-sip-1.0.26.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.mk b/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.mk index a9f572df..84663387 100644 --- a/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.mk +++ b/bsp/buildroot/package/erlang-p1-sip/erlang-p1-sip.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_SIP_VERSION = 1.0.17 +ERLANG_P1_SIP_VERSION = 1.0.26 ERLANG_P1_SIP_SITE = $(call github,processone,esip,$(ERLANG_P1_SIP_VERSION)) ERLANG_P1_SIP_LICENSE = Apache-2.0 ERLANG_P1_SIP_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.hash b/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.hash index 769e2180..5200d661 100644 --- a/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.hash +++ b/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 baef9e6bd59e00c9d2600e8db87078c19d76cbf66d5068efeaf1df740ee306ce erlang-p1-stringprep-1.0.10.tar.gz +sha256 32245561f84b03b9024c8768ad2ac8d67f285a032a7f36ff35a74c77fc701f96 erlang-p1-stringprep-1.0.14.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.mk b/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.mk index f104a2ce..a0575250 100644 --- a/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.mk +++ b/bsp/buildroot/package/erlang-p1-stringprep/erlang-p1-stringprep.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_STRINGPREP_VERSION = 1.0.10 +ERLANG_P1_STRINGPREP_VERSION = 1.0.14 ERLANG_P1_STRINGPREP_SITE = $(call github,processone,stringprep,$(ERLANG_P1_STRINGPREP_VERSION)) ERLANG_P1_STRINGPREP_LICENSE = TCL (tools/*.tcl), Apache-2.0 (rest) ERLANG_P1_STRINGPREP_LICENSE_FILES = LICENSE.ALL LICENSE.TCL LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch b/bsp/buildroot/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index 7e6b4b53..00000000 --- a/bsp/buildroot/package/erlang-p1-stun/0001-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,16 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -diff --git a/rebar.config b/rebar.config -index f02ea40..d0af863 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -22,9 +22,6 @@ - - {erl_opts, [debug_info, {i, "include"}]}. - --{deps, [{fast_tls, ".*", {git, "https://github.com/processone/fast_tls", {tag, "1.0.17"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {cover_enabled, true}. - {cover_export_enabled, true}. diff --git a/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.hash b/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.hash index ee32834e..7400a276 100644 --- a/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.hash +++ b/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8efe2f47c2460b1e0d68a680dcfcd938a2bc98c85abb5b100c15246fe6a25506 erlang-p1-stun-1.0.16.tar.gz +sha256 a5a59ae3c75290029aa062ef19ecd52b8377959a8eb7352bd2a62c4ff1dd0613 erlang-p1-stun-1.0.25.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.mk b/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.mk index 42bbc758..32bdd4f2 100644 --- a/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.mk +++ b/bsp/buildroot/package/erlang-p1-stun/erlang-p1-stun.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_STUN_VERSION = 1.0.16 +ERLANG_P1_STUN_VERSION = 1.0.25 ERLANG_P1_STUN_SITE = $(call github,processone,stun,$(ERLANG_P1_STUN_VERSION)) ERLANG_P1_STUN_LICENSE = Apache-2.0 ERLANG_P1_STUN_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.hash b/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.hash index b5b800b2..af635e52 100644 --- a/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.hash +++ b/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 ca9670b7f78a025b101e3fee6255d7472d6b52abc46444cc45616c3d1bd75b9b erlang-p1-tls-1.0.17.tar.gz +sha256 5bb883b03514999876c750cdb08a5e4cf80a9eb89319037b612e1265c43f6f6d erlang-p1-tls-1.0.25.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.mk b/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.mk index ad7317dc..b5696644 100644 --- a/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.mk +++ b/bsp/buildroot/package/erlang-p1-tls/erlang-p1-tls.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_TLS_VERSION = 1.0.17 +ERLANG_P1_TLS_VERSION = 1.0.25 ERLANG_P1_TLS_SITE = $(call github,processone,fast_tls,$(ERLANG_P1_TLS_VERSION)) ERLANG_P1_TLS_LICENSE = Apache-2.0 ERLANG_P1_TLS_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.hash b/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.hash index 950a5540..db925bdd 100644 --- a/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.hash +++ b/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 57bfc575179733a723717f4fecb65b9f7fd056595f798b52e7bc0206e8a9333f erlang-p1-utils-1.0.10.tar.gz +sha256 8f21fc0472c314572ebb066d624cb5463cf5b016e18b7fd7dca9dca2a4589382 erlang-p1-utils-1.0.13.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.mk b/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.mk index 6a492073..6025e3f5 100644 --- a/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.mk +++ b/bsp/buildroot/package/erlang-p1-utils/erlang-p1-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_UTILS_VERSION = 1.0.10 +ERLANG_P1_UTILS_VERSION = 1.0.13 ERLANG_P1_UTILS_SITE = $(call github,processone,p1_utils,$(ERLANG_P1_UTILS_VERSION)) ERLANG_P1_UTILS_LICENSE = Apache-2.0 ERLANG_P1_UTILS_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch b/bsp/buildroot/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index b58db3f2..00000000 --- a/bsp/buildroot/package/erlang-p1-xml/0001-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,18 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config -index 99f5047..ac2f3b2 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -32,8 +32,6 @@ - {port_specs, [{"priv/lib/fxml.so", ["c_src/fxml.c"]}, - {"priv/lib/fxml_stream.so", ["c_src/fxml_stream.c"]}]}. - --{deps, [{p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/fxml.gcda", "c_src/fxml.gcno", "c_src/fxml_stream.gcda", "c_src/fxml_stream.gcno"]}. - - {cover_enabled, true}. diff --git a/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.hash b/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.hash index ae3f3241..ac8042da 100644 --- a/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.hash +++ b/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 aeda4051c08b78e2f036d82705433a667d03736f07ff0054862e82105435e285 erlang-p1-xml-1.1.25.tar.gz +sha256 8615f77a1448e297af25f85261b6e4a84952af797da2e317c8ec71fe2fe779ac erlang-p1-xml-1.1.34.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.mk b/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.mk index ff999983..c8c65ff4 100644 --- a/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.mk +++ b/bsp/buildroot/package/erlang-p1-xml/erlang-p1-xml.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_XML_VERSION = 1.1.25 +ERLANG_P1_XML_VERSION = 1.1.34 ERLANG_P1_XML_SITE = $(call github,processone,fast_xml,$(ERLANG_P1_XML_VERSION)) ERLANG_P1_XML_LICENSE = Apache-2.0 ERLANG_P1_XML_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch b/bsp/buildroot/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index fed44f62..00000000 --- a/bsp/buildroot/package/erlang-p1-xmpp/0002-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,19 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config ---- a/rebar.config 2017-11-30 14:24:52.348695123 +0100 -+++ b/rebar.config 2017-11-30 14:35:11.816407195 +0100 -@@ -29,10 +29,6 @@ - - {port_specs, [{"priv/lib/jid.so", ["c_src/jid.c"]}]}. - --{deps, [{fast_xml, ".*", {git, "https://github.com/processone/fast_xml", {tag, "1.1.25"}}}, -- {stringprep, ".*", {git, "https://github.com/processone/stringprep", {tag, "1.0.10"}}}, -- {p1_utils, ".*", {git, "https://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/jid.gcda", "c_src/jid.gcno"]}. - - {cover_enabled, true}. diff --git a/bsp/buildroot/package/erlang-p1-xmpp/Config.in b/bsp/buildroot/package/erlang-p1-xmpp/Config.in index 9b33e0c6..6e40fed1 100644 --- a/bsp/buildroot/package/erlang-p1-xmpp/Config.in +++ b/bsp/buildroot/package/erlang-p1-xmpp/Config.in @@ -6,7 +6,9 @@ config BR2_PACKAGE_ERLANG_P1_XMPP depends on BR2_INSTALL_LIBSTDCPP # erlang-p1-stringprep select BR2_PACKAGE_ERLANG_P1_XML select BR2_PACKAGE_ERLANG_P1_STRINGPREP + select BR2_PACKAGE_ERLANG_P1_TLS select BR2_PACKAGE_ERLANG_P1_UTILS + select BR2_PACKAGE_ERLANG_P1_ZLIB help XMPP library for Erlang. diff --git a/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.hash b/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.hash index d3d2dafb..e1c63a60 100644 --- a/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.hash +++ b/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 558e8d8734052bdbe679cf10165a63944c208940ab84be78c97ba661dfcf3cb2 erlang-p1-xmpp-1.1.16.tar.gz +sha256 699f50d50850272e67160b022fd27f3ccc46570e48968d8ee30d491bf926794d erlang-p1-xmpp-1.2.5.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.mk b/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.mk index 096876ca..e20a84f4 100644 --- a/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.mk +++ b/bsp/buildroot/package/erlang-p1-xmpp/erlang-p1-xmpp.mk @@ -4,13 +4,13 @@ # ################################################################################ -ERLANG_P1_XMPP_VERSION = 1.1.16 +ERLANG_P1_XMPP_VERSION = 1.2.5 ERLANG_P1_XMPP_SITE = $(call github,processone,xmpp,$(ERLANG_P1_XMPP_VERSION)) ERLANG_P1_XMPP_LICENSE = Apache-2.0 ERLANG_P1_XMPP_LICENSE_FILES = LICENSE.txt ERLANG_P1_XMPP_INSTALL_STAGING = YES ERLANG_P1_XMPP_DEPENDENCIES = erlang-p1-xml erlang-p1-stringprep \ - erlang-p1-utils host-erlang-p1-xml + erlang-p1-tls erlang-p1-utils erlang-p1-zlib host-erlang-p1-xml $(eval $(rebar-package)) $(eval $(host-rebar-package)) diff --git a/bsp/buildroot/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch b/bsp/buildroot/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch deleted file mode 100644 index 4dfdb929..00000000 --- a/bsp/buildroot/package/erlang-p1-yaml/0001-remove-dependencies-from-rebar-config.patch +++ /dev/null @@ -1,18 +0,0 @@ -Without this patch, dependencies would be downloaded and compiled -by rebar at build time. - -Signed-off-by: Christophe Romain - -diff --git a/rebar.config b/rebar.config -index e09d08d..651a829 100644 ---- a/rebar.config -+++ b/rebar.config -@@ -24,8 +24,6 @@ - {port_env, [{"CFLAGS", "$CFLAGS"}, {"LDFLAGS", "$LDFLAGS -lyaml"}]}. - {port_specs, [{"priv/lib/fast_yaml.so", ["c_src/fast_yaml.c"]}]}. - --{deps, [{p1_utils, ".*", {git, "git://github.com/processone/p1_utils", {tag, "1.0.10"}}}]}. -- - {clean_files, ["c_src/fast_yaml.gcda", "c_src/fast_yaml.gcno"]}. - - {cover_enabled, true}. diff --git a/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.hash b/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.hash index 24282e6c..2f3b181f 100644 --- a/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.hash +++ b/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 5a6499a47cdd1f753a527cb8b79074312354063535adc0ca0fd7f72c2a015e3a erlang-p1-yaml-1.0.12.tar.gz +sha256 d2675ec9b2f64eba6c3437597e3abe3bfaae2172560784456a2763d1d1a50b08 erlang-p1-yaml-1.0.17.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.mk b/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.mk index de138a9f..d4173988 100644 --- a/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.mk +++ b/bsp/buildroot/package/erlang-p1-yaml/erlang-p1-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_YAML_VERSION = 1.0.12 +ERLANG_P1_YAML_VERSION = 1.0.17 ERLANG_P1_YAML_SITE = $(call github,processone,fast_yaml,$(ERLANG_P1_YAML_VERSION)) ERLANG_P1_YAML_LICENSE = Apache-2.0 ERLANG_P1_YAML_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.hash b/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.hash index dc14dd07..6717abdd 100644 --- a/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.hash +++ b/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 8396f9cb17fdb195d9a2537ad76327bf930d66118b87b7108f27e5ed28b7cde6 erlang-p1-zlib-1.0.3.tar.gz +sha256 3328661c512c28e68db69b82202b8d6c4127f31f2aefc5b0040ba9bce6abe9b3 erlang-p1-zlib-1.0.4.tar.gz diff --git a/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.mk b/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.mk index bc53efcc..f62eff63 100644 --- a/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.mk +++ b/bsp/buildroot/package/erlang-p1-zlib/erlang-p1-zlib.mk @@ -4,7 +4,7 @@ # ################################################################################ -ERLANG_P1_ZLIB_VERSION = 1.0.3 +ERLANG_P1_ZLIB_VERSION = 1.0.4 ERLANG_P1_ZLIB_SITE = $(call github,processone,ezlib,$(ERLANG_P1_ZLIB_VERSION)) ERLANG_P1_ZLIB_LICENSE = Apache-2.0 ERLANG_P1_ZLIB_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch b/bsp/buildroot/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch index c17eefc2..7a6e469d 100644 --- a/bsp/buildroot/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch +++ b/bsp/buildroot/package/erlang/0002-erts-emulator-reorder-inclued-headers-paths.patch @@ -16,6 +16,8 @@ Move INCLUDES before CFLAGS to use pcre.h from erlang. http://autobuild.buildroot.net/results/cbd/cbd8b54eef535f19d7d400fd269af1b3571d6143/build-end.log Signed-off-by: Romain Naour +[Bernd: rebased for erlang-21.0] +Signed-off-by: Bernd Kuhls --- erts/emulator/Makefile.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -24,20 +26,21 @@ diff --git a/erts/emulator/Makefile.in b/erts/emulator/Makefile.in index 7145824..d079487 100644 --- a/erts/emulator/Makefile.in +++ b/erts/emulator/Makefile.in -@@ -678,11 +678,11 @@ else +@@ -712,7 +712,7 @@ # Usually the same as the default rule, but certain platforms (e.g. win32) mix # different compilers $(OBJDIR)/beam_emu.o: beam/beam_emu.c - $(V_EMU_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@ + $(V_EMU_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@ - endif + $(OBJDIR)/beam_emu.S: beam/beam_emu.c + $(V_EMU_CC) -S -fverbose-asm $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@ +@@ -765,7 +765,7 @@ + # General targets + # $(OBJDIR)/%.o: beam/%.c - $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@ + $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@ $(OBJDIR)/%.o: $(TARGET)/%.c $(V_CC) $(CFLAGS) $(INCLUDES) -Idrivers/common -c $< -o $@ --- -1.9.3 - diff --git a/bsp/buildroot/package/erlang/Config.in b/bsp/buildroot/package/erlang/Config.in index 00e8ab14..ab87eab6 100644 --- a/bsp/buildroot/package/erlang/Config.in +++ b/bsp/buildroot/package/erlang/Config.in @@ -12,15 +12,16 @@ config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS # erlang needs host-erlang depends on BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS -comment "erlang needs a toolchain w/ dynamic library" +comment "erlang needs a toolchain w/ dynamic library, threads" depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_ERLANG bool "erlang" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_ERLANG_ARCH_SUPPORTS select BR2_PACKAGE_ZLIB help diff --git a/bsp/buildroot/package/erlang/erlang.hash b/bsp/buildroot/package/erlang/erlang.hash index f5ff7402..616c85e9 100644 --- a/bsp/buildroot/package/erlang/erlang.hash +++ b/bsp/buildroot/package/erlang/erlang.hash @@ -1,4 +1,4 @@ # md5 from http://www.erlang.org/download/MD5, sha256 locally computed -md5 a683c8c0aacfe0305c4bf47b3abfde6a otp_src_20.3.tar.gz -sha256 4e19e6c403d5255531c0b870f19511c8b8e3b080618e4f9efcb44d905935b2a1 otp_src_20.3.tar.gz +md5 350988f024f88e9839c3715b35e7e27a otp_src_21.0.tar.gz +sha256 c7d247c0cad2d2e718eaca2e2dff051136a1347a92097abf19ebf65ea2870131 otp_src_21.0.tar.gz sha256 809fa1ed21450f59827d1e9aec720bbc4b687434fa22283c6cb5dd82a47ab9c0 LICENSE.txt diff --git a/bsp/buildroot/package/erlang/erlang.mk b/bsp/buildroot/package/erlang/erlang.mk index a7d71680..ca0aa0b7 100644 --- a/bsp/buildroot/package/erlang/erlang.mk +++ b/bsp/buildroot/package/erlang/erlang.mk @@ -5,7 +5,7 @@ ################################################################################ # See note below when updating Erlang -ERLANG_VERSION = 20.3 +ERLANG_VERSION = 21.0 ERLANG_SITE = http://www.erlang.org/download ERLANG_SOURCE = otp_src_$(ERLANG_VERSION).tar.gz ERLANG_DEPENDENCIES = host-erlang @@ -19,7 +19,7 @@ ERLANG_AUTORECONF = YES # Whenever updating Erlang, this value should be updated as well, to the # value of EI_VSN in the file lib/erl_interface/vsn.mk -ERLANG_EI_VSN = 3.10.1 +ERLANG_EI_VSN = 3.10.3 # The configure checks for these functions fail incorrectly ERLANG_CONF_ENV = ac_cv_func_isnan=yes ac_cv_func_isinf=yes @@ -43,10 +43,6 @@ HOST_ERLANG_CONF_OPTS = --without-javac --with-ssl=$(HOST_DIR) HOST_ERLANG_CONF_OPTS += --without-termcap -ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) -ERLANG_CONF_OPTS += --disable-threads -endif - ifeq ($(BR2_PACKAGE_NCURSES),y) ERLANG_CONF_OPTS += --with-termcap ERLANG_DEPENDENCIES += ncurses @@ -61,8 +57,7 @@ else ERLANG_CONF_OPTS += --without-ssl endif -# ODBC support in erlang requires threads -ifeq ($(BR2_PACKAGE_UNIXODBC)$(BR2_TOOLCHAIN_HAS_THREADS),yy) +ifeq ($(BR2_PACKAGE_UNIXODBC),y) ERLANG_DEPENDENCIES += unixodbc ERLANG_CONF_OPTS += --with-odbc else diff --git a/bsp/buildroot/package/espeak/espeak.mk b/bsp/buildroot/package/espeak/espeak.mk index 226f17fc..aa0b5b07 100644 --- a/bsp/buildroot/package/espeak/espeak.mk +++ b/bsp/buildroot/package/espeak/espeak.mk @@ -21,7 +21,7 @@ ESPEAK_DEPENDENCIES = pulseaudio endif define ESPEAK_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(ESPEAK_SOURCE) + $(UNZIP) -d $(@D) $(ESPEAK_DL_DIR)/$(ESPEAK_SOURCE) mv $(@D)/espeak-$(ESPEAK_VERSION)-source/* $(@D) $(RM) -r $(@D)/espeak-$(ESPEAK_VERSION)-source endef diff --git a/bsp/buildroot/package/ethtool/ethtool.hash b/bsp/buildroot/package/ethtool/ethtool.hash index 39e10ff3..b918dca3 100644 --- a/bsp/buildroot/package/ethtool/ethtool.hash +++ b/bsp/buildroot/package/ethtool/ethtool.hash @@ -1,4 +1,5 @@ # From https://www.kernel.org/pub/software/network/ethtool/sha256sums.asc -sha256 b7c1a380007d30eaf261a63b3cfc000f9d93f9eb7626dcd48b5d2a733af99cba ethtool-4.13.tar.xz +sha256 b18a6c364e42c29cdac057cf183c9674163db96b30848adfa8c2a90450f6d0c8 ethtool-4.19.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 5d632934396f90c82dfebe3c9512648bbb6333b406113d0cd331b0e0aa2d34a1 LICENSE diff --git a/bsp/buildroot/package/ethtool/ethtool.mk b/bsp/buildroot/package/ethtool/ethtool.mk index d8ebba5f..ae15800b 100644 --- a/bsp/buildroot/package/ethtool/ethtool.mk +++ b/bsp/buildroot/package/ethtool/ethtool.mk @@ -4,11 +4,11 @@ # ################################################################################ -ETHTOOL_VERSION = 4.13 +ETHTOOL_VERSION = 4.19 ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VERSION).tar.xz ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool ETHTOOL_LICENSE = GPL-2.0 -ETHTOOL_LICENSE_FILES = COPYING +ETHTOOL_LICENSE_FILES = LICENSE COPYING ETHTOOL_CONF_OPTS = \ $(if $(BR2_PACKAGE_ETHTOOL_PRETTY_PRINT),--enable-pretty-dump,--disable-pretty-dump) diff --git a/bsp/buildroot/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch b/bsp/buildroot/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch new file mode 100644 index 00000000..97dac3fe --- /dev/null +++ b/bsp/buildroot/package/eudev/0002-missing.h-add-KEY_ALS_TOGGLE.patch @@ -0,0 +1,34 @@ +From cad87bd3d8aa9046af0872e8c22f4a3c8fafdc78 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 4 Dec 2018 22:38:37 +0100 +Subject: [PATCH] missing.h: add KEY_ALS_TOGGLE + +KEY_ALS_TOGGLE has been added in kernel 4.8 with +https://github.com/torvalds/linux/commit/9ee27487127461b5cf71670b708ed5b2b8da568c + +So add it to missing.h to fix build with kernel older than 4.8 + +Fixes: + - http://autobuild.buildroot.org/results/0c0aff02df91cdb869efa01e397f7ccc0d9f69af + +Signed-off-by: Fabrice Fontaine +[Upstream: https://github.com/gentoo/eudev/commit/2cb6b734de901dda6e631de5dffbd4cb8e165cbb] +--- + src/shared/missing.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/shared/missing.h b/src/shared/missing.h +index bebbb42be..b5b2e1194 100644 +--- a/src/shared/missing.h ++++ b/src/shared/missing.h +@@ -179,3 +179,7 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle + #ifndef INPUT_PROP_MAX + #define INPUT_PROP_MAX 0x1f + #endif ++ ++#ifndef KEY_ALS_TOGGLE ++#define KEY_ALS_TOGGLE 0x7a ++#endif +-- +2.14.1 + diff --git a/bsp/buildroot/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch b/bsp/buildroot/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch new file mode 100644 index 00000000..08e5fd2b --- /dev/null +++ b/bsp/buildroot/package/eudev/0003-missing.h-add-BTN_DPAD_UP.patch @@ -0,0 +1,35 @@ +From 981b8b997e119a117fada2731eeeb0475c511c8a Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan +Date: Tue, 11 Dec 2018 07:56:20 +0100 +Subject: [PATCH] missing.h: add BTN_DPAD_UP + +As explained in issue 6267 of systemd [1], Linux < 3.11 does not +provide definitions for BTN_DPAD_{UP,RIGHT}, which were introduced in +[2]. + +This patch fixes this issue. + +[1] https://github.com/systemd/systemd/pull/6267 +[2] https://github.com/torvalds/linux/commit/9ee27487127461b5cf71670b708ed5b2b8da568c + +Signed-off-by: Eric Le Bihan +--- + src/shared/missing.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/shared/missing.h b/src/shared/missing.h +index b5b2e1194..3a83c91a6 100644 +--- a/src/shared/missing.h ++++ b/src/shared/missing.h +@@ -183,3 +183,8 @@ static inline int name_to_handle_at(int fd, const char *name, struct file_handle + #ifndef KEY_ALS_TOGGLE + #define KEY_ALS_TOGGLE 0x7a + #endif ++ ++#ifndef BTN_DPAD_UP ++#define BTN_DPAD_UP 0x220 ++#define BTN_DPAD_RIGHT 0x223 ++#endif +-- +2.17.2 + diff --git a/bsp/buildroot/package/eudev/S10udev b/bsp/buildroot/package/eudev/S10udev old mode 100755 new mode 100644 index 47c715c8..4e799d65 --- a/bsp/buildroot/package/eudev/S10udev +++ b/bsp/buildroot/package/eudev/S10udev @@ -16,10 +16,6 @@ # /dev/zero, /dev/null -- that's needed to boot and run this script. # -# Check for missing binaries -UDEV_BIN=/sbin/udevd -test -x $UDEV_BIN || exit 5 - # Check for config file and read it UDEV_CONFIG=/etc/udev/udev.conf test -r $UDEV_CONFIG || exit 6 @@ -29,7 +25,7 @@ case "$1" in start) printf "Populating %s using udev: " "${udev_root:-/dev}" [ -e /proc/sys/kernel/hotplug ] && printf '\000\000\000\000' > /proc/sys/kernel/hotplug - $UDEV_BIN -d || { echo "FAIL"; exit 1; } + /sbin/udevd -d || { echo "FAIL"; exit 1; } udevadm trigger --type=subsystems --action=add udevadm trigger --type=devices --action=add udevadm settle --timeout=30 || echo "udevadm settle failed" diff --git a/bsp/buildroot/package/eudev/eudev.hash b/bsp/buildroot/package/eudev/eudev.hash index 3fa47980..33556a2d 100644 --- a/bsp/buildroot/package/eudev/eudev.hash +++ b/bsp/buildroot/package/eudev/eudev.hash @@ -1,5 +1,5 @@ # From http://dev.gentoo.org/~blueness/eudev/ -md5 6ca08c0e14380f87df8e8aceac123671 eudev-3.2.5.tar.gz +md5 c75d99910c1791dd9430d26ab76059c0 eudev-3.2.7.tar.gz # Locally calculated -sha256 49c2d04105cad2526302627e040fa24b1916a9a3e059539bc8bb919b973890af eudev-3.2.5.tar.gz +sha256 3004614bd253c1f98558460215027aaf60d7592c70be27fd384ec01db87bf062 eudev-3.2.7.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/eudev/eudev.mk b/bsp/buildroot/package/eudev/eudev.mk index d08b9bb0..d88e010c 100644 --- a/bsp/buildroot/package/eudev/eudev.mk +++ b/bsp/buildroot/package/eudev/eudev.mk @@ -4,15 +4,12 @@ # ################################################################################ -EUDEV_VERSION = 3.2.5 +EUDEV_VERSION = 3.2.7 EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev EUDEV_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) EUDEV_LICENSE_FILES = COPYING EUDEV_INSTALL_STAGING = YES -# mq_getattr is in librt -EUDEV_CONF_ENV += LIBS=-lrt - EUDEV_CONF_OPTS = \ --disable-manpages \ --sbindir=/sbin \ diff --git a/bsp/buildroot/package/execline/execline.hash b/bsp/buildroot/package/execline/execline.hash index afead5cd..6bf3ccff 100644 --- a/bsp/buildroot/package/execline/execline.hash +++ b/bsp/buildroot/package/execline/execline.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 e4bb8fc8f20cca96f4bac9f0f74ebce5081b4b687bb11c79c843faf12507a64b execline-2.3.0.4.tar.gz -sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING +sha256 f6993094766652041c21fde9c07ef53a3cd4b93a64123d9578fb4997a2cefca1 execline-2.5.0.0.tar.gz +sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/bsp/buildroot/package/execline/execline.mk b/bsp/buildroot/package/execline/execline.mk index 68131b8f..83205e37 100644 --- a/bsp/buildroot/package/execline/execline.mk +++ b/bsp/buildroot/package/execline/execline.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXECLINE_VERSION = 2.3.0.4 +EXECLINE_VERSION = 2.5.0.0 EXECLINE_SITE = http://skarnet.org/software/execline EXECLINE_LICENSE = ISC EXECLINE_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/exempi/Config.in b/bsp/buildroot/package/exempi/Config.in new file mode 100644 index 00000000..c9af219a --- /dev/null +++ b/bsp/buildroot/package/exempi/Config.in @@ -0,0 +1,16 @@ +config BR2_PACKAGE_EXEMPI + bool "exempi" + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_ZLIB + help + Exempi is an implementation of XMP (Extensible Metadata + Platform). Version 2.x is based on Adobe XMP SDK. + + http://libopenraw.freedesktop.org/wiki/Exempi + +comment "exempi needs a toolchain w/ C++, dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/exempi/exempi.hash b/bsp/buildroot/package/exempi/exempi.hash new file mode 100644 index 00000000..562a4d9b --- /dev/null +++ b/bsp/buildroot/package/exempi/exempi.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 406185feb88e84ea1d4b4251370be2991205790d7113a7e28e192ff46a4f221e exempi-2.4.5.tar.bz2 +sha256 3d3c3593c15e0d35bdae0df7c642106250f6be3adc61477419413900f23ae607 COPYING diff --git a/bsp/buildroot/package/exempi/exempi.mk b/bsp/buildroot/package/exempi/exempi.mk new file mode 100644 index 00000000..91b1d5da --- /dev/null +++ b/bsp/buildroot/package/exempi/exempi.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# exempi +# +################################################################################ + +EXEMPI_VERSION = 2.4.5 +EXEMPI_SOURCE = exempi-$(EXEMPI_VERSION).tar.bz2 +EXEMPI_SITE = https://libopenraw.freedesktop.org/download +EXEMPI_INSTALL_STAGING = YES +EXEMPI_CONF_OPTS = --disable-unittest +EXEMPI_DEPENDENCIES = host-pkgconf expat zlib \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) +EXEMPI_LICENSE = BSD-3-Clause +EXEMPI_LICENSE_FILES = COPYING + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/exfat-utils/exfat-utils.hash b/bsp/buildroot/package/exfat-utils/exfat-utils.hash index f0d6b642..53155d41 100644 --- a/bsp/buildroot/package/exfat-utils/exfat-utils.hash +++ b/bsp/buildroot/package/exfat-utils/exfat-utils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b96b6692cf92a629c9eca0fe8c782646e20479524c7d2a99b7e9b43c3cf8ac43 exfat-utils-1.2.6.tar.gz +sha256 dfebd07a7b907e2d603d3a9626e6440bd43ec6c4e8c07ccfc57ce9502b724835 exfat-utils-1.3.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/exfat-utils/exfat-utils.mk b/bsp/buildroot/package/exfat-utils/exfat-utils.mk index c1b5a935..62cd4718 100644 --- a/bsp/buildroot/package/exfat-utils/exfat-utils.mk +++ b/bsp/buildroot/package/exfat-utils/exfat-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXFAT_UTILS_VERSION = 1.2.6 +EXFAT_UTILS_VERSION = 1.3.0 EXFAT_UTILS_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_UTILS_VERSION) EXFAT_UTILS_LICENSE = GPL-3.0+ EXFAT_UTILS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/exfat/exfat.hash b/bsp/buildroot/package/exfat/exfat.hash index 15b67f00..4b8ce901 100644 --- a/bsp/buildroot/package/exfat/exfat.hash +++ b/bsp/buildroot/package/exfat/exfat.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e1105256d75860c0678f98bbae0b8fe465d4c96ed187b7035556097f152478e7 fuse-exfat-1.2.6.tar.gz +sha256 07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3 fuse-exfat-1.3.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/exfat/exfat.mk b/bsp/buildroot/package/exfat/exfat.mk index f5ed13e2..b52b1970 100644 --- a/bsp/buildroot/package/exfat/exfat.mk +++ b/bsp/buildroot/package/exfat/exfat.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXFAT_VERSION = 1.2.6 +EXFAT_VERSION = 1.3.0 EXFAT_SITE = https://github.com/relan/exfat/releases/download/v$(EXFAT_VERSION) EXFAT_SOURCE = fuse-exfat-$(EXFAT_VERSION).tar.gz EXFAT_DEPENDENCIES = libfuse host-pkgconf diff --git a/bsp/buildroot/package/exim/0006-remove-libnsl.patch b/bsp/buildroot/package/exim/0006-remove-libnsl.patch new file mode 100644 index 00000000..8ca53c9a --- /dev/null +++ b/bsp/buildroot/package/exim/0006-remove-libnsl.patch @@ -0,0 +1,37 @@ +From b722f8fc01f6b1d71c98c0c66f759935b0dac136 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sat, 19 May 2018 20:36:41 +0200 +Subject: [PATCH] remove libnsl + +glibc now considers its built-in libnsl as being obsolete, and requires +passing --enable-obsolete-libnsl to have it built and installed. libnsl +is now provided as a separate project [1], but it isn't packaged yet in +Buildroot. + +Exim's nis.so and nisplus.so lookup modules require libnsl, +but they are not build by default. So we can safely remove -lnsl +from the Makefile-Linux. + +[1] https://github.com/thkukuk/libnsl.git + +Signed-off-by: Romain Naour +--- + OS/Makefile-Linux | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/OS/Makefile-Linux b/OS/Makefile-Linux +index 990f884..ea5644b 100644 +--- a/OS/Makefile-Linux ++++ b/OS/Makefile-Linux +@@ -19,7 +19,7 @@ CFLAGS_DYNAMIC ?= -shared -rdynamic + DBMLIB = -ldb + USE_DB = yes + +-LIBS = -lnsl -lcrypt -lm ++LIBS = -lcrypt -lm + LIBRESOLV = -lresolv + + X11=/usr/X11R6 +-- +2.14.3 + diff --git a/bsp/buildroot/package/exim/Local-Makefile b/bsp/buildroot/package/exim/Local-Makefile deleted file mode 100644 index 191f0e0d..00000000 --- a/bsp/buildroot/package/exim/Local-Makefile +++ /dev/null @@ -1,15 +0,0 @@ -BIN_DIRECTORY=/usr/sbin -CONFIGURE_FILE=/etc/exim/configure -EXIM_USER=ref:exim -EXIM_GROUP=mail -SPOOL_DIRECTORY=/var/spool/exim -ROUTER_ACCEPT=yes -TRANSPORT_LMTP=yes -LOOKUP_DBM=yes -LOOKUP_LSEARCH=yes -PCRE_LIBS=-lpcre -FIXED_NEVER_USERS=root -HEADERS_CHARSET="ISO-8859-1" -HAVE_ICONV=no -SYSLOG_LOG_PID=yes -TMPDIR="/tmp" diff --git a/bsp/buildroot/package/exim/exim.mk b/bsp/buildroot/package/exim/exim.mk index 37eab501..bde2df11 100644 --- a/bsp/buildroot/package/exim/exim.mk +++ b/bsp/buildroot/package/exim/exim.mk @@ -72,14 +72,6 @@ define EXIM_USE_DEFAULT_CONFIG_FILE_OPENSSL endef endif -# only glibc provides libnsl, remove -lnsl for all other toolchains -# http://bugs.exim.org/show_bug.cgi?id=1564 -ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),) -define EXIM_REMOVE_LIBNSL_FROM_MAKEFILE - $(SED) 's/-lnsl//g' $(@D)/OS/Makefile-Linux -endef -endif - # musl does not provide struct ip_options nor struct ip_opts (but it is # available with both glibc and uClibc) ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) @@ -96,7 +88,6 @@ define EXIM_CONFIGURE_TOOLCHAIN $(call exim-config-add,RANLIB,$(TARGET_RANLIB)) $(call exim-config-add,HOSTCC,$(HOSTCC)) $(call exim-config-add,HOSTCFLAGS,$(HOSTCFLAGS)) - $(EXIM_REMOVE_LIBNSL_FROM_MAKEFILE) $(EXIM_FIX_IP_OPTIONS_FOR_MUSL) endef diff --git a/bsp/buildroot/package/expat/expat.hash b/bsp/buildroot/package/expat/expat.hash index 945e1023..6c55972f 100644 --- a/bsp/buildroot/package/expat/expat.hash +++ b/bsp/buildroot/package/expat/expat.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/expat/files/expat/2.2.5/ -md5 789e297f547980fc9ecc036f9a070d49 expat-2.2.5.tar.bz2 -sha1 490659abd7d6c6d4cb4e60c945a15fbf081564f6 expat-2.2.5.tar.bz2 +# From https://sourceforge.net/projects/expat/files/expat/2.2.6/ +md5 ca047ae951b40020ac831c28859161b2 expat-2.2.6.tar.bz2 +sha1 c8947fc3119a797b55485f2f7bdaaeb49cc9df01 expat-2.2.6.tar.bz2 # Locally calculated -sha256 d9dc32efba7e74f788fcc4f212a43216fc37cf5f23f4c2339664d473353aedf6 expat-2.2.5.tar.bz2 +sha256 17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2 expat-2.2.6.tar.bz2 sha256 46336ab2fec900803e2f1a4253e325ac01d998efb09bc6906651f7259e636f76 COPYING diff --git a/bsp/buildroot/package/expat/expat.mk b/bsp/buildroot/package/expat/expat.mk index 69c457da..548ec826 100644 --- a/bsp/buildroot/package/expat/expat.mk +++ b/bsp/buildroot/package/expat/expat.mk @@ -4,7 +4,7 @@ # ################################################################################ -EXPAT_VERSION = 2.2.5 +EXPAT_VERSION = 2.2.6 EXPAT_SITE = http://downloads.sourceforge.net/project/expat/expat/$(EXPAT_VERSION) EXPAT_SOURCE = expat-$(EXPAT_VERSION).tar.bz2 EXPAT_INSTALL_STAGING = YES @@ -13,5 +13,8 @@ HOST_EXPAT_DEPENDENCIES = host-pkgconf EXPAT_LICENSE = MIT EXPAT_LICENSE_FILES = COPYING +EXPAT_CONF_OPTS = --without-docbook +HOST_EXPAT_CONF_OPTS = --without-docbook + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/expedite/Config.in b/bsp/buildroot/package/expedite/Config.in deleted file mode 100644 index fdfc6719..00000000 --- a/bsp/buildroot/package/expedite/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_EXPEDITE - bool "expedite" - depends on BR2_PACKAGE_EFL - depends on BR2_INSTALL_LIBSTDCPP - help - Expedite is the official Evas benchmark tool. It can test - different engines, such as X11, XRender, OpenGL (also ES - variant), SDL, DirectFB and so on. Its tests are quite - extensive, trying to reproduce real world usage cases. - -comment "expedite needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/expedite/expedite.hash b/bsp/buildroot/package/expedite/expedite.hash deleted file mode 100644 index 828ee055..00000000 --- a/bsp/buildroot/package/expedite/expedite.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 56e1dbd9826d932f0ef72a10dfdf32b6e0f680ab6830f8a8cfc60644ac69dbf1 expedite-e7b11dd328d9db82b49cde795944a721beaf0112.tar.gz diff --git a/bsp/buildroot/package/expedite/expedite.mk b/bsp/buildroot/package/expedite/expedite.mk deleted file mode 100644 index 6bd4b007..00000000 --- a/bsp/buildroot/package/expedite/expedite.mk +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# -# expedite -# -################################################################################ - -EXPEDITE_VERSION = e7b11dd328d9db82b49cde795944a721beaf0112 -EXPEDITE_SITE = http://git.enlightenment.org/tools/expedite.git -EXPEDITE_SITE_METHOD = git -EXPEDITE_LICENSE = BSD-2-Clause -EXPEDITE_LICENSE_FILES = COPYING - -EXPEDITE_DEPENDENCIES = host-efl host-pkgconf efl - -# There is no configure script in the git tree. -EXPEDITE_AUTORECONF = YES - -ifeq ($(BR2_PACKAGE_EFL_X_XLIB),y) -EXPEDITE_CONF_OPTS += --with-x=$(STAGING_DIR) \ - --x-includes=$(STAGING_DIR)/usr/include \ - --x-libraries=$(STAGING_DIR)/usr/lib -endif - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch b/bsp/buildroot/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch new file mode 100644 index 00000000..dc91b22c --- /dev/null +++ b/bsp/buildroot/package/f2fs-tools/0001-configure-uclinux-is-also-linux.patch @@ -0,0 +1,31 @@ +From 67629fd736a8a4295a9f2acb96563953be22a3ae Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 13 Jun 2018 20:39:04 +0300 +Subject: [PATCH] configure: uclinux is also linux + +Linux systems on no-MMU platforms identify as uclinux. They are +otherwise identical to plain Linux. + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to linux-f2fs-devel@lists.sourceforge.net + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a3ff12bf3de9..2b13be5b09f9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -166,7 +166,7 @@ build_mac=no + + # Detect the target system + case "${host_os}" in +-linux*) ++linux*|uclinux*) + build_linux=yes + ;; + cygwin*|mingw*) +-- +2.17.1 + diff --git a/bsp/buildroot/package/f2fs-tools/Config.in.host b/bsp/buildroot/package/f2fs-tools/Config.in.host new file mode 100644 index 00000000..19c77b9c --- /dev/null +++ b/bsp/buildroot/package/f2fs-tools/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_F2FS_TOOLS + bool "host f2fs-tools" + select BR2_PACKAGE_HOST_UTIL_LINUX + help + Tools for Flash-Friendly File System (F2FS) + + https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git diff --git a/bsp/buildroot/package/f2fs-tools/f2fs-tools.hash b/bsp/buildroot/package/f2fs-tools/f2fs-tools.hash index 36c3b115..9b72ca8f 100644 --- a/bsp/buildroot/package/f2fs-tools/f2fs-tools.hash +++ b/bsp/buildroot/package/f2fs-tools/f2fs-tools.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 aefd2a67e8ddf9db92145dde41b4a697d1c498ff2e113fbfd26ce1efa6cc3f2d f2fs-tools-v1.8.0.tar.gz +sha256 25fb715be0b6a115cc6b7b0f6b8ad6c825a7b174f55c034b6f9da2df1c2c6d97 f2fs-tools-v1.11.0.tar.gz +sha256 662abb3a8a80b36ae7036c289dd1e03b361ee5dd2e6fd5211d0d8d029146449f COPYING diff --git a/bsp/buildroot/package/f2fs-tools/f2fs-tools.mk b/bsp/buildroot/package/f2fs-tools/f2fs-tools.mk index 9b827df0..ba16218b 100644 --- a/bsp/buildroot/package/f2fs-tools/f2fs-tools.mk +++ b/bsp/buildroot/package/f2fs-tools/f2fs-tools.mk @@ -4,15 +4,38 @@ # ################################################################################ -F2FS_TOOLS_VERSION = v1.8.0 +F2FS_TOOLS_VERSION = v1.11.0 F2FS_TOOLS_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git F2FS_TOOLS_SITE_METHOD = git F2FS_TOOLS_CONF_ENV = ac_cv_file__git=no F2FS_TOOLS_DEPENDENCIES = host-pkgconf util-linux +HOST_F2FS_TOOLS_DEPENDENCIES = host-pkgconf host-util-linux # GIT version, shipped without configure F2FS_TOOLS_AUTORECONF = YES F2FS_TOOLS_INSTALL_STAGING = YES F2FS_TOOLS_LICENSE = GPL-2.0 F2FS_TOOLS_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +F2FS_TOOLS_CONF_OPTS += --with-selinux +F2FS_TOOLS_DEPENDENCIES += libselinux +else +F2FS_TOOLS_CONF_OPTS += --without-selinux +endif + +ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y) +# util-linux is a dependency already, no need to list it again +F2FS_TOOLS_CONF_OPTS += --with-blkid +else +F2FS_TOOLS_CONF_OPTS += --without-blkid +endif + +# blkid is only used to detect if we're overwriting a filesystem +# during mkfs, which only makes sense on the target, so we disable +# blkid support even if we have host-util-linux +HOST_F2FS_TOOLS_CONF_OPTS = \ + --without-selinux \ + --without-blkid + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/fail2ban/Config.in b/bsp/buildroot/package/fail2ban/Config.in new file mode 100644 index 00000000..8fa63bfd --- /dev/null +++ b/bsp/buildroot/package/fail2ban/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_FAIL2BAN + bool "fail2ban" + depends on BR2_PACKAGE_PYTHON + help + Fail2ban scans log files (e.g. /var/log/apache/error_log) and + bans IPs that show the malicious signs -- too many password + failures, seeking for exploits, etc. Out of the box Fail2Ban + comes with filters for various services (apache, courier, + ssh, etc). + + Fail2Ban is able to reduce the rate of incorrect + authentications attempts however it cannot eliminate the risk + that weak authentication presents. + + https://www.fail2ban.org diff --git a/bsp/buildroot/package/fail2ban/S60fail2ban b/bsp/buildroot/package/fail2ban/S60fail2ban new file mode 100644 index 00000000..b181ecde --- /dev/null +++ b/bsp/buildroot/package/fail2ban/S60fail2ban @@ -0,0 +1,23 @@ +#!/bin/sh + +case "$1" in + start) + printf "Starting fail2ban: " + start-stop-daemon -S -q -m -p /var/run/fail2ban.pid \ + -b -x fail2ban-server -- -xf start + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + stop) + printf "Stopping fail2ban: " + start-stop-daemon -K -q -p /var/run/fail2ban.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" + ;; + restart) + "$0" stop + sleep 1 + "$0" start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + ;; +esac diff --git a/bsp/buildroot/package/fail2ban/fail2ban.hash b/bsp/buildroot/package/fail2ban/fail2ban.hash new file mode 100644 index 00000000..25d120c1 --- /dev/null +++ b/bsp/buildroot/package/fail2ban/fail2ban.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 d6ca1bbc7e7944f7acb2ba7c1065953cd9837680bc4d175f30ed155c6a372449 fail2ban-0.10.4.tar.gz +sha256 a75fec0260742fe6275d63ff6a5d97b924b28766558306b3fa4069763096929b COPYING diff --git a/bsp/buildroot/package/fail2ban/fail2ban.mk b/bsp/buildroot/package/fail2ban/fail2ban.mk new file mode 100644 index 00000000..b7e6bdc1 --- /dev/null +++ b/bsp/buildroot/package/fail2ban/fail2ban.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# fail2ban +# +################################################################################ + +FAIL2BAN_VERSION = 0.10.4 +FAIL2BAN_SITE = $(call github,fail2ban,fail2ban,$(FAIL2BAN_VERSION)) +FAIL2BAN_LICENSE = GPL-2.0+ +FAIL2BAN_LICENSE_FILES = COPYING +FAIL2BAN_SETUP_TYPE = distutils + +define FAIL2BAN_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/fail2ban/S60fail2ban \ + $(TARGET_DIR)/etc/init.d/S60fail2ban +endef + +define FAIL2BAN_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(@D)/files/fail2ban.service.in \ + $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib//systemd/system/fail2ban.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/fail2ban.service + $(SED) 's,@BINDIR@,/usr/bin,g' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service +endef + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/fan-ctrl/fan-ctrl.mk b/bsp/buildroot/package/fan-ctrl/fan-ctrl.mk index 53533a8a..81a52f1e 100644 --- a/bsp/buildroot/package/fan-ctrl/fan-ctrl.mk +++ b/bsp/buildroot/package/fan-ctrl/fan-ctrl.mk @@ -12,7 +12,7 @@ FAN_CTRL_LICENSE = GPL-2.0+ FAN_CTRL_LICENSE_FILES = fan-ctrl.c define FAN_CTRL_EXTRACT_CMDS - cp $(DL_DIR)/$(FAN_CTRL_SOURCE) $(@D)/fan-ctrl.c + cp $(FAN_CTRL_DL_DIR)/$(FAN_CTRL_SOURCE) $(@D)/fan-ctrl.c endef define FAN_CTRL_BUILD_CMDS diff --git a/bsp/buildroot/package/fbset/fbset.mk b/bsp/buildroot/package/fbset/fbset.mk index d6ee104a..787b4e1d 100644 --- a/bsp/buildroot/package/fbset/fbset.mk +++ b/bsp/buildroot/package/fbset/fbset.mk @@ -9,11 +9,6 @@ FBSET_SITE = http://users.telenet.be/geertu/Linux/fbdev FBSET_DEPENDENCIES = host-bison host-flex FBSET_LICENSE = GPL-2.0 -# Make sure full fbset wins over busybox fbset -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -FBSET_DEPENDENCIES += busybox -endif - define FBSET_BUILD_CMDS $(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) endef diff --git a/bsp/buildroot/package/fdk-aac/Config.in b/bsp/buildroot/package/fdk-aac/Config.in index 111de41c..26e060b9 100644 --- a/bsp/buildroot/package/fdk-aac/Config.in +++ b/bsp/buildroot/package/fdk-aac/Config.in @@ -1,9 +1,12 @@ # These are the architectures supported by FDK AAC config BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS bool - default y if BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ - BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ - BR2_powerpc || BR2_sh + default y if BR2_aarch64 + default y if BR2_arm || BR2_armeb + default y if BR2_i386 || BR2_x86_64 + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc + default y if BR2_sh config BR2_PACKAGE_FDK_AAC bool "fdk-aac" diff --git a/bsp/buildroot/package/fdk-aac/fdk-aac.hash b/bsp/buildroot/package/fdk-aac/fdk-aac.hash index cd2e8684..a8f380c9 100644 --- a/bsp/buildroot/package/fdk-aac/fdk-aac.hash +++ b/bsp/buildroot/package/fdk-aac/fdk-aac.hash @@ -1,2 +1,6 @@ +# From https://sourceforge.net/projects/opencore-amr/files/fdk-aac/ +sha1 30439757fe5bbc8bccedcc8e51668b74db7322c7 fdk-aac-2.0.0.tar.gz +md5 8ccebea4fc5c9d40fff8f72bf68a6e50 fdk-aac-2.0.0.tar.gz # Locally computed: -sha256 2164592a67b467e5b20fdcdaf5bd4c50685199067391c6fcad4fa5521c9b4dd7 fdk-aac-0.1.5.tar.gz +sha256 f7d6e60f978ff1db952f7d5c3e96751816f5aef238ecf1d876972697b85fd96c fdk-aac-2.0.0.tar.gz +sha256 95ec80da40b4af12ad4c4f3158c9cfb80f2479f3246e4260cb600827cc8c7836 NOTICE diff --git a/bsp/buildroot/package/fdk-aac/fdk-aac.mk b/bsp/buildroot/package/fdk-aac/fdk-aac.mk index 0c9662ef..3904a41b 100644 --- a/bsp/buildroot/package/fdk-aac/fdk-aac.mk +++ b/bsp/buildroot/package/fdk-aac/fdk-aac.mk @@ -4,7 +4,7 @@ # ################################################################################ -FDK_AAC_VERSION = 0.1.5 +FDK_AAC_VERSION = 2.0.0 FDK_AAC_SITE = http://downloads.sourceforge.net/project/opencore-amr/fdk-aac FDK_AAC_LICENSE = fdk-aac license FDK_AAC_LICENSE_FILES = NOTICE diff --git a/bsp/buildroot/package/feh/Config.in b/bsp/buildroot/package/feh/Config.in index 19b4abe0..7a348a15 100644 --- a/bsp/buildroot/package/feh/Config.in +++ b/bsp/buildroot/package/feh/Config.in @@ -2,13 +2,11 @@ config BR2_PACKAGE_FEH bool "feh" depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_XLIB_LIBXINERAMA select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_IMLIB2 select BR2_PACKAGE_IMLIB2_PNG select BR2_PACKAGE_IMLIB2_JPEG select BR2_PACKAGE_IMLIB2_X - select BR2_PACKAGE_LIBCURL help feh is an X11 image viewer aimed mostly at console users. diff --git a/bsp/buildroot/package/feh/feh.hash b/bsp/buildroot/package/feh/feh.hash index 0f8ac8c0..cb554858 100644 --- a/bsp/buildroot/package/feh/feh.hash +++ b/bsp/buildroot/package/feh/feh.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 05a81fbe0997f6274c7617efc351647be38e5244c2624bd203459025c9a68ecd feh-2.22.2.tar.bz2 +sha256 6ec338f80c3f4c30d715f44780f1a09ebfbb99e92a1bb43316428744a839f383 feh-2.27.1.tar.bz2 +sha256 a289176a74d8e5d071456df5d4ee629aeb86f8eeeb6570076fe126f182c6b91d COPYING diff --git a/bsp/buildroot/package/feh/feh.mk b/bsp/buildroot/package/feh/feh.mk index 311cef3a..3bfd427e 100644 --- a/bsp/buildroot/package/feh/feh.mk +++ b/bsp/buildroot/package/feh/feh.mk @@ -4,20 +4,42 @@ # ################################################################################ -FEH_VERSION = 2.22.2 +FEH_VERSION = 2.27.1 FEH_SOURCE = feh-$(FEH_VERSION).tar.bz2 FEH_SITE = http://feh.finalrewind.org -FEH_DEPENDENCIES = libcurl imlib2 libpng xlib_libXinerama xlib_libXt +FEH_DEPENDENCIES = imlib2 libpng xlib_libXt FEH_LICENSE = MIT FEH_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_LIBCURL),y) +FEH_DEPENDENCIES += libcurl +FEH_MAKE_OPTS += curl=1 +else +FEH_MAKE_OPTS += curl=0 +endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +FEH_DEPENDENCIES += libexif +FEH_MAKE_OPTS += exif=1 +else +FEH_MAKE_OPTS += exif=0 +endif + +ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y) +FEH_DEPENDENCIES += xlib_libXinerama +FEH_MAKE_OPTS += xinerama=1 +else +FEH_MAKE_OPTS += xinerama=0 +endif + define FEH_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -std=gnu99" \ - $(MAKE) -C $(@D) all + $(MAKE) $(FEH_MAKE_OPTS) -C $(@D) all endef define FEH_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) PREFIX=/usr DESTDIR=$(TARGET_DIR) -C $(@D) install + $(TARGET_MAKE_ENV) $(MAKE) $(FEH_MAKE_OPTS) PREFIX=/usr \ + DESTDIR=$(TARGET_DIR) -C $(@D) install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/ffmpeg/0001-bfin-disable-optimization.patch b/bsp/buildroot/package/ffmpeg/0001-bfin-disable-optimization.patch deleted file mode 100644 index 1d8a4f01..00000000 --- a/bsp/buildroot/package/ffmpeg/0001-bfin-disable-optimization.patch +++ /dev/null @@ -1,26 +0,0 @@ -Fix bfin compile error - -See gcc bug report: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur ffmpeg-2.8.7.orig/libavcodec/hevcdsp_template.c ffmpeg-2.8.7/libavcodec/hevcdsp_template.c ---- ffmpeg-2.8.7.orig/libavcodec/hevcdsp_template.c 2016-03-29 04:25:16.000000000 +0200 -+++ ffmpeg-2.8.7/libavcodec/hevcdsp_template.c 2016-08-12 21:32:36.728178969 +0200 -@@ -1517,7 +1517,14 @@ - #define TQ2 pix[2 * xstride + 3 * ystride] - #define TQ3 pix[3 * xstride + 3 * ystride] - --static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix, -+// Blackfin gcc 6.1.x fails with -+// unable to find a register to spill in class CCREGS -+#if defined(__bfin__) -+#define disable_opt __attribute__ ((optimize("O1"))) -+#else -+#define disable_opt -+#endif -+static void disable_opt FUNC(hevc_loop_filter_luma)(uint8_t *_pix, - ptrdiff_t _xstride, ptrdiff_t _ystride, - int beta, int *_tc, - uint8_t *_no_p, uint8_t *_no_q) diff --git a/bsp/buildroot/package/ffmpeg/0002-ffmpeg-pthreads.patch b/bsp/buildroot/package/ffmpeg/0001-ffmpeg-pthreads.patch similarity index 100% rename from bsp/buildroot/package/ffmpeg/0002-ffmpeg-pthreads.patch rename to bsp/buildroot/package/ffmpeg/0001-ffmpeg-pthreads.patch diff --git a/bsp/buildroot/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch b/bsp/buildroot/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch new file mode 100644 index 00000000..3f452242 --- /dev/null +++ b/bsp/buildroot/package/ffmpeg/0002-libfdk-aacenc-Fix-building-with-libfdk-aac-v2.patch @@ -0,0 +1,100 @@ +From c60fb550302878aba7e86037451f7996e8069289 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Fri, 31 Aug 2018 14:25:30 +0300 +Subject: [PATCH] libfdk-aacenc: Fix building with libfdk-aac v2 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When flushing the encoder, we now need to provide non-null buffer +parameters for everything, even if they are unused. + +The encoderDelay parameter has been replaced by two, nDelay and +nDelayCore. + +Downloaded from +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=141c960e21d2860e354f9b90df136184dd00a9a8 + +Signed-off-by: Martin Storsjö +[Bernd: rebased for ffmpeg 3.4.5] +Signed-off-by: Bernd Kuhls +--- + libavcodec/libfdk-aacenc.c | 34 +++++++++++++++++++++++++--------- + 1 file changed, 25 insertions(+), 9 deletions(-) + +diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c +index 0e2051b468..f5adb407ed 100644 +--- a/libavcodec/libfdk-aacenc.c ++++ b/libavcodec/libfdk-aacenc.c +@@ -26,6 +26,11 @@ + #include "audio_frame_queue.h" + #include "internal.h" + ++#define FDKENC_VER_AT_LEAST(vl0, vl1) \ ++ (defined(AACENCODER_LIB_VL0) && \ ++ ((AACENCODER_LIB_VL0 > vl0) || \ ++ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1))) ++ + typedef struct AACContext { + const AVClass *class; + HANDLE_AACENCODER handle; +@@ -286,7 +291,11 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) + } + + avctx->frame_size = info.frameLength; ++#if FDKENC_VER_AT_LEAST(4, 0) ++ avctx->initial_padding = info.nDelay; ++#else + avctx->initial_padding = info.encoderDelay; ++#endif + ff_af_queue_init(avctx, &s->afq); + + if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) { +@@ -319,28 +328,35 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, + int out_buffer_size, out_buffer_element_size; + void *in_ptr, *out_ptr; + int ret; ++ uint8_t dummy_buf[1]; + AACENC_ERROR err; + + /* handle end-of-stream small frame and flushing */ + if (!frame) { ++ /* Must be a non-null pointer, even if it's a dummy. We could use ++ * the address of anything else on the stack as well. */ ++ in_ptr = dummy_buf; ++ in_buffer_size = 0; ++ + in_args.numInSamples = -1; + } else { +- in_ptr = frame->data[0]; +- in_buffer_size = 2 * avctx->channels * frame->nb_samples; +- in_buffer_element_size = 2; ++ in_ptr = frame->data[0]; ++ in_buffer_size = 2 * avctx->channels * frame->nb_samples; + +- in_args.numInSamples = avctx->channels * frame->nb_samples; +- in_buf.numBufs = 1; +- in_buf.bufs = &in_ptr; +- in_buf.bufferIdentifiers = &in_buffer_identifier; +- in_buf.bufSizes = &in_buffer_size; +- in_buf.bufElSizes = &in_buffer_element_size; ++ in_args.numInSamples = avctx->channels * frame->nb_samples; + + /* add current frame to the queue */ + if ((ret = ff_af_queue_add(&s->afq, frame)) < 0) + return ret; + } + ++ in_buffer_element_size = 2; ++ in_buf.numBufs = 1; ++ in_buf.bufs = &in_ptr; ++ in_buf.bufferIdentifiers = &in_buffer_identifier; ++ in_buf.bufSizes = &in_buffer_size; ++ in_buf.bufElSizes = &in_buffer_element_size; ++ + /* The maximum packet size is 6144 bits aka 768 bytes per channel. */ + if ((ret = ff_alloc_packet2(avctx, avpkt, FFMAX(8192, 768 * avctx->channels), 0)) < 0) + return ret; +-- +2.20.1 + diff --git a/bsp/buildroot/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch b/bsp/buildroot/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch new file mode 100644 index 00000000..c358a045 --- /dev/null +++ b/bsp/buildroot/package/ffmpeg/0003-libfdk-aac-Consistently-use-a-proper-version-check-m.patch @@ -0,0 +1,99 @@ +From 48be4c81e0ad081edab65e133e6e1bdec7de3b55 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Tue, 4 Sep 2018 08:29:37 +0300 +Subject: [PATCH] libfdk-aac: Consistently use a proper version check macro for + detecting features +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libfdk-aac: Consistently use a proper version check macro for detecting features + +The previous version checks checked explicitly for the version +where the version define was added to the installed headers, +making an "#ifdef AACDECODER_LIB_VL0" enough. Now that we have +a need for more diverse version checks than this, convert all checks +to such checks. + +Downloaded from +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=ffb9b7a6bab6c6bfd3dd9a7c32e3724209824999 + +Signed-off-by: Martin Storsjö +Signed-off-by: Bernd Kuhls +--- + libavcodec/libfdk-aacdec.c | 13 ++++++++----- + libavcodec/libfdk-aacenc.c | 6 +++--- + 2 files changed, 11 insertions(+), 8 deletions(-) + +diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c +index 2857b9453f..ef51184ebd 100644 +--- a/libavcodec/libfdk-aacdec.c ++++ b/libavcodec/libfdk-aacdec.c +@@ -25,9 +25,12 @@ + #include "avcodec.h" + #include "internal.h" + +-/* The version macro is introduced the same time as the setting enum was +- * changed, so this check should suffice. */ +-#ifndef AACDECODER_LIB_VL0 ++#define FDKDEC_VER_AT_LEAST(vl0, vl1) \ ++ (defined(AACDECODER_LIB_VL0) && \ ++ ((AACDECODER_LIB_VL0 > vl0) || \ ++ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1))) ++ ++#if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 + #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS + #endif + +@@ -72,7 +75,7 @@ static const AVOption fdk_aac_dec_options[] = { + OFFSET(drc_level), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 127, AD, NULL }, + { "drc_heavy", "Dynamic Range Control: heavy compression, where [1] is on (RF mode) and [0] is off", + OFFSET(drc_heavy), AV_OPT_TYPE_INT, { .i64 = -1}, -1, 1, AD, NULL }, +-#ifdef AACDECODER_LIB_VL0 ++#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 + { "level_limit", "Signal level limiting", OFFSET(level_limit), AV_OPT_TYPE_INT, { .i64 = 0 }, -1, 1, AD }, + #endif + { NULL } +@@ -293,7 +296,7 @@ static av_cold int fdk_aac_decode_init(AVCodecContext *avctx) + } + } + +-#ifdef AACDECODER_LIB_VL0 ++#if FDKDEC_VER_AT_LEAST(2, 5) // 2.5.10 + if (aacDecoder_SetParam(s->handle, AAC_PCM_LIMITER_ENABLE, s->level_limit) != AAC_DEC_OK) { + av_log(avctx, AV_LOG_ERROR, "Unable to set in signal level limiting in the decoder\n"); + return AVERROR_UNKNOWN; +diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c +index f5adb407ed..91dcb5a1b9 100644 +--- a/libavcodec/libfdk-aacenc.c ++++ b/libavcodec/libfdk-aacenc.c +@@ -156,7 +156,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) + case 6: mode = MODE_1_2_2_1; sce = 2; cpe = 2; break; + /* The version macro is introduced the same time as the 7.1 support, so this + should suffice. */ +-#ifdef AACENCODER_LIB_VL0 ++#if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 + case 8: + sce = 2; + cpe = 3; +@@ -291,7 +291,7 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) + } + + avctx->frame_size = info.frameLength; +-#if FDKENC_VER_AT_LEAST(4, 0) ++#if FDKENC_VER_AT_LEAST(4, 0) // 4.0.0 + avctx->initial_padding = info.nDelay; + #else + avctx->initial_padding = info.encoderDelay; +@@ -412,7 +412,7 @@ static const uint64_t aac_channel_layout[] = { + AV_CH_LAYOUT_4POINT0, + AV_CH_LAYOUT_5POINT0_BACK, + AV_CH_LAYOUT_5POINT1_BACK, +-#ifdef AACENCODER_LIB_VL0 ++#if FDKENC_VER_AT_LEAST(3, 4) // 3.4.12 + AV_CH_LAYOUT_7POINT1_WIDE_BACK, + AV_CH_LAYOUT_7POINT1, + #endif +-- +2.20.1 + diff --git a/bsp/buildroot/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch b/bsp/buildroot/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch new file mode 100644 index 00000000..30357b91 --- /dev/null +++ b/bsp/buildroot/package/ffmpeg/0004-libfdk-aac-Don-t-use-defined-in-a-define.patch @@ -0,0 +1,72 @@ +From 452746d80fdaaaf1b546860eb78449c6de3678d7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Wed, 12 Sep 2018 20:03:12 +0300 +Subject: [PATCH] libfdk-aac: Don't use defined() in a #define +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libfdk-aac: Don't use defined() in a #define + +MSVC expands the preprocessor directives differently, making the +version check fail in the previous form. + +Clang can warn about this with -Wexpansion-to-defined (not currently +enabled by default): +warning: macro expansion producing 'defined' has undefined behavior [-Wexpansion-to-defined] + +Downloaded from +http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=2a9e1c122eed66be1b26b747342b848300b226c7 + +Signed-off-by: Martin Storsjö +Signed-off-by: Bernd Kuhls +--- + libavcodec/libfdk-aacdec.c | 9 ++++++--- + libavcodec/libfdk-aacenc.c | 9 ++++++--- + 2 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/libavcodec/libfdk-aacdec.c b/libavcodec/libfdk-aacdec.c +index ef51184ebd..0fbab36463 100644 +--- a/libavcodec/libfdk-aacdec.c ++++ b/libavcodec/libfdk-aacdec.c +@@ -25,10 +25,13 @@ + #include "avcodec.h" + #include "internal.h" + ++#ifdef AACDECODER_LIB_VL0 + #define FDKDEC_VER_AT_LEAST(vl0, vl1) \ +- (defined(AACDECODER_LIB_VL0) && \ +- ((AACDECODER_LIB_VL0 > vl0) || \ +- (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1))) ++ ((AACDECODER_LIB_VL0 > vl0) || \ ++ (AACDECODER_LIB_VL0 == vl0 && AACDECODER_LIB_VL1 >= vl1)) ++#else ++#define FDKDEC_VER_AT_LEAST(vl0, vl1) 0 ++#endif + + #if !FDKDEC_VER_AT_LEAST(2, 5) // < 2.5.10 + #define AAC_PCM_MAX_OUTPUT_CHANNELS AAC_PCM_OUTPUT_CHANNELS +diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c +index 91dcb5a1b9..8349e56dcb 100644 +--- a/libavcodec/libfdk-aacenc.c ++++ b/libavcodec/libfdk-aacenc.c +@@ -26,10 +26,13 @@ + #include "audio_frame_queue.h" + #include "internal.h" + ++#ifdef AACENCODER_LIB_VL0 + #define FDKENC_VER_AT_LEAST(vl0, vl1) \ +- (defined(AACENCODER_LIB_VL0) && \ +- ((AACENCODER_LIB_VL0 > vl0) || \ +- (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1))) ++ ((AACENCODER_LIB_VL0 > vl0) || \ ++ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1)) ++#else ++#define FDKENC_VER_AT_LEAST(vl0, vl1) 0 ++#endif + + typedef struct AACContext { + const AVClass *class; +-- +2.20.1 + diff --git a/bsp/buildroot/package/ffmpeg/ffmpeg.hash b/bsp/buildroot/package/ffmpeg/ffmpeg.hash index 7d64d844..e00c4ec5 100644 --- a/bsp/buildroot/package/ffmpeg/ffmpeg.hash +++ b/bsp/buildroot/package/ffmpeg/ffmpeg.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 386f7601e865df6bddde05bb6927119b5a853f0b92e2e9834f59c125a17d3fc6 ffmpeg-3.4.4.tar.xz +sha256 741cbd6394eaed370774ca4cc089eaafbc54d0824b9aa360d4b3b0cbcbc4a92c ffmpeg-3.4.5.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe COPYING.LGPLv2.1 sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff LICENSE.md diff --git a/bsp/buildroot/package/ffmpeg/ffmpeg.mk b/bsp/buildroot/package/ffmpeg/ffmpeg.mk index 0b34aa0f..b86d465d 100644 --- a/bsp/buildroot/package/ffmpeg/ffmpeg.mk +++ b/bsp/buildroot/package/ffmpeg/ffmpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFMPEG_VERSION = 3.4.4 +FFMPEG_VERSION = 3.4.5 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz FFMPEG_SITE = http://ffmpeg.org/releases FFMPEG_INSTALL_STAGING = YES @@ -49,7 +49,6 @@ FFMPEG_CONF_OPTS = \ --disable-frei0r \ --disable-libopencore-amrnb \ --disable-libopencore-amrwb \ - --disable-libcdio \ --disable-libdc1394 \ --disable-libgsm \ --disable-libilbc \ @@ -203,18 +202,25 @@ else FFMPEG_CONF_OPTS += --disable-libfdk-aac endif +ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBCDIO_PARANOIA),yy) +FFMPEG_CONF_OPTS += --enable-libcdio +FFMPEG_DEPENDENCIES += libcdio-paranoia +else +FFMPEG_CONF_OPTS += --disable-libcdio +endif + ifeq ($(BR2_PACKAGE_GNUTLS),y) FFMPEG_CONF_OPTS += --enable-gnutls --disable-openssl FFMPEG_DEPENDENCIES += gnutls else FFMPEG_CONF_OPTS += --disable-gnutls -ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +ifeq ($(BR2_PACKAGE_OPENSSL),y) # openssl isn't license compatible with GPL ifeq ($(BR2_PACKAGE_FFMPEG_GPL)x$(BR2_PACKAGE_FFMPEG_NONFREE),yx) FFMPEG_CONF_OPTS += --disable-openssl else FFMPEG_CONF_OPTS += --enable-openssl -FFMPEG_DEPENDENCIES += libopenssl +FFMPEG_DEPENDENCIES += openssl endif else FFMPEG_CONF_OPTS += --disable-openssl @@ -505,10 +511,10 @@ endif # warning from ffmpeg's configure script. ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) FFMPEG_CONF_OPTS += --cpu=generic -else ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) -FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_CPU) -else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),) -FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH) +else ifneq ($(GCC_TARGET_CPU),) +FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_CPU)" +else ifneq ($(GCC_TARGET_ARCH),) +FFMPEG_CONF_OPTS += --cpu="$(GCC_TARGET_ARCH)" endif FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF)) diff --git a/bsp/buildroot/package/fftw/Config.in b/bsp/buildroot/package/fftw/Config.in index d51f8f3c..69dc6559 100644 --- a/bsp/buildroot/package/fftw/Config.in +++ b/bsp/buildroot/package/fftw/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_FFTW bool "fftw" + select BR2_PACKAGE_FFTW_DOUBLE if !BR2_PACKAGE_FFTW_SINGLE \ + && !BR2_PACKAGE_FFTW_LONG_DOUBLE && !BR2_PACKAGE_FFTW_QUAD help Library for computing Fast Fourier Transforms. @@ -12,55 +14,10 @@ config BR2_PACKAGE_FFTW if BR2_PACKAGE_FFTW -config BR2_PACKAGE_FFTW_USE_SSE - bool - -config BR2_PACKAGE_FFTW_USE_SSE2 - bool - -config BR2_PACKAGE_FFTW_USE_NEON - bool - -choice - prompt "fftw precision" - default BR2_PACKAGE_FFTW_PRECISION_DOUBLE - help - Selects fftw precision - -config BR2_PACKAGE_FFTW_PRECISION_SINGLE - bool "single" - select BR2_PACKAGE_FFTW_USE_SSE if BR2_X86_CPU_HAS_SSE - select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2 - select BR2_PACKAGE_FFTW_USE_NEON if BR2_ARM_CPU_HAS_NEON && !BR2_ARM_SOFT_FLOAT - help - Compile fftw in single precision, i.e. use 'float' for - floating point type. - -config BR2_PACKAGE_FFTW_PRECISION_DOUBLE - bool "double" - select BR2_PACKAGE_FFTW_USE_SSE2 if BR2_X86_CPU_HAS_SSE2 - help - Compile fftw in double precision (the default), i.e. use - 'double' for floating point type. - -config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE - bool "long double" - # long-double precision require long-double trigonometric routines - depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \ - (BR2_arm || BR2_mips || BR2_mipsel)) - help - Compile fftw in long double precision, i.e. use 'long double' - for floating point type. - -config BR2_PACKAGE_FFTW_PRECISION_QUAD - bool "quad" - # quad-precision needs to have a gcc with libquadmath - depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR - help - Compile fftw in quadruple precision, i.e. use '__float128' for - floating point type. - -endchoice +source "package/fftw/fftw-single/Config.in" +source "package/fftw/fftw-double/Config.in" +source "package/fftw/fftw-long-double/Config.in" +source "package/fftw/fftw-quad/Config.in" config BR2_PACKAGE_FFTW_FAST bool "optimise for speed over accuracy" diff --git a/bsp/buildroot/package/fftw/fftw-double/Config.in b/bsp/buildroot/package/fftw/fftw-double/Config.in new file mode 100644 index 00000000..cfcd1ef9 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-double/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_FFTW_DOUBLE + bool "fftw-double" + help + Compile fftw in double precision (the default), i.e. use + 'double' for floating point type. diff --git a/bsp/buildroot/package/fftw/fftw-double/fftw-double.hash b/bsp/buildroot/package/fftw/fftw-double/fftw-double.hash new file mode 120000 index 00000000..3ee7ecb3 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-double/fftw-double.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/bsp/buildroot/package/fftw/fftw-double/fftw-double.mk b/bsp/buildroot/package/fftw/fftw-double/fftw-double.mk new file mode 100644 index 00000000..4bacb26e --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-double/fftw-double.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# fftw-double +# +################################################################################ + +FFTW_DOUBLE_VERSION = $(FFTW_VERSION) +FFTW_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_DOUBLE_SITE = $(FFTW_SITE) +FFTW_DOUBLE_DL_SUBDIR = fftw +FFTW_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_DOUBLE_LICENSE = $(FFTW_LICENSE) +FFTW_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_DOUBLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_DOUBLE_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_COMMON_CFLAGS)" \ + $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2 + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/fftw/fftw-long-double/Config.in b/bsp/buildroot/package/fftw/fftw-long-double/Config.in new file mode 100644 index 00000000..3ee17628 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-long-double/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_FFTW_LONG_DOUBLE + bool "fftw-long-double" + # long-double precision require long-double trigonometric routines + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && \ + (BR2_arm || BR2_mips || BR2_mipsel)) + help + Compile fftw in long double precision, i.e. use 'long double' + for floating point type. diff --git a/bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.hash b/bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.hash new file mode 120000 index 00000000..3ee7ecb3 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.mk b/bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.mk new file mode 100644 index 00000000..17305044 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-long-double/fftw-long-double.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# fftw-long-double +# +################################################################################ + +FFTW_LONG_DOUBLE_VERSION = $(FFTW_VERSION) +FFTW_LONG_DOUBLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_LONG_DOUBLE_SITE = $(FFTW_SITE) +FFTW_LONG_DOUBLE_DL_SUBDIR = fftw +FFTW_LONG_DOUBLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_LONG_DOUBLE_LICENSE = $(FFTW_LICENSE) +FFTW_LONG_DOUBLE_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_LONG_DOUBLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_LONG_DOUBLE_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_COMMON_CFLAGS)" \ + --enable-long-double + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/fftw/fftw-quad/Config.in b/bsp/buildroot/package/fftw/fftw-quad/Config.in new file mode 100644 index 00000000..10d296df --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-quad/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_FFTW_QUAD + bool "fftw-quad" + # quad-precision needs to have a gcc with libquadmath + depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR + help + Compile fftw in quadruple precision, i.e. use '__float128' for + floating point type. diff --git a/bsp/buildroot/package/fftw/fftw-quad/fftw-quad.hash b/bsp/buildroot/package/fftw/fftw-quad/fftw-quad.hash new file mode 120000 index 00000000..3ee7ecb3 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-quad/fftw-quad.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/bsp/buildroot/package/fftw/fftw-quad/fftw-quad.mk b/bsp/buildroot/package/fftw/fftw-quad/fftw-quad.mk new file mode 100644 index 00000000..5ff79b1d --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-quad/fftw-quad.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# fftw-quad +# +################################################################################ + +FFTW_QUAD_VERSION = $(FFTW_VERSION) +FFTW_QUAD_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_QUAD_SITE = $(FFTW_SITE) +FFTW_QUAD_DL_SUBDIR = fftw +FFTW_QUAD_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_QUAD_LICENSE = $(FFTW_LICENSE) +FFTW_QUAD_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_QUAD_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_QUAD_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_COMMON_CFLAGS)" \ + --enable-quad-precision + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/fftw/fftw-single/Config.in b/bsp/buildroot/package/fftw/fftw-single/Config.in new file mode 100644 index 00000000..ff148687 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-single/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_FFTW_SINGLE + bool "fftw-single" + help + Compile fftw in single precision, i.e. use 'float' + for floating point type. diff --git a/bsp/buildroot/package/fftw/fftw-single/fftw-single.hash b/bsp/buildroot/package/fftw/fftw-single/fftw-single.hash new file mode 120000 index 00000000..3ee7ecb3 --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-single/fftw-single.hash @@ -0,0 +1 @@ +../fftw.hash \ No newline at end of file diff --git a/bsp/buildroot/package/fftw/fftw-single/fftw-single.mk b/bsp/buildroot/package/fftw/fftw-single/fftw-single.mk new file mode 100644 index 00000000..1e26ff7a --- /dev/null +++ b/bsp/buildroot/package/fftw/fftw-single/fftw-single.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# fftw-single +# +################################################################################ + +FFTW_SINGLE_VERSION = $(FFTW_VERSION) +FFTW_SINGLE_SOURCE = fftw-$(FFTW_VERSION).tar.gz +FFTW_SINGLE_SITE = $(FFTW_SITE) +FFTW_SINGLE_DL_SUBDIR = fftw +FFTW_SINGLE_INSTALL_STAGING = $(FFTW_INSTALL_STAGING) +FFTW_SINGLE_LICENSE = $(FFTW_LICENSE) +FFTW_SINGLE_LICENSE_FILES = $(FFTW_LICENSE_FILES) + +FFTW_SINGLE_CONF_ENV = $(FFTW_COMMON_CONF_ENV) + +FFTW_SINGLE_CONF_OPTS = \ + $(FFTW_COMMON_CONF_OPTS) \ + CFLAGS="$(FFTW_SINGLE_CFLAGS)" \ + --enable-single + +FFTW_SINGLE_CFLAGS = $(FFTW_COMMON_CFLAGS) + +# x86 optimisations +FFTW_SINGLE_CONF_OPTS += \ + $(if $(BR2_X86_CPU_HAS_SSE),--enable,--disable)-sse \ + $(if $(BR2_X86_CPU_HAS_SSE2),--enable,--disable)-sse2 + +# ARM optimisations +ifeq ($(BR2_ARM_CPU_HAS_NEON):$(BR2_ARM_SOFT_FLOAT),y:) +FFTW_SINGLE_CONF_OPTS += --enable-neon +FFTW_SINGLE_CFLAGS += -mfpu=neon +else +FFTW_SINGLE_CONF_OPTS += --disable-neon +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/fftw/fftw.hash b/bsp/buildroot/package/fftw/fftw.hash index faf4b904..1c4a17d8 100644 --- a/bsp/buildroot/package/fftw/fftw.hash +++ b/bsp/buildroot/package/fftw/fftw.hash @@ -1,5 +1,5 @@ -# From http://www.fftw.org/fftw-3.3.7.tar.gz.md5sum -md5 0d5915d7d39b3253c1cc05030d79ac47 fftw-3.3.7.tar.gz +# From http://www.fftw.org/fftw-3.3.8.tar.gz.md5sum +md5 8aac833c943d8e90d51b697b27d4384d fftw-3.3.8.tar.gz # Locally computed -sha256 3b609b7feba5230e8f6dd8d245ddbefac324c5a6ae4186947670d9ac2cd25573 fftw-3.3.7.tar.gz +sha256 6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303 fftw-3.3.7.tar.gz sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/bsp/buildroot/package/fftw/fftw.mk b/bsp/buildroot/package/fftw/fftw.mk index b3aa4b6b..bcfdb9c9 100644 --- a/bsp/buildroot/package/fftw/fftw.mk +++ b/bsp/buildroot/package/fftw/fftw.mk @@ -4,7 +4,7 @@ # ################################################################################ -FFTW_VERSION = 3.3.7 +FFTW_VERSION = 3.3.8 FFTW_SITE = http://www.fftw.org FFTW_INSTALL_STAGING = YES FFTW_LICENSE = GPL-2.0+ @@ -12,38 +12,25 @@ FFTW_LICENSE_FILES = COPYING # fortran support only enables generation and installation of fortran sources ifeq ($(BR2_TOOLCHAIN_HAS_FORTRAN),y) -FFTW_CONF_OPTS += --enable-fortran -FFTW_CONF_ENV += FLIBS="-lgfortran -lm" +FFTW_COMMON_CONF_OPTS += --enable-fortran +FFTW_COMMON_CONF_ENV += FLIBS="-lgfortran -lm" else -FFTW_CONF_OPTS += --disable-fortran +FFTW_COMMON_CONF_OPTS += --disable-fortran endif -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_SINGLE),--enable,--disable)-single -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE),--enable,--disable)-long-double -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_PRECISION_QUAD),--enable,--disable)-quad-precision +FFTW_COMMON_CFLAGS = $(TARGET_CFLAGS) -FFTW_CFLAGS = $(TARGET_CFLAGS) ifeq ($(BR2_PACKAGE_FFTW_FAST),y) -FFTW_CFLAGS += -O3 -ffast-math +FFTW_COMMON_CFLAGS += -O3 -ffast-math endif -# x86 optimisations -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE),--enable,--disable)-sse -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_SSE2),--enable,--disable)-sse2 - -# ARM optimisations -FFTW_CONF_OPTS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),--enable,--disable)-neon -FFTW_CFLAGS += $(if $(BR2_PACKAGE_FFTW_USE_NEON),-mfpu=neon) - # Generic optimisations ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) -FFTW_CONF_OPTS += --enable-threads -FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads +FFTW_COMMON_CONF_OPTS += --enable-threads +FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--without,--with)-combined-threads else -FFTW_CONF_OPTS += --disable-threads +FFTW_COMMON_CONF_OPTS += --disable-threads endif -FFTW_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp +FFTW_COMMON_CONF_OPTS += $(if $(BR2_GCC_ENABLE_OPENMP),--enable,--disable)-openmp -FFTW_CONF_OPTS += CFLAGS="$(FFTW_CFLAGS)" - -$(eval $(autotools-package)) +include $(sort $(wildcard package/fftw/*/*.mk)) diff --git a/bsp/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch b/bsp/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch deleted file mode 100644 index daff8666..00000000 --- a/bsp/buildroot/package/file/0001-Avoid-reading-past-the-end-of-buffer-Rui-Reis.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a642587a9c9e2dd7feacdf513c3643ce26ad3c22 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Sat, 9 Jun 2018 16:00:06 +0000 -Subject: [PATCH] Avoid reading past the end of buffer (Rui Reis) - -[baruch: drop file version string update hunk] -Signed-off-by: Baruch Siach ---- -Upstream status: commit a642587a9c9 in github mirror - - src/readelf.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 79c83f9f5048..1f41b46113c3 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -842,7 +842,8 @@ do_core_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - - cname = (unsigned char *) - &nbuf[doff + prpsoffsets(i)]; -- for (cp = cname; *cp && isprint(*cp); cp++) -+ for (cp = cname; cp < nbuf + size && *cp -+ && isprint(*cp); cp++) - continue; - /* - * Linux apparently appends a space at the end --- -2.17.1 - diff --git a/bsp/buildroot/package/file/file.hash b/bsp/buildroot/package/file/file.hash index a6b40be3..c279dff6 100644 --- a/bsp/buildroot/package/file/file.hash +++ b/bsp/buildroot/package/file/file.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 1c52c8c3d271cd898d5511c36a68059cda94036111ab293f01f83c3525b737c6 file-5.33.tar.gz +sha256 f15a50dbbfa83fec0bd1161e8e191b092ec832720e30cd14536e044ac623b20a file-5.34.tar.gz sha256 3c0ad13c36f891a9b4f951e59eb2fc108065a46f849697cc6fd3cdb41cc23a3d COPYING sha256 d98ee4d8d95e7d021a5dfc41f137ecc3b624a7b98e8bd793130202d12a21ed57 src/mygetopt.h sha256 85e358d575ad4ac5b38b623a25b24246ccff3c7e680d930c0a9ff5228fe434b6 src/vasprintf.c diff --git a/bsp/buildroot/package/file/file.mk b/bsp/buildroot/package/file/file.mk index 1f04dad6..b5b12978 100644 --- a/bsp/buildroot/package/file/file.mk +++ b/bsp/buildroot/package/file/file.mk @@ -4,7 +4,7 @@ # ################################################################################ -FILE_VERSION = 5.33 +FILE_VERSION = 5.34 FILE_SITE = ftp://ftp.astron.com/pub/file FILE_DEPENDENCIES = host-file zlib HOST_FILE_DEPENDENCIES = host-zlib diff --git a/bsp/buildroot/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch b/bsp/buildroot/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch new file mode 100644 index 00000000..ebb4d38a --- /dev/null +++ b/bsp/buildroot/package/findutils/0001-mountlist-include-sysmacros-h-for-glibc.patch @@ -0,0 +1,81 @@ +From 4da63c5881f60f71999a943612da9112232b9161 Mon Sep 17 00:00:00 2001 +From: Eric Blake +Date: Wed, 14 Sep 2016 19:21:42 -0500 +Subject: [PATCH] mountlist: include sysmacros.h for glibc + +On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist' +reports: +../../gllib/mountlist.c: In function 'read_file_system_list': +../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated: + In the GNU C Library, `makedev' is defined by . + For historical compatibility, it is currently defined by + as well, but we plan to remove this soon. + To use `makedev', include directly. + If you did not intend to use a system-defined macro `makedev', + you should #undef it after including . + [-Wdeprecated-declarations] + me->me_dev = makedev (devmaj, devmin); + ^~ +In file included from /usr/include/features.h:397:0, + from /usr/include/sys/types.h:25, + from ./sys/types.h:28, + from ../../gllib/mountlist.h:23, + from ../../gllib/mountlist.c:20: +/usr/include/sys/sysmacros.h:89:1: note: declared here + __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL) + ^ + +Fix it by including the right headers. We also need a fix to +autoconf's AC_HEADER_MAJOR, but that's a separate patch. + +* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include +AC_HEADER_MAJOR. +* lib/mountlist.c (includes): Use correct headers. + +Signed-off-by: Eric Blake + +Signed-off-by: Fabrice Fontaine +[Backported on version 4.6 after being retrieved from +http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=patch;h=4da63c58] +--- + gl/lib/mountlist.c | 6 ++++++ + m4/mountlist.m4 | 3 ++- + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/gl/lib/mountlist.c b/lib/mountlist.c +index bb4e4ee..cf4020e 100644 +--- a/gl/lib/mountlist.c ++++ b/gl/lib/mountlist.c +@@ -37,6 +37,12 @@ + # include + #endif + ++#if MAJOR_IN_MKDEV ++# include ++#elif MAJOR_IN_SYSMACROS ++# include ++#endif ++ + #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */ + # if HAVE_SYS_UCRED_H + # include /* needed on OSF V4.0 for definition of NGROUPS, +diff --git a/m4/mountlist.m4 b/m4/mountlist.m4 +index 2e2ca37..b6724fa 100644 +--- a/gl/m4/mountlist.m4 ++++ b/gl/m4/mountlist.m4 +@@ -1,4 +1,4 @@ +-# serial 11 ++# serial 12 + dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc. + dnl This file is free software; the Free Software Foundation + dnl gives unlimited permission to copy and/or distribute it, +@@ -15,5 +15,6 @@ AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], + [ + dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h. + AC_CHECK_HEADERS([sys/mntent.h]) ++ AC_HEADER_MAJOR()dnl for use of makedev () + gl_FSTYPENAME + ]) +-- +1.9.1 + diff --git a/bsp/buildroot/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch b/bsp/buildroot/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch new file mode 100644 index 00000000..3144f5e3 --- /dev/null +++ b/bsp/buildroot/package/findutils/0002-fflush-adjust-to-glibc-2-28-libio-h-removal.patch @@ -0,0 +1,152 @@ +From 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 5 Mar 2018 10:56:29 -0800 +Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Problem reported by Daniel P. Berrangé in: +https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html +* lib/fbufmode.c (fbufmode): +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpending.c (__fpending): +* lib/fpurge.c (fpurge): +* lib/freadable.c (freadable): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/freadptr.c (freadptr): +* lib/freadseek.c (freadptrinc): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +* lib/fwritable.c (fwritable): +* lib/fwriting.c (fwriting): +Check _IO_EOF_SEEN instead of _IO_ftrylockfile. +* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: +Define if not already defined. + +Signed-off-by: Fabrice Fontaine +[Backported in version 4.6 after being retrieved from +http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=patch;h=4af4a4a7] +--- + gl/lib/fflush.c | 6 +++--- + gl/lib/fpurge.c | 2 +- + gl/lib/freadahead.c | 2 +- + gl/lib/freading.c | 2 +- + gl/lib/fseeko.c | 4 ++-- + gl/lib/stdio-impl.h | 6 ++++++ + 6 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/gl/lib/fflush.c b/gl/lib/fflush.c +index 983ade0..a6edfa1 100644 +--- a/gl/lib/fflush.c ++++ b/gl/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +diff --git a/gl/lib/fpurge.c b/gl/lib/fpurge.c +index b1d417c..3aedcc3 100644 +--- a/gl/lib/fpurge.c ++++ b/gl/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +diff --git a/gl/lib/freadahead.c b/gl/lib/freadahead.c +index c2ecb5b..23ec76e 100644 +--- a/gl/lib/freadahead.c ++++ b/gl/lib/freadahead.c +@@ -30,7 +30,7 @@ extern size_t __sreadahead (FILE *); + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +diff --git a/gl/lib/freading.c b/gl/lib/freading.c +index 73c28ac..c24d0c8 100644 +--- a/gl/lib/freading.c ++++ b/gl/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +diff --git a/gl/lib/fseeko.c b/gl/lib/fseeko.c +index 0101ab5..193f4e8 100644 +--- a/gl/lib/fseeko.c ++++ b/gl/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence) + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence) + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +diff --git a/gl/lib/stdio-impl.h b/gl/lib/stdio-impl.h +index 78d896e..05c5752 100644 +--- a/gl/lib/stdio-impl.h ++++ b/gl/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + +-- +1.9.1 + diff --git a/bsp/buildroot/package/findutils/findutils.mk b/bsp/buildroot/package/findutils/findutils.mk index 6ca00629..b0a2ea8c 100644 --- a/bsp/buildroot/package/findutils/findutils.mk +++ b/bsp/buildroot/package/findutils/findutils.mk @@ -12,5 +12,7 @@ FINDUTILS_CONF_ENV = \ gl_cv_func_stdin=yes \ ac_cv_func_working_mktime=yes \ gl_cv_func_wcwidth_works=yes +# 0001-mountlist-include-sysmacros-h-for-glibc.patch +FINDUTILS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/fio/fio.hash b/bsp/buildroot/package/fio/fio.hash index d136fd59..e7eea582 100644 --- a/bsp/buildroot/package/fio/fio.hash +++ b/bsp/buildroot/package/fio/fio.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 1952db4d534221e6e8454f851dfcc38328b0ed4a3f499ea25a51ca2b5ccc8136 fio-fio-2.20.tar.gz -sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING +sha256 b4009bf4f9ddbb4e8c72b2316f91dcf83e476e7a1132b0318c226d945a6d8247 fio-fio-3.9.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 8a240c1ad13d1fe3e58588643d81d0695899be4a669fe6d8fafa76ca6a89db2c MORAL-LICENSE diff --git a/bsp/buildroot/package/fio/fio.mk b/bsp/buildroot/package/fio/fio.mk index aabdff99..34e24e55 100644 --- a/bsp/buildroot/package/fio/fio.mk +++ b/bsp/buildroot/package/fio/fio.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIO_VERSION = fio-2.20 +FIO_VERSION = fio-3.9 FIO_SITE = git://git.kernel.dk/fio.git FIO_LICENSE = GPL-2.0 FIO_LICENSE_FILES = COPYING MORAL-LICENSE diff --git a/bsp/buildroot/package/flannel/flannel.mk b/bsp/buildroot/package/flannel/flannel.mk index bbb2c72a..d00d2df9 100644 --- a/bsp/buildroot/package/flannel/flannel.mk +++ b/bsp/buildroot/package/flannel/flannel.mk @@ -11,36 +11,12 @@ FLANNEL_SOURCE = $(FLANNEL_VERSION).tar.gz FLANNEL_LICENSE = Apache-2.0 FLANNEL_LICENSE_FILES = LICENSE -FLANNEL_DEPENDENCIES = host-go - -FLANNEL_MAKE_ENV = \ - $(HOST_GO_TARGET_ENV) \ - GOBIN="$(@D)/bin" \ - GOPATH="$(@D)/gopath" \ - CGO_ENABLED=1 - -FLANNEL_GLDFLAGS = \ - -X github.com/coreos/flannel/version.Version=$(FLANNEL_VERSION) - -ifeq ($(BR2_STATIC_LIBS),y) -FLANNEL_GLDFLAGS += -extldflags '-static' -endif - -define FLANNEL_CONFIGURE_CMDS - # Put sources at prescribed GOPATH location. - mkdir -p $(@D)/gopath/src/github.com/coreos - ln -s $(@D) $(@D)/gopath/src/github.com/coreos/flannel -endef - -define FLANNEL_BUILD_CMDS - cd $(@D) && $(FLANNEL_MAKE_ENV) $(HOST_DIR)/bin/go \ - build -v -o $(@D)/bin/flanneld -ldflags "$(FLANNEL_GLDFLAGS)" . -endef +FLANNEL_LDFLAGS = -X github.com/coreos/flannel/version.Version=$(FLANNEL_VERSION) +# Install flannel to its well known location. define FLANNEL_INSTALL_TARGET_CMDS - # Install flannel to its well known location. - $(INSTALL) -D -m 0755 $(@D)/bin/flanneld $(TARGET_DIR)/opt/bin/flanneld + $(INSTALL) -D -m 0755 $(@D)/bin/flannel $(TARGET_DIR)/opt/bin/flanneld $(INSTALL) -D -m 0755 $(@D)/dist/mk-docker-opts.sh $(TARGET_DIR)/opt/bin/mk-docker-opts.sh endef -$(eval $(generic-package)) +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/flare-engine/Config.in b/bsp/buildroot/package/flare-engine/Config.in new file mode 100644 index 00000000..e299a6b7 --- /dev/null +++ b/bsp/buildroot/package/flare-engine/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_FLARE_ENGINE + bool "flare-engine" + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # SDL2 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 + select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SDL2_IMAGE + select BR2_PACKAGE_SDL2_MIXER + select BR2_PACKAGE_SDL2_TTF + help + Flare (Free Libre Action Roleplaying Engine) is a simple game + engine built to handle a very specific kind of game: + single-player 2D action RPGs. + Flare is not a reimplementation of an existing game or engine. + It is a tribute to and exploration of the action RPG genre. + + http://flarerpg.org + +comment "flare-engine needs a toolchain w/ C++, dynamic library" + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS + +comment "flare-engine needs a toolchain not affected by GCC bug 85180" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180 diff --git a/bsp/buildroot/package/flare-engine/flare-engine.hash b/bsp/buildroot/package/flare-engine/flare-engine.hash new file mode 100644 index 00000000..8c6fc3ab --- /dev/null +++ b/bsp/buildroot/package/flare-engine/flare-engine.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 4bbd4674513b643be6294188904665c53f0ef2912e803212c05e8fd22a44d74d flare-engine-v1.0.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/flare-engine/flare-engine.mk b/bsp/buildroot/package/flare-engine/flare-engine.mk new file mode 100644 index 00000000..2f366023 --- /dev/null +++ b/bsp/buildroot/package/flare-engine/flare-engine.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# flare-engine +# +################################################################################ + +FLARE_ENGINE_VERSION = v1.0 +FLARE_ENGINE_SITE = $(call github,clintbellanger,flare-engine,$(FLARE_ENGINE_VERSION)) +FLARE_ENGINE_LICENSE = GPL-3.0+ +FLARE_ENGINE_LICENSE_FILES = COPYING + +FLARE_ENGINE_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer sdl2_ttf + +# Don't use /usr/games and /usr/share/games +FLARE_ENGINE_CONF_OPTS += -DBINDIR=bin -DDATADIR=share/flare + +# Don't use the default Debug type as it adds -pg (gprof) +ifeq ($(BR2_ENABLE_DEBUG),y) +FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/flare-game/Config.in b/bsp/buildroot/package/flare-game/Config.in new file mode 100644 index 00000000..ca68d19a --- /dev/null +++ b/bsp/buildroot/package/flare-game/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_FLARE_GAME + bool "flare-game" + depends on BR2_PACKAGE_FLARE_ENGINE + help + Flare is an open source, 2D action RPG licensed under the + GPL3 license. Its game play can be likened to the games in + the Diablo series. + + This package, flare-game, only contains the game data. The + game engine itself is part of a separate package, + flame-engine. + + http://flarerpg.org diff --git a/bsp/buildroot/package/flare-game/flare-game.hash b/bsp/buildroot/package/flare-game/flare-game.hash new file mode 100644 index 00000000..a27c66d9 --- /dev/null +++ b/bsp/buildroot/package/flare-game/flare-game.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 5c8e9d72fcbe59f1861f79ac7b76ceffe3ec61d1df241c32d9133fe158fba4c1 flare-game-v1.0.tar.gz +sha256 9fce5eb663f136449e11293a871ed96db5ba579116a927fc6a70dd20a4a5b9e6 README diff --git a/bsp/buildroot/package/flare-game/flare-game.mk b/bsp/buildroot/package/flare-game/flare-game.mk new file mode 100644 index 00000000..89750d99 --- /dev/null +++ b/bsp/buildroot/package/flare-game/flare-game.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# flare-game +# +################################################################################ + +FLARE_GAME_VERSION = v1.0 +FLARE_GAME_SITE = $(call github,clintbellanger,flare-game,$(FLARE_GAME_VERSION)) +FLARE_GAME_LICENSE = CC-BY-SA-3.0 (data files), GPL-2.0 (GNU Unifont), \ + OFL-1.1 (Liberation Sans) +FLARE_GAME_LICENSE_FILES = README + +FLARE_GAME_DEPENDENCIES = flare-engine + +# Don't use /usr/share/games +FLARE_GAME_CONF_OPTS += -DDATADIR=share/flare + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/flashrom/flashrom.hash b/bsp/buildroot/package/flashrom/flashrom.hash index 64b67b99..3a68e8ac 100644 --- a/bsp/buildroot/package/flashrom/flashrom.hash +++ b/bsp/buildroot/package/flashrom/flashrom.hash @@ -1,2 +1,4 @@ -# Locally computed -sha256 cb3156b0f63eb192024b76c0814135930297aac41f80761a5d293de769783c45 flashrom-0.9.9.tar.bz2 +# Locally computed after checking pgp signature +# https://download.flashrom.org/releases/flashrom-1.0.tar.bz2.asc +sha256 3702fa215ba5fb5af8e54c852d239899cfa1389194c1e51cb2a170c4dc9dee64 flashrom-1.0.tar.bz2 +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/flashrom/flashrom.mk b/bsp/buildroot/package/flashrom/flashrom.mk index f9ab6294..70f47b5a 100644 --- a/bsp/buildroot/package/flashrom/flashrom.mk +++ b/bsp/buildroot/package/flashrom/flashrom.mk @@ -4,9 +4,9 @@ # ################################################################################ -FLASHROM_VERSION = 0.9.9 +FLASHROM_VERSION = 1.0 FLASHROM_SOURCE = flashrom-$(FLASHROM_VERSION).tar.bz2 -FLASHROM_SITE = http://download.flashrom.org/releases +FLASHROM_SITE = https://download.flashrom.org/releases FLASHROM_DEPENDENCIES = pciutils libusb libusb-compat libftdi host-pkgconf FLASHROM_LICENSE = GPL-2.0+ FLASHROM_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/flatbuffers/flatbuffers.hash b/bsp/buildroot/package/flatbuffers/flatbuffers.hash index bd39ca38..a8f23f4e 100644 --- a/bsp/buildroot/package/flatbuffers/flatbuffers.hash +++ b/bsp/buildroot/package/flatbuffers/flatbuffers.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 c45029c0a0f1a88d416af143e34de96b3091642722aa2d8c090916c6d1498c2e flatbuffers-v1.8.0.tar.gz +sha256 5ca5491e4260cacae30f1a5786d109230db3f3a6e5a0eb45d0d0608293d247e3 flatbuffers-v1.9.0.tar.gz sha256 7ec9661a8afafab1eee3523d6f1a193eff76314a5ab10b4ce96aefd87621b0c3 LICENSE.txt diff --git a/bsp/buildroot/package/flatbuffers/flatbuffers.mk b/bsp/buildroot/package/flatbuffers/flatbuffers.mk index 2b640ecc..26d93078 100644 --- a/bsp/buildroot/package/flatbuffers/flatbuffers.mk +++ b/bsp/buildroot/package/flatbuffers/flatbuffers.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLATBUFFERS_VERSION = v1.8.0 +FLATBUFFERS_VERSION = v1.9.0 FLATBUFFERS_SITE = $(call github,google,flatbuffers,$(FLATBUFFERS_VERSION)) FLATBUFFERS_LICENSE = Apache-2.0 FLATBUFFERS_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch b/bsp/buildroot/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch new file mode 100644 index 00000000..7d76d6ca --- /dev/null +++ b/bsp/buildroot/package/flatcc/0001-CMakeLists.txt-conditionally-require-C-based-on-FLAT.patch @@ -0,0 +1,56 @@ +From 878d51187bbc1ad490b4cd15e3741bc0bd11b6b2 Mon Sep 17 00:00:00 2001 +From: Joel Carlson +Date: Thu, 6 Sep 2018 14:53:20 -0600 +Subject: [PATCH] CMakeLists.txt: conditionally require C++ based on + FLATCC_TEST (#94) + +C++ is only used when building the tests, so only include it as a +language via project() when FLATCC_TEST is enabled. This allows +toolchains that don't have C++ to build flatcc. + +Signed-off-by: Joel Carlson +--- +Upstream commit 878d51187bbc1ad490b4cd15e3741bc0bd11b6b2 +--- + CMakeLists.txt | 18 ++++++++++++------ + 1 file changed, 12 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b39a3d1..5df5161 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4,7 +4,18 @@ + #cmake_minimum_required (VERSION 2.8.11) + cmake_minimum_required (VERSION 2.8) + +-project (FlatCC C CXX) ++# Disable build of tests and samples. Due to custom build step ++# dependency on flatcc tool, some custom build configurations may ++# experience issues, and this option can then help. ++option(FLATCC_TEST "enable tests" ON) ++ ++# Conditionally set project languages based on FLATCC_TEST, as C++ is ++# only necessary if building the tests. ++if (FLATCC_TEST) ++ project (FlatCC C CXX) ++else() ++ project (FlatCC C) ++endif() + + # + # NOTE: when changing build options, clean the build using on of: +@@ -35,11 +46,6 @@ option(FLATCC_RTONLY "enable build of runtime library only" OFF) + # cmake -DBUILD_SHARED_LIBS=on can override. + option(FLATCC_INSTALL "enable build of runtime library only" OFF) + +-# Disable build of tests and samples. Due to custom build step +-# dependency on flatcc tool, some custom build configurations may +-# experience issues, and this option can then help. +-option(FLATCC_TEST "enable tests" ON) +- + # Use with debug build with testing enabled only. Enables generation + # of coverage information during build and run. Adds target "coverage" + # which collects data and makes HTML report in build directory +-- +2.7.4 + diff --git a/bsp/buildroot/package/flatcc/Config.in b/bsp/buildroot/package/flatcc/Config.in new file mode 100644 index 00000000..6273f2b5 --- /dev/null +++ b/bsp/buildroot/package/flatcc/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_FLATCC + bool "flatcc" + help + flatcc is C language implementation of Google Flatbuffers. It + consists of both a library for the target as well as a + flatbuffer compiler tool for the host. + + https://github.com/dvidelabs/flatcc diff --git a/bsp/buildroot/package/flatcc/flatcc.hash b/bsp/buildroot/package/flatcc/flatcc.hash new file mode 100644 index 00000000..b5172504 --- /dev/null +++ b/bsp/buildroot/package/flatcc/flatcc.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 02dac93d3daf8d0a290aa8711a9b8a53f047436ec5331adb1972389061ec6615 flatcc-v0.5.2.tar.gz +sha256 c8f0d9c1f92c658d87ebd854ee7447a3d3912d2c3a5c78c117787be5d5da8af3 LICENSE diff --git a/bsp/buildroot/package/flatcc/flatcc.mk b/bsp/buildroot/package/flatcc/flatcc.mk new file mode 100644 index 00000000..1c8d0ec7 --- /dev/null +++ b/bsp/buildroot/package/flatcc/flatcc.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# FLATCC +# +################################################################################ + +FLATCC_VERSION = v0.5.2 +FLATCC_SITE = $(call github,dvidelabs,flatcc,$(FLATCC_VERSION)) +FLATCC_LICENSE = Apache-2.0 +FLATCC_LICENSE_FILES = LICENSE +FLATCC_INSTALL_STAGING = YES +FLATCC_DEPENDENCIES = host-flatcc + +# Disable build of tests and samples +FLATCC_CONF_OPTS += -DFLATCC_TEST=OFF +HOST_FLATCC_CONF_OPTS += -DFLATCC_TEST=OFF + +# Enable install targets +FLATCC_CONF_OPTS += -DFLATCC_INSTALL=ON +HOST_FLATCC_CONF_OPTS += -DFLATCC_INSTALL=ON + +# compiler is named flatcc or flatcc_d depending on BR2_ENABLE_DEBUG value +define FLATCC_TARGET_REMOVE_FLATCC_COMPILER + rm $(TARGET_DIR)/usr/bin/flatcc* +endef + +FLATCC_POST_INSTALL_TARGET_HOOKS += FLATCC_TARGET_REMOVE_FLATCC_COMPILER + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/bsp/buildroot/package/fmt/fmt.hash b/bsp/buildroot/package/fmt/fmt.hash index 47087a41..78665d2f 100644 --- a/bsp/buildroot/package/fmt/fmt.hash +++ b/bsp/buildroot/package/fmt/fmt.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 35300a0d356529447a79ed5ccf419239d8b34f916e5d4625f046fd37afa3650a fmt-4.0.0.tar.gz +sha256 73d4cab4fa8a3482643d8703de4d9522d7a56981c938eca42d929106ff474b44 fmt-5.1.0.tar.gz +sha256 560d39617dfb4b4e4088597291a070ed6c3a8d67668114ed475c673430c3e49a LICENSE.rst diff --git a/bsp/buildroot/package/fmt/fmt.mk b/bsp/buildroot/package/fmt/fmt.mk index c47b03e8..39fd7e22 100644 --- a/bsp/buildroot/package/fmt/fmt.mk +++ b/bsp/buildroot/package/fmt/fmt.mk @@ -4,7 +4,7 @@ # ################################################################################ -FMT_VERSION = 4.0.0 +FMT_VERSION = 5.1.0 FMT_SITE = $(call github,fmtlib,fmt,$(FMT_VERSION)) FMT_LICENSE = BSD-2-Clause FMT_LICENSE_FILES = LICENSE.rst diff --git a/bsp/buildroot/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch b/bsp/buildroot/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch new file mode 100644 index 00000000..bf04bd95 --- /dev/null +++ b/bsp/buildroot/package/fontconfig/0001-Fix-the-build-issue-with-enable-static.patch @@ -0,0 +1,133 @@ +From 8208f99fa1676c42bfd8d74de3e9dac5366c150c Mon Sep 17 00:00:00 2001 +From: Akira TAGOH +Date: Mon, 3 Sep 2018 04:56:16 +0000 +Subject: [PATCH] Fix the build issue with --enable-static + +Fixes https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/109 +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/8208f99fa1676c42bfd8d74de3e9dac5366c150c] +--- + doc/fcstring.fncs | 12 ++++++++++++ + fontconfig/fontconfig.h | 4 ++++ + src/fcint.h | 4 ---- + test/test-bz106632.c | 35 ++++++++++++----------------------- + 4 files changed, 28 insertions(+), 27 deletions(-) + +diff --git a/doc/fcstring.fncs b/doc/fcstring.fncs +index 0412bbd..d5ec043 100644 +--- a/doc/fcstring.fncs ++++ b/doc/fcstring.fncs +@@ -223,6 +223,18 @@ This is just a wrapper around free(3) which helps track memory usage of + strings within the fontconfig library. + @@ + ++@RET@ FcChar8 * ++@FUNC@ FcStrBuildFilename ++@TYPE1@ const FcChar8 * @ARG1@ path ++@TYPE2@ ... ++@PURPOSE@ Concatenate strings as a file path ++@DESC@ ++Creates a filename from the given elements of strings as file paths ++and concatenate them with the appropriate file separator. ++Arguments must be null-terminated. ++This returns a newly-allocated memory which should be freed when no longer needed. ++@@ ++ + @RET@ FcChar8 * + @FUNC@ FcStrDirname + @TYPE1@ const FcChar8 * @ARG1@ file +diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h +index bac1dda..af870d0 100644 +--- a/fontconfig/fontconfig.h ++++ b/fontconfig/fontconfig.h +@@ -1076,6 +1076,10 @@ FcUtf16Len (const FcChar8 *string, + int *nchar, + int *wchar); + ++FcPublic FcChar8 * ++FcStrBuildFilename (const FcChar8 *path, ++ ...); ++ + FcPublic FcChar8 * + FcStrDirname (const FcChar8 *file); + +diff --git a/src/fcint.h b/src/fcint.h +index de78cd8..a9d075a 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -1282,10 +1282,6 @@ FcStrUsesHome (const FcChar8 *s); + FcPrivate FcBool + FcStrIsAbsoluteFilename (const FcChar8 *s); + +-FcPrivate FcChar8 * +-FcStrBuildFilename (const FcChar8 *path, +- ...); +- + FcPrivate FcChar8 * + FcStrLastSlash (const FcChar8 *path); + +diff --git a/test/test-bz106632.c b/test/test-bz106632.c +index daa0c1e..2d67c2e 100644 +--- a/test/test-bz106632.c ++++ b/test/test-bz106632.c +@@ -25,25 +25,26 @@ + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif ++#include + #include ++#include + #include ++#include ++#include + #ifndef HAVE_STRUCT_DIRENT_D_TYPE + #include + #include +-#include + #endif +-#include "fcstr.c" +-#undef FcConfigBuildFonts +-#undef FcConfigCreate +-#undef FcConfigGetCurrent +-#undef FcConfigParseAndLoadFromMemory +-#undef FcConfigUptoDate +-#undef FcFontList +-#undef FcInitReinitialize +-#undef FcPatternCreate +-#undef FcPatternDestroy + #include + ++#ifdef _WIN32 ++# define FC_DIR_SEPARATOR '\\' ++# define FC_DIR_SEPARATOR_S "\\" ++#else ++# define FC_DIR_SEPARATOR '/' ++# define FC_DIR_SEPARATOR_S "/" ++#endif ++ + #ifdef HAVE_MKDTEMP + #define fc_mkdtemp mkdtemp + #else +@@ -154,18 +155,6 @@ unlink_dirs (const char *dir) + return ret; + } + +-FcChar8 * +-FcLangNormalize (const FcChar8 *lang) +-{ +- return NULL; +-} +- +-FcChar8 * +-FcConfigHome (void) +-{ +- return NULL; +-} +- + int + main (void) + { +-- +2.18.1 + diff --git a/bsp/buildroot/package/fontconfig/Config.in b/bsp/buildroot/package/fontconfig/Config.in index 218fdb2e..d274b063 100644 --- a/bsp/buildroot/package/fontconfig/Config.in +++ b/bsp/buildroot/package/fontconfig/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_FONTCONFIG bool "fontconfig" select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID help Fontconfig is a library for configuring and customizing font access. diff --git a/bsp/buildroot/package/fontconfig/fontconfig.hash b/bsp/buildroot/package/fontconfig/fontconfig.hash index e9963f6f..5243c096 100644 --- a/bsp/buildroot/package/fontconfig/fontconfig.hash +++ b/bsp/buildroot/package/fontconfig/fontconfig.hash @@ -1,2 +1,2 @@ -# From https://lists.freedesktop.org/archives/fontconfig/2017-July/005961.html -sha256 668293fcc4b3c59765cdee5cee05941091c0879edcc24dfec5455ef83912e45c fontconfig-2.12.4.tar.bz2 +# From https://lists.freedesktop.org/archives/fontconfig/2018-August/006324.html +sha256 f655dd2a986d7aa97e052261b36aa67b0a64989496361eca8d604e6414006741 fontconfig-2.13.1.tar.bz2 diff --git a/bsp/buildroot/package/fontconfig/fontconfig.mk b/bsp/buildroot/package/fontconfig/fontconfig.mk index 71a0b457..7387452b 100644 --- a/bsp/buildroot/package/fontconfig/fontconfig.mk +++ b/bsp/buildroot/package/fontconfig/fontconfig.mk @@ -4,12 +4,13 @@ # ################################################################################ -FONTCONFIG_VERSION = 2.12.4 +FONTCONFIG_VERSION = 2.13.1 FONTCONFIG_SITE = http://fontconfig.org/release FONTCONFIG_SOURCE = fontconfig-$(FONTCONFIG_VERSION).tar.bz2 FONTCONFIG_INSTALL_STAGING = YES -FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf -HOST_FONTCONFIG_DEPENDENCIES = host-freetype host-expat host-pkgconf host-gperf +FONTCONFIG_DEPENDENCIES = freetype expat host-pkgconf host-gperf util-linux +HOST_FONTCONFIG_DEPENDENCIES = \ + host-freetype host-expat host-pkgconf host-gperf host-util-linux FONTCONFIG_LICENSE = fontconfig license FONTCONFIG_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch b/bsp/buildroot/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch deleted file mode 100644 index fadfe117..00000000 --- a/bsp/buildroot/package/freerdp/0001-Fix-gstreamer-1.0-detection.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 368989526c32cdf9d680a397fede3cb773fa2609 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Fri, 28 Jul 2017 16:31:41 -0400 -Subject: [PATCH 1/1] Fix gstreamer-1.0 detection - -[yann.morin.1998@free.fr: backport from upstream] -Signed-off-by: "Yann E. MORIN" - ---- - cmake/FindGStreamer_1_0.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/FindGStreamer_1_0.cmake b/cmake/FindGStreamer_1_0.cmake -index 3aa8fc6dc..6fbc0ecc5 100644 ---- a/cmake/FindGStreamer_1_0.cmake -+++ b/cmake/FindGStreamer_1_0.cmake -@@ -59,7 +59,7 @@ macro(FIND_GSTREAMER_COMPONENT _component_prefix _pkgconfig_name _library) - - string(REGEX MATCH "(.*)>=(.*)" _dummy "${_pkgconfig_name}") - if ("${CMAKE_MATCH_2}" STREQUAL "") -- pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GStreamer_FIND_VERSION}") -+ pkg_check_modules(PC_${_component_prefix} "${_pkgconfig_name} >= ${GSTREAMER_1_0_MINIMUM_VERSION}") - else () - pkg_check_modules(PC_${_component_prefix} ${_pkgconfig_name}) - endif () --- -2.11.0 - diff --git a/bsp/buildroot/package/freerdp/freerdp.hash b/bsp/buildroot/package/freerdp/freerdp.hash index f54a03e9..44b7b876 100644 --- a/bsp/buildroot/package/freerdp/freerdp.hash +++ b/bsp/buildroot/package/freerdp/freerdp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 68e0e3db638a9cc00b978815d9eabedffc23f4410dcaa7a7548bb751766d5b3e freerdp-2.0.0-rc0.tar.gz +sha256 a09e338b996fada44bf1277f423240d0fa82289799e2e5dea9d9c63201554de1 freerdp-2.0.0-rc2.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/freerdp/freerdp.mk b/bsp/buildroot/package/freerdp/freerdp.mk index 0ceef576..91e4ae47 100644 --- a/bsp/buildroot/package/freerdp/freerdp.mk +++ b/bsp/buildroot/package/freerdp/freerdp.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREERDP_VERSION = 2.0.0-rc0 +FREERDP_VERSION = 2.0.0-rc2 FREERDP_SITE = $(call github,FreeRDP,FreeRDP,$(FREERDP_VERSION)) FREERDP_DEPENDENCIES = libglib2 openssl zlib FREERDP_LICENSE = Apache-2.0 @@ -77,7 +77,7 @@ FREERDP_CONF_OPTS += -DWITH_SSE2=OFF endif ifeq ($(BR2_arm)$(BR2_armeb),y) -FREERDP_CONF_OPTS += -DARM_FP_ABI=$(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +FREERDP_CONF_OPTS += -DARM_FP_ABI=$(GCC_TARGET_FLOAT_ABI) endif #--------------------------------------- diff --git a/bsp/buildroot/package/freescale-imx/Config.in b/bsp/buildroot/package/freescale-imx/Config.in index e33a90d9..95c0aab0 100644 --- a/bsp/buildroot/package/freescale-imx/Config.in +++ b/bsp/buildroot/package/freescale-imx/Config.in @@ -1,6 +1,6 @@ menuconfig BR2_PACKAGE_FREESCALE_IMX bool "Freescale i.MX libraries" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 help Those packages provide hardware acceleration for GPU or VPU, hardware optimization or some hardware tools for Freescale @@ -40,6 +40,8 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 bool "imx7d/imx7ulp" +config BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + bool "imx8m" endchoice config BR2_PACKAGE_FREESCALE_IMX_PLATFORM @@ -54,6 +56,7 @@ config BR2_PACKAGE_FREESCALE_IMX_PLATFORM default "IMX6S" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S default "IMX6UL" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6UL default "IMX7" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 + default "IMX8" if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU bool @@ -62,12 +65,18 @@ config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53 || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q +config BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + bool + default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + config BR2_PACKAGE_FREESCALE_IMX_HAS_VIV_GPU bool default y if BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q || \ BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6S || \ - BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX7 || \ + BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M +source "package/freescale-imx/imx-alsa-plugins/Config.in" source "package/freescale-imx/imx-codec/Config.in" source "package/freescale-imx/imx-kobs/Config.in" source "package/freescale-imx/imx-lib/Config.in" @@ -75,6 +84,7 @@ source "package/freescale-imx/imx-m4fwloader/Config.in" source "package/freescale-imx/imx-parser/Config.in" source "package/freescale-imx/imx-uuc/Config.in" source "package/freescale-imx/imx-vpu/Config.in" +source "package/freescale-imx/imx-vpu-hantro/Config.in" source "package/freescale-imx/imx-vpuwrap/Config.in" source "package/freescale-imx/firmware-imx/Config.in" if (BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX51 || BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX53) diff --git a/bsp/buildroot/package/freescale-imx/firmware-imx/Config.in b/bsp/buildroot/package/freescale-imx/firmware-imx/Config.in index fca280a8..56d5b807 100644 --- a/bsp/buildroot/package/freescale-imx/firmware-imx/Config.in +++ b/bsp/buildroot/package/freescale-imx/firmware-imx/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_FIRMWARE_IMX bool "firmware-imx" - depends on BR2_arm # Only relevant for i.MX + depends on BR2_arm || BR2_aarch64 # Only relevant for i.MX help Firmware blobs for the Freescale i.MX SoCs. diff --git a/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.hash b/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.hash index ca8556fa..c22ee4c1 100644 --- a/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.hash +++ b/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 3e107d83ed2367c9565250d6ff3903cc604bf4d9aa505391260ead0f51ceb8d9 firmware-imx-7.2.bin -sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a EULA -sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING +sha256 a8f099bdf786b2da1e8b43094950c033ccdbf93f1b8a93caffb912e1500cd735 firmware-imx-7.5.bin +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING diff --git a/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk b/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk index 630afcaa..f9db09da 100644 --- a/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk +++ b/bsp/buildroot/package/freescale-imx/firmware-imx/firmware-imx.mk @@ -4,7 +4,7 @@ # ################################################################################ -FIRMWARE_IMX_VERSION = 7.2 +FIRMWARE_IMX_VERSION = 7.5 FIRMWARE_IMX_SITE = $(FREESCALE_IMX_SITE) FIRMWARE_IMX_SOURCE = firmware-imx-$(FIRMWARE_IMX_VERSION).bin @@ -15,9 +15,37 @@ FIRMWARE_IMX_REDISTRIBUTE = NO FIRMWARE_IMX_BLOBS = sdma vpu define FIRMWARE_IMX_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(FIRMWARE_IMX_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(FIRMWARE_IMX_DL_DIR)/$(FIRMWARE_IMX_SOURCE)) endef +ifeq ($(BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M),y) +FIRMWARE_IMX_INSTALL_IMAGES = YES +FIRMWARE_IMX_DDRFW_DIR = $(@D)/firmware/ddr/synopsys +define FIRMWARE_IMX_PREPARE_LPDDR4_FW + $(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x8000 --gap-fill=0x0 \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_imem.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_imem_pad.bin + $(TARGET_OBJCOPY) -I binary -O binary --pad-to 0x4000 --gap-fill=0x0 \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_dmem.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_dmem_pad.bin + cat $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_imem_pad.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_dmem_pad.bin > \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_$(1)_fw.bin +endef + +define FIRMWARE_IMX_INSTALL_IMAGES_CMDS + # Create padded versions of lpddr4_pmu_* and generate lpddr4_pmu_train_fw.bin. + # lpddr4_pmu_train_fw.bin is needed when generating imx8-boot-sd.bin + # which is done in post-image script. + $(call FIRMWARE_IMX_PREPARE_LPDDR4_FW,1d) + $(call FIRMWARE_IMX_PREPARE_LPDDR4_FW,2d) + cat $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_1d_fw.bin \ + $(FIRMWARE_IMX_DDRFW_DIR)/lpddr4_pmu_train_2d_fw.bin > \ + $(BINARIES_DIR)/lpddr4_pmu_train_fw.bin + cp $(@D)/firmware/hdmi/cadence/signed_hdmi_imx8m.bin \ + $(BINARIES_DIR)/signed_hdmi_imx8m.bin +endef +else define FIRMWARE_IMX_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/lib/firmware/imx for blobdir in $(FIRMWARE_IMX_BLOBS); do \ @@ -27,5 +55,6 @@ define FIRMWARE_IMX_INSTALL_TARGET_CMDS mv $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw.nonrestricted \ $(TARGET_DIR)/lib/firmware/imx/epdc/epdc_ED060XH2C1.fw endef +endif $(eval $(generic-package)) diff --git a/bsp/buildroot/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk b/bsp/buildroot/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk index 44a6b4c7..55860737 100644 --- a/bsp/buildroot/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk +++ b/bsp/buildroot/package/freescale-imx/gpu-amd-bin-mx51/gpu-amd-bin-mx51.mk @@ -23,7 +23,7 @@ GPU_AMD_BIN_MX51_LICENSE_FILES = EULA GPU_AMD_BIN_MX51_REDISTRIBUTE = NO define GPU_AMD_BIN_MX51_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(GPU_AMD_BIN_MX51_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(GPU_AMD_BIN_MX51_DL_DIR)/$(GPU_AMD_BIN_MX51_SOURCE)) endef # Upstream headers need to be compiled with -D_LINUX. It is more convenient diff --git a/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/Config.in b/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/Config.in new file mode 100644 index 00000000..ec9b5b19 --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_IMX_ALSA_PLUGINS + bool "imx-alsa-plugins" + depends on BR2_arm # Only relevant for i.MX + depends on BR2_LINUX_KERNEL + depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib + select BR2_PACKAGE_ALSA_LIB + help + ALSA plugins specific for the Freescale i.MX platform. It + requires a kernel that includes the i.MX specific headers + to be built. + + The following plugins are provided so far: + * Rate Converter Plugin Using Freescale ASRC Hardware + Resampler (i.MX53 and most i.MX6) + +comment "imx-alsa-libs needs an imx-specific Linux kernel to be built" + depends on BR2_arm + depends on !BR2_LINUX_KERNEL + +comment "imx-alsa-libs needs a toolchain w/ threads" + depends on BR2_arm + depends on BR2_LINUX_KERNEL && !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash b/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash new file mode 100644 index 00000000..b0f47080 --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.hash @@ -0,0 +1,3 @@ +# Locally calculated: +sha256 e76a71e9166fbedeaa535fd7ebc07edc30a1e87f529ab2aa733e3603d3183ed0 imx-alsa-plugins-rel_imx_4.9.x_1.0.0_ga.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL diff --git a/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk b/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk new file mode 100644 index 00000000..9c81ff0d --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-alsa-plugins/imx-alsa-plugins.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# imx-alsa-plugins +# +################################################################################ + +IMX_ALSA_PLUGINS_VERSION = rel_imx_4.9.x_1.0.0_ga +IMX_ALSA_PLUGINS_SITE = https://source.codeaurora.org/external/imx/imx-alsa-plugins +IMX_ALSA_PLUGINS_SITE_METHOD = git +IMX_ALSA_PLUGINS_LICENSE = GPL-2.0+ +IMX_ALSA_PLUGINS_LICENSE_FILES = COPYING.GPL +IMX_ALSA_PLUGINS_DEPENDENCIES = host-pkgconf alsa-lib + +# git, no configure +IMX_ALSA_PLUGINS_AUTORECONF = YES + +# needs access to imx-specific kernel headers +IMX_ALSA_PLUGINS_DEPENDENCIES += linux +IMX_ALSA_PLUGINS_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -idirafter $(LINUX_DIR)/include/uapi" + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.hash b/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.hash index 53d8f71c..8dab5a5c 100644 --- a/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.hash +++ b/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.hash @@ -1,2 +1,4 @@ # locally computed -sha256 20d3f9b4187fcd9e7007c94558a00bab1191513eee74b6f0d8c7b43f874e06ed imx-codec-4.2.1.bin +sha256 6bb54f91c3ca18567e14d95d3858022dc9be00dc86e9edfdb544d1240a3b2b04 imx-codec-4.3.5.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.mk b/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.mk index ea4d9011..1ec701d2 100644 --- a/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.mk +++ b/bsp/buildroot/package/freescale-imx/imx-codec/imx-codec.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_CODEC_VERSION = 4.2.1 +IMX_CODEC_VERSION = 4.3.5 IMX_CODEC_SITE = $(FREESCALE_IMX_SITE) IMX_CODEC_SOURCE = imx-codec-$(IMX_CODEC_VERSION).bin IMX_CODEC_INSTALL_STAGING = YES @@ -26,7 +26,7 @@ IMX_CODEC_CONF_OPTS += --enable-vpu endif define IMX_CODEC_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_CODEC_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_CODEC_DL_DIR)/$(IMX_CODEC_SOURCE)) endef # FIXME The Makefile installs both the arm9 and arm11 versions of the diff --git a/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash b/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash index 299ec703..3bcbc558 100644 --- a/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash +++ b/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.hash @@ -1 +1 @@ -sha256 070a95aa9942bd67e8ba4012962df74143bffb9998301ac097dab5e1437000d8 imx-gpu-g2d-6.2.2.p0.bin +sha256 5f2d2171d5cd57f37ab07184fc908a0f6ecb2a97f023f04c2f9f3b3d7fec8481 imx-gpu-g2d-6.2.4.p1.2.bin diff --git a/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk b/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk index 0c92b826..015ab628 100644 --- a/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk +++ b/bsp/buildroot/package/freescale-imx/imx-gpu-g2d/imx-gpu-g2d.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_GPU_G2D_VERSION = 6.2.2.p0 +IMX_GPU_G2D_VERSION = 6.2.4.p1.2 IMX_GPU_G2D_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_G2D_SOURCE = imx-gpu-g2d-$(IMX_GPU_G2D_VERSION).bin IMX_GPU_G2D_DEPENDENCIES = imx-gpu-viv @@ -15,7 +15,7 @@ IMX_GPU_G2D_LICENSE_FILES = EULA COPYING IMX_GPU_G2D_REDISTRIBUTE = NO define IMX_GPU_G2D_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_GPU_G2D_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_GPU_G2D_DL_DIR)/$(IMX_GPU_G2D_SOURCE)) endef define IMX_GPU_G2D_INSTALL_STAGING_CMDS diff --git a/bsp/buildroot/package/freescale-imx/imx-gpu-viv/Config.in b/bsp/buildroot/package/freescale-imx/imx-gpu-viv/Config.in index cf58ad47..a2deaf2e 100644 --- a/bsp/buildroot/package/freescale-imx/imx-gpu-viv/Config.in +++ b/bsp/buildroot/package/freescale-imx/imx-gpu-viv/Config.in @@ -2,17 +2,21 @@ comment "imx-gpu-viv needs a glibc toolchain with armhf enabled" depends on BR2_arm depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF +comment "imx-gpu-viv needs a glibc toolchain" + depends on BR2_aarch64 + depends on !BR2_TOOLCHAIN_USES_GLIBC + config BR2_PACKAGE_IMX_GPU_VIV bool "imx-gpu-viv" # Pre-built binaries only available for ARM EABIhf - depends on BR2_ARM_EABIHF + depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64 # Library binaries are linked against libc.so.6 depends on BR2_TOOLCHAIN_USES_GLIBC select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_HAS_LIBOPENVG help - Userspace libraries for Vivante GPU on i.MX6 platforms + Userspace libraries for Vivante GPU on i.MX platforms It contains libraries and headers for GLES, OpenCL, and OpenVG. It also contains a DRI plugin for X11. It also @@ -34,15 +38,27 @@ choice config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 bool "X11" depends on BR2_PACKAGE_XORG7 + # The i.MX8 blob doesn't support X11 output + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M select BR2_PACKAGE_XLIB_LIBXDAMAGE select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXFIXES comment "X11 backend needs Xorg package" depends on !BR2_PACKAGE_XORG7 + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB bool "Framebuffer" + # The i.MX8 blob doesn't support FB output + depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M + +config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL + bool "Wayland" + # libdrm needed by gbm_viv.so + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_HAS_LIBEGL_WAYLAND endchoice @@ -50,6 +66,7 @@ config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT string default "x11" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 default "fb" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB + default "wl" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL config BR2_PACKAGE_PROVIDES_LIBEGL default "imx-gpu-viv" diff --git a/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash b/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash index 894bc90d..2cbc36a1 100644 --- a/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash +++ b/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.hash @@ -1 +1,2 @@ -sha256 4f93a4412c93ca5959aa2437bfed2ecbaf983b5b272be5977f76a967de5db150 imx-gpu-viv-6.2.2.p0-aarch32.bin +sha256 dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc imx-gpu-viv-6.2.4.p1.2-aarch32.bin +sha256 27ed3f58681cef18f87ea20946cc89b2cef4848006064303d20583e6ed7aeec7 imx-gpu-viv-6.2.4.p1.2-aarch64.bin diff --git a/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index 9104750c..d2a9fad4 100644 --- a/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/bsp/buildroot/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -4,7 +4,11 @@ # ################################################################################ -IMX_GPU_VIV_VERSION = 6.2.2.p0-aarch32 +ifeq ($(BR2_aarch64),y) +IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch64 +else +IMX_GPU_VIV_VERSION = 6.2.4.p1.2-aarch32 +endif IMX_GPU_VIV_SITE = $(FREESCALE_IMX_SITE) IMX_GPU_VIV_SOURCE = imx-gpu-viv-$(IMX_GPU_VIV_VERSION).bin @@ -25,8 +29,12 @@ ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) IMX_GPU_VIV_DEPENDENCIES += xlib_libXdamage xlib_libXext xlib_libXfixes endif +ifeq ($(IMX_GPU_VIV_LIB_TARGET),wl) +IMX_GPU_VIV_DEPENDENCIES += libdrm wayland +endif + define IMX_GPU_VIV_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_GPU_VIV_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_GPU_VIV_DL_DIR)/$(IMX_GPU_VIV_SOURCE)) endef # Instead of building, we fix up the inconsistencies that exist @@ -62,6 +70,12 @@ define IMX_GPU_VIV_FIXUP_PKGCONFIG endef endif +ifeq ($(IMX_GPU_VIV_LIB_TARGET),wl) +define IMX_GPU_VIV_FIXUP_PKGCONFIG + ln -sf egl_wayland.pc $(@D)/gpu-core/usr/lib/pkgconfig/egl.pc +endef +endif + ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11) define IMX_GPU_VIV_FIXUP_PKGCONFIG for lib in egl gbm glesv1_cm glesv2 vg; do \ diff --git a/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.hash b/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.hash index b3fce59d..abbf0174 100644 --- a/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.hash +++ b/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.hash @@ -1,2 +1,2 @@ # locally computed -sha256 245ace9b2c50d6c13a804d9c4492a5a850c626e7537f0d0bad81670b2824892f imx-lib-rel_imx_4.9.x_1.0.0_ga.tar.gz +sha256 ced5ad0a179887ef1dd93e8103a9ab7372017cc1c241d28cded164cdece4b918 imx-lib-3f777974c0c146817e2ff5cb0340ca66a1f99e57.tar.gz diff --git a/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.mk b/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.mk index e8236858..721c20e5 100644 --- a/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.mk +++ b/bsp/buildroot/package/freescale-imx/imx-lib/imx-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_LIB_VERSION = rel_imx_4.9.x_1.0.0_ga +IMX_LIB_VERSION = 3f777974c0c146817e2ff5cb0340ca66a1f99e57 IMX_LIB_SITE = https://source.codeaurora.org/external/imx/imx-lib IMX_LIB_SITE_METHOD = git IMX_LIB_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.hash b/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.hash index 3266f481..017d2c2f 100644 --- a/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.hash +++ b/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.hash @@ -1,2 +1,4 @@ # locally computed -sha256 36d3ae7285f3a83a87abf680b8a52b3c07df869d2443de844fb5f0ff528ca862 imx-parser-4.2.1.bin +sha256 9cd8c49a0bb1050afcfbcc7a677a348443fda4ecacb621cc6e38897619e27c67 imx-parser-4.3.5.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.mk b/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.mk index d79a4444..fc4376f0 100644 --- a/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.mk +++ b/bsp/buildroot/package/freescale-imx/imx-parser/imx-parser.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_PARSER_VERSION = 4.2.1 +IMX_PARSER_VERSION = 4.3.5 IMX_PARSER_SITE = $(FREESCALE_IMX_SITE) IMX_PARSER_SOURCE = imx-parser-$(IMX_PARSER_VERSION).bin IMX_PARSER_INSTALL_STAGING = YES @@ -24,7 +24,7 @@ IMX_PARSER_CONF_OPTS += --enable-fsw endif define IMX_PARSER_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_PARSER_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_PARSER_DL_DIR)/$(IMX_PARSER_SOURCE)) endef # The Makefile installs several versions of the libraries, but we only diff --git a/bsp/buildroot/package/freescale-imx/imx-uuc/Config.in b/bsp/buildroot/package/freescale-imx/imx-uuc/Config.in index ed734ad7..0e257bde 100644 --- a/bsp/buildroot/package/freescale-imx/imx-uuc/Config.in +++ b/bsp/buildroot/package/freescale-imx/imx-uuc/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_IMX_UUC depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_arm # Only relevant for i.MX depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # usb_functionfs_descs_head_v2 select BR2_PACKAGE_HOST_DOSFSTOOLS help This package provides the Universal Adapter user-space @@ -15,7 +16,8 @@ config BR2_PACKAGE_IMX_UUC This package is provided by Freescale/NXP as-is and doesn't have an upstream. -comment "imx-uuc needs a toolchain w/ threads" +comment "imx-uuc needs a toolchain w/ threads, headers >= 3.18" depends on BR2_arm depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 diff --git a/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.hash b/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.hash index c9c29f86..623bd276 100644 --- a/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.hash +++ b/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 1463e855d1229e6b6c02df2085f6bff5974bc061d13a61646b63675c160cba99 imx-uuc-2ae634281a39c82b6a8ee0fdcfbfbe42183ceb53.tar.gz +sha256 ac4960b9dc53cfd09709951c4bf1f774567ff0918d0b216b480e1f7df8c6ee48 imx-uuc-79e9798eee9cd972d92ed2b18f170de856d153c9.tar.gz diff --git a/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk b/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk index 5e0bb3be..52d2b7c7 100644 --- a/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk +++ b/bsp/buildroot/package/freescale-imx/imx-uuc/imx-uuc.mk @@ -4,8 +4,8 @@ # ################################################################################ -IMX_UUC_VERSION = 2ae634281a39c82b6a8ee0fdcfbfbe42183ceb53 -IMX_UUC_SITE = $(call github,codeauroraforum,imx-uuc,$(IMX_UUC_VERSION)) +IMX_UUC_VERSION = 79e9798eee9cd972d92ed2b18f170de856d153c9 +IMX_UUC_SITE = $(call github,NXPmicro,imx-uuc,$(IMX_UUC_VERSION)) IMX_UUC_LICENSE = GPL-2.0+ IMX_UUC_LICENSE_FILES = COPYING @@ -20,6 +20,7 @@ endef define IMX_UUC_INSTALL_TARGET_CMDS $(INSTALL) -D -m 755 $(@D)/uuc $(TARGET_DIR)/usr/bin/uuc $(INSTALL) -D -m 755 $(@D)/sdimage $(TARGET_DIR)/usr/bin/sdimage + $(INSTALL) -D -m 755 $(@D)/ufb $(TARGET_DIR)/usr/bin/ufb dd if=/dev/zero of=$(TARGET_DIR)/fat bs=1M count=1 $(HOST_DIR)/sbin/mkfs.vfat $(TARGET_DIR)/fat endef diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch new file mode 100644 index 00000000..951ead98 --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/0001-Fix-ion.h-header-inclusion-to-be-standard.patch @@ -0,0 +1,44 @@ +From 872c82e7cbb9a0a0e761e8ac70fc28e19a55b4c3 Mon Sep 17 00:00:00 2001 +From: Gary Bisson +Date: Thu, 12 Jul 2018 11:38:28 +0200 +Subject: [PATCH] Fix ion.h header inclusion to be standard + +NXP "solution" was to manually copy the header to include/linux. +Let's point the Makefile to the proper (mainline) location instead: +https://elixir.bootlin.com/linux/v4.17/source/drivers/staging/android/uapi/ion.h + +Signed-off-by: Gary Bisson +--- + Makefile | 2 ++ + decoder_sw/software/linux/dwl/dwl_linux.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index b74e23a..a5ce22b 100755 +--- a/Makefile ++++ b/Makefile +@@ -11,6 +11,8 @@ INCLUDE_HEADERS = -I./decoder_sw -I$(SOURCE_ROOT)/source/inc -I$(SOURCE_ROOT)/so + INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/memalloc + #INCLUDE_HEADERS += -I$(SOURCE_ROOT)/linux/ldriver + INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/include/uapi -I$(LINUX_KERNEL_ROOT)/include ++# ION header location ++INCLUDE_HEADERS += -I$(LINUX_KERNEL_ROOT)/drivers/staging/android/uapi + + CFLAGS += -DDEC_MODULE_PATH=\"/dev/mxc_hantro\" -DUSE_FAKE_RFC_TABLE -DFIFO_DATATYPE=void* -DNDEBUG -DDOWN_SCALER \ + -DUSE_EXTERNAL_BUFFER -DUSE_FAST_EC -DUSE_VP9_EC -DGET_FREE_BUFFER_NON_BLOCK \ +diff --git a/decoder_sw/software/linux/dwl/dwl_linux.c b/decoder_sw/software/linux/dwl/dwl_linux.c +index 8183660..ed37d86 100644 +--- a/decoder_sw/software/linux/dwl/dwl_linux.c ++++ b/decoder_sw/software/linux/dwl/dwl_linux.c +@@ -41,7 +41,7 @@ + #include "dwl.h" + #include + #ifdef USE_ION +-#include ++#include + #ifdef ANDROID + #include + #endif +-- +2.18.0 + diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/Config.in b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/Config.in new file mode 100644 index 00000000..25ce50ff --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/Config.in @@ -0,0 +1,20 @@ +comment "imx-vpu-hantro needs an i.MX-specific Linux kernel to be built" + depends on !BR2_LINUX_KERNEL + +comment "imx-vpu-hantro needs an i.MX platform with Hantro VPU" + depends on BR2_LINUX_KERNEL + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + +config BR2_PACKAGE_IMX_VPU_HANTRO + bool "imx-vpu-hantro" + depends on BR2_LINUX_KERNEL + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + help + Library of userspace helpers specific for the NXP i.MX SoC + integrating a Hantro Video Processing Unit (VPU) such as the + i.MX8MQ/i.MX8MM. + It requires a kernel that includes the i.MX specific headers + to be built. + + This library is provided by NXP as-is and doesn't have an + upstream. diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash new file mode 100644 index 00000000..4fa48fb8 --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.hash @@ -0,0 +1,3 @@ +sha256 cbc648e41f005aad209f74c9e5dd346138dca12efeb7b27e471de7474c4da302 imx-vpu-hantro-1.6.0.bin +sha256 0f34f6175247762e2e1c38319aadf657a53f00ce124e569dfc61b30451549e7a COPYING +sha256 faf01d10e484879247963eb97d96622a980232e22a35e487dfe53b13708b686a EULA diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk new file mode 100644 index 00000000..a82899e6 --- /dev/null +++ b/bsp/buildroot/package/freescale-imx/imx-vpu-hantro/imx-vpu-hantro.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# imx-vpu-hantro +# +################################################################################ + +IMX_VPU_HANTRO_VERSION = 1.6.0 +IMX_VPU_HANTRO_SITE = $(FREESCALE_IMX_SITE) +IMX_VPU_HANTRO_SOURCE = imx-vpu-hantro-$(IMX_VPU_HANTRO_VERSION).bin +IMX_VPU_HANTRO_DEPENDENCIES = linux +IMX_VPU_HANTRO_INSTALL_STAGING = YES + +IMX_VPU_HANTRO_MAKE_ENV = \ + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + SDKTARGETSYSROOT=$(STAGING_DIR) \ + LINUX_KERNEL_ROOT=$(LINUX_DIR) + +IMX_VPU_HANTRO_LICENSE = NXP Semiconductor Software License Agreement +IMX_VPU_HANTRO_LICENSE_FILES = EULA COPYING +IMX_VPU_HANTRO_REDISTRIBUTE = NO + +define IMX_VPU_HANTRO_EXTRACT_CMDS + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_HANTRO_DL_DIR)/$(IMX_VPU_HANTRO_SOURCE)) +endef + +define IMX_VPU_HANTRO_BUILD_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) +endef + +define IMX_VPU_HANTRO_INSTALL_STAGING_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ + DEST_DIR=$(STAGING_DIR) libdir=/usr/lib install +endef + +define IMX_VPU_HANTRO_INSTALL_TARGET_CMDS + $(IMX_VPU_HANTRO_MAKE_ENV) $(MAKE1) -C $(@D) \ + DEST_DIR=$(TARGET_DIR) libdir=/usr/lib install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu/Config.in b/bsp/buildroot/package/freescale-imx/imx-vpu/Config.in index 779717f5..dd3507eb 100644 --- a/bsp/buildroot/package/freescale-imx/imx-vpu/Config.in +++ b/bsp/buildroot/package/freescale-imx/imx-vpu/Config.in @@ -1,17 +1,14 @@ comment "imx-vpu needs an i.MX platform with VPU support" - depends on BR2_arm depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU config BR2_PACKAGE_IMX_VPU bool "imx-vpu" - depends on BR2_arm # Only relevant for i.MX depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU select BR2_PACKAGE_FIRMWARE_IMX help - Library of userspace helpers specific for the Freescale i.MX - platform. It wraps the kernel interfaces for the i.MX platform - Video Processing Unit (VPU) driver. It requires a kernel that - includes the i.MX specific headers to be built. + Library of userspace helpers specific for the NXP i.MX SoC + integrating a Chips&Media CODA Video Processing Unit (VPU) + such as the i.MX27/i.MX5x/i.MX6x. - This library is provided by Freescale as-is and doesn't have - an upstream. + This library is provided by NXP as-is and doesn't have an + upstream. diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.hash b/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.hash index 0ac0f3d0..5fa93d80 100644 --- a/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.hash +++ b/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 ee265e88d17c7369bd9cb917e7cce035b8c7ee2ba4491645fdab9f382f54beb0 imx-vpu-5.4.37.bin +sha256 34bed0ddf6c797f444bddfa5d5495adc751ff268b6431d8beb48129c89c9e47f imx-vpu-5.4.38.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.mk b/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.mk index e3a1ee66..e3023750 100644 --- a/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.mk +++ b/bsp/buildroot/package/freescale-imx/imx-vpu/imx-vpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMX_VPU_VERSION = 5.4.37 +IMX_VPU_VERSION = 5.4.38 IMX_VPU_SITE = $(FREESCALE_IMX_SITE) IMX_VPU_SOURCE = imx-vpu-$(IMX_VPU_VERSION).bin @@ -21,7 +21,7 @@ IMX_VPU_LICENSE_FILES = EULA COPYING IMX_VPU_REDISTRIBUTE = NO define IMX_VPU_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_VPU_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPU_DL_DIR)/$(IMX_VPU_SOURCE)) endef define IMX_VPU_BUILD_CMDS diff --git a/bsp/buildroot/package/freescale-imx/imx-vpuwrap/Config.in b/bsp/buildroot/package/freescale-imx/imx-vpuwrap/Config.in index bdfa1478..8a9bf0e3 100644 --- a/bsp/buildroot/package/freescale-imx/imx-vpuwrap/Config.in +++ b/bsp/buildroot/package/freescale-imx/imx-vpuwrap/Config.in @@ -1,17 +1,16 @@ comment "imx-vpuwrap needs an imx-specific Linux kernel to be built" - depends on BR2_arm depends on !BR2_LINUX_KERNEL comment "imx-vpuwrap needs an i.MX platform with VPU support" - depends on BR2_arm - depends on BR2_LINUX_KERNEL && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU + depends on BR2_LINUX_KERNEL + depends on !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU && !BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO config BR2_PACKAGE_IMX_VPUWRAP bool "imx-vpuwrap" depends on BR2_LINUX_KERNEL - depends on BR2_arm # Only relevant for i.MX - depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU - select BR2_PACKAGE_IMX_VPU + depends on BR2_PACKAGE_FREESCALE_IMX_HAS_VPU || BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO + select BR2_PACKAGE_IMX_VPU if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU + select BR2_PACKAGE_IMX_VPU_HANTRO if BR2_PACKAGE_FREESCALE_IMX_HAS_VPU_HANTRO help Wrapper library for the vpu library, giving it a different API. diff --git a/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash b/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash index 2999984d..7a640374 100644 --- a/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash +++ b/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.hash @@ -1,2 +1,4 @@ # locally computed -sha256 282e7f8766ce385d8752bd29f04ddeff709ece0846be97547cf982183bbe241e imx-vpuwrap-1.0.68.bin +sha256 5c08b4b7c771404c998779f0e27a75564b57958d463e2df152c910d76cca9e44 imx-vpuwrap-4.3.5.bin +sha256 78696664f7afe7f2b081c99af60082d6403fab935b1b10056ed41aec123ff7fa COPYING +sha256 fc93f26e4197b9240c327ce26ae6e02123f022423d4704c7b0448a37372cf2a2 EULA diff --git a/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk b/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk index 7cbf7784..fdad3a5f 100644 --- a/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk +++ b/bsp/buildroot/package/freescale-imx/imx-vpuwrap/imx-vpuwrap.mk @@ -4,18 +4,25 @@ # ################################################################################ -IMX_VPUWRAP_VERSION = 1.0.68 +IMX_VPUWRAP_VERSION = 4.3.5 IMX_VPUWRAP_SITE = $(FREESCALE_IMX_SITE) IMX_VPUWRAP_SOURCE = imx-vpuwrap-$(IMX_VPUWRAP_VERSION).bin -IMX_VPUWRAP_DEPENDENCIES = imx-vpu IMX_VPUWRAP_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_IMX_VPU),y) +IMX_VPUWRAP_DEPENDENCIES = imx-vpu +endif + +ifeq ($(BR2_PACKAGE_IMX_VPU_HANTRO),y) +IMX_VPUWRAP_DEPENDENCIES = imx-vpu-hantro +endif + IMX_VPUWRAP_LICENSE = NXP Semiconductor Software License Agreement IMX_VPUWRAP_LICENSE_FILES = EULA COPYING IMX_VPUWRAP_REDISTRIBUTE = NO define IMX_VPUWRAP_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(IMX_VPUWRAP_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(IMX_VPUWRAP_DL_DIR)/$(IMX_VPUWRAP_SOURCE)) endef $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash b/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash index c6204aff..3ed7ca2d 100644 --- a/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash +++ b/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.hash @@ -1,2 +1,2 @@ # locally computed -sha256 35db597ae0dd8e9e80511e5e9d882a01e4c178b83ffc192c8dd6a1a35859aa13 kernel-module-imx-gpu-viv-3b9e057f29853fd29364aa666328a92b807007d7.tar.gz +sha256 ad910b7d36dc433bbbe85808d278312e9199635aaa5d00097b70ffab11bde9e6 kernel-module-imx-gpu-viv-86354002bea77acd9ce1812712e9d8485b377ec8.tar.gz diff --git a/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk b/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk index 2e6744c4..c76a5ee3 100644 --- a/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk +++ b/bsp/buildroot/package/freescale-imx/kernel-module-imx-gpu-viv/kernel-module-imx-gpu-viv.mk @@ -4,7 +4,7 @@ # ################################################################################ -KERNEL_MODULE_IMX_GPU_VIV_VERSION = 3b9e057f29853fd29364aa666328a92b807007d7 +KERNEL_MODULE_IMX_GPU_VIV_VERSION = 86354002bea77acd9ce1812712e9d8485b377ec8 KERNEL_MODULE_IMX_GPU_VIV_SITE = \ $(call github,Freescale,kernel-module-imx-gpu-viv,$(KERNEL_MODULE_IMX_GPU_VIV_VERSION)) KERNEL_MODULE_IMX_GPU_VIV_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/freescale-imx/libz160/libz160.mk b/bsp/buildroot/package/freescale-imx/libz160/libz160.mk index af43b185..5b1feeb4 100644 --- a/bsp/buildroot/package/freescale-imx/libz160/libz160.mk +++ b/bsp/buildroot/package/freescale-imx/libz160/libz160.mk @@ -15,7 +15,7 @@ LIBZ160_LICENSE_FILES = EULA LIBZ160_REDISTRIBUTE = NO define LIBZ160_EXTRACT_CMDS - $(call FREESCALE_IMX_EXTRACT_HELPER,$(DL_DIR)/$(LIBZ160_SOURCE)) + $(call FREESCALE_IMX_EXTRACT_HELPER,$(LIBZ160_DL_DIR)/$(LIBZ160_SOURCE)) endef define LIBZ160_INSTALL_STAGING_CMDS diff --git a/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash b/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash index 67804883..475556eb 100644 --- a/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash +++ b/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 135f545ad0eef49d1228f8d66a4e66f1ff5f1f8fdf115e88c1df3df8df49fdcb freeswitch-mod-bcg729-c504eea91f225014380ae17c00b35e7173e316ad.tar.gz +sha256 0dec5b78f655e175936806396b89b4997c8e543a1c84683a19ea2b6f36e01d7e freeswitch-mod-bcg729-v1.0.4.tar.gz sha256 bb4680b13c3190429464a8308a07d7d891e6454349fb7be856e02405b25b1195 LICENSE diff --git a/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk b/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk index 15f9375f..98324b2a 100644 --- a/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk +++ b/bsp/buildroot/package/freeswitch-mod-bcg729/freeswitch-mod-bcg729.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_MOD_BCG729_VERSION = c504eea91f225014380ae17c00b35e7173e316ad +FREESWITCH_MOD_BCG729_VERSION = v1.0.4 FREESWITCH_MOD_BCG729_SITE = $(call github,xadhoom,mod_bcg729,$(FREESWITCH_MOD_BCG729_VERSION)) FREESWITCH_MOD_BCG729_LICENSE = MPL-1.1 FREESWITCH_MOD_BCG729_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/freeswitch/0001-libvpx-cross.patch b/bsp/buildroot/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch similarity index 88% rename from bsp/buildroot/package/freeswitch/0001-libvpx-cross.patch rename to bsp/buildroot/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch index a2583dac..1d4b97a7 100644 --- a/bsp/buildroot/package/freeswitch/0001-libvpx-cross.patch +++ b/bsp/buildroot/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch @@ -18,12 +18,12 @@ Signed-off-by: Bernd Kuhls diff -uNr freeswitch-1.6.7.org/Makefile.in freeswitch-1.6.7/Makefile.in --- freeswitch-1.6.7.org/Makefile.in 2016-04-01 18:09:54.000000000 +0200 +++ freeswitch-1.6.7/Makefile.in 2016-04-22 20:11:37.938961730 +0200 -@@ -3491,7 +3491,7 @@ +@@ -4025,7 +4025,7 @@ cd libs/libzrtp && $(MAKE) libs/libvpx/Makefile: -- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)" -+ cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)" +- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" ++ cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" libs/libvpx/libvpx.a: libs/libvpx/Makefile @cd libs/libvpx && $(MAKE) diff --git a/bsp/buildroot/package/freeswitch/Config.in b/bsp/buildroot/package/freeswitch/Config.in index 1f645933..bd961314 100644 --- a/bsp/buildroot/package/freeswitch/Config.in +++ b/bsp/buildroot/package/freeswitch/Config.in @@ -17,7 +17,9 @@ config BR2_PACKAGE_FREESWITCH select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_PCRE select BR2_PACKAGE_SPEEX + select BR2_PACKAGE_SPEEXDSP select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_TIFF select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_ZLIB diff --git a/bsp/buildroot/package/freeswitch/freeswitch.hash b/bsp/buildroot/package/freeswitch/freeswitch.hash index 25421de9..6f90c215 100644 --- a/bsp/buildroot/package/freeswitch/freeswitch.hash +++ b/bsp/buildroot/package/freeswitch/freeswitch.hash @@ -1,17 +1,18 @@ -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.md5 -md5 e9890a2d6ca6f58dd3fa440fdfbf91a0 freeswitch-1.6.20.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.sha1 -sha1 ce284b805e262504cbb1f74796785b4dfa70d5ac freeswitch-1.6.20.tar.xz -# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.6.20.tar.xz.sha256 -sha256 dbb0f73109171bd381772b247b8ef581f6a176964619082a1fe031b004086f6b freeswitch-1.6.20.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.md5 +md5 e3d750ed0bbf13ce6fe228af9af07bcd freeswitch-1.8.5.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.sha1 +sha1 e9f95b42ed9dd41437a65bddbb5c1f647436e426 freeswitch-1.8.5.tar.xz +# From http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.5.tar.xz.sha256 +sha256 503a551be5d6df06162ea9d98a952b6fb524852ce2352fe3ca3a36a76995b046 freeswitch-1.8.5.tar.xz # Locally computed sha256 10299420c1e8602c0daf5a59d022621cd72a9148d1f0f33501edb3db3445c7fe COPYING sha256 e8e26b16da14aa3e6ed5c22c705fdc1f45d6225fca461ea9f7314bcdfdc414c4 libs/apr/LICENSE sha256 1eefb2ea1db0af7729a9d8a27d7c65d8a37ab185393f935b029aac6828ce315a libs/apr-util/LICENSE +sha256 8267348d5af1262c11d1a08de2f5afc77457755f1ac658627dd9acf71011d615 libs/libvpx/LICENSE +sha256 2b2cc1180c7e6988328ad2033b04b80117419db9c4c584918bbb3cfec7e9364f libs/libyuv/LICENSE sha256 7d72a8aee2c4b1a084200487992a5d86f5df6b535727a14c1874918e99d24600 libs/libzrtp/src/zrtp_legal.c sha256 e1c0890440efe31b6cd2ee2abf895eb917c787799f079133f5809414d90d5d60 libs/sofia-sip/COPYING sha256 b402ae58cf355b33be8fa023f704a039e3d41ecaccd2bbcda43ca31d703e4556 libs/sofia-sip/COPYRIGHTS sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a libs/spandsp/COPYING -sha256 8defed37d52096ae14b60adc499c33d43975109bc265552ee67e9a888c634b93 libs/srtp/LICENSE -sha256 fbd6fed7938541d2c809c0826225fc85e551fdbfa8732b10f0c87e0847acafd7 libs/tiff-4.0.2/COPYRIGHT +sha256 8e19d42a1eec9561f3f347253ddf2e385c55f392f025bb0fd41b88dbf38db5ae libs/srtp/LICENSE sha256 ab00a482b6a3902e40211b43c5d0441962ea99b6cc7c25c0f243fa270b78d482 src/mod/codecs/mod_isac/LICENSE diff --git a/bsp/buildroot/package/freeswitch/freeswitch.mk b/bsp/buildroot/package/freeswitch/freeswitch.mk index 98f2f483..0b7544d0 100644 --- a/bsp/buildroot/package/freeswitch/freeswitch.mk +++ b/bsp/buildroot/package/freeswitch/freeswitch.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREESWITCH_VERSION = 1.6.20 +FREESWITCH_VERSION = 1.8.5 FREESWITCH_SOURCE = freeswitch-$(FREESWITCH_VERSION).tar.xz FREESWITCH_SITE = http://files.freeswitch.org/freeswitch-releases # External modules need headers/libs from staging @@ -14,8 +14,7 @@ FREESWITCH_LICENSE = MPL-1.1, \ Apache-2.0 (apr, apr-util), \ LGPL-2.0+ (sofia-sip), \ LGPL-2.1, GPL-2.0 (spandsp), \ - BSD-3-Clause (libsrtp), \ - tiff license + BSD-3-Clause (libsrtp) FREESWITCH_LICENSE_FILES = \ COPYING \ @@ -24,8 +23,7 @@ FREESWITCH_LICENSE_FILES = \ libs/sofia-sip/COPYING \ libs/sofia-sip/COPYRIGHTS \ libs/spandsp/COPYING \ - libs/srtp/LICENSE \ - libs/tiff-4.0.2/COPYRIGHT + libs/srtp/LICENSE # required dependencies FREESWITCH_DEPENDENCIES = \ @@ -36,6 +34,7 @@ FREESWITCH_DEPENDENCIES = \ pcre \ speex \ sqlite \ + tiff \ util-linux \ zlib @@ -150,6 +149,7 @@ FREESWITCH_ENABLED_MODULES += \ say/mod_say_sv \ say/mod_say_th \ say/mod_say_zh \ + timers/mod_timerfd \ xml_int/mod_xml_cdr \ xml_int/mod_xml_rpc \ xml_int/mod_xml_scgi @@ -275,6 +275,17 @@ FREESWITCH_DEPENDENCIES += opencv FREESWITCH_ENABLED_MODULES += applications/mod_cv endif +ifeq ($(BR2_PACKAGE_POSTGRESQL),y) +FREESWITCH_CONF_ENV += \ + ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config +FREESWITCH_CONF_OPTS += \ + --enable-core-pgsql-pkgconfig \ + --enable-core-pgsql-support +FREESWITCH_DEPENDENCIES += postgresql +else +FREESWITCH_CONF_OPTS += --disable-core-pgsql-support +endif + ifeq ($(BR2_PACKAGE_UNIXODBC),y) FREESWITCH_DEPENDENCIES += unixodbc FREESWITCH_CONF_OPTS += \ diff --git a/bsp/buildroot/package/freetype/Config.in b/bsp/buildroot/package/freetype/Config.in index ded87388..06c6a854 100644 --- a/bsp/buildroot/package/freetype/Config.in +++ b/bsp/buildroot/package/freetype/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_FREETYPE help a free, high-quality and portable font engine. - http://www.freetype.org/ + https://www.freetype.org/ diff --git a/bsp/buildroot/package/freetype/freetype.hash b/bsp/buildroot/package/freetype/freetype.hash index 51d01846..c98674c7 100644 --- a/bsp/buildroot/package/freetype/freetype.hash +++ b/bsp/buildroot/package/freetype/freetype.hash @@ -1,9 +1,9 @@ -# From https://sourceforge.net/projects/freetype/files/freetype2/2.8.1/ -md5 bf0a210b6fe781228fa0e4a80691a521 freetype-2.8.1.tar.bz2 -sha1 417bb3747c4ac95b6f2652024a53fad45581fa1c freetype-2.8.1.tar.bz2 +# From https://sourceforge.net/projects/freetype/files/freetype2/2.9.1/ +md5 60ef7d8160cd4bf8cb118ee9d65367ca freetype-2.9.1.tar.bz2 +sha1 220c82062171c513e4017c523d196933c9de4a7d freetype-2.9.1.tar.bz2 # Locally calculated -sha256 e5435f02e02d2b87bb8e4efdcaa14b1f78c9cf3ab1ed80f94b6382fb6acc7d78 freetype-2.8.1.tar.bz2 +sha256 db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d freetype-2.9.1.tar.bz2 sha256 fd056de4196903a676208ef58cfddafc7d583d1f28fa2e44c309cf84a59e62fb docs/LICENSE.TXT -sha256 4a9a548027a2c1d37788519dea833294c9c81f1ebc280e817f41f50d0c642d78 docs/FTL.TXT +sha256 08c135755dd589039470f1fdbb400daaabaaa50d0b366d19cebff4d22986baa1 docs/FTL.TXT sha256 c4120c6752c910c299e3bd9cb3a46ff262c268303ca2069b61f92f10a5656c18 docs/GPLv2.TXT diff --git a/bsp/buildroot/package/freetype/freetype.mk b/bsp/buildroot/package/freetype/freetype.mk index e755c823..71670615 100644 --- a/bsp/buildroot/package/freetype/freetype.mk +++ b/bsp/buildroot/package/freetype/freetype.mk @@ -4,7 +4,7 @@ # ################################################################################ -FREETYPE_VERSION = 2.8.1 +FREETYPE_VERSION = 2.9.1 FREETYPE_SOURCE = freetype-$(FREETYPE_VERSION).tar.bz2 FREETYPE_SITE = http://download.savannah.gnu.org/releases/freetype FREETYPE_INSTALL_STAGING = YES @@ -17,6 +17,10 @@ FREETYPE_CONFIG_SCRIPTS = freetype-config HOST_FREETYPE_DEPENDENCIES = host-pkgconf HOST_FREETYPE_CONF_OPTS = --without-zlib --without-bzip2 --without-png +# since 2.9.1 needed for freetype-config install +FREETYPE_CONF_OPTS += --enable-freetype-config +HOST_FREETYPE_CONF_OPTS += --enable-freetype-config + ifeq ($(BR2_PACKAGE_ZLIB),y) FREETYPE_DEPENDENCIES += zlib FREETYPE_CONF_OPTS += --with-zlib diff --git a/bsp/buildroot/package/fwts/0001-build-do-not-use-Werror.patch b/bsp/buildroot/package/fwts/0001-build-do-not-use-Werror.patch index 5246fd62..2dbf5313 100644 --- a/bsp/buildroot/package/fwts/0001-build-do-not-use-Werror.patch +++ b/bsp/buildroot/package/fwts/0001-build-do-not-use-Werror.patch @@ -1,4 +1,4 @@ -From db480b9f3e3a5c6c12e9dd04e87c8dff9381b8e7 Mon Sep 17 00:00:00 2001 +From 4c202c0fd7e5bd3264c720d715f05573047d9cf5 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Fri, 12 Aug 2016 23:11:56 +0200 Subject: [PATCH] fwts: do not use -Werror @@ -18,7 +18,7 @@ Signed-off-by: Erico Nunes 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac -index e3e7512..64034fa 100644 +index 0109d644..3ca599e1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ @@ -29,7 +29,7 @@ index e3e7512..64034fa 100644 AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/Makefile.am b/src/Makefile.am -index bc23e8d..599765d 100644 +index 52c637dd..d9d73f1c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,7 +14,7 @@ AM_CPPFLAGS = \ @@ -42,10 +42,10 @@ index bc23e8d..599765d 100644 bin_PROGRAMS = fwts diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am -index 1b8fd74..163c9ae 100644 +index 54de7f44..e129ed16 100644 --- a/src/lib/src/Makefile.am +++ b/src/lib/src/Makefile.am -@@ -6,7 +6,7 @@ AM_CPPFLAGS = \ +@@ -24,7 +24,7 @@ AM_CPPFLAGS = \ `pkg-config --silence-errors --cflags json-c` \ `pkg-config --cflags glib-2.0 gio-2.0` \ -DDATAROOTDIR=\"$(datarootdir)\" \ @@ -55,15 +55,18 @@ index 1b8fd74..163c9ae 100644 pkglib_LTLIBRARIES = libfwts.la diff --git a/src/utilities/Makefile.am b/src/utilities/Makefile.am -index 9a47980..14997df 100644 +index aa37de55..4d5297cc 100644 --- a/src/utilities/Makefile.am +++ b/src/utilities/Makefile.am -@@ -1,4 +1,4 @@ +@@ -16,7 +16,7 @@ + # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + # + -AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ +AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \ `pkg-config --silence-errors --cflags json` \ `pkg-config --silence-errors --cflags json-c` -- -2.7.4 +2.17.1 diff --git a/bsp/buildroot/package/fwts/Config.in b/bsp/buildroot/package/fwts/Config.in index 37759c61..94ac6063 100644 --- a/bsp/buildroot/package/fwts/Config.in +++ b/bsp/buildroot/package/fwts/Config.in @@ -1,13 +1,15 @@ config BR2_PACKAGE_FWTS bool "fwts" depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 - depends on BR2_USE_MMU # libglib2 + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c + depends on BR2_USE_MMU # libglib2, libbsd + depends on BR2_USE_WCHAR # libglib2, libbsd + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libbsd depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_JSON_C + select BR2_PACKAGE_LIBBSD help Firmware Test Suite (FWTS) is a test suite that performs sanity checks on firmware. It is intended to identify BIOS and @@ -19,8 +21,21 @@ config BR2_PACKAGE_FWTS https://wiki.ubuntu.com/FirmwareTestSuite +if BR2_PACKAGE_FWTS +config BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE + bool "efi_runtime module" + depends on BR2_LINUX_KERNEL + help + Firmware Test Suite (FWTS) provides a EFI runtime kernel + module required to run UEFI tests. + +comment "efi_runtime module needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL +endif + comment "fwts needs a glibc toolchain w/ wchar, threads" depends on BR2_i386 || BR2_x86_64 || BR2_aarch64 + depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ diff --git a/bsp/buildroot/package/fwts/fwts.hash b/bsp/buildroot/package/fwts/fwts.hash index e23386e1..c3f3b578 100644 --- a/bsp/buildroot/package/fwts/fwts.hash +++ b/bsp/buildroot/package/fwts/fwts.hash @@ -1,2 +1,2 @@ # Hash from: http://fwts.ubuntu.com/release/SHA256SUMS -sha256 077b57864515ffdd6d655201da750829f9ccffb8f280eb86d01c2ef184cdcb16 fwts-V16.11.00.tar.gz +sha256 7fcdcf3acecfb92510fcb2faef3ab0db66f639bf3f068cf77a4e0aebba036f93 fwts-V18.09.00.tar.gz diff --git a/bsp/buildroot/package/fwts/fwts.mk b/bsp/buildroot/package/fwts/fwts.mk index 8b0c5b0e..b29de2cf 100644 --- a/bsp/buildroot/package/fwts/fwts.mk +++ b/bsp/buildroot/package/fwts/fwts.mk @@ -4,13 +4,19 @@ # ################################################################################ -FWTS_VERSION = V16.11.00 +FWTS_VERSION = V18.09.00 FWTS_SITE = http://fwts.ubuntu.com/release FWTS_STRIP_COMPONENTS = 0 FWTS_LICENSE = GPL-2.0, LGPL-2.1, Custom FWTS_LICENSE_FILES = debian/copyright FWTS_AUTORECONF = YES -FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf json-c libglib2 \ +FWTS_DEPENDENCIES = host-bison host-flex host-pkgconf json-c libglib2 libbsd \ + $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ $(if $(BR2_PACKAGE_DTC),dtc) +ifdef BR2_PACKAGE_FWTS_EFI_RUNTIME_MODULE +FWTS_MODULE_SUBDIRS = efi_runtime +$(eval $(kernel-module)) +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/fwup/fwup.hash b/bsp/buildroot/package/fwup/fwup.hash index 32398bf4..73bff448 100644 --- a/bsp/buildroot/package/fwup/fwup.hash +++ b/bsp/buildroot/package/fwup/fwup.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 852e255bd65f9db473a06184abb3e94e3b6b86be7bf66169e8df8146d5966ae1 fwup-v0.15.4.tar.gz +sha256 20302dc96cef88438034e15551e178bb0652c28d99aa7ca5260100cb3bebbc2a fwup-v1.2.5.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/fwup/fwup.mk b/bsp/buildroot/package/fwup/fwup.mk index c6a18c29..be0b1d13 100644 --- a/bsp/buildroot/package/fwup/fwup.mk +++ b/bsp/buildroot/package/fwup/fwup.mk @@ -4,7 +4,7 @@ # ################################################################################ -FWUP_VERSION = v0.15.4 +FWUP_VERSION = v1.2.5 FWUP_SITE = $(call github,fhunleth,fwup,$(FWUP_VERSION)) FWUP_LICENSE = Apache-2.0 FWUP_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/gadgetfs-test/Config.in b/bsp/buildroot/package/gadgetfs-test/Config.in index 9a603066..ca14c91b 100644 --- a/bsp/buildroot/package/gadgetfs-test/Config.in +++ b/bsp/buildroot/package/gadgetfs-test/Config.in @@ -8,7 +8,6 @@ if BR2_PACKAGE_GADGETFS_TEST config BR2_PACKAGE_GADGETFS_TEST_USE_AIO bool "use asynchronous i/o" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS select BR2_PACKAGE_LIBAIO help Select this to have gadgetfs-test do asynchronous I/O using diff --git a/bsp/buildroot/package/gauche/gauche.mk b/bsp/buildroot/package/gauche/gauche.mk index 1e1ee390..0b4185f5 100644 --- a/bsp/buildroot/package/gauche/gauche.mk +++ b/bsp/buildroot/package/gauche/gauche.mk @@ -29,5 +29,5 @@ endif # here. GAUCHE_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" -$(eval $(host-autotools-package)) $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/gawk/0001-no-versioned.patch b/bsp/buildroot/package/gawk/0001-no-versioned.patch index 0c35088e..c5bbddde 100644 --- a/bsp/buildroot/package/gawk/0001-no-versioned.patch +++ b/bsp/buildroot/package/gawk/0001-no-versioned.patch @@ -1,5 +1,4 @@ Disabled versioned installation of binaries to save space. -Also use symlinks where it's appropiate. Signed-off-by: Gustavo Zacarias [Gustavo: update for 4.1.2] @@ -7,15 +6,6 @@ Signed-off-by: Gustavo Zacarias diff -Nura gawk-4.1.2.orig/Makefile.in gawk-4.1.2/Makefile.in --- gawk-4.1.2.orig/Makefile.in 2015-04-29 16:11:09.367925925 -0300 +++ gawk-4.1.2/Makefile.in 2015-04-29 16:11:25.308466495 -0300 -@@ -554,7 +554,7 @@ - CLEANFILES = core core.* - - # We want hard links for install-exec-hook, below --LN = ln -+LN = $(LN_S) - - # For some make's, e.g. OpenBSD, that don't define this - RM = rm -f @@ -1173,6 +1173,7 @@ # (This is done universally, which may not always be right, but # there's no easy way to distinguish GNU from non-GNU systems.) diff --git a/bsp/buildroot/package/gawk/Config.in b/bsp/buildroot/package/gawk/Config.in index a065243b..e9cf4c5f 100644 --- a/bsp/buildroot/package/gawk/Config.in +++ b/bsp/buildroot/package/gawk/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_GAWK bool "gawk" depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() - depends on !BR2_STATIC_LIBS depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS help A special-purpose programming language which is data driven @@ -11,7 +10,7 @@ config BR2_PACKAGE_GAWK http://www.gnu.org/software/gawk/ -comment "gawk needs a toolchain w/ wchar, dynamic library" +comment "gawk needs a toolchain w/ wchar" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS + depends on !BR2_USE_WCHAR depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS diff --git a/bsp/buildroot/package/gawk/gawk.hash b/bsp/buildroot/package/gawk/gawk.hash index e2c7806c..d8dd27c1 100644 --- a/bsp/buildroot/package/gawk/gawk.hash +++ b/bsp/buildroot/package/gawk/gawk.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 53e184e2d0f90def9207860531802456322be091c7b48f23fdc79cda65adc266 gawk-4.1.4.tar.xz +# https://ftp.gnu.org/gnu/gawk/gawk-4.2.1.tar.xz.sig +sha256 d1119785e746d46a8209d28b2de404a57f983aa48670f4e225531d3bdc175551 gawk-4.2.1.tar.xz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/gawk/gawk.mk b/bsp/buildroot/package/gawk/gawk.mk index 823aa274..7c93aefe 100644 --- a/bsp/buildroot/package/gawk/gawk.mk +++ b/bsp/buildroot/package/gawk/gawk.mk @@ -4,18 +4,13 @@ # ################################################################################ -GAWK_VERSION = 4.1.4 +GAWK_VERSION = 4.2.1 GAWK_SOURCE = gawk-$(GAWK_VERSION).tar.xz GAWK_SITE = $(BR2_GNU_MIRROR)/gawk GAWK_DEPENDENCIES = host-gawk GAWK_LICENSE = GPL-3.0+ GAWK_LICENSE_FILES = COPYING -# Prefer full-blown gawk over busybox awk -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -GAWK_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_LIBSIGSEGV),y) GAWK_DEPENDENCIES += libsigsegv endif @@ -44,13 +39,5 @@ endef GAWK_POST_INSTALL_TARGET_HOOKS += GAWK_CREATE_SYMLINK -# Assume we support shared libs -# The check isn't cross-compile friendly and it's mandatory anyway -define GAWK_DISABLE_SHARED_CHECK - $(SED) 's/ check-for-shared-lib-support//' $(@D)/extension/Makefile.in -endef - -GAWK_POST_PATCH_HOOKS += GAWK_DISABLE_SHARED_CHECK - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch b/bsp/buildroot/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch new file mode 100644 index 00000000..d701ab68 --- /dev/null +++ b/bsp/buildroot/package/gcc/4.9.4/0002-m68k-coldfire-pr68467.patch @@ -0,0 +1,48 @@ +Backport from upstream, see +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 + +Signed-off-by: Waldemar Brodkorb + +diff -Nur gcc-4.9.4.orig/gcc/config/m68k/m68k.c gcc-4.9.4/gcc/config/m68k/m68k.c +--- gcc-4.9.4.orig/gcc/config/m68k/m68k.c 2014-02-27 12:10:55.000000000 +0100 ++++ gcc-4.9.4/gcc/config/m68k/m68k.c 2018-02-17 21:28:53.430538916 +0100 +@@ -166,6 +166,8 @@ + const_tree, bool); + static bool m68k_cannot_force_const_mem (enum machine_mode mode, rtx x); + static bool m68k_output_addr_const_extra (FILE *, rtx); ++static machine_mode m68k_promote_function_mode (const_tree, machine_mode, ++ int *, const_tree, int); + static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; + + /* Initialize the GCC target structure. */ +@@ -308,6 +310,9 @@ + #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL + #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 + ++#undef TARGET_PROMOTE_FUNCTION_MODE ++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode ++ + static const struct attribute_spec m68k_attribute_table[] = + { + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, +@@ -6527,4 +6532,20 @@ + == m68k_fk_interrupt_handler)); + } + ++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ ++ ++static machine_mode ++m68k_promote_function_mode (const_tree type, machine_mode mode, ++ int *punsignedp ATTRIBUTE_UNUSED, ++ const_tree fntype ATTRIBUTE_UNUSED, ++ int for_return) ++{ ++ /* Promote libcall arguments narrower than int to match the normal C ++ ABI (for which promotions are handled via ++ TARGET_PROMOTE_PROTOTYPES). */ ++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) ++ return SImode; ++ return mode; ++} ++ + #include "gt-m68k.h" diff --git a/bsp/buildroot/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch b/bsp/buildroot/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch new file mode 100644 index 00000000..5b4c05a7 --- /dev/null +++ b/bsp/buildroot/package/gcc/4.9.4/0003-libsanitizer-Use-pre-computed-size.patch @@ -0,0 +1,71 @@ +From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001 +From: hjl +Date: Thu, 24 May 2018 20:21:54 +0000 +Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux + +Cherry-pick compiler-rt revision 333213: + + has been removed from glibc 2.28 by: + +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 +Author: Adhemerval Zanella +Date: Sun Mar 18 11:28:59 2018 +0800 + + Deprecate ustat syscall interface + +This patch uses pre-computed size of struct ustat for Linux. + + PR sanitizer/85835 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't + include for Linux. + (SIZEOF_STRUCT_USTAT): New. + (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4 + +Backported from upstream commit +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=61f38c64c01a15560026115a157b7021ec67bd3b + +Signed-off-by: Bernd Kuhls +--- + libsanitizer/ChangeLog | 8 ++++++++ + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- + 2 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 31a5e69..8017afd 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -81,7 +89,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -163,7 +170,19 @@ + unsigned struct_old_utsname_sz = sizeof(struct old_utsname); + unsigned struct_oldold_utsname_sz = sizeof(struct oldold_utsname); + unsigned struct_itimerspec_sz = sizeof(struct itimerspec); +- unsigned struct_ustat_sz = sizeof(struct ustat); ++ // Use pre-computed size of struct ustat to avoid which ++ // has been removed from glibc 2.28. ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ ++ || defined(__x86_64__) ++#define SIZEOF_STRUCT_USTAT 32 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ ++ || defined(__powerpc__) || defined(__s390__) ++#define SIZEOF_STRUCT_USTAT 20 ++#else ++#error Unknown size of struct ustat ++#endif ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +-- +2.9.3 diff --git a/bsp/buildroot/package/gcc/4.9.4/891-fix-m68k-uclinux.patch b/bsp/buildroot/package/gcc/4.9.4/891-fix-m68k-uclinux.patch deleted file mode 100644 index 4347642d..00000000 --- a/bsp/buildroot/package/gcc/4.9.4/891-fix-m68k-uclinux.patch +++ /dev/null @@ -1,18 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-4.9.3.orig/libgcc/config.host gcc-4.9.3/libgcc/config.host ---- gcc-4.9.3.orig/libgcc/config.host 2014-03-27 16:40:31.000000000 +0100 -+++ gcc-4.9.3/libgcc/config.host 2016-04-05 16:20:53.422809885 +0200 -@@ -750,7 +750,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/bsp/buildroot/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch b/bsp/buildroot/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch new file mode 100644 index 00000000..75ad5360 --- /dev/null +++ b/bsp/buildroot/package/gcc/5.5.0/0001-m68k-coldfire-pr68467.patch @@ -0,0 +1,48 @@ +Backport from upstream, see +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 + +Signed-off-by: Waldemar Brodkorb + +diff -Nur gcc-5.5.0.orig/gcc/config/m68k/m68k.c gcc-5.5.0/gcc/config/m68k/m68k.c +--- gcc-5.5.0.orig/gcc/config/m68k/m68k.c 2015-01-15 14:28:42.000000000 +0100 ++++ gcc-5.5.0/gcc/config/m68k/m68k.c 2018-02-17 19:34:33.146309632 +0100 +@@ -196,6 +196,8 @@ + const_tree, bool); + static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x); + static bool m68k_output_addr_const_extra (FILE *, rtx); ++static machine_mode m68k_promote_function_mode (const_tree, machine_mode, ++ int *, const_tree, int); + static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; + + /* Initialize the GCC target structure. */ +@@ -338,6 +340,9 @@ + #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL + #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 + ++#undef TARGET_PROMOTE_FUNCTION_MODE ++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode ++ + static const struct attribute_spec m68k_attribute_table[] = + { + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, +@@ -6548,4 +6553,20 @@ + == m68k_fk_interrupt_handler)); + } + ++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ ++ ++static machine_mode ++m68k_promote_function_mode (const_tree type, machine_mode mode, ++ int *punsignedp ATTRIBUTE_UNUSED, ++ const_tree fntype ATTRIBUTE_UNUSED, ++ int for_return) ++{ ++ /* Promote libcall arguments narrower than int to match the normal C ++ ABI (for which promotions are handled via ++ TARGET_PROMOTE_PROTOTYPES). */ ++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) ++ return SImode; ++ return mode; ++} ++ + #include "gt-m68k.h" diff --git a/bsp/buildroot/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch b/bsp/buildroot/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch new file mode 100644 index 00000000..6e73331e --- /dev/null +++ b/bsp/buildroot/package/gcc/5.5.0/0002-libsanitizer-Use-pre-computed-size.patch @@ -0,0 +1,72 @@ +From 61f38c64c01a15560026115a157b7021ec67bd3b Mon Sep 17 00:00:00 2001 +From: hjl +Date: Thu, 24 May 2018 20:21:54 +0000 +Subject: [PATCH] libsanitizer: Use pre-computed size of struct ustat for Linux + +Cherry-pick compiler-rt revision 333213: + + has been removed from glibc 2.28 by: + +commit cf2478d53ad7071e84c724a986b56fe17f4f4ca7 +Author: Adhemerval Zanella +Date: Sun Mar 18 11:28:59 2018 +0800 + + Deprecate ustat syscall interface + +This patch uses pre-computed size of struct ustat for Linux. + + PR sanitizer/85835 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Don't + include for Linux. + (SIZEOF_STRUCT_USTAT): New. + (struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux. + + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@260688 138bc75d-0d04-0410-961f-82ee72b054a4 + +Downloaded from upstream commit +https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=61f38c64c01a15560026115a157b7021ec67bd3b + +Signed-off-by: Bernd Kuhls +--- + libsanitizer/ChangeLog | 8 ++++++++ + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 15 +++++++++++++-- + 2 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +index 31a5e69..8017afd 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc +@@ -154,7 +154,6 @@ typedef struct user_fpregs elf_fpregset_t; + # include + #endif + #include +-#include + #include + #include + #include +@@ -247,7 +246,19 @@ namespace __sanitizer { + #endif // SANITIZER_LINUX || SANITIZER_FREEBSD + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned struct_ustat_sz = sizeof(struct ustat); ++ // Use pre-computed size of struct ustat to avoid which ++ // has been removed from glibc 2.28. ++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \ ++ || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \ ++ || defined(__x86_64__) ++#define SIZEOF_STRUCT_USTAT 32 ++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \ ++ || defined(__powerpc__) || defined(__s390__) ++#define SIZEOF_STRUCT_USTAT 20 ++#else ++#error Unknown size of struct ustat ++#endif ++ unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + unsigned struct_rlimit64_sz = sizeof(struct rlimit64); + unsigned struct_statvfs64_sz = sizeof(struct statvfs64); + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID +-- +2.9.3 + diff --git a/bsp/buildroot/package/gcc/5.5.0/891-fix-m68k-uclinux.patch b/bsp/buildroot/package/gcc/5.5.0/891-fix-m68k-uclinux.patch deleted file mode 100644 index 4e186bd3..00000000 --- a/bsp/buildroot/package/gcc/5.5.0/891-fix-m68k-uclinux.patch +++ /dev/null @@ -1,18 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-5.3.0.orig/libgcc/config.host gcc-5.3.0/libgcc/config.host ---- gcc-5.3.0.orig/libgcc/config.host 2015-10-01 14:01:18.000000000 +0200 -+++ gcc-5.3.0/libgcc/config.host 2016-04-26 21:30:25.353691745 +0200 -@@ -794,7 +794,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/bsp/buildroot/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch b/bsp/buildroot/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch deleted file mode 100644 index ee096cfc..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/0002-fix-building-on-ppc64.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 765527ad3725c5f3e82ab2b8e5031120b409983d Mon Sep 17 00:00:00 2001 -From: marxin -Date: Fri, 15 Jun 2018 08:51:28 +0000 -Subject: [PATCH] Partial backport r256656 - -2018-06-15 Martin Liska - - Backport from mainline - 2018-01-10 Kelvin Nilsen - - * lex.c (search_line_fast): Remove illegal coercion of an - unaligned pointer value to vector pointer type and replace with - use of __builtin_vec_vsx_ld () built-in function, which operates - on unaligned pointer values. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Joel Stanley ---- - libcpp/lex.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcpp/lex.c b/libcpp/lex.c -index e5a0397f3099..b789686f1c49 100644 ---- a/libcpp/lex.c -+++ b/libcpp/lex.c -@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) - { - vc m_nl, m_cr, m_bs, m_qm; - -- data = *((const vc *)s); -+ data = __builtin_vec_vsx_ld (0, s); - s += 16; - - m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); --- -2.17.1 - diff --git a/bsp/buildroot/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch b/bsp/buildroot/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 5fe38414..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/870-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3bc2ee6886f1619bc6a2257a0775142526b1a57a Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 2bdf5ccef979..92fdeb08046d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -601,6 +601,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode) - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - --- -2.1.4 - diff --git a/bsp/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch b/bsp/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch deleted file mode 100644 index 7ead5754..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/871-xtensa-fix-PR-target-65416.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 Jun 2018 21:18:39 -0700 -Subject: [PATCH] xtensa: fix PR target/65416 - -The issue is caused by reordering of stack pointer update after stack -space allocation with instructions that write to the allocated stack -space. In windowed ABI register spill area for the previous call frame -is located just below the stack pointer and may be reloaded back into -the register file on movsp. -Implement allocate_stack pattern for windowed ABI configuration and -insert an instruction that prevents reordering of frame memory access -and stack pointer update. - -gcc/ -2018-06-19 Max Filippov - - * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec - constant. - (allocate_stack, frame_blockage, *frame_blockage): New patterns. - -Signed-off-by: Max Filippov -Backported from: r261755 ---- - gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 84967dbedc08..209f839cfb0f 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -38,6 +38,7 @@ - (UNSPEC_MEMW 11) - (UNSPEC_LSETUP_START 12) - (UNSPEC_LSETUP_END 13) -+ (UNSPEC_FRAME_BLOCKAGE 14) - - (UNSPECV_SET_FP 1) - (UNSPECV_ENTRY 2) -@@ -1676,6 +1677,32 @@ - - ;; Miscellaneous instructions. - -+;; In windowed ABI stack pointer adjustment must happen before any access -+;; to the space allocated on stack is allowed, otherwise register spill -+;; area may be clobbered. That's what frame blockage is supposed to enforce. -+ -+(define_expand "allocate_stack" -+ [(set (match_operand 0 "nonimmed_operand") -+ (minus (reg A1_REG) (match_operand 1 "add_operand"))) -+ (set (reg A1_REG) -+ (minus (reg A1_REG) (match_dup 1)))] -+ "TARGET_WINDOWED_ABI" -+{ -+ if (CONST_INT_P (operands[1])) -+ { -+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); -+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); -+ } -+ else -+ { -+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, -+ operands[1])); -+ } -+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); -+ emit_insn (gen_frame_blockage ()); -+ DONE; -+}) -+ - (define_expand "prologue" - [(const_int 0)] - "" -@@ -1767,6 +1794,25 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+;; Do not schedule instructions accessing memory before this point. -+ -+(define_expand "frame_blockage" -+ [(set (match_dup 0) -+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+{ -+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); -+ MEM_VOLATILE_P (operands[0]) = 1; -+ operands[1] = stack_pointer_rtx; -+}) -+ -+(define_insn "*frame_blockage" -+ [(set (match_operand:BLK 0 "" "") -+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+ "" -+ [(set_attr "length" "0")]) -+ - (define_insn "trap" - [(trap_if (const_int 1) (const_int 0))] - "" --- -2.11.0 - diff --git a/bsp/buildroot/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/bsp/buildroot/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch deleted file mode 100644 index d62d7c15..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/872-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 4 Sep 2018 00:39:32 -0700 -Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic - -NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. -That fixes libatomic tests atomic-op-{1,2}. - -gcc/ -2018-09-04 Max Filippov - - * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and - XOR operations in NAND case. - -Signed-off-by: Max Filippov -Backported from: r264087 ---- - gcc/config/xtensa/xtensa.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 7cfe64d42895..080bb4ad765d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, - break; - - case MULT: /* NAND */ -- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, -+ tmp = expand_simple_binop (SImode, AND, old, val, - NULL_RTX, 1, OPTAB_DIRECT); -- tmp = expand_simple_binop (SImode, AND, tmp, val, -+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, - new_rtx, 1, OPTAB_DIRECT); - break; - --- -2.11.0 - diff --git a/bsp/buildroot/package/gcc/6.4.0/891-fix-m68k-uclinux.patch b/bsp/buildroot/package/gcc/6.4.0/891-fix-m68k-uclinux.patch deleted file mode 100644 index 754aa74e..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/891-fix-m68k-uclinux.patch +++ /dev/null @@ -1,18 +0,0 @@ -avoids internal compiler error while compiling linux-atomic.c -See here: -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-6.1.0.orig/libgcc/config.host gcc-6.1.0/libgcc/config.host ---- gcc-6.1.0.orig/libgcc/config.host 2016-02-26 21:02:28.000000000 +0100 -+++ gcc-6.1.0/libgcc/config.host 2016-04-29 09:18:40.377989160 +0200 -@@ -812,7 +812,7 @@ - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux diff --git a/bsp/buildroot/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch b/bsp/buildroot/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch deleted file mode 100644 index 73ee6c5f..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/892-libgcc-mkmap-symver-support-skip_underscore.patch +++ /dev/null @@ -1,60 +0,0 @@ -From ae9c3e354440c4a0f105a9eabfb2f77be085ebc1 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 18 Aug 2016 17:59:16 +0200 -Subject: [PATCH] libgcc/mkmap-symver: support skip_underscore - -Some platforms, such as Blackfin, have a special prefix for assembly -symbols as opposed to C symbols. For this reason, a function named -"foo()" in C will in fact be visible as a symbol called "_foo" in the -ELF binary. - -The current linker version script logic in libgcc doesn't take into -account this situation properly. The Blackfin specific -libgcc/config/bfin/libgcc-glibc.ver has an additional "_" in front of -every symbol so that it matches the output of "nm" (which gets parsed to -produce the final linker version script). But due to this additional -"_", ld no longer matches with the symbols since "ld" does the matching -with the original symbol name, not the one prefixed with "_". - -Due to this, none of the symbols in libgcc/config/bfin/libgcc-glibc.ver -are actually matched with symbols in libgcc. This causes all libgcc -symbols to be left as "LOCAL", which causes lots of "undefined -reference" whenever some C or C++ code that calls a function of libgcc -is compiled. - -To address this, this commit introduces a "skip_underscore" variable to -the mkmap-symver script. It tells mkmap-symver to ignore the leading -underscore from the "nm" output. - -Note that this new argument is different from the existing -"leading_underscore" argument, which *adds* an additional underscore to -the generated linker version script. - -Having this functionality paves the way to using the generic linker -version information for Blackfin, instead of using a custom one. - -Signed-off-by: Thomas Petazzoni ---- - libgcc/mkmap-symver.awk | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/libgcc/mkmap-symver.awk b/libgcc/mkmap-symver.awk -index 266832a..30bb179 100644 ---- a/libgcc/mkmap-symver.awk -+++ b/libgcc/mkmap-symver.awk -@@ -47,7 +47,11 @@ state == "nm" && ($1 == "U" || $2 == "U") { - - state == "nm" && NF == 3 { - split ($3, s, "@") -- def[s[1]] = 1; -+ if (skip_underscore) -+ symname = substr(s[1], 2); -+ else -+ symname = s[1]; -+ def[symname] = 1; - sawsymbol = 1; - next; - } --- -2.7.4 - diff --git a/bsp/buildroot/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch b/bsp/buildroot/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch deleted file mode 100644 index 454295d0..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/893-libgcc-config-bfin-use-the-generic-linker-version-in.patch +++ /dev/null @@ -1,1944 +0,0 @@ -From 56d606931716de30a89a40dc69a9282c1b4e2880 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 18 Aug 2016 18:04:06 +0200 -Subject: [PATCH] libgcc/config/bfin: use the generic linker version - information - -This commit makes the Blackfin platform use the generic linker version -information, rather than a completely duplicated file, specific for the -Blackfin architecture. - -This is made possible using the newly introduced skip_underscore -variable of the mkmap-symver script. - -This also allows to get a correct linker version file, with symbol names -matching the ones found in libgcc. Thanks to this, the necessary symbols -are marked "GLOBAL" instead of "LOCAL", which makes them visible at link -time, and solves a large number of "undefined reference" -issues. Indeed, the Blackfin specific linker version script had an extra -underscore in front of all symbols, which meant none of them matched the -symbols in libgcc, and therefore all libgcc symbols were marked as -"LOCAL", making them invisible for linking. - -Signed-off-by: Thomas Petazzoni ---- - libgcc/config/bfin/libgcc-glibc.ver | 1894 +---------------------------------- - libgcc/config/bfin/t-linux | 3 +- - 2 files changed, 4 insertions(+), 1893 deletions(-) - -diff --git a/libgcc/config/bfin/libgcc-glibc.ver b/libgcc/config/bfin/libgcc-glibc.ver -index b1bd2df..2af3df7 100644 ---- a/libgcc/config/bfin/libgcc-glibc.ver -+++ b/libgcc/config/bfin/libgcc-glibc.ver -@@ -16,1898 +16,8 @@ - # along with GCC; see the file COPYING3. If not see - # . - --GCC_3.0 { -- # libgcc1 integer symbols -- ___absvsi2 -- ___addvsi3 -- ___ashlsi3 -- ___ashrsi3 -- ___divsi3 -- ___lshrsi3 -- ___modsi3 -- ___mulsi3 -- ___mulvsi3 -- ___negvsi2 -- ___subvsi3 -- ___udivsi3 -- ___umodsi3 -- -- # libgcc1 floating point symbols -- ___addsf3 -- ___adddf3 -- ___addxf3 -- ___addtf3 -- ___divsf3 -- ___divdf3 -- ___divxf3 -- ___divtf3 -- ___eqsf2 -- ___eqdf2 -- ___eqxf2 -- ___eqtf2 -- ___extenddfxf2 -- ___extenddftf2 -- ___extendsfdf2 -- ___extendsfxf2 -- ___extendsftf2 -- ___fixsfsi -- ___fixdfsi -- ___fixxfsi -- ___fixtfsi -- ___floatsisf -- ___floatsidf -- ___floatsixf -- ___floatsitf -- ___gesf2 -- ___gedf2 -- ___gexf2 -- ___getf2 -- ___gtsf2 -- ___gtdf2 -- ___gtxf2 -- ___gttf2 -- ___lesf2 -- ___ledf2 -- ___lexf2 -- ___letf2 -- ___ltsf2 -- ___ltdf2 -- ___ltxf2 -- ___lttf2 -- ___mulsf3 -- ___muldf3 -- ___mulxf3 -- ___multf3 -- ___negsf2 -- ___negdf2 -- ___negxf2 -- ___negtf2 -- ___nesf2 -- ___nedf2 -- ___nexf2 -- ___netf2 -- ___subsf3 -- ___subdf3 -- ___subxf3 -- ___subtf3 -- ___truncdfsf2 -- ___truncxfsf2 -- ___trunctfsf2 -- ___truncxfdf2 -- ___trunctfdf2 -- -- # libgcc2 DImode arithmetic (for 32-bit targets). -- ___absvdi2 -- ___addvdi3 -- ___ashldi3 -- ___ashrdi3 -- ___cmpdi2 -- ___divdi3 -- ___ffsdi2 -- ___fixdfdi -- ___fixsfdi -- ___fixtfdi -- ___fixxfdi -- ___fixunsdfdi -- ___fixunsdfsi -- ___fixunssfsi -- ___fixunssfdi -- ___fixunstfdi -- ___fixunstfsi -- ___fixunsxfdi -- ___fixunsxfsi -- ___floatdidf -- ___floatdisf -- ___floatdixf -- ___floatditf -- ___lshrdi3 -- ___moddi3 -- ___muldi3 -- ___mulvdi3 -- ___negdi2 -- ___negvdi2 -- ___subvdi3 -- ___ucmpdi2 -- ___udivdi3 -- ___udivmoddi4 -- ___umoddi3 -- -- # libgcc2 TImode arithmetic (for 64-bit targets). -- ___ashlti3 -- ___ashrti3 -- ___cmpti2 -- ___divti3 -- ___ffsti2 -- ___fixdfti -- ___fixsfti -- ___fixtfti -- ___fixxfti -- ___lshrti3 -- ___modti3 -- ___multi3 -- ___negti2 -- ___ucmpti2 -- ___udivmodti4 -- ___udivti3 -- ___umodti3 -- ___fixunsdfti -- ___fixunssfti -- ___fixunstfti -- ___fixunsxfti -- ___floattidf -- ___floattisf -- ___floattixf -- ___floattitf -- -- # Used to deal with trampoline initialization on some platforms -- ___clear_cache -- -- # EH symbols -- __Unwind_DeleteException -- __Unwind_Find_FDE -- __Unwind_ForcedUnwind -- __Unwind_GetGR -- __Unwind_GetIP -- __Unwind_GetLanguageSpecificData -- __Unwind_GetRegionStart -- __Unwind_GetTextRelBase -- __Unwind_GetDataRelBase -- __Unwind_RaiseException -- __Unwind_Resume -- __Unwind_SetGR -- __Unwind_SetIP -- ___deregister_frame -- ___deregister_frame_info -- ___deregister_frame_info_bases -- ___register_frame -- ___register_frame_info -- ___register_frame_info_bases -- ___register_frame_info_table -- ___register_frame_info_table_bases -- ___register_frame_table -- -- # SjLj EH symbols -- __Unwind_SjLj_Register -- __Unwind_SjLj_Unregister -- __Unwind_SjLj_RaiseException -- __Unwind_SjLj_ForcedUnwind -- __Unwind_SjLj_Resume --} -- --%inherit GCC_3.3 GCC_3.0 --GCC_3.3 { -- __Unwind_FindEnclosingFunction -- __Unwind_GetCFA -- __Unwind_Backtrace -- __Unwind_Resume_or_Rethrow -- __Unwind_SjLj_Resume_or_Rethrow --} -- --%inherit GCC_3.3.1 GCC_3.3 --GCC_3.3.1 { -- ___gcc_personality_sj0 -- ___gcc_personality_v0 --} -- --%inherit GCC_3.3.2 GCC_3.3.1 --GCC_3.3.2 { --} --%inherit GCC_3.3.4 GCC_3.3.2 --GCC_3.3.4 { -- ___unorddf2 -- ___unordsf2 --} -- --%inherit GCC_3.4 GCC_3.3.4 --GCC_3.4 { -- # bit scanning and counting built-ins -- ___clzsi2 -- ___clzdi2 -- ___clzti2 -- ___ctzsi2 -- ___ctzdi2 -- ___ctzti2 -- ___popcountsi2 -- ___popcountdi2 -- ___popcountti2 -- ___paritysi2 -- ___paritydi2 -- ___parityti2 --} -- --%inherit GCC_3.4.2 GCC_3.4 --GCC_3.4.2 { -- # Used to deal with trampoline initialization on some platforms -- ___enable_execute_stack -- ___trampoline_setup --} -- --%inherit GCC_3.4.4 GCC_3.4.2 --GCC_3.4.4 { -- # libgcc2 TImode arithmetic (for 64-bit targets). -- ___absvti2 -- ___addvti3 -- ___mulvti3 -- ___negvti2 -- ___subvti3 --} -- --%inherit GCC_4.0.0 GCC_3.4.4 --GCC_4.0.0 { -- # libgcc2 __builtin_powi helpers. -- ___powisf2 -- ___powidf2 -- ___powixf2 -- ___powitf2 -- -- # c99 compliant complex arithmetic -- ___divsc3 -- ___divdc3 -- ___divxc3 -- ___divtc3 -- ___mulsc3 -- ___muldc3 -- ___mulxc3 -- ___multc3 --} -- - %inherit GCC_4.1.0 GCC_4.0.0 - GCC_4.1.0 { -- ___smulsi3_highpart -- ___umulsi3_highpart --} -- --%inherit GCC_4.2.0 GCC_4.1.0 --GCC_4.2.0 { -- # unsigned-to-floating conversions -- ___floatunsisf -- ___floatunsidf -- ___floatunsixf -- ___floatunsitf -- ___floatundidf -- ___floatundisf -- ___floatundixf -- ___floatunditf -- ___floatuntidf -- ___floatuntisf -- ___floatuntixf -- ___floatuntitf -- __Unwind_GetIPInfo --} -- --%inherit GCC_4.3.0 GCC_4.2.0 --GCC_4.3.0 { -- # byte swapping routines -- ___bswapsi2 -- ___bswapdi2 -- ___emutls_get_address -- ___emutls_register_common -- ___ffssi2 -- ___extendxftf2 -- ___trunctfxf2 -- -- # fixed-point routines -- ___addqq3 -- ___addhq3 -- ___addsq3 -- ___adddq3 -- ___addtq3 -- ___adduqq3 -- ___adduhq3 -- ___addusq3 -- ___addudq3 -- ___addutq3 -- ___addha3 -- ___addsa3 -- ___addda3 -- ___addta3 -- ___adduha3 -- ___addusa3 -- ___adduda3 -- ___adduta3 -- ___ssaddqq3 -- ___ssaddhq3 -- ___ssaddsq3 -- ___ssadddq3 -- ___ssaddtq3 -- ___ssaddha3 -- ___ssaddsa3 -- ___ssaddda3 -- ___ssaddta3 -- ___usadduqq3 -- ___usadduhq3 -- ___usaddusq3 -- ___usaddudq3 -- ___usaddutq3 -- ___usadduha3 -- ___usaddusa3 -- ___usadduda3 -- ___usadduta3 -- ___subqq3 -- ___subhq3 -- ___subsq3 -- ___subdq3 -- ___subtq3 -- ___subuqq3 -- ___subuhq3 -- ___subusq3 -- ___subudq3 -- ___subutq3 -- ___subha3 -- ___subsa3 -- ___subda3 -- ___subta3 -- ___subuha3 -- ___subusa3 -- ___subuda3 -- ___subuta3 -- ___sssubqq3 -- ___sssubhq3 -- ___sssubsq3 -- ___sssubdq3 -- ___sssubtq3 -- ___sssubha3 -- ___sssubsa3 -- ___sssubda3 -- ___sssubta3 -- ___ussubuqq3 -- ___ussubuhq3 -- ___ussubusq3 -- ___ussubudq3 -- ___ussubutq3 -- ___ussubuha3 -- ___ussubusa3 -- ___ussubuda3 -- ___ussubuta3 -- ___mulqq3 -- ___mulhq3 -- ___mulsq3 -- ___muldq3 -- ___multq3 -- ___muluqq3 -- ___muluhq3 -- ___mulusq3 -- ___muludq3 -- ___mulutq3 -- ___mulha3 -- ___mulsa3 -- ___mulda3 -- ___multa3 -- ___muluha3 -- ___mulusa3 -- ___muluda3 -- ___muluta3 -- ___ssmulqq3 -- ___ssmulhq3 -- ___ssmulsq3 -- ___ssmuldq3 -- ___ssmultq3 -- ___ssmulha3 -- ___ssmulsa3 -- ___ssmulda3 -- ___ssmulta3 -- ___usmuluqq3 -- ___usmuluhq3 -- ___usmulusq3 -- ___usmuludq3 -- ___usmulutq3 -- ___usmuluha3 -- ___usmulusa3 -- ___usmuluda3 -- ___usmuluta3 -- ___divqq3 -- ___divhq3 -- ___divsq3 -- ___divdq3 -- ___divtq3 -- ___divha3 -- ___divsa3 -- ___divda3 -- ___divta3 -- ___udivuqq3 -- ___udivuhq3 -- ___udivusq3 -- ___udivudq3 -- ___udivutq3 -- ___udivuha3 -- ___udivusa3 -- ___udivuda3 -- ___udivuta3 -- ___ssdivqq3 -- ___ssdivhq3 -- ___ssdivsq3 -- ___ssdivdq3 -- ___ssdivtq3 -- ___ssdivha3 -- ___ssdivsa3 -- ___ssdivda3 -- ___ssdivta3 -- ___usdivuqq3 -- ___usdivuhq3 -- ___usdivusq3 -- ___usdivudq3 -- ___usdivutq3 -- ___usdivuha3 -- ___usdivusa3 -- ___usdivuda3 -- ___usdivuta3 -- ___negqq2 -- ___neghq2 -- ___negsq2 -- ___negdq2 -- ___negtq2 -- ___neguqq2 -- ___neguhq2 -- ___negusq2 -- ___negudq2 -- ___negutq2 -- ___negha2 -- ___negsa2 -- ___negda2 -- ___negta2 -- ___neguha2 -- ___negusa2 -- ___neguda2 -- ___neguta2 -- ___ssnegqq2 -- ___ssneghq2 -- ___ssnegsq2 -- ___ssnegdq2 -- ___ssnegtq2 -- ___ssnegha2 -- ___ssnegsa2 -- ___ssnegda2 -- ___ssnegta2 -- ___usneguqq2 -- ___usneguhq2 -- ___usnegusq2 -- ___usnegudq2 -- ___usnegutq2 -- ___usneguha2 -- ___usnegusa2 -- ___usneguda2 -- ___usneguta2 -- ___ashlqq3 -- ___ashlhq3 -- ___ashlsq3 -- ___ashldq3 -- ___ashltq3 -- ___ashluqq3 -- ___ashluhq3 -- ___ashlusq3 -- ___ashludq3 -- ___ashlutq3 -- ___ashlha3 -- ___ashlsa3 -- ___ashlda3 -- ___ashlta3 -- ___ashluha3 -- ___ashlusa3 -- ___ashluda3 -- ___ashluta3 -- ___ashrqq3 -- ___ashrhq3 -- ___ashrsq3 -- ___ashrdq3 -- ___ashrtq3 -- ___ashrha3 -- ___ashrsa3 -- ___ashrda3 -- ___ashrta3 -- ___lshruqq3 -- ___lshruhq3 -- ___lshrusq3 -- ___lshrudq3 -- ___lshrutq3 -- ___lshruha3 -- ___lshrusa3 -- ___lshruda3 -- ___lshruta3 -- ___ssashlqq3 -- ___ssashlhq3 -- ___ssashlsq3 -- ___ssashldq3 -- ___ssashltq3 -- ___ssashlha3 -- ___ssashlsa3 -- ___ssashlda3 -- ___ssashlta3 -- ___usashluqq3 -- ___usashluhq3 -- ___usashlusq3 -- ___usashludq3 -- ___usashlutq3 -- ___usashluha3 -- ___usashlusa3 -- ___usashluda3 -- ___usashluta3 -- ___cmpqq2 -- ___cmphq2 -- ___cmpsq2 -- ___cmpdq2 -- ___cmptq2 -- ___cmpuqq2 -- ___cmpuhq2 -- ___cmpusq2 -- ___cmpudq2 -- ___cmputq2 -- ___cmpha2 -- ___cmpsa2 -- ___cmpda2 -- ___cmpta2 -- ___cmpuha2 -- ___cmpusa2 -- ___cmpuda2 -- ___cmputa2 -- ___fractqqhq2 -- ___fractqqsq2 -- ___fractqqdq2 -- ___fractqqtq2 -- ___fractqqha -- ___fractqqsa -- ___fractqqda -- ___fractqqta -- ___fractqquqq -- ___fractqquhq -- ___fractqqusq -- ___fractqqudq -- ___fractqqutq -- ___fractqquha -- ___fractqqusa -- ___fractqquda -- ___fractqquta -- ___fractqqqi -- ___fractqqhi -- ___fractqqsi -- ___fractqqdi -- ___fractqqti -- ___fractqqsf -- ___fractqqdf -- ___fracthqqq2 -- ___fracthqsq2 -- ___fracthqdq2 -- ___fracthqtq2 -- ___fracthqha -- ___fracthqsa -- ___fracthqda -- ___fracthqta -- ___fracthquqq -- ___fracthquhq -- ___fracthqusq -- ___fracthqudq -- ___fracthqutq -- ___fracthquha -- ___fracthqusa -- ___fracthquda -- ___fracthquta -- ___fracthqqi -- ___fracthqhi -- ___fracthqsi -- ___fracthqdi -- ___fracthqti -- ___fracthqsf -- ___fracthqdf -- ___fractsqqq2 -- ___fractsqhq2 -- ___fractsqdq2 -- ___fractsqtq2 -- ___fractsqha -- ___fractsqsa -- ___fractsqda -- ___fractsqta -- ___fractsquqq -- ___fractsquhq -- ___fractsqusq -- ___fractsqudq -- ___fractsqutq -- ___fractsquha -- ___fractsqusa -- ___fractsquda -- ___fractsquta -- ___fractsqqi -- ___fractsqhi -- ___fractsqsi -- ___fractsqdi -- ___fractsqti -- ___fractsqsf -- ___fractsqdf -- ___fractdqqq2 -- ___fractdqhq2 -- ___fractdqsq2 -- ___fractdqtq2 -- ___fractdqha -- ___fractdqsa -- ___fractdqda -- ___fractdqta -- ___fractdquqq -- ___fractdquhq -- ___fractdqusq -- ___fractdqudq -- ___fractdqutq -- ___fractdquha -- ___fractdqusa -- ___fractdquda -- ___fractdquta -- ___fractdqqi -- ___fractdqhi -- ___fractdqsi -- ___fractdqdi -- ___fractdqti -- ___fractdqsf -- ___fractdqdf -- ___fracttqqq2 -- ___fracttqhq2 -- ___fracttqsq2 -- ___fracttqdq2 -- ___fracttqha -- ___fracttqsa -- ___fracttqda -- ___fracttqta -- ___fracttquqq -- ___fracttquhq -- ___fracttqusq -- ___fracttqudq -- ___fracttqutq -- ___fracttquha -- ___fracttqusa -- ___fracttquda -- ___fracttquta -- ___fracttqqi -- ___fracttqhi -- ___fracttqsi -- ___fracttqdi -- ___fracttqti -- ___fracttqsf -- ___fracttqdf -- ___fracthaqq -- ___fracthahq -- ___fracthasq -- ___fracthadq -- ___fracthatq -- ___fracthasa2 -- ___fracthada2 -- ___fracthata2 -- ___fracthauqq -- ___fracthauhq -- ___fracthausq -- ___fracthaudq -- ___fracthautq -- ___fracthauha -- ___fracthausa -- ___fracthauda -- ___fracthauta -- ___fracthaqi -- ___fracthahi -- ___fracthasi -- ___fracthadi -- ___fracthati -- ___fracthasf -- ___fracthadf -- ___fractsaqq -- ___fractsahq -- ___fractsasq -- ___fractsadq -- ___fractsatq -- ___fractsaha2 -- ___fractsada2 -- ___fractsata2 -- ___fractsauqq -- ___fractsauhq -- ___fractsausq -- ___fractsaudq -- ___fractsautq -- ___fractsauha -- ___fractsausa -- ___fractsauda -- ___fractsauta -- ___fractsaqi -- ___fractsahi -- ___fractsasi -- ___fractsadi -- ___fractsati -- ___fractsasf -- ___fractsadf -- ___fractdaqq -- ___fractdahq -- ___fractdasq -- ___fractdadq -- ___fractdatq -- ___fractdaha2 -- ___fractdasa2 -- ___fractdata2 -- ___fractdauqq -- ___fractdauhq -- ___fractdausq -- ___fractdaudq -- ___fractdautq -- ___fractdauha -- ___fractdausa -- ___fractdauda -- ___fractdauta -- ___fractdaqi -- ___fractdahi -- ___fractdasi -- ___fractdadi -- ___fractdati -- ___fractdasf -- ___fractdadf -- ___fracttaqq -- ___fracttahq -- ___fracttasq -- ___fracttadq -- ___fracttatq -- ___fracttaha2 -- ___fracttasa2 -- ___fracttada2 -- ___fracttauqq -- ___fracttauhq -- ___fracttausq -- ___fracttaudq -- ___fracttautq -- ___fracttauha -- ___fracttausa -- ___fracttauda -- ___fracttauta -- ___fracttaqi -- ___fracttahi -- ___fracttasi -- ___fracttadi -- ___fracttati -- ___fracttasf -- ___fracttadf -- ___fractuqqqq -- ___fractuqqhq -- ___fractuqqsq -- ___fractuqqdq -- ___fractuqqtq -- ___fractuqqha -- ___fractuqqsa -- ___fractuqqda -- ___fractuqqta -- ___fractuqquhq2 -- ___fractuqqusq2 -- ___fractuqqudq2 -- ___fractuqqutq2 -- ___fractuqquha -- ___fractuqqusa -- ___fractuqquda -- ___fractuqquta -- ___fractuqqqi -- ___fractuqqhi -- ___fractuqqsi -- ___fractuqqdi -- ___fractuqqti -- ___fractuqqsf -- ___fractuqqdf -- ___fractuhqqq -- ___fractuhqhq -- ___fractuhqsq -- ___fractuhqdq -- ___fractuhqtq -- ___fractuhqha -- ___fractuhqsa -- ___fractuhqda -- ___fractuhqta -- ___fractuhquqq2 -- ___fractuhqusq2 -- ___fractuhqudq2 -- ___fractuhqutq2 -- ___fractuhquha -- ___fractuhqusa -- ___fractuhquda -- ___fractuhquta -- ___fractuhqqi -- ___fractuhqhi -- ___fractuhqsi -- ___fractuhqdi -- ___fractuhqti -- ___fractuhqsf -- ___fractuhqdf -- ___fractusqqq -- ___fractusqhq -- ___fractusqsq -- ___fractusqdq -- ___fractusqtq -- ___fractusqha -- ___fractusqsa -- ___fractusqda -- ___fractusqta -- ___fractusquqq2 -- ___fractusquhq2 -- ___fractusqudq2 -- ___fractusqutq2 -- ___fractusquha -- ___fractusqusa -- ___fractusquda -- ___fractusquta -- ___fractusqqi -- ___fractusqhi -- ___fractusqsi -- ___fractusqdi -- ___fractusqti -- ___fractusqsf -- ___fractusqdf -- ___fractudqqq -- ___fractudqhq -- ___fractudqsq -- ___fractudqdq -- ___fractudqtq -- ___fractudqha -- ___fractudqsa -- ___fractudqda -- ___fractudqta -- ___fractudquqq2 -- ___fractudquhq2 -- ___fractudqusq2 -- ___fractudqutq2 -- ___fractudquha -- ___fractudqusa -- ___fractudquda -- ___fractudquta -- ___fractudqqi -- ___fractudqhi -- ___fractudqsi -- ___fractudqdi -- ___fractudqti -- ___fractudqsf -- ___fractudqdf -- ___fractutqqq -- ___fractutqhq -- ___fractutqsq -- ___fractutqdq -- ___fractutqtq -- ___fractutqha -- ___fractutqsa -- ___fractutqda -- ___fractutqta -- ___fractutquqq2 -- ___fractutquhq2 -- ___fractutqusq2 -- ___fractutqudq2 -- ___fractutquha -- ___fractutqusa -- ___fractutquda -- ___fractutquta -- ___fractutqqi -- ___fractutqhi -- ___fractutqsi -- ___fractutqdi -- ___fractutqti -- ___fractutqsf -- ___fractutqdf -- ___fractuhaqq -- ___fractuhahq -- ___fractuhasq -- ___fractuhadq -- ___fractuhatq -- ___fractuhaha -- ___fractuhasa -- ___fractuhada -- ___fractuhata -- ___fractuhauqq -- ___fractuhauhq -- ___fractuhausq -- ___fractuhaudq -- ___fractuhautq -- ___fractuhausa2 -- ___fractuhauda2 -- ___fractuhauta2 -- ___fractuhaqi -- ___fractuhahi -- ___fractuhasi -- ___fractuhadi -- ___fractuhati -- ___fractuhasf -- ___fractuhadf -- ___fractusaqq -- ___fractusahq -- ___fractusasq -- ___fractusadq -- ___fractusatq -- ___fractusaha -- ___fractusasa -- ___fractusada -- ___fractusata -- ___fractusauqq -- ___fractusauhq -- ___fractusausq -- ___fractusaudq -- ___fractusautq -- ___fractusauha2 -- ___fractusauda2 -- ___fractusauta2 -- ___fractusaqi -- ___fractusahi -- ___fractusasi -- ___fractusadi -- ___fractusati -- ___fractusasf -- ___fractusadf -- ___fractudaqq -- ___fractudahq -- ___fractudasq -- ___fractudadq -- ___fractudatq -- ___fractudaha -- ___fractudasa -- ___fractudada -- ___fractudata -- ___fractudauqq -- ___fractudauhq -- ___fractudausq -- ___fractudaudq -- ___fractudautq -- ___fractudauha2 -- ___fractudausa2 -- ___fractudauta2 -- ___fractudaqi -- ___fractudahi -- ___fractudasi -- ___fractudadi -- ___fractudati -- ___fractudasf -- ___fractudadf -- ___fractutaqq -- ___fractutahq -- ___fractutasq -- ___fractutadq -- ___fractutatq -- ___fractutaha -- ___fractutasa -- ___fractutada -- ___fractutata -- ___fractutauqq -- ___fractutauhq -- ___fractutausq -- ___fractutaudq -- ___fractutautq -- ___fractutauha2 -- ___fractutausa2 -- ___fractutauda2 -- ___fractutaqi -- ___fractutahi -- ___fractutasi -- ___fractutadi -- ___fractutati -- ___fractutasf -- ___fractutadf -- ___fractqiqq -- ___fractqihq -- ___fractqisq -- ___fractqidq -- ___fractqitq -- ___fractqiha -- ___fractqisa -- ___fractqida -- ___fractqita -- ___fractqiuqq -- ___fractqiuhq -- ___fractqiusq -- ___fractqiudq -- ___fractqiutq -- ___fractqiuha -- ___fractqiusa -- ___fractqiuda -- ___fractqiuta -- ___fracthiqq -- ___fracthihq -- ___fracthisq -- ___fracthidq -- ___fracthitq -- ___fracthiha -- ___fracthisa -- ___fracthida -- ___fracthita -- ___fracthiuqq -- ___fracthiuhq -- ___fracthiusq -- ___fracthiudq -- ___fracthiutq -- ___fracthiuha -- ___fracthiusa -- ___fracthiuda -- ___fracthiuta -- ___fractsiqq -- ___fractsihq -- ___fractsisq -- ___fractsidq -- ___fractsitq -- ___fractsiha -- ___fractsisa -- ___fractsida -- ___fractsita -- ___fractsiuqq -- ___fractsiuhq -- ___fractsiusq -- ___fractsiudq -- ___fractsiutq -- ___fractsiuha -- ___fractsiusa -- ___fractsiuda -- ___fractsiuta -- ___fractdiqq -- ___fractdihq -- ___fractdisq -- ___fractdidq -- ___fractditq -- ___fractdiha -- ___fractdisa -- ___fractdida -- ___fractdita -- ___fractdiuqq -- ___fractdiuhq -- ___fractdiusq -- ___fractdiudq -- ___fractdiutq -- ___fractdiuha -- ___fractdiusa -- ___fractdiuda -- ___fractdiuta -- ___fracttiqq -- ___fracttihq -- ___fracttisq -- ___fracttidq -- ___fracttitq -- ___fracttiha -- ___fracttisa -- ___fracttida -- ___fracttita -- ___fracttiuqq -- ___fracttiuhq -- ___fracttiusq -- ___fracttiudq -- ___fracttiutq -- ___fracttiuha -- ___fracttiusa -- ___fracttiuda -- ___fracttiuta -- ___fractsfqq -- ___fractsfhq -- ___fractsfsq -- ___fractsfdq -- ___fractsftq -- ___fractsfha -- ___fractsfsa -- ___fractsfda -- ___fractsfta -- ___fractsfuqq -- ___fractsfuhq -- ___fractsfusq -- ___fractsfudq -- ___fractsfutq -- ___fractsfuha -- ___fractsfusa -- ___fractsfuda -- ___fractsfuta -- ___fractdfqq -- ___fractdfhq -- ___fractdfsq -- ___fractdfdq -- ___fractdftq -- ___fractdfha -- ___fractdfsa -- ___fractdfda -- ___fractdfta -- ___fractdfuqq -- ___fractdfuhq -- ___fractdfusq -- ___fractdfudq -- ___fractdfutq -- ___fractdfuha -- ___fractdfusa -- ___fractdfuda -- ___fractdfuta -- ___satfractqqhq2 -- ___satfractqqsq2 -- ___satfractqqdq2 -- ___satfractqqtq2 -- ___satfractqqha -- ___satfractqqsa -- ___satfractqqda -- ___satfractqqta -- ___satfractqquqq -- ___satfractqquhq -- ___satfractqqusq -- ___satfractqqudq -- ___satfractqqutq -- ___satfractqquha -- ___satfractqqusa -- ___satfractqquda -- ___satfractqquta -- ___satfracthqqq2 -- ___satfracthqsq2 -- ___satfracthqdq2 -- ___satfracthqtq2 -- ___satfracthqha -- ___satfracthqsa -- ___satfracthqda -- ___satfracthqta -- ___satfracthquqq -- ___satfracthquhq -- ___satfracthqusq -- ___satfracthqudq -- ___satfracthqutq -- ___satfracthquha -- ___satfracthqusa -- ___satfracthquda -- ___satfracthquta -- ___satfractsqqq2 -- ___satfractsqhq2 -- ___satfractsqdq2 -- ___satfractsqtq2 -- ___satfractsqha -- ___satfractsqsa -- ___satfractsqda -- ___satfractsqta -- ___satfractsquqq -- ___satfractsquhq -- ___satfractsqusq -- ___satfractsqudq -- ___satfractsqutq -- ___satfractsquha -- ___satfractsqusa -- ___satfractsquda -- ___satfractsquta -- ___satfractdqqq2 -- ___satfractdqhq2 -- ___satfractdqsq2 -- ___satfractdqtq2 -- ___satfractdqha -- ___satfractdqsa -- ___satfractdqda -- ___satfractdqta -- ___satfractdquqq -- ___satfractdquhq -- ___satfractdqusq -- ___satfractdqudq -- ___satfractdqutq -- ___satfractdquha -- ___satfractdqusa -- ___satfractdquda -- ___satfractdquta -- ___satfracttqqq2 -- ___satfracttqhq2 -- ___satfracttqsq2 -- ___satfracttqdq2 -- ___satfracttqha -- ___satfracttqsa -- ___satfracttqda -- ___satfracttqta -- ___satfracttquqq -- ___satfracttquhq -- ___satfracttqusq -- ___satfracttqudq -- ___satfracttqutq -- ___satfracttquha -- ___satfracttqusa -- ___satfracttquda -- ___satfracttquta -- ___satfracthaqq -- ___satfracthahq -- ___satfracthasq -- ___satfracthadq -- ___satfracthatq -- ___satfracthasa2 -- ___satfracthada2 -- ___satfracthata2 -- ___satfracthauqq -- ___satfracthauhq -- ___satfracthausq -- ___satfracthaudq -- ___satfracthautq -- ___satfracthauha -- ___satfracthausa -- ___satfracthauda -- ___satfracthauta -- ___satfractsaqq -- ___satfractsahq -- ___satfractsasq -- ___satfractsadq -- ___satfractsatq -- ___satfractsaha2 -- ___satfractsada2 -- ___satfractsata2 -- ___satfractsauqq -- ___satfractsauhq -- ___satfractsausq -- ___satfractsaudq -- ___satfractsautq -- ___satfractsauha -- ___satfractsausa -- ___satfractsauda -- ___satfractsauta -- ___satfractdaqq -- ___satfractdahq -- ___satfractdasq -- ___satfractdadq -- ___satfractdatq -- ___satfractdaha2 -- ___satfractdasa2 -- ___satfractdata2 -- ___satfractdauqq -- ___satfractdauhq -- ___satfractdausq -- ___satfractdaudq -- ___satfractdautq -- ___satfractdauha -- ___satfractdausa -- ___satfractdauda -- ___satfractdauta -- ___satfracttaqq -- ___satfracttahq -- ___satfracttasq -- ___satfracttadq -- ___satfracttatq -- ___satfracttaha2 -- ___satfracttasa2 -- ___satfracttada2 -- ___satfracttauqq -- ___satfracttauhq -- ___satfracttausq -- ___satfracttaudq -- ___satfracttautq -- ___satfracttauha -- ___satfracttausa -- ___satfracttauda -- ___satfracttauta -- ___satfractuqqqq -- ___satfractuqqhq -- ___satfractuqqsq -- ___satfractuqqdq -- ___satfractuqqtq -- ___satfractuqqha -- ___satfractuqqsa -- ___satfractuqqda -- ___satfractuqqta -- ___satfractuqquhq2 -- ___satfractuqqusq2 -- ___satfractuqqudq2 -- ___satfractuqqutq2 -- ___satfractuqquha -- ___satfractuqqusa -- ___satfractuqquda -- ___satfractuqquta -- ___satfractuhqqq -- ___satfractuhqhq -- ___satfractuhqsq -- ___satfractuhqdq -- ___satfractuhqtq -- ___satfractuhqha -- ___satfractuhqsa -- ___satfractuhqda -- ___satfractuhqta -- ___satfractuhquqq2 -- ___satfractuhqusq2 -- ___satfractuhqudq2 -- ___satfractuhqutq2 -- ___satfractuhquha -- ___satfractuhqusa -- ___satfractuhquda -- ___satfractuhquta -- ___satfractusqqq -- ___satfractusqhq -- ___satfractusqsq -- ___satfractusqdq -- ___satfractusqtq -- ___satfractusqha -- ___satfractusqsa -- ___satfractusqda -- ___satfractusqta -- ___satfractusquqq2 -- ___satfractusquhq2 -- ___satfractusqudq2 -- ___satfractusqutq2 -- ___satfractusquha -- ___satfractusqusa -- ___satfractusquda -- ___satfractusquta -- ___satfractudqqq -- ___satfractudqhq -- ___satfractudqsq -- ___satfractudqdq -- ___satfractudqtq -- ___satfractudqha -- ___satfractudqsa -- ___satfractudqda -- ___satfractudqta -- ___satfractudquqq2 -- ___satfractudquhq2 -- ___satfractudqusq2 -- ___satfractudqutq2 -- ___satfractudquha -- ___satfractudqusa -- ___satfractudquda -- ___satfractudquta -- ___satfractutqqq -- ___satfractutqhq -- ___satfractutqsq -- ___satfractutqdq -- ___satfractutqtq -- ___satfractutqha -- ___satfractutqsa -- ___satfractutqda -- ___satfractutqta -- ___satfractutquqq2 -- ___satfractutquhq2 -- ___satfractutqusq2 -- ___satfractutqudq2 -- ___satfractutquha -- ___satfractutqusa -- ___satfractutquda -- ___satfractutquta -- ___satfractuhaqq -- ___satfractuhahq -- ___satfractuhasq -- ___satfractuhadq -- ___satfractuhatq -- ___satfractuhaha -- ___satfractuhasa -- ___satfractuhada -- ___satfractuhata -- ___satfractuhauqq -- ___satfractuhauhq -- ___satfractuhausq -- ___satfractuhaudq -- ___satfractuhautq -- ___satfractuhausa2 -- ___satfractuhauda2 -- ___satfractuhauta2 -- ___satfractusaqq -- ___satfractusahq -- ___satfractusasq -- ___satfractusadq -- ___satfractusatq -- ___satfractusaha -- ___satfractusasa -- ___satfractusada -- ___satfractusata -- ___satfractusauqq -- ___satfractusauhq -- ___satfractusausq -- ___satfractusaudq -- ___satfractusautq -- ___satfractusauha2 -- ___satfractusauda2 -- ___satfractusauta2 -- ___satfractudaqq -- ___satfractudahq -- ___satfractudasq -- ___satfractudadq -- ___satfractudatq -- ___satfractudaha -- ___satfractudasa -- ___satfractudada -- ___satfractudata -- ___satfractudauqq -- ___satfractudauhq -- ___satfractudausq -- ___satfractudaudq -- ___satfractudautq -- ___satfractudauha2 -- ___satfractudausa2 -- ___satfractudauta2 -- ___satfractutaqq -- ___satfractutahq -- ___satfractutasq -- ___satfractutadq -- ___satfractutatq -- ___satfractutaha -- ___satfractutasa -- ___satfractutada -- ___satfractutata -- ___satfractutauqq -- ___satfractutauhq -- ___satfractutausq -- ___satfractutaudq -- ___satfractutautq -- ___satfractutauha2 -- ___satfractutausa2 -- ___satfractutauda2 -- ___satfractqiqq -- ___satfractqihq -- ___satfractqisq -- ___satfractqidq -- ___satfractqitq -- ___satfractqiha -- ___satfractqisa -- ___satfractqida -- ___satfractqita -- ___satfractqiuqq -- ___satfractqiuhq -- ___satfractqiusq -- ___satfractqiudq -- ___satfractqiutq -- ___satfractqiuha -- ___satfractqiusa -- ___satfractqiuda -- ___satfractqiuta -- ___satfracthiqq -- ___satfracthihq -- ___satfracthisq -- ___satfracthidq -- ___satfracthitq -- ___satfracthiha -- ___satfracthisa -- ___satfracthida -- ___satfracthita -- ___satfracthiuqq -- ___satfracthiuhq -- ___satfracthiusq -- ___satfracthiudq -- ___satfracthiutq -- ___satfracthiuha -- ___satfracthiusa -- ___satfracthiuda -- ___satfracthiuta -- ___satfractsiqq -- ___satfractsihq -- ___satfractsisq -- ___satfractsidq -- ___satfractsitq -- ___satfractsiha -- ___satfractsisa -- ___satfractsida -- ___satfractsita -- ___satfractsiuqq -- ___satfractsiuhq -- ___satfractsiusq -- ___satfractsiudq -- ___satfractsiutq -- ___satfractsiuha -- ___satfractsiusa -- ___satfractsiuda -- ___satfractsiuta -- ___satfractdiqq -- ___satfractdihq -- ___satfractdisq -- ___satfractdidq -- ___satfractditq -- ___satfractdiha -- ___satfractdisa -- ___satfractdida -- ___satfractdita -- ___satfractdiuqq -- ___satfractdiuhq -- ___satfractdiusq -- ___satfractdiudq -- ___satfractdiutq -- ___satfractdiuha -- ___satfractdiusa -- ___satfractdiuda -- ___satfractdiuta -- ___satfracttiqq -- ___satfracttihq -- ___satfracttisq -- ___satfracttidq -- ___satfracttitq -- ___satfracttiha -- ___satfracttisa -- ___satfracttida -- ___satfracttita -- ___satfracttiuqq -- ___satfracttiuhq -- ___satfracttiusq -- ___satfracttiudq -- ___satfracttiutq -- ___satfracttiuha -- ___satfracttiusa -- ___satfracttiuda -- ___satfracttiuta -- ___satfractsfqq -- ___satfractsfhq -- ___satfractsfsq -- ___satfractsfdq -- ___satfractsftq -- ___satfractsfha -- ___satfractsfsa -- ___satfractsfda -- ___satfractsfta -- ___satfractsfuqq -- ___satfractsfuhq -- ___satfractsfusq -- ___satfractsfudq -- ___satfractsfutq -- ___satfractsfuha -- ___satfractsfusa -- ___satfractsfuda -- ___satfractsfuta -- ___satfractdfqq -- ___satfractdfhq -- ___satfractdfsq -- ___satfractdfdq -- ___satfractdftq -- ___satfractdfha -- ___satfractdfsa -- ___satfractdfda -- ___satfractdfta -- ___satfractdfuqq -- ___satfractdfuhq -- ___satfractdfusq -- ___satfractdfudq -- ___satfractdfutq -- ___satfractdfuha -- ___satfractdfusa -- ___satfractdfuda -- ___satfractdfuta -- ___fractunsqqqi -- ___fractunsqqhi -- ___fractunsqqsi -- ___fractunsqqdi -- ___fractunsqqti -- ___fractunshqqi -- ___fractunshqhi -- ___fractunshqsi -- ___fractunshqdi -- ___fractunshqti -- ___fractunssqqi -- ___fractunssqhi -- ___fractunssqsi -- ___fractunssqdi -- ___fractunssqti -- ___fractunsdqqi -- ___fractunsdqhi -- ___fractunsdqsi -- ___fractunsdqdi -- ___fractunsdqti -- ___fractunstqqi -- ___fractunstqhi -- ___fractunstqsi -- ___fractunstqdi -- ___fractunstqti -- ___fractunshaqi -- ___fractunshahi -- ___fractunshasi -- ___fractunshadi -- ___fractunshati -- ___fractunssaqi -- ___fractunssahi -- ___fractunssasi -- ___fractunssadi -- ___fractunssati -- ___fractunsdaqi -- ___fractunsdahi -- ___fractunsdasi -- ___fractunsdadi -- ___fractunsdati -- ___fractunstaqi -- ___fractunstahi -- ___fractunstasi -- ___fractunstadi -- ___fractunstati -- ___fractunsuqqqi -- ___fractunsuqqhi -- ___fractunsuqqsi -- ___fractunsuqqdi -- ___fractunsuqqti -- ___fractunsuhqqi -- ___fractunsuhqhi -- ___fractunsuhqsi -- ___fractunsuhqdi -- ___fractunsuhqti -- ___fractunsusqqi -- ___fractunsusqhi -- ___fractunsusqsi -- ___fractunsusqdi -- ___fractunsusqti -- ___fractunsudqqi -- ___fractunsudqhi -- ___fractunsudqsi -- ___fractunsudqdi -- ___fractunsudqti -- ___fractunsutqqi -- ___fractunsutqhi -- ___fractunsutqsi -- ___fractunsutqdi -- ___fractunsutqti -- ___fractunsuhaqi -- ___fractunsuhahi -- ___fractunsuhasi -- ___fractunsuhadi -- ___fractunsuhati -- ___fractunsusaqi -- ___fractunsusahi -- ___fractunsusasi -- ___fractunsusadi -- ___fractunsusati -- ___fractunsudaqi -- ___fractunsudahi -- ___fractunsudasi -- ___fractunsudadi -- ___fractunsudati -- ___fractunsutaqi -- ___fractunsutahi -- ___fractunsutasi -- ___fractunsutadi -- ___fractunsutati -- ___fractunsqiqq -- ___fractunsqihq -- ___fractunsqisq -- ___fractunsqidq -- ___fractunsqitq -- ___fractunsqiha -- ___fractunsqisa -- ___fractunsqida -- ___fractunsqita -- ___fractunsqiuqq -- ___fractunsqiuhq -- ___fractunsqiusq -- ___fractunsqiudq -- ___fractunsqiutq -- ___fractunsqiuha -- ___fractunsqiusa -- ___fractunsqiuda -- ___fractunsqiuta -- ___fractunshiqq -- ___fractunshihq -- ___fractunshisq -- ___fractunshidq -- ___fractunshitq -- ___fractunshiha -- ___fractunshisa -- ___fractunshida -- ___fractunshita -- ___fractunshiuqq -- ___fractunshiuhq -- ___fractunshiusq -- ___fractunshiudq -- ___fractunshiutq -- ___fractunshiuha -- ___fractunshiusa -- ___fractunshiuda -- ___fractunshiuta -- ___fractunssiqq -- ___fractunssihq -- ___fractunssisq -- ___fractunssidq -- ___fractunssitq -- ___fractunssiha -- ___fractunssisa -- ___fractunssida -- ___fractunssita -- ___fractunssiuqq -- ___fractunssiuhq -- ___fractunssiusq -- ___fractunssiudq -- ___fractunssiutq -- ___fractunssiuha -- ___fractunssiusa -- ___fractunssiuda -- ___fractunssiuta -- ___fractunsdiqq -- ___fractunsdihq -- ___fractunsdisq -- ___fractunsdidq -- ___fractunsditq -- ___fractunsdiha -- ___fractunsdisa -- ___fractunsdida -- ___fractunsdita -- ___fractunsdiuqq -- ___fractunsdiuhq -- ___fractunsdiusq -- ___fractunsdiudq -- ___fractunsdiutq -- ___fractunsdiuha -- ___fractunsdiusa -- ___fractunsdiuda -- ___fractunsdiuta -- ___fractunstiqq -- ___fractunstihq -- ___fractunstisq -- ___fractunstidq -- ___fractunstitq -- ___fractunstiha -- ___fractunstisa -- ___fractunstida -- ___fractunstita -- ___fractunstiuqq -- ___fractunstiuhq -- ___fractunstiusq -- ___fractunstiudq -- ___fractunstiutq -- ___fractunstiuha -- ___fractunstiusa -- ___fractunstiuda -- ___fractunstiuta -- ___satfractunsqiqq -- ___satfractunsqihq -- ___satfractunsqisq -- ___satfractunsqidq -- ___satfractunsqitq -- ___satfractunsqiha -- ___satfractunsqisa -- ___satfractunsqida -- ___satfractunsqita -- ___satfractunsqiuqq -- ___satfractunsqiuhq -- ___satfractunsqiusq -- ___satfractunsqiudq -- ___satfractunsqiutq -- ___satfractunsqiuha -- ___satfractunsqiusa -- ___satfractunsqiuda -- ___satfractunsqiuta -- ___satfractunshiqq -- ___satfractunshihq -- ___satfractunshisq -- ___satfractunshidq -- ___satfractunshitq -- ___satfractunshiha -- ___satfractunshisa -- ___satfractunshida -- ___satfractunshita -- ___satfractunshiuqq -- ___satfractunshiuhq -- ___satfractunshiusq -- ___satfractunshiudq -- ___satfractunshiutq -- ___satfractunshiuha -- ___satfractunshiusa -- ___satfractunshiuda -- ___satfractunshiuta -- ___satfractunssiqq -- ___satfractunssihq -- ___satfractunssisq -- ___satfractunssidq -- ___satfractunssitq -- ___satfractunssiha -- ___satfractunssisa -- ___satfractunssida -- ___satfractunssita -- ___satfractunssiuqq -- ___satfractunssiuhq -- ___satfractunssiusq -- ___satfractunssiudq -- ___satfractunssiutq -- ___satfractunssiuha -- ___satfractunssiusa -- ___satfractunssiuda -- ___satfractunssiuta -- ___satfractunsdiqq -- ___satfractunsdihq -- ___satfractunsdisq -- ___satfractunsdidq -- ___satfractunsditq -- ___satfractunsdiha -- ___satfractunsdisa -- ___satfractunsdida -- ___satfractunsdita -- ___satfractunsdiuqq -- ___satfractunsdiuhq -- ___satfractunsdiusq -- ___satfractunsdiudq -- ___satfractunsdiutq -- ___satfractunsdiuha -- ___satfractunsdiusa -- ___satfractunsdiuda -- ___satfractunsdiuta -- ___satfractunstiqq -- ___satfractunstihq -- ___satfractunstisq -- ___satfractunstidq -- ___satfractunstitq -- ___satfractunstiha -- ___satfractunstisa -- ___satfractunstida -- ___satfractunstita -- ___satfractunstiuqq -- ___satfractunstiuhq -- ___satfractunstiusq -- ___satfractunstiudq -- ___satfractunstiutq -- ___satfractunstiuha -- ___satfractunstiusa -- ___satfractunstiuda -- ___satfractunstiuta --} -- --%inherit GCC_4.4.0 GCC_4.3.0 --GCC_4.4.0 { -- ___sync_fetch_and_add_1 -- ___sync_fetch_and_sub_1 -- ___sync_fetch_and_or_1 -- ___sync_fetch_and_and_1 -- ___sync_fetch_and_xor_1 -- ___sync_fetch_and_nand_1 -- ___sync_add_and_fetch_1 -- ___sync_sub_and_fetch_1 -- ___sync_or_and_fetch_1 -- ___sync_and_and_fetch_1 -- ___sync_xor_and_fetch_1 -- ___sync_nand_and_fetch_1 -- ___sync_bool_compare_and_swap_1 -- ___sync_val_compare_and_swap_1 -- ___sync_lock_test_and_set_1 -- -- ___sync_fetch_and_add_2 -- ___sync_fetch_and_sub_2 -- ___sync_fetch_and_or_2 -- ___sync_fetch_and_and_2 -- ___sync_fetch_and_xor_2 -- ___sync_fetch_and_nand_2 -- ___sync_add_and_fetch_2 -- ___sync_sub_and_fetch_2 -- ___sync_or_and_fetch_2 -- ___sync_and_and_fetch_2 -- ___sync_xor_and_fetch_2 -- ___sync_nand_and_fetch_2 -- ___sync_bool_compare_and_swap_2 -- ___sync_val_compare_and_swap_2 -- ___sync_lock_test_and_set_2 -- -- ___sync_fetch_and_add_4 -- ___sync_fetch_and_sub_4 -- ___sync_fetch_and_or_4 -- ___sync_fetch_and_and_4 -- ___sync_fetch_and_xor_4 -- ___sync_fetch_and_nand_4 -- ___sync_add_and_fetch_4 -- ___sync_sub_and_fetch_4 -- ___sync_or_and_fetch_4 -- ___sync_and_and_fetch_4 -- ___sync_xor_and_fetch_4 -- ___sync_nand_and_fetch_4 -- ___sync_bool_compare_and_swap_4 -- ___sync_val_compare_and_swap_4 -- ___sync_lock_test_and_set_4 -- -- ___sync_fetch_and_add_8 -- ___sync_fetch_and_sub_8 -- ___sync_fetch_and_or_8 -- ___sync_fetch_and_and_8 -- ___sync_fetch_and_xor_8 -- ___sync_fetch_and_nand_8 -- ___sync_add_and_fetch_8 -- ___sync_sub_and_fetch_8 -- ___sync_or_and_fetch_8 -- ___sync_and_and_fetch_8 -- ___sync_xor_and_fetch_8 -- ___sync_nand_and_fetch_8 -- ___sync_bool_compare_and_swap_8 -- ___sync_val_compare_and_swap_8 -- ___sync_lock_test_and_set_8 -- -- ___sync_fetch_and_add_16 -- ___sync_fetch_and_sub_16 -- ___sync_fetch_and_or_16 -- ___sync_fetch_and_and_16 -- ___sync_fetch_and_xor_16 -- ___sync_fetch_and_nand_16 -- ___sync_add_and_fetch_16 -- ___sync_sub_and_fetch_16 -- ___sync_or_and_fetch_16 -- ___sync_and_and_fetch_16 -- ___sync_xor_and_fetch_16 -- ___sync_nand_and_fetch_16 -- ___sync_bool_compare_and_swap_16 -- ___sync_val_compare_and_swap_16 -- ___sync_lock_test_and_set_16 -- -- ___sync_synchronize --} -- --%inherit GCC_4.5.0 GCC_4.4.0 --GCC_4.5.0 { -- ___unordxf2 -- ___unordtf2 -+ __smulsi3_highpart -+ __umulsi3_highpart - } -diff --git a/libgcc/config/bfin/t-linux b/libgcc/config/bfin/t-linux -index 1c42e48..8898157 100644 ---- a/libgcc/config/bfin/t-linux -+++ b/libgcc/config/bfin/t-linux -@@ -1 +1,2 @@ --SHLIB_MAPFILES = $(srcdir)/config/bfin/libgcc-glibc.ver -+SHLIB_MAPFILES += $(srcdir)/config/bfin/libgcc-glibc.ver -+SHLIB_MKMAP_OPTS = -v skip_underscore=1 --- -2.7.4 - diff --git a/bsp/buildroot/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch b/bsp/buildroot/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch deleted file mode 100644 index ce49de7e..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 9d9f97ca5d1ceba66677bf406c9b31027dc1f22e Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 19 Aug 2016 13:54:46 +0200 -Subject: [PATCH] libgcc: fix DWARF compilation with FDPIC targets - -The build of unwind-dw2-fde-dip.c currently fails for FDPIC targets with -the following error: - -libgcc/unwind-dw2-fde-dip.c:167:31: error: storage size of 'load_base' isn't known - struct elf32_fdpic_loadaddr load_base; - -This patch addresses that by defining load_base with the appropriate -type on FDPIC targets. It has been tested on FRV and Blackfin. - -Fixes PR gcc/68468. - -Signed-off-by: Waldemar Brodkorb -Signed-off-by: Thomas Petazzoni ---- - libgcc/unwind-dw2-fde-dip.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c -index f7a1c3f..801bce8 100644 ---- a/libgcc/unwind-dw2-fde-dip.c -+++ b/libgcc/unwind-dw2-fde-dip.c -@@ -124,7 +124,11 @@ static struct frame_hdr_cache_element - { - _Unwind_Ptr pc_low; - _Unwind_Ptr pc_high; -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ -+ struct elf32_fdpic_loadaddr load_base; -+#else - _Unwind_Ptr load_base; -+#endif - const ElfW(Phdr) *p_eh_frame_hdr; - const ElfW(Phdr) *p_dynamic; - struct frame_hdr_cache_element *link; -@@ -163,7 +167,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) - struct unw_eh_callback_data *data = (struct unw_eh_callback_data *) ptr; - const ElfW(Phdr) *phdr, *p_eh_frame_hdr, *p_dynamic; - long n, match; --#ifdef __FRV_FDPIC__ -+#if defined __FRV_FDPIC__ || defined __BFIN_FDPIC__ - struct elf32_fdpic_loadaddr load_base; - #else - _Unwind_Ptr load_base; -@@ -347,7 +351,7 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr) - break; - } - } --# elif defined __FRV_FDPIC__ && defined __linux__ -+# elif (defined __FRV_FDPIC__ || defined __BFIN_FDPIC__) && defined __linux__ - data->dbase = load_base.got_value; - # else - # error What is DW_EH_PE_datarel base on this platform? --- -2.7.4 - diff --git a/bsp/buildroot/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch b/bsp/buildroot/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch deleted file mode 100644 index e2828a51..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/895-bfin-define-REENTRANT.patch +++ /dev/null @@ -1,17 +0,0 @@ -enable _REENTRANT when -lpthread is used - -Signed-off-by: Waldemar Brodkorb - -diff -Nur gcc-6.2.0.orig/gcc/config/bfin/linux.h gcc-6.2.0/gcc/config/bfin/linux.h ---- gcc-6.2.0.orig/gcc/config/bfin/linux.h 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.2.0/gcc/config/bfin/linux.h 2016-09-30 20:48:17.446636819 +0200 -@@ -38,6 +38,9 @@ - "%{static:--start-group} %{mfast-fp:-lbffastfp} %G %L %{static:--end-group} \ - %{!static:%{mfast-fp:-lbffastfp} %G}" - -+#undef CPP_SPEC -+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" -+ - #undef LINK_SPEC - #define LINK_SPEC "\ - %{mfdpic: -m elf32bfinfd -z text} %{shared} %{pie} \ diff --git a/bsp/buildroot/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch b/bsp/buildroot/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch deleted file mode 100644 index a2a2ea0f..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/942-Use-ucontext_t-not-struct-ucontext-in-linux-unwind.h.patch +++ /dev/null @@ -1,192 +0,0 @@ -From 35d8ca22047f101a700abb29cffbf03b81278a2b Mon Sep 17 00:00:00 2001 -From: jsm28 -Date: Tue, 4 Jul 2017 10:23:57 +0000 -Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. - -Current glibc no longer gives the ucontext_t type the tag struct -ucontext, to conform with POSIX namespace rules. This requires -various linux-unwind.h files in libgcc, that were previously using -struct ucontext, to be fixed to use ucontext_t instead. This is -similar to the removal of the struct siginfo tag from siginfo_t some -years ago. - -This patch changes those files to use ucontext_t instead. As the -standard name that should be unconditionally safe, so this is not -restricted to architectures supported by glibc, or conditioned on the -glibc version. - -Tested compilation together with current glibc with glibc's -build-many-glibcs.py. - - * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), - config/alpha/linux-unwind.h (alpha_fallback_frame_state), - config/bfin/linux-unwind.h (bfin_fallback_frame_state), - config/i386/linux-unwind.h (x86_64_fallback_frame_state, - x86_fallback_frame_state), config/m68k/linux-unwind.h (struct - uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), - config/pa/linux-unwind.h (pa32_fallback_frame_state), - config/sh/linux-unwind.h (sh_fallback_frame_state), - config/tilepro/linux-unwind.h (tile_fallback_frame_state), - config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use - ucontext_t instead of struct ucontext. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@249957 138bc75d-0d04-0410-961f-82ee72b054a4 - -(cherry picked from commit b685411208e0aaa79190d54faf945763514706b8) -[Romain rebase on gcc 6.4] -Signed-off-by: Romain Naour ---- - libgcc/config/aarch64/linux-unwind.h | 2 +- - libgcc/config/alpha/linux-unwind.h | 2 +- - libgcc/config/bfin/linux-unwind.h | 2 +- - libgcc/config/i386/linux-unwind.h | 4 ++-- - libgcc/config/m68k/linux-unwind.h | 2 +- - libgcc/config/nios2/linux-unwind.h | 2 +- - libgcc/config/pa/linux-unwind.h | 2 +- - libgcc/config/sh/linux-unwind.h | 2 +- - libgcc/config/tilepro/linux-unwind.h | 2 +- - libgcc/config/xtensa/linux-unwind.h | 2 +- - 10 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h -index 4512efb..06de45a 100644 ---- a/libgcc/config/aarch64/linux-unwind.h -+++ b/libgcc/config/aarch64/linux-unwind.h -@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe - { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - }; - - struct rt_sigframe *rt_; -diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h -index bdbba4a..e84812e 100644 ---- a/libgcc/config/alpha/linux-unwind.h -+++ b/libgcc/config/alpha/linux-unwind.h -@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - sc = &rt_->uc.uc_mcontext; - } -diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h -index 77b7c23..8bf5e82 100644 ---- a/libgcc/config/bfin/linux-unwind.h -+++ b/libgcc/config/bfin/linux-unwind.h -@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, - void *puc; - char retcode[8]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - - /* The void * cast is necessary to avoid an aliasing warning. -diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h -index 540a0a2..29efbe3 100644 ---- a/libgcc/config/i386/linux-unwind.h -+++ b/libgcc/config/i386/linux-unwind.h -@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, - if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) - { -- struct ucontext *uc_ = context->cfa; -+ ucontext_t *uc_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ -@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, - siginfo_t *pinfo; - void *puc; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem -diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h -index 75b7cf7..f964e24 100644 ---- a/libgcc/config/m68k/linux-unwind.h -+++ b/libgcc/config/m68k/linux-unwind.h -@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* is unfortunately broken right now. */ - struct uw_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - unsigned long uc_filler[80]; -diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h -index 2304142..30f25ea 100644 ---- a/libgcc/config/nios2/linux-unwind.h -+++ b/libgcc/config/nios2/linux-unwind.h -@@ -38,7 +38,7 @@ struct nios2_mcontext { - - struct nios2_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - struct nios2_mcontext uc_mcontext; - sigset_t uc_sigmask; /* mask last for extensibility */ -diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h -index 9a2657f..e47493d 100644 ---- a/libgcc/config/pa/linux-unwind.h -+++ b/libgcc/config/pa/linux-unwind.h -@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, - struct sigcontext *sc; - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *frame; - - /* rt_sigreturn trampoline: -diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h -index e389cac..0bf43ba 100644 ---- a/libgcc/config/sh/linux-unwind.h -+++ b/libgcc/config/sh/linux-unwind.h -@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem -diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h -index 796e976..75f8890 100644 ---- a/libgcc/config/tilepro/linux-unwind.h -+++ b/libgcc/config/tilepro/linux-unwind.h -@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe { - unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* Return if this is not a signal handler. */ -diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h -index 9872492..586a9d4 100644 ---- a/libgcc/config/xtensa/linux-unwind.h -+++ b/libgcc/config/xtensa/linux-unwind.h -@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, - - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* movi a2, __NR_rt_sigreturn; syscall */ --- -2.9.5 - diff --git a/bsp/buildroot/package/gcc/6.4.0/943-sanitizer-linux.patch b/bsp/buildroot/package/gcc/6.4.0/943-sanitizer-linux.patch deleted file mode 100644 index 640d68c8..00000000 --- a/bsp/buildroot/package/gcc/6.4.0/943-sanitizer-linux.patch +++ /dev/null @@ -1,91 +0,0 @@ -From a3e3d1b5f73380a99126c4937a95225ba3bd214b Mon Sep 17 00:00:00 2001 -From: doko -Date: Thu, 7 Sep 2017 07:15:24 +0000 -Subject: [PATCH] 2017-09-07 Matthias Klose - - Backported from mainline - 2017-07-14 Jakub Jelinek - - PR sanitizer/81066 - * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. - * sanitizer_common/sanitizer_linux.cc: Likewise. - * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. - * tsan/tsan_platform_linux.cc: Likewise. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@251828 138bc75d-0d04-0410-961f-82ee72b054a4 - -(cherry picked from commit 8937b94d1a643fd9760714642296d034a45254a8) -[Romain rebase on gcc 6.4] -Signed-off-by: Romain Naour ---- - libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +-- - libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +--- - libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +- - libsanitizer/tsan/tsan_platform_linux.cc | 2 +- - 4 files changed, 4 insertions(+), 7 deletions(-) - -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc -index 2cefa20..223d9c6 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc -@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h -index 4497702..1594058 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.h -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h -@@ -19,7 +19,6 @@ - #include "sanitizer_platform_limits_posix.h" - - struct link_map; // Opaque type returned by dlopen(). --struct sigaltstack; - - namespace __sanitizer { - // Dirent structure for getdents(). Note that this structure is different from -@@ -28,8 +27,7 @@ struct linux_dirent; - - // Syscall wrappers. - uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, - __sanitizer_sigset_t *oldset); - void internal_sigfillset(__sanitizer_sigset_t *set); -diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -index c919e4f..014162af 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -@@ -267,7 +267,7 @@ static int TracerThread(void* argument) { - - // Alternate stack for signal handling. - InternalScopedBuffer handler_stack_memory(kHandlerStackSize); -- struct sigaltstack handler_stack; -+ stack_t handler_stack; - internal_memset(&handler_stack, 0, sizeof(handler_stack)); - handler_stack.ss_sp = handler_stack_memory.data(); - handler_stack.ss_size = kHandlerStackSize; -diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc -index 09cec5f..908f4fe 100644 ---- a/libsanitizer/tsan/tsan_platform_linux.cc -+++ b/libsanitizer/tsan/tsan_platform_linux.cc -@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) { - int ExtractResolvFDs(void *state, int *fds, int nfd) { - #if SANITIZER_LINUX - int cnt = 0; -- __res_state *statp = (__res_state*)state; -+ struct __res_state *statp = (struct __res_state*)state; - for (int i = 0; i < MAXNS && cnt < nfd; i++) { - if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) - fds[cnt++] = statp->_u._ext.nssocks[i]; --- -2.9.5 - diff --git a/bsp/buildroot/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch b/bsp/buildroot/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch new file mode 100644 index 00000000..afc18a50 --- /dev/null +++ b/bsp/buildroot/package/gcc/6.5.0/0001-m68k-coldfire-pr68467.patch @@ -0,0 +1,48 @@ +Backport from upstream, see +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 + +Signed-off-by: Waldemar Brodkorb + +diff -Nur gcc-6.4.0.orig/gcc/config/m68k/m68k.c gcc-6.4.0/gcc/config/m68k/m68k.c +--- gcc-6.4.0.orig/gcc/config/m68k/m68k.c 2016-01-04 15:30:50.652828000 +0100 ++++ gcc-6.4.0/gcc/config/m68k/m68k.c 2018-02-17 19:08:16.313168186 +0100 +@@ -180,6 +180,8 @@ + const_tree, bool); + static bool m68k_cannot_force_const_mem (machine_mode mode, rtx x); + static bool m68k_output_addr_const_extra (FILE *, rtx); ++static machine_mode m68k_promote_function_mode (const_tree, machine_mode, ++ int *, const_tree, int); + static void m68k_init_sync_libfuncs (void) ATTRIBUTE_UNUSED; + + /* Initialize the GCC target structure. */ +@@ -322,6 +324,9 @@ + #undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL + #define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 128 + ++#undef TARGET_PROMOTE_FUNCTION_MODE ++#define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode ++ + static const struct attribute_spec m68k_attribute_table[] = + { + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, +@@ -6524,4 +6529,20 @@ + == m68k_fk_interrupt_handler)); + } + ++/* Implement TARGET_PROMOTE_FUNCTION_MODE. */ ++ ++static machine_mode ++m68k_promote_function_mode (const_tree type, machine_mode mode, ++ int *punsignedp ATTRIBUTE_UNUSED, ++ const_tree fntype ATTRIBUTE_UNUSED, ++ int for_return) ++{ ++ /* Promote libcall arguments narrower than int to match the normal C ++ ABI (for which promotions are handled via ++ TARGET_PROMOTE_PROTOTYPES). */ ++ if (type == NULL_TREE && !for_return && (mode == QImode || mode == HImode)) ++ return SImode; ++ return mode; ++} ++ + #include "gt-m68k.h" diff --git a/bsp/buildroot/package/gcc/6.4.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch b/bsp/buildroot/package/gcc/6.5.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch rename to bsp/buildroot/package/gcc/6.5.0/0004-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/100-uclibc-conf.patch b/bsp/buildroot/package/gcc/6.5.0/100-uclibc-conf.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/100-uclibc-conf.patch rename to bsp/buildroot/package/gcc/6.5.0/100-uclibc-conf.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/301-missing-execinfo_h.patch b/bsp/buildroot/package/gcc/6.5.0/301-missing-execinfo_h.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/301-missing-execinfo_h.patch rename to bsp/buildroot/package/gcc/6.5.0/301-missing-execinfo_h.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/810-arm-softfloat-libgcc.patch b/bsp/buildroot/package/gcc/6.5.0/810-arm-softfloat-libgcc.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/810-arm-softfloat-libgcc.patch rename to bsp/buildroot/package/gcc/6.5.0/810-arm-softfloat-libgcc.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/830-arm_unbreak_armv4t.patch b/bsp/buildroot/package/gcc/6.5.0/830-arm_unbreak_armv4t.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/830-arm_unbreak_armv4t.patch rename to bsp/buildroot/package/gcc/6.5.0/830-arm_unbreak_armv4t.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch b/bsp/buildroot/package/gcc/6.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch rename to bsp/buildroot/package/gcc/6.5.0/831-ARM-PR-target-70473-Reduce-size-of-Cortex-A8-automat.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/860-cilk-wchar.patch b/bsp/buildroot/package/gcc/6.5.0/860-cilk-wchar.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/860-cilk-wchar.patch rename to bsp/buildroot/package/gcc/6.5.0/860-cilk-wchar.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/890-fix-m68k-compile.patch b/bsp/buildroot/package/gcc/6.5.0/890-fix-m68k-compile.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/890-fix-m68k-compile.patch rename to bsp/buildroot/package/gcc/6.5.0/890-fix-m68k-compile.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/896-microblaze-Revert.patch b/bsp/buildroot/package/gcc/6.5.0/896-microblaze-Revert.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/896-microblaze-Revert.patch rename to bsp/buildroot/package/gcc/6.5.0/896-microblaze-Revert.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch b/bsp/buildroot/package/gcc/6.5.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch rename to bsp/buildroot/package/gcc/6.5.0/897-Make-MicroBlaze-support-DWARF-EH-old-Xilinx-patch-ne.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/940-uclinux-enable-threads.patch b/bsp/buildroot/package/gcc/6.5.0/940-uclinux-enable-threads.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/940-uclinux-enable-threads.patch rename to bsp/buildroot/package/gcc/6.5.0/940-uclinux-enable-threads.patch diff --git a/bsp/buildroot/package/gcc/6.4.0/941-mips-Add-support-for-mips-r6-musl.patch b/bsp/buildroot/package/gcc/6.5.0/941-mips-Add-support-for-mips-r6-musl.patch similarity index 100% rename from bsp/buildroot/package/gcc/6.4.0/941-mips-Add-support-for-mips-r6-musl.patch rename to bsp/buildroot/package/gcc/6.5.0/941-mips-Add-support-for-mips-r6-musl.patch diff --git a/bsp/buildroot/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch b/bsp/buildroot/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch deleted file mode 100644 index 78a028c2..00000000 --- a/bsp/buildroot/package/gcc/7.3.0/0002-fix-building-on-ppc64.patch +++ /dev/null @@ -1,40 +0,0 @@ -From aa65a43516da1d48011ef621ed5988289711d99b Mon Sep 17 00:00:00 2001 -From: marxin -Date: Fri, 29 Jun 2018 09:31:30 +0000 -Subject: [PATCH] Partial backport r256656 - -2018-06-29 Martin Liska - - Backport from mainline - 2018-01-10 Kelvin Nilsen - - * lex.c (search_line_fast): Remove illegal coercion of an - unaligned pointer value to vector pointer type and replace with - use of __builtin_vec_vsx_ld () built-in function, which operates - on unaligned pointer values. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@261621 138bc75d-0d04-0410-961f-82ee72b054a4 - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@262243 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Joel Stanley ---- - libcpp/lex.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcpp/lex.c b/libcpp/lex.c -index 097c78002cbb..e0fb9e822c44 100644 ---- a/libcpp/lex.c -+++ b/libcpp/lex.c -@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) - { - vc m_nl, m_cr, m_bs, m_qm; - -- data = *((const vc *)s); -+ data = __builtin_vec_vsx_ld (0, s); - s += 16; - - m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl); --- -2.17.1 - diff --git a/bsp/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch b/bsp/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch deleted file mode 100644 index 7ead5754..00000000 --- a/bsp/buildroot/package/gcc/7.3.0/0002-xtensa-fix-PR-target-65416.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 87fda0741d210727672cba5e54a37a189e8ac04e Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 17 Jun 2018 21:18:39 -0700 -Subject: [PATCH] xtensa: fix PR target/65416 - -The issue is caused by reordering of stack pointer update after stack -space allocation with instructions that write to the allocated stack -space. In windowed ABI register spill area for the previous call frame -is located just below the stack pointer and may be reloaded back into -the register file on movsp. -Implement allocate_stack pattern for windowed ABI configuration and -insert an instruction that prevents reordering of frame memory access -and stack pointer update. - -gcc/ -2018-06-19 Max Filippov - - * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec - constant. - (allocate_stack, frame_blockage, *frame_blockage): New patterns. - -Signed-off-by: Max Filippov -Backported from: r261755 ---- - gcc/config/xtensa/xtensa.md | 46 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md -index 84967dbedc08..209f839cfb0f 100644 ---- a/gcc/config/xtensa/xtensa.md -+++ b/gcc/config/xtensa/xtensa.md -@@ -38,6 +38,7 @@ - (UNSPEC_MEMW 11) - (UNSPEC_LSETUP_START 12) - (UNSPEC_LSETUP_END 13) -+ (UNSPEC_FRAME_BLOCKAGE 14) - - (UNSPECV_SET_FP 1) - (UNSPECV_ENTRY 2) -@@ -1676,6 +1677,32 @@ - - ;; Miscellaneous instructions. - -+;; In windowed ABI stack pointer adjustment must happen before any access -+;; to the space allocated on stack is allowed, otherwise register spill -+;; area may be clobbered. That's what frame blockage is supposed to enforce. -+ -+(define_expand "allocate_stack" -+ [(set (match_operand 0 "nonimmed_operand") -+ (minus (reg A1_REG) (match_operand 1 "add_operand"))) -+ (set (reg A1_REG) -+ (minus (reg A1_REG) (match_dup 1)))] -+ "TARGET_WINDOWED_ABI" -+{ -+ if (CONST_INT_P (operands[1])) -+ { -+ rtx neg_op0 = GEN_INT (-INTVAL (operands[1])); -+ emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, neg_op0)); -+ } -+ else -+ { -+ emit_insn (gen_subsi3 (stack_pointer_rtx, stack_pointer_rtx, -+ operands[1])); -+ } -+ emit_move_insn (operands[0], virtual_stack_dynamic_rtx); -+ emit_insn (gen_frame_blockage ()); -+ DONE; -+}) -+ - (define_expand "prologue" - [(const_int 0)] - "" -@@ -1767,6 +1794,25 @@ - [(set_attr "length" "0") - (set_attr "type" "nop")]) - -+;; Do not schedule instructions accessing memory before this point. -+ -+(define_expand "frame_blockage" -+ [(set (match_dup 0) -+ (unspec:BLK [(match_dup 1)] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+{ -+ operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode)); -+ MEM_VOLATILE_P (operands[0]) = 1; -+ operands[1] = stack_pointer_rtx; -+}) -+ -+(define_insn "*frame_blockage" -+ [(set (match_operand:BLK 0 "" "") -+ (unspec:BLK [(match_operand:SI 1 "" "")] UNSPEC_FRAME_BLOCKAGE))] -+ "" -+ "" -+ [(set_attr "length" "0")]) -+ - (define_insn "trap" - [(trap_if (const_int 1) (const_int 0))] - "" --- -2.11.0 - diff --git a/bsp/buildroot/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch b/bsp/buildroot/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch deleted file mode 100644 index d62d7c15..00000000 --- a/bsp/buildroot/package/gcc/7.3.0/0003-gcc-xtensa-fix-NAND-code-in-xtensa_expand_atomic.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6765eecde2ed8d4be0fc217408b9e9b92a840aff Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Tue, 4 Sep 2018 00:39:32 -0700 -Subject: [PATCH] gcc: xtensa: fix NAND code in xtensa_expand_atomic - -NAND is ~(a1 & a2), but xtensa_expand_atomic does ~a1 & a2. -That fixes libatomic tests atomic-op-{1,2}. - -gcc/ -2018-09-04 Max Filippov - - * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and - XOR operations in NAND case. - -Signed-off-by: Max Filippov -Backported from: r264087 ---- - gcc/config/xtensa/xtensa.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 7cfe64d42895..080bb4ad765d 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -1614,9 +1614,9 @@ xtensa_expand_atomic (enum rtx_code code, rtx target, rtx mem, rtx val, - break; - - case MULT: /* NAND */ -- tmp = expand_simple_binop (SImode, XOR, old, ac.modemask, -+ tmp = expand_simple_binop (SImode, AND, old, val, - NULL_RTX, 1, OPTAB_DIRECT); -- tmp = expand_simple_binop (SImode, AND, tmp, val, -+ tmp = expand_simple_binop (SImode, XOR, tmp, ac.modemask, - new_rtx, 1, OPTAB_DIRECT); - break; - --- -2.11.0 - diff --git a/bsp/buildroot/package/gcc/7.3.0/0005-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch b/bsp/buildroot/package/gcc/7.3.0/0005-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch deleted file mode 100644 index 360947cb..00000000 --- a/bsp/buildroot/package/gcc/7.3.0/0005-gcc-xtensa-don-t-force-PIC-for-uclinux-target.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 960a2552f7b418134cdf7a31e96023a3811b98dd Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Sun, 4 Nov 2018 23:55:59 -0800 -Subject: [PATCH] gcc: xtensa: don't force PIC for uclinux target - -xtensa-uclinux uses bFLT executable file format that cannot relocate -fields representing offsets from data to code. C++ objects built as PIC -use offsets to encode FDE structures. As a result C++ exception handling -doesn't work correctly on xtensa-uclinux. Don't use PIC by default on -xtensa-uclinux. - -gcc/ -2018-11-05 Max Filippov - - * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0. - -Signed-off-by: Max Filippov ---- -Backported from: r265823 - - gcc/config/xtensa/uclinux.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h -index ba26187c8f7a..c7743df9d97c 100644 ---- a/gcc/config/xtensa/uclinux.h -+++ b/gcc/config/xtensa/uclinux.h -@@ -59,8 +59,8 @@ along with GCC; see the file COPYING3. If not see - #undef LOCAL_LABEL_PREFIX - #define LOCAL_LABEL_PREFIX "." - --/* Always enable "-fpic" for Xtensa Linux. */ --#define XTENSA_ALWAYS_PIC 1 -+/* Don't enable "-fpic" for Xtensa uclinux. */ -+#define XTENSA_ALWAYS_PIC 0 - - #undef TARGET_LIBC_HAS_FUNCTION - #define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function --- -2.11.0 - diff --git a/bsp/buildroot/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch b/bsp/buildroot/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch deleted file mode 100644 index e84fd924..00000000 --- a/bsp/buildroot/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 23:25:17 +0200 -Subject: [PATCH] fix m68k uclinux avoids internal compiler error while - compiling linux-atomic.c See here: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833 - -Signed-off-by: Waldemar Brodkorb -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - libgcc/config.host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libgcc/config.host b/libgcc/config.host -index b279a64..04fe183 100644 ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -820,7 +820,7 @@ m68k*-*-netbsdelf*) - m68k*-*-openbsd*) - ;; - m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc -- tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux" -+ tmake_file="$tmake_file m68k/t-floatlib" - md_unwind_header=m68k/linux-unwind.h - ;; - m68k-*-linux*) # Motorola m68k's running GNU/Linux --- -2.9.3 - diff --git a/bsp/buildroot/package/gcc/7.3.0/0900-remove-selftests.patch b/bsp/buildroot/package/gcc/7.3.0/0900-remove-selftests.patch deleted file mode 100644 index a3bc7a57..00000000 --- a/bsp/buildroot/package/gcc/7.3.0/0900-remove-selftests.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 3 May 2017 00:37:06 +0200 -Subject: [PATCH] remove selftests - -When the gcc archive is extracted by the gcc.mk, the gcc/testsuite -is excluded: - -HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -The new Makefile target from the "Selftest framework" [1] added a dependency -on the gcc/testsuite/Makefile. -Revert partially the commit [1] to allow building gcc without selftest. - -[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 - -Signed-off-by: Romain Naour ---- - gcc/Makefile.in | 46 +++++----------------------------------------- - 1 file changed, 5 insertions(+), 41 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 74d1912..652a554 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1581,14 +1581,13 @@ OBJS = \ - OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ - edit-context.o \ - pretty-print.o intl.o \ -- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ -- selftest.o -+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o - - # Objects in libcommon-target.a, used by drivers and by the core - # compiler and containing target-dependent code. - OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ - opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ -- hash-table.o file-find.o spellcheck.o selftest.o -+ hash-table.o file-find.o spellcheck.o - - # This lists all host objects for the front ends. - ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) -@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc - quickstrap: all - cd $(toplevel_builddir) && $(MAKE) all-target-libgcc - --all.internal: start.encap rest.encap doc selftest -+all.internal: start.encap rest.encap doc - # This is what to compile if making a cross-compiler. - all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ -- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra -+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra - # This is what must be made before installing GCC and converting libraries. - start.encap: native xgcc$(exeext) cpp$(exeext) specs \ - libgcc-support lang.start.encap @GENINSRC@ srcextra -@@ -1888,41 +1887,6 @@ endif - # This does the things that can't be done on the host machine. - rest.cross: specs - --# GCC's selftests. --# Specify a dummy input file to placate the driver. --# Specify -nostdinc to work around missing WIND_BASE environment variable --# required for *-wrs-vxworks-* targets. --# Specify -o /dev/null so the output of -S is discarded. More importantly --# It does not try to create a file with the name "null.s" on POSIX and --# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. --# Specify the path to gcc/testsuite/selftests within the srcdir --# as an argument to -fself-test. --SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \ -- -fself-test=$(srcdir)/testsuite/selftests -- --# Run the selftests during the build once we have a driver and a cc1, --# so that self-test failures are caught as early as possible. --# Use "s-selftest" to ensure that we only run the selftests if the --# driver, cc1, or selftest data change. --.PHONY: selftest --selftest: s-selftest --s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \ -- $(srcdir)/testsuite/selftests -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) -- $(STAMP) $@ -- --# Convenience method for running selftests under gdb: --.PHONY: selftest-gdb --selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper gdb,--args -- --# Convenience method for running selftests under valgrind: --.PHONY: selftest-valgrind --selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper valgrind,--leak-check=full -- - # Recompile all the language-independent object files. - # This is used only if the user explicitly asks for it. - compilations: $(BACKEND) -@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c - cp $^ $@ - - COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ -- collect-utils.o file-find.o hash-table.o selftest.o -+ collect-utils.o file-find.o hash-table.o - COLLECT2_LIBS = @COLLECT2_LIBS@ - collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) - # Don't try modifying collect2 (aka ld) in place--it might be linking this. --- -2.9.3 - diff --git a/bsp/buildroot/package/gcc/7.3.0/0100-uclibc-conf.patch b/bsp/buildroot/package/gcc/7.4.0/0100-uclibc-conf.patch similarity index 100% rename from bsp/buildroot/package/gcc/7.3.0/0100-uclibc-conf.patch rename to bsp/buildroot/package/gcc/7.4.0/0100-uclibc-conf.patch diff --git a/bsp/buildroot/package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch b/bsp/buildroot/package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch similarity index 100% rename from bsp/buildroot/package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch rename to bsp/buildroot/package/gcc/7.4.0/0810-arm-softfloat-libgcc.patch diff --git a/bsp/buildroot/package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch b/bsp/buildroot/package/gcc/7.4.0/0860-cilk-fix-build-without-wchar.patch similarity index 100% rename from bsp/buildroot/package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch rename to bsp/buildroot/package/gcc/7.4.0/0860-cilk-fix-build-without-wchar.patch diff --git a/bsp/buildroot/package/gcc/7.3.0/0892-microblaze-Revert.patch b/bsp/buildroot/package/gcc/7.4.0/0892-microblaze-Revert.patch similarity index 96% rename from bsp/buildroot/package/gcc/7.3.0/0892-microblaze-Revert.patch rename to bsp/buildroot/package/gcc/7.4.0/0892-microblaze-Revert.patch index 7026d0ef..f7ea1e83 100644 --- a/bsp/buildroot/package/gcc/7.3.0/0892-microblaze-Revert.patch +++ b/bsp/buildroot/package/gcc/7.4.0/0892-microblaze-Revert.patch @@ -14,6 +14,7 @@ Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4 Signed-off-by: Waldemar Brodkorb +Signed-off-by: Romain Naour diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h index 66e4ef5..2c9ece1 100644 --- a/gcc/config/microblaze/microblaze.h diff --git a/bsp/buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch b/bsp/buildroot/package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch similarity index 97% rename from bsp/buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch rename to bsp/buildroot/package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch index 37acc8b6..fb8509fa 100644 --- a/bsp/buildroot/package/gcc/7.3.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch +++ b/bsp/buildroot/package/gcc/7.4.0/1000-arm-PR-target-81497-Fix-arm_acle.h-for-C.patch @@ -38,11 +38,11 @@ with the first arm-specific C++ tests (in that directory). * g++.target/arm/arm.exp: New file. * g++.target/arm/pr81497.C: Likewise. - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261191 138bc75d-0d04-0410-961f-82ee72b054a4 Upstream-Status: Merged (gcc-8-branch) Signed-off-by: Gaël PORTAY [gportay: drop gcc/{,testsuite/}ChangeLog changes] +Signed-off-by: Romain Naour --- gcc/config/arm/arm-builtins.c | 42 +++++++++++++--------- gcc/config/arm/arm_acle.h | 28 +++++++-------- @@ -56,7 +56,7 @@ diff --git a/gcc/config/arm/arm-builtins.c b/gcc/config/arm/arm-builtins.c index 7fde7a04672..183a7b907f6 100644 --- a/gcc/config/arm/arm-builtins.c +++ b/gcc/config/arm/arm-builtins.c -@@ -78,7 +78,11 @@ enum arm_type_qualifiers +@@ -75,7 +75,11 @@ enum arm_type_qualifiers /* Lane indices - must be within range of previous argument = a vector. */ qualifier_lane_index = 0x200, /* Lane indices for single lane structure loads and stores. */ @@ -69,7 +69,7 @@ index 7fde7a04672..183a7b907f6 100644 }; /* The qualifier_internal allows generation of a unary builtin from -@@ -202,7 +206,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS] +@@ -185,7 +189,7 @@ arm_cdp_qualifiers[SIMD_MAX_BUILTIN_ARGS] static enum arm_type_qualifiers arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] = { qualifier_void, qualifier_unsigned_immediate, @@ -78,7 +78,7 @@ index 7fde7a04672..183a7b907f6 100644 #define LDC_QUALIFIERS \ (arm_ldc_qualifiers) -@@ -210,7 +214,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] +@@ -193,7 +197,7 @@ arm_ldc_qualifiers[SIMD_MAX_BUILTIN_ARGS] static enum arm_type_qualifiers arm_stc_qualifiers[SIMD_MAX_BUILTIN_ARGS] = { qualifier_void, qualifier_unsigned_immediate, @@ -87,7 +87,7 @@ index 7fde7a04672..183a7b907f6 100644 #define STC_QUALIFIERS \ (arm_stc_qualifiers) -@@ -1095,19 +1099,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d, +@@ -1079,19 +1083,25 @@ arm_init_builtin (unsigned int fcode, arm_builtin_datum *d, if (qualifiers & qualifier_pointer && VECTOR_MODE_P (op_mode)) op_mode = GET_MODE_INNER (op_mode); diff --git a/bsp/buildroot/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch b/bsp/buildroot/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch new file mode 100644 index 00000000..accaf021 --- /dev/null +++ b/bsp/buildroot/package/gcc/7.4.0/1001-gcc-define-_REENTRANT-for-RISC-V-when-pthread-is-pas.patch @@ -0,0 +1,31 @@ +From 6ea832d09415cd82b744d0cf168cdd728c43df47 Mon Sep 17 00:00:00 2001 +From: Mark Corbin +Date: Thu, 22 Nov 2018 12:19:11 +0000 +Subject: [PATCH] gcc: define _REENTRANT for RISC-V when -pthread is passed + +The detection of pthread support fails on RISC-V unless _REENTRANT +is defined. Added the CPP_SPEC definition from gcc 8.1.0 to correct +this. + +Signed-off-by: Mark Corbin +Signed-off-by: Romain Naour +--- + gcc/config/riscv/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h +index 4b2f7b6e1fd..b00d23ddfa0 100644 +--- a/gcc/config/riscv/linux.h ++++ b/gcc/config/riscv/linux.h +@@ -47,6 +47,8 @@ along with GCC; see the file COPYING3. If not see + + #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #define LINK_SPEC "\ + -melf" XLEN_SPEC "lriscv \ + %{shared} \ +-- +2.19.1 + diff --git a/bsp/buildroot/package/gcc/Config.in.host b/bsp/buildroot/package/gcc/Config.in.host index 309ddf57..8ec406a1 100644 --- a/bsp/buildroot/package/gcc/Config.in.host +++ b/bsp/buildroot/package/gcc/Config.in.host @@ -4,15 +4,15 @@ choice prompt "GCC compiler Version" default BR2_GCC_VERSION_ARC if BR2_arc default BR2_GCC_VERSION_OR1K if BR2_or1k - default BR2_GCC_VERSION_6_X + default BR2_GCC_VERSION_7_X help Select the version of gcc you wish to use. config BR2_GCC_VERSION_ARC - bool "gcc arc (7.x)" + bool "gcc arc (8.x)" # Only supported architecture depends on BR2_arc - select BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_GCC_VERSION_OR1K bool "gcc or1k (5.x)" @@ -32,6 +32,8 @@ config BR2_GCC_VERSION_4_9_X depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) # glibc >= 2.26 needs gcc >= 6.2 depends on !(BR2_TOOLCHAIN_USES_GLIBC && BR2_powerpc64le) + # glibc >= 2.27 needs gcc >= 5 + depends on !(BR2_TOOLCHAIN_USES_GLIBC && (BR2_aarch64 || BR2_aarch64_be)) select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 config BR2_GCC_VERSION_5_X @@ -57,30 +59,33 @@ config BR2_GCC_VERSION_6_X config BR2_GCC_VERSION_7_X bool "gcc 7.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 # Broken or unsupported architectures depends on !BR2_or1k select BR2_TOOLCHAIN_GCC_AT_LEAST_7 +config BR2_GCC_VERSION_8_X + bool "gcc 8.x" + # Broken or unsupported architectures + depends on !BR2_or1k + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + endchoice -# Indicates if GCC for architecture supports --with-{arch,cpu,..} to -# set default CFLAGS, otherwise values will be used by toolchain -# wrapper. -config BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS +# libcilkrts was introduced in gcc 4.9 (oldest gcc version we +# support), and removed in gcc 8.x +config BR2_GCC_SUPPORTS_LIBCILKRTS bool - default y if !BR2_bfin - -config BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE - bool - default y + default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8 config BR2_GCC_VERSION string default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.5.0" if BR2_GCC_VERSION_5_X - default "6.4.0" if BR2_GCC_VERSION_6_X - default "7.3.0" if BR2_GCC_VERSION_7_X - default "arc-2017.09-release" if BR2_GCC_VERSION_ARC + default "6.5.0" if BR2_GCC_VERSION_6_X + default "7.4.0" if BR2_GCC_VERSION_7_X + default "8.3.0" if BR2_GCC_VERSION_8_X + default "arc-2018.09-release" if BR2_GCC_VERSION_ARC default "or1k-musl-5.4.0-20170218" if BR2_GCC_VERSION_OR1K config BR2_EXTRA_GCC_CONFIG_OPTIONS diff --git a/bsp/buildroot/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch b/bsp/buildroot/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch deleted file mode 100644 index ce78fac2..00000000 --- a/bsp/buildroot/package/gcc/arc-2017.09-release/0001-fix-checking-for-jumps.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c2694d3739d90ea3350b42252638b604a2c122b7 Mon Sep 17 00:00:00 2001 -From: Claudiu Zissulescu -Date: Tue, 7 Nov 2017 20:16:41 +0200 -Subject: [PATCH] [FIX][ZOL] fix checking for jumps - -Signed-off-by: Evgeniy Didin ---- - gcc/config/arc/arc.c | 3 ++- - gcc/testsuite/gcc.target/arc/loop-4.c | 14 ++++++++++++++ - 2 files changed, 16 insertions(+), 1 deletion(-) - create mode 100644 gcc/testsuite/gcc.target/arc/loop-4.c - -diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c -index 22eeb34a371..5d367499d03 100644 ---- a/gcc/config/arc/arc.c -+++ b/gcc/config/arc/arc.c -@@ -7505,7 +7505,8 @@ hwloop_optimize (hwloop_info loop) - && INSN_P (last_insn) - && (JUMP_P (last_insn) || CALL_P (last_insn) - || GET_CODE (PATTERN (last_insn)) == SEQUENCE -- || JUMP_P (prev_active_insn (last_insn)) -+ || (prev_active_insn (last_insn) -+ && JUMP_P (prev_active_insn (last_insn))) - /* At this stage we can have (insn (clobber (mem:BLK - (reg)))) instructions, ignpre them. */ - || (GET_CODE (PATTERN (last_insn)) != CLOBBER -diff --git a/gcc/testsuite/gcc.target/arc/loop-4.c b/gcc/testsuite/gcc.target/arc/loop-4.c -new file mode 100644 -index 00000000000..99a93a74d1e ---- /dev/null -+++ b/gcc/testsuite/gcc.target/arc/loop-4.c -@@ -0,0 +1,14 @@ -+/* { dg-do assemble } */ -+/* { dg-do compile } */ -+/* { dg-options "-Os" } */ -+ -+ -+void fn1(void *p1, int p2, int p3) -+{ -+ char *d = p1; -+ do -+ *d++ = p2; -+ while (--p3); -+} -+ -+/* { dg-final { scan-assembler "lp_count" } } */ --- -2.11.0 - diff --git a/bsp/buildroot/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch b/bsp/buildroot/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch deleted file mode 100644 index 61ab01c7..00000000 --- a/bsp/buildroot/package/gcc/arc-2017.09-release/0860-cilk-fix-build-without-wchar.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Tue, 2 May 2017 23:21:46 +0200 -Subject: [PATCH] cilk: fix build without wchar - -When building against uClibc with wchar support disabled, WCHAR_MIN and -WCHAR_MAX are not defined leading to compilation errors. - -Fix it by only including the wchar code if available. - -Signed-off-by: Peter Korsgaard -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h -index 641aa82..4f8e010 100644 ---- a/libcilkrts/include/cilk/reducer_min_max.h -+++ b/libcilkrts/include/cilk/reducer_min_max.h -@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MAX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INSTANCE(int, int, INT_MIN) -@@ -3441,7 +3443,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MAX_INDEX_INSTANCE(char, char, CHAR_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char, uchar, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char, schar, SCHAR_MIN) -+#ifdef WCHAR_MIN - CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MIN) -+#endif - CILK_C_REDUCER_MAX_INDEX_INSTANCE(short, short, SHRT_MIN) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short, ushort, 0) - CILK_C_REDUCER_MAX_INDEX_INSTANCE(int, int, INT_MIN) -@@ -3567,7 +3571,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MIN_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INSTANCE(int, int, INT_MAX) -@@ -3719,7 +3725,9 @@ __CILKRTS_BEGIN_EXTERN_C - CILK_C_REDUCER_MIN_INDEX_INSTANCE(char, char, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char, uchar, CHAR_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char, schar, SCHAR_MAX) -+#ifdef WCHAR_MAX - CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t, wchar_t, WCHAR_MAX) -+#endif - CILK_C_REDUCER_MIN_INDEX_INSTANCE(short, short, SHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short, ushort, USHRT_MAX) - CILK_C_REDUCER_MIN_INDEX_INSTANCE(int, int, INT_MAX) --- -2.9.3 - diff --git a/bsp/buildroot/package/gcc/arc-2017.09-release/0900-remove-selftests.patch b/bsp/buildroot/package/gcc/arc-2017.09-release/0900-remove-selftests.patch deleted file mode 100644 index a3bc7a57..00000000 --- a/bsp/buildroot/package/gcc/arc-2017.09-release/0900-remove-selftests.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Wed, 3 May 2017 00:37:06 +0200 -Subject: [PATCH] remove selftests - -When the gcc archive is extracted by the gcc.mk, the gcc/testsuite -is excluded: - -HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -The new Makefile target from the "Selftest framework" [1] added a dependency -on the gcc/testsuite/Makefile. -Revert partially the commit [1] to allow building gcc without selftest. - -[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 - -Signed-off-by: Romain Naour ---- - gcc/Makefile.in | 46 +++++----------------------------------------- - 1 file changed, 5 insertions(+), 41 deletions(-) - -diff --git a/gcc/Makefile.in b/gcc/Makefile.in -index 74d1912..652a554 100644 ---- a/gcc/Makefile.in -+++ b/gcc/Makefile.in -@@ -1581,14 +1581,13 @@ OBJS = \ - OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ - edit-context.o \ - pretty-print.o intl.o \ -- vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ -- selftest.o -+ vec.o input.o version.o hash-table.o ggc-none.o memory-block.o - - # Objects in libcommon-target.a, used by drivers and by the core - # compiler and containing target-dependent code. - OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ - opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ -- hash-table.o file-find.o spellcheck.o selftest.o -+ hash-table.o file-find.o spellcheck.o - - # This lists all host objects for the front ends. - ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) -@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc - quickstrap: all - cd $(toplevel_builddir) && $(MAKE) all-target-libgcc - --all.internal: start.encap rest.encap doc selftest -+all.internal: start.encap rest.encap doc - # This is what to compile if making a cross-compiler. - all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ -- libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra -+ libgcc-support lang.all.cross doc @GENINSRC@ srcextra - # This is what must be made before installing GCC and converting libraries. - start.encap: native xgcc$(exeext) cpp$(exeext) specs \ - libgcc-support lang.start.encap @GENINSRC@ srcextra -@@ -1888,41 +1887,6 @@ endif - # This does the things that can't be done on the host machine. - rest.cross: specs - --# GCC's selftests. --# Specify a dummy input file to placate the driver. --# Specify -nostdinc to work around missing WIND_BASE environment variable --# required for *-wrs-vxworks-* targets. --# Specify -o /dev/null so the output of -S is discarded. More importantly --# It does not try to create a file with the name "null.s" on POSIX and --# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. --# Specify the path to gcc/testsuite/selftests within the srcdir --# as an argument to -fself-test. --SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \ -- -fself-test=$(srcdir)/testsuite/selftests -- --# Run the selftests during the build once we have a driver and a cc1, --# so that self-test failures are caught as early as possible. --# Use "s-selftest" to ensure that we only run the selftests if the --# driver, cc1, or selftest data change. --.PHONY: selftest --selftest: s-selftest --s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \ -- $(srcdir)/testsuite/selftests -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) -- $(STAMP) $@ -- --# Convenience method for running selftests under gdb: --.PHONY: selftest-gdb --selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper gdb,--args -- --# Convenience method for running selftests under valgrind: --.PHONY: selftest-valgrind --selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs -- $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \ -- -wrapper valgrind,--leak-check=full -- - # Recompile all the language-independent object files. - # This is used only if the user explicitly asks for it. - compilations: $(BACKEND) -@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c - cp $^ $@ - - COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ -- collect-utils.o file-find.o hash-table.o selftest.o -+ collect-utils.o file-find.o hash-table.o - COLLECT2_LIBS = @COLLECT2_LIBS@ - collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) - # Don't try modifying collect2 (aka ld) in place--it might be linking this. --- -2.9.3 - diff --git a/bsp/buildroot/package/gcc/arc-2017.09-release/0100-uclibc-conf.patch b/bsp/buildroot/package/gcc/arc-2018.09-release/0100-uclibc-conf.patch similarity index 100% rename from bsp/buildroot/package/gcc/arc-2017.09-release/0100-uclibc-conf.patch rename to bsp/buildroot/package/gcc/arc-2018.09-release/0100-uclibc-conf.patch diff --git a/bsp/buildroot/package/gcc/gcc-final/gcc-final.mk b/bsp/buildroot/package/gcc/gcc-final/gcc-final.mk index c27376ad..49f16f69 100644 --- a/bsp/buildroot/package/gcc/gcc-final/gcc-final.mk +++ b/bsp/buildroot/package/gcc/gcc-final/gcc-final.mk @@ -8,12 +8,13 @@ GCC_FINAL_VERSION = $(GCC_VERSION) GCC_FINAL_SITE = $(GCC_SITE) GCC_FINAL_SOURCE = $(GCC_SOURCE) +HOST_GCC_FINAL_DL_SUBDIR = gcc + HOST_GCC_FINAL_DEPENDENCIES = \ $(HOST_GCC_COMMON_DEPENDENCIES) \ $(BR_LIBC) HOST_GCC_FINAL_EXCLUDES = $(HOST_GCC_EXCLUDES) -HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_FINAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT @@ -67,16 +68,16 @@ HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib* # doesn't use floating point operations. ifeq ($(BR2_sh4)$(BR2_sh4eb),y) HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4,m4-nofpu" +# check-package OverriddenVariable HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4* endif ifeq ($(BR2_sh4a)$(BR2_sh4aeb),y) HOST_GCC_FINAL_CONF_OPTS += "--with-multilib-list=m4a,m4a-nofpu" +# check-package OverriddenVariable HOST_GCC_FINAL_GCC_LIB_DIR = $(HOST_DIR)/$(GNU_TARGET_NAME)/lib/!m4* endif -ifeq ($(BR2_bfin),y) -HOST_GCC_FINAL_CONF_OPTS += --disable-symvers -endif +ifeq ($(BR2_GCC_SUPPORTS_LIBCILKRTS),y) # libcilkrts does not support v8 ifeq ($(BR2_sparc),y) @@ -88,10 +89,16 @@ ifeq ($(BR2_PTHREADS_NONE),y) HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts endif -# Disable shared libs like libstdc++ if we do static since it confuses linking -# In that case also disable libcilkrts as there is no static version ifeq ($(BR2_STATIC_LIBS),y) -HOST_GCC_FINAL_CONF_OPTS += --disable-shared --disable-libcilkrts +# disable libcilkrts as there is no static version +HOST_GCC_FINAL_CONF_OPTS += --disable-libcilkrts +endif + +endif # BR2_GCC_SUPPORTS_LIBCILKRTS + +# Disable shared libs like libstdc++ if we do static since it confuses linking +ifeq ($(BR2_STATIC_LIBS),y) +HOST_GCC_FINAL_CONF_OPTS += --disable-shared else HOST_GCC_FINAL_CONF_OPTS += --enable-shared endif diff --git a/bsp/buildroot/package/gcc/gcc-initial/gcc-initial.mk b/bsp/buildroot/package/gcc/gcc-initial/gcc-initial.mk index c476b2fa..1decca82 100644 --- a/bsp/buildroot/package/gcc/gcc-initial/gcc-initial.mk +++ b/bsp/buildroot/package/gcc/gcc-initial/gcc-initial.mk @@ -8,10 +8,14 @@ GCC_INITIAL_VERSION = $(GCC_VERSION) GCC_INITIAL_SITE = $(GCC_SITE) GCC_INITIAL_SOURCE = $(GCC_SOURCE) +# We do not have a 'gcc' package per-se; we only have two incarnations, +# gcc-initial and gcc-final. gcc-initial is just am internal step that +# users should not care about, while gcc-final is the one they shall see. +HOST_GCC_INITIAL_DL_SUBDIR = gcc + HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES) HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES) -HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_FAKE_TESTSUITE ifneq ($(ARCH_XTENSA_OVERLAY_FILE),) HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT @@ -40,13 +44,8 @@ HOST_GCC_INITIAL_CONF_OPTS = \ HOST_GCC_INITIAL_CONF_ENV = \ $(HOST_GCC_COMMON_CONF_ENV) -HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc -HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc - -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) -HOST_GCC_INITIAL_MAKE_OPTS += all-target-libgcc -HOST_GCC_INITIAL_INSTALL_OPTS += install-target-libgcc -endif +HOST_GCC_INITIAL_MAKE_OPTS = $(HOST_GCC_COMMON_MAKE_OPTS) all-gcc all-target-libgcc +HOST_GCC_INITIAL_INSTALL_OPTS = install-gcc install-target-libgcc HOST_GCC_INITIAL_TOOLCHAIN_WRAPPER_ARGS += $(HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS) HOST_GCC_INITIAL_POST_BUILD_HOOKS += TOOLCHAIN_WRAPPER_BUILD diff --git a/bsp/buildroot/package/gcc/gcc.hash b/bsp/buildroot/package/gcc/gcc.hash index fd38cfaa..4f1e7f93 100644 --- a/bsp/buildroot/package/gcc/gcc.hash +++ b/bsp/buildroot/package/gcc/gcc.hash @@ -2,12 +2,14 @@ sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe gcc-4.9.4.tar.bz2 # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.5.0/sha512.sum sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum -sha512 02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90 gcc-6.4.0.tar.xz -# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.3.0/sha512.sum -sha512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 gcc-7.3.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.5.0/sha512.sum +sha512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac gcc-6.5.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.4.0/sha512.sum +sha512 8864d8e4b97c2e1a4f17422f6e68120172ebefeab97b1757734f7185ca68a6b9a89011c6833c03fa454c17b0ac35b15e1d284881e6971035948ac6100f3aa45e gcc-7.4.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.3.0/sha512.sum +sha512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802 gcc-8.3.0.tar.xz # Locally calculated (fetched from Github) -sha512 c30addd3c4dc66b90749a0f99b257c8a8e7966d27f286057b6b66f4a70ca22a1ee50d92882c4db13307d769a6fb28e1e2a2bab749a692cf3f89ef0c38f145efa gcc-arc-2017.09-release.tar.gz +sha512 4d12c3ac27b9de9c533be3b8964cf23d21bf6933b5073183e1affe714b0ff33f9d6169e3b55a5c505d7dae33c9bb4f8b0d110461e3a124182d8c8d51b66b8e45 gcc-arc-2018.09-release.tar.gz # Locally calculated (fetched from Github) sha512 2de7cf47333a4092b02d3bb98f4206f14966f1d139a724d09cf3b22f8a43ae0c704f33e6477d6367a03c29b265480dc900169e9d417006c5d46f0ae446b8c6f1 gcc-or1k-musl-5.4.0-20170218.tar.gz diff --git a/bsp/buildroot/package/gcc/gcc.mk b/bsp/buildroot/package/gcc/gcc.mk index 27fc1e98..5901624e 100644 --- a/bsp/buildroot/package/gcc/gcc.mk +++ b/bsp/buildroot/package/gcc/gcc.mk @@ -18,13 +18,13 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION)) GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz else GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION) -# From version 5.5.0, 6.4.0 and 7.2.0 a bz2 release tarball is not +# From version 5.5.0, 6.4.0, 7.2.0 and 8.1.0 a bz2 release tarball is not # provided anymore. Use the xz tarball instead. -ifeq ($(BR2_GCC_VERSION_5_X)$(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y) -GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz -else +ifeq ($(BR2_GCC_VERSION_4_9_X),y) GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2 -endif # BR2_GCC_VERSION_6_X +else +GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz +endif endif # @@ -62,14 +62,7 @@ define HOST_GCC_APPLY_PATCHES endef HOST_GCC_EXCLUDES = \ - libjava/* libgo/* \ - gcc/testsuite/* libstdc++-v3/testsuite/* - -define HOST_GCC_FAKE_TESTSUITE - mkdir -p $(@D)/libstdc++-v3/testsuite/ - echo "all:" > $(@D)/libstdc++-v3/testsuite/Makefile.in - echo "install:" >> $(@D)/libstdc++-v3/testsuite/Makefile.in -endef + libjava/* libgo/* # # Create 'build' directory and configure symlink @@ -94,10 +87,11 @@ HOST_GCC_COMMON_DEPENDENCIES = \ HOST_GCC_COMMON_CONF_OPTS = \ --target=$(GNU_TARGET_NAME) \ --with-sysroot=$(STAGING_DIR) \ - --disable-__cxa_atexit \ + --enable-__cxa_atexit \ --with-gnu-ld \ --disable-libssp \ --disable-multilib \ + --disable-decimal-float \ --with-gmp=$(HOST_DIR) \ --with-mpc=$(HOST_DIR) \ --with-mpfr=$(HOST_DIR) \ @@ -195,49 +189,36 @@ HOST_GCC_COMMON_CONF_OPTS += --with-float=soft endif endif -ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y) -HOST_GCC_COMMON_CONF_OPTS += --disable-decimal-float -endif - # Determine arch/tune/abi/cpu options -ifeq ($(BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS),y) -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),) -HOST_GCC_COMMON_CONF_OPTS += --with-arch=$(BR2_GCC_TARGET_ARCH) +ifneq ($(GCC_TARGET_ARCH),) +HOST_GCC_COMMON_CONF_OPTS += --with-arch="$(GCC_TARGET_ARCH)" endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),) -HOST_GCC_COMMON_CONF_OPTS += --with-abi=$(BR2_GCC_TARGET_ABI) +ifneq ($(GCC_TARGET_ABI),) +HOST_GCC_COMMON_CONF_OPTS += --with-abi="$(GCC_TARGET_ABI)" endif ifeq ($(BR2_TOOLCHAIN_HAS_MNAN_OPTION),y) -ifneq ($(call qstrip,$(BR2_GCC_TARGET_NAN)),) -HOST_GCC_COMMON_CONF_OPTS += --with-nan=$(BR2_GCC_TARGET_NAN) +ifneq ($(GCC_TARGET_NAN),) +HOST_GCC_COMMON_CONF_OPTS += --with-nan="$(GCC_TARGET_NAN)" endif endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)),) -HOST_GCC_COMMON_CONF_OPTS += --with-fp-32=$(BR2_GCC_TARGET_FP32_MODE) -endif -ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),) -ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) -HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) -else -HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(call qstrip,$(BR2_GCC_TARGET_CPU)) +ifneq ($(GCC_TARGET_FP32_MODE),) +HOST_GCC_COMMON_CONF_OPTS += --with-fp-32="$(GCC_TARGET_FP32_MODE)" endif +ifneq ($(GCC_TARGET_CPU),) +HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(GCC_TARGET_CPU) endif -GCC_TARGET_FPU = $(call qstrip,$(BR2_GCC_TARGET_FPU)) ifneq ($(GCC_TARGET_FPU),) HOST_GCC_COMMON_CONF_OPTS += --with-fpu=$(GCC_TARGET_FPU) endif -GCC_TARGET_FLOAT_ABI = $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) ifneq ($(GCC_TARGET_FLOAT_ABI),) HOST_GCC_COMMON_CONF_OPTS += --with-float=$(GCC_TARGET_FLOAT_ABI) endif -GCC_TARGET_MODE = $(call qstrip,$(BR2_GCC_TARGET_MODE)) ifneq ($(GCC_TARGET_MODE),) HOST_GCC_COMMON_CONF_OPTS += --with-mode=$(GCC_TARGET_MODE) endif -endif # BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS # Enable proper double/long double for SPE ABI ifeq ($(BR2_powerpc_SPE),y) @@ -265,45 +246,6 @@ HOST_GCC_COMMON_CONF_OPTS += \ endif HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CROSS_PATH_SUFFIX='".br_real"' -ifeq ($(BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS),) -ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) -HOST_GCC_COMMON_WRAPPER_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU)) -else -HOST_GCC_COMMON_WRAPPER_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) -endif -HOST_GCC_COMMON_WRAPPER_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) -HOST_GCC_COMMON_WRAPPER_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI)) -HOST_GCC_COMMON_WRAPPER_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN)) -HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)) -HOST_GCC_COMMON_WRAPPER_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU)) -HOST_GCC_COMMON_WRAPPER_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) -HOST_GCC_COMMON_WRAPPER_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE)) - -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_ARCH),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARCH='"$(HOST_GCC_COMMON_WRAPPER_TARGET_ARCH)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_CPU),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_CPU='"$(HOST_GCC_COMMON_WRAPPER_TARGET_CPU)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_ABI),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(HOST_GCC_COMMON_WRAPPER_TARGET_ABI)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_NAN),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_NAN='"$(HOST_GCC_COMMON_WRAPPER_TARGET_NAN)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FP32_MODE='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FP32_MODE)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FPU),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FPU)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_FLOATABI_),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_FLOAT_ABI='"$(HOST_GCC_COMMON_WRAPPER_TARGET_FLOATABI_)"' -endif -ifneq ($(HOST_GCC_COMMON_WRAPPER_TARGET_MODE),) -HOST_GCC_COMMON_TOOLCHAIN_WRAPPER_ARGS += -DBR_MODE='"$(HOST_GCC_COMMON_WRAPPER_TARGET_MODE)"' -endif -endif # !BR2_GCC_ARCH_HAS_CONFIGURABLE_DEFAULTS # For gcc-initial, we need to tell gcc that the C library will be # providing the ssp support, as it can't guess it since the C library @@ -316,7 +258,7 @@ HOST_GCC_COMMON_MAKE_OPTS = \ gcc_cv_libc_provides_ssp=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) ifeq ($(BR2_CCACHE),y) -HOST_GCC_COMMON_CCACHE_HASH_FILES += $(DL_DIR)/$(GCC_SOURCE) +HOST_GCC_COMMON_CCACHE_HASH_FILES += $(GCC_DL_DIR)/$(GCC_SOURCE) # Cfr. PATCH_BASE_DIRS in .stamp_patched, but we catch both versioned # and unversioned patches unconditionally. Moreover, to facilitate the diff --git a/bsp/buildroot/package/gconf/gconf.mk b/bsp/buildroot/package/gconf/gconf.mk index 39df95fb..60ced95e 100644 --- a/bsp/buildroot/package/gconf/gconf.mk +++ b/bsp/buildroot/package/gconf/gconf.mk @@ -5,7 +5,7 @@ ################################################################################ GCONF_VERSION = 3.2.6 -GCONF_SOURCE = GConf-${GCONF_VERSION}.tar.xz +GCONF_SOURCE = GConf-$(GCONF_VERSION).tar.xz GCONF_SITE = http://ftp.gnome.org/pub/gnome/sources/GConf/3.2 GCONF_CONF_OPTS = --disable-orbit GCONF_DEPENDENCIES = dbus dbus-glib libglib2 libxml2 \ diff --git a/bsp/buildroot/package/gdb/7.10.1/0001-Add-some-casts-for-building-on-musl.patch b/bsp/buildroot/package/gdb/7.10.1/0001-Add-some-casts-for-building-on-musl.patch deleted file mode 100644 index 863e26aa..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0001-Add-some-casts-for-building-on-musl.patch +++ /dev/null @@ -1,90 +0,0 @@ -From d41401ace01c234f42697e190a2ac95991780626 Mon Sep 17 00:00:00 2001 -From: Doug Evans -Date: Mon, 26 Oct 2015 13:20:12 -0700 -Subject: [PATCH] Add some casts for building on musl. - -gdb/ChangeLog: - - * linux-thread-db.c (find_new_threads_callback): Cast ti.ti_tid to - unsigned long for debug_printf. - (thread_db_pid_to_str): Ditto. - -gdb/gdbserver/ChangeLog: - - * thread-db.c (find_one_thread): Cast ti.ti_tid to unsigned long - for debug_printf. - (attach_thread, find_new_threads_callback): Ditto. - -[Arnout: removed the parts that don't apply, including ChangeLog] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gdb/ChangeLog | 5 +++++ - gdb/gdbserver/ChangeLog | 6 ++++++ - gdb/gdbserver/thread-db.c | 9 +++++---- - gdb/linux-thread-db.c | 5 +++-- - 4 files changed, 19 insertions(+), 6 deletions(-) - -diff --git a/gdb/gdbserver/thread-db.c b/gdb/gdbserver/thread-db.c -index ffe722d..3df10ff 100644 ---- a/gdb/gdbserver/thread-db.c -+++ b/gdb/gdbserver/thread-db.c -@@ -278,7 +278,7 @@ find_one_thread (ptid_t ptid) - - if (debug_threads) - debug_printf ("Found thread %ld (LWP %d)\n", -- ti.ti_tid, ti.ti_lid); -+ (unsigned long) ti.ti_tid, ti.ti_lid); - - if (lwpid != ti.ti_lid) - { -@@ -319,12 +319,12 @@ attach_thread (const td_thrhandle_t *th_p, td_thrinfo_t *ti_p) - - if (debug_threads) - debug_printf ("Attaching to thread %ld (LWP %d)\n", -- ti_p->ti_tid, ti_p->ti_lid); -+ (unsigned long) ti_p->ti_tid, ti_p->ti_lid); - err = linux_attach_lwp (ptid); - if (err != 0) - { - warning ("Could not attach to thread %ld (LWP %d): %s\n", -- ti_p->ti_tid, ti_p->ti_lid, -+ (unsigned long) ti_p->ti_tid, ti_p->ti_lid, - linux_ptrace_attach_fail_reason_string (ptid, err)); - return 0; - } -@@ -392,7 +392,8 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data) - glibc PR17707. */ - if (debug_threads) - debug_printf ("thread_db: skipping exited and " -- "joined thread (0x%lx)\n", ti.ti_tid); -+ "joined thread (0x%lx)\n", -+ (unsigned long) ti.ti_tid); - return 0; - } - -diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c -index 66e9595..41db29a 100644 ---- a/gdb/linux-thread-db.c -+++ b/gdb/linux-thread-db.c -@@ -1585,7 +1585,8 @@ find_new_threads_callback (const td_thrhandle_t *th_p, void *data) - if (libthread_db_debug) - fprintf_unfiltered (gdb_stdlog, - "thread_db: skipping exited and " -- "joined thread (0x%lx)\n", ti.ti_tid); -+ "joined thread (0x%lx)\n", -+ (unsigned long) ti.ti_tid); - return 0; - } - -@@ -1816,7 +1817,7 @@ thread_db_pid_to_str (struct target_ops *ops, ptid_t ptid) - - tid = thread_info->priv->tid; - snprintf (buf, sizeof (buf), "Thread 0x%lx (LWP %ld)", -- tid, ptid_get_lwp (ptid)); -+ (unsigned long) tid, ptid_get_lwp (ptid)); - - return buf; - } --- -1.9.4 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0002-musl-Move-W_STOPCODE-to-common-gdb_wait-h.patch b/bsp/buildroot/package/gdb/7.10.1/0002-musl-Move-W_STOPCODE-to-common-gdb_wait-h.patch deleted file mode 100644 index 60c357cd..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0002-musl-Move-W_STOPCODE-to-common-gdb_wait-h.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 963843d4d07aef6caa296dacf191f8adc9518596 Mon Sep 17 00:00:00 2001 -From: Doug Evans -Date: Mon, 26 Oct 2015 13:24:01 -0700 -Subject: [PATCH] musl: Move W_STOPCODE to common/gdb_wait.h. - -gdb/ChangeLog: - - * common/gdb_wait.h (W_STOPCODE): Define, moved here from - gdbserver/linux-low.c. - (WSETSTOP): Simplify. - -gdb/gdbserver/ChangeLog: - - * linux-low.c (W_STOPCODE): Moved to common/gdb_wait.h. - -[Arnout: removed the parts that don't apply, including ChangeLog] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gdb/ChangeLog | 6 ++++++ - gdb/common/gdb_wait.h | 8 ++++---- - gdb/gdbserver/ChangeLog | 4 ++++ - gdb/gdbserver/linux-low.c | 4 ---- - 4 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/gdb/common/gdb_wait.h b/gdb/common/gdb_wait.h -index 9b250d2..412f813 100644 ---- a/gdb/common/gdb_wait.h -+++ b/gdb/common/gdb_wait.h -@@ -85,12 +85,12 @@ - # endif - #endif - -+#ifndef W_STOPCODE -+#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) -+#endif -+ - #ifndef WSETSTOP --# ifdef W_STOPCODE - #define WSETSTOP(w,sig) ((w) = W_STOPCODE(sig)) --# else --#define WSETSTOP(w,sig) ((w) = (0177 | ((sig) << 8))) --# endif - #endif - - /* For native GNU/Linux we may use waitpid and the __WCLONE option. -diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c -index 0c552b8..7ed67c7 100644 ---- a/gdb/gdbserver/linux-low.c -+++ b/gdb/gdbserver/linux-low.c -@@ -70,10 +70,6 @@ - #define O_LARGEFILE 0 - #endif - --#ifndef W_STOPCODE --#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) --#endif -- - /* This is the kernel's hard limit. Not to be confused with - SIGRTMIN. */ - #ifndef __SIGRTMIN --- -1.9.4 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0003-move-__SIGRTMIN.patch b/bsp/buildroot/package/gdb/7.10.1/0003-move-__SIGRTMIN.patch deleted file mode 100644 index 38ba1f02..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0003-move-__SIGRTMIN.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 682b25469e66ea45b214e95962671373983c118f Mon Sep 17 00:00:00 2001 -From: Doug Evans -Date: Mon, 26 Oct 2015 13:30:57 -0700 -Subject: [PATCH] Move __SIGRTMIN. - -gdb/ChangeLog: - - * nat/linux-nat.h (__SIGRTMIN): Move here from gdbserver/linux-low.c. - -gdb/gdbserver/ChangeLog: - - * linux-low.c (__SIGRTMIN): Move to nat/linux-nat.h. - -[Arnout: removed the parts that don't apply, including ChangeLog] -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gdb/ChangeLog | 4 ++++ - gdb/gdbserver/ChangeLog | 4 ++++ - gdb/gdbserver/linux-low.c | 6 ------ - gdb/nat/linux-nat.h | 5 +++++ - 4 files changed, 13 insertions(+), 6 deletions(-) - -diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c -index 7ed67c7..e778c4c 100644 ---- a/gdb/gdbserver/linux-low.c -+++ b/gdb/gdbserver/linux-low.c -@@ -70,12 +70,6 @@ - #define O_LARGEFILE 0 - #endif - --/* This is the kernel's hard limit. Not to be confused with -- SIGRTMIN. */ --#ifndef __SIGRTMIN --#define __SIGRTMIN 32 --#endif -- - /* Some targets did not define these ptrace constants from the start, - so gdbserver defines them locally here. In the future, these may - be removed after they are added to asm/ptrace.h. */ -diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index 0633fa9..70e6274 100644 ---- a/gdb/nat/linux-nat.h -+++ b/gdb/nat/linux-nat.h -@@ -25,6 +25,11 @@ - struct lwp_info; - struct arch_lwp_info; - -+/* This is the kernel's hard limit. Not to be confused with SIGRTMIN. */ -+#ifndef __SIGRTMIN -+#define __SIGRTMIN 32 -+#endif -+ - /* Unlike other extended result codes, WSTOPSIG (status) on - PTRACE_O_TRACESYSGOOD syscall events doesn't return SIGTRAP, but - instead SIGTRAP with bit 7 set. */ --- -1.9.4 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0004-xtensa-implement-NPTL-helpers.patch b/bsp/buildroot/package/gdb/7.10.1/0004-xtensa-implement-NPTL-helpers.patch deleted file mode 100644 index e7bc74ea..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0004-xtensa-implement-NPTL-helpers.patch +++ /dev/null @@ -1,267 +0,0 @@ -From d4eb69fc4b50f9a0babd70b28d0601b40f31bd0f Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Thu, 2 Jul 2015 15:10:58 +0300 -Subject: [PATCH] xtensa: implement NPTL helpers - -These changes allow debugging multithreaded NPTL xtensa applications. - -2015-08-20 Max Filippov -gdb/gdbserver/ - * configure.srv (xtensa*-*-linux*): Add srv_linux_thread_db=yes. - * linux-xtensa-low.c (arch/xtensa.h gdb_proc_service.h): New - #includes. - (ps_get_thread_area): New function. - -2015-08-20 Max Filippov -gdb/ - * arch/xtensa.h: New file. - * xtensa-linux-nat.c (gdb_proc_service.h): New #include. - (ps_get_thread_area): New function. - * xtensa-linux-tdep.c (xtensa_linux_init_abi): Add call to - set_gdbarch_fetch_tls_load_module_address to enable TLS support. - * xtensa-tdep.c (osabi.h): New #include. - (xtensa_gdbarch_init): Call gdbarch_init_osabi to register - xtensa-specific hooks. - * xtensa-tdep.h (struct xtensa_elf_gregset_t): Add threadptr - member and move the structure to arch/xtensa.h. - -Signed-off-by: Max Filippov ---- -Backported from: 40045d91812b25c88c8275b8c08d27c234b68ba8 -Changes to ChangeLog files are dropped. - - gdb/arch/xtensa.h | 46 ++++++++++++++++++++++++++++++++++++++++ - gdb/gdbserver/configure.srv | 1 + - gdb/gdbserver/linux-xtensa-low.c | 21 ++++++++++++++++++ - gdb/xtensa-linux-nat.c | 22 ++++++++++++++++++ - gdb/xtensa-linux-tdep.c | 4 ++++ - gdb/xtensa-tdep.c | 4 ++++ - gdb/xtensa-tdep.h | 24 ++------------------ - 7 files changed, 100 insertions(+), 22 deletions(-) - create mode 100644 gdb/arch/xtensa.h - -diff --git a/gdb/arch/xtensa.h b/gdb/arch/xtensa.h -new file mode 100644 -index 0000000..fe96584 ---- /dev/null -+++ b/gdb/arch/xtensa.h -@@ -0,0 +1,46 @@ -+/* Common Target-dependent code for the Xtensa port of GDB, the GNU debugger. -+ -+ Copyright (C) 2003-2015 Free Software Foundation, Inc. -+ -+ This file is part of GDB. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+#ifndef XTENSA_H -+#define XTENSA_H -+ -+/* Xtensa ELF core file register set representation ('.reg' section). -+ Copied from target-side ELF header . */ -+ -+typedef uint32_t xtensa_elf_greg_t; -+ -+typedef struct -+{ -+ xtensa_elf_greg_t pc; -+ xtensa_elf_greg_t ps; -+ xtensa_elf_greg_t lbeg; -+ xtensa_elf_greg_t lend; -+ xtensa_elf_greg_t lcount; -+ xtensa_elf_greg_t sar; -+ xtensa_elf_greg_t windowstart; -+ xtensa_elf_greg_t windowbase; -+ xtensa_elf_greg_t threadptr; -+ xtensa_elf_greg_t reserved[7+48]; -+ xtensa_elf_greg_t ar[64]; -+} xtensa_elf_gregset_t; -+ -+#define XTENSA_ELF_NGREG (sizeof (xtensa_elf_gregset_t) \ -+ / sizeof (xtensa_elf_greg_t)) -+ -+#endif -diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv -index 0b18d1d..320c26a 100644 ---- a/gdb/gdbserver/configure.srv -+++ b/gdb/gdbserver/configure.srv -@@ -352,6 +352,7 @@ case "${target}" in - xtensa*-*-linux*) srv_regobj=reg-xtensa.o - srv_tgtobj="$srv_linux_obj linux-xtensa-low.o" - srv_linux_regsets=yes -+ srv_linux_thread_db=yes - ;; - tilegx-*-linux*) srv_regobj=reg-tilegx.o - srv_regobj="${srv_regobj} reg-tilegx32.o" -diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c -index 4daccee..debe467 100644 ---- a/gdb/gdbserver/linux-xtensa-low.c -+++ b/gdb/gdbserver/linux-xtensa-low.c -@@ -26,6 +26,8 @@ extern const struct target_desc *tdesc_xtensa; - - #include - #include -+#include "arch/xtensa.h" -+#include "gdb_proc_service.h" - - #include "xtensa-xtregs.c" - -@@ -179,6 +181,25 @@ xtensa_breakpoint_at (CORE_ADDR where) - xtensa_breakpoint, xtensa_breakpoint_len) == 0; - } - -+/* Called by libthread_db. */ -+ -+ps_err_e -+ps_get_thread_area (const struct ps_prochandle *ph, -+ lwpid_t lwpid, int idx, void **base) -+{ -+ xtensa_elf_gregset_t regs; -+ -+ if (ptrace (PTRACE_GETREGS, lwpid, NULL, ®s) != 0) -+ return PS_ERR; -+ -+ /* IDX is the bias from the thread pointer to the beginning of the -+ thread descriptor. It has to be subtracted due to implementation -+ quirks in libthread_db. */ -+ *base = (void *) ((char *) regs.threadptr - idx); -+ -+ return PS_OK; -+} -+ - static struct regsets_info xtensa_regsets_info = - { - xtensa_regsets, /* regsets */ -diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c -index 77ad3e0..5538d5b 100644 ---- a/gdb/xtensa-linux-nat.c -+++ b/gdb/xtensa-linux-nat.c -@@ -37,6 +37,9 @@ - #include "gregset.h" - #include "xtensa-tdep.h" - -+/* Defines ps_err_e, struct ps_prochandle. */ -+#include "gdb_proc_service.h" -+ - /* Extended register set depends on hardware configs. - Keeping these definitions separately allows to introduce - hardware-specific overlays. */ -@@ -280,6 +283,25 @@ xtensa_linux_store_inferior_registers (struct target_ops *ops, - store_xtregs (regcache, regnum); - } - -+/* Called by libthread_db. */ -+ -+ps_err_e -+ps_get_thread_area (const struct ps_prochandle *ph, -+ lwpid_t lwpid, int idx, void **base) -+{ -+ xtensa_elf_gregset_t regs; -+ -+ if (ptrace (PTRACE_GETREGS, lwpid, NULL, ®s) != 0) -+ return PS_ERR; -+ -+ /* IDX is the bias from the thread pointer to the beginning of the -+ thread descriptor. It has to be subtracted due to implementation -+ quirks in libthread_db. */ -+ *base = (void *) ((char *) regs.threadptr - idx); -+ -+ return PS_OK; -+} -+ - void _initialize_xtensa_linux_nat (void); - - void -diff --git a/gdb/xtensa-linux-tdep.c b/gdb/xtensa-linux-tdep.c -index 61ea9b0..99e0d3e 100644 ---- a/gdb/xtensa-linux-tdep.c -+++ b/gdb/xtensa-linux-tdep.c -@@ -106,6 +106,10 @@ xtensa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch) - xtensa_linux_gdb_signal_from_target); - set_gdbarch_gdb_signal_to_target (gdbarch, - xtensa_linux_gdb_signal_to_target); -+ -+ /* Enable TLS support. */ -+ set_gdbarch_fetch_tls_load_module_address (gdbarch, -+ svr4_fetch_objfile_link_map); - } - - /* Provide a prototype to silence -Wmissing-prototypes. */ -diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c -index 55e7d98..4b693ed 100644 ---- a/gdb/xtensa-tdep.c -+++ b/gdb/xtensa-tdep.c -@@ -28,6 +28,7 @@ - #include "value.h" - #include "dis-asm.h" - #include "inferior.h" -+#include "osabi.h" - #include "floatformat.h" - #include "regcache.h" - #include "reggroups.h" -@@ -3273,6 +3274,9 @@ xtensa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) - set_solib_svr4_fetch_link_map_offsets - (gdbarch, svr4_ilp32_fetch_link_map_offsets); - -+ /* Hook in the ABI-specific overrides, if they have been registered. */ -+ gdbarch_init_osabi (info, gdbarch); -+ - return gdbarch; - } - -diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h -index caa2988..5b28cab 100644 ---- a/gdb/xtensa-tdep.h -+++ b/gdb/xtensa-tdep.h -@@ -18,6 +18,8 @@ - along with this program. If not, see . */ - - -+#include "arch/xtensa.h" -+ - /* XTENSA_TDEP_VERSION can/should be changed along with XTENSA_CONFIG_VERSION - whenever the "tdep" structure changes in an incompatible way. */ - -@@ -81,28 +83,6 @@ typedef enum - } xtensa_target_flags_t; - - --/* Xtensa ELF core file register set representation ('.reg' section). -- Copied from target-side ELF header . */ -- --typedef uint32_t xtensa_elf_greg_t; -- --typedef struct --{ -- xtensa_elf_greg_t pc; -- xtensa_elf_greg_t ps; -- xtensa_elf_greg_t lbeg; -- xtensa_elf_greg_t lend; -- xtensa_elf_greg_t lcount; -- xtensa_elf_greg_t sar; -- xtensa_elf_greg_t windowstart; -- xtensa_elf_greg_t windowbase; -- xtensa_elf_greg_t reserved[8+48]; -- xtensa_elf_greg_t ar[64]; --} xtensa_elf_gregset_t; -- --#define XTENSA_ELF_NGREG (sizeof (xtensa_elf_gregset_t) \ -- / sizeof (xtensa_elf_greg_t)) -- - /* Mask. */ - - typedef struct --- -1.8.1.4 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0005-target.h-include-sys-types.h.patch b/bsp/buildroot/package/gdb/7.10.1/0005-target.h-include-sys-types.h.patch deleted file mode 100644 index ba5419d2..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0005-target.h-include-sys-types.h.patch +++ /dev/null @@ -1,30 +0,0 @@ -From cd68d0ebe7748a5448c86eb021b717df6fe83f35 Mon Sep 17 00:00:00 2001 -From: Doug Evans -Date: Sun, 22 Nov 2015 17:24:03 -0800 -Subject: [PATCH] target.h: #include . - -For musl. - -[Romain: - rebase on gdb 7.10.1 from upstream (7.11) - remove ChangeLog entry] -Signed-off-by: Romain Naour ---- - gdb/gdbserver/target.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h -index 9a40867..6af043c 100644 ---- a/gdb/gdbserver/target.h -+++ b/gdb/gdbserver/target.h -@@ -21,6 +21,7 @@ - #ifndef TARGET_H - #define TARGET_H - -+#include /* for mode_t */ - #include "target/target.h" - #include "target/resume.h" - #include "target/wait.h" --- -2.5.5 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0006-Revert-sim-unify-SIM_CPU-definition.patch b/bsp/buildroot/package/gdb/7.10.1/0006-Revert-sim-unify-SIM_CPU-definition.patch deleted file mode 100644 index 20b7fb23..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0006-Revert-sim-unify-SIM_CPU-definition.patch +++ /dev/null @@ -1,372 +0,0 @@ -From 4d913bb73965fdb9c756e8d5916a829b60aa3a44 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 4 Aug 2016 23:44:24 +0200 -Subject: [PATCH] Revert "sim: unify SIM_CPU definition" - -This reverts commit 20bca71d82598a015de0991196e45f0b5f7ead81. - -This change causes a redefinition of SIM_CPU on the Blackfin -architecture, as it is defined in both the common sim/common/sim-base.h -and the architecture specific sim/bfin/sim-main.h. - -Signed-off-by: Thomas Petazzoni ---- - sim/arm/sim-main.h | 3 +++ - sim/avr/sim-main.h | 2 ++ - sim/bfin/sim-main.h | 2 -- - sim/common/sim-base.h | 2 -- - sim/cr16/sim-main.h | 2 ++ - sim/cris/sim-main.h | 5 +++++ - sim/d10v/sim-main.h | 2 ++ - sim/frv/sim-main.h | 10 ++++++++++ - sim/ft32/sim-main.h | 2 ++ - sim/h8300/sim-main.h | 3 +++ - sim/iq2000/sim-main.h | 5 +++++ - sim/lm32/sim-main.h | 5 +++++ - sim/m32r/sim-main.h | 5 +++++ - sim/m68hc11/sim-main.h | 3 +++ - sim/mcore/sim-main.h | 2 ++ - sim/microblaze/sim-main.h | 3 +++ - sim/mips/sim-main.h | 3 +++ - sim/mn10300/sim-main.h | 2 ++ - sim/moxie/sim-main.h | 3 +++ - sim/msp430/sim-main.h | 3 +++ - sim/sh/sim-main.h | 3 +++ - sim/sh64/sim-main.h | 5 +++++ - sim/v850/sim-main.h | 3 +++ - 23 files changed, 74 insertions(+), 4 deletions(-) - -diff --git a/sim/arm/sim-main.h b/sim/arm/sim-main.h -index 9a37b98..ae622bd 100644 ---- a/sim/arm/sim-main.h -+++ b/sim/arm/sim-main.h -@@ -20,6 +20,9 @@ - #define SIM_MAIN_H - - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - #include "bfd.h" - -diff --git a/sim/avr/sim-main.h b/sim/avr/sim-main.h -index e0cac22..52904e3 100644 ---- a/sim/avr/sim-main.h -+++ b/sim/avr/sim-main.h -@@ -23,6 +23,8 @@ along with this program. If not, see . */ - - extern unsigned int pc; - -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - - struct _sim_cpu { -diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h -index 806fe15..53e1774 100644 ---- a/sim/bfin/sim-main.h -+++ b/sim/bfin/sim-main.h -@@ -24,8 +24,6 @@ - #include "sim-basics.h" - #include "sim-signal.h" - --/* TODO: Delete this. Need to convert bu32/etc... to common sim types -- and unwind the bfin-sim.h/machs.h include below first though. */ - typedef struct _sim_cpu SIM_CPU; - - #include "bfin-sim.h" -diff --git a/sim/common/sim-base.h b/sim/common/sim-base.h -index 21f61f4..e90e07c 100644 ---- a/sim/common/sim-base.h -+++ b/sim/common/sim-base.h -@@ -72,8 +72,6 @@ typedef address_word sim_cia; - #define INVALID_INSTRUCTION_ADDRESS ((address_word)0 - 1) - #endif - --/* TODO: Probably should just delete SIM_CPU. */ --typedef struct _sim_cpu SIM_CPU; - typedef struct _sim_cpu sim_cpu; - - #include "sim-module.h" -diff --git a/sim/cr16/sim-main.h b/sim/cr16/sim-main.h -index a63b93e..1a80229 100644 ---- a/sim/cr16/sim-main.h -+++ b/sim/cr16/sim-main.h -@@ -24,6 +24,8 @@ - typedef long int word; - typedef unsigned long int uword; - -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - #include "bfd.h" - -diff --git a/sim/cris/sim-main.h b/sim/cris/sim-main.h -index 4dc04a2..fec0039 100644 ---- a/sim/cris/sim-main.h -+++ b/sim/cris/sim-main.h -@@ -24,6 +24,11 @@ along with this program. If not, see . */ - #ifndef SIM_MAIN_H - #define SIM_MAIN_H - -+#define USING_SIM_BASE_H -+ -+struct _sim_cpu; -+typedef struct _sim_cpu SIM_CPU; -+ - #include "symcat.h" - #include "sim-basics.h" - #include "cgen-types.h" -diff --git a/sim/d10v/sim-main.h b/sim/d10v/sim-main.h -index 0b87811..a7d59dd 100644 ---- a/sim/d10v/sim-main.h -+++ b/sim/d10v/sim-main.h -@@ -24,6 +24,8 @@ - typedef long int word; - typedef unsigned long int uword; - -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - #include "bfd.h" - -diff --git a/sim/frv/sim-main.h b/sim/frv/sim-main.h -index d5a67cb..fd12c4f 100644 ---- a/sim/frv/sim-main.h -+++ b/sim/frv/sim-main.h -@@ -19,6 +19,16 @@ along with this program. If not, see . */ - - /* Main header for the frv. */ - -+#define USING_SIM_BASE_H /* FIXME: quick hack */ -+ -+struct _sim_cpu; /* FIXME: should be in sim-basics.h */ -+typedef struct _sim_cpu SIM_CPU; -+ -+/* Set the mask of unsupported traces. */ -+#define WITH_TRACE \ -+ (~(TRACE_alu | TRACE_decode | TRACE_memory | TRACE_model | TRACE_fpu \ -+ | TRACE_branch | TRACE_debug)) -+ - /* sim-basics.h includes config.h but cgen-types.h must be included before - sim-basics.h and cgen-types.h needs config.h. */ - #include "config.h" -diff --git a/sim/ft32/sim-main.h b/sim/ft32/sim-main.h -index b27a690..a270a5d 100644 ---- a/sim/ft32/sim-main.h -+++ b/sim/ft32/sim-main.h -@@ -25,6 +25,8 @@ - #include "sim-base.h" - #include "bfd.h" - -+typedef struct _sim_cpu SIM_CPU; -+ - #include "ft32-sim.h" - - struct _sim_cpu { -diff --git a/sim/h8300/sim-main.h b/sim/h8300/sim-main.h -index 6dbc1ac..e95c4d9 100644 ---- a/sim/h8300/sim-main.h -+++ b/sim/h8300/sim-main.h -@@ -87,6 +87,9 @@ enum h8_typecodes { - }; - - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - - /* Structure used to describe addressing */ -diff --git a/sim/iq2000/sim-main.h b/sim/iq2000/sim-main.h -index 992520a..ce3baba 100644 ---- a/sim/iq2000/sim-main.h -+++ b/sim/iq2000/sim-main.h -@@ -4,6 +4,11 @@ - #ifndef SIM_MAIN_H - #define SIM_MAIN_H - -+#define USING_SIM_BASE_H /* FIXME: quick hack */ -+ -+struct _sim_cpu; /* FIXME: should be in sim-basics.h */ -+typedef struct _sim_cpu SIM_CPU; -+ - /* sim-basics.h includes config.h but cgen-types.h must be included before - sim-basics.h and cgen-types.h needs config.h. */ - #include "config.h" -diff --git a/sim/lm32/sim-main.h b/sim/lm32/sim-main.h -index 4894e8d..210bb8b 100644 ---- a/sim/lm32/sim-main.h -+++ b/sim/lm32/sim-main.h -@@ -23,6 +23,11 @@ - #ifndef SIM_MAIN_H - #define SIM_MAIN_H - -+#define USING_SIM_BASE_H /* FIXME: quick hack */ -+ -+struct _sim_cpu; /* FIXME: should be in sim-basics.h */ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "symcat.h" - #include "sim-basics.h" - #include "cgen-types.h" -diff --git a/sim/m32r/sim-main.h b/sim/m32r/sim-main.h -index cd39e98..74bb513 100644 ---- a/sim/m32r/sim-main.h -+++ b/sim/m32r/sim-main.h -@@ -3,6 +3,11 @@ - #ifndef SIM_MAIN_H - #define SIM_MAIN_H - -+#define USING_SIM_BASE_H /* FIXME: quick hack */ -+ -+struct _sim_cpu; /* FIXME: should be in sim-basics.h */ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "symcat.h" - #include "sim-basics.h" - #include "cgen-types.h" -diff --git a/sim/m68hc11/sim-main.h b/sim/m68hc11/sim-main.h -index d1fc582..4f41db9 100644 ---- a/sim/m68hc11/sim-main.h -+++ b/sim/m68hc11/sim-main.h -@@ -25,6 +25,9 @@ along with this program. If not, see . */ - #define SIM_HANDLES_LMA 1 - - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-signal.h" - #include "sim-base.h" - -diff --git a/sim/mcore/sim-main.h b/sim/mcore/sim-main.h -index be50ec1..25698c1 100644 ---- a/sim/mcore/sim-main.h -+++ b/sim/mcore/sim-main.h -@@ -24,6 +24,8 @@ along with this program. If not, see . */ - typedef long int word; - typedef unsigned long int uword; - -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - #include "bfd.h" - -diff --git a/sim/microblaze/sim-main.h b/sim/microblaze/sim-main.h -index 6781374..6b7b776 100644 ---- a/sim/microblaze/sim-main.h -+++ b/sim/microblaze/sim-main.h -@@ -20,6 +20,9 @@ - - #include "microblaze.h" - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - - /* The machine state. -diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h -index 8d698ad..9729804 100644 ---- a/sim/mips/sim-main.h -+++ b/sim/mips/sim-main.h -@@ -29,6 +29,9 @@ along with this program. If not, see . */ - mips_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), (TRANSFER), (ERROR)) - - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - #include "bfd.h" - -diff --git a/sim/mn10300/sim-main.h b/sim/mn10300/sim-main.h -index 847506e..2ddbfb9 100644 ---- a/sim/mn10300/sim-main.h -+++ b/sim/mn10300/sim-main.h -@@ -42,6 +42,8 @@ - #include "itable.h" - #include "idecode.h" - -+typedef struct _sim_cpu SIM_CPU; -+ - #define WITH_WATCHPOINTS 1 - - #define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \ -diff --git a/sim/moxie/sim-main.h b/sim/moxie/sim-main.h -index b1a64fc..c60437e 100644 ---- a/sim/moxie/sim-main.h -+++ b/sim/moxie/sim-main.h -@@ -21,6 +21,9 @@ along with this program. If not, see . */ - #define SIM_MAIN_H - - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - #include "bfd.h" - -diff --git a/sim/msp430/sim-main.h b/sim/msp430/sim-main.h -index 19c8cca..37bb42d 100644 ---- a/sim/msp430/sim-main.h -+++ b/sim/msp430/sim-main.h -@@ -23,6 +23,9 @@ - - #include "sim-basics.h" - #include "sim-signal.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "msp430-sim.h" - #include "sim-base.h" - -diff --git a/sim/sh/sim-main.h b/sim/sh/sim-main.h -index e67df28..e2e17d7 100644 ---- a/sim/sh/sim-main.h -+++ b/sim/sh/sim-main.h -@@ -20,6 +20,9 @@ along with this program. If not, see . */ - #define SIM_MAIN_H - - #include "sim-basics.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - - typedef struct -diff --git a/sim/sh64/sim-main.h b/sim/sh64/sim-main.h -index 7b24ab0..8fb595e 100644 ---- a/sim/sh64/sim-main.h -+++ b/sim/sh64/sim-main.h -@@ -3,6 +3,11 @@ - #ifndef SIM_MAIN_H - #define SIM_MAIN_H - -+#define USING_SIM_BASE_H /* FIXME: quick hack */ -+ -+struct _sim_cpu; /* FIXME: should be in sim-basics.h */ -+typedef struct _sim_cpu SIM_CPU; -+ - /* sim-basics.h includes config.h but cgen-types.h must be included before - sim-basics.h and cgen-types.h needs config.h. */ - #include "config.h" -diff --git a/sim/v850/sim-main.h b/sim/v850/sim-main.h -index 5127d28..16cbd97 100644 ---- a/sim/v850/sim-main.h -+++ b/sim/v850/sim-main.h -@@ -16,6 +16,9 @@ - #include "sim-basics.h" - #include "sim-signal.h" - #include "sim-fpu.h" -+ -+typedef struct _sim_cpu SIM_CPU; -+ - #include "sim-base.h" - - #include "simops.h" --- -2.7.4 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch b/bsp/buildroot/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch deleted file mode 100644 index 2a537787..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0007-Sync-proc_service-definition-with-GLIBC.patch +++ /dev/null @@ -1,287 +0,0 @@ -From ccc18e0b2dc77a6619df31fd4fadfb3a37401616 Mon Sep 17 00:00:00 2001 -From: "Arnout Vandecappelle (Essensium/Mind)" -Date: Sun, 26 Mar 2017 23:06:45 +0200 -Subject: [PATCH] Sync proc_service definition with GLIBC - -GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const' -attributes from ps_get_thread_area and comment #15 discuss why to remove -the const attribute (basically since it a callback with the struct -ps_prochandle owned by the client it should be able to modify it if -it the case). - -On default build this is not the issue and current g++ does not trigger -any issue with this mismatch declaration. However, on some bootstrap -build configuration where gdbserver is build with gcc instead this -triggers: - -error: conflicting types for 'ps_get_thread_area' - -This patch fixes it by syncing the declaration with GLIBC. - -[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311 - -gdb/ChangeLog: - -2016-08-25 Adhemerval Zanella - - * aarch64-linux-nat.c (ps_get_thread_area): Remove const from - struct ps_prochandle. - * amd64-linux-nat.c (ps_get_thread_area): Likewise. - * arm-linux-nat.c (ps_get_thread_area): Likewise. - * gdb_proc_service.h (ps_get_thread_area): Likewise. - * i386-linux-nat.c (ps_get_thread_area): Likewise. - * m68klinux-nat.c (ps_get_thread_area): Likewise. - * mips-linux-nat.c (ps_get_thread_area): Likewise. - * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise. - * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise. - * xtensa-linux-nat.c (ps_get_thread_area): Likewise. - -gdb/gdbserver/ChangeLog: - -2016-08-25 Adhemerval Zanella - - PR server/20491 - * gdb_proc_service.h (ps_get_thread_area): Remove const from struct - ps_prochandle. - * linux-aarch64-low.c (ps_get_thread_area): Likewise. - * linux-arm-low.c (ps_get_thread_area): Likewise. - * linux-crisv32-low.c (ps_get_thread_area): Likewise. - * linux-m68k-low.c (ps_get_thread_area): Likewise. - * linux-mips-low.c (ps_get_thread_area): Likewise. - * linux-nios2-low.c (ps_get_thread_area): Likewise. - * linux-tic6x-low.c (ps_get_thread_area): Likewise. - * linux-x86-low.c (ps_get_thread_area): Likewise. - * linux-xtensa-low.c (ps_get_thread_area): Likewise. - -(cherry picked from commit 140bf80050b34f0947b34dba93b830ea2bfc5040) -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gdb/aarch64-linux-nat.c | 2 +- - gdb/amd64-linux-nat.c | 2 +- - gdb/arm-linux-nat.c | 2 +- - gdb/gdb_proc_service.h | 2 +- - gdb/gdbserver/gdb_proc_service.h | 2 +- - gdb/gdbserver/linux-aarch64-low.c | 2 +- - gdb/gdbserver/linux-arm-low.c | 2 +- - gdb/gdbserver/linux-crisv32-low.c | 2 +- - gdb/gdbserver/linux-m68k-low.c | 2 +- - gdb/gdbserver/linux-mips-low.c | 2 +- - gdb/gdbserver/linux-nios2-low.c | 2 +- - gdb/gdbserver/linux-tic6x-low.c | 2 +- - gdb/gdbserver/linux-x86-low.c | 2 +- - gdb/i386-linux-nat.c | 2 +- - gdb/m68klinux-nat.c | 2 +- - gdb/mips-linux-nat.c | 2 +- - 16 files changed, 16 insertions(+), 16 deletions(-) - -diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c -index 9959b81a2d..aa0f8d76bd 100644 ---- a/gdb/aarch64-linux-nat.c -+++ b/gdb/aarch64-linux-nat.c -@@ -734,7 +734,7 @@ aarch64_linux_new_fork (struct lwp_info *parent, pid_t child_pid) - storage (or its descriptor). */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - struct iovec iovec; -diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c -index 2e1b081b0f..7f076a9148 100644 ---- a/gdb/amd64-linux-nat.c -+++ b/gdb/amd64-linux-nat.c -@@ -244,7 +244,7 @@ amd64_linux_store_inferior_registers (struct target_ops *ops, - a request for a thread's local storage address. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32) -diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c -index c167bce18b..8462655139 100644 ---- a/gdb/arm-linux-nat.c -+++ b/gdb/arm-linux-nat.c -@@ -778,7 +778,7 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdb_proc_service.h b/gdb/gdb_proc_service.h -index e7369911a1..91fbc29a76 100644 ---- a/gdb/gdb_proc_service.h -+++ b/gdb/gdb_proc_service.h -@@ -124,7 +124,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); - /* Fetch the special per-thread address associated with the given LWP. - This call is only used on a few platforms (most use a normal register). - The meaning of the `int' parameter is machine-dependent. */ --extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, -+extern ps_err_e ps_get_thread_area (struct ps_prochandle *, - lwpid_t, int, psaddr_t *); - - -diff --git a/gdb/gdbserver/gdb_proc_service.h b/gdb/gdbserver/gdb_proc_service.h -index cbafbf3206..7f9b1e4de0 100644 ---- a/gdb/gdbserver/gdb_proc_service.h -+++ b/gdb/gdbserver/gdb_proc_service.h -@@ -107,7 +107,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); - /* Fetch the special per-thread address associated with the given LWP. - This call is only used on a few platforms (most use a normal register). - The meaning of the `int' parameter is machine-dependent. */ --extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, -+extern ps_err_e ps_get_thread_area (struct ps_prochandle *, - lwpid_t, int, psaddr_t *); - - -diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c -index 8a30b00029..a0ac35620d 100644 ---- a/gdb/gdbserver/linux-aarch64-low.c -+++ b/gdb/gdbserver/linux-aarch64-low.c -@@ -1089,7 +1089,7 @@ aarch64_stopped_by_watchpoint (void) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - struct iovec iovec; -diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c -index dd77b48ecd..560e7d8496 100644 ---- a/gdb/gdbserver/linux-arm-low.c -+++ b/gdb/gdbserver/linux-arm-low.c -@@ -334,7 +334,7 @@ arm_reinsert_addr (void) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c -index 65e6c09df2..fd5e627123 100644 ---- a/gdb/gdbserver/linux-crisv32-low.c -+++ b/gdb/gdbserver/linux-crisv32-low.c -@@ -336,7 +336,7 @@ cris_stopped_data_address (void) - } - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c -index 4501904e39..7415930360 100644 ---- a/gdb/gdbserver/linux-m68k-low.c -+++ b/gdb/gdbserver/linux-m68k-low.c -@@ -160,7 +160,7 @@ m68k_breakpoint_at (CORE_ADDR pc) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c -index 1695c4cf0d..acc2468bce 100644 ---- a/gdb/gdbserver/linux-mips-low.c -+++ b/gdb/gdbserver/linux-mips-low.c -@@ -640,7 +640,7 @@ mips_stopped_data_address (void) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c -index 7bd3c9795d..719883edef 100644 ---- a/gdb/gdbserver/linux-nios2-low.c -+++ b/gdb/gdbserver/linux-nios2-low.c -@@ -150,7 +150,7 @@ nios2_breakpoint_at (CORE_ADDR where) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdb/gdbserver/linux-tic6x-low.c -index 0a0d220c34..26c4dee999 100644 ---- a/gdb/gdbserver/linux-tic6x-low.c -+++ b/gdb/gdbserver/linux-tic6x-low.c -@@ -266,7 +266,7 @@ tic6x_breakpoint_at (CORE_ADDR where) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c -index 484eadba05..15f25d71d5 100644 ---- a/gdb/gdbserver/linux-x86-low.c -+++ b/gdb/gdbserver/linux-x86-low.c -@@ -231,7 +231,7 @@ is_64bit_tdesc (void) - /* Called by libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - #ifdef __x86_64__ -diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c -index 349ce68f5c..80d6a516ea 100644 ---- a/gdb/i386-linux-nat.c -+++ b/gdb/i386-linux-nat.c -@@ -603,7 +603,7 @@ i386_linux_store_inferior_registers (struct target_ops *ops, - storage (or its descriptor). */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - unsigned int base_addr; -diff --git a/gdb/m68klinux-nat.c b/gdb/m68klinux-nat.c -index 8f89d7b87a..6e528b4e91 100644 ---- a/gdb/m68klinux-nat.c -+++ b/gdb/m68klinux-nat.c -@@ -508,7 +508,7 @@ m68k_linux_store_inferior_registers (struct target_ops *ops, - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) < 0) -diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index a36bb6356f..9f6d6975a0 100644 ---- a/gdb/mips-linux-nat.c -+++ b/gdb/mips-linux-nat.c -@@ -152,7 +152,7 @@ mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) --- -2.11.0 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch b/bsp/buildroot/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch deleted file mode 100644 index 3f877b33..00000000 --- a/bsp/buildroot/package/gdb/7.10.1/0010-Fix-gdbserver-build-on-uClibc-noMMU.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6de192acd4807d7fd57caf451567f09308bd8350 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 9 Jun 2017 10:19:32 +0200 -Subject: [PATCH] Fix gdbserver build on uClibc/noMMU - -The noMMU specific code requires including . - -Originally from -https://cgit.openadk.org/cgi/cgit/openadk.git/plain/package/gdbserver/patches/nommu.patch. - -Signed-off-by: Thomas Petazzoni ---- - gdb/nat/linux-ptrace.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h -index be6c395..c9f85aa 100644 ---- a/gdb/nat/linux-ptrace.h -+++ b/gdb/nat/linux-ptrace.h -@@ -23,7 +23,8 @@ struct buffer; - #include - - #ifdef __UCLIBC__ --#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) -+#include -+#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_USE_MMU__)) - /* PTRACE_TEXT_ADDR and friends. */ - #include - #define HAS_NOMMU --- -2.7.4 - diff --git a/bsp/buildroot/package/gdb/7.11.1/0001-sim-bfin-split-out-common-mach-model-defines-into-ar.patch b/bsp/buildroot/package/gdb/7.11.1/0001-sim-bfin-split-out-common-mach-model-defines-into-ar.patch deleted file mode 100644 index 5841cfd4..00000000 --- a/bsp/buildroot/package/gdb/7.11.1/0001-sim-bfin-split-out-common-mach-model-defines-into-ar.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 7a09ed68e203a813d88fb7fc6eeb1e92209561a5 Mon Sep 17 00:00:00 2001 -From: Mike Frysinger -Date: Mon, 8 Aug 2016 13:06:49 +0800 -Subject: [PATCH] sim: bfin: split out common mach/model defines into arch.h - [PR sim/20438] - -The current machs.h mixes common enums with Blackfin-specific defines. -This causes us troubles with header inclusion order such that we can't -drop the old SIM_CPU typedef (which is duplicated in common code). By -splitting the two up, we can unwind this dependency chain, and drop the -old typedef. It also fixes building with older gcc versions. - -[Romain: backport from gdb 7.12] -Signed-off-by: Romain Naour - ---- - sim/bfin/ChangeLog | 9 +++++++++ - sim/bfin/arch.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ - sim/bfin/machs.h | 20 -------------------- - sim/bfin/sim-main.h | 8 ++------ - 4 files changed, 55 insertions(+), 26 deletions(-) - create mode 100644 sim/bfin/arch.h - -diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog -index 3dea7c9..a995436 100644 ---- a/sim/bfin/ChangeLog -+++ b/sim/bfin/ChangeLog -@@ -1,3 +1,12 @@ -+2016-08-13 Mike Frysinger -+ -+ PR sim/20438 -+ * machs.h (MODEL_TYPE, MACH_ATTR, BFIN_INSN_*): Move ... -+ * arch.h: ... to this new header file. -+ * sim-main.h (SIM_CPU): Delete. -+ Include arch.h before sim-base.h, and move sim-base.h before -+ bfin-sim.h. -+ - 2016-01-10 Mike Frysinger - - * config.in, configure: Regenerate. -diff --git a/sim/bfin/arch.h b/sim/bfin/arch.h -new file mode 100644 -index 0000000..b86d3e9 ---- /dev/null -+++ b/sim/bfin/arch.h -@@ -0,0 +1,44 @@ -+/* Simulator for Analog Devices Blackfin processors. -+ -+ Copyright (C) 2005-2016 Free Software Foundation, Inc. -+ Contributed by Analog Devices, Inc. -+ -+ This file is part of simulators. -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 3 of the License, or -+ (at your option) any later version. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program. If not, see . */ -+ -+#ifndef BFIN_ARCH_H -+#define BFIN_ARCH_H -+ -+typedef enum model_type { -+#define P(n) MODEL_BF##n, -+#include "proc_list.def" -+#undef P -+ MODEL_MAX -+} MODEL_TYPE; -+ -+typedef enum mach_attr { -+ MACH_BASE, -+ MACH_BFIN, -+ MACH_MAX -+} MACH_ATTR; -+ -+enum { -+#define I(insn) BFIN_INSN_##insn, -+#include "insn_list.def" -+#undef I -+ BFIN_INSN_MAX -+}; -+ -+#endif -diff --git a/sim/bfin/machs.h b/sim/bfin/machs.h -index 0372982..36819ae 100644 ---- a/sim/bfin/machs.h -+++ b/sim/bfin/machs.h -@@ -21,19 +21,6 @@ - #ifndef _BFIN_MACHS_H_ - #define _BFIN_MACHS_H_ - --typedef enum model_type { --#define P(n) MODEL_BF##n, --#include "proc_list.def" --#undef P -- MODEL_MAX --} MODEL_TYPE; -- --typedef enum mach_attr { -- MACH_BASE, -- MACH_BFIN, -- MACH_MAX --} MACH_ATTR; -- - #define CPU_MODEL_NUM(cpu) MODEL_NUM (CPU_MODEL (cpu)) - - /* XXX: Some of this probably belongs in CPU_MODEL. */ -@@ -46,13 +33,6 @@ void bfin_model_cpu_init (SIM_DESC, SIM_CPU *); - bu32 bfin_model_get_chipid (SIM_DESC); - bu32 bfin_model_get_dspid (SIM_DESC); - --enum { --#define I(insn) BFIN_INSN_##insn, --#include "insn_list.def" --#undef I -- BFIN_INSN_MAX --}; -- - #define BFIN_COREMMR_CEC_BASE 0xFFE02100 - #define BFIN_COREMMR_CEC_SIZE (4 * 5) - #define BFIN_COREMMR_CTIMER_BASE 0xFFE03000 -diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h -index 51fb87e..34fd153 100644 ---- a/sim/bfin/sim-main.h -+++ b/sim/bfin/sim-main.h -@@ -23,17 +23,13 @@ - - #include "sim-basics.h" - #include "sim-signal.h" -- --/* TODO: Delete this. Need to convert bu32/etc... to common sim types -- and unwind the bfin-sim.h/machs.h include below first though. */ --typedef struct _sim_cpu SIM_CPU; -+#include "arch.h" -+#include "sim-base.h" - - #include "bfin-sim.h" - - #include "machs.h" - --#include "sim-base.h" -- - struct _sim_cpu { - /* ... simulator specific members ... */ - struct bfin_cpu_state state; --- -2.9.3 - diff --git a/bsp/buildroot/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch b/bsp/buildroot/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch deleted file mode 100644 index b3f723a8..00000000 --- a/bsp/buildroot/package/gdb/7.11.1/0002-Sync-proc_service-definition-with-GLIBC.patch +++ /dev/null @@ -1,389 +0,0 @@ -From 140bf80050b34f0947b34dba93b830ea2bfc5040 Mon Sep 17 00:00:00 2001 -From: Adhemerval Zanella -Date: Thu, 25 Aug 2016 08:42:03 +0100 -Subject: [PATCH] Sync proc_service definition with GLIBC - -GLIBC BZ#20311 [1] proc_service.h install patch also remove 'const' -attributes from ps_get_thread_area and comment #15 discuss why to remove -the const attribute (basically since it a callback with the struct -ps_prochandle owned by the client it should be able to modify it if -it the case). - -On default build this is not the issue and current g++ does not trigger -any issue with this mismatch declaration. However, on some bootstrap -build configuration where gdbserver is build with gcc instead this -triggers: - -error: conflicting types for 'ps_get_thread_area' - -This patch fixes it by syncing the declaration with GLIBC. - -[1] https://sourceware.org/bugzilla/show_bug.cgi?id=20311 - -gdb/ChangeLog: - -2016-08-25 Adhemerval Zanella - - * aarch64-linux-nat.c (ps_get_thread_area): Remove const from - struct ps_prochandle. - * amd64-linux-nat.c (ps_get_thread_area): Likewise. - * arm-linux-nat.c (ps_get_thread_area): Likewise. - * gdb_proc_service.h (ps_get_thread_area): Likewise. - * i386-linux-nat.c (ps_get_thread_area): Likewise. - * m68klinux-nat.c (ps_get_thread_area): Likewise. - * mips-linux-nat.c (ps_get_thread_area): Likewise. - * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise. - * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise. - * xtensa-linux-nat.c (ps_get_thread_area): Likewise. - -gdb/gdbserver/ChangeLog: - -2016-08-25 Adhemerval Zanella - - PR server/20491 - * gdb_proc_service.h (ps_get_thread_area): Remove const from struct - ps_prochandle. - * linux-aarch64-low.c (ps_get_thread_area): Likewise. - * linux-arm-low.c (ps_get_thread_area): Likewise. - * linux-crisv32-low.c (ps_get_thread_area): Likewise. - * linux-m68k-low.c (ps_get_thread_area): Likewise. - * linux-mips-low.c (ps_get_thread_area): Likewise. - * linux-nios2-low.c (ps_get_thread_area): Likewise. - * linux-tic6x-low.c (ps_get_thread_area): Likewise. - * linux-x86-low.c (ps_get_thread_area): Likewise. - * linux-xtensa-low.c (ps_get_thread_area): Likewise. - -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - gdb/ChangeLog | 14 ++++++++++++++ - gdb/aarch64-linux-nat.c | 2 +- - gdb/amd64-linux-nat.c | 2 +- - gdb/arm-linux-nat.c | 2 +- - gdb/gdb_proc_service.h | 2 +- - gdb/gdbserver/ChangeLog | 15 +++++++++++++++ - gdb/gdbserver/gdb_proc_service.h | 2 +- - gdb/gdbserver/linux-aarch64-low.c | 2 +- - gdb/gdbserver/linux-arm-low.c | 2 +- - gdb/gdbserver/linux-crisv32-low.c | 2 +- - gdb/gdbserver/linux-m68k-low.c | 2 +- - gdb/gdbserver/linux-mips-low.c | 2 +- - gdb/gdbserver/linux-nios2-low.c | 2 +- - gdb/gdbserver/linux-tic6x-low.c | 2 +- - gdb/gdbserver/linux-x86-low.c | 2 +- - gdb/gdbserver/linux-xtensa-low.c | 2 +- - gdb/i386-linux-nat.c | 2 +- - gdb/m68klinux-nat.c | 2 +- - gdb/mips-linux-nat.c | 2 +- - gdb/nat/aarch64-linux.c | 2 +- - gdb/nat/aarch64-linux.h | 2 +- - gdb/xtensa-linux-nat.c | 2 +- - 22 files changed, 49 insertions(+), 20 deletions(-) - -diff --git a/gdb/ChangeLog b/gdb/ChangeLog -index 9b6562502e..a03afdb82f 100644 ---- a/gdb/ChangeLog -+++ b/gdb/ChangeLog -@@ -1,3 +1,17 @@ -+2016-08-25 Adhemerval Zanella -+ -+ * aarch64-linux-nat.c (ps_get_thread_area): Remove const from -+ struct ps_prochandle. -+ * amd64-linux-nat.c (ps_get_thread_area): Likewise. -+ * arm-linux-nat.c (ps_get_thread_area): Likewise. -+ * gdb_proc_service.h (ps_get_thread_area): Likewise. -+ * i386-linux-nat.c (ps_get_thread_area): Likewise. -+ * m68klinux-nat.c (ps_get_thread_area): Likewise. -+ * mips-linux-nat.c (ps_get_thread_area): Likewise. -+ * nat/aarch64-linux.c (aarch64_ps_get_thread_area): Likewise. -+ * nat/aarch64-linux.h (aarch64_ps_get_thread_area): Likewise. -+ * xtensa-linux-nat.c (ps_get_thread_area): Likewise. -+ - 2016-06-01 Joel Brobecker - - * version.in: Set GDB version number to 7.11.1.DATE-git. -diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c -index fe1631dbbb..5166eebd33 100644 ---- a/gdb/aarch64-linux-nat.c -+++ b/gdb/aarch64-linux-nat.c -@@ -457,7 +457,7 @@ aarch64_linux_new_fork (struct lwp_info *parent, pid_t child_pid) - storage (or its descriptor). */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - int is_64bit_p -diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c -index 391a646992..9da36fd1ba 100644 ---- a/gdb/amd64-linux-nat.c -+++ b/gdb/amd64-linux-nat.c -@@ -245,7 +245,7 @@ amd64_linux_store_inferior_registers (struct target_ops *ops, - a request for a thread's local storage address. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (gdbarch_bfd_arch_info (target_gdbarch ())->bits_per_word == 32) -diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c -index d77ca93498..d11bdc6e22 100644 ---- a/gdb/arm-linux-nat.c -+++ b/gdb/arm-linux-nat.c -@@ -477,7 +477,7 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdb_proc_service.h b/gdb/gdb_proc_service.h -index 04d3c03884..a1a8eb5b2f 100644 ---- a/gdb/gdb_proc_service.h -+++ b/gdb/gdb_proc_service.h -@@ -124,7 +124,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); - /* Fetch the special per-thread address associated with the given LWP. - This call is only used on a few platforms (most use a normal register). - The meaning of the `int' parameter is machine-dependent. */ --extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, -+extern ps_err_e ps_get_thread_area (struct ps_prochandle *, - lwpid_t, int, psaddr_t *); - - -diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog -index 08fef5b06e..ea278b1250 100644 ---- a/gdb/gdbserver/ChangeLog -+++ b/gdb/gdbserver/ChangeLog -@@ -1,3 +1,18 @@ -+2016-08-25 Adhemerval Zanella -+ -+ PR server/20491 -+ * gdb_proc_service.h (ps_get_thread_area): Remove const from struct -+ ps_prochandle. -+ * linux-aarch64-low.c (ps_get_thread_area): Likewise. -+ * linux-arm-low.c (ps_get_thread_area): Likewise. -+ * linux-crisv32-low.c (ps_get_thread_area): Likewise. -+ * linux-m68k-low.c (ps_get_thread_area): Likewise. -+ * linux-mips-low.c (ps_get_thread_area): Likewise. -+ * linux-nios2-low.c (ps_get_thread_area): Likewise. -+ * linux-tic6x-low.c (ps_get_thread_area): Likewise. -+ * linux-x86-low.c (ps_get_thread_area): Likewise. -+ * linux-xtensa-low.c (ps_get_thread_area): Likewise. -+ - 2016-04-15 Pedro Alves - - * linux-low.c (check_stopped_by_breakpoint): Rename to ... -diff --git a/gdb/gdbserver/gdb_proc_service.h b/gdb/gdbserver/gdb_proc_service.h -index 99bf226b01..cec9231ee5 100644 ---- a/gdb/gdbserver/gdb_proc_service.h -+++ b/gdb/gdbserver/gdb_proc_service.h -@@ -107,7 +107,7 @@ extern pid_t ps_getpid (struct ps_prochandle *); - /* Fetch the special per-thread address associated with the given LWP. - This call is only used on a few platforms (most use a normal register). - The meaning of the `int' parameter is machine-dependent. */ --extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, -+extern ps_err_e ps_get_thread_area (struct ps_prochandle *, - lwpid_t, int, psaddr_t *); - - -diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c -index 806a76260f..b86f210390 100644 ---- a/gdb/gdbserver/linux-aarch64-low.c -+++ b/gdb/gdbserver/linux-aarch64-low.c -@@ -421,7 +421,7 @@ aarch64_stopped_by_watchpoint (void) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - return aarch64_ps_get_thread_area (ph, lwpid, idx, base, -diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c -index 0f627069e0..9f043878c7 100644 ---- a/gdb/gdbserver/linux-arm-low.c -+++ b/gdb/gdbserver/linux-arm-low.c -@@ -269,7 +269,7 @@ get_next_pcs_read_memory_unsigned_integer (CORE_ADDR memaddr, - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c -index 16c1f72015..fea6d5bf9b 100644 ---- a/gdb/gdbserver/linux-crisv32-low.c -+++ b/gdb/gdbserver/linux-crisv32-low.c -@@ -309,7 +309,7 @@ cris_stopped_data_address (void) - } - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c -index df3d7c6d9c..78a340fa8f 100644 ---- a/gdb/gdbserver/linux-m68k-low.c -+++ b/gdb/gdbserver/linux-m68k-low.c -@@ -152,7 +152,7 @@ m68k_breakpoint_at (CORE_ADDR pc) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c -index 30a03d5f43..9356bb3d99 100644 ---- a/gdb/gdbserver/linux-mips-low.c -+++ b/gdb/gdbserver/linux-mips-low.c -@@ -637,7 +637,7 @@ mips_stopped_data_address (void) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c -index ea0ded1f1e..98a85ed8e3 100644 ---- a/gdb/gdbserver/linux-nios2-low.c -+++ b/gdb/gdbserver/linux-nios2-low.c -@@ -145,7 +145,7 @@ nios2_breakpoint_at (CORE_ADDR where) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-tic6x-low.c b/gdb/gdbserver/linux-tic6x-low.c -index e40a3aff51..6b90560dc4 100644 ---- a/gdb/gdbserver/linux-tic6x-low.c -+++ b/gdb/gdbserver/linux-tic6x-low.c -@@ -274,7 +274,7 @@ tic6x_breakpoint_at (CORE_ADDR where) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c -index 0c4954a58d..8bac10a54b 100644 ---- a/gdb/gdbserver/linux-x86-low.c -+++ b/gdb/gdbserver/linux-x86-low.c -@@ -236,7 +236,7 @@ is_64bit_tdesc (void) - /* Called by libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - #ifdef __x86_64__ -diff --git a/gdb/gdbserver/linux-xtensa-low.c b/gdb/gdbserver/linux-xtensa-low.c -index 6e945eac17..431082c01f 100644 ---- a/gdb/gdbserver/linux-xtensa-low.c -+++ b/gdb/gdbserver/linux-xtensa-low.c -@@ -177,7 +177,7 @@ xtensa_breakpoint_at (CORE_ADDR where) - /* Called by libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - xtensa_elf_gregset_t regs; -diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c -index a41ee21081..70d954fdc0 100644 ---- a/gdb/i386-linux-nat.c -+++ b/gdb/i386-linux-nat.c -@@ -603,7 +603,7 @@ i386_linux_store_inferior_registers (struct target_ops *ops, - storage (or its descriptor). */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - unsigned int base_addr; -diff --git a/gdb/m68klinux-nat.c b/gdb/m68klinux-nat.c -index 24b6242ba3..5b8684b719 100644 ---- a/gdb/m68klinux-nat.c -+++ b/gdb/m68klinux-nat.c -@@ -508,7 +508,7 @@ m68k_linux_store_inferior_registers (struct target_ops *ops, - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) < 0) -diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index bfe9fcbe68..0f20f16814 100644 ---- a/gdb/mips-linux-nat.c -+++ b/gdb/mips-linux-nat.c -@@ -152,7 +152,7 @@ mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store) - /* Fetch the thread-local storage pointer for libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - if (ptrace (PTRACE_GET_THREAD_AREA, lwpid, NULL, base) != 0) -diff --git a/gdb/nat/aarch64-linux.c b/gdb/nat/aarch64-linux.c -index 5ae5aa8602..1828977e28 100644 ---- a/gdb/nat/aarch64-linux.c -+++ b/gdb/nat/aarch64-linux.c -@@ -205,7 +205,7 @@ aarch64_siginfo_from_compat_siginfo (siginfo_t *to, compat_siginfo_t *from) - storage (or its descriptor). */ - - ps_err_e --aarch64_ps_get_thread_area (const struct ps_prochandle *ph, -+aarch64_ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base, - int is_64bit_p) - { -diff --git a/gdb/nat/aarch64-linux.h b/gdb/nat/aarch64-linux.h -index 7221982b78..aac7c68c06 100644 ---- a/gdb/nat/aarch64-linux.h -+++ b/gdb/nat/aarch64-linux.h -@@ -122,7 +122,7 @@ void aarch64_linux_prepare_to_resume (struct lwp_info *lwp); - - void aarch64_linux_new_thread (struct lwp_info *lwp); - --ps_err_e aarch64_ps_get_thread_area (const struct ps_prochandle *ph, -+ps_err_e aarch64_ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base, - int is_64bit_p); - -diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c -index 54da83791a..836d3f80ee 100644 ---- a/gdb/xtensa-linux-nat.c -+++ b/gdb/xtensa-linux-nat.c -@@ -286,7 +286,7 @@ xtensa_linux_store_inferior_registers (struct target_ops *ops, - /* Called by libthread_db. */ - - ps_err_e --ps_get_thread_area (const struct ps_prochandle *ph, -+ps_get_thread_area (struct ps_prochandle *ph, - lwpid_t lwpid, int idx, void **base) - { - xtensa_elf_gregset_t regs; --- -2.11.0 - diff --git a/bsp/buildroot/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch b/bsp/buildroot/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch deleted file mode 100644 index fc8b3ac6..00000000 --- a/bsp/buildroot/package/gdb/7.11.1/0005-Fix-gdbserver-build-on-uClibc-noMMU.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d6bf0c57a6bf361ac53887653aa1878e60d56335 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 9 Jun 2017 10:19:32 +0200 -Subject: [PATCH] Fix gdbserver build on uClibc/noMMU - -The noMMU specific code requires including . - -Originally from -https://cgit.openadk.org/cgi/cgit/openadk.git/plain/package/gdbserver/patches/nommu.patch. - -Signed-off-by: Thomas Petazzoni ---- - gdb/nat/linux-ptrace.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h -index 0a23bcb..35b7cbb 100644 ---- a/gdb/nat/linux-ptrace.h -+++ b/gdb/nat/linux-ptrace.h -@@ -23,7 +23,8 @@ struct buffer; - #include "nat/gdb_ptrace.h" - - #ifdef __UCLIBC__ --#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) -+#include -+#if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_USE_MMU__)) - /* PTRACE_TEXT_ADDR and friends. */ - #include - #define HAS_NOMMU --- -2.7.4 - diff --git a/bsp/buildroot/package/gdb/7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/bsp/buildroot/package/gdb/8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 83% rename from bsp/buildroot/package/gdb/7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to bsp/buildroot/package/gdb/8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index c280831a..9e011c72 100644 --- a/bsp/buildroot/package/gdb/7.10.1/0008-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/bsp/buildroot/package/gdb/8.1.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,4 +1,4 @@ -From 3964e15443c5cdfca6723987c8ef1ef6cf984d41 Mon Sep 17 00:00:00 2001 +From 2acd9d3eb703b9a64ac92b3880ed546bec92af95 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Aug 2016 17:32:50 -0700 Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems @@ -7,13 +7,15 @@ Upstream-Status: Pending Signed-off-by: Khem Raj Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour --- gdb/gdbserver/linux-ppc-low.c | 6 ++++++ gdb/nat/ppc-linux.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 188fac0..f71d5ab 100644 +index 33a9feb..1a9141f 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c @@ -21,7 +21,13 @@ @@ -29,9 +31,9 @@ index 188fac0..f71d5ab 100644 +#endif #include "nat/ppc-linux.h" - + #include "linux-ppc-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 0ff2223..c978daa 100644 +index 5837ea1..7233929 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ @@ -49,5 +51,5 @@ index 0ff2223..c978daa 100644 /* This sometimes isn't defined. */ -- -2.7.4 +2.9.4 diff --git a/bsp/buildroot/package/gdb/7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/bsp/buildroot/package/gdb/8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 84% rename from bsp/buildroot/package/gdb/7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to bsp/buildroot/package/gdb/8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch index f8c9e59b..d31e5dd1 100644 --- a/bsp/buildroot/package/gdb/7.11.1/0004-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ b/bsp/buildroot/package/gdb/8.1.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -1,8 +1,8 @@ -From b7cbde12595599768bf2831e311a8ab265322313 Mon Sep 17 00:00:00 2001 +From dfe4a40bc9d2fc1fd1b1a11ed733a0c0a1f59f3c Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 3 Jun 2017 21:23:52 +0200 -Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC - systems +Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on + !GLIBC systems Fixes a pt_{dsp,}regs redefinition when building with the musl C library on SuperH. @@ -12,12 +12,14 @@ http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/ adapted for SuperH. Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour --- gdb/gdbserver/linux-sh-low.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c -index 38612e2..3195d0d 100644 +index ac084c9..08e104a 100644 --- a/gdb/gdbserver/linux-sh-low.c +++ b/gdb/gdbserver/linux-sh-low.c @@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; @@ -37,5 +39,5 @@ index 38612e2..3195d0d 100644 #define sh_num_regs 41 -- -2.7.4 +2.9.4 diff --git a/bsp/buildroot/package/gdb/7.11.1/0006-use-asm-sgidefs.h.patch b/bsp/buildroot/package/gdb/8.1.1/0003-use-asm-sgidefs.h.patch similarity index 100% rename from bsp/buildroot/package/gdb/7.11.1/0006-use-asm-sgidefs.h.patch rename to bsp/buildroot/package/gdb/8.1.1/0003-use-asm-sgidefs.h.patch diff --git a/bsp/buildroot/package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch b/bsp/buildroot/package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch new file mode 100644 index 00000000..451bed31 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.1.1/0004-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 80c60ea9fb3634272a98ec526eabff25f5255bae Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/bsp/buildroot/package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/bsp/buildroot/package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch new file mode 100644 index 00000000..dea24725 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.1.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -0,0 +1,51 @@ +From 887c667089e5417fdc7c5bbb364b027e86a7c113 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 24 Jun 2018 23:33:55 +0200 +Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h + +To decide whether fork() or vfork() should be used, fork-inferior.c +uses the following test: + + #if !(defined(__UCLIBC__) && defined(HAS_NOMMU)) + +However, HAS_NOMMU is never defined, because it gets defined in +linux-ptrace.h, which is not included by fork-inferior.c. Due to this, +gdbserver fails to build on noMMU architectures. This commit fixes +that by simply including linux-ptrace.h. + +This bug was introduced by commit +2090129c36c7e582943b7d300968d19b46160d84 ("Share fork_inferior et al +with gdbserver"). Indeed, the same fork()/vfork() selection was done, +but in another file where linux-ptrace.h was included. + +Fixes the following build issue: + +../nat/fork-inferior.c: In function 'pid_t fork_inferior(const char*, const string&, char**, void (*)(), void (*)(int), void (*)(), const char*, void (*)(const char*, char* const*, char* const*))': +../nat/fork-inferior.c:376:11: error: 'fork' was not declared in this scope + pid = fork (); + ^~~~ +../nat/fork-inferior.c:376:11: note: suggested alternative: 'vfork' + pid = fork (); + ^~~~ + vfork + +Signed-off-by: Thomas Petazzoni +--- + gdb/nat/fork-inferior.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c +index 8b59387fa5..05167628a6 100644 +--- a/gdb/nat/fork-inferior.c ++++ b/gdb/nat/fork-inferior.c +@@ -26,6 +26,7 @@ + #include "common-gdbthread.h" + #include "signals-state-save-restore.h" + #include "gdb_tilde_expand.h" ++#include "linux-ptrace.h" + #include + + extern char **environ; +-- +2.14.4 + diff --git a/bsp/buildroot/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch b/bsp/buildroot/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch new file mode 100644 index 00000000..fa164749 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.1.1/0006-Move-is_regular_file-from-common-utils.c-to-filestuf.patch @@ -0,0 +1,172 @@ +From 083849deeeec2854b2657b46380273ee13f4fa1b Mon Sep 17 00:00:00 2001 +From: Sergio Durigan Junior +Date: Wed, 12 Sep 2018 13:16:02 -0400 +Subject: [PATCH] Move 'is_regular_file' from common-utils.c to filestuff.c + +There is no reason for 'is_regular_file' to be in common-utils.c; it +belongs to 'filestuff.c'. This commit moves the function definition +and its prototype to the appropriate files. + +The motivation behind this move is a failure that happens on certain +cross-compilation environments when compiling the IPA library, due to +the way gnulib probes the need for a 'stat' call replacement. Because +configure checks when cross-compiling are more limited, gnulib decides +that it needs to substitute the 'stat' calls its own 'rpl_stat'; +however, the IPA library doesn't link with gnulib, which leads to an +error when compiling 'common-utils.c': + + ... + /opt/x86-core2--musl--bleeding-edge-2018.09-1/bin/i686-buildroot-linux-musl-g++ -shared -fPIC -Wl,--soname=libinproctrace.so -Wl,--no-undefined -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -I. -I. -I./../common -I./../regformats -I./.. -I./../../include -I./../gnulib/import -Ibuild-gnulib-gdbserver/import -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized -DGDBSERVER \ + -Wl,--dynamic-list=./proc-service.list -o libinproctrace.so ax-ipa.o common-utils-ipa.o errors-ipa.o format-ipa.o print-utils-ipa.o regcache-ipa.o remote-utils-ipa.o rsp-low-ipa.o tdesc-ipa.o tracepoint-ipa.o utils-ipa.o vec-ipa.o linux-i386-ipa.o linux-x86-tdesc-ipa.o arch/i386-ipa.o -ldl -pthread + /opt/x86-core2--musl--bleeding-edge-2018.09-1/lib/gcc/i686-buildroot-linux-musl/8.2.0/../../../../i686-buildroot-linux-musl/bin/ld: common-utils-ipa.o: in function `is_regular_file(char const*, int*)': + common-utils.c:(.text+0x695): undefined reference to `rpl_stat' + collect2: error: ld returned 1 exit status + Makefile:413: recipe for target 'libinproctrace.so' failed + make[1]: *** [libinproctrace.so] Error 1 + ... + +More details can also be found at: + + https://sourceware.org/ml/gdb-patches/2018-09/msg00304.html + +The most simple fix for this problem is to move 'is_regular_file' to +'filestuff.c', which is not used by IPA. This ends up making the +files more logically organized as well, since 'is_regular_file' is a +file operation. + +No regressions found. + +gdb/ChangeLog: +2018-09-12 Sergio Durigan Junior + + * common/common-utils.c: Don't include ''. + (is_regular_file): Move to... + * common/filestuff.c (is_regular_file): ... here. + * common/common-utils.h (is_regular_file): Move to... + * common/filestuff.h (is_regular_file): ... here. + +(cherry picked from commit 3c025cfe5efc44eb4dfb03b53dca28e75096dd1e) +[Romain: backport to gdb 8.1 and remove ChangeLog enty] +Signed-off-by: Romain Naour +--- + gdb/common/common-utils.c | 30 ------------------------------ + gdb/common/common-utils.h | 5 ----- + gdb/common/filestuff.c | 31 +++++++++++++++++++++++++++++++ + gdb/common/filestuff.h | 5 +++++ + 4 files changed, 36 insertions(+), 35 deletions(-) + +diff --git a/gdb/common/common-utils.c b/gdb/common/common-utils.c +index 80de826ba78..90a06390141 100644 +--- a/gdb/common/common-utils.c ++++ b/gdb/common/common-utils.c +@@ -20,7 +20,6 @@ + #include "common-defs.h" + #include "common-utils.h" + #include "host-defs.h" +-#include + #include + + /* The xmalloc() (libiberty.h) family of memory management routines. +@@ -411,32 +410,3 @@ stringify_argv (const std::vector &args) + } + + /* See common/common-utils.h. */ +- +-bool +-is_regular_file (const char *name, int *errno_ptr) +-{ +- struct stat st; +- const int status = stat (name, &st); +- +- /* Stat should never fail except when the file does not exist. +- If stat fails, analyze the source of error and return true +- unless the file does not exist, to avoid returning false results +- on obscure systems where stat does not work as expected. */ +- +- if (status != 0) +- { +- if (errno != ENOENT) +- return true; +- *errno_ptr = ENOENT; +- return false; +- } +- +- if (S_ISREG (st.st_mode)) +- return true; +- +- if (S_ISDIR (st.st_mode)) +- *errno_ptr = EISDIR; +- else +- *errno_ptr = EINVAL; +- return false; +-} +diff --git a/gdb/common/common-utils.h b/gdb/common/common-utils.h +index 5408c354693..2320318de74 100644 +--- a/gdb/common/common-utils.h ++++ b/gdb/common/common-utils.h +@@ -146,9 +146,4 @@ in_inclusive_range (T value, T low, T high) + return value >= low && value <= high; + } + +-/* Return true if the file NAME exists and is a regular file. +- If the result is false then *ERRNO_PTR is set to a useful value assuming +- we're expecting a regular file. */ +-extern bool is_regular_file (const char *name, int *errno_ptr); +- + #endif +diff --git a/gdb/common/filestuff.c b/gdb/common/filestuff.c +index f5a754ffa66..fa10165a7ca 100644 +--- a/gdb/common/filestuff.c ++++ b/gdb/common/filestuff.c +@@ -417,3 +417,34 @@ make_cleanup_close (int fd) + *saved_fd = fd; + return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree); + } ++ ++/* See common/filestuff.h. */ ++ ++bool ++is_regular_file (const char *name, int *errno_ptr) ++{ ++ struct stat st; ++ const int status = stat (name, &st); ++ ++ /* Stat should never fail except when the file does not exist. ++ If stat fails, analyze the source of error and return true ++ unless the file does not exist, to avoid returning false results ++ on obscure systems where stat does not work as expected. */ ++ ++ if (status != 0) ++ { ++ if (errno != ENOENT) ++ return true; ++ *errno_ptr = ENOENT; ++ return false; ++ } ++ ++ if (S_ISREG (st.st_mode)) ++ return true; ++ ++ if (S_ISDIR (st.st_mode)) ++ *errno_ptr = EISDIR; ++ else ++ *errno_ptr = EINVAL; ++ return false; ++} +diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h +index 92a2a5f4c70..cc6dd861379 100644 +--- a/gdb/common/filestuff.h ++++ b/gdb/common/filestuff.h +@@ -84,4 +84,9 @@ extern int gdb_pipe_cloexec (int filedes[2]); + + extern struct cleanup *make_cleanup_close (int fd); + ++/* Return true if the file NAME exists and is a regular file. ++ If the result is false then *ERRNO_PTR is set to a useful value assuming ++ we're expecting a regular file. */ ++extern bool is_regular_file (const char *name, int *errno_ptr); ++ + #endif /* FILESTUFF_H */ +-- +2.14.4 + diff --git a/bsp/buildroot/package/gdb/7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/bsp/buildroot/package/gdb/8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch similarity index 79% rename from bsp/buildroot/package/gdb/7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch rename to bsp/buildroot/package/gdb/8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index 1e7f6b6c..1672ad2a 100644 --- a/bsp/buildroot/package/gdb/7.11.1/0003-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/bsp/buildroot/package/gdb/8.2.1/0001-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,4 +1,4 @@ -From 7438f3e5a41adf54cf82cd82d3d52244e77d7d05 Mon Sep 17 00:00:00 2001 +From 7dd846212d46b5d0930c938222181cd305254951 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 6 Aug 2016 17:32:50 -0700 Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems @@ -7,13 +7,15 @@ Upstream-Status: Pending Signed-off-by: Khem Raj Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour --- gdb/gdbserver/linux-ppc-low.c | 6 ++++++ gdb/nat/ppc-linux.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 2145c50..777905d 100644 +index 47428c1529c..841a5e02b9d 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c @@ -21,7 +21,13 @@ @@ -28,10 +30,10 @@ index 2145c50..777905d 100644 +# undef pt_regs +#endif - #include "nat/ppc-linux.h" - + #include "arch/ppc-linux-common.h" + #include "arch/ppc-linux-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 85fbcd8..cbec9c5 100644 +index 3d4d4fdc563..5b93af8d3a3 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ @@ -49,5 +51,5 @@ index 85fbcd8..cbec9c5 100644 /* This sometimes isn't defined. */ -- -2.7.4 +2.14.4 diff --git a/bsp/buildroot/package/gdb/7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch b/bsp/buildroot/package/gdb/8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch similarity index 85% rename from bsp/buildroot/package/gdb/7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch rename to bsp/buildroot/package/gdb/8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch index 50f9512b..ef2a9429 100644 --- a/bsp/buildroot/package/gdb/7.10.1/0009-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch +++ b/bsp/buildroot/package/gdb/8.2.1/0002-sh-ptrace-Define-pt_-dsp-regs-uapi_pt_-dsp-regs-on-G.patch @@ -1,4 +1,4 @@ -From 1662a42e980c3f605000b23fda86ab24ceb69d32 Mon Sep 17 00:00:00 2001 +From 6fade51aa4efd700e4a4054aaddb22eda0de7576 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 3 Jun 2017 21:23:52 +0200 Subject: [PATCH] sh/ptrace: Define pt_{dsp,}regs uapi_pt_{dsp,}regs on !GLIBC @@ -12,12 +12,14 @@ http://git.yoctoproject.org/clean/cgit.cgi/poky/plain/meta/recipes-devtools/gdb/ adapted for SuperH. Signed-off-by: Thomas Petazzoni +[Rebase on gdb 8.0] +Signed-off-by: Romain Naour --- gdb/gdbserver/linux-sh-low.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gdb/gdbserver/linux-sh-low.c b/gdb/gdbserver/linux-sh-low.c -index 218d4d3..c4ada84 100644 +index 76876f08078..ec4491474ac 100644 --- a/gdb/gdbserver/linux-sh-low.c +++ b/gdb/gdbserver/linux-sh-low.c @@ -27,7 +27,15 @@ extern const struct target_desc *tdesc_sh; @@ -37,5 +39,5 @@ index 218d4d3..c4ada84 100644 #define sh_num_regs 41 -- -2.7.4 +2.14.4 diff --git a/bsp/buildroot/package/gdb/7.10.1/0011-use-asm-sgidefs.h.patch b/bsp/buildroot/package/gdb/8.2.1/0003-use-asm-sgidefs.h.patch similarity index 79% rename from bsp/buildroot/package/gdb/7.10.1/0011-use-asm-sgidefs.h.patch rename to bsp/buildroot/package/gdb/8.2.1/0003-use-asm-sgidefs.h.patch index fdc56793..08146d30 100644 --- a/bsp/buildroot/package/gdb/7.10.1/0011-use-asm-sgidefs.h.patch +++ b/bsp/buildroot/package/gdb/8.2.1/0003-use-asm-sgidefs.h.patch @@ -1,4 +1,4 @@ -From 12a0b8d81e1fda6ba98abdce8d6f09f9555ebcf5 Mon Sep 17 00:00:00 2001 +From b286989e94e09c992462771cdbd3dc684f660b4f Mon Sep 17 00:00:00 2001 From: Andre McCurdy Date: Sat, 30 Apr 2016 15:29:06 -0700 Subject: [PATCH] use @@ -13,8 +13,7 @@ instead. Upstream-Status: Pending [Vincent: -Taken from https://sourceware.org/bugzilla/show_bug.cgi?id=21070 -Patch has been adapted to apply on 7.10.1.] +Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070] Signed-off-by: Andre McCurdy Signed-off-by: Khem Raj @@ -24,7 +23,7 @@ Signed-off-by: Vicente Olivert Riera 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c -index 9f6d697..8f57bb2 100644 +index 21b1f583b92..de525ae6b01 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,7 +31,7 @@ @@ -33,9 +32,9 @@ index 9f6d697..8f57bb2 100644 -#include +#include - #include + #include "nat/gdb_ptrace.h" #include - + #include "inf-ptrace.h" -- -2.13.1 - +2.14.4 + diff --git a/bsp/buildroot/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch b/bsp/buildroot/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch new file mode 100644 index 00000000..c8f8ffb8 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.2.1/0004-gdbserver-fix-build-for-m68k.patch @@ -0,0 +1,62 @@ +From 69cbbbbbd425111428db5ae91767dae5436ba63d Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Fri, 22 Jun 2018 22:40:26 +0200 +Subject: [PATCH] gdbserver: fix build for m68k +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +As for strace [1], when is included after , +the build fails on m68k with the following diagnostics: + +In file included from ./../nat/linux-ptrace.h:28:0, + from linux-low.h:27, + from linux-m68k-low.c:20: +[...]/usr/include/sys/reg.h:26:3: error: expected identifier before numeric constant + PT_D1 = 0, + ^ +[...]usr/include/sys/reg.h:26:3: error: expected « } » before numeric constant +[...]usr/include/sys/reg.h:26:3: error: expected unqualified-id before numeric constant +In file included from linux-m68k-low.c:27:0: +[...]usr/include/sys/reg.h:99:1: error: expected declaration before « } » token + }; + ^ + +Fix this by moving on top of "linux-low.h". + +[1] https://github.com/strace/strace/commit/6ebf6c4f9e5ebca123a5b5f24afe67cf0473cf92 + +Signed-off-by: Romain Naour +--- + gdb/gdbserver/linux-m68k-low.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/gdb/gdbserver/linux-m68k-low.c b/gdb/gdbserver/linux-m68k-low.c +index 5594f10f927..19b4ef7b259 100644 +--- a/gdb/gdbserver/linux-m68k-low.c ++++ b/gdb/gdbserver/linux-m68k-low.c +@@ -17,16 +17,17 @@ + along with this program. If not, see . */ + + #include "server.h" ++ ++#ifdef HAVE_SYS_REG_H ++#include ++#endif ++ + #include "linux-low.h" + + /* Defined in auto-generated file reg-m68k.c. */ + void init_registers_m68k (void); + extern const struct target_desc *tdesc_m68k; + +-#ifdef HAVE_SYS_REG_H +-#include +-#endif +- + #define m68k_num_regs 29 + #define m68k_num_gregs 18 + +-- +2.14.4 + diff --git a/bsp/buildroot/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch b/bsp/buildroot/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch new file mode 100644 index 00000000..a47dcf31 --- /dev/null +++ b/bsp/buildroot/package/gdb/8.2.1/0005-nat-fork-inferior-include-linux-ptrace.h.patch @@ -0,0 +1,51 @@ +From fa319a6202cfe6e0415d28d6995019b18c16cd60 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 24 Jun 2018 23:33:55 +0200 +Subject: [PATCH] nat/fork-inferior: include linux-ptrace.h + +To decide whether fork() or vfork() should be used, fork-inferior.c +uses the following test: + + #if !(defined(__UCLIBC__) && defined(HAS_NOMMU)) + +However, HAS_NOMMU is never defined, because it gets defined in +linux-ptrace.h, which is not included by fork-inferior.c. Due to this, +gdbserver fails to build on noMMU architectures. This commit fixes +that by simply including linux-ptrace.h. + +This bug was introduced by commit +2090129c36c7e582943b7d300968d19b46160d84 ("Share fork_inferior et al +with gdbserver"). Indeed, the same fork()/vfork() selection was done, +but in another file where linux-ptrace.h was included. + +Fixes the following build issue: + +../nat/fork-inferior.c: In function 'pid_t fork_inferior(const char*, const string&, char**, void (*)(), void (*)(int), void (*)(), const char*, void (*)(const char*, char* const*, char* const*))': +../nat/fork-inferior.c:376:11: error: 'fork' was not declared in this scope + pid = fork (); + ^~~~ +../nat/fork-inferior.c:376:11: note: suggested alternative: 'vfork' + pid = fork (); + ^~~~ + vfork + +Signed-off-by: Thomas Petazzoni +--- + gdb/nat/fork-inferior.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gdb/nat/fork-inferior.c b/gdb/nat/fork-inferior.c +index ea71aad25f7..77b9e03878b 100644 +--- a/gdb/nat/fork-inferior.c ++++ b/gdb/nat/fork-inferior.c +@@ -26,6 +26,7 @@ + #include "common-gdbthread.h" + #include "signals-state-save-restore.h" + #include "gdb_tilde_expand.h" ++#include "linux-ptrace.h" + #include + + extern char **environ; +-- +2.14.4 + diff --git a/bsp/buildroot/package/gdb/Config.in b/bsp/buildroot/package/gdb/Config.in index af020f40..0c3465d1 100644 --- a/bsp/buildroot/package/gdb/Config.in +++ b/bsp/buildroot/package/gdb/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_GDB_ARCH_SUPPORTS bool default y depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) - depends on !BR2_bfin depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k @@ -11,10 +10,18 @@ comment "gdb/gdbserver needs a toolchain w/ threads, threads debug" depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG +comment "gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8" + depends on BR2_PACKAGE_GDB_NEEDS_CXX11 + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + config BR2_PACKAGE_GDB bool "gdb" depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_PACKAGE_GDB_NEEDS_CXX11 + depends on BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_GDB_NEEDS_CXX11 + # no gdbserver on riscv + select BR2_PACKAGE_GDB_DEBUGGER if BR2_riscv # When the external toolchain gdbserver is copied to the # target, we don't allow building a separate gdbserver. The # one from the external toolchain should be used. @@ -41,6 +48,7 @@ if BR2_PACKAGE_GDB config BR2_PACKAGE_GDB_SERVER bool "gdbserver" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY + depends on !BR2_riscv help Build the gdbserver stub to run on the target. A full gdb is needed to debug the progam. diff --git a/bsp/buildroot/package/gdb/Config.in.host b/bsp/buildroot/package/gdb/Config.in.host index 99e1cae5..969168ff 100644 --- a/bsp/buildroot/package/gdb/Config.in.host +++ b/bsp/buildroot/package/gdb/Config.in.host @@ -3,11 +3,11 @@ config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS default y # The ARC version needs C++11, thus gcc >= 4.8, like gdb-8.0.x depends on BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_arc - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_arc depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) depends on !BR2_microblaze depends on !BR2_nios2 depends on !BR2_or1k + depends on !BR2_riscv comment "Host GDB Options" depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY @@ -46,37 +46,57 @@ config BR2_PACKAGE_HOST_GDB_SIM choice prompt "GDB debugger Version" - default BR2_GDB_VERSION_7_11 + default BR2_GDB_VERSION_8_1 depends on !BR2_arc help Select the version of gdb you wish to use. -config BR2_GDB_VERSION_7_10 - bool "gdb 7.10.x" - -config BR2_GDB_VERSION_7_11 - bool "gdb 7.11.x" - config BR2_GDB_VERSION_7_12 bool "gdb 7.12.x" config BR2_GDB_VERSION_8_0 bool "gdb 8.0.x" # Needs a C++11 compiler - depends on BR2_INSTALL_LIBSTDCPP depends on BR2_HOST_GCC_AT_LEAST_4_8 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_GDB_VERSION_8_1 + bool "gdb 8.1.x" + # Needs a C++11 compiler + depends on BR2_HOST_GCC_AT_LEAST_4_8 + +config BR2_GDB_VERSION_8_2 + bool "gdb 8.2.x" + # Needs a C++11 compiler + depends on BR2_HOST_GCC_AT_LEAST_4_8 endchoice endif +# Tells whether the currently selected gdb version requires C++11 +# support in the toolchain. When host-gdb is not enabled, the target +# gdb built is 8.0, which requires C++11 support, which is why +# BR2_PACKAGE_GDB_NEEDS_CXX11 is 'y' when BR2_PACKAGE_HOST_GDB is not +# enabled. When host-gdb is built, with the version set to 8.0 or 8.1 +# then C++11 support is needed in the toolchain to build gdb for the +# target. +# +# Even though this option is related to target gdb dependencies, we +# keep it next to the BR2_GDB_VERSION so that they are kept in sync. +config BR2_PACKAGE_GDB_NEEDS_CXX11 + bool + default y if !BR2_PACKAGE_HOST_GDB + default y if BR2_GDB_VERSION_8_0 + default y if BR2_GDB_VERSION_8_1 + default y if BR2_GDB_VERSION_8_2 + default y if BR2_arc + # If cross-gdb is not enabled, the latest working version is chosen. config BR2_GDB_VERSION string - default "arc-2017.09-release-gdb" if BR2_arc - default "7.10.1" if BR2_GDB_VERSION_7_10 - default "7.11.1" if BR2_GDB_VERSION_7_11 || !BR2_PACKAGE_HOST_GDB + default "arc-2018.09-release-gdb" if BR2_arc default "7.12.1" if BR2_GDB_VERSION_7_12 default "8.0.1" if BR2_GDB_VERSION_8_0 + default "8.1.1" if BR2_GDB_VERSION_8_1 || !BR2_PACKAGE_HOST_GDB + default "8.2.1" if BR2_GDB_VERSION_8_2 depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB diff --git a/bsp/buildroot/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch b/bsp/buildroot/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch new file mode 100644 index 00000000..1ee39658 --- /dev/null +++ b/bsp/buildroot/package/gdb/arc-2018.09-gdb/0001-gdb-Fix-ia64-defining-TRAP_HWBKPT-before-including-g.patch @@ -0,0 +1,52 @@ +From e213d8e1b5317389c3beee648811bc649d62d743 Mon Sep 17 00:00:00 2001 +From: James Clarke +Date: Fri, 19 Jan 2018 17:22:49 +0000 +Subject: [PATCH] gdb: Fix ia64 defining TRAP_HWBKPT before including + gdb_wait.h + +On ia64, gdb_wait.h eventually includes siginfo-consts-arch.h, which +contains an enum with TRAP_HWBKPT, along with a #define. Thus we cannot +define TRAP_HWBKPT to 4 beforehand, and so gdb_wait.h must be included +earlier; include it from linux-ptrace.h so it can never come afterwards. + +gdb/ChangeLog: + + * nat/linux-ptrace.c: Remove unnecessary reinclusion of + gdb_ptrace.h, and move including gdb_wait.h ... + * nat/linux-ptrace.h: ... to here. + +[Backport from upstream 5a6c3296a7a90694ad4042f6256f3da6d4fa4ee8] +Signed-off-by: Alexey Brodkin +--- + gdb/nat/linux-ptrace.c | 2 -- + gdb/nat/linux-ptrace.h | 1 + + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c +index 438177fa7622..1240eead0d50 100644 +--- a/gdb/nat/linux-ptrace.c ++++ b/gdb/nat/linux-ptrace.c +@@ -21,8 +21,6 @@ + #include "linux-procfs.h" + #include "linux-waitpid.h" + #include "buffer.h" +-#include "gdb_wait.h" +-#include "gdb_ptrace.h" + #ifdef HAVE_SYS_PROCFS_H + #include + #endif +diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h +index 59549452c099..6faa89b22a0e 100644 +--- a/gdb/nat/linux-ptrace.h ++++ b/gdb/nat/linux-ptrace.h +@@ -21,6 +21,7 @@ + struct buffer; + + #include "nat/gdb_ptrace.h" ++#include "gdb_wait.h" + + #ifdef __UCLIBC__ + #if !(defined(__UCLIBC_HAS_MMU__) || defined(__ARCH_HAS_MMU__)) +-- +2.19.2 + diff --git a/bsp/buildroot/package/gdb/gdb.hash b/bsp/buildroot/package/gdb/gdb.hash index 62edd937..1104da5d 100644 --- a/bsp/buildroot/package/gdb/gdb.hash +++ b/bsp/buildroot/package/gdb/gdb.hash @@ -1,8 +1,8 @@ # From ftp://gcc.gnu.org/pub/gdb/releases/sha512.sum -sha512 17a5138277a31685a5c2a841cb47ed9bc4626ea617b8ca77750513b300299f4fbbffe504958b5372de610dcb952c679cf8fa9c1bdadd380294fbf59b6e366010 gdb-7.10.1.tar.xz -sha512 f80ec6c8a0f0b54c8b945666e875809174402b7e121efb378ebac931a91f9a1cc0048568f8e2f42ae8ae2392ff8d144c2e51d41c7398935017450aaf29838360 gdb-7.11.1.tar.xz sha512 0ac8d0a495103611ef41167a08313a010dce6ca4c6d827cbe8558a0c1a1a8a6bfa53f1b7704251289cababbfaaf9e075550cdf741a54d6cd9ca3433d910efcd8 gdb-7.12.1.tar.xz sha512 5eb328910033f0918058be2f92caebf1e8dfc6caa3c730d99d621627e53de3c1b43761c2f683d53555893253c2f06768cbf56cdea051a3d291ffb6cfae87b5e1 gdb-8.0.1.tar.xz +sha512 7dcd5e8c90de92f577834d887b5f54edb93a07083bfe661bc46c270a6cc4919f0b348e7e2fe8ae4511298a570ef150eeefdc667ef7cf527f0cf60943177ab6c9 gdb-8.1.1.tar.xz +sha512 2aa81cfd389bb48c35d7d9f95cc10e88b4f7ad4597bdde0f8f1fd312f60f10d9fb2cc6e5a9355227d89ff328f7feb0fc411a69394560cafeb9fa75d35d896d11 gdb-8.2.1.tar.xz # Locally calculated (fetched from Github) -sha512 e57582766e7d510b26bea63606429e6289414c31c60e28fef24d3d82fa20fb5a1f92b3831fde53e4f7c178c9e099609d3292628cf921a99109e297af4e5f83d9 gdb-arc-2017.09-release-gdb.tar.gz +sha512 8303e399e396f5c15dc976e48503fc7d45a720dd1a470443f755c5f2458d092b4392e7ae582abc251bc4b43a778ad784f764286a2a05abfc1649cbeeeb6e7d15 gdb-arc-2018.09-release-gdb.tar.gz diff --git a/bsp/buildroot/package/gdb/gdb.mk b/bsp/buildroot/package/gdb/gdb.mk index 0981b6ef..a9269613 100644 --- a/bsp/buildroot/package/gdb/gdb.mk +++ b/bsp/buildroot/package/gdb/gdb.mk @@ -87,6 +87,16 @@ GDB_CONF_ENV = \ GDB_CONF_ENV += gl_cv_func_gettimeofday_clobber=no GDB_MAKE_ENV += gl_cv_func_gettimeofday_clobber=no +# Similarly, starting with gdb 8.1, the bundled gnulib tries to use +# rpl_strerror. Let's tell gnulib the C library implementation works +# well enough. +GDB_CONF_ENV += \ + gl_cv_func_working_strerror=yes \ + gl_cv_func_strerror_0_works=yes +GDB_MAKE_ENV += \ + gl_cv_func_working_strerror=yes \ + gl_cv_func_strerror_0_works=yes + # Starting with glibc 2.25, the proc_service.h header has been copied # from gdb to glibc so other tools can use it. However, that makes it # necessary to make sure that declaration of prfpregset_t declaration @@ -113,7 +123,8 @@ GDB_CONF_OPTS = \ --with-curses \ --without-included-gettext \ --disable-werror \ - --enable-static + --enable-static \ + --without-mpfr # When gdb is built as C++ application for ARC it segfaults at runtime # So we pass --disable-build-with-cxx config option to force gdb not to @@ -128,6 +139,11 @@ ifneq ($(BR2_INSTALL_LIBSTDCPP),y) GDB_CONF_OPTS += --disable-build-with-cxx endif +# inprocess-agent can't be built statically +ifeq ($(BR2_STATIC_LIBS),y) +GDB_CONF_OPTS += --disable-inprocess-agent +endif + ifeq ($(BR2_PACKAGE_GDB_TUI),y) GDB_CONF_OPTS += --enable-tui else @@ -202,6 +218,7 @@ HOST_GDB_CONF_OPTS = \ --disable-werror \ --without-included-gettext \ --with-curses \ + --without-mpfr \ $(GDB_DISABLE_BINUTILS_CONF_OPTS) ifeq ($(BR2_PACKAGE_HOST_GDB_TUI),y) @@ -217,16 +234,8 @@ else HOST_GDB_CONF_OPTS += --without-python endif -# workaround a bug if in-tree build is used for bfin sim -define HOST_GDB_BFIN_SIM_WORKAROUND - $(RM) $(@D)/sim/common/tconfig.h -endef - ifeq ($(BR2_PACKAGE_HOST_GDB_SIM),y) HOST_GDB_CONF_OPTS += --enable-sim -ifeq ($(BR2_bfin),y) -HOST_GDB_PRE_CONFIGURE_HOOKS += HOST_GDB_BFIN_SIM_WORKAROUND -endif else HOST_GDB_CONF_OPTS += --disable-sim endif diff --git a/bsp/buildroot/package/genimage/genimage.hash b/bsp/buildroot/package/genimage/genimage.hash index 4be2fca8..095eb141 100644 --- a/bsp/buildroot/package/genimage/genimage.hash +++ b/bsp/buildroot/package/genimage/genimage.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 69f35af7edf6f4dbdac7a18ddc69dcf38c501e43d8b50c524555754c51479078 genimage-9.tar.xz +sha256 5a36b2c1387007c2d6535a722ee257a387d0913bddcf8a94d460e6acd4d01859 genimage-10.tar.xz diff --git a/bsp/buildroot/package/genimage/genimage.mk b/bsp/buildroot/package/genimage/genimage.mk index 8d11c66a..393c3e9b 100644 --- a/bsp/buildroot/package/genimage/genimage.mk +++ b/bsp/buildroot/package/genimage/genimage.mk @@ -4,7 +4,7 @@ # ################################################################################ -GENIMAGE_VERSION = 9 +GENIMAGE_VERSION = 10 GENIMAGE_SOURCE = genimage-$(GENIMAGE_VERSION).tar.xz GENIMAGE_SITE = https://github.com/pengutronix/genimage/releases/download/v$(GENIMAGE_VERSION) HOST_GENIMAGE_DEPENDENCIES = host-pkgconf host-libconfuse diff --git a/bsp/buildroot/package/geoip/geoip.hash b/bsp/buildroot/package/geoip/geoip.hash index 2b1f7433..c2ddf390 100644 --- a/bsp/buildroot/package/geoip/geoip.hash +++ b/bsp/buildroot/package/geoip/geoip.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 b0e5a92200b5ab540d118983f7b7191caf4faf1ae879c44afa3ff2a2abcdb0f5 GeoIP-1.6.11.tar.gz +sha256 1dfb748003c5e4b7fd56ba8c4cd786633d5d6f409547584f6910398389636f80 GeoIP-1.6.12.tar.gz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/bsp/buildroot/package/geoip/geoip.mk b/bsp/buildroot/package/geoip/geoip.mk index 030c7b36..cbd42823 100644 --- a/bsp/buildroot/package/geoip/geoip.mk +++ b/bsp/buildroot/package/geoip/geoip.mk @@ -4,7 +4,7 @@ # ################################################################################ -GEOIP_VERSION = 1.6.11 +GEOIP_VERSION = 1.6.12 GEOIP_SOURCE = GeoIP-$(GEOIP_VERSION).tar.gz GEOIP_SITE = https://github.com/maxmind/geoip-api-c/releases/download/v$(GEOIP_VERSION) GEOIP_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/gerbera/Config.in b/bsp/buildroot/package/gerbera/Config.in new file mode 100644 index 00000000..e10f78b7 --- /dev/null +++ b/bsp/buildroot/package/gerbera/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_GERBERA + bool "gerbera" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17 optional + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_PACKAGE_LIBUPNP # libupnp18 + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBUPNP18 + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_ZLIB + help + A free media server. + Stream your media to devices on your home network. + + https://gerbera.io + +comment "gerbera needs a toolchain w/ C++, threads, gcc >= 7" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_PACKAGE_LIBUPNP + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 diff --git a/bsp/buildroot/package/gerbera/S99gerbera b/bsp/buildroot/package/gerbera/S99gerbera new file mode 100644 index 00000000..8bbd221c --- /dev/null +++ b/bsp/buildroot/package/gerbera/S99gerbera @@ -0,0 +1,52 @@ +#!/bin/sh + +DAEMON="gerbera" +PIDFILE="/var/run/$NAME.pid" + +GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/bin/$DAEMON" \ + -- $GERBERA_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + rm -f "$PIDFILE" + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature. + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/gerbera/config.xml b/bsp/buildroot/package/gerbera/config.xml new file mode 100644 index 00000000..fa990d15 --- /dev/null +++ b/bsp/buildroot/package/gerbera/config.xml @@ -0,0 +1,139 @@ + + + + + + + + + Gerbera + uuid:ac20d9b6-5c82-48e6-80de-436965fbe1d7 + /var/lib/gerbera + /usr/share/gerbera/web + + 1800 + + + gerbera.db + + + + + + + + + + * + + video + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + audio/L16 + no + yes + no + + + + + video/mpeg + yes + yes + yes + + + + + + diff --git a/bsp/buildroot/package/gerbera/gerbera.hash b/bsp/buildroot/package/gerbera/gerbera.hash new file mode 100644 index 00000000..bcac080c --- /dev/null +++ b/bsp/buildroot/package/gerbera/gerbera.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 5e40971c519eb322fe0111754cafa12d99c47c2ae7d0f9f1aebb19b06e74a912 gerbera-v1.3.0.tar.gz +sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md diff --git a/bsp/buildroot/package/gerbera/gerbera.mk b/bsp/buildroot/package/gerbera/gerbera.mk new file mode 100644 index 00000000..7ded7cec --- /dev/null +++ b/bsp/buildroot/package/gerbera/gerbera.mk @@ -0,0 +1,114 @@ +################################################################################ +# +# gerbera +# +################################################################################ + +GERBERA_VERSION = v1.3.0 +GERBERA_SITE = $(call github,gerbera,gerbera,$(GERBERA_VERSION)) +GERBERA_LICENSE = GPL-2.0 +GERBERA_LICENSE_FILES = LICENSE.md +GERBERA_DEPENDENCIES = \ + expat \ + host-pkgconf \ + libupnp18 \ + sqlite \ + util-linux \ + zlib +GERBERA_CONF_OPTS = \ + -DWITH_DEBUG=OFF \ + -DWITH_JS=OFF + +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GERBERA_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + +ifeq ($(BR2_PACKAGE_EXIV2),y) +GERBERA_DEPENDENCIES += exiv2 +GERBERA_CONF_OPTS += -DWITH_EXIV2=ON +else +GERBERA_CONF_OPTS += -DWITH_EXIV2=OFF +endif + +ifeq ($(BR2_PACKAGE_FFMPEG),y) +GERBERA_DEPENDENCIES += ffmpeg +GERBERA_CONF_OPTS += -DWITH_AVCODEC=ON +else +GERBERA_CONF_OPTS += -DWITH_AVCODEC=OFF +endif + +ifeq ($(BR2_PACKAGE_FILE),y) +GERBERA_DEPENDENCIES += file +GERBERA_CONF_OPTS += -DWITH_MAGIC=ON +else +GERBERA_CONF_OPTS += -DWITH_MAGIC=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +GERBERA_DEPENDENCIES += libcurl +GERBERA_CONF_OPTS += -DWITH_CURL=ON +else +GERBERA_CONF_OPTS += -DWITH_CURL=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +GERBERA_DEPENDENCIES += libexif +GERBERA_CONF_OPTS += -DWITH_EXIF=ON +else +GERBERA_CONF_OPTS += -DWITH_EXIF=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBICONV),y) +GERBERA_DEPENDENCIES += libiconv +endif + +ifeq ($(BR2_PACKAGE_MYSQL),y) +GERBERA_DEPENDENCIES += mysql +GERBERA_CONF_OPTS += -DWITH_MYSQL=ON +else +GERBERA_CONF_OPTS += -DWITH_MYSQL=OFF +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +GERBERA_DEPENDENCIES += systemd +GERBERA_CONF_OPTS += -DWITH_SYSTEMD=ON +else +GERBERA_CONF_OPTS += -DWITH_SYSTEMD=OFF +endif + +ifeq ($(BR2_PACKAGE_TAGLIB),y) +GERBERA_DEPENDENCIES += taglib +GERBERA_CONF_OPTS += -DWITH_TAGLIB=ON +else +GERBERA_CONF_OPTS += -DWITH_TAGLIB=OFF +endif + +# gerbera does not provide a default configuration file, it can be +# created during run time through --create-config: +# http://docs.gerbera.io/en/latest/config-overview.html#generating-configuration +# However, to have a correct home directory and UDN, install it ourself +define GERBERA_INSTALL_CONFIGURATION + $(INSTALL) -D -m 0644 package/gerbera/config.xml \ + $(TARGET_DIR)/etc/gerbera/config.xml +endef + +GERBERA_POST_INSTALL_TARGET_HOOKS += GERBERA_INSTALL_CONFIGURATION + +define GERBERA_USERS + gerbera -1 gerbera -1 * /var/lib/gerbera - - Gerbera user +endef + +define GERBERA_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/gerbera/S99gerbera \ + $(TARGET_DIR)/etc/init.d/S99gerbera +endef + +# gerbera.service is installed by cmake in $(TARGET_DIR)/usr/lib/systemd/system +define GERBERA_INSTALL_INIT_SYSTEMD + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/gerbera.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gerbera.service +endef + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch b/bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch new file mode 100644 index 00000000..7909cfec --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0002-Sanitize-op-stack-for-error-conditions.patch @@ -0,0 +1,176 @@ +From a1de1e6ab51ab37a17975aad1193f2523e7e7e84 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Wed, 5 Dec 2018 12:22:13 +0000 +Subject: [PATCH] Sanitize op stack for error conditions + +We save the stacks to an array and store the array for the error handler to +access. + +For SAFER, we traverse the array, and deep copy any op arrays (procedures). As +we make these copies, we check for operators that do *not* exist in systemdict, +when we find one, we replace the operator with a name object (of the form +"/--opname--"). + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 13b0a36f818 + + psi/int.mak | 3 +- + psi/interp.c | 8 ++++++ + psi/istack.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + psi/istack.h | 3 ++ + 4 files changed, 91 insertions(+), 1 deletion(-) + +diff --git a/psi/int.mak b/psi/int.mak +index 6ab5bf0069dd..6b349cb042dd 100644 +--- a/psi/int.mak ++++ b/psi/int.mak +@@ -204,7 +204,8 @@ $(PSOBJ)iparam.$(OBJ) : $(PSSRC)iparam.c $(GH)\ + $(PSOBJ)istack.$(OBJ) : $(PSSRC)istack.c $(GH) $(memory__h)\ + $(ierrors_h) $(gsstruct_h) $(gsutil_h)\ + $(ialloc_h) $(istack_h) $(istkparm_h) $(istruct_h) $(iutil_h) $(ivmspace_h)\ +- $(store_h) $(INT_MAK) $(MAKEDIRS) ++ $(store_h) $(icstate_h) $(iname_h) $(dstack_h) $(idict_h) \ ++ $(INT_MAK) $(MAKEDIRS) + $(PSCC) $(PSO_)istack.$(OBJ) $(C_) $(PSSRC)istack.c + + $(PSOBJ)iutil.$(OBJ) : $(PSSRC)iutil.c $(GH) $(math__h) $(memory__h) $(string__h)\ +diff --git a/psi/interp.c b/psi/interp.c +index 6dc0ddae1b3c..aa5779c51420 100644 +--- a/psi/interp.c ++++ b/psi/interp.c +@@ -761,6 +761,7 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr) + uint size = ref_stack_count(pstack) - skip; + uint save_space = ialloc_space(idmemory); + int code, i; ++ ref *safety, *safe; + + if (size > 65535) + size = 65535; +@@ -778,6 +779,13 @@ copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip, ref * arr) + make_null(&arr->value.refs[i]); + } + } ++ if (pstack == &o_stack && dict_find_string(systemdict, "SAFETY", &safety) > 0 && ++ dict_find_string(safety, "safe", &safe) > 0 && r_has_type(safe, t_boolean) && ++ safe->value.boolval == true) { ++ code = ref_stack_array_sanitize(i_ctx_p, arr, arr); ++ if (code < 0) ++ return code; ++ } + ialloc_set_space(idmemory, save_space); + return code; + } +diff --git a/psi/istack.c b/psi/istack.c +index 8fe151fa5628..f1a3e511534d 100644 +--- a/psi/istack.c ++++ b/psi/istack.c +@@ -27,6 +27,10 @@ + #include "iutil.h" + #include "ivmspace.h" /* for local/global test */ + #include "store.h" ++#include "icstate.h" ++#include "iname.h" ++#include "dstack.h" ++#include "idict.h" + + /* Forward references */ + static void init_block(ref_stack_t *pstack, const ref *pblock_array, +@@ -294,6 +298,80 @@ ref_stack_store_check(const ref_stack_t *pstack, ref *parray, uint count, + return 0; + } + ++int ++ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr) ++{ ++ int i, code; ++ ref obj, arr2; ++ ref *pobj2; ++ gs_memory_t *mem = (gs_memory_t *)idmemory->current; ++ ++ if (!r_is_array(sarr) || !r_has_type(darr, t_array)) ++ return_error(gs_error_typecheck); ++ ++ for (i = 0; i < r_size(sarr); i++) { ++ code = array_get(mem, sarr, i, &obj); ++ if (code < 0) ++ make_null(&obj); ++ switch(r_type(&obj)) { ++ case t_operator: ++ { ++ int index = op_index(&obj); ++ ++ if (index > 0 && index < op_def_count) { ++ const byte *data = (const byte *)(op_index_def(index)->oname + 1); ++ if (dict_find_string(systemdict, (const char *)data, &pobj2) <= 0) { ++ byte *s = gs_alloc_bytes(mem, strlen((char *)data) + 5, "ref_stack_array_sanitize"); ++ if (s) { ++ s[0] = '\0'; ++ strcpy((char *)s, "--"); ++ strcpy((char *)s + 2, (char *)data); ++ strcpy((char *)s + strlen((char *)data) + 2, "--"); ++ } ++ else { ++ s = (byte *)data; ++ } ++ code = name_ref(imemory, s, strlen((char *)s), &obj, 1); ++ if (code < 0) make_null(&obj); ++ if (s != data) ++ gs_free_object(mem, s, "ref_stack_array_sanitize"); ++ } ++ } ++ else { ++ make_null(&obj); ++ } ++ ref_assign(darr->value.refs + i, &obj); ++ break; ++ } ++ case t_array: ++ case t_shortarray: ++ case t_mixedarray: ++ { ++ int attrs = r_type_attrs(&obj) & (a_write | a_read | a_execute | a_executable); ++ /* We only want to copy executable arrays */ ++ if (attrs & (a_execute | a_executable)) { ++ code = ialloc_ref_array(&arr2, attrs, r_size(&obj), "ref_stack_array_sanitize"); ++ if (code < 0) { ++ make_null(&arr2); ++ } ++ else { ++ code = ref_stack_array_sanitize(i_ctx_p, &obj, &arr2); ++ } ++ ref_assign(darr->value.refs + i, &arr2); ++ } ++ else { ++ ref_assign(darr->value.refs + i, &obj); ++ } ++ break; ++ } ++ default: ++ ref_assign(darr->value.refs + i, &obj); ++ } ++ } ++ return 0; ++} ++ ++ + /* + * Store the top 'count' elements of a stack, starting 'skip' elements below + * the top, into an array, with or without store/undo checking. age=-1 for +diff --git a/psi/istack.h b/psi/istack.h +index 051dcbe216cf..54be405adfb3 100644 +--- a/psi/istack.h ++++ b/psi/istack.h +@@ -129,6 +129,9 @@ int ref_stack_store(const ref_stack_t *pstack, ref *parray, uint count, + uint skip, int age, bool check, + gs_dual_memory_t *idmem, client_name_t cname); + ++int ++ref_stack_array_sanitize(i_ctx_t *i_ctx_p, ref *sarr, ref *darr); ++ + /* + * Pop the top N elements off a stack. + * The number must not exceed the number of elements in use. +-- +2.20.1 + diff --git a/bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch b/bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch new file mode 100644 index 00000000..f4c1db11 --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0003-Any-transient-procedures-that-call-.force-operators.patch @@ -0,0 +1,441 @@ +From f0397dbfbe5eea325613ff375b30eb0db5551ffe Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Thu, 13 Dec 2018 15:28:34 +0000 +Subject: [PATCH] Any transient procedures that call .force* operators + +(i.e. for conditionals or loops) make them executeonly. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 2db98f9c661 + + Resource/Init/gs_diskn.ps | 2 +- + Resource/Init/gs_dps1.ps | 4 ++-- + Resource/Init/gs_fntem.ps | 4 ++-- + Resource/Init/gs_fonts.ps | 12 ++++++------ + Resource/Init/gs_init.ps | 4 ++-- + Resource/Init/gs_lev2.ps | 11 ++++++----- + Resource/Init/gs_pdfwr.ps | 2 +- + Resource/Init/gs_res.ps | 4 ++-- + Resource/Init/gs_setpd.ps | 2 +- + Resource/Init/pdf_base.ps | 13 ++++++++----- + Resource/Init/pdf_draw.ps | 16 +++++++++------- + Resource/Init/pdf_font.ps | 6 +++--- + Resource/Init/pdf_main.ps | 4 ++-- + Resource/Init/pdf_ops.ps | 7 ++++--- + 14 files changed, 49 insertions(+), 42 deletions(-) + +diff --git a/Resource/Init/gs_diskn.ps b/Resource/Init/gs_diskn.ps +index fd694bc44b5a..8bf20542040d 100644 +--- a/Resource/Init/gs_diskn.ps ++++ b/Resource/Init/gs_diskn.ps +@@ -51,7 +51,7 @@ systemdict begin + mark 5 1 roll ] mark exch { { } forall } forall ] + //systemdict /.searchabledevs 2 index .forceput + exch .setglobal +- } ++ } executeonly + if + } .bind executeonly odef % must be bound and hidden for .forceput + +diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps +index ec5db61b9f03..4fae2839940c 100644 +--- a/Resource/Init/gs_dps1.ps ++++ b/Resource/Init/gs_dps1.ps +@@ -78,7 +78,7 @@ level2dict begin + .currentglobal + { % Current mode is global; delete from local directory too. + //systemdict /LocalFontDirectory .knownget +- { 1 index .forceundef } % LocalFontDirectory is readonly ++ { 1 index .forceundef } executeonly % LocalFontDirectory is readonly + if + } + { % Current mode is local; if there was a shadowed global +@@ -126,7 +126,7 @@ level2dict begin + } + ifelse + } forall +- pop counttomark 2 idiv { .forceundef } repeat pop % readonly ++ pop counttomark 2 idiv { .forceundef } executeonly repeat pop % readonly + } + if + //SharedFontDirectory exch .forcecopynew pop +diff --git a/Resource/Init/gs_fntem.ps b/Resource/Init/gs_fntem.ps +index c1f7651f18cc..6eb672a6840e 100644 +--- a/Resource/Init/gs_fntem.ps ++++ b/Resource/Init/gs_fntem.ps +@@ -401,12 +401,12 @@ currentdict end def + .forceput % FontInfo can be read-only. + pop % bool + exit +- } if ++ } executeonly if + dup /FontInfo get % bool + /GlyphNames2Unicode /Unicode /Decoding findresource + .forceput % FontInfo can be read-only. + exit +- } loop ++ } executeonly loop + exch setglobal + } .bind executeonly odef % must be bound and hidden for .forceput + +diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps +index 803faca4918d..290da0cd6819 100644 +--- a/Resource/Init/gs_fonts.ps ++++ b/Resource/Init/gs_fonts.ps +@@ -374,7 +374,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + /.setnativefontmapbuilt { % set whether we've been run + dup type /booleantype eq { + systemdict exch /.nativefontmapbuilt exch .forceput +- } ++ } executeonly + {pop} + ifelse + } .bind executeonly odef +@@ -1007,11 +1007,11 @@ $error /SubstituteFont { } put + { 2 index gcheck currentglobal + 2 copy eq { + pop pop .forceput +- } { ++ } executeonly { + 5 1 roll setglobal + dup length string copy + .forceput setglobal +- } ifelse ++ } executeonly ifelse + } .bind executeonly odef % must be bound and hidden for .forceput + + % Attempt to load a font from a file. +@@ -1084,7 +1084,7 @@ $error /SubstituteFont { } put + .FontDirectory 3 index .forceundef % readonly + 1 index (r) file .loadfont .FontDirectory exch + /.setglobal .systemvar exec +- } ++ } executeonly + { .loadfont .FontDirectory + } + ifelse +@@ -1105,7 +1105,7 @@ $error /SubstituteFont { } put + dup 3 index .fontknownget + { dup /PathLoad 4 index .putgstringcopy + 4 1 roll pop pop pop //true exit +- } if ++ } executeonly if + + % Maybe the file had a different FontName. + % See if we can get a FontName from the file, and if so, +@@ -1134,7 +1134,7 @@ $error /SubstituteFont { } put + ifelse % Stack: origfontname fontdict + exch pop //true exit + % Stack: fontdict +- } ++ } executeonly + if pop % Stack: origfontname fontdirectory path + } + if pop pop % Stack: origfontname +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps +index d733124b96d1..56c0bd268b53 100644 +--- a/Resource/Init/gs_init.ps ++++ b/Resource/Init/gs_init.ps +@@ -2357,7 +2357,7 @@ SAFER { .setsafeglobal } if + % Update the copy of the user parameters. + mark .currentuserparams counttomark 2 idiv { + userparams 3 1 roll .forceput % userparams is read-only +- } repeat pop ++ } executeonly repeat pop + % Turn on idiom recognition, if available. + currentuserparams /IdiomRecognition known { + /IdiomRecognition //true .definepsuserparam +@@ -2376,7 +2376,7 @@ SAFER { .setsafeglobal } if + % Remove real system params from pssystemparams. + mark .currentsystemparams counttomark 2 idiv { + pop pssystemparams exch .forceundef +- } repeat pop ++ } executeonly repeat pop + } if + + % Set up AlignToPixels : +diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps +index 44fe61956659..0f0d57331c23 100644 +--- a/Resource/Init/gs_lev2.ps ++++ b/Resource/Init/gs_lev2.ps +@@ -154,7 +154,8 @@ end + % protect top level of parameters that we copied + dup type dup /arraytype eq exch /stringtype eq or { readonly } if + /userparams .systemvar 3 1 roll .forceput % userparams is read-only +- } { ++ } executeonly ++ { + pop pop + } ifelse + } forall +@@ -224,7 +225,7 @@ end + % protect top level parameters that we copied + dup type dup /arraytype eq exch /stringtype eq or { readonly } if + //pssystemparams 3 1 roll .forceput % pssystemparams is read-only +- } ++ } executeonly + { pop pop + } + ifelse +@@ -934,7 +935,7 @@ mark + dup /PaintProc get + 1 index /Implementation known not { + 1 index dup /Implementation //null .forceput readonly pop +- } if ++ } executeonly if + exec + }.bind odef + +@@ -958,7 +959,7 @@ mark + dup /PaintProc get + 1 index /Implementation known not { + 1 index dup /Implementation //null .forceput readonly pop +- } if ++ } executeonly if + /UNROLLFORMS where {/UNROLLFORMS get}{false}ifelse not + %% [CTM] <
            > PaintProc .beginform - + { +@@ -1005,7 +1006,7 @@ mark + %% Form dictioanry using the /Implementation key). + 1 dict dup /FormID 4 -1 roll put + 1 index exch /Implementation exch .forceput readonly pop +- } ++ } executeonly + ifelse + } + { +diff --git a/Resource/Init/gs_pdfwr.ps b/Resource/Init/gs_pdfwr.ps +index 58e75d3a4831..b425103d1cf3 100644 +--- a/Resource/Init/gs_pdfwr.ps ++++ b/Resource/Init/gs_pdfwr.ps +@@ -650,7 +650,7 @@ currentdict /.pdfmarkparams .undef + } ifelse + } bind .makeoperator .forceput + systemdict /.pdf_hooked_DSC_Creator //true .forceput +- } if ++ } executeonly if + pop + } if + } { +diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps +index 8eb8bb0e5829..d9b34599e7c2 100644 +--- a/Resource/Init/gs_res.ps ++++ b/Resource/Init/gs_res.ps +@@ -152,7 +152,7 @@ setglobal + % use .forceput / .forcedef later to replace the dummy, + % empty .Instances dictionary with the real one later. + readonly +- } { ++ }{ + /defineresource cvx /typecheck signaloperror + } ifelse + } bind executeonly odef +@@ -424,7 +424,7 @@ status { + % As noted above, Category dictionaries are read-only, + % so we have to use .forcedef here. + /.Instances 1 index .forcedef % Category dict is read-only +- } if ++ } executeonly if + } + { .LocalInstances dup //.emptydict eq + { pop 3 dict localinstancedict Category 2 index put +diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps +index e22597ebb5f3..7875d1f2f131 100644 +--- a/Resource/Init/gs_setpd.ps ++++ b/Resource/Init/gs_setpd.ps +@@ -634,7 +634,7 @@ NOMEDIAATTRS { + SETPDDEBUG { (Rolling back.) = pstack flush } if + 3 index 2 index 3 -1 roll .forceput + 4 index 1 index .knownget +- { 4 index 3 1 roll .forceput } ++ { 4 index 3 1 roll .forceput } executeonly + { 3 index exch .undef } + ifelse + } bind executeonly odef +diff --git a/Resource/Init/pdf_base.ps b/Resource/Init/pdf_base.ps +index b45e9803165e..73127296c221 100644 +--- a/Resource/Init/pdf_base.ps ++++ b/Resource/Init/pdf_base.ps +@@ -130,26 +130,29 @@ currentdict /num-chars-dict .undef + + /.pdfexectoken { % .pdfexectoken ? + PDFDEBUG { +- pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } if ++ pdfdict /PDFSTEPcount known not { pdfdict /PDFSTEPcount 1 .forceput } executeonly if + PDFSTEP { + pdfdict /PDFtokencount 2 copy .knownget { 1 add } { 1 } ifelse .forceput + PDFSTEPcount 1 gt { + pdfdict /PDFSTEPcount PDFSTEPcount 1 sub .forceput +- } { ++ } executeonly ++ { + dup ==only + ( step # ) print PDFtokencount =only + ( ? ) print flush 1 //false .outputpage + (%stdin) (r) file 255 string readline { + token { + exch pop pdfdict /PDFSTEPcount 3 -1 roll .forceput +- } { ++ } executeonly ++ { + pdfdict /PDFSTEPcount 1 .forceput +- } ifelse % token ++ } executeonly ifelse % token + } { + pop /PDFSTEP //false def % EOF on stdin + } ifelse % readline + } ifelse % PDFSTEPcount > 1 +- } { ++ } executeonly ++ { + dup ==only () = flush + } ifelse % PDFSTEP + } if % PDFDEBUG +diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps +index 6b0ba93e1e73..40c6ac80acce 100644 +--- a/Resource/Init/pdf_draw.ps ++++ b/Resource/Init/pdf_draw.ps +@@ -1118,14 +1118,14 @@ currentdict end readonly def + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } + { + currentglobal pdfdict gcheck .setglobal + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + end + } ifelse + } loop +@@ -1141,14 +1141,14 @@ currentdict end readonly def + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } + { + currentglobal pdfdict gcheck .setglobal + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } if + pop + +@@ -2350,9 +2350,10 @@ currentdict /last-ditch-bpc-csp undef + /IncrementAppearanceNumber { + pdfdict /AppearanceNumber .knownget { + 1 add pdfdict /AppearanceNumber 3 -1 roll .forceput +- }{ ++ } executeonly ++ { + pdfdict /AppearanceNumber 0 .forceput +- } ifelse ++ } executeonly ifelse + }bind executeonly odef + + /MakeAppearanceName { +@@ -2510,7 +2511,8 @@ currentdict /last-ditch-bpc-csp undef + %% want to preserve it. + pdfdict /.PreservePDFForm false .forceput + /q cvx /execform cvx 5 -2 roll +- }{ ++ } executeonly ++ { + /q cvx /PDFexecform cvx 5 -2 roll + } ifelse + +diff --git a/Resource/Init/pdf_font.ps b/Resource/Init/pdf_font.ps +index bea9ea95ad1d..4cd62b9d9bb4 100644 +--- a/Resource/Init/pdf_font.ps ++++ b/Resource/Init/pdf_font.ps +@@ -714,7 +714,7 @@ currentdict end readonly def + pop pop pop + currentdict /.stackdepth .forceundef + currentdict /.dstackdepth .forceundef +- } ++ } executeonly + {pop pop pop} + ifelse + +@@ -1232,7 +1232,7 @@ currentdict /eexec_pdf_param_dict .undef + (\n **** Warning: Type 3 glyph has unbalanced q/Q operators \(too many q's\)\n Output may be incorrect.\n) + pdfformatwarning + pdfdict /.Qqwarning_issued //true .forceput +- } if ++ } executeonly if + Q + } repeat + Q +@@ -2016,7 +2016,7 @@ currentdict /CMap_read_dict undef + /CIDFallBack /CIDFont findresource + } if + exit +- } if ++ } executeonly if + } if + } if + +diff --git a/Resource/Init/pdf_main.ps b/Resource/Init/pdf_main.ps +index 00da47a48711..37e69b39ac98 100644 +--- a/Resource/Init/pdf_main.ps ++++ b/Resource/Init/pdf_main.ps +@@ -2701,14 +2701,14 @@ currentdict /PDF2PS_matrix_key undef + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } + { + currentglobal pdfdict gcheck .setglobal + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } if + } if + pop +diff --git a/Resource/Init/pdf_ops.ps b/Resource/Init/pdf_ops.ps +index 8672d617f363..aa0964139a56 100644 +--- a/Resource/Init/pdf_ops.ps ++++ b/Resource/Init/pdf_ops.ps +@@ -184,14 +184,14 @@ currentdict /gput_always_allow .undef + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } + { + currentglobal pdfdict gcheck .setglobal + pdfdict /.Qqwarning_issued //true .forceput + .setglobal + pdfformaterror +- } ifelse ++ } executeonly ifelse + } if + } bind executeonly odef + +@@ -439,7 +439,8 @@ currentdict /gput_always_allow .undef + dup type /booleantype eq { + .currentSMask type /dicttype eq { + .currentSMask /Processed 2 index .forceput +- } { ++ } executeonly ++ { + .setSMask + }ifelse + }{ +-- +2.20.1 + diff --git a/bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch b/bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch new file mode 100644 index 00000000..65ebd44d --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0004-Bug700317-Fix-logic-for-an-older-change.patch @@ -0,0 +1,31 @@ +From af9a9dceb7be7df743d55c4d078a1ae846b6f556 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Sat, 15 Dec 2018 09:08:32 +0000 +Subject: [PATCH] Bug700317: Fix logic for an older change + +Unlike almost every other function in gs, dict_find_string() returns 1 on +success 0 or <0 on failure. The logic for this case was wrong. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 99f13091a3 + + psi/interp.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/psi/interp.c b/psi/interp.c +index aa5779c51420..f6c45bbe24dc 100644 +--- a/psi/interp.c ++++ b/psi/interp.c +@@ -703,7 +703,7 @@ again: + * i.e. it's an internal operator we have hidden + */ + code = dict_find_string(systemdict, (const char *)bufptr, &tobj); +- if (code < 0) { ++ if (code <= 0) { + buf[0] = buf[1] = buf[rlen + 2] = buf[rlen + 3] = '-'; + rlen += 4; + bufptr = buf; +-- +2.20.1 + diff --git a/bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch b/bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch new file mode 100644 index 00000000..f5a70ac4 --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0005-Harden-some-uses-of-.force-operators.patch @@ -0,0 +1,135 @@ +From b197ea0e528c20b7ee67785c50b4e06e0aa990f8 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Tue, 18 Dec 2018 10:42:10 +0000 +Subject: [PATCH] Harden some uses of .force* operators + +by adding a few immediate evalutions + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 59d8f4deef90 + + Resource/Init/gs_dps1.ps | 4 ++-- + Resource/Init/gs_fonts.ps | 20 ++++++++++---------- + Resource/Init/gs_init.ps | 6 +++--- + 3 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps +index 4fae2839940c..b75ea14e77a3 100644 +--- a/Resource/Init/gs_dps1.ps ++++ b/Resource/Init/gs_dps1.ps +@@ -74,7 +74,7 @@ level2dict begin + } odef + % undefinefont has to take local/global VM into account. + /undefinefont % undefinefont - +- { .FontDirectory 1 .argindex .forceundef % FontDirectory is readonly ++ { //.FontDirectory 1 .argindex .forceundef % FontDirectory is readonly + .currentglobal + { % Current mode is global; delete from local directory too. + //systemdict /LocalFontDirectory .knownget +@@ -85,7 +85,7 @@ level2dict begin + % definition, copy it into the local directory. + //systemdict /SharedFontDirectory .knownget + { 1 index .knownget +- { .FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly ++ { //.FontDirectory 2 index 3 -1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse } % readonly + if + } + if +diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps +index 290da0cd6819..c13a2fcc2d43 100644 +--- a/Resource/Init/gs_fonts.ps ++++ b/Resource/Init/gs_fonts.ps +@@ -516,7 +516,7 @@ buildfontdict 3 /.buildfont3 cvx put + if + } + if +- dup .FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly ++ dup //.FontDirectory 4 -2 roll { .growput } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly + % If the font originated as a resource, register it. + currentfile .currentresourcefile eq { dup .registerfont } if + readonly +@@ -943,7 +943,7 @@ $error /SubstituteFont { } put + % Try to find a font using only the present contents of Fontmap. + /.tryfindfont { % .tryfindfont true + % .tryfindfont false +- .FontDirectory 1 index .fontknownget ++ //.FontDirectory 1 index .fontknownget + { % Already loaded + exch pop //true + } +@@ -975,7 +975,7 @@ $error /SubstituteFont { } put + { % Font with a procedural definition + exec % The procedure will load the font. + % Check to make sure this really happened. +- .FontDirectory 1 index .knownget ++ //.FontDirectory 1 index .knownget + { exch pop //true exit } + if + } +@@ -1081,11 +1081,11 @@ $error /SubstituteFont { } put + % because it's different depending on language level. + .currentglobal exch /.setglobal .systemvar exec + % Remove the fake definition, if any. +- .FontDirectory 3 index .forceundef % readonly +- 1 index (r) file .loadfont .FontDirectory exch ++ //.FontDirectory 3 index .forceundef % readonly ++ 1 index (r) file .loadfont //.FontDirectory exch + /.setglobal .systemvar exec + } executeonly +- { .loadfont .FontDirectory ++ { .loadfont //.FontDirectory + } + ifelse + % Stack: fontname fontfilename fontdirectory +@@ -1119,8 +1119,8 @@ $error /SubstituteFont { } put + % Stack: origfontname fontdirectory filefontname fontdict + 3 -1 roll pop + % Stack: origfontname filefontname fontdict +- dup /FontName get dup FontDirectory exch .forceundef +- GlobalFontDirectory exch .forceundef ++ dup /FontName get dup //.FontDirectory exch .forceundef ++ /GlobalFontDirectory .systemvar exch .forceundef + dup length dict .copydict dup 3 index /FontName exch put + 2 index exch definefont + exch +@@ -1176,10 +1176,10 @@ currentdict /.putgstringcopy .undef + { + { + pop dup type /stringtype eq { cvn } if +- .FontDirectory 1 index known not { ++ //.FontDirectory 1 index known not { + 2 dict dup /FontName 3 index put + dup /FontType 1 put +- .FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly ++ //.FontDirectory 3 1 roll { put } systemdict /superexec known {//superexec}{1183615869 internaldict /superexec get exec} ifelse % readonly + } { + pop + } ifelse +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps +index 56c0bd268b53..d9a0829f7f97 100644 +--- a/Resource/Init/gs_init.ps ++++ b/Resource/Init/gs_init.ps +@@ -1168,8 +1168,8 @@ errordict /unknownerror .undef + }ifelse + }forall + noaccess pop +- systemdict /.setsafeerrors .forceundef +- systemdict /.SAFERERRORLIST .forceundef ++ //systemdict /.setsafeerrors .forceundef ++ //systemdict /.SAFERERRORLIST .forceundef + } bind executeonly odef + + SAFERERRORS {.setsafererrors} if +@@ -2114,7 +2114,7 @@ currentdict /tempfilepaths undef + + /.locksafe { + .locksafe_userparams +- systemdict /getenv {pop //false} .forceput ++ //systemdict /getenv {pop //false} .forceput + % setpagedevice has the side effect of clearing the page, but + % we will just document that. Using setpagedevice keeps the device + % properties and pagedevice .LockSafetyParams in agreement even +-- +2.20.1 + diff --git a/bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch b/bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch new file mode 100644 index 00000000..4bbdef9d --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0006-Undefine-a-bunch-of-gs_fonts.ps-specific-procs.patch @@ -0,0 +1,587 @@ +From 5628be1c41d23298aa5fce2f6dd48e2eb81f4be1 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Wed, 9 Jan 2019 14:24:07 +0000 +Subject: [PATCH] Undefine a bunch of gs_fonts.ps specific procs + +Also reorder and add some immediate evaluation, so it still works with the +undefining. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 2768d1a6dddb + + Resource/Init/gs_dps1.ps | 3 +- + Resource/Init/gs_fonts.ps | 275 +++++++++++++++++++++----------------- + Resource/Init/gs_res.ps | 6 +- + 3 files changed, 156 insertions(+), 128 deletions(-) + +diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps +index b75ea14e77a3..8700c8cb304b 100644 +--- a/Resource/Init/gs_dps1.ps ++++ b/Resource/Init/gs_dps1.ps +@@ -67,7 +67,8 @@ level2dict begin + + /selectfont % selectfont - + { +- { 1 .argindex findfont ++ { ++ 1 .argindex findfont + 1 index dup type /arraytype eq { makefont } { scalefont } ifelse + setfont pop pop + } stopped { /selectfont .systemvar $error /errorname get signalerror } if +diff --git a/Resource/Init/gs_fonts.ps b/Resource/Init/gs_fonts.ps +index c13a2fcc2d43..056223544340 100644 +--- a/Resource/Init/gs_fonts.ps ++++ b/Resource/Init/gs_fonts.ps +@@ -100,7 +100,7 @@ userdict /.nativeFontmap .FontDirectory maxlength dict put + { 2 index token not + { (Fontmap entry for ) print 1 index =only + ( ends prematurely! Giving up.) = flush +- {.loadFontmap} 0 get 1 .quit ++ {//.loadFontmap exec} 0 get 1 .quit + } if + dup /; eq { pop 3 index 3 1 roll .growput exit } if + pop +@@ -202,6 +202,14 @@ NOFONTPATH { /FONTPATH () def } if + { pop } + { /FONTPATH (GS_FONTPATH) getenv not { () } if def } + ifelse ++ ++% The following are dummy definitions that, if we have a FONTPATH, will ++% be replaced in the following section. ++% They are here so immediately evaulation will work, and allow them to ++% undefined at the bottom of the file. ++/.scanfontbegin{} bind def ++/.scanfontdir {} bind def ++ + FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + /FONTPATH [ FONTPATH .pathlist ] def + +@@ -242,12 +250,12 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + /.scanfontbegin + { % Construct the table of all file names already in Fontmap. + currentglobal //true setglobal +- .scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength ++ //.scanfontdict dup maxlength Fontmap length 2 add .max .setmaxlength + Fontmap + { exch pop + { dup type /stringtype eq +- { .splitfilename pop .fonttempstring copy .lowerstring cvn +- .scanfontdict exch //true put ++ { //.splitfilename exec pop //.fonttempstring copy //.lowerstring exec cvn ++ //.scanfontdict exch //true put + } + { pop + } +@@ -280,9 +288,9 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + /txt //true + .dicttomark def + /.scan1fontstring 8192 string def +-% %%BeginFont: is not per Adobe documentation, but a few fonts have it. ++% BeginFont: is not per Adobe documentation, but a few fonts have it. + /.scanfontheaders [(%!PS-Adobe*) (%!FontType*) (%%BeginFont:*)] def +-0 .scanfontheaders { length .max } forall 6 add % extra for PFB header ++0 //.scanfontheaders { length .max } forall 6 add % extra for PFB header + /.scan1fontfirst exch string def + /.scanfontdir % .scanfontdir - + { currentglobal exch //true setglobal +@@ -291,10 +299,10 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + 0 0 0 4 -1 roll % found scanned files + { % stack: + exch 1 add exch % increment filecount +- dup .splitfilename .fonttempstring copy .lowerstring ++ dup //.splitfilename exec //.fonttempstring copy //.lowerstring exec + % stack: + % +- .scanfontskip exch known exch .scanfontdict exch known or ++ //.scanfontskip exch known exch //.scanfontdict exch known or + { pop + % stack: + } +@@ -309,7 +317,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + % On some platforms, the file operator will open directories, + % but an error will occur if we try to read from one. + % Handle this possibility here. +- dup .scan1fontfirst { readstring } .internalstopped ++ dup //.scan1fontfirst { readstring } .internalstopped + { pop pop () } + { pop } + ifelse +@@ -322,7 +330,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + { dup length 6 sub 6 exch getinterval } + if + % Check for font file headers. +- //false .scanfontheaders ++ //false //.scanfontheaders + { 2 index exch .stringmatch or + } + forall exch pop +@@ -335,7 +343,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + { exch copystring exch + DEBUG { ( ) print dup =only flush } if + 1 index .definenativefontmap +- .splitfilename pop //true .scanfontdict 3 1 roll .growput ++ //.splitfilename exec pop //true //.scanfontdict 3 1 roll .growput + % Increment fontcount. + 3 -1 roll 1 add 3 1 roll + } +@@ -352,7 +360,7 @@ FONTPATH length 0 eq { (%END FONTPATH) .skipeof } if + } + ifelse + } +- .scan1fontstring filenameforall ++ //.scan1fontstring filenameforall + QUIET + { pop pop pop } + { ( ) print =only ( files, ) print =only ( scanned, ) print +@@ -422,7 +430,6 @@ systemdict /NONATIVEFONTMAP known .setnativefontmapbuilt + //true .setnativefontmapbuilt + } ifelse + } bind def +-currentdict /.setnativefontmapbuilt .forceundef + + % Create the dictionary that registers the .buildfont procedure + % (called by definefont) for each FontType. +@@ -526,7 +533,8 @@ buildfontdict 3 /.buildfont3 cvx put + % We use this only for explicitly aliased fonts, not substituted fonts: + % we think this matches the observed behavior of Adobe interpreters. + /.aliasfont % .aliasfont +- { .currentglobal 3 1 roll dup .gcheck .setglobal ++ { ++ currentglobal 3 1 roll dup gcheck setglobal + % + dup length 2 add dict % + dup 3 -1 roll % +@@ -541,7 +549,7 @@ buildfontdict 3 /.buildfont3 cvx put + % whose FontName is a local non-string, if someone passed a + % garbage value to findfont. In this case, just don't + % call definefont at all. +- 2 index dup type /stringtype eq exch .gcheck or 1 index .gcheck not or ++ 2 index dup type /stringtype eq exch gcheck or 1 index gcheck not or + { pop % + 1 index dup type /stringtype eq { cvn } if + % +@@ -566,10 +574,11 @@ buildfontdict 3 /.buildfont3 cvx put + % Don't bind in definefont, since Level 2 redefines it. + /definefont .systemvar exec + } +- { /findfont cvx {.completefont} .errorexec pop exch pop ++ { ++ /findfont cvx {.completefont} //.errorexec exec pop exch pop + } + ifelse +- exch .setglobal ++ exch setglobal + } odef % so findfont will bind it + + % Define .loadfontfile for loading a font. If we recognize Type 1 and/or +@@ -669,10 +678,19 @@ buildfontdict 3 /.buildfont3 cvx put + [(Cn) 4] [(Cond) 4] [(Narrow) 4] [(Pkg) 4] [(Compr) 4] + [(Serif) 8] [(Sans) -8] + ] readonly def ++ ++/.fontnamestring { % .fontnamestring ++ dup type dup /nametype eq { ++ pop .namestring ++ } { ++ /stringtype ne { pop () } if ++ } ifelse ++} bind def ++ + /.fontnameproperties { % .fontnameproperties + % +- .fontnamestring +- .substituteproperties { ++ //.fontnamestring exec ++ //.substituteproperties { + 2 copy 0 get search { + pop pop pop dup length 1 sub 1 exch getinterval 3 -1 roll exch { + dup 0 ge { or } { neg not and } ifelse +@@ -710,13 +728,7 @@ buildfontdict 3 /.buildfont3 cvx put + % .nametostring + dup type /nametype eq { .namestring } if + } bind def +-/.fontnamestring { % .fontnamestring +- dup type dup /nametype eq { +- pop .namestring +- } { +- /stringtype ne { pop () } if +- } ifelse +-} bind def ++ + /.substitutefontname { % .substitutefontname + % + % Look for properties and/or a face name in the font name. +@@ -724,7 +736,7 @@ buildfontdict 3 /.buildfont3 cvx put + % base font; otherwise, use the default font. + % Note that the "substituted" font name may be the same as + % the requested one; the caller must check this. +- exch .fontnamestring { ++ exch //.fontnamestring exec { + defaultfontname /Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique + /Helvetica-Narrow /Helvetica-Narrow-Oblique + /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique +@@ -734,12 +746,12 @@ buildfontdict 3 /.buildfont3 cvx put + } 3 1 roll + % Stack: facelist properties fontname + % Look for a face name. +- .substitutefaces { ++ //.substitutefaces { + 2 copy 0 get search { + pop pop pop + % Stack: facelist properties fontname [(pattern) family properties] + dup 2 get 4 -1 roll or 3 1 roll +- 1 get .substitutefamilies exch get ++ 1 get //.substitutefamilies exch get + 4 -1 roll pop 3 1 roll + } { + pop pop +@@ -748,7 +760,7 @@ buildfontdict 3 /.buildfont3 cvx put + 1 index length mod get exec + } bind def + /.substitutefont { % .substitutefont +- dup 0 exch .fontnameproperties .substitutefontname ++ dup 0 exch //.fontnameproperties exec .substitutefontname + % Only accept fonts known in the Fontmap. + Fontmap 1 index known not + { +@@ -814,7 +826,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if + counttomark 1 sub { .aliasfont } repeat end + % mark + exch pop exch pop +-} odef ++} bind odef + /findfont { + .findfont + } bind def +@@ -860,7 +872,7 @@ FAKEFONTS not { (%END FAKEFONTS) .skipeof } if + } { + dup .substitutefont + 2 copy eq { pop defaultfontname } if +- .checkalias ++ //.checkalias exec + QUIET not { + SHORTERRORS { + (%%[) print 1 index =only +@@ -886,8 +898,8 @@ $error /SubstituteFont { } put + //null 0 1 FONTPATH length 1 sub { + FONTPATH 1 index get //null ne { exch pop exit } if pop + } for dup //null ne { +- dup 0 eq { .scanfontbegin } if +- FONTPATH 1 index get .scanfontdir ++ dup 0 eq { //.scanfontbegin exec} if ++ FONTPATH 1 index get //.scanfontdir exec + FONTPATH exch //null put //true + } { + pop //false +@@ -897,11 +909,10 @@ $error /SubstituteFont { } put + % scanning of FONTPATH. + /.dofindfont { % mark .dofindfont % mark ... + .tryfindfont not { +- + % We didn't find the font. If we haven't scanned + % all the directories in FONTPATH, scan the next one + % now and look for the font again. +- .scannextfontdir { ++ //.scannextfontdir exec { + % Start over with an empty alias list. + counttomark 1 sub { pop } repeat % mark + .dofindfont +@@ -927,6 +938,7 @@ $error /SubstituteFont { } put + } if + % Substitute for the font. Don't alias. + % Same stack as at the beginning of .dofindfont. ++ + $error /SubstituteFont get exec + % + % igorm: I guess the surrounding code assumes that .stdsubstfont +@@ -935,72 +947,11 @@ $error /SubstituteFont { } put + % used in .dofindfont and through .stdsubstfont + % just to represent a simple iteration, + % which accumulates the aliases after the mark. +- .stdsubstfont ++ //.stdsubstfont exec + } ifelse + } ifelse + } if + } bind def +-% Try to find a font using only the present contents of Fontmap. +-/.tryfindfont { % .tryfindfont true +- % .tryfindfont false +- //.FontDirectory 1 index .fontknownget +- { % Already loaded +- exch pop //true +- } +- { +- dup Fontmap exch .knownget +- { //true //true } +- { % Unknown font name. Look for a file with the +- % same name as the requested font. +- dup .tryloadfont +- { exch pop //true //false } +- { +- % if we can't load by name check the native font map +- dup .nativeFontmap exch .knownget +- { //true //true } +- { //false //false } ifelse +- } ifelse +- } ifelse +- +- { % Try each element of the Fontmap in turn. +- pop +- //false exch % (in case we exhaust the list) +- % Stack: fontname false fontmaplist +- { exch pop +- dup type /nametype eq +- { % Font alias +- .checkalias .tryfindfont exit +- } +- { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and +- { % Font with a procedural definition +- exec % The procedure will load the font. +- % Check to make sure this really happened. +- //.FontDirectory 1 index .knownget +- { exch pop //true exit } +- if +- } +- { % Font file name +- //true .loadfontloop { //true exit } if +- } +- ifelse +- } +- ifelse //false +- } +- forall +- % Stack: font true -or- fontname false +- { //true +- } +- { % None of the Fontmap entries worked. +- % Try loading a file with the same name +- % as the requested font. +- .tryloadfont +- } +- ifelse +- } +- if +- } +- ifelse +- } bind def + + % any user of .putgstringcopy must use bind and executeonly + /.putgstringcopy % .putgstringcopy - +@@ -1014,25 +965,6 @@ $error /SubstituteFont { } put + } executeonly ifelse + } .bind executeonly odef % must be bound and hidden for .forceput + +-% Attempt to load a font from a file. +-/.tryloadfont { % .tryloadfont true +- % .tryloadfont false +- dup .nametostring +- % Hack: check for the presence of the resource machinery. +- /.genericrfn where { +- pop +- pop dup .fonttempstring /FontResourceDir getsystemparam .genericrfn +- {//false .loadfontloop} .internalstopped {//false} if { +- //true +- } { +- dup .nametostring +- {//true .loadfontloop} .internalstopped {//false} if +- } ifelse +- } { +- {//true .loadfontloop} .internalstopped {//false} if +- } ifelse +-} bind def +- + /.loadfontloop { % .loadfontloop + % true + % -or- +@@ -1102,7 +1034,7 @@ $error /SubstituteFont { } put + } if + + % Check to make sure the font was actually loaded. +- dup 3 index .fontknownget ++ dup 3 index //.fontknownget exec + { dup /PathLoad 4 index .putgstringcopy + 4 1 roll pop pop pop //true exit + } executeonly if +@@ -1113,7 +1045,7 @@ $error /SubstituteFont { } put + exch dup % Stack: origfontname fontdirectory path path + (r) file .findfontname + { % Stack: origfontname fontdirectory path filefontname +- 2 index 1 index .fontknownget ++ 2 index 1 index //.fontknownget exec + { % Yes. Stack: origfontname fontdirectory path filefontname fontdict + dup 4 -1 roll /PathLoad exch .putgstringcopy + % Stack: origfontname fontdirectory filefontname fontdict +@@ -1136,7 +1068,7 @@ $error /SubstituteFont { } put + % Stack: fontdict + } executeonly + if pop % Stack: origfontname fontdirectory path +- } ++ } executeonly + if pop pop % Stack: origfontname + + % The font definitely did not load correctly. +@@ -1150,7 +1082,87 @@ $error /SubstituteFont { } put + + } bind executeonly odef % must be bound and hidden for .putgstringcopy + +-currentdict /.putgstringcopy .undef ++% Attempt to load a font from a file. ++/.tryloadfont { % .tryloadfont true ++ % .tryloadfont false ++ dup //.nametostring exec ++ % Hack: check for the presence of the resource machinery. ++ /.genericrfn where { ++ pop ++ pop dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn ++ {//false .loadfontloop} .internalstopped {//false} if { ++ //true ++ } { ++ dup //.nametostring exec ++ {//true .loadfontloop} .internalstopped {//false} if ++ } ifelse ++ } { ++ {//true .loadfontloop} .internalstopped {//false} if ++ } ifelse ++} bind def ++ ++% Try to find a font using only the present contents of Fontmap. ++/.tryfindfont { % .tryfindfont true ++ % .tryfindfont false ++ //.FontDirectory 1 index //.fontknownget exec ++ { % Already loaded ++ exch pop //true ++ } ++ { ++ dup Fontmap exch .knownget ++ { //true //true } ++ { % Unknown font name. Look for a file with the ++ % same name as the requested font. ++ dup //.tryloadfont exec ++ { exch pop //true //false } ++ { ++ % if we can't load by name check the native font map ++ dup .nativeFontmap exch .knownget ++ { //true //true } ++ { //false //false } ifelse ++ } ifelse ++ } ifelse ++ ++ { % Try each element of the Fontmap in turn. ++ pop ++ //false exch % (in case we exhaust the list) ++ % Stack: fontname false fontmaplist ++ { exch pop ++ dup type /nametype eq ++ { % Font alias ++ //.checkalias exec ++ .tryfindfont exit ++ } ++ { dup dup type dup /arraytype eq exch /packedarraytype eq or exch xcheck and ++ { % Font with a procedural definition ++ exec % The procedure will load the font. ++ % Check to make sure this really happened. ++ //.FontDirectory 1 index .knownget ++ { exch pop //true exit } ++ if ++ } ++ { % Font file name ++ //true .loadfontloop { //true exit } if ++ } ++ ifelse ++ } ++ ifelse //false ++ } ++ forall ++ % Stack: font true -or- fontname false ++ { //true ++ } ++ { % None of the Fontmap entries worked. ++ % Try loading a file with the same name ++ % as the requested font. ++ //.tryloadfont exec ++ } ++ ifelse ++ } ++ if ++ } ++ ifelse ++ } bind def + + % Define a procedure to load all known fonts. + % This isn't likely to be very useful. +@@ -1192,9 +1204,9 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined + /.loadinitialfonts + { NOFONTMAP not + { /FONTMAP where +- { pop [ FONTMAP .pathlist ] ++ { pop [ FONTMAP //.pathlist exec] + { dup VMDEBUG findlibfile +- { exch pop .loadFontmap } ++ { exch pop //.loadFontmap exec } + { /undefinedfilename signalerror } + ifelse + } +@@ -1208,7 +1220,7 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined + pop pop + defaultfontmap_content { .definefontmap } forall + } { +- .loadFontmap ++ //.loadFontmap exec + } ifelse + } { + pop pop +@@ -1272,3 +1284,18 @@ FAKEFONTS { exch } if pop def % don't bind, .current/setglobal get redefined + { .makemodifiedfont + dup /FontName get exch definefont pop + } bind def ++ ++% Undef these, not needed outside this file ++[ ++ % /.fonttempstring /.scannextfontdir - are also used in gs_res.ps, so are undefined there ++ % /.fontnameproperties - is used in pdf_font.ps ++ % /.scanfontheaders - used in gs_cff.ps, gs_ttf.ps ++ /.loadfontloop /.tryloadfont /.findfont /.pathlist /.loadFontmap /.lowerstring ++ /.splitfilename /.scanfontdict /.scanfontbegin ++ /.scanfontskip /.scan1fontstring ++ /.scan1fontfirst /.scanfontdir ++ /.setnativefontmapbuilt /.aliasfont ++ /.setloadingfont /.substitutefaces /.substituteproperties /.substitutefamilies ++ /.nametostring /.fontnamestring /.checkalias /.fontknownget /.stdsubstfont ++ /.putgstringcopy ++] {systemdict exch .forceundef} forall +diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps +index d9b34599e7c2..fd7eaf953ae9 100644 +--- a/Resource/Init/gs_res.ps ++++ b/Resource/Init/gs_res.ps +@@ -961,7 +961,7 @@ userdict /.localcsdefaults //false put + dup type /nametype eq { .namestring } if + dup type /stringtype ne { //false exit } if + % Check the resource directory. +- dup .fonttempstring /FontResourceDir getsystemparam .genericrfn ++ dup //.fonttempstring /FontResourceDir getsystemparam .genericrfn + status { + pop pop pop pop //true exit + } if +@@ -969,7 +969,7 @@ userdict /.localcsdefaults //false put + % as the font. + findlibfile { closefile //true exit } if + % Scan a FONTPATH directory and try again. +- .scannextfontdir not { //false exit } if ++ //.scannextfontdir exec not { //false exit } if + } loop + } bind def + +@@ -1008,7 +1008,7 @@ currentdict /.fontstatusaux .undef + } ifelse + } bind executeonly + /ResourceForAll { +- { .scannextfontdir not { exit } if } loop ++ { //.scannextfontdir exec not { exit } if } loop + /Generic /Category findresource /ResourceForAll get exec + } bind executeonly + /.ResourceFileStatus { +-- +2.20.1 + diff --git a/bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch b/bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch new file mode 100644 index 00000000..8c21c34e --- /dev/null +++ b/bsp/buildroot/package/ghostscript/0007-Remove-.forcedef-and-harden-.force-ops-more.patch @@ -0,0 +1,345 @@ +From ba2336b3b1ca5cfe1e67dbe37a084c9644a65ac7 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Fri, 11 Jan 2019 13:36:36 +0000 +Subject: [PATCH] Remove .forcedef, and harden .force* ops more + +Remove .forcedef and replace all uses with a direct call to .forceput instead. + +Ensure every procedure (named and trasient) that calls .forceput is +executeonly. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 49c8092da88e + + Resource/Init/gs_dps1.ps | 15 +++++++----- + Resource/Init/gs_init.ps | 28 ++++++++------------- + Resource/Init/gs_lev2.ps | 51 +++++++++++++++++++-------------------- + Resource/Init/gs_ll3.ps | 5 ++-- + Resource/Init/gs_res.ps | 29 +++++++++++----------- + Resource/Init/gs_statd.ps | 4 +-- + 6 files changed, 63 insertions(+), 69 deletions(-) + +diff --git a/Resource/Init/gs_dps1.ps b/Resource/Init/gs_dps1.ps +index 8700c8cb304b..3d2cf7a1ad01 100644 +--- a/Resource/Init/gs_dps1.ps ++++ b/Resource/Init/gs_dps1.ps +@@ -33,14 +33,17 @@ systemdict begin + + /SharedFontDirectory .FontDirectory .gcheck + { .currentglobal //false .setglobal ++ currentdict + /LocalFontDirectory .FontDirectory dup maxlength dict copy +- .forcedef % LocalFontDirectory is local, systemdict is global ++ .forceput % LocalFontDirectory is local, systemdict is global + .setglobal .FontDirectory +- } +- { /LocalFontDirectory .FontDirectory +- .forcedef % LocalFontDirectory is local, systemdict is global ++ } executeonly ++ { ++ currentdict ++ /LocalFontDirectory .FontDirectory ++ .forceput % LocalFontDirectory is local, systemdict is global + 50 dict +- } ++ }executeonly + ifelse def + + end % systemdict +@@ -55,7 +58,7 @@ level2dict begin + { //SharedFontDirectory } + { /LocalFontDirectory .systemvar } % can't embed ref to local VM + ifelse .forceput pop % LocalFontDirectory is local, systemdict is global +- } .bind odef ++ } .bind executeonly odef + % Don't just copy (load) the definition of .setglobal: + % it gets redefined for LL3. + /setshared { /.setglobal .systemvar exec } odef +diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps +index d9a0829f7f97..45bebf479bae 100644 +--- a/Resource/Init/gs_init.ps ++++ b/Resource/Init/gs_init.ps +@@ -54,7 +54,7 @@ systemdict exch + dup /userdict + currentdict dup 200 .setmaxlength % userdict + .forceput % userdict is local, systemdict is global +- } ++ } executeonly + if begin + + % Define dummy local/global operators if needed. +@@ -299,13 +299,6 @@ QUIET not { printgreeting flush } if + 1 index exch .makeoperator def + } .bind def + +-% Define a special version of def for storing local objects into global +-% dictionaries. Like .forceput, this exists only during initialization. +-/.forcedef { % .forcedef - +- 1 .argindex pop % check # of args +- currentdict 3 1 roll .forceput +-} .bind odef +- + % Define procedures for accessing variables in systemdict and userdict + % regardless of the contents of the dictionary stack. + /.systemvar { % .systemvar +@@ -347,7 +340,7 @@ DELAYBIND + } + ifelse + } .bind def +-} if ++} executeonly if + + %**************** BACKWARD COMPATIBILITY **************** + /hwsizedict mark /HWSize //null .dicttomark readonly def +@@ -655,7 +648,7 @@ currentdict /.typenames .undef + /ifelse .systemvar + ] cvx executeonly + exch .setglobal +-} odef ++} executeonly odef + systemdict /internaldict dup .makeinternaldict .makeoperator + .forceput % proc is local, systemdict is global + +@@ -1093,7 +1086,7 @@ def + + % Define $error. This must be in local VM. + .currentglobal //false .setglobal +-/$error 40 dict .forcedef % $error is local, systemdict is global ++currentdict /$error 40 dict .forceput % $error is local, systemdict is global + % newerror, errorname, command, errorinfo, + % ostack, estack, dstack, recordstacks, + % binary, globalmode, +@@ -1112,8 +1105,8 @@ end + % Define errordict similarly. It has one entry per error name, + % plus handleerror. However, some astonishingly badly written PostScript + % files require it to have at least one empty slot. +-/errordict ErrorNames length 3 add dict +-.forcedef % errordict is local, systemdict is global ++currentdict /errordict ErrorNames length 3 add dict ++.forceput % errordict is local, systemdict is global + .setglobal % back to global VM + % gserrordict contains all the default error handling methods, but unlike + % errordict it is noaccess after creation (also it is in global VM). +@@ -1273,8 +1266,9 @@ end + (END PROCS) VMDEBUG + + % Define the font directory. ++currentdict + /FontDirectory //false .setglobal 100 dict //true .setglobal +-.forcedef % FontDirectory is local, systemdict is global ++.forceput % FontDirectory is local, systemdict is global + + % Define the encoding dictionary. + /EncodingDirectory 16 dict def % enough for Level 2 + PDF standard encodings +@@ -2333,7 +2327,6 @@ SAFER { .setsafeglobal } if + //systemdict /UndefinePostScriptOperators get exec + //systemdict /UndefinePDFOperators get exec + //systemdict /.forcecopynew .forceundef % remove temptation +- //systemdict /.forcedef .forceundef % ditto + //systemdict /.forceput .forceundef % ditto + //systemdict /.undef .forceundef % ditto + //systemdict /.forceundef .forceundef % ditto +@@ -2368,9 +2361,9 @@ SAFER { .setsafeglobal } if + % (and, if implemented, context switching). + .currentglobal //false .setglobal + mark userparams { } forall .dicttomark readonly +- /userparams exch .forcedef % systemdict is read-only ++ currentdict exch /userparams exch .forceput % systemdict is read-only + .setglobal +-} if ++} executeonly if + /.currentsystemparams where { + pop + % Remove real system params from pssystemparams. +@@ -2458,7 +2451,6 @@ end + DELAYBIND not { + systemdict /.bindnow .undef % We only need this for DELAYBIND + systemdict /.forcecopynew .undef % remove temptation +- systemdict /.forcedef .undef % ditto + systemdict /.forceput .undef % ditto + systemdict /.forceundef .undef % ditto + } if +diff --git a/Resource/Init/gs_lev2.ps b/Resource/Init/gs_lev2.ps +index 0f0d57331c23..9c0c3a6fc485 100644 +--- a/Resource/Init/gs_lev2.ps ++++ b/Resource/Init/gs_lev2.ps +@@ -304,31 +304,30 @@ end + psuserparams exch /.checkFilePermitparams load put + .setglobal + +-pssystemparams begin +- /CurDisplayList 0 .forcedef +- /CurFormCache 0 .forcedef +- /CurInputDevice () .forcedef +- /CurOutlineCache 0 .forcedef +- /CurOutputDevice () .forcedef +- /CurPatternCache 0 .forcedef +- /CurUPathCache 0 .forcedef +- /CurScreenStorage 0 .forcedef +- /CurSourceList 0 .forcedef +- /DoPrintErrors //false .forcedef +- /JobTimeout 0 .forcedef +- /LicenseID (LN-001) .forcedef % bogus +- /MaxDisplayList 140000 .forcedef +- /MaxFormCache 100000 .forcedef +- /MaxImageBuffer 524288 .forcedef +- /MaxOutlineCache 65000 .forcedef +- /MaxPatternCache 100000 .forcedef +- /MaxUPathCache 300000 .forcedef +- /MaxScreenStorage 84000 .forcedef +- /MaxSourceList 25000 .forcedef +- /PrinterName product .forcedef +- /RamSize 4194304 .forcedef +- /WaitTimeout 40 .forcedef +-end ++pssystemparams ++dup /CurDisplayList 0 .forceput ++dup /CurFormCache 0 .forceput ++dup /CurInputDevice () .forceput ++dup /CurOutlineCache 0 .forceput ++dup /CurOutputDevice () .forceput ++dup /CurPatternCache 0 .forceput ++dup /CurUPathCache 0 .forceput ++dup /CurScreenStorage 0 .forceput ++dup /CurSourceList 0 .forceput ++dup /DoPrintErrors //false .forceput ++dup /JobTimeout 0 .forceput ++dup /LicenseID (LN-001) .forceput % bogus ++dup /MaxDisplayList 140000 .forceput ++dup /MaxFormCache 100000 .forceput ++dup /MaxImageBuffer 524288 .forceput ++dup /MaxOutlineCache 65000 .forceput ++dup /MaxPatternCache 100000 .forceput ++dup /MaxUPathCache 300000 .forceput ++dup /MaxScreenStorage 84000 .forceput ++dup /MaxSourceList 25000 .forceput ++dup /PrinterName product .forceput ++dup /RamSize 4194304 .forceput ++ /WaitTimeout 40 .forceput + + % Define the procedures for handling comment scanning. The names + % %ProcessComment and %ProcessDSCComment are known to the interpreter. +@@ -710,7 +709,7 @@ pop % currentsystemparams + /statusdict currentdict def + + currentdict end +-/statusdict exch .forcedef % statusdict is local, systemdict is global ++currentdict exch /statusdict exch .forceput % statusdict is local, systemdict is global + + % The following compatibility operators are in systemdict. They are + % defined here, rather than in gs_init.ps, because they require the +diff --git a/Resource/Init/gs_ll3.ps b/Resource/Init/gs_ll3.ps +index c86721f39fc0..881af44e9fd2 100644 +--- a/Resource/Init/gs_ll3.ps ++++ b/Resource/Init/gs_ll3.ps +@@ -521,9 +521,8 @@ end + % Define additional user and system parameters. + /HalftoneMode 0 .definepsuserparam + /MaxSuperScreen 1016 .definepsuserparam +-pssystemparams begin % read-only, so use .forcedef +- /MaxDisplayAndSourceList 160000 .forcedef +-end ++% read-only, so use .forceput ++pssystemparams /MaxDisplayAndSourceList 160000 .forceput + + % Define the IdiomSet resource category. + { /IdiomSet } { +diff --git a/Resource/Init/gs_res.ps b/Resource/Init/gs_res.ps +index fd7eaf953ae9..0b4e0514b2a1 100644 +--- a/Resource/Init/gs_res.ps ++++ b/Resource/Init/gs_res.ps +@@ -41,10 +41,10 @@ level2dict begin + % However, Ed Taft of Adobe says their interpreters don't implement this + % either, so we aren't going to worry about it for a while. + +-currentglobal //false setglobal systemdict begin +- /localinstancedict 5 dict +- .forcedef % localinstancedict is local, systemdict is global +-end //true setglobal ++currentglobal //false setglobal ++ systemdict /localinstancedict 5 dict ++ .forceput % localinstancedict is local, systemdict is global ++//true setglobal + /.emptydict 0 dict readonly def + setglobal + +@@ -149,7 +149,7 @@ setglobal + dup [ exch 0 -1 ] exch + .Instances 4 2 roll put + % Make the Category dictionary read-only. We will have to +- % use .forceput / .forcedef later to replace the dummy, ++ % use .forceput / .forceput later to replace the dummy, + % empty .Instances dictionary with the real one later. + readonly + }{ +@@ -304,7 +304,8 @@ systemdict begin + dup () ne { + .file_name_directory_separator concatstrings + } if +- 2 index exch //false .file_name_combine not { ++ 2 index exch //false ++ .file_name_combine not { + (Error: .default_resource_dir returned ) print exch print ( that can't combine with ) print = + /.default_resource_dir cvx /configurationerror signalerror + } if +@@ -317,14 +318,14 @@ currentdict /pssystemparams known not { + pssystemparams begin + .default_resource_dir + /FontResourceDir (Font) .resource_dir_name +- readonly .forcedef % pssys'params is r-o ++ readonly currentdict 3 1 roll .forceput % pssys'params is r-o + /GenericResourceDir () .resource_dir_name +- readonly .forcedef % pssys'params is r-o ++ readonly currentdict 3 1 roll .forceput % pssys'params is r-o + pop % .default_resource_dir + /GenericResourcePathSep +- .file_name_separator readonly .forcedef % pssys'params is r-o +- (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forcedef % pssys'params is r-o +- (%diskGenericResourceDir) cvn (/Resource/) readonly .forcedef % pssys'params is r-o ++ .file_name_separator readonly currentdict 3 1 roll .forceput % pssys'params is r-o ++ currentdict (%diskFontResourceDir) cvn (/Resource/Font/) readonly .forceput % pssys'params is r-o ++ currentdict (%diskGenericResourceDir) cvn (/Resource/) readonly .forceput % pssys'params is r-o + end + end + +@@ -422,8 +423,8 @@ status { + .Instances dup //.emptydict eq { + pop 3 dict + % As noted above, Category dictionaries are read-only, +- % so we have to use .forcedef here. +- /.Instances 1 index .forcedef % Category dict is read-only ++ % so we have to use .forceput here. ++ currentdict /.Instances 2 index .forceput % Category dict is read-only + } executeonly if + } + { .LocalInstances dup //.emptydict eq +@@ -441,7 +442,7 @@ status { + { /defineresource cvx /typecheck signaloperror + } + ifelse +-} .bind executeonly .makeoperator % executeonly to prevent access to .forcedef ++} .bind executeonly .makeoperator % executeonly to prevent access to .forceput + /UndefineResource + { { dup 2 index .knownget + { dup 1 get 1 ge +diff --git a/Resource/Init/gs_statd.ps b/Resource/Init/gs_statd.ps +index 20d4c96c4f8f..b6a76590dd09 100644 +--- a/Resource/Init/gs_statd.ps ++++ b/Resource/Init/gs_statd.ps +@@ -21,10 +21,10 @@ systemdict begin + % We make statusdict a little larger for Level 2 stuff. + % Note that it must be allocated in local VM. + .currentglobal //false .setglobal +- /statusdict 91 dict .forcedef % statusdict is local, sys'dict global ++ currentdict /statusdict 91 dict .forceput % statusdict is local, sys'dict global + % To support the Level 2 job control features, + % serverdict must also be in local VM. +- /serverdict 10 dict .forcedef % serverdict is local, sys'dict global ++ currentdict /serverdict 10 dict .forceput % serverdict is local, sys'dict global + .setglobal + end + +-- +2.20.1 + diff --git a/bsp/buildroot/package/ghostscript/ghostscript.hash b/bsp/buildroot/package/ghostscript/ghostscript.hash index f8ca6c8d..15ef95e7 100644 --- a/bsp/buildroot/package/ghostscript/ghostscript.hash +++ b/bsp/buildroot/package/ghostscript/ghostscript.hash @@ -1,5 +1,5 @@ -# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925/SHA512SUMS -sha512 7a1c0b7546ed523f50c1452d4a1c13fcf043d6060fc9708bbc4b543f66ecb1b619b6e71998094ac702ef44a2fd159b6523271de19b1cae352981ef51fb637651 ghostscript-9.25.tar.xz +# From https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926/SHA512SUMS +sha512 3ddb83029edf32282357bf606f4045a9ac73df6543cd423cfad09158ec12ada083a0dbb5aac3b73ae24cbc6c1e9d7574257a5c1fae63ba8776fbb00150ef2a3e ghostscript-9.26.tar.xz # Hash for license file: sha256 6f852249f975287b3efd43a5883875e47fa9f3125e2f1b18b5c09517ac30ecf2 LICENSE diff --git a/bsp/buildroot/package/ghostscript/ghostscript.mk b/bsp/buildroot/package/ghostscript/ghostscript.mk index b1f5e1ed..357fd08c 100644 --- a/bsp/buildroot/package/ghostscript/ghostscript.mk +++ b/bsp/buildroot/package/ghostscript/ghostscript.mk @@ -4,8 +4,8 @@ # ################################################################################ -GHOSTSCRIPT_VERSION = 9.25 -GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs925 +GHOSTSCRIPT_VERSION = 9.26 +GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs926 GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz GHOSTSCRIPT_LICENSE = AGPL-3.0 GHOSTSCRIPT_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/git-crypt/Config.in b/bsp/buildroot/package/git-crypt/Config.in index 362fe9a6..9a270b8f 100644 --- a/bsp/buildroot/package/git-crypt/Config.in +++ b/bsp/buildroot/package/git-crypt/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_GIT_CRYPT bool "git-crypt" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr depends on BR2_USE_MMU # git select BR2_PACKAGE_GIT # runtime select BR2_PACKAGE_OPENSSL @@ -10,6 +12,11 @@ config BR2_PACKAGE_GIT_CRYPT https://www.agwa.name/projects/git-crypt/ -comment "git-crypt needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP +comment "git-crypt needs a toolchain w/ C++, gcc >= 4.9" + depends on !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU + +comment "git-crypt needs a toolchain not affected by GCC bug 64735" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/git-crypt/git-crypt.hash b/bsp/buildroot/package/git-crypt/git-crypt.hash index 8589f03f..973432d7 100644 --- a/bsp/buildroot/package/git-crypt/git-crypt.hash +++ b/bsp/buildroot/package/git-crypt/git-crypt.hash @@ -1,2 +1,5 @@ -# Hash from: https://lists.cloudmutt.com/pipermail/git-crypt-announce/2015-May/000003.html -sha256 0a8f92c0a0a125bf768d0c054d947ca4e4b8d6556454b0e7e87fb907ee17cf06 git-crypt-0.5.0.tar.gz +# Locally calculated after checking pgp signature +sha256 6d30fcd99442d50f4b3c8d554067ff1d980cdf9f3120ee774131172dba98fd6f git-crypt-0.6.0.tar.gz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 506657e7a381165550e6c33e35b3b03bbef3e1feb68ba5529e264bd75ed2dc64 parse_options.hpp diff --git a/bsp/buildroot/package/git-crypt/git-crypt.mk b/bsp/buildroot/package/git-crypt/git-crypt.mk index 6cae456f..37e3d885 100644 --- a/bsp/buildroot/package/git-crypt/git-crypt.mk +++ b/bsp/buildroot/package/git-crypt/git-crypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -GIT_CRYPT_VERSION = 0.5.0 +GIT_CRYPT_VERSION = 0.6.0 GIT_CRYPT_SITE = https://www.agwa.name/projects/git-crypt/downloads GIT_CRYPT_DEPENDENCIES = host-pkgconf openssl GIT_CRYPT_LICENSE = GPL-3.0+, MIT @@ -14,7 +14,8 @@ GIT_CRYPT_LIBS = `$(PKG_CONFIG_HOST_BINARY) --libs openssl` define GIT_CRYPT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ - LDFLAGS="$(TARGET_LDFLAGS) $(GIT_CRYPT_LIBS)" PREFIX=/usr + LDFLAGS="$(TARGET_LDFLAGS) $(GIT_CRYPT_LIBS)" \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" PREFIX=/usr endef define GIT_CRYPT_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/glib-networking/Config.in b/bsp/buildroot/package/glib-networking/Config.in index ec296239..b84a7394 100644 --- a/bsp/buildroot/package/glib-networking/Config.in +++ b/bsp/buildroot/package/glib-networking/Config.in @@ -1,12 +1,14 @@ config BR2_PACKAGE_GLIB_NETWORKING bool "glib-networking" - depends on BR2_USE_WCHAR # glib2 + depends on BR2_USE_WCHAR # glib2, gnutls depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 depends on BR2_USE_MMU # glib2 + depends on !BR2_STATIC_LIBS # gnutls + select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGLIB2 help Network-related GIO modules for glib. -comment "glib-networking needs a toolchain w/ wchar, threads" +comment "glib-networking needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/glib-networking/glib-networking.hash b/bsp/buildroot/package/glib-networking/glib-networking.hash index bbcecb7a..d959175e 100644 --- a/bsp/buildroot/package/glib-networking/glib-networking.hash +++ b/bsp/buildroot/package/glib-networking/glib-networking.hash @@ -1,2 +1,3 @@ -# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.50/glib-networking-2.50.0.sha256sum -sha256 3f1a442f3c2a734946983532ce59ed49120319fdb10c938447c373d5e5286bee glib-networking-2.50.0.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/glib-networking/2.58/glib-networking-2.58.0.sha256sum +sha256 bdfa0255e031b8ee003cc283002536b77ee76450105f1dc6ab066b9bf4330068 glib-networking-2.58.0.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/glib-networking/glib-networking.mk b/bsp/buildroot/package/glib-networking/glib-networking.mk index 10a3b706..325cbcf8 100644 --- a/bsp/buildroot/package/glib-networking/glib-networking.mk +++ b/bsp/buildroot/package/glib-networking/glib-networking.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLIB_NETWORKING_VERSION_MAJOR = 2.50 +GLIB_NETWORKING_VERSION_MAJOR = 2.58 GLIB_NETWORKING_VERSION = $(GLIB_NETWORKING_VERSION_MAJOR).0 GLIB_NETWORKING_SITE = http://ftp.gnome.org/pub/gnome/sources/glib-networking/$(GLIB_NETWORKING_VERSION_MAJOR) GLIB_NETWORKING_SOURCE = glib-networking-$(GLIB_NETWORKING_VERSION).tar.xz @@ -13,19 +13,18 @@ GLIB_NETWORKING_DEPENDENCIES = \ $(TARGET_NLS_DEPENDENCIES) \ host-pkgconf \ host-intltool \ - libglib2 + libglib2 \ + gnutls + GLIB_NETWORKING_CONF_OPTS = \ - --with-ca-certificates=/etc/ssl/certs/ca-certificates.crt + -Dca_certificates_path=/etc/ssl/certs/ca-certificates.crt \ + -Dlibproxy_support=false \ + -Dgnome_proxy_support=false \ + -Dpkcs11_support=false + GLIB_NETWORKING_LICENSE = LGPL-2.0+ GLIB_NETWORKING_LICENSE_FILES = COPYING GLIB_NETWORKING_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) \ GIO_MODULE_DIR=/usr/lib/gio/modules install -ifeq ($(BR2_PACKAGE_GNUTLS),y) -GLIB_NETWORKING_DEPENDENCIES += gnutls -GLIB_NETWORKING_CONF_OPTS += --with-libgcrypt-prefix=$(STAGING_DIR)/usr -else -GLIB_NETWORKING_CONF_OPTS += --without-gnutls -endif - -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch b/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch new file mode 100644 index 00000000..ab157e9e --- /dev/null +++ b/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0001-Fix-RISC-V-32-bit-build-of-riscv-glibc-2.26.patch @@ -0,0 +1,59 @@ +From 4909cfbbe8dd512b8fc0892859549c26e1b14d30 Mon Sep 17 00:00:00 2001 +From: Mark Corbin +Date: Sun, 21 Oct 2018 10:38:18 +0100 +Subject: [PATCH] Fix RISC-V 32-bit build of riscv-glibc 2.26 + +This patch fixes two build errors with the 32-bit version of +glibc-2.26 from the riscv-glibc repository. + +A void reference to 'refsym' has been added to dl-runtime.c to avoid +an 'unused variable' error when building with '-Werror'. + +Some data types were hard-coded for 64-bit in ldsodefs.h. These have +been modified to allow 32-bit builds. + +This patch was provided by Fabrice Bellard as part of his RISC-V +Buildroot development source. + +Signed-off-by: Mark Corbin +--- + elf/dl-runtime.c | 1 + + sysdeps/riscv/ldsodefs.h | 4 ++-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c +index 51d3819d4a..e728e8907e 100644 +--- a/elf/dl-runtime.c ++++ b/elf/dl-runtime.c +@@ -146,6 +146,7 @@ _dl_fixup ( + if (__glibc_unlikely (GLRO(dl_bind_not))) + return value; + ++ (void)refsym; + return elf_machine_fixup_plt (l, result, refsym, sym, reloc, rel_addr, value); + } + +diff --git a/sysdeps/riscv/ldsodefs.h b/sysdeps/riscv/ldsodefs.h +index db993df80a..91e7a8c88f 100644 +--- a/sysdeps/riscv/ldsodefs.h ++++ b/sysdeps/riscv/ldsodefs.h +@@ -25,14 +25,14 @@ struct La_riscv_regs; + struct La_riscv_retval; + + #define ARCH_PLTENTER_MEMBERS \ +- Elf64_Addr (*riscv_gnu_pltenter) (Elf64_Sym *, unsigned int, \ ++ ElfW(Addr) (*riscv_gnu_pltenter) (ElfW(Sym) *, unsigned int, \ + uintptr_t *, uintptr_t *, \ + const struct La_riscv_regs *, \ + unsigned int *, const char *name, \ + long int *framesizep); + + #define ARCH_PLTEXIT_MEMBERS \ +- unsigned int (*riscv_gnu_pltexit) (Elf64_Sym *, unsigned int, \ ++ unsigned int (*riscv_gnu_pltexit) (ElfW(Sym) *, unsigned int, \ + uintptr_t *, uintptr_t *, \ + const struct La_riscv_regs *, \ + struct La_riscv_retval *, \ +-- +2.17.1 + diff --git a/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch b/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch new file mode 100644 index 00000000..961d5a1c --- /dev/null +++ b/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/0002-Fix-mcontext_t-error-that-breaks-RISC-V-architecture.patch @@ -0,0 +1,39 @@ +From 6b4520e13c2ed7fca725d5f5c879854cd7c96c19 Mon Sep 17 00:00:00 2001 +From: Mark Corbin +Date: Mon, 4 Feb 2019 10:35:27 +0000 +Subject: [PATCH] Fix mcontext_t error that breaks RISC-V architecture + package builds + +The riscv-glibc repository version of glibc 2.26 will build for +RISC-V 32bit, but when many packages are built against the resulting +library an 'unknown type name mcontext_t' error is reported. The +definition of mcontext_h in the ucontext.h header file needs to be +moved outside of the '#ifdef __USE_MISC' structure to fix this +issue. + +Signed-off-by: Mark Corbin +--- + sysdeps/unix/sysv/linux/riscv/sys/ucontext.h | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h b/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h +index 8f02f09106..b9dd04564a 100644 +--- a/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h ++++ b/sysdeps/unix/sysv/linux/riscv/sys/ucontext.h +@@ -48,12 +48,11 @@ typedef greg_t gregset_t[NGREG]; + + /* Container for floating-point state. */ + typedef union __riscv_fp_state fpregset_t; ++#endif + + /* Context to describe whole processor state. */ + typedef struct sigcontext mcontext_t; + +-#endif +- + /* Userlevel context. */ + typedef struct ucontext + { +-- +2.19.1 + diff --git a/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash b/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash new file mode 100644 index 00000000..3eb5e04e --- /dev/null +++ b/bsp/buildroot/package/glibc/4e2943456e690d89f48e6e710757dd09404b0c9a/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 a40f908125135bad2cf92c18d07ad25b3091b161b3a5d3aea46c23ffd2ac90b8 glibc-4e2943456e690d89f48e6e710757dd09404b0c9a.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 61abdd6930c9c599062d89e916b3e7968783879b6be0ee1c6229dd6169def431 LICENSES diff --git a/bsp/buildroot/package/glibc/arc-2018.09-release/glibc.hash b/bsp/buildroot/package/glibc/arc-2018.09-release/glibc.hash new file mode 100644 index 00000000..8e70ce04 --- /dev/null +++ b/bsp/buildroot/package/glibc/arc-2018.09-release/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 cc2aa6b16641ebcf1492bf6245897d8c263c96b6e30375d09351306a12b6d529 glibc-arc-2018.09-release.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES diff --git a/bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash b/bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash new file mode 100644 index 00000000..e83b1caf --- /dev/null +++ b/bsp/buildroot/package/glibc/glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1/glibc.hash @@ -0,0 +1,7 @@ +# Locally calculated (fetched from Github) +sha256 ebf04c7b00153d6df8beceec0666d4b13e1ac613b40d5774d1b8c6f61c1686e6 glibc-glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1.tar.gz + +# Hashes for license files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 35bdb41dc0bcb10702ddacbd51ec4c0fe6fb3129f734e8c85fc02e4d3eb0ce3f LICENSES diff --git a/bsp/buildroot/package/glibc/glibc.hash b/bsp/buildroot/package/glibc/glibc.hash index bfe40f1f..5316f03b 100644 --- a/bsp/buildroot/package/glibc/glibc.hash +++ b/bsp/buildroot/package/glibc/glibc.hash @@ -1,4 +1,2 @@ -# Locally calculated (fetched from Github) -sha256 acbec224e69f29c9c59c34f15f0fbb19eecf3fce347eba8bb928fac507ae86c6 glibc-glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7.tar.gz -# Locally calculated (fetched from Github) -sha256 5aa9adeac09727db0b8a52794186563771e74d70410e9fd86431e339953fd4bb glibc-arc-2017.09-release.tar.gz +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/glibc/glibc.mk b/bsp/buildroot/package/glibc/glibc.mk index 2e93593b..ec5b3ced 100644 --- a/bsp/buildroot/package/glibc/glibc.mk +++ b/bsp/buildroot/package/glibc/glibc.mk @@ -5,12 +5,15 @@ ################################################################################ ifeq ($(BR2_arc),y) -GLIBC_VERSION = arc-2017.09-release +GLIBC_VERSION = arc-2018.09-release GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) +else ifeq ($(BR2_RISCV_32),y) +GLIBC_VERSION = 4e2943456e690d89f48e6e710757dd09404b0c9a +GLIBC_SITE = $(call github,riscv,riscv-glibc,$(GLIBC_VERSION)) else # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master -GLIBC_VERSION = glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7 +GLIBC_VERSION = glibc-2.28-69-g1e5c5303a522764d7e9d2302a60e4a32cdb902f1 # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -20,17 +23,16 @@ GLIBC_VERSION = glibc-2.26-175-gc5c90b480e4f21ed1d28e0e6d942b06b8d9e8bd7 GLIBC_SITE = $(call github,bminor,glibc,$(GLIBC_VERSION)) endif -GLIBC_SRC_SUBDIR = . - GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library) -GLIBC_LICENSE_FILES = $(addprefix $(GLIBC_SRC_SUBDIR)/,COPYING COPYING.LIB LICENSES) +GLIBC_LICENSE_FILES = COPYING COPYING.LIB LICENSES # glibc is part of the toolchain so disable the toolchain dependency GLIBC_ADD_TOOLCHAIN_DEPENDENCY = NO # Before glibc is configured, we must have the first stage # cross-compiler and the kernel headers -GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-gawk +GLIBC_DEPENDENCIES = host-gcc-initial linux-headers host-bison host-gawk \ + $(BR2_MAKE_HOST_DEPENDENCY) GLIBC_SUBDIR = build @@ -68,6 +70,26 @@ define GLIBC_ADD_MISSING_STUB_H endef endif +GLIBC_CONF_ENV = \ + ac_cv_path_BASH_SHELL=/bin/bash \ + libc_cv_forced_unwind=yes \ + libc_cv_ssp=no + +# Override the default library locations of /lib64/ and +# /usr/lib64// for RISC-V. +ifeq ($(BR2_riscv),y) +ifeq ($(BR2_RISCV_64),y) +GLIBC_CONF_ENV += libc_cv_slibdir=/lib64 libc_cv_rtlddir=/lib +else +GLIBC_CONF_ENV += libc_cv_slibdir=/lib32 libc_cv_rtlddir=/lib +endif +endif + +# glibc requires make >= 4.0 since 2.28 release. +# https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html +GLIBC_MAKE = $(BR2_MAKE) +GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)" + # Even though we use the autotools-package infrastructure, we have to # override the default configure commands for several reasons: # @@ -86,16 +108,13 @@ define GLIBC_CONFIGURE_CMDS $(TARGET_CONFIGURE_OPTS) \ CFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" CPPFLAGS="" \ CXXFLAGS="-O2 $(GLIBC_EXTRA_CFLAGS)" \ - $(SHELL) $(@D)/$(GLIBC_SRC_SUBDIR)/configure \ - ac_cv_path_BASH_SHELL=/bin/bash \ - libc_cv_forced_unwind=yes \ - libc_cv_ssp=no \ + $(GLIBC_CONF_ENV) \ + $(SHELL) $(@D)/configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ --enable-shared \ - $(if $(BR2_SOFT_FLOAT),--without-fp,--with-fp) \ $(if $(BR2_x86_64),--enable-lock-elision) \ --with-pkgversion="Buildroot" \ --without-cvs \ @@ -114,7 +133,7 @@ endef GLIBC_LIBS_LIB = \ ld*.so.* libanl.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* \ - libm.so.* libnsl.so.* libpthread.so.* libresolv.so.* librt.so.* \ + libm.so.* libpthread.so.* libresolv.so.* librt.so.* \ libutil.so.* libnss_files.so.* libnss_dns.so.* libmvec.so.* ifeq ($(BR2_PACKAGE_GDB),y) diff --git a/bsp/buildroot/package/glibmm/glibmm.hash b/bsp/buildroot/package/glibmm/glibmm.hash index 570192e2..6131f9dc 100644 --- a/bsp/buildroot/package/glibmm/glibmm.hash +++ b/bsp/buildroot/package/glibmm/glibmm.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.54/glibmm-2.54.1.sha256sum -sha256 7cc28c732b04d70ed34f0c923543129083cfb90580ea4a2b4be5b38802bf6a4a glibmm-2.54.1.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.56/glibmm-2.56.0.sha256sum +sha256 6e74fcba0d245451c58fc8a196e9d103789bc510e1eee1a9b1e816c5209e79a9 glibmm-2.56.0.tar.xz +# License files, locally calculated +sha256 3ea7fa7c5d9a3a113e950eca9cfb85107f096270d8e4dd99daa9d8abdebc60e7 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.tools diff --git a/bsp/buildroot/package/glibmm/glibmm.mk b/bsp/buildroot/package/glibmm/glibmm.mk index 7fa13f21..71f1dfd3 100644 --- a/bsp/buildroot/package/glibmm/glibmm.mk +++ b/bsp/buildroot/package/glibmm/glibmm.mk @@ -4,8 +4,8 @@ # ################################################################################ -GLIBMM_VERSION_MAJOR = 2.54 -GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).1 +GLIBMM_VERSION_MAJOR = 2.56 +GLIBMM_VERSION = $(GLIBMM_VERSION_MAJOR).0 GLIBMM_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools) GLIBMM_LICENSE_FILES = COPYING COPYING.tools GLIBMM_SOURCE = glibmm-$(GLIBMM_VERSION).tar.xz diff --git a/bsp/buildroot/package/glorytun/glorytun.hash b/bsp/buildroot/package/glorytun/glorytun.hash index 891af207..59a5f09c 100644 --- a/bsp/buildroot/package/glorytun/glorytun.hash +++ b/bsp/buildroot/package/glorytun/glorytun.hash @@ -1,2 +1,2 @@ -sha256 76849b1568119cf0834749db56d4882966863d31351c21c1b22f373f0c97a498 glorytun-0.0.93-mud.tar.gz +sha256 5e23afad4592d6af27ffd2cb3c826cf0ea1b5166a05ef1ae5c77fb4e465bb735 glorytun-0.0.99-mud.tar.gz sha256 bd418f8ef7d62f2c89e3aa1e5dc41c7d7a6212eb1cdb4d39a26a5bd333e1b4a3 LICENSE diff --git a/bsp/buildroot/package/glorytun/glorytun.mk b/bsp/buildroot/package/glorytun/glorytun.mk index 233e1fea..f6d87c26 100644 --- a/bsp/buildroot/package/glorytun/glorytun.mk +++ b/bsp/buildroot/package/glorytun/glorytun.mk @@ -4,7 +4,7 @@ # ################################################################################ -GLORYTUN_VERSION = 0.0.93-mud +GLORYTUN_VERSION = 0.0.99-mud GLORYTUN_SITE = https://github.com/angt/glorytun/releases/download/v$(GLORYTUN_VERSION) GLORYTUN_DEPENDENCIES = libsodium host-pkgconf GLORYTUN_LICENSE = BSD-2-clause diff --git a/bsp/buildroot/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch b/bsp/buildroot/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch deleted file mode 100644 index 11507388..00000000 --- a/bsp/buildroot/package/gnu-efi/0001-Allow-CFLAGS-CPPFLAGS-to-be-completed-from-the-envir.patch +++ /dev/null @@ -1,103 +0,0 @@ -From eea0f62a1f6712f10afe47635b80a061505d2d2f Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sat, 17 Jan 2015 18:33:37 +0100 -Subject: [PATCH 1/2] Allow CFLAGS/CPPFLAGS to be completed from the - environment - -Buildroot passes its own CPPFLAGS and CFLAGS in the environment, so -the CFLAGS += and CPPFLAGS += statements in gnu-efi Makefile have no -effect. Change these to override += so that they extend the -flags passed by Buildroot. - -[Romain: - - rebase on top of 3.0.1 release] -[Bernd: - - rebase on top of 3.0.5 release] -[Benoît: - - rebase on top of 3.0.6 release] - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Romain Naour -Signed-off-by: Bernd Kuhls -Signed-off-by: Benoît Allard ---- - Make.defaults | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/Make.defaults b/Make.defaults -index 51bd7d8..7d7e8e7 100755 ---- a/Make.defaults -+++ b/Make.defaults -@@ -85,14 +85,14 @@ OBJDIR := $(TOPDIR)/$(ARCH) - # - - # Arch-specific compilation flags --CPPFLAGS += -DCONFIG_$(ARCH) -+override CPPFLAGS += -DCONFIG_$(ARCH) - - ifeq ($(ARCH),ia64) -- CFLAGS += -mfixed-range=f32-f127 -+ override CFLAGS += -mfixed-range=f32-f127 - endif - - ifeq ($(ARCH),ia32) -- CFLAGS += -mno-mmx -mno-sse -+ override CFLAGS += -mno-mmx -mno-sse - ifeq ($(HOSTARCH),x86_64) - ARCH3264 = -m32 - endif -@@ -109,19 +109,19 @@ ifeq ($(ARCH),x86_64) - && [ $(GCCMINOR) -ge "7" ] ) ) \ - && echo 1) - ifeq ($(GCCNEWENOUGH),1) -- CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 -+ override CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11 - else ifeq ($(USING_CLANG),clang) -- CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 -+ override CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11 - endif - -- CFLAGS += -mno-red-zone -+ override CFLAGS += -mno-red-zone - ifeq ($(HOSTARCH),ia32) - ARCH3264 = -m64 - endif - endif - - ifeq ($(ARCH),mips64el) -- CFLAGS += -march=mips64r2 -+ override CFLAGS += -march=mips64r2 - ARCH3264 = -mabi=64 - endif - -@@ -142,7 +142,7 @@ export LIBGCC=$(shell $(CC) $(ARCH3264) - endif - - ifeq ($(ARCH),arm) --CFLAGS += -marm -+override CFLAGS += -marm - endif - - # Generic compilation flags -@@ -152,15 +152,15 @@ INCDIR += -I$(SRCDIR) -I$(TOPDIR)/inc - - # Only enable -fpic for non MinGW compilers (unneeded on MinGW) - GCCMACHINE := $(shell $(CC) -dumpmachine) - ifneq (mingw32,$(findstring mingw32, $(GCCMACHINE))) -- CFLAGS += -fpic -+ override CFLAGS += -fpic - endif - - ifeq (FreeBSD, $(findstring FreeBSD, $(OS))) --CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ -+override CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ - -fshort-wchar -fno-strict-aliasing \ - -ffreestanding -fno-stack-protector - else --CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ -+override CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \ - -fshort-wchar -fno-strict-aliasing \ - -fno-merge-all-constants -ffreestanding -fno-stack-protector \ - -fno-stack-check --- -2.11.0 - diff --git a/bsp/buildroot/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch b/bsp/buildroot/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch new file mode 100644 index 00000000..57c78c9b --- /dev/null +++ b/bsp/buildroot/package/gnu-efi/0001-efilink-fix-build-with-gcc-4.8.patch @@ -0,0 +1,35 @@ +From 6335e5c697c57d8b5854b8202de3733bcb151ca6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 18 Jan 2019 22:05:37 +0100 +Subject: [PATCH] efilink: fix build with gcc 4.8 + +intptr_t is undefined without an include on stdint.h + +Fixes: + - http://autobuild.buildroot.org/results/a0ca37b5ed27af445344e3ac49dc87bb17512c50 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://sourceforge.net/p/gnu-efi/code/merge-requests/3] +--- + inc/efilink.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/inc/efilink.h b/inc/efilink.h +index cc5aa2d..b69a6fd 100644 +--- a/inc/efilink.h ++++ b/inc/efilink.h +@@ -1,6 +1,10 @@ + #ifndef _EFI_LINK_H + #define _EFI_LINK_H + ++#if defined(__GNUC__) ++#include ++#endif ++ + /*++ + + Copyright (c) 1998 Intel Corporation +-- +2.14.1 + diff --git a/bsp/buildroot/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch b/bsp/buildroot/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch new file mode 100644 index 00000000..c2565417 --- /dev/null +++ b/bsp/buildroot/package/gnu-efi/0002-Make.defaults-don-t-override-ARCH-when-cross-compili.patch @@ -0,0 +1,32 @@ +From 3452721eafae90749f4af63264c412f398460b15 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 Jan 2019 21:07:11 +0100 +Subject: [PATCH] Make.defaults: don't override ARCH when cross-compiling + +Don't override the user-provided ARCH when cross-compiling otherwise +ARCH won't be correct for armv5, aarch64 and x86_64 + +Fixes: + - http://autobuild.buildroot.org/results/2dfc0e10da25a8382a43557420d7dc3444c02dbb + +Signed-off-by: Fabrice Fontaine +--- + Make.defaults | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Make.defaults b/Make.defaults +index ba743f1..a0e5632 100755 +--- a/Make.defaults ++++ b/Make.defaults +@@ -67,7 +67,7 @@ ARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[345678 + + # Get ARCH from the compiler if cross compiling + ifneq ($(CROSS_COMPILE),) +- override ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' ) ++ ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' ) + endif + + # FreeBSD (and possibly others) reports amd64 instead of x86_64 +-- +2.14.1 + diff --git a/bsp/buildroot/package/gnu-efi/Config.in b/bsp/buildroot/package/gnu-efi/Config.in index d8d92c2c..d456a238 100644 --- a/bsp/buildroot/package/gnu-efi/Config.in +++ b/bsp/buildroot/package/gnu-efi/Config.in @@ -1,7 +1,14 @@ +config BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS + bool + default y if BR2_ARM_CPU_HAS_ARM + default y if BR2_aarch64 + default y if BR2_aarch64_be + default y if BR2_i386 + default y if BR2_x86_64 + config BR2_PACKAGE_GNU_EFI bool "gnu-efi" - depends on BR2_ARM_CPU_HAS_ARM || BR2_aarch64 || \ - BR2_aarch64_be || BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS help Develop EFI applications for ARM-64, ARM-32, x86_64, IA-64 (IPF), IA-32 (x86), and MIPS platforms using the GNU toolchain diff --git a/bsp/buildroot/package/gnu-efi/gnu-efi.hash b/bsp/buildroot/package/gnu-efi/gnu-efi.hash index 1bd0f8c5..9ac2b51f 100644 --- a/bsp/buildroot/package/gnu-efi/gnu-efi.hash +++ b/bsp/buildroot/package/gnu-efi/gnu-efi.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/gnu-efi/files -md5 46f633758a8a37db9fd6909fe270c26b gnu-efi-3.0.6.tar.bz2 -sha1 9f0f75b64c84423f3386da6f3200f5ed7471d9cb gnu-efi-3.0.6.tar.bz2 +md5 32af17b917545a693e549af2439c4a99 gnu-efi-3.0.9.tar.bz2 +sha1 9b39e06206e63eba56d59a648a7e4f20aead6962 gnu-efi-3.0.9.tar.bz2 # Locally computed -sha256 21515902d80fbea23328a61d70d3d51a47204abd1507ebfa27550a7b9bf22c91 gnu-efi-3.0.6.tar.bz2 +sha256 6715ea7eae1c7e4fc5041034bd3f107ec2911962ed284a081e491646b12277f0 gnu-efi-3.0.9.tar.bz2 +sha256 42d352e9c28dd446fd0209cd6f75588c8e41f0934540bb382bbd61c752360265 README.efilib diff --git a/bsp/buildroot/package/gnu-efi/gnu-efi.mk b/bsp/buildroot/package/gnu-efi/gnu-efi.mk index d55e0274..fe3c8ac3 100644 --- a/bsp/buildroot/package/gnu-efi/gnu-efi.mk +++ b/bsp/buildroot/package/gnu-efi/gnu-efi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNU_EFI_VERSION = 3.0.6 +GNU_EFI_VERSION = 3.0.9 GNU_EFI_SOURCE = gnu-efi-$(GNU_EFI_VERSION).tar.bz2 GNU_EFI_SITE = http://downloads.sourceforge.net/project/gnu-efi GNU_EFI_INSTALL_STAGING = YES @@ -26,17 +26,18 @@ else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) GNU_EFI_PLATFORM = aarch64 endif +GNU_EFI_MAKE_OPTS = \ + ARCH=$(GNU_EFI_PLATFORM) \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + PREFIX=/usr + define GNU_EFI_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(TARGET_CONFIGURE_OPTS) \ - ARCH=$(GNU_EFI_PLATFORM) + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(GNU_EFI_MAKE_OPTS) endef define GNU_EFI_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ - $(TARGET_CONFIGURE_OPTS) \ - INSTALLROOT=$(STAGING_DIR) \ - PREFIX=/usr ARCH=$(GNU_EFI_PLATFORM) install + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(GNU_EFI_MAKE_OPTS) \ + INSTALLROOT=$(STAGING_DIR) install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/gnuchess/gnuchess.hash b/bsp/buildroot/package/gnuchess/gnuchess.hash index 064a845e..9342fc3e 100644 --- a/bsp/buildroot/package/gnuchess/gnuchess.hash +++ b/bsp/buildroot/package/gnuchess/gnuchess.hash @@ -1,2 +1,3 @@ # sha256 locally computed -sha256 3c425c0264f253fc5cc2ba969abe667d77703c728770bd4b23c456cbe5e082ef gnuchess-6.2.4.tar.gz +sha256 9a99e963355706cab32099d140b698eda9de164ebce40a5420b1b9772dd04802 gnuchess-6.2.5.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/gnuchess/gnuchess.mk b/bsp/buildroot/package/gnuchess/gnuchess.mk index 1465ab0a..4d91706d 100644 --- a/bsp/buildroot/package/gnuchess/gnuchess.mk +++ b/bsp/buildroot/package/gnuchess/gnuchess.mk @@ -4,9 +4,9 @@ # ################################################################################ -GNUCHESS_VERSION = 6.2.4 +GNUCHESS_VERSION = 6.2.5 GNUCHESS_SITE = $(BR2_GNU_MIRROR)/chess -GNUCHESS_LICENSE = GPL-2.0+ +GNUCHESS_LICENSE = GPL-3.0+ GNUCHESS_LICENSE_FILES = COPYING GNUCHESS_DEPENDENCIES = host-flex flex diff --git a/bsp/buildroot/package/gnupg2/gnupg2.hash b/bsp/buildroot/package/gnupg2/gnupg2.hash index f5890c5e..f985e11a 100644 --- a/bsp/buildroot/package/gnupg2/gnupg2.hash +++ b/bsp/buildroot/package/gnupg2/gnupg2.hash @@ -1,6 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html -sha1 d87553a125832ea90e8aeb3ceeecf24f88de56fb gnupg-2.2.8.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000433.html +sha1 2aeccc35ea8034306ff7a1072b84abbaa79619c3 gnupg-2.2.12.tar.bz2 # Calculated based on the hash above and signature -# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.8.tar.bz2.sig -sha256 777b4cb8ced21965a5053d4fa20fe11484f0a478f3d011cef508a1a49db50dcd gnupg-2.2.8.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.12.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 db030f8b4c98640e91300d36d516f1f4f8fe09514a94ea9fc7411ee1a34082cb gnupg-2.2.12.tar.bz2 sha256 bc2d6664f6276fa0a72d57633b3ae68dc7dcb677b71018bf08c8e93e509f1357 COPYING diff --git a/bsp/buildroot/package/gnupg2/gnupg2.mk b/bsp/buildroot/package/gnupg2/gnupg2.mk index 3151860f..9365e960 100644 --- a/bsp/buildroot/package/gnupg2/gnupg2.mk +++ b/bsp/buildroot/package/gnupg2/gnupg2.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUPG2_VERSION = 2.2.8 +GNUPG2_VERSION = 2.2.12 GNUPG2_SOURCE = gnupg-$(GNUPG2_VERSION).tar.bz2 GNUPG2_SITE = https://gnupg.org/ftp/gcrypt/gnupg GNUPG2_LICENSE = GPL-3.0+ diff --git a/bsp/buildroot/package/gnuradio/0001-suppress-boost_unitest-detection.patch b/bsp/buildroot/package/gnuradio/0001-suppress-boost_unitest-detection.patch deleted file mode 100644 index f1713dc3..00000000 --- a/bsp/buildroot/package/gnuradio/0001-suppress-boost_unitest-detection.patch +++ /dev/null @@ -1,41 +0,0 @@ -By default, the boost test option is mandatory for build environment -detection. -This patch suppress this dependency and allows the test part only if -build_test is enabled at the Buildroot level. - -Signed-off-by: Gwenhael Goavec-Merou ---- -Index: gnuradio-3.7.5/volk/cmake/VolkBoost.cmake -=================================================================== ---- gnuradio-3.7.5.orig/volk/cmake/Modules/VolkBoost.cmake -+++ gnuradio-3.7.5/volk/cmake/Modules/VolkBoost.cmake -@@ -29,7 +29,6 @@ set(__INCLUDED_VOLK_BOOST_CMAKE TRUE) - set(BOOST_REQUIRED_COMPONENTS - filesystem - system -- unit_test_framework - program_options - ) - -Index: gnuradio-3.7.5/volk/lib/CMakeLists.txt -=================================================================== ---- gnuradio-3.7.5.orig/volk/lib/CMakeLists.txt -+++ gnuradio-3.7.5/volk/lib/CMakeLists.txt -@@ -580,7 +580,10 @@ - ######################################################################## - # Build the QA test application - ######################################################################## --if(ENABLE_TESTING) -+ -+find_package(Boost "1.35" COMPONENTS "unit_test_framework") -+ -+if(ENABLE_TESTING AND BUILD_TEST) - - #include Boost headers - include_directories(${Boost_INCLUDE_DIRS}) -@@ -597,4 +600,4 @@ - TARGET_DEPS volk - ) - --endif(ENABLE_TESTING) -+endif(ENABLE_TESTING AND BUILD_TEST) diff --git a/bsp/buildroot/package/gnuradio/Config.in b/bsp/buildroot/package/gnuradio/Config.in index 178bdc88..3fdaea85 100644 --- a/bsp/buildroot/package/gnuradio/Config.in +++ b/bsp/buildroot/package/gnuradio/Config.in @@ -1,5 +1,6 @@ comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library" depends on BR2_USE_MMU + depends on !BR2_PACKAGE_PYTHON3 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS @@ -10,6 +11,7 @@ config BR2_PACKAGE_GNURADIO depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_USE_MMU # use fork() depends on BR2_USE_WCHAR # boost + depends on !BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM @@ -69,10 +71,12 @@ config BR2_PACKAGE_GNURADIO_UTILS help Misc python utilities -comment "gr-fft, -filter, -analog, -channels, -digital, -trellis, -pager, -qtgui depends fftw's single precision" - depends on !BR2_PACKAGE_FFTW_PRECISION_SINGLE - -if BR2_PACKAGE_FFTW_PRECISION_SINGLE +config BR2_PACKAGE_GNURADIO_ZEROMQ + bool "gr-zeromq support" + select BR2_PACKAGE_CPPZMQ + select BR2_PACKAGE_PYTHON_PYZMQ if BR2_PACKAGE_GNURADIO_PYTHON + help + zeromq communication support config BR2_PACKAGE_GNURADIO_ANALOG bool "gr-analog support" @@ -94,6 +98,8 @@ config BR2_PACKAGE_GNURADIO_DIGITAL config BR2_PACKAGE_GNURADIO_FFT bool "gr-fft support" + select BR2_PACKAGE_FFTW + select BR2_PACKAGE_FFTW_SINGLE select BR2_PACKAGE_GNURADIO_BLOCKS help FFT signal processing blocks @@ -110,16 +116,6 @@ config BR2_PACKAGE_GNURADIO_PAGER help FLEX pager decoder implementation blocks -config BR2_PACKAGE_GNURADIO_QTGUI - bool "gr-qtgui" - depends on BR2_PACKAGE_PYTHON_PYQT - depends on BR2_PACKAGE_QWT - depends on BR2_PACKAGE_QT_STL - select BR2_PACKAGE_GNURADIO_FFT - select BR2_PACKAGE_GNURADIO_FILTER - help - GNU Radio Qt scopes - config BR2_PACKAGE_GNURADIO_TRELLIS bool "gr-trellis support" select BR2_PACKAGE_GNURADIO_DIGITAL @@ -127,4 +123,3 @@ config BR2_PACKAGE_GNURADIO_TRELLIS Trellis coded modulation blocks endif -endif diff --git a/bsp/buildroot/package/gnuradio/gnuradio.hash b/bsp/buildroot/package/gnuradio/gnuradio.hash index 86944f48..884f7ae7 100644 --- a/bsp/buildroot/package/gnuradio/gnuradio.hash +++ b/bsp/buildroot/package/gnuradio/gnuradio.hash @@ -1,2 +1,5 @@ # From http://gnuradio.org/releases/gnuradio/sha256sums -sha256 87d9ba3183858efdbb237add3f9de40f7d65f25e16904a9bc8d764a7287252d4 gnuradio-3.7.11.tar.gz +sha256 1e07ce40fa3c3eede1fb54e320dad8a221a3c01de341e9cef2d7b265ed06a6e9 gnuradio-3.7.13.3.tar.gz + +# Hash for license file: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/gnuradio/gnuradio.mk b/bsp/buildroot/package/gnuradio/gnuradio.mk index a55c1161..202c2213 100644 --- a/bsp/buildroot/package/gnuradio/gnuradio.mk +++ b/bsp/buildroot/package/gnuradio/gnuradio.mk @@ -4,16 +4,17 @@ # ################################################################################ -GNURADIO_VERSION = 3.7.11 +GNURADIO_VERSION = 3.7.13.3 GNURADIO_SITE = http://gnuradio.org/releases/gnuradio GNURADIO_LICENSE = GPL-3.0+ GNURADIO_LICENSE_FILES = COPYING GNURADIO_SUPPORTS_IN_SOURCE_BUILD = NO -# host-python-cheetah is needed for volk to compile +# host-python-mako and host-python-six are needed for volk to compile GNURADIO_DEPENDENCIES = \ - host-python-cheetah \ + host-python-mako \ + host-python-six \ host-swig \ boost @@ -24,7 +25,9 @@ endif GNURADIO_CONF_OPTS = \ -DENABLE_DEFAULT=OFF \ -DENABLE_VOLK=ON \ - -DENABLE_GNURADIO_RUNTIME=ON + -DENABLE_GNURADIO_RUNTIME=ON \ + -DENABLE_GR_QTGUI=OFF \ + -DXMLTO_EXECUTABLE=NOTFOUND # For third-party blocks, the gnuradio libraries are mandatory at # compile time. @@ -100,7 +103,7 @@ GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF endif ifeq ($(BR2_PACKAGE_GNURADIO_FFT),y) -GNURADIO_DEPENDENCIES += fftw +GNURADIO_DEPENDENCIES += fftw-single GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=ON else GNURADIO_CONF_OPTS += -DENABLE_GR_FFT=OFF @@ -125,13 +128,6 @@ else GNURADIO_CONF_OPTS += -DENABLE_PAGER=OFF endif -ifeq ($(BR2_PACKAGE_GNURADIO_QTGUI),y) -GNURADIO_DEPENDENCIES += python-pyqt qwt -GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=ON -else -GNURADIO_CONF_OPTS += -DENABLE_GR_QTGUI=OFF -endif - ifeq ($(BR2_PACKAGE_GNURADIO_TRELLIS),y) GNURADIO_CONF_OPTS += -DENABLE_GR_TRELLIS=ON else @@ -144,4 +140,14 @@ else GNURADIO_CONF_OPTS += -DENABLE_GR_UTILS=OFF endif +ifeq ($(BR2_PACKAGE_GNURADIO_ZEROMQ),y) +GNURADIO_DEPENDENCIES += cppzmq +ifeq ($(BR2_PACKAGE_GNURADIO_PYTHON),y) +GNURADIO_DEPENDENCIES += python-pyzmq +endif +GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=ON +else +GNURADIO_CONF_OPTS += -DENABLE_GR_ZEROMQ=OFF +endif + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/gnutls/Config.in b/bsp/buildroot/package/gnutls/Config.in index 176951a3..7e8dcc1e 100644 --- a/bsp/buildroot/package/gnutls/Config.in +++ b/bsp/buildroot/package/gnutls/Config.in @@ -2,9 +2,10 @@ config BR2_PACKAGE_GNUTLS bool "gnutls" # https://gitlab.com/gnutls/gnutls/issues/203 depends on !BR2_STATIC_LIBS + # gnulib requires a library that implements wctomb(). + # This is noticed only when linking with libgnutls.so. depends on BR2_USE_WCHAR select BR2_PACKAGE_LIBTASN1 - select BR2_PACKAGE_LIBUNISTRING select BR2_PACKAGE_NETTLE select BR2_PACKAGE_PCRE help diff --git a/bsp/buildroot/package/gnutls/gnutls.hash b/bsp/buildroot/package/gnutls/gnutls.hash index bbcd5bd4..1af0e2d4 100644 --- a/bsp/buildroot/package/gnutls/gnutls.hash +++ b/bsp/buildroot/package/gnutls/gnutls.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz.sig -sha256 1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44 gnutls-3.5.19.tar.xz +# https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.6.tar.xz.sig +sha256 bb9acab8af2ac430edf45faaaa4ed2c51f86e57cb57689be6701aceef4732ca7 gnutls-3.6.6.tar.xz # Locally calculated sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 doc/COPYING sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 doc/COPYING.LESSER diff --git a/bsp/buildroot/package/gnutls/gnutls.mk b/bsp/buildroot/package/gnutls/gnutls.mk index 1cf1f281..c6d2d727 100644 --- a/bsp/buildroot/package/gnutls/gnutls.mk +++ b/bsp/buildroot/package/gnutls/gnutls.mk @@ -4,13 +4,13 @@ # ################################################################################ -GNUTLS_VERSION_MAJOR = 3.5 -GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).19 +GNUTLS_VERSION_MAJOR = 3.6 +GNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).6 GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz GNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR) GNUTLS_LICENSE = LGPL-2.1+ (core library), GPL-3.0+ (gnutls-openssl library) GNUTLS_LICENSE_FILES = doc/COPYING doc/COPYING.LESSER -GNUTLS_DEPENDENCIES = host-pkgconf libunistring libtasn1 nettle pcre +GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre GNUTLS_CONF_OPTS = \ --disable-doc \ --disable-guile \ @@ -18,8 +18,6 @@ GNUTLS_CONF_OPTS = \ --disable-rpath \ --enable-local-libopts \ --enable-openssl-compatibility \ - --with-libnettle-prefix=$(STAGING_DIR)/usr \ - --with-libunistring-prefix=$(STAGING_DIR)/usr \ --with-librt-prefix=$(STAGING_DIR) \ --without-tpm \ $(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools) @@ -30,9 +28,8 @@ GNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \ gl_cv_func_gettimeofday_clobber=no GNUTLS_INSTALL_STAGING = YES -# libpthread and libz autodetection poison the linkpath +# libpthread autodetection poison the linkpath GNUTLS_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_THREADS),--with-libpthread-prefix=$(STAGING_DIR)/usr) -GNUTLS_CONF_OPTS += $(if $(BR2_PACKAGE_ZLIB),--with-libz-prefix=$(STAGING_DIR)/usr) # gnutls needs libregex, but pcre can be used too # The check isn't cross-compile friendly @@ -61,9 +58,9 @@ GNUTLS_CONF_OPTS += --enable-cryptodev GNUTLS_DEPENDENCIES += cryptodev-linux endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) +ifeq ($(BR2_PACKAGE_LIBIDN2),y) GNUTLS_CONF_OPTS += --with-idn -GNUTLS_DEPENDENCIES += libidn +GNUTLS_DEPENDENCIES += libidn2 else GNUTLS_CONF_OPTS += --without-idn endif @@ -75,11 +72,18 @@ else GNUTLS_CONF_OPTS += --without-p11-kit endif -ifeq ($(BR2_PACKAGE_ZLIB),y) -GNUTLS_CONF_OPTS += --with-zlib -GNUTLS_DEPENDENCIES += zlib +ifeq ($(BR2_PACKAGE_LIBUNISTRING),y) +GNUTLS_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr +GNUTLS_DEPENDENCIES += libunistring else -GNUTLS_CONF_OPTS += --without-zlib +GNUTLS_CONF_OPTS += --with-included-unistring +endif + +# Provide a default CA cert location +ifeq ($(BR2_PACKAGE_P11_KIT),y) +GNUTLS_CONF_OPTS += --with-default-trust-store-pkcs11=pkcs11:model=p11-kit-trust +else ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y) +GNUTLS_CONF_OPTS += --with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/go/0001-build.go-explicit-option-for-crosscompilation.patch b/bsp/buildroot/package/go/0001-build.go-explicit-option-for-crosscompilation.patch new file mode 100644 index 00000000..f76c5b1d --- /dev/null +++ b/bsp/buildroot/package/go/0001-build.go-explicit-option-for-crosscompilation.patch @@ -0,0 +1,40 @@ +From e1382a731a726293e30901038c6870fa77ef6095 Mon Sep 17 00:00:00 2001 +From: Angelo Compagnucci +Date: Tue, 8 May 2018 16:08:44 +0200 +Subject: [PATCH] build.go: explicit option for crosscompilation + +Actually if GOHOSTOS == GOOS || GOHOSTARCH == GOARCH the go build system +assume it's not cross compiling and uses the same toolchain also for the +bootstrap. This is a problem in case the cross compilation mandates a +different toolchain for bootstrap and target. This patch adds +GO_ASSUME_CROSSCOMPILING varible to assure that in case of cross +compilation CC_FOR_TARGET can be different from CC. + +Signed-off-by: Angelo Compagnucci +Signed-off-by: Anisse Astier +--- + src/cmd/dist/build.go | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go +index 99d1db5..eb4097f 100644 +--- a/src/cmd/dist/build.go ++++ b/src/cmd/dist/build.go +@@ -252,12 +252,13 @@ func xinit() { + // $CC_FOR_goos_goarch, if set, applies only to goos/goarch. + func compilerEnv(envName, def string) map[string]string { + m := map[string]string{"": def} ++ crosscompiling := os.Getenv("GO_ASSUME_CROSSCOMPILING") + + if env := os.Getenv(envName); env != "" { + m[""] = env + } + if env := os.Getenv(envName + "_FOR_TARGET"); env != "" { +- if gohostos != goos || gohostarch != goarch { ++ if gohostos != goos || gohostarch != goarch || crosscompiling == "1" { + m[gohostos+"/"+gohostarch] = m[""] + } + m[""] = env +-- +2.7.4 + diff --git a/bsp/buildroot/package/go/Config.in.host b/bsp/buildroot/package/go/Config.in.host index c871ac41..f619ca00 100644 --- a/bsp/buildroot/package/go/Config.in.host +++ b/bsp/buildroot/package/go/Config.in.host @@ -1,6 +1,7 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS bool default y + depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ diff --git a/bsp/buildroot/package/go/go.hash b/bsp/buildroot/package/go/go.hash index 445a0b7c..29891399 100644 --- a/bsp/buildroot/package/go/go.hash +++ b/bsp/buildroot/package/go/go.hash @@ -1,2 +1,3 @@ # From https://golang.org/dl/ -sha256 a4ab229028ed167ba1986825751463605264e44868362ca8e7accc8be057e993 go1.9.src.tar.gz +sha256 bc1ef02bb1668835db1390a2e478dcbccb5dd16911691af9d75184bbe5aa943e go1.11.5.src.tar.gz +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 LICENSE diff --git a/bsp/buildroot/package/go/go.mk b/bsp/buildroot/package/go/go.mk index 23facbdd..1558b55e 100644 --- a/bsp/buildroot/package/go/go.mk +++ b/bsp/buildroot/package/go/go.mk @@ -4,7 +4,7 @@ # ################################################################################ -GO_VERSION = 1.9 +GO_VERSION = 1.11.5 GO_SITE = https://storage.googleapis.com/golang GO_SOURCE = go$(GO_VERSION).src.tar.gz @@ -42,6 +42,7 @@ HOST_GO_ROOT = $(HOST_DIR)/lib/go # For the convienience of target packages. HOST_GO_TOOLDIR = $(HOST_GO_ROOT)/pkg/tool/linux_$(GO_GOARCH) HOST_GO_TARGET_ENV = \ + GO111MODULE=off \ GOARCH=$(GO_GOARCH) \ GOROOT="$(HOST_GO_ROOT)" \ CC="$(TARGET_CC)" \ @@ -58,15 +59,10 @@ else HOST_GO_CGO_ENABLED = 0 endif -# The go build system doesn't have the notion of cross compiling, but just the -# notion of architecture. When the host and target architectures are different -# it expects to be given a target cross compiler in CC_FOR_TARGET. When the -# architectures are the same it will use CC_FOR_TARGET for both host and target -# compilation. To work around this limitation build and install a set of -# compiler and tool binaries built with CC_FOR_TARGET set to the host compiler. -# Also, the go build system is not compatible with ccache, so use +# The go build system is not compatible with ccache, so use # HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685. HOST_GO_MAKE_ENV = \ + GO111MODULE=off \ GOROOT_BOOTSTRAP=$(HOST_GO_BOOTSTRAP_ROOT) \ GOROOT_FINAL=$(HOST_GO_ROOT) \ GOROOT="$(@D)" \ @@ -75,31 +71,22 @@ HOST_GO_MAKE_ENV = \ $(if $(GO_GOARM),GOARM=$(GO_GOARM)) \ GOOS=linux \ CC=$(HOSTCC_NOCCACHE) \ - CXX=$(HOSTCXX_NOCCACHE) + CXX=$(HOSTCXX_NOCCACHE) \ + GO_ASSUME_CROSSCOMPILING=1 HOST_GO_TARGET_CC = \ CC_FOR_TARGET="$(TARGET_CC)" \ CXX_FOR_TARGET="$(TARGET_CXX)" -HOST_GO_HOST_CC = \ - CC_FOR_TARGET=$(HOSTCC_NOCCACHE) \ - CXX_FOR_TARGET=$(HOSTCXX_NOCCACHE) - -HOST_GO_TMP = $(@D)/host-go-tmp - define HOST_GO_BUILD_CMDS cd $(@D)/src && \ - $(HOST_GO_MAKE_ENV) $(HOST_GO_HOST_CC) CGO_ENABLED=0 ./make.bash - mkdir -p $(HOST_GO_TMP) - mv $(@D)/pkg/tool $(HOST_GO_TMP)/ - mv $(@D)/bin/ $(HOST_GO_TMP)/ - cd $(@D)/src && \ - $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) CGO_ENABLED=$(HOST_GO_CGO_ENABLED) ./make.bash + $(HOST_GO_MAKE_ENV) $(HOST_GO_TARGET_CC) CGO_ENABLED=$(HOST_GO_CGO_ENABLED) \ + ./make.bash $(if $(VERBOSE),-v) endef define HOST_GO_INSTALL_CMDS - $(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/go $(HOST_GO_ROOT)/bin/go - $(INSTALL) -D -m 0755 $(HOST_GO_TMP)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt + $(INSTALL) -D -m 0755 $(@D)/bin/go $(HOST_GO_ROOT)/bin/go + $(INSTALL) -D -m 0755 $(@D)/bin/gofmt $(HOST_GO_ROOT)/bin/gofmt ln -sf ../lib/go/bin/go $(HOST_DIR)/bin/ ln -sf ../lib/go/bin/gofmt $(HOST_DIR)/bin/ @@ -108,7 +95,7 @@ define HOST_GO_INSTALL_CMDS mkdir -p $(HOST_GO_ROOT)/pkg cp -a $(@D)/pkg/include $(@D)/pkg/linux_* $(HOST_GO_ROOT)/pkg/ - cp -a $(HOST_GO_TMP)/tool $(HOST_GO_ROOT)/pkg/ + cp -a $(@D)/pkg/tool $(HOST_GO_ROOT)/pkg/ # There is a known issue which requires the go sources to be installed # https://golang.org/issue/2775 @@ -116,7 +103,7 @@ define HOST_GO_INSTALL_CMDS # Set all file timestamps to prevent the go compiler from rebuilding any # built in packages when programs are built. - find $(HOST_GO_ROOT) -type f -exec touch -r $(HOST_GO_TMP)/bin/go {} \; + find $(HOST_GO_ROOT) -type f -exec touch -r $(@D)/bin/go {} \; endef $(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/googlefontdirectory/Config.in b/bsp/buildroot/package/googlefontdirectory/Config.in index 762c1b17..cf2814d8 100644 --- a/bsp/buildroot/package/googlefontdirectory/Config.in +++ b/bsp/buildroot/package/googlefontdirectory/Config.in @@ -1,16 +1,19 @@ config BR2_PACKAGE_GOOGLEFONTDIRECTORY bool "Google font directory" help - Google font directory + Font files available from Google Fonts - http://code.google.com/p/googlefontdirectory/ + https://github.com/google/fonts if BR2_PACKAGE_GOOGLEFONTDIRECTORY config BR2_PACKAGE_GOOGLEFONTDIRECTORY_FONTS string "List of fonts to install" - default "droid" + default "ufl/ubuntu" help - Specify a space-separated list of fonts to install + Specify a space-separated list of fonts to install. They + correspond to the path of the font directory within Google + Font directory code base. For example: ufl/ubuntu, + apache/kranky or ofl/gleego. endif diff --git a/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.hash b/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.hash index 6b15b2b8..2525b6ff 100644 --- a/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.hash +++ b/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.hash @@ -1,2 +1,994 @@ # Locally calculated -sha256 8a7d04feef21fdfc09d90cd3e2c0c05dcb2fdd4e15f971e8ceaf4d90c1c123cd googlewebfonts.tgz +sha256 ec2ddbeee673cce1b0796e3b20fbff5fd836ce9ba6d88deed8b59154fa255f06 googlefontdirectory-94dff3eaa9301b6640cccc63c56d6ff33d82882c.tar.gz +# Locally calculated with +# for i in $(find apache/ ofl/ ufl/ -name 'LICENSE.txt' -o -name 'OFL.txt' -o -name 'LICENCE.txt') ; do printf "sha256 %s\n" "$(sha256sum $i)" ; done +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotocondensed/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanscondensed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/walterturncoat/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/fontdinerswanky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/aclonica/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/sunshiney/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/ultra/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/unkempt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/slackey/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/satisfy/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensans/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/montez/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/kranky/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/arimo/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrew/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/tinos/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/opensanshebrewcondensed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/justanotherhand/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotoslab/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/homemadeapple/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/craftygirls/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/crushed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/robotomono/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/maidenorange/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/roboto/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rochester/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rocksalt/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/creepstercaps/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/nokora/LICENSE.txt +sha256 3ddf9be5c28fe27dad143a5dc76eea25222ad1dd68934a047064e56ed2fa40c5 apache/mountainsofchristmas/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cousine/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/syncopate/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/specialelite/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/luckiestguy/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/rancho/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/smokum/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/redressed/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/irishgrover/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/comingsoon/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/cherrycreamsoda/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/schoolbell/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/yellowtail/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/calligraffitti/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/permanentmarker/LICENSE.txt +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache/chewy/LICENSE.txt +sha256 0fc8e6675568c02aac6b41dd3cccaf2264fc5969601effe68e09b26635879b2c ofl/ranchers/OFL.txt +sha256 ff72e4d89860e64ee38ccf8a5a7e9dc085d5e36115b096a6c7f8bc988e9bec61 ofl/kumarone/OFL.txt +sha256 643c63caf03855ae29be68035d8888e95eadc767a1d92f163d686da1b0a1cd3c ofl/cantarell/OFL.txt +sha256 1d242ab6fbb2dfbba2e7119b00a6328bc59cb2faf7299b844e9b92a2f12c0d8b ofl/adventpro/OFL.txt +sha256 01af2625d6247ecd2430d1d1603c579f85989d43b2d9129e08e0ac0df8909918 ofl/tienne/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaina/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustina/OFL.txt +sha256 69c34ca1873308c667ddde663cbf59c0d1cf14cbb945ad010f71d21264249e24 ofl/aubrey/OFL.txt +sha256 4febcc8d6e539db3e0c652da87bc8704f6d48e71e07f8ddb0974094a3de8da81 ofl/flavors/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktavaani/OFL.txt +sha256 ab5499b975c2dc82f533c6f13c5fca589df4d57c7c400db5f6ca8565ad9c2fd3 ofl/butchermancaps/OFL.txt +sha256 6a28d4d5d8b4d1ea89ace5a047ac6e0de182acdb8bfa22897bf7702102094f69 ofl/shadowsintolighttwo/OFL.txt +sha256 7a1d085067cd589026b256dd85af1eaa1087fa0f3d468192724c5138cc14d894 ofl/copse/OFL.txt +sha256 fd17f80dc48ff767d91d0dd9f821eebfd8b73ee82f55537a9052b6b0107622c8 ofl/voces/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowsemicondensed/OFL.txt +sha256 4aa1da66597f4c5cfde67790992ee55926ef6aaa87b9a10d529ab35e8b91070c ofl/asapcondensed/OFL.txt +sha256 301f77908df2b00141b4dcea50cc1a586c3afcee78843bd811088e8263623f9d ofl/amaticsc/OFL.txt +sha256 6b6c6721a30480a323cf33acf6a7703dfce46b846827a65f8ee96230060e3c3e ofl/homenaje/OFL.txt +sha256 393d494f9ebb5db6a3552ffa03a4c6f3746c22808b40d011b391681da55ca3f6 ofl/kellyslab/OFL.txt +sha256 ca19ac21c7656f493189093eca52b4239fcc5eacc15ab2e3d67cfbfc0e6e443b ofl/sirinstencil/OFL.txt +sha256 980c2b058d331f3c5ca4a1223e549511b71630e4f4a5533879d436d583cb5665 ofl/arbutus/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsans/OFL.txt +sha256 7527e73a61f742a0dd050ab2fc7333de71ac7886023c100bca66a0a93b37498e ofl/headlandone/OFL.txt +sha256 39b26527bf9ed27b4c85b86341eceea0579f3550bcf448cf06345eaadf947ec9 ofl/rugeboogie/OFL.txt +sha256 2ac164969308ac200eefc516151934701044f0db5695ae2acc15df2a8d22e5cb ofl/anaheim/OFL.txt +sha256 88d3abd47414e7912d0d2eb44ca89e0b1bd7c43cc2ebe58a8a75281ad75a0f60 ofl/stardosstencil/OFL.txt +sha256 01003114b77326df223f291c48cdf12e95f6a5937437f164347919f2bbde12d4 ofl/josefinslab/OFL.txt +sha256 83aa5adca2418f091b732a19cc7c30dcb5c00c217051a58f34f5eecb19be0cd3 ofl/average/OFL.txt +sha256 585c6d2da8bcd8ffa651e0016f2e992a6891b625143a46a1dacf00699a817d9a ofl/monoton/OFL.txt +sha256 96e65d9c227a972e38035b849bba1e8b7879eecbb52f278be1e71dd481187f02 ofl/domine/OFL.txt +sha256 d1bf0acea511ad1f4de53e942cffb8ab0e67c03c6203d6f390d71105d52c33f0 ofl/missfajardose/OFL.txt +sha256 131d19126a0e7ddd25540fd6bee219cebbc8aee7e8374882998ee6c2f4ff6cf4 ofl/mergeone/OFL.txt +sha256 042a570b306ab893c6168be7e6e79bbceae46097141357ad0af7ef8bb179ed7b ofl/goblinone/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexserif/OFL.txt +sha256 bc80ea18223ea0db2ed73ab5bfd0cd601906a2b7a163183c6c4ea333be309ce4 ofl/baumans/OFL.txt +sha256 5f5dbf452c1657370d9280b50d647212a53c80acae6d78e0b5e8c2b26dc62b09 ofl/puritan/OFL.txt +sha256 90bd333a5cf0ed09264fc3e559d44979373f6c3d983b0f65cc46e952b4eb61f0 ofl/contrailone/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/taviraj/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlock/OFL.txt +sha256 75798d56e448ba4d2aec3ef5f3c2d805d9c6fe2ba688cd3d7162b2dd31e9cf48 ofl/textmeone/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedansc/OFL.txt +sha256 466aaa3bbd245e4c91c4e82c0828efe9fcfd913f5b020d75f0918516c2540fa8 ofl/spicyrice/OFL.txt +sha256 88ac81fcd30e64f6e6b91b61b159c9b700bb3dd59012b72ec61629abcfc7fba1 ofl/medulaone/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redactedscript/OFL.txt +sha256 ce78cc8de3f6edd2738e8c02f2079db7086c9a74314baa5854675f83c33954ff ofl/kenia/OFL.txt +sha256 76af3e9e5d8768b17647813a443fcf5df3eb3ced017ee285796625e714d5ea2c ofl/ruslandisplay/OFL.txt +sha256 6e54fc004ebeb61322ecab1d86334ebf69e7051632d48eca489beee505d70762 ofl/hermeneusone/OFL.txt +sha256 8586a7e75681c7297af4cc0641eb2b29e882c5187fe189a1160eceb4e95d4163 ofl/fenix/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusunicase/OFL.txt +sha256 197c3f48cff4df3d768230e0bbdbc4305d8b8b9041ea6fb5e00872af66adc5ae ofl/novamono/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allerta/OFL.txt +sha256 af88d31020bb48a1f78f4384249814d04a44d22feeede2ff4ae79fbb4fcf74da ofl/rammettoone/OFL.txt +sha256 397e83b05703a4240be51e2c3a2be1d0d7693d7a2d8b1ff367c26a2b9afc013e ofl/singleday/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/cedarvillecursive/OFL.txt +sha256 d416bc9437e1d7d8aba0613395ee49c95ce72d680672e910c6205b545cfcbad8 ofl/cherryswash/OFL.txt +sha256 513346ac60af1dde9d4a7bcfad3f39909d5697373a8aa1a6ee4376e6d22d3cdf ofl/niramit/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/coda/OFL.txt +sha256 2a7b0a41ef401e4e0e955280b07c0a2698932d56aad3181089bdbbaad5760491 ofl/habibi/OFL.txt +sha256 2d62278530348951887211d79d1dba04acebd6ed3b1c413f6154702efea3ea62 ofl/iceberg/OFL.txt +sha256 a20db45220b6c4dc9776f24c77dc9ec7a98977d8b3c65b03aabe66b2d08e0791 ofl/cabincondensed/OFL.txt +sha256 fc1e501d419d84a8f1a800adae092045002d7141241f498237611dbb8ea763d7 ofl/stintultracondensed/OFL.txt +sha256 9a51726e5f247cb1f07bb8f49c163bc3e9ddee5f367bb5a1871d09b854ed1b7c ofl/basic/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomatasc/OFL.txt +sha256 e30f893523e50ebbe07acd783ae29c7d604e6208cae7646d993e8528ce13e35a ofl/federo/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/sharetechmono/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiasanslibre/OFL.txt +sha256 5951473ab31533bfe1452bbcece47f237a5546c7e7d45ff1aec0289619623294 ofl/fugazone/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltonian/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenpro/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/yrsa/OFL.txt +sha256 5bbeae56b9db61a9bf85b64d5ed9a74cfcf9ee3e9b005bc2906859ddecd5eaa1 ofl/esteban/OFL.txt +sha256 7b826efb1b74a50b1c1aef0a1ba4530925b993ceadc3016d1d787c68a61649dd ofl/tenorsans/OFL.txt +sha256 28c6d2887c3dfa42488c5418c6c16ead580d33ff0afe60c05159689201f9ec63 ofl/jollylodger/OFL.txt +sha256 ce0023bc03e1428feb5abfaa939b601d2d827ee5a6c84a2657993a7b16c5290a ofl/diplomata/OFL.txt +sha256 8f2e5a9b52cf355023104413827e17dd7126c5a3656492d45eaa1ceb270aa4f1 ofl/yantramanav/OFL.txt +sha256 fe079cdbbad0f6520eb0a8235bce65b21596dd0c4c5a2694b3325cc87313b618 ofl/shortstack/OFL.txt +sha256 018d17b5e04c0a217a21979fa6b6d77bd5a143a5f06ea2ea102e427abd1ebfa2 ofl/tradewinds/OFL.txt +sha256 31c59bcdd538c113ef5c048f56827439facb12b7e5cfd158b04c83727edc453b ofl/salsa/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumpenscript/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserifcaption/OFL.txt +sha256 c867d1a613bebc4932cf28c060fefb3bcfba3be56ed498b873c79f4eb786af1d ofl/librebaskerville/OFL.txt +sha256 694282197de3d750a43689dc64a8116cd19578cd516e7b2490c7b5362c064dbe ofl/kameron/OFL.txt +sha256 cb30d3086a8b3ce0b9e3690bf48d6620402b61160bc658076f95180ccd9e9dae ofl/sourcecodepro/OFL.txt +sha256 a40c3a6d0c968d3a10b17a2614606de6f20178deccc2447305f31fb106a57fb0 ofl/fresca/OFL.txt +sha256 5d3457831b42632d958fe1a14a09706d8acb006486a5ca5b2b419cd61cb22e32 ofl/chelaone/OFL.txt +sha256 6b53fb03a50914cc382f4d025ee595c17c43f24ae870f840bc51969d3e316c7e ofl/limelight/OFL.txt +sha256 574430e571a6928624f4bdf044420f7547a26309b7ebf6962296d33294e0a1e0 ofl/combo/OFL.txt +sha256 fd20b82eb12d16ec31a58fc44f7e6c533b14b425b569d83f616a1f7a9a401e75 ofl/gochihand/OFL.txt +sha256 0e74984817cdd51dbfbd8309022aa75f733e80dff0cb1d26ad2157e90446ba97 ofl/enriqueta/OFL.txt +sha256 ddf311c28ddf5a5ad9747649837346b67bed9d356789c3072bb27dbce49e514d ofl/ptserif/OFL.txt +sha256 4e69611ba5017f1fde74c31d342f5c85604814b1b45387b9ab46205996dec38e ofl/astloch/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostarfill/OFL.txt +sha256 14b3fbd06078a869cf2ba96e6dacb852d373703c86ca7ad54a4cdd6e20fbab19 ofl/knewave/OFL.txt +sha256 a8103c045a88bf9b28dcd7eb60a6662008f49afc0f3721bc46aaf761fc0409e7 ofl/englebert/OFL.txt +sha256 bd22e766af8f8e58eb520cb4fa73538826d04f7371b45e82295d22d1e32a4e58 ofl/gidugu/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/justmeagaindownhere/OFL.txt +sha256 5fba78215eb4e42aed6cb0b5c5df52e0f71246281a866cd4493dfcfcbcab9518 ofl/playball/OFL.txt +sha256 e75230ee246a04912366cd8d759d081200d80fb0756766c96dd52f73e8b40bed ofl/romanesco/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/gamjaflower/OFL.txt +sha256 244ca4ef7b106d8c660e9a00cecf5d581b6a222f447d7d59a8f61711b2ad3400 ofl/uncialantiqua/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/didactgothic/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/giveyouglory/OFL.txt +sha256 638774cdf8233b5ddaf9ebee1821e9de1d5d59c335d8ee3ba0b47fb17833b502 ofl/glegoo/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsan/OFL.txt +sha256 a10a07aaa150c147fa3cb22e845013f38e6c2b45fe5ba32a74ed1be9d4c417ae ofl/odormeanchey/OFL.txt +sha256 a74380bba78a364ec70b3a5fb6a1161b83cb05cc3e75a0910afbd1b5aff4f9c8 ofl/jaldi/OFL.txt +sha256 9b8405bf5f503f92401fc990f372b34d469670ab60041d5298d1015d3d0b45f8 ofl/thabit/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asap/OFL.txt +sha256 ca9fe3a0e10bbb082f83ecdc07f5f04845c4bd689c46456da3e6bae23e11aae2 ofl/inder/OFL.txt +sha256 5b158abb3406e69b7408b562b7199f6ff55a41ea56e260b87176d693b0095e47 ofl/piedra/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendradisplay/OFL.txt +sha256 87b7d831a81fe8b37e7e6c672937493f710ff81883eee3adec7b5423297efd16 ofl/sharetech/OFL.txt +sha256 4ec46c3e4469afa19f0156bac6917472974f9c85c189f9220cf8735d3e810401 ofl/kristi/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilbo/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindcolombo/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothicsc/OFL.txt +sha256 930fed5b06a415736dc3b4e5f4f01585523b672717564bf677f93966bcd57636 ofl/lustria/OFL.txt +sha256 9a536e5a3b55c2605b0a553eed383cd3efa42ba48dc45cc6f0635b3c53ee791e ofl/warnes/OFL.txt +sha256 879ec56fcc9a961937fd24d542b3b7b3f2b8cb3236b7351e62d16719e25de14c ofl/griffy/OFL.txt +sha256 29cca754098468057880970c604e55c4e2bcb8479742e4130c94f2ddc0363f9c ofl/sixcaps/OFL.txt +sha256 67261c7ceb3e627da5c94d6617dac6da29bf36b910bee304a7680ad62e2c8b46 ofl/changaone/OFL.txt +sha256 327bac41d89cf9f32e0efe353228018e1661cff458a5d4905714958514df7bd5 ofl/lalezar/OFL.txt +sha256 525411e604e7a1d85a4cd42641869f94388f04a6ed77829d6c4edd7fd740ceab ofl/ramaraja/OFL.txt +sha256 3d08baba63f1f2427fd96dee8da30b1ef6c1421b3be0e1f07cc2a78abb27c91d ofl/seaweedscript/OFL.txt +sha256 4c0a1150a363b42bd8681ff4a00315ac49510a944c4c9978237ff8b90a8920a5 ofl/grandhotel/OFL.txt +sha256 bc4c7eb365ea342b1a027fb8417fb0152f5d482a2e31c012fbfa29b668827b04 ofl/cutivemono/OFL.txt +sha256 1818771d183d203703c4b134f028527b535810e2a0666c8fe2785354ddbef686 ofl/battambang/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendra/OFL.txt +sha256 9e0d3db586ba0abf5ca398683809dacdf4c81b2960f592bd085fbf206a67ddb0 ofl/sansitaone/OFL.txt +sha256 fb1dbf3725bbdd389b2c569e0eed5091d8d10eed2833ec7efacfc3542e408615 ofl/scheherazade/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorant/OFL.txt +sha256 156ea6985861158c7dea63ecaac4c78ab0ed737d168ddffc3e34c687985a033b ofl/sansation/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/blackandwhitepicture/OFL.txt +sha256 5fe7f3c9410c29534ddd9dfaf64d3994ed4236096d0d543ae69eacc3b25632b1 ofl/bitter/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreya/OFL.txt +sha256 e88691a5e0a8a3f788f31db959701ec90a1d5e7505f1cc53c5663180a7d23c81 ofl/lohitbengali/OFL.txt +sha256 ac55580be2df22a06d29a47501e2ae11e1d399620f5a779e17a66f016ba6d5ff ofl/portersansblock/OFL.txt +sha256 27d9af34210253e7ca1251fbace86c6f65b40031d6ce1a75493a1b2093631298 ofl/vt323/OFL.txt +sha256 9452ef55386e77bd284ca466587d72802337621d7f10aa700e449753883b3397 ofl/trocchi/OFL.txt +sha256 a9b3e7e1cf5735dc49d802b88b1858a2a50307ba2a877ddf3f0b27d8b1d0abc5 ofl/stylish/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindkochi/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivoblack/OFL.txt +sha256 c832a4230a713d080aa2f2544d9a298ed911f689b2c48f7f276a0196b16d2b8a ofl/cookie/OFL.txt +sha256 ae28423a5e63cb65e651ccf62c9091b322fff1d2d4e87ad9f98b1096c2e7abb5 ofl/metrophobic/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindsiliguri/OFL.txt +sha256 8c22fb3866eaebd77a2cb8e8ecbb095381ff32300db57758326fef35a26132f5 ofl/ranga/OFL.txt +sha256 d2875ded3e44e9ae53ea2b35e825dafffa19e82c5d14addb9f1150fcd7a3463d ofl/mina/OFL.txt +sha256 8242e7737bce317f7a7f2b887ac87f5bb21305ab96bee92aadc3febac16c35bf ofl/voltaire/OFL.txt +sha256 fca01a37b10879d7685c7d03fc5a04086b15cdb2cb4f870cb687aa5a9a0a1361 ofl/jimnightshade/OFL.txt +sha256 2492bb8645caaf622bdc3e880cdc9b069921e7341346d7b193666c866a1935d0 ofl/condiment/OFL.txt +sha256 e6ac721b16f309c89fb443680afda427ea34968bad190a80edf281d01d65fa99 ofl/andadasc/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzeldecorative/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/coveredbyyourgrace/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindvadodara/OFL.txt +sha256 5c36e7ec460b285185ea23847aa1f508708d9ce15d5c055279defd022972f836 ofl/rakkas/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhyme/OFL.txt +sha256 c54957d55e7c9e66c28e474cd39de75dc044e8f69056788cae44eb78841ceef1 ofl/montserratsubrayada/OFL.txt +sha256 fccf4916b5f84ef5f88d93fec464421aaf4121d11d4be8d74ee2d032f7661d6c ofl/padauk/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/prociono/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsie/OFL.txt +sha256 0d5fa0cce86012de872273700eef4fd162459e7c24a6a314911380627391071b ofl/bigshotone/OFL.txt +sha256 ca64dee162bf239c7b92d854d388bcd30552edc3ae1ef5e31714acda34c988db ofl/jomhuria/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbookbasic/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeehairline/OFL.txt +sha256 9c56b4e2e4e922cc37e19e1a9e2e1128beaa17a812e1b67c8ac371b0fb57ae03 ofl/kopubbatang/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/tillana/OFL.txt +sha256 486c4d5b9baf0d0ba5546ef3c43fcfe22c062299ab6948045a43efffe4b0f74b ofl/italiana/OFL.txt +sha256 4539710406c656519f8ddc789056a7cd6f4fe66b44cc2f52ebca6e251bb26e13 ofl/imprima/OFL.txt +sha256 7f55affd2bce8ed9be13297ba8df1a4a7e9835c2a006126dc2a1eb4ce75a7943 ofl/muli/OFL.txt +sha256 867b506cb023eae20c1accde77b2e0abf7d8a9e2620da8dbebac9f7b1117ca0b ofl/cantoraone/OFL.txt +sha256 aa72b0185d828cb2fafa62a154e84bd3e20c88ada30326089bb20542b6363aaa ofl/manuale/OFL.txt +sha256 4664e83780a263c53dbab95d3590a5a9db914aeb9a3c78f7e7ad451f9151c998 ofl/spacemono/OFL.txt +sha256 fc59ca3cd3bcb47bd4df597519111ec130c25cabcc57a8808dd2d243cdcec6ae ofl/oldenburg/OFL.txt +sha256 43c372f43d145c22e654781860506a75cb85b086dc76028a62a28a446506d253 ofl/italianno/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinateinline/OFL.txt +sha256 d13a278247ce39695f5ea6b721103faa668083022c5280b78c6392263e473929 ofl/bonbon/OFL.txt +sha256 f0be7437bbb8b91ad4a4f7a5f3d0020368e494a803d892df03e8886d51f2db3a ofl/candal/OFL.txt +sha256 a68d8ec6bea7f277053ae93bf563d4b97c233f09f8e79f86ffe5db66f31fdddf ofl/prozalibre/OFL.txt +sha256 b00c646b7d04a6da1665a148815b8c589c1e05ed7e1febf7ccbd91758747cb03 ofl/quattrocentosans/OFL.txt +sha256 a3deaae17ab9a15dc3c2778126aa6f80d41d567741853f84b16a9e1318ed799a ofl/koulen/OFL.txt +sha256 50f7b09af5ff677f611a96cdf5eb916307c59b29f2e8144942718cb432a9bf6f ofl/margarine/OFL.txt +sha256 72a22b6dd29b6b0cdcc98de30701b46532c9f7314ee095df3063d10775dd70c3 ofl/trochut/OFL.txt +sha256 325e890b8b26fe0a683c3ba24c506d902bdd7034d9c47bd7fa2bb72b5433b9c9 ofl/shrikhand/OFL.txt +sha256 62fab0ba1d5593782cbf048da193f4b1edc16b817577a99d707827513ad80e9a ofl/overlocksc/OFL.txt +sha256 d941aa56e280b4f204272c4b1add01a8ebc7af3e8e69ba8ba9118aa2a5306dde ofl/berkshireswash/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantsc/OFL.txt +sha256 36c285c5472c625901d4a13da7e31c5ea6126678d31d56cf95572c49f27c8950 ofl/passionone/OFL.txt +sha256 fbc351e1b5428e4f45834647dc23a5f8aaa3e744e2f4117ca03c44f640b9a3a2 ofl/stintultraexpanded/OFL.txt +sha256 021d5f1df697848da51620394659187be77cbe382ff2f896bc84ffb89c0c2d52 ofl/portlligatsans/OFL.txt +sha256 85b700bfba1250a6f8bdf930cd7113faf3d8e9dc52cd89eb98c3ac8a038a4aa9 ofl/londrinasketch/OFL.txt +sha256 c972795e48b096b6d4e3a947b0bb21c1baf1922a6e07ff9ada587c058f228740 ofl/coustard/OFL.txt +sha256 eb4a7a082fb0e7dde0a8f975d33f02907ccbe40751c8115e790cf3679787d01c ofl/strait/OFL.txt +sha256 9b1cfccef4a7e19f90e2901f808f3aec4335d3cc81f978453ad0c8ded14447a0 ofl/novascript/OFL.txt +sha256 43c89012c2b640187aae7e0c83d5ffa8381a0368c00e8426594358d44d3811e3 ofl/nunitosans/OFL.txt +sha256 fdecdad755f4e5e95bee491c7521f31625dc08283562ea8579543c90430eb269 ofl/karlatamilinclined/OFL.txt +sha256 5e80642a11aff2ead815949a8a929aff3fb7b9b6a24391406068a1b204dcc8ba ofl/abeezee/OFL.txt +sha256 bd77eae571de83ba3884c74c7983e8ac5cdf858badc36906179346dcd7e82454 ofl/gentiumbasic/OFL.txt +sha256 f2fcbde4b8968400d661e7dcc23052b1885815c8e3b45323b26cbb833352f5de ofl/timmana/OFL.txt +sha256 c8af073a60e30b55ef5d0e4f80cea168e06dd65bdee7ec18c1ea8de8f7228780 ofl/strong/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeinline/OFL.txt +sha256 013e33b6b2919fd0ffbdde6080a1c0f4521689fdce0f4876a59cf49ff8ae31c0 ofl/geostar/OFL.txt +sha256 e55c615ed00ce0054bd356041a41e5942b4a8cadceac1e32696ba2ef5f06f748 ofl/andika/OFL.txt +sha256 4705fc9bceb299b2a951d23c321d31f3679871bb99ceadb978907704d211f4f2 ofl/pacifico/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancois/OFL.txt +sha256 99d67fff016522688b8f913377f8ae9f6da6ffeae42cf67c0e5e87cfb0928d33 ofl/unna/OFL.txt +sha256 bba4a13f03d0fd5b476cc148feda6895dd8d65f34b2107ba9d010ad9539d6c0a ofl/faunaone/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangang/OFL.txt +sha256 58bbdbe5c48dd1d7cfd658425a455c29811181873d3a46a4932c29e5b0ec16e6 ofl/euphoriascript/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/laila/OFL.txt +sha256 17b90cece30db64934b7299fd76b033a3774c8a990e78badc74c59a5be8e0727 ofl/cairo/OFL.txt +sha256 5f8ff4a3f951c104e99245bdb952be08c73369222048bbf19fa3bf7170d10949 ofl/sanchez/OFL.txt +sha256 8eb1c1019fe7fe6d0b6e7d7bbbba1d9cbdd969d8c5f26455708f6cfb8a77284c ofl/nanummyeongjo/OFL.txt +sha256 942d51cf079299e83e9dd7a9a37eb92260524e8d1d576b2f0b3f7ca207c53f8e ofl/newrocker/OFL.txt +sha256 117fa195cff980e3b10fd8e8e21658c6ec954b0886647970a03c9694d3553b69 ofl/galindo/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/athiti/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/annieuseyourtelescope/OFL.txt +sha256 f2ab7e5c5c750fa03a8d8f64c72a089ed86fbd3dc172440fcc704b27816d5957 ofl/noticiatext/OFL.txt +sha256 9a33b452a3107542c35fc5fcee80e4d8798c82aca071c2f6f58a0f8dc5ad61fe ofl/cevicheone/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootammudu/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasansextracondensed/OFL.txt +sha256 746b384383888d9325ed2fa9c40d2456b458aa190dd2b8c515ed4f02a1075bb7 ofl/magra/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasanscondensed/OFL.txt +sha256 fe9183a0b7c1ae626b14004cd533c89ec7c192aba017f81ab71ede910256abb2 ofl/abhayalibre/OFL.txt +sha256 876db27db250a9b9c03fc2ef30a5efe1f37c2ed2686d368c3779583bdf746912 ofl/balthazar/OFL.txt +sha256 4342add6f0f2261f8579f31c10a55938930559703eed18be4a33b74eb749d298 ofl/doppioone/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/deliusswashcaps/OFL.txt +sha256 16a8be6ac4b009ba1dd1e17cea48762f4915609ea5dca1303f716cf63998739d ofl/adamina/OFL.txt +sha256 1d567f7c5f579d9031ae5edfb0108b4681bdd2e036249b228cc2843d3f052a0f ofl/redacted/OFL.txt +sha256 866669fde730bf2785f44905ec162f05f2b8d9f6dcf366aca99360fedbfe502c ofl/dancingscript/OFL.txt +sha256 008445a4d53fbd71bff9cf733bdfd841a1b15fb58ef3473f7bab4c456e3b2930 ofl/ovo/OFL.txt +sha256 b7eae5e3c3447f70caa14e0c43f5e0d953f54ee59df406f6362863bcee1a0a95 ofl/almendrasc/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimersc/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivo/OFL.txt +sha256 3747fdcbfe4f51d6a2f101c35105bacde3715b3c32b34b6b03e5fb37983f89fc ofl/quando/OFL.txt +sha256 38a83f1f8b6efc3ab354b8b6eed22e8524dc71280844dc24811d95ae27b34952 ofl/khyay/OFL.txt +sha256 b8fb5cd1bafb52e652c733fdb75ee20c763e97acb0398f6b4bbe1d8ada0c07e5 ofl/misssaintdelafield/OFL.txt +sha256 a3b0977c5c25101d45054cf9199b9127b05fddc79d4da7dcf400821824e5a6d0 ofl/radley/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserratalternates/OFL.txt +sha256 7c05152b2380228795cb474819744653fb03ddbfe5990b912ec7d9a41387230d ofl/asapvfbeta/OFL.txt +sha256 d3909465d5838d9d1c72b975ff1ed4f410a85dccd43801be525bf2b2bde89f92 ofl/snippet/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/mukta/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickavedisplay/OFL.txt +sha256 eef925ad6afcbba33f7989f5ad826fd68d50cc1ab4d679c52927c8afd40bddf0 ofl/sedan/OFL.txt +sha256 4281c00ab5b8f672fc8d686f48cb886ffbe900c8c9ee22473ca7e72e7cef8fbe ofl/wellfleet/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabinvfbeta/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangdon/OFL.txt +sha256 399b33eb38cdfc76b8665defa5f81d52e8193d630ad5858c893db6bc20031bc9 ofl/rye/OFL.txt +sha256 aa5d677391db4e54ad324b6888792e533c5d800de7ab713302a2fc8bff2f4f6e ofl/miltoniantattoo/OFL.txt +sha256 8594350034ab1cb85a1946ef8852e69290255816c311450a66fed6eeda9d6292 ofl/anonymouspro/OFL.txt +sha256 1e5d6660366ddcfca4f2fc10e2acfba9fa4d97d40aec80d7dbfd41d730a420ae ofl/cinzel/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillsjaffna/OFL.txt +sha256 64a73da7af818283168543e24bd214aded1bfec06f013bf9cebc20064a8560c5 ofl/elmessiri/OFL.txt +sha256 4fece81b541808b40293b0cd3f5b1990274e1100e1c20455dc2987cd96639d3f ofl/metamorphous/OFL.txt +sha256 8d325681662a30f58f57c92ab656dcbc9679deb78a493e4c0eab75321b2df6c3 ofl/worksans/OFL.txt +sha256 2887c5bb38abbde9ccc608c4dcc4b0dba0fefc0c74eec011033bcfbd3ffcb235 ofl/jacquesfrancoisshadow/OFL.txt +sha256 aac8f0cda6159b7251d1034651bcb42e07611495bc8cd764c89d22f3123032f8 ofl/aladin/OFL.txt +sha256 81d0973236b5b5709a80a217a330db36eabedf57bf4031de46b4660b69901234 ofl/leaguescript/OFL.txt +sha256 5454dc5cf2f46a2005f42f13ee2a998c7d0afd7f556f32fda208c72b266f7adc ofl/cambo/OFL.txt +sha256 b2d4b0c773afce947728ab99fca43b242b7edb0da26fe29f60c7c2d5094ec23e ofl/suwannaphum/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/labelleaurore/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejumyeongjo/OFL.txt +sha256 cbdf9d35f32a9a2f02fb23c8b89c115a5a8e45feaaa2266920c4594c83dd5ed4 ofl/tenaliramakrishna/OFL.txt +sha256 95d23e4559ea8c6a36aa04fab56e1dca0780f5d93734072d4501023296543102 ofl/archivovfbeta/OFL.txt +sha256 967d75b89eef1f8a0ba1f5ee7dfb13427621f9116c6e7878ca04da8c9aa8641b ofl/mrssheppards/OFL.txt +sha256 8af83da84dd4299842f871285a88049352ab301ffa1f233d2595b29506158635 ofl/blackopsone/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquin/OFL.txt +sha256 c4cd9f38c3246ee6a68c264f017320dc1af09677d386166d8cda806d9a12e0d2 ofl/jockeyone/OFL.txt +sha256 a36ab46c8b1a74a480a1c51d6a5af08b643e870c6d247f233bc97c97c8ad2098 ofl/tuffy/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/nothingyoucoulddo/OFL.txt +sha256 b5c776129b160163c84620b35fd45dea45edf49789cda5a94c2290c230581e0b ofl/scopeone/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/sintony/OFL.txt +sha256 8928e999ff156e35852ab41d7a906598a8285acd3bcd81dff67213a6cd98d43e ofl/mallanna/OFL.txt +sha256 473c5e3123102434d05c66a9fc8b19cf285a3bf71cd8a91a41acef44d1448e62 ofl/sevillana/OFL.txt +sha256 22d1914919d3fe08b179dc31169fc743ca7eede7827b91a5d48c23c8cdc7cb81 ofl/anticslab/OFL.txt +sha256 026610186158060ad351fb20cd1452def5d35b2531634c090ce8cd1d9e9aeaf2 ofl/michroma/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/shadowsintolight/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/architectsdaughter/OFL.txt +sha256 61056041809e0ba18bf8b9d637a375ab1c725025428533d74d668d88b2cb8b89 ofl/simonetta/OFL.txt +sha256 0a852a06f0256a6684662663ccb1d8e08d131abd1f70cf8d972a344cf31aa381 ofl/scada/OFL.txt +sha256 f46c3ea04f38ea73c0731d73dfba3d7361d4b38970feb31a3558bd1b75e0656a ofl/lobstertwo/OFL.txt +sha256 f30a7045e4e21201182b2b9fc4e4b96189aaeaceb2c8e9b68d8bd3dc4e3c5a27 ofl/greatvibes/OFL.txt +sha256 9bc1eb1c679510b32d2e3f5f4f3b47726b1657aa121494aa68ba0b124a3c3a53 ofl/ewert/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39/OFL.txt +sha256 359671bf16c00cae69cb66d041296b2adc7a4becd73a463cb8c5e101d97c7986 ofl/arvo/OFL.txt +sha256 c09e3b81d9cfeec46bc29a3374000e8ad013d694bdf24a288088491dd4cd5c69 ofl/creepster/OFL.txt +sha256 29bd0cfd0fb2a45f9b057c834a057724bae1f63b525a8ac83d3e7525706d9f80 ofl/inconsolata/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siamreap/OFL.txt +sha256 223fa23e8419ee762c662e0faf912dfcf386fa7093ac9ff690e380ce1993ba55 ofl/asar/OFL.txt +sha256 a0369b1d5f654110f2fe101db56a02d02806f1e609ab233368bc573ec45050e5 ofl/butcherman/OFL.txt +sha256 4f8b437578b20bff261adfe6c02f63bcf7dbb6a45ab37804b3547e5d5f44927b ofl/nosifercaps/OFL.txt +sha256 793891edf1f4f4f35b52fcc9706b03f779c7ea18ab8e9e441242d63ef0279488 ofl/autourone/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulhangangcondensed/OFL.txt +sha256 1c023b4aca0e441c55c45c86cdff57fa524a96778f291d9a29a4ad777b70e2e3 ofl/arbutusslab/OFL.txt +sha256 de61c87e08286ad3215398340e9403125ab03c91b33bdf29de6d3e8a386d2d28 ofl/dangrek/OFL.txt +sha256 53ad6a474f68ddfc3fe72449de3ede4d3f033b2f24b77833b1d56edf505486d2 ofl/sura/OFL.txt +sha256 247edbf968c0a5b8defd6a9e420080a8bbca6ea002bfb326d12a472a6f95637b ofl/cuprum/OFL.txt +sha256 0623888cc2391c6c9853c04eafa7f687fef1a8328bbb848feab05d9e2a98764d ofl/emilyscandy/OFL.txt +sha256 1c43e70c49ef7a9b35fcb3758fec8ec5969ff1274c4834b4466b9014f3b9f55f ofl/volkhov/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karlatamilupright/OFL.txt +sha256 cd354a6084383c50398fae709ebe3a5dd98b947c486c1fe9de5f89caf81f980c ofl/snowburstone/OFL.txt +sha256 8a59454b7f1cc0b1fa29805781769047e5c269aa629e3422c2d7fc04b89e5c1f ofl/rosarivo/OFL.txt +sha256 de71817dafdecfee21268b8c4f106146e1d00988c4fd6546b10445eb26b24cc0 ofl/expletussans/OFL.txt +sha256 d1829ff3455bbf3b9d13dfb0a57758a863107c9108aab48558f26f37f1094180 ofl/firamono/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rajdhani/OFL.txt +sha256 26e4c39c4905bd7f1068b0bab008f5a4a9b945e2d7fda31e52719fc5aa9655bf ofl/vibur/OFL.txt +sha256 49f2a11271968a2ce019a43bf5401d1593652a18f27ea59037ff5e39856d2df7 ofl/changa/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/maitree/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsanscaption/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmadurai/OFL.txt +sha256 f354ef1e7256644b320c5e1d9a07a819c2e2b930166003c96680894f9fba81be ofl/mrssaintdelafield/OFL.txt +sha256 5c289da4a19f054ace8e31a144a6a254601898cd7faf9eaa301141afda0adbbe ofl/coiny/OFL.txt +sha256 0886960207bb5bcf81a46ce663bab6c52a742dad80ee2cff5cbcda6f1df88568 ofl/rhodiumlibre/OFL.txt +sha256 8f94e5901c371537043e0c762c827ce33963e7bd186fbea0abafc035ef7120a7 ofl/emblemaone/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/gloriahallelujah/OFL.txt +sha256 24af1fb3ab8dfeddc83162b7f3b6c1104149b6c3022f1aa948ef4f8ff7e6bf7c ofl/poetsenone/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyone/OFL.txt +sha256 70f664de65e7bb62e1ac728f20a9bb28de7fdc18be594186137a9e15ce9dcee5 ofl/niconne/OFL.txt +sha256 e604b133509815768e6ec4738bb04844ce9a23e80099d2b61e5d75ef46acbeb0 ofl/ruluko/OFL.txt +sha256 42ad5a49e171bec80308a1c9e8e66b03e638b3ea65af7fafa6fc0e42f45e7626 ofl/suravaram/OFL.txt +sha256 4fe81901e6f84cfce1145c715e931352a9a12aa7ac75cc193eb523c0cb0e5eb5 ofl/lohitdevanagari/OFL.txt +sha256 2937c7789b0e4fdeda6eafe93164a2ab36e20386704c4cb6f87b1deb620ec0da ofl/leckerlione/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexmono/OFL.txt +sha256 fce9f9e2fb268507a89fceea0b3eccc044f39fc3492968a04fd9e04df5ae95fa ofl/sourcesanspro/OFL.txt +sha256 e12a3e737fa75c0ee072d965b6185710f35e38a4f7a0793ebc66ba14a216109b ofl/meiescript/OFL.txt +sha256 d2f9c74aba2716333b0a3d283083f9fdc93b2e060c5ae094c79e97e8cba9d7e6 ofl/squadaone/OFL.txt +sha256 5d6517d497bea6116ed35079b30374043f6d90b19c8d97fc4e5ec48520d1e08b ofl/zcoolkuaile/OFL.txt +sha256 f8a20490ee8ad3adb2205ea44b279b19099a3a1d6b62849e90b4db20a77deeb8 ofl/brunoace/OFL.txt +sha256 75b2a5f39a53b4cf9286eb3d2cc1f895a8f3442680013c77124121bc347a6448 ofl/lemonada/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellus/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128text/OFL.txt +sha256 eba176d3ae86af6b41e9b744e4d18fb56e2a6ad671381bddb61fabb86b1d39c1 ofl/croissantone/OFL.txt +sha256 12404fcefccc3cb964cb2406510ba679b30f7d7ae689db08df5b455ae24b3feb ofl/paytoneone/OFL.txt +sha256 e2a176ce310235bf281f1124454e21331390ae1b4c429a2d80ae642d333a5a7f ofl/frankruhllibre/OFL.txt +sha256 2d83a49d05906b5e23285168e72c0d019fc15e3ad110376f640feeeda34c27d1 ofl/hennypenny/OFL.txt +sha256 d7d8074c2dd46804990c184e25849947ab76c5ac7607fbf3966543455769bb73 ofl/yeonsung/OFL.txt +sha256 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 ofl/chakrapetch/OFL.txt +sha256 c39e284759a441660d4c4d852c537e271d0fd5c301fe46d065a972b6ee144ba8 ofl/aksarabaligalang/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindmysuru/OFL.txt +sha256 0da6a3e5b24a9fa04085c20a2a1d3101eeb1e0bff56a2291f407187e1b2adcf2 ofl/mrdafoe/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612/OFL.txt +sha256 e2f2dc7a667954c16a919acff5351e8ea89813d10f5a7504e1f4668fffbfa14b ofl/barrio/OFL.txt +sha256 8c495ddd455def58a45310376a747bb61bf86e4b071cc527b3618bccd3ef00fa ofl/chauphilomeneone/OFL.txt +sha256 b687f920fe20fe48d8f7709421e5deeb4becea295c80ce62aadcffc54132fa1b ofl/stalinone/OFL.txt +sha256 a90a8ebe28f3c2905a44557166010a3d219ffcce1703c3c3280ea8728d5e2ebd ofl/heebo/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alefhebrew/OFL.txt +sha256 2cd51b11e821dad2fb7acc54d68bd9a139fc7a1207e17c432ba9ce49bba3d493 ofl/fasterone/OFL.txt +sha256 ca424122f42a8d8442bc4cfd902f5f027ea67b5417705f5af1d1235927781720 ofl/amethysta/OFL.txt +sha256 bb8fac04b8535d39fb9851c9d886248d25bc0c82000066c92dd577c3369f512b ofl/chenla/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/lovedbytheking/OFL.txt +sha256 53a9ce47085d9fef613c7ecb3730dc80d25962510bbea231b89564f58240f251 ofl/gaegu/OFL.txt +sha256 9d96f445b6e9c701428811d0177f894874f8d6f07ecc30d568c506542368f3ff ofl/share/OFL.txt +sha256 9465823369fbe1ae0b5a3065021d53ef8c56e113e664229455dc80b237fa6a07 ofl/nobile/OFL.txt +sha256 0dd8e32457e18621737b593ab0fac49905cd948a078ed0e64f4890df714a1dfb ofl/amita/OFL.txt +sha256 791936b10381b512512317572fb5eee91bf503344d52c37335e402fc1cf19992 ofl/reemkufi/OFL.txt +sha256 898a9cf80636e86d6b6009b96795fda29e431ee701c28c36f274a7e8a7d8246b ofl/rubik/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloothambi/OFL.txt +sha256 382232d1add5623ba5b06394afa071f4eeecccb6d2b2bd02cfecff4a8a45065a ofl/fondamento/OFL.txt +sha256 0c3f4763f49c2cd37757a2856ad470aec6a416981ac6d6e3f900c1128be39de7 ofl/elsieswashcaps/OFL.txt +sha256 d849309d514833fe3d7a610e10f6cd5d99b4f9552bfa304969acbf89c66e4422 ofl/smythe/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkorn/OFL.txt +sha256 a1077580b649c7b0e05ea0e9369d48687b4ab1c585573bf86b0dcce7dde177c0 ofl/junge/OFL.txt +sha256 a9b40759b5821a0c2ad07cbd2c2a61dca4b3e222e6370a7d5bfb6b373bf4fb10 ofl/sunflower/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindguntur/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsans/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/dawningofanewday/OFL.txt +sha256 f27cbf1055db7b9dd80bce5cd12b462f2d9ed7313d84dd8bfef1ddd2b61bdfc5 ofl/chicle/OFL.txt +sha256 aba8997e16b1e3888c6e855ba883c70d96bd4375bff8cb9c7ce0f097200f74b8 ofl/abrilfatface/OFL.txt +sha256 8f24842e9174beda18a556c2ae7d54f5dc444340c19a3a9ef77e23bca366adbd ofl/firasans/OFL.txt +sha256 d484e0dce424a9e360adabb568b6773db5f1566df71ce3e9dcd66a6cc2c38d33 ofl/ericaone/OFL.txt +sha256 1b3b78123c94dcbc9fd4ec174317336c8c93423da62dc946b8852553cb13ddee ofl/economica/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/kanit/OFL.txt +sha256 a6a74417db7c37f69495da556a3eb86a22a784ffb0131e3e0a5a47ce8d7fa5fb ofl/shanti/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepicasc/OFL.txt +sha256 963f283b5410c7df62067a35cd7def0802c583a880e7cd7e326832ec3985ec87 ofl/spectral/OFL.txt +sha256 11bdf9c7abd81f46a88b0b017d78a0e51f451e9dc0c2272813aa9f456ee886ca ofl/kiteone/OFL.txt +sha256 6827fa45930d5847fca5b3d3898b3d87a229fba772a5b6c5bc33bf73ec83478d ofl/khmer/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedfort/OFL.txt +sha256 34b8afbcab7508bea23847288332a8c05a507364ca6f0c8756ce560d7d59d506 ofl/mada/OFL.txt +sha256 b67eed9578defb59cc4ff4b58428fb816786e499e84cdeafca54723b055c169e ofl/viga/OFL.txt +sha256 afc1cda4eedcfe27c8cf30fe3e9879587cb43cc2882d4cb91dd3e3fc9eecd0bf ofl/farsan/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanscondensed/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/lindenhill/OFL.txt +sha256 a89ac8075be60f2beba79bed3fa253415a373dbdc3bb108b23f4854d0dd495b8 ofl/pathwaygothicone/OFL.txt +sha256 4b255eb44f613a8e426e195f0d0b7e10fcba1af7eb6047d9a7f4f3c449940e19 ofl/hindjalandhar/OFL.txt +sha256 f22a2beea88d631a620b15683fd03e79f13ad3297ad97fa5e42283c0b1a3a038 ofl/marckscript/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/terminaldosis/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellgreatprimer/OFL.txt +sha256 d2f87f90d108a947f98c030d9d8e4bf27e761ce83f222453b9a7230c5fb309e1 ofl/novaflat/OFL.txt +sha256 2da0fa5707f1fab1c802969b098fd1b92ca0b3b233a80e27fca416647c064dfc ofl/exo/OFL.txt +sha256 f9e5dfcdb2947c0db70465668706b0617cd052b6f86e582dff8741d9e5cded0a ofl/yinmar/OFL.txt +sha256 bcb0bda74430ccc281a616a81d0a287fed5a423815b00b222e0b7f603f85b26f ofl/caesardressing/OFL.txt +sha256 a94cfd8d1f5c33f9a7506def359b907f3313f7008bb57fc893985963cd342f8f ofl/arsenal/OFL.txt +sha256 52caec7d90533523fa7da64e95faf90ea32a663ce21847a39234b61e18d25044 ofl/bokor/OFL.txt +sha256 ef0bdccd20de76d517fb3939161d05ecd5808382fb8fa82cde5fcdb3adcb8029 ofl/engagement/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondo/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/matesc/OFL.txt +sha256 a7ba785ad99b6eae0444ab89910e512d4af9865937fddbcb5c72c4f59f55d6ad ofl/merriweather/OFL.txt +sha256 010cb216e8f3fbb2836fa3f38787a412b749352de546797f57c03c3bcfe46b1f ofl/nunito/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsans/OFL.txt +sha256 cb8bbf7a86eefa8c146f24ae5be74fffa887ba83719ab3c87036be8e3d0191e2 ofl/montaga/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode128/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/overtherainbow/OFL.txt +sha256 3621f156cc7a26e0a9cb413332e0bb35a0e76b36dbfe0b1c885b565a7bf3051e ofl/drsugiyama/OFL.txt +sha256 fbb941b371c6348ee2572ce8c78fb66128a61885f960dec1906c4e44ca4b4d3c ofl/reeniebeanie/OFL.txt +sha256 9e19c0d2e7e7adcbe9dfd0749e34dda41e7e356e0f2cc082d61d2fc9b6e0cef7 ofl/gfsdidot/OFL.txt +sha256 812fc4af0c63d31e0e81cc153af74e397407b0630e918b8b965bcbb192bc0656 ofl/artifika/OFL.txt +sha256 e8ad3f3de5baeff6bac6e711d8c406e0a6b8a61d2944741532d8965d893a2681 ofl/pirataone/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantupright/OFL.txt +sha256 65f43260cf7e66b57ddca8d148384a6602e2c06edd389a8b3cf388045127b47d ofl/lusitana/OFL.txt +sha256 518962c41d4a5e96b0016bd8d8acc965413ea1a0102467e4955931e702b14a0d ofl/iceland/OFL.txt +sha256 2171558d2482764644a2f793696fa2e48c361730ecc87686b9a29082d6daeb10 ofl/khula/OFL.txt +sha256 d336c098ea798bf14de111cd90dff7d6bc340852405246511345d0f8564fe76e ofl/fingerpaint/OFL.txt +sha256 ea274e87939d38032b31fb741af75bff9fa3f8d4a8b652265f9e0ce1ad7e9f80 ofl/asul/OFL.txt +sha256 eb1992aec1cf892ec94ffc116d79b62c7cb03dc108141b94a57a4195d210b514 ofl/meddon/OFL.txt +sha256 9b584984f9db0ee30347391a76eff9c0a6b03dc450c3c6afe3757a2cb3a4db87 ofl/tajawal/OFL.txt +sha256 1dd84b611f4bed7f9ff9089e76a96337b187e6f283a4ab33bcb987f844f2c4db ofl/parisienne/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/hind/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpica/OFL.txt +sha256 de08ff7a460541753999b1208f1254f1d31f16b421312aca4d4b8179d997de38 ofl/aleo/OFL.txt +sha256 7706a84d7e49e2273877106334a1eded8ae89fb5839fb81e0f2bb27c846f667e ofl/lora/OFL.txt +sha256 cc31fe974951d56d542f33782d07b2d5577a4afdddba89744e6bd69bcbf3a853 ofl/karla/OFL.txt +sha256 0409c6582424508453ce41648067efaacf0c790622918493d8f1d934bc5329a0 ofl/bigelowrules/OFL.txt +sha256 9e2d92fb24b4a548ab030c509ba88267e224f2523728ee9bb35cf334811106bd ofl/exo2/OFL.txt +sha256 f480fd19e7018942ecaf460f7a4ab9ccee0aec579abcb07d559dbede913864c6 ofl/alikeangular/OFL.txt +sha256 6ea7a3ef1d07feb592693f3f22c26d0b09321ff81814292b49be99888d0da9d7 ofl/ponnala/OFL.txt +sha256 0b7eae990329ac175a2e1c329060b3a4d6876e4e0cd7e5235511578352f7b191 ofl/biorhymeexpanded/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveat/OFL.txt +sha256 adadb8d5d34fe2218dca0f4a4919a9b6f81dfaebb289e5446ac7b3063d6965e9 ofl/tangerine/OFL.txt +sha256 16741ac498178f645283cfb45b7a487b6d361b5de5730c5ea729f056f414f6b0 ofl/ropasans/OFL.txt +sha256 1e5bf8207a40678bc401e2e5456d0db1f2a183b550a30976b48dcdd6a4e4c46c ofl/caudex/OFL.txt +sha256 6f9e3a1c51f617e7b110862426204ec7a56d8c6d2f731373b5de6b8d069099b6 ofl/ebgaramond/OFL.txt +sha256 c2368518f12463a93cfed44e1460f36085dc60df06f415ee9b0319809987ccce ofl/frijole/OFL.txt +sha256 5f247fad3e8a86b6c0779dff09277047c1ce2b0b7580a1093347a8af755352ba ofl/sawarabigothic/OFL.txt +sha256 6627b9c2c8ff8e0c6ef23f1b0125dd5b293320c10c916d402fef64916c296d0e ofl/kreon/OFL.txt +sha256 723764a50d4e6985dfcbd75fcb40dbd3abab37ba25ae626486d4a32084854487 ofl/kdamthmor/OFL.txt +sha256 846ce83956a732edd57b74d9ba988d58abc8c8e6d0926859559318ce6aed139d ofl/mclaren/OFL.txt +sha256 ba01480319f922ecebbc73f1a523e7f8876e92b16553a32c494bcd3f6f5a27fa ofl/ledger/OFL.txt +sha256 c3bfad2900a83f571d5c984d490d51c56aef14806c28dde38125593e1e71daca ofl/mrdehaviland/OFL.txt +sha256 12af42b715a3901bfa7add1351e45b6ce22f3061555d52db45e963274c349360 ofl/arimamadurai/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/miriamlibre/OFL.txt +sha256 3169e7e0e87168908218f11d660a52c0b81b5952fd73918a596e70721d68d3e5 ofl/inika/OFL.txt +sha256 e711c816f7de931244976f51166baa15446fc307e5d0ea04fdca1bc2c04afb1c ofl/nixieone/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signika/OFL.txt +sha256 b01cec9e5e2035b70a6aeb61c673d1f6d5c91539845be07733bd9880fddeb9f0 ofl/kadwa/OFL.txt +sha256 d7577acbab1d70f2e6bd1b21d8f61db189d6aabe6375bc2d96564b8d94031664 ofl/stalemate/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eatercaps/OFL.txt +sha256 ae6de2f6fc00f76cc7eb0d97c1ae5e0b7ec734f20ad7f58cf4c74738dc822d21 ofl/chelseamarket/OFL.txt +sha256 860cbfdc9dbc3f0e8d35af80c31e8f20945bff393d4f483dfc157469e01d321c ofl/gorditas/OFL.txt +sha256 9a2d8c5a3de0a6e62432322115dce136139948411dba33cd86525c0a02749fb8 ofl/unicaone/OFL.txt +sha256 4fe01b13ffb41faa8f030d84843a95dab32792dfeeca7c072abbfd3f4d6896ad ofl/audiowide/OFL.txt +sha256 173ea2d0bdda981829719623c35699e8c0e4aa508e0af12817ad7ccbfa4c6137 ofl/originalsurfer/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/trirong/OFL.txt +sha256 58bdc69f4c6177125c6e7cdbc78f710f5f9952f11bba7bd5b17bd7ef169d731f ofl/goudybookletter1911/OFL.txt +sha256 2950994bcfb8e903f0539d28a8ec4af077e0aa1fa7946c33c912d2d6969c2971 ofl/glassantiqua/OFL.txt +sha256 7344b8b8c97c4f88c0ff8bb72bb024bba72f404be1c740b6596a73ed15d28df3 ofl/vampiroone/OFL.txt +sha256 cacad5bf45bf5c81f4b6cbd114261bc8a08f6110b66a4c6fad8bbc16618a3096 ofl/daysone/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasanssc/OFL.txt +sha256 c8155eb9337078a9ea9f1e576ac813a03030ca43e2694593e90cd4fee6fce937 ofl/sumana/OFL.txt +sha256 95803fae1b063e592c67b5867f1f36df1df526e5ebf33c6cd4d4afa31a9d5586 ofl/sitara/OFL.txt +sha256 c254ae01c407f4a2bd0ad163e4c1a795d57ddfa8967c21b8a28c250b44d13963 ofl/sawarabimincho/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanon/OFL.txt +sha256 25995bcf8e8ddea1aafa5449870567cbbeae7e26b27ba30aca5642f2c02e9757 ofl/quantico/OFL.txt +sha256 455755e2e7ce9dbac6beb3729c97c57d6f74a638dcb5be548ec953021fbdbfb3 ofl/ntr/OFL.txt +sha256 ad6f73fa3edb7aea340aadbc63c0d7ef7663abed82664432ae09a6b377fa313f ofl/librefranklin/OFL.txt +sha256 581f08727777cb2a1a1ec95c0f981ce64fb1ad4354f78a0ac4f3481afa605577 ofl/moulpali/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laomuangkhong/OFL.txt +sha256 08fdc7cbd92b9bbc4d41d0945ae7f25450d91c5fc8c66c68df331af3505e4ec3 ofl/rougescript/OFL.txt +sha256 694d5c15c1dac5e26653e18b94394d911e471549ec9b7d6247ade62e486b4915 ofl/asset/OFL.txt +sha256 bddfe669338d0dbc24c15ccd31dbf5c101a213da38049c24baca9ccb7fde45a4 ofl/wallpoet/OFL.txt +sha256 2758cf7a872827f39661cf8cc24188113c030447aefb5ca7145993650076ca8c ofl/ptsansnarrow/OFL.txt +sha256 3cbf579238e4eacd90ad67883d971aa346ce8990d658635f78f98d608a6830a2 ofl/zillaslabhighlight/OFL.txt +sha256 87000f71a897c8c130c7777d058c5868f84316f99a32644b3bf595cd11edeb12 ofl/sancreek/OFL.txt +sha256 08fba9df5c9890f3ab00ee63f63e005ad93a23746f7484f5fe9501a1ad32730e ofl/allertastencil/OFL.txt +sha256 9608d22ae5c586628c9904e773b7c6a6520fc16e1492ebcb5ea55d9523399964 ofl/anton/OFL.txt +sha256 f3758ee70600ecd5450f01ea373204b202e048d0454c9db2d1175c5a5dd1e92f ofl/vesperlibre/OFL.txt +sha256 e43f121c788cca4a14049e58864e28021174b055710ba38e0964e816dbf905af ofl/fruktur/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notoserif/OFL.txt +sha256 a1580ba69a8d706bd95e1e72ee0b5cfda0a478fbbab6a4af13b4a9e1b28faac0 ofl/revalia/OFL.txt +sha256 f323edc1e5a6d8fa16120aa15367cdfb15468474cc621f9bda1a2f73c5d08d73 ofl/sedgwickave/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellfrenchcanonsc/OFL.txt +sha256 0836fd874230b17f840efcf7d3bb529f5a7b5befbfeef94478519cfe2d8551c2 ofl/courgette/OFL.txt +sha256 e3ed3ad6cb257e16dc1789900707c5cd1cdef2d60d155389342604991cf693f9 ofl/bahiana/OFL.txt +sha256 391ac3126dacc95b92a8f3408467879edb3245344bc411530a30d5aada52df92 ofl/gugi/OFL.txt +sha256 88dcde7d08e509a3eec64886292a36cbd58ed9bb52f37f91f55656fb9d21ddb8 ofl/supermercadoone/OFL.txt +sha256 41423e9e1d0ea79d0e78bd5fe9e0b27f4c23140706f5dfbfe116839c83aae91c ofl/charm/OFL.txt +sha256 43186c592361336474683e302dcc988831a53857bef188c4466f6b45dc238f84 ofl/fredokaone/OFL.txt +sha256 a21fa252efb7a1ff84de6a36df4386959668aa046f28161b4047829f7d9cd1b5 ofl/damion/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsancondensed/OFL.txt +sha256 bfc205682f5454b42a732ec857b665293ab8bc6f0ee901a0967219ba7ffdb190 ofl/gfsneohellenic/OFL.txt +sha256 59b91c9912b80714852a43897cbc9414d6457e22072dc99a4cea6e2bb4f3c65c ofl/freehand/OFL.txt +sha256 8b89f3af5fd02216793ff3dfe9a04dc22dfe5c213422ae21558ff1da6a1e94dd ofl/cabin/OFL.txt +sha256 b598b7fddfd578950aa1fe6e0e2607b779abfaa686b83af8ec65c860f646b2cd ofl/rumraisin/OFL.txt +sha256 2bd35914efa381c80f9fb62d6ea7d736d3c0739196a3783c3122593c3408392c ofl/gurajada/OFL.txt +sha256 5625e91bd7c2a45c8b9f59106d587bd025470b462ea901df691defe0099621e1 ofl/taprom/OFL.txt +sha256 37d5360d8d2433689e78302a93cd88e9add8a2294046476625edada2d4328deb ofl/averagesans/OFL.txt +sha256 f8e2b58dd7a8c8e21e5d744b45876bce7e010a647c071c1ed42ff0e618d4ea59 ofl/frederickathegreat/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balootamma/OFL.txt +sha256 09685e225ba9b697b2ccd2d4098cac5ecbed0679960605258a271af60749887b ofl/francoisone/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/himelody/OFL.txt +sha256 08a12877eda24767239f26b527bfce0c515efaf623c66da6baad92a6d5315e9a ofl/content/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/saira/OFL.txt +sha256 d8eb8611f8c98d20cbf18a28425652d6022dc2a5cca15026b920f1f2bc92a612 ofl/delius/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/pridi/OFL.txt +sha256 c1eed37b6d213df4edf8f92ec7d1e972f751abd68ecd649b4f0b8e5d8e8561f6 ofl/rasa/OFL.txt +sha256 4e66943af352059c059dd658774f25fbc831f1ad478f9f0890c06ecc2dd324c7 ofl/metalmania/OFL.txt +sha256 f5b03ea0b27c7f5afb9702771ee57679ae8ba6b471b6ba9e62d985d3256f1929 ofl/playfairdisplay/OFL.txt +sha256 593f0bc55c75b673772b378eaee314f128283745c4bb1cfdb9b8012a3b6c46fe ofl/skranji/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiagruesalibre/OFL.txt +sha256 14d28541780d90f6577bb7abcc6f005bf6969614294e75c82abb8758a696ad46 ofl/quicksand/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloochettan/OFL.txt +sha256 35dca6122235851d236bd861124f4a893d409eba021cd8c6a292a19df0f4640d ofl/codystar/OFL.txt +sha256 ab721b35816e470fb11619ad3705f75d08dccd0864505e3d782e94fd937f6620 ofl/allan/OFL.txt +sha256 d9cdb075679d15a99bab2a8541b9c4fdc71347502111fbe9affd1d462219d96b ofl/indieflower/OFL.txt +sha256 1313ae342eae4e1810304b6cd32f6815dd11b8e45812a2af98e58b6960684fa0 ofl/petrona/OFL.txt +sha256 1e4015251ca58d4f349b4ac930259c6f3d6381ce68f8b4b27d54d53f8f63f972 ofl/angkor/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averialibre/OFL.txt +sha256 8e28b778b6e1a7ff9ca72f4dee2d53120aa2856dc1bfd0be44307e365b0e45bb ofl/cardo/OFL.txt +sha256 a02e8715fcdf3325c474b7209399f50230897bfa828fe4eea2639ced1a1d574b ofl/blackhansans/OFL.txt +sha256 d530c14e9cc263c567b47742ef20df2a41374f00732ba4f290f52adad428b1a2 ofl/meerainimai/OFL.txt +sha256 2e2fe5f1d8916a5160060594a96c1a5116406d26847afdbd09618481e2abd6fc ofl/denkone/OFL.txt +sha256 56c4ff36faaaf336bc5fee659ff6fab2413d67499cc22acc29079b3892d8931b ofl/miniver/OFL.txt +sha256 0d75673e4c98de3e11337dbd90b05d0232edfcade5c1c02fbc0118c85aea25da ofl/macondoswashcaps/OFL.txt +sha256 742a6a4386db47a2987c7c3b4aeedfb5adedfb3356c118de450a664735686535 ofl/graduate/OFL.txt +sha256 9e53298e3629e00ae4c31531cca09051ddaa654a5de4f7b55e596132fff86e1f ofl/dhurjati/OFL.txt +sha256 df9fcd8f62ae79aba7fa5b0563a08dfede1fa0909d668287d70c395d88f5fe02 ofl/fjordone/OFL.txt +sha256 02faa476b17db0044d0c502a3ce12fdc81eeeb9bd618e6a005407c79d6081bbb ofl/monofett/OFL.txt +sha256 1edecf3f971a11dcfd777cbda6f08c0f9a77bf57a0a2a89d8142fb933894ce16 ofl/amiri/OFL.txt +sha256 6e6efa9b0556d100cfe60690cff5d9be7144df77adabfd2c278dbfee451351ea ofl/phetsarath/OFL.txt +sha256 2348c4852e6322105d130aa2addbe24c962e330094ad6dfbfd9fbd2281d76b0b ofl/bellefair/OFL.txt +sha256 3bbcf1617d93d3a949a10da78ae91c58be536fb04567ab4b5b9fd207126f1db5 ofl/buenard/OFL.txt +sha256 faf47a1ceab38b07205b9d58fbbf9ac39772ea47cc731aca7816276da7226a22 ofl/dosis/OFL.txt +sha256 3ac1301549523d9861fedca12871f24e575fbd26d520632fc00ba849b471d275 ofl/russoone/OFL.txt +sha256 44b51296985184d9b27fc2c8e5b317906c5d65d9dc834e81c07902d3e5e1cf1a ofl/brawler/OFL.txt +sha256 afb8c471158619593df0fb501453bd39fda42396e2cc3911e2a0a471c11b863c ofl/sarala/OFL.txt +sha256 de985adf63cff6b1bcb7c5cb55f1c5850fb1d36289d20a0e26d97a281bfcf956 ofl/aldrich/OFL.txt +sha256 194e25172d0144f29aff4b6fb2931ff0be0139448a5cd867db37863c9179330a ofl/stalinistone/OFL.txt +sha256 ae05f8781a5ef38380ef3efe8cad86783610b6a780c6c278d7472f95310fccee ofl/oswald/OFL.txt +sha256 2dab153a33dcb2101bba3f194d27d953c848a0fabf2e336650a81f84a0c33b3f ofl/pragatinarrow/OFL.txt +sha256 9d61931b909f9a738964f8fb311eb8fa40dba1ef9f1688b36039ebb15ee1805e ofl/questrial/OFL.txt +sha256 e315abc82a78710c7242e2f2e6529651fd631d4d50e6ad98ea194f9b54c3d701 ofl/alfaslabone/OFL.txt +sha256 4653c63a4bab99aa50de5190853fa21ea6c0a25d69d49f5a42cd51f0f67665e0 ofl/boogaloo/OFL.txt +sha256 bd8323cd1d2b6bbdfbbf99cb41ec1156d0352ced170de4aa3a96d95e6e20bf5b ofl/amiko/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/sueellenfrancisco/OFL.txt +sha256 ed93e9833f18acc2775380a28139fd88d3ebf82df7cb814042498467be3463bb ofl/lemon/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/itim/OFL.txt +sha256 fa28ba897eb819768d6bc00c30aa03ef560e80e5f6fb872eaea089c66992f502 ofl/notable/OFL.txt +sha256 96199bf9ff12dd471a66911dee95440737b437e7f5a6fd30e9e950c16d66e8df ofl/unifrakturmaguntia/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/judson/OFL.txt +sha256 ad4f6ede2e8a017255822a6abee8d10717f1d34c20223de80285ff59e28a1cba ofl/bangers/OFL.txt +sha256 f8779e6871bbab04e0a1ddd9997f4d8173b56792a1e7f8b9d691d967a49c7dc3 ofl/andada/OFL.txt +sha256 49b9214f7b40024abec2fc89a32bdda380f2174ba7005d7636e6ea340157c5a6 ofl/jomolhari/OFL.txt +sha256 a815f65bc72d90494b01842d3171f7cb0f9f935e023d9cc260904d221ef1064a ofl/b612mono/OFL.txt +sha256 5eca89cdd576df5e4b7c694e0425b126a9ca839aa067df85fab33904a8187076 ofl/amaranth/OFL.txt +sha256 e0cde1a4993ed689d463d5e2401f4a60c54cc48a14253ab0f8012d722c417038 ofl/mavenprovfbeta/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothiccoding/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extended/OFL.txt +sha256 3670ddaf348c62ada22a2f606158dedcd9ca5fd5422a6173d6593204a8f53d4f ofl/varta/OFL.txt +sha256 ab592d1abca19428b89d851706fa7815ec25139c6affb45d366577ca63fb91b7 ofl/yesevaone/OFL.txt +sha256 e8dd8f53b2fa502ace0636debbe7e357c4888d8d02b8b41d6a9a22d3058a63dc ofl/peralta/OFL.txt +sha256 cdf5fc4014abe91588666a9592ec86200e5a4d743b4b6e05d28d47e850bbe5fa ofl/digitalnumbers/OFL.txt +sha256 f8c2225a5fdb50e2e75f98cf6e69f198571f605f1b7f6f7eacc0947e2fcdbe8d ofl/sreekrushnadevaraya/OFL.txt +sha256 a80ee908b60f5bec9c10b135d3da93730e2194107d1f7fd3f61bd8c1a97b3e0c ofl/yesteryear/OFL.txt +sha256 6d216cec166b6e139adaa599053dd49720c053e1f2adb4845de3cc9c3704344d ofl/play/OFL.txt +sha256 46751a31966477e3f038d1e5ff1146a33234a3a523a0e6a21be3221cba082a34 ofl/muktamahee/OFL.txt +sha256 505bb8f3c30f2006b4e02d250fda31ed94b651a35f1124a201ca1c405ce989af ofl/biryani/OFL.txt +sha256 5641212407f956b828bf632afc4bbb3344f461f82255ab56756d9e3e8604c7b1 ofl/martelsans/OFL.txt +sha256 1ed119b01f03187dbe2f5f89c95431b9a4ca46db604fd263164d8b4055189f46 ofl/lateef/OFL.txt +sha256 4938e917ac54665be1dd862f54634d991b39c5d1eef69345d66a5089e401bfb4 ofl/creteround/OFL.txt +sha256 9263f9488a9ed1d5f4218581b642e0f054f9a20d208f1a53c19c9f7dbd27eaf2 ofl/peddana/OFL.txt +sha256 e75ed24435d1711de0bebfaa621c3eb5564798c88cc0c1d1f8d529bbaae703a9 ofl/yanonekaffeesatz/OFL.txt +sha256 708e33bed791c40638926a7577bcef8ff8748f84045f3825277540cbb8d483ba ofl/poiretone/OFL.txt +sha256 f1d1a3536fa4b9c71d04fe4c8d8bbfc0cc5c457d6883f45086b04d0bc07ed12d ofl/vastshadow/OFL.txt +sha256 f9f28345ffcd6cea6e3c6699e4579cd1948053d80fe89a6a5a2ecb269afc95f8 ofl/nikukyu/OFL.txt +sha256 c1bcd16ffc9d095822fd6b7fa1a24c7918b24815ed05711421f804293d2efa62 ofl/actor/OFL.txt +sha256 ae629d13b06d9afc5cf3c07d585f3192b89b7decaffc5c4dfcfa7ce11a2a2b11 ofl/raviprakash/OFL.txt +sha256 bdce62dd98db969b73f93f8e8e2151004c20ad871ceb15ad9bfcbdf2cf939dba ofl/pompiere/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/poorstory/OFL.txt +sha256 757f49d04406c93c40d1781e7867fd85a1f9fdfbfe03a5ae332900da802fffc6 ofl/harmattan/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/khand/OFL.txt +sha256 74ba064d03f1f1c4a952da936c3eb71866c34404916734de3cae73b34357e59e ofl/lato/OFL.txt +sha256 94625b91cba99cf9c8e580febf5e738b2e3c7cde9034a16bcfb7538b672137e5 ofl/zcoolxiaowei/OFL.txt +sha256 3e908f3a95680bdf3c8456bfbf76392605b34cb3fba109e46441056ab966cb35 ofl/modernantiqua/OFL.txt +sha256 6a809aeba8af2115ca4b4c3597b1fbeb836a45f0489070f330f9c2dff870da8d ofl/galada/OFL.txt +sha256 2c3737ea83b48d48624068d1bbd1d9f8049eb7cf2e1f67435e420375c42e0686 ofl/spirax/OFL.txt +sha256 92f750829545386017c3418d890769778b76fd01dfb41c62fcbb0d42ba0303eb ofl/dorsa/OFL.txt +sha256 656a20870fbcb8f559f1c6308c1df90ac93d7cd0279aab49b43a43b5e58534e6 ofl/neucha/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/zeyada/OFL.txt +sha256 4bf7256c8ee73577ee5e26643d3247ec77017ca04489befd3e0f3412827729c7 ofl/laosanspro/OFL.txt +sha256 33e3a83e377c6a41149044bd919f50d9a971d801052d4e0c0a98cb417b42ae38 ofl/risque/OFL.txt +sha256 b4fc1d55ce610f255c5712f8169543f9610536d002deb99bbc99bfbba9f8a560 ofl/pangolin/OFL.txt +sha256 511125dc85198375795fdbc109d088654d3b7f9dbd3ccb7bf93d844aef0b153c ofl/ptmono/OFL.txt +sha256 819e3b25f9b50f12299a3db1638be3813efc6b938f2b86693a218d20ec4e3209 ofl/londrinashadow/OFL.txt +sha256 e3ea566dbf689a9110b2094f9f2e5d16d7ec31720147651efc1005ca20420dd4 ofl/flamenco/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlowcondensed/OFL.txt +sha256 705960c3281a5765ecc0b59bd4ed7ca59eed165748076bc2fc3e8fdbfeb944b0 ofl/pressstart2p/OFL.txt +sha256 7e896665d0863d2a17a671001dbe2528a5f9302f1dff9222af8b0834e9088d0c ofl/kiranghaerang/OFL.txt +sha256 5f1f5510eff7922864bf326ffa1d4a62f01add5193e9367b542378e5a808b500 ofl/handlee/OFL.txt +sha256 3173acd82f8c6159b5b1037b539fcbd4edff68e65c2ea8b9412b5a5ca97b08ff ofl/archivonarrow/OFL.txt +sha256 82831e8f12ecb6deb2f4d9919a04049895b4619e0301fa6b699c861bd7311c54 ofl/kavoon/OFL.txt +sha256 1a5e3792a425687a523fc7c0f8ab5d01d58bf853149d57f3dec4b4fc6932fcf6 ofl/hanuman/OFL.txt +sha256 7f91d7d8854e5cb4fc630807c0f4d57c07777769dc597173fe0aef5e58f0992c ofl/qwigley/OFL.txt +sha256 354b4be0340cd58e381fdf58793a108897bf944a7f8faf9e877c476ed6c730d1 ofl/convergence/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygenmono/OFL.txt +sha256 a7fe1f3d23034092b015aaeb53d2ecbc9e592be96b10bdfbcf8700ec6a6ffc97 ofl/fascinate/OFL.txt +sha256 4dbbe5c21b46f2647d227dde69b971a1b46de1435e0752a9eda1ce120725a93c ofl/norican/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanalei/OFL.txt +sha256 56edbe5fff7981dae6f6eff32f61ba04cd54324e5abfa44b1257b2a307ea561c ofl/poly/OFL.txt +sha256 59bda6b53e28d388de5eac7bbb8f3e65889dc8489be3d922f95a525354110c0e ofl/tharlon/OFL.txt +sha256 3fa0ceff4b9a2d28dde43bc63cde3acfb5e6e92d13a53e484ca0e501e18c7e2e ofl/lekton/OFL.txt +sha256 ad9ce814ff266b57d3c4698d3fadca4b41a6f942a0ddd215db5cc66abf92d668 ofl/mako/OFL.txt +sha256 c4afe82f49c05689c40dd4e262803b29c6e611e7b4efd3a0418f574b2be79d9a ofl/carterone/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/karma/OFL.txt +sha256 d38acce513eccb51d7ac34ca47be279e1fcfdeca1ed088bdd2d281dc6ca939ee ofl/badscript/OFL.txt +sha256 31eb7046f4c80e0f96944c4b40b0772de68b34783b794fc13aab3f54c2ef6d9b ofl/thasadith/OFL.txt +sha256 06c79c896894160a5810d869a822fa7d02a0e2ccffd97920b8cf3b880380f6e5 ofl/amstelvaralpha/OFL.txt +sha256 4faa2d9e2ce0a4b5b37e62ee6fafe474a539b31578f7214ed97cc3503aeb8ebd ofl/oldstandardtt/OFL.txt +sha256 1e511bb01d29562932157365418c02d954d8faeef794bcd54729177fb2b03db0 ofl/istokweb/OFL.txt +sha256 846e8cc6dc69bf685d2db14cfa758ff3d9d771d54c9e0d3b511f0ecb97ac0e8a ofl/cambay/OFL.txt +sha256 6c181f5a0045e8f414e1c232c35972ab83ea084ac44825f517ba001628d97b21 ofl/kronaone/OFL.txt +sha256 d7f96801a28ea11eaa51bc4a9c87fd91f2133bc298068e6e2847a15ddda23089 ofl/librecaslontext/OFL.txt +sha256 1f00d1f970b4ea469b6936e599b599bb217edaab792e586658ef2e71cf438685 ofl/sriracha/OFL.txt +sha256 22c4588bdc14621220ba14515d52041d1312541e034a15d1f5c2a88fc6075276 ofl/merriweathersans/OFL.txt +sha256 1103d0731f1360eb156b0047a1337b2d62266fadcef1015d06f6263719c0200b ofl/librebarcode39text/OFL.txt +sha256 5b26c88d163b1430561f53fd3d9021d6057f3c67d25534a5d8d232cfbf8ee2a4 ofl/wireone/OFL.txt +sha256 57f8d60cfe9212b971f07253e303746128edd06b21e3a0e4e188308e569f03e5 ofl/orienta/OFL.txt +sha256 c87702d8b70f714fbefb554660e8ca57a43ef62a59089d11cbf0c6bd51d56928 ofl/lohittamil/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejuhallasan/OFL.txt +sha256 9437c26410bcd543607a6775e7d0e359c1df3926d68c92dbaceb26ce79cc0fd3 ofl/bevan/OFL.txt +sha256 50265d2b41f8ad2dd350532d2286509aa694021b4aa0490b06f0068e4ed78c27 ofl/herrvonmuellerhoff/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeyemarrow/OFL.txt +sha256 1fac7a3e4e43b091c2d31aef7a375d2b969c42b2d5fce8e2d40b5f7b1233ddb7 ofl/moul/OFL.txt +sha256 331c71cbd8f1d8a70cd6eec3d55553b64e6261a9bb0982fa12e6e48baca827c5 ofl/philosopher/OFL.txt +sha256 1e20933206ca06421c7c378184da5476d195314cf4bcda2bf122cd45d69a956e ofl/oxygen/OFL.txt +sha256 89418a3c7b5726c3f8828a7b7c3f1cad661cf5b7a1be3d2bd9ea243f8d9890c8 ofl/sniglet/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/balooda/OFL.txt +sha256 89d9d01291eeb91074ccf1f7ce07e7a1d9d421ec1191f8e84d440cb50830ed92 ofl/purplepurse/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloopaaji/OFL.txt +sha256 9acc45e5ba18b5b38868fad1f51c03df4f5d7a43061d46314843de45c4444233 ofl/ribeye/OFL.txt +sha256 f938d4076b66a13cf984ce88d92a07ff9802e8ae5e1f4a28cdc43fad122ae611 ofl/spinnaker/OFL.txt +sha256 89bf0833b785c49b0f271273ab440bdc20c85bf0322537dc901df940bf1579da ofl/amarante/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhand/OFL.txt +sha256 684ef102ca4c5ff61cf1c1e5c2c6326f3c26f848446f98b8862dcca716a87601 ofl/quattrocento/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/rozhaone/OFL.txt +sha256 61be7c29f4835e2be7243db12213d75d53ff028f29f4b493212a1688b1d3a1ba ofl/titanone/OFL.txt +sha256 9df0700fcd0ef48abd74459a8650d35f59397fbaa00c5b00527e57cc155689c0 ofl/durusans/OFL.txt +sha256 b1958132ff727bd74409aa37ec0abbe4be13b1b379e1210e6fb77fc608c607d5 ofl/kodchasan/OFL.txt +sha256 f1888ed385b528866a472d02f4e06ef0873aca5b3c63ff1f6116cbb150dc9a13 ofl/metal/OFL.txt +sha256 e36d420a3b382b337c386338d8abc3635e10de5dfca7f822fc63ac659a0dcfc3 ofl/amaticasc/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscript/OFL.txt +sha256 60ddc0ee6e443b78940b5f92bcbab76c98ec6965e0da9fbdaf267383ab72bba8 ofl/anticdidone/OFL.txt +sha256 afc1b710d644c1262e1765d2401abcf93a545a4cb051955e2243fbabb8164e25 ofl/carroisgothic/OFL.txt +sha256 3184f6a99f589c78740fbff6ddaaabb43b8cc2f3852da36e60aeb024ea8d6f00 ofl/eaglelake/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/halant/OFL.txt +sha256 9a9f089005f389717106bb3ba427cda9bd51b8a477078644566543f2a60ca85d ofl/rambla/OFL.txt +sha256 99d2f30e282d6174af8ff68597f58bb53c0dcb2b104a4c1b8d19da49021d00d3 ofl/unifrakturcook/OFL.txt +sha256 2bb0c0200723d923f8e20d08b8bd1c7af7f5cef8bb2d63ce44bd268b54334621 ofl/fjallaone/OFL.txt +sha256 72afba97d1ac9409a9fd3bb91a02a639427ca1988977909dad273e293a508d7e ofl/staatliches/OFL.txt +sha256 88aece7d90f2bb7049719f11619a560af22af3451af141f12aa4f46bb157a99b ofl/lobster/OFL.txt +sha256 955655cafa13f187f45a79dcf451942fd1118a8426abc5a25ffc5dbb00709da6 ofl/juliussansone/OFL.txt +sha256 9e1c955538817c3fab7160cb3110501e73ce109eeb58c4992a14e8323d900849 ofl/pecita/OFL.txt +sha256 96d82a96abc02fb457ddde0227833dbde9d1d02876c91f0a4e27845ca0d692fa ofl/atomicage/OFL.txt +sha256 7729f005b7a087368e2cf61fc4b65cdc85988e47d0e6e38c93a72de345e86b41 ofl/newscycle/OFL.txt +sha256 336fab6956d78eb34b50cd7bc6b16116c44735fbd0bf9f4def769ca4d8e218a9 ofl/sofia/OFL.txt +sha256 b26cae1321380296ba8311b632a397d5eac11b47197f9d0aa0b9310f1531ad60 ofl/sarabun/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/suezone/OFL.txt +sha256 d3711c90a7deda6210d30e41b945f16bdaa00662b30ee0b7c36abfee82525bfe ofl/kokoro/OFL.txt +sha256 513b7871a360a6eccd426bab59743fbff36764588f47381423f04ad6b3d821d9 ofl/alexbrush/OFL.txt +sha256 67f64c5509e5151796599e3ad47c3131cbe0c80c4f9430b90236a1249c2eacc9 ofl/roundedmplus1c/OFL.txt +sha256 4a7d2f227b91046ef7a54f8f735668d86e45f4fd4089268de292a6e9de108253 ofl/bentham/OFL.txt +sha256 3c187c861dc291b9f7f96f655656f9ac2d57b33da425bd5962810be728344f57 ofl/brunoacesc/OFL.txt +sha256 869e4c29978c318b33c2e5c7c8f24d2e947f249071bb1471620036a9d1ba87ad ofl/k2d/OFL.txt +sha256 6383249ddffbd87f2bbd7878ceba2dee0f1a2193cd7a4f41c00aaceb8e6d8b5b ofl/meriendaone/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/sortsmillgoudy/OFL.txt +sha256 d64c91b0306b53fabed08762068eea8b918d654fb0721c288f13cefa4aaf088c ofl/butterflykids/OFL.txt +sha256 bc1175730d609233043cde47e48f69831f012e85537c5ec1a2cf4836757c1540 ofl/mali/OFL.txt +sha256 fe5e822667a4b2e083b8fdd7a37546163f26f6481b58742236abffdcfb3e6c71 ofl/baijamjuree/OFL.txt +sha256 b0316f404a7b291e40921c605160181065791a5010a2d2d5691fc7e28cdbdff2 ofl/underdog/OFL.txt +sha256 c026db4c1a557cae47e6930876965f9cbc05758eb1f5d6f59b6b61c8f342a57f ofl/alice/OFL.txt +sha256 aad1e82802172d4c1d22dd015a5b8b4275e5665a49c1df54ed64716fca7ae194 ofl/corben/OFL.txt +sha256 878aec7282ab41d058cedbf90e14512bcb4fbd0658496de8c2dfc592ed1f0cd0 ofl/lilyscriptone/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglishsc/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/sarpanch/OFL.txt +sha256 aff3cea99bf300b4b29f4dc04867cf9b49d83de8c5ecaf991c446d506b56173e ofl/wendyone/OFL.txt +sha256 b054962de0af1397d5350fddb4d6bb20f5f2e073b543eeeb694c7c3b27144fc5 ofl/chivo/OFL.txt +sha256 19849b33c59d0cffeaad0dbdc38db767e95e03cd36fbbfe6b67a9878aa5758df ofl/fasthand/OFL.txt +sha256 a57810cbca0b4715ae8610dd7a268260cebbdd4fd76d304e371517f828150669 ofl/stoke/OFL.txt +sha256 47a0b7e315bc56ca0326fca46302d87d48a61e3528d4196e966b62f5bf0243f2 ofl/armata/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumgothic/OFL.txt +sha256 616e75d879831bedfa7725c078e09bb56f8a17f40b194e16691b12251bb42b3e ofl/majormonodisplay/OFL.txt +sha256 75c7ccf4f537a7a3ebbedd299c1d2542e13d3b27aaf76a0a2d9fa91a2a8fcd3a ofl/felipa/OFL.txt +sha256 ee2c069b30f3e9a5aaf52357117ee3443ee27f17c29a2ec68861db283379905c ofl/dynalight/OFL.txt +sha256 fbe0442a6b1ce162c95e241df76cab5ef2daf6a5ac84ae1a7a6749f32c051098 ofl/breeserif/OFL.txt +sha256 43d530580461a574f6dfed9e15af6a74e95f7c04d9bfa1174a63ff036e8eee07 ofl/rubikmonoone/OFL.txt +sha256 40bd3f35477284c021978816e9d3b8723ff2283fd7065fafaa5bb3004e41b237 ofl/songmyung/OFL.txt +sha256 460966d12f306a007930575c3b8bc336fe0c32f880d622af6d3b745a06ca79a4 ofl/benchnine/OFL.txt +sha256 f6f60d5d4cf4f4b1fc4e41353c897a2f5a16e6396c0cd8fa8bdfd2f4586a9a68 ofl/alegreyasc/OFL.txt +sha256 0c922e2d65050677c26ae8dc501bc9ad3e0059c4b10df2fc9717d7bdacdfeb6d ofl/ramabhadra/OFL.txt +sha256 548890e4083028f04e5feba04b6e00554654d840aab81c8664eb66c2216a571b ofl/palanquindark/OFL.txt +sha256 e39d6ec64a37ed1523a59940695a61ea5e7882d9bbe0e7eb11653fda4b04fc79 ofl/kottaone/OFL.txt +sha256 1bfe7d2aca99042eabf37079152fef8abdda2c36dad454ae89b858a3cb1078c5 ofl/forum/OFL.txt +sha256 5505d1a010ee0f2eeecdf624984d2a6170480adab3091170abbcedd85361f1b9 ofl/novacut/OFL.txt +sha256 715ba72697e14daa9b29a333545f69bde7c497b9f77d0a2a4c4a5a752d961801 ofl/marcellussc/OFL.txt +sha256 0786594992757ea0290ae4a490ab9249728f372adb13959c0c8ae4fec83057ff ofl/quintessential/OFL.txt +sha256 ca13e9cd1faaa6afb9e43dcb534a8984cec3218993fb4b436468a79a1657ee19 ofl/keaniaone/OFL.txt +sha256 760fb433c515570f6b77ebc60299c2c91d5f03848c659452a9d2458b28935768 ofl/numans/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantunicase/OFL.txt +sha256 1d1b7f3480c8d9b65c26d205e41dcbfa85731588d6ea50bccfa78e91f242d629 ofl/loversquarrel/OFL.txt +sha256 1d08c63944e639bbfe8a1b81e3c6a63836806c126b3573b9cda0db83fd27ffe9 ofl/prompt/OFL.txt +sha256 eb6c70cb6b575ad22df022d454df7a20582915e6e8da19b579c6cbef37a26bb5 ofl/gafata/OFL.txt +sha256 93f60741563b4f51f2fcdb207fde72b2b23292a47022c729aecd998b360d8038 ofl/bilboswashcaps/OFL.txt +sha256 4579982a484a9745864de2cda666fd7b5017f9182b74dbb4cd53d84c1d1b2231 ofl/gruppo/OFL.txt +sha256 cd059851dc2abcd2865ae318e8b949736f958794210acb90316530fd100fc904 ofl/geo/OFL.txt +sha256 af9b97696048d509e3d70f8108b7c4381084f95c8fedd97acaa76b0b287668be ofl/molle/OFL.txt +sha256 6958d8c61b6b223f81bdc2109941e5d0004996dde61e197d628e0293f4f1bc58 ofl/miama/OFL.txt +sha256 7e98b49a12b51240c85b04eb0d9919a6fec7dbd491bef6cbddc22d3f851bd1f1 ofl/marmelad/OFL.txt +sha256 b9d592c3bf421197d9b7e353416b8e2ec81584988824b43d38c86d997a08b868 ofl/myanmarsanspro/OFL.txt +sha256 e414e07f7a4da16ed47ebec80d52dd79f21d3ca42bc92385a755d8078a038814 ofl/playfairdisplaysc/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairaextracondensed/OFL.txt +sha256 bc85bae0b512b799bbfb2b916e4d0a34cfd963d09778cd783e248b479e67760a ofl/comfortaa/OFL.txt +sha256 caa697668c3cf3e622753fb202c6c2e29648b94a3499dc7b869a14192e38c553 ofl/sourceserifpro/OFL.txt +sha256 81d6c3788a6b641cb9f543389d9d5c0cd3bf94fbb5639be19c102b9274c34291 ofl/mousememoirs/OFL.txt +sha256 dd028a807788d5e22e9f8cc18f026cda23369954673658f2ecc7d30bdb364b89 ofl/arya/OFL.txt +sha256 53f9c99fa3d47f7d632a42ee7bab4a834a60a744f6026d676c3a223cef2b2ef3 ofl/vollkornsc/OFL.txt +sha256 6506b2fa2a14259a8859608a6148a4591d67bbaef4d8e1948b43c4078561b0e5 ofl/tauri/OFL.txt +sha256 6cca1abc09d677cf00a55674ce2775e0eeb6dc5c0137b0401816680b9e500f81 ofl/marvel/OFL.txt +sha256 e98ce988fba1c138f4e7c0c5120809706ab1b24a3c29638ca83ab2ff082e08db ofl/chango/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairasemicondensed/OFL.txt +sha256 42e7b456fee0d0dc86927579b3d2626d42bb0f4cc9778f3a92ca8ada4e46348e ofl/novaslim/OFL.txt +sha256 1b8eef90c567309fef17962cc969dd9ed1de69176517238e744018bb983e7c1c ofl/mandali/OFL.txt +sha256 9e262d6d7fb789aab6a8ecc53fc9c78387eeb9f935dcd289282d8e751b6bf743 ofl/antonio/OFL.txt +sha256 07dbf75115edfc1fd75580aa19c4c730201a099e8f86a9869887dfbed0547266 ofl/offside/OFL.txt +sha256 f177d98c67b84250ec87a03ca6ad161e84cab15b435e960039b971797a065f4a ofl/martel/OFL.txt +sha256 bb3e8082faf86b1474a6b042125ef0f83669d28110b72f70416a7587b7b9f144 ofl/unlock/OFL.txt +sha256 c4955dfe15a5db10326aa58ef767460c42cd12a3acdb3e698eee2704eb373d94 ofl/electrolize/OFL.txt +sha256 cf6dd07485d67d20f105afb9981dffdb6b180b59af45a228839cf3fb0277c9fb ofl/arapey/OFL.txt +sha256 87e8d9aca71dbe0481ba8611fc90d7e3aebfa3e2546420c403e7078898b0c484 ofl/allura/OFL.txt +sha256 55e13d77a4457aa9c60f10c5b97baea3343d3bac30960d49554a033cb9eaff7c ofl/sail/OFL.txt +sha256 1c5bc055869d5e9151ec7774082727db720ec4293c65be67f91a4bdcaeb02998 ofl/righteous/OFL.txt +sha256 de5ff32211a4340b01477af39ee339d639438955e409f79b666d4b9207f3c92c ofl/dohyeon/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/waitingforthesunrise/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfellenglish/OFL.txt +sha256 44a7c6e4c5572392ae122d3b1d8c6ba6fd640a7797e675384585d947f2773e3c ofl/jua/OFL.txt +sha256 1ba345a91338581e5f8fccc3e37e447ddea5b99ec9caec1b76c7c39492387d2f ofl/signikanegative/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantgaramond/OFL.txt +sha256 9ee6b2ec20a06c599a07412690876eb457bf192c10e886e60d8bdffb80bc21a3 ofl/sahitya/OFL.txt +sha256 dcc832bd71ea62cbf97f06327a1b5442905b49ea446801421d71f7d1362db215 ofl/dokdo/OFL.txt +sha256 8aa063e3a1299c5e1821f386f5ca8bc157ac561bd12c739ffa81c6f0821450c0 ofl/donegalone/OFL.txt +sha256 e588abf45ca2b19c340c4b27349c9b6b6e5e198316fd965128ed9f4422942cbe ofl/raleway/OFL.txt +sha256 9860b97028024085855e503e32c1971bfd603374641cd018c136433ebcf5a338 ofl/gravitasone/OFL.txt +sha256 ee9d043332991eb6bf2bd56fb04db3c558c1ee2f0cb9aa7b18366c77e34fef30 ofl/jura/OFL.txt +sha256 15b1a21c3fa37a475ba6b0c0cfe289c7952548caf6e432068ddaf98d139ce419 ofl/belleza/OFL.txt +sha256 c5a77946a56488790364d060628385d51226da62a18f30d2be0181d82ee62b00 ofl/suranna/OFL.txt +sha256 36e2f1debc9778bac79fac1a0cb5a5ef51c102f00b58ef7d8a05324144b68166 ofl/megrim/OFL.txt +sha256 0fbae33ac3aa455c8c0d598347c87f1abfac0d215483f40f5a0e8dd08076df1b ofl/librebarcode39extendedtext/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/teko/OFL.txt +sha256 d324289a26909a519fb16c3d468a56ab909ad6d9070cac5742e5d59ad9bd9815 ofl/gildadisplay/OFL.txt +sha256 c0bcb72e68dd416db0bb9fcec7a7fa62321b0147cde00d8c8f82748e33aefd34 ofl/novasquare/OFL.txt +sha256 794d72ffdd25e8f7ca8e1d68db088c30ddbf2fdb369b6cc8217d4fa5fa6dc62f ofl/adobeblank/OFL.txt +sha256 806cb93632b8091cd36554642a96b2752bab50015da6a2b456d786c1f9aef5a5 ofl/carme/OFL.txt +sha256 0677891e6a143f297350d260ad766ad33bfc18ed5fa4f213acf648d6b597ec1a ofl/alegreyasans/OFL.txt +sha256 08b6f5cceaefcf2881eb009adeb78edd0fabf9c8f0eaf8b88f07a690222227e6 ofl/varelaround/OFL.txt +sha256 3f0f27931c92453994176af3b1e7954f9aac39fe145374d6d08c47c822e82e59 ofl/princesssofia/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeoutline/OFL.txt +sha256 455397ca15d39e9178bbbf4b485a29187751d60f7ceb7829980a521d5ab6848d ofl/sofadione/OFL.txt +sha256 b7574cd4c76770e5e3915d16bd93f09663bd77cb041a4ec09d824c52b540529a ofl/germaniaone/OFL.txt +sha256 39de3de5f1873f89bca4af37823ab22e28e88d0d8f7fe2f07e82e9e6e9bf7b70 ofl/eastseadokdo/OFL.txt +sha256 520a0c239d39b379b61c4de5f8e3b02db20b0dfc137481843eac01f02c41f4a2 ofl/aguafinascript/OFL.txt +sha256 ffaf7bc750bdaa0b95b09eb80e419748bfaf46268c6612860f0a5e19e17abb12 ofl/orbitron/OFL.txt +sha256 c6b9c7322fe0203d4d8a0f98541136d8d76da76b92c79d206b09991b98338cc8 ofl/gemunulibre/OFL.txt +sha256 2f871c2e81de6d0c72c981615002c30bc9f1637003d6d3d4c3f0149886b70569 ofl/mervalescript/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhaijaan/OFL.txt +sha256 842b4f4605b32518a1269c4d030d719ea2c4c317d699fc4441d0219658e18893 ofl/seoulnamsanvertical/OFL.txt +sha256 00a6fe8dfdc48d6206bcc4f10a765515a73433dfba7255eff966963beb26facb ofl/dhyana/OFL.txt +sha256 cd2dea62cd4b0c5fb335cf07ff04fd5c4bacb49b8d6c2bbbef9766c663d79b1c ofl/patuaone/OFL.txt +sha256 c0a8947de199b422d30c16137e4decd5362e3a1d504422880d69c02bd6046dac ofl/cagliostro/OFL.txt +sha256 c267a00c9476c78a2336d7b372b536885b8b24173a29ed53496f67a742c14961 ofl/alef/OFL.txt +sha256 2cc926050c4c6ccd9a0288b7792e2fcf93e5629ee6269e35986f092275e5a1b9 ofl/sarina/OFL.txt +sha256 f1bce31b817dee01c1e4ef8bc45d8ecb95f01f4abbf0a985007cb3cd0fd8123d ofl/zcoolqingkehuangyou/OFL.txt +sha256 9788e3b3e67f22ab5846a0bb867a230e7df2468c3cd20f730a5d9c34e673d090 ofl/rubikone/OFL.txt +sha256 f3bc8767749fc133d9b35e84ca024b82f1ac4d1b38deca0adcf8300892303022 ofl/faustinavfbeta/OFL.txt +sha256 ee81f11dd1970e9749afd2a572256f8eefce65532872762a4d7a3d5daa0812c8 ofl/shojumaru/OFL.txt +sha256 4f4bc3806a1e55789c6ef75ca5fc628297b05292f74966474dc0d40324abc609 ofl/abel/OFL.txt +sha256 064539f87826887d2062b7823b2b97b7625d68b642f6c945c99c0b8dc8084195 ofl/rationale/OFL.txt +sha256 a345b13576140008a697ac66ca8c76cd63b1dd076712bc30a0f5e97dcc53cc83 ofl/markoone/OFL.txt +sha256 203693528d6d2e8dc5e639c6ea42b3e825b59dd6447294e37b306fe734650091 ofl/arizonia/OFL.txt +sha256 9ca8b9e5db7184105da255bb110023cf1cce6caa56186341bb7b09ba97b20ba5 ofl/fanwoodtext/OFL.txt +sha256 3997621a219c7758e31dbafdd3cbd2bcb0b6144a41d1ca068d04dbcc4bafcde6 ofl/milonga/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungeeshade/OFL.txt +sha256 162a3b5c72cba845280a6f887c11d02984540b924510138c8b1eb473bcdafb6a ofl/concertone/OFL.txt +sha256 21b54eb0d7513524798a00dfbaf99a02c003a0012a728cc5f0e02d24c50482fb ofl/caveatbrush/OFL.txt +sha256 186d750eb496a4c17a76385f82be6aea2ac1cf2de074a811d63786cf374ea73f ofl/barlow/OFL.txt +sha256 9551ade371e7bcb1f6d9959273bbf1fed3bdf398efb5c57cc1fd85d6a13e9e5e ofl/londrinaoutline/OFL.txt +sha256 f15a9a3a9a665c2d17655b8fedad86d9a8f30081d46bb91236beb1bc7294a589 ofl/akronim/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo13px/OFL.txt +sha256 0e2ccc5da1dd979f08ba82bca2fb61592506a1e58d3cbfc26d904f0db71bd812 ofl/sairacondensed/OFL.txt +sha256 96b7bc175186cd0153a9682a1c9bb1da7103ab13a83abef8026bc64582ca616f ofl/oregano/OFL.txt +sha256 6fc386ac48a529b85c21f90a6c8d2111c6271b3063f9ddd78e92645db5259510 ofl/tulpenone/OFL.txt +sha256 13e862ac3f67130f58bd4bebb61c588d147b5a555b1ac6959570799c4f648cd0 ofl/capriola/OFL.txt +sha256 d24ff874133ecd133e55d7c4070d2edab14d3933477c2bccb3a0d8d1cc9c33bf ofl/muktamalar/OFL.txt +sha256 85814924eca98e1fa530901cc5167d0012aaf31122f9570d7e9755443dd9335b ofl/siemreap/OFL.txt +sha256 f76c1013cffb3e0de0e7dad19ee5b4b7849c7ab10b67218515e39cfd87e554a7 ofl/julee/OFL.txt +sha256 c264f64bb2b91ca0dfdeab75d71719120271fa6a30035396416af235ef481c1e ofl/merienda/OFL.txt +sha256 d102f22055cfa31a9659228483de3c726010f0b3b416b78e3cbefcb54816e812 ofl/galdeano/OFL.txt +sha256 2db02cb5d05d5f8a003ffefce36a32a16520ad4cab9ed90635ff953b583e4e82 ofl/sigmarone/OFL.txt +sha256 cdcc959c42ab255b4cea4bd82f2db5c24a2da7ecabe615d02d5a5dba3716e446 ofl/racingsansone/OFL.txt +sha256 c88333734ad7cd30540ec6614d12aa829a0395715de30e336d22ddfa3005db42 ofl/catamaran/OFL.txt +sha256 26daffa24723bb188643085cfc5423f9d78d22a395df4a7928380e430545a201 ofl/bubblegumsans/OFL.txt +sha256 de2246895f0ac21fe05b095d586d36cbc9f987ebcaed1e050c61e69667caf1c6 ofl/hannari/OFL.txt +sha256 b54d54664cddcbf05f5b4ea3aec7e89317eb917cf465920969e7b22361e0f4a5 ofl/seymourone/OFL.txt +sha256 46239ba6485d28553fd944da4ad32a00d9c403aa1c3e111676b0b96fe458d1d4 ofl/averiaseriflibre/OFL.txt +sha256 91c25c350d3cac39da2736d74f7ba37ef648f5237a4e330a240615bc8d8c4360 ofl/ibmplexsanscondensed/OFL.txt +sha256 5802c9e3509199c7aa9a13ea410ae27febbc0cdea184bf7d227170fac703bba8 ofl/passeroone/OFL.txt +sha256 2400b30a72d2b1555255b81625576dfb552584a19a9c85ad8d43ff77bceab13b ofl/plaster/OFL.txt +sha256 4bed7eaae70cab1bdf2bcf9b1cb562fcd9cc26d1c3533c4ade0ec70516dfb3a4 ofl/trykker/OFL.txt +sha256 45b1f44d2cb859ea4b7be2f322c57b8ff7be55075c336744e62b5550cd0a97eb ofl/medievalsharp/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpass/OFL.txt +sha256 ff1f38ac4e694a4ad5bd3d7a5146cd8bd73fd57aae794ced76a24b0d68e41206 ofl/pinyonscript/OFL.txt +sha256 6aa923334ec515d26b1a61bb978a0bb5bd8884de7529add1625beef2f4a53f74 ofl/nicomoji/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesansexpanded/OFL.txt +sha256 38fab5a643fa935a4e11edae2d7b2bbe9866b4f4828c2be2f41451b3f27cb67a ofl/paprika/OFL.txt +sha256 a5fc033225d145b43fd7391482ae7689825414ce29a01614d651a3012b57c81e ofl/monsieurladoulaise/OFL.txt +sha256 ecc91fac753ad9ba5bb7e7819a5c59ee1e3cf89032133c6b4b0318d63c35933b ofl/alike/OFL.txt +sha256 6939af7114f0a33c7e6142d4c1320d1bbde11aebe6d8f3c48fc5fb3e0f676a7b ofl/jejugothic/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldoublepica/OFL.txt +sha256 9cd20277e2c89d47e3997435e3a16539d20173d850fbb42474990f71642e473e ofl/mate/OFL.txt +sha256 351740da2d452b48193483f22f64918a6dfd64a7abe225c6187ad3f36e0d9cd8 ofl/postnobillscolombo/OFL.txt +sha256 aa8a8196a3e22c3bd985e33cd3245ae9a38accba5e79fc0e3b292612a8d6b337 ofl/secularone/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesans/OFL.txt +sha256 136a256d6050ed32bbf96736d70b9099c6359e83dabeb6847cdf6b8ef84319cc ofl/kantumruy/OFL.txt +sha256 72060253bd481a8dc18664bb9117072dc07c0f0270a40617c230654821774850 ofl/pattaya/OFL.txt +sha256 56d9c3529facf93873a2a1626dd038054d244b3af30a1e3ffe0e78bbda1c7622 ofl/preahvihear/OFL.txt +sha256 1a2debd5ad8e656b26bb3b29213caa8f7e557a2f31454b11ebb6c3e3b59aa5d4 ofl/cutefont/OFL.txt +sha256 f62ef357d3a1c3d27edd35a6e1ba350e8a8d13499797964eeadefbf0b3b15d1f ofl/kalam/OFL.txt +sha256 d941c5b788d47aa469ee54e30f4c12d6a43c45a295f10c568bdf9772f2893b7b ofl/oranienbaum/OFL.txt +sha256 5e0da210fb04058a8c0087985d2d456b931c2579811a49655721d3cf0c36b6d6 ofl/notosans/OFL.txt +sha256 5ae0cfa62a70251d9a2c3c5430ed3bafa480005f23e4b9525488f2318e5c10ca ofl/mrbedford/OFL.txt +sha256 0acef93ca37cf19eeb83a1c6a29b78b08377a211c8d80cd27626e210176828da ofl/kavivanar/OFL.txt +sha256 c0562e066174197902a4a10606673d189f067970ef89c6013943b9cf182aadbc ofl/titilliumweb/OFL.txt +sha256 f8fbefb5b1004615e6d1e84b1c75e68520d91196f600cb1b07620dd2748eff64 ofl/cantataone/OFL.txt +sha256 2e2cb5a98da665f2ab82a9fd01fb18c2337f845761b0c163f690ed65f3b94677 ofl/sacramento/OFL.txt +sha256 251f65282ff48a7e8ef3fb661fc99254d9b3b0c368427c98b1edbfe4ca66e888 ofl/katibeh/OFL.txt +sha256 31bc966c36352bfd33717382786d0458c38ecf540628ab134e0ce35fde801d28 ofl/poppins/OFL.txt +sha256 f016385cb4b360e7698d22a48c6b58c0634b1ed5c9c17df78515d43887511df6 ofl/yaldevicolombo/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/swankyandmoomoo/OFL.txt +sha256 b712dacdda5da76c0213f8478886f893b855665c1153ae438bc3e55a7dc525ef ofl/kurale/OFL.txt +sha256 74584d937293a9cacdcd2eb05851b71aa1527901c18b87961d2f877c77a1b486 ofl/chonburi/OFL.txt +sha256 8f187da1eb4f23e3fe7ba68b1cb2e92881a415dd34c46489698454517e273c4f ofl/krub/OFL.txt +sha256 3336bf5d4e7eedba48ecb831f37bf676e901c39f2e6a422cceadd9d2ffa55be8 ofl/kaushanscript/OFL.txt +sha256 bb655534b6c7bf3e547c1368a68a5b1032d0e96fd08b5cc75f3d7a78528784ef ofl/novaoval/OFL.txt +sha256 04b895d77ccec5034191e953e8e5884637269be15fe0675fc25039014eb46349 ofl/monda/OFL.txt +sha256 d724dea493d89a7a9681186e2fb462b7cd551674960ee4142ae6b325261b5115 ofl/hanna/OFL.txt +sha256 64ecb0c6bf5cd80c3da76035c00671272966afbd32ffbdbcad95a8b56501fb08 ofl/decovaralpha/OFL.txt +sha256 0cf28cdcf1cdfd35054352816b2d8c81bd6d6f73632198b61507f26dd4dcbeea ofl/sansita/OFL.txt +sha256 d69bcd35f4a121b312a64f7e8eb15bed61c9056e9e9cdaa8d513366142c8e005 ofl/rosario/OFL.txt +sha256 b4cff421cb89d1e32036e818f291f8ab0d3294ada70b5883d5bcc6470b869702 ofl/eczar/OFL.txt +sha256 ecb52bab55d8d6185712fe8fd2fd98300f5c8c07fad0d0a97b1e579462b0dd3f ofl/bayon/OFL.txt +sha256 ed95c33f80ccca002e3a360b683c43368f9c5eb024e5b992abb51af3c10b59bc ofl/gothica1/OFL.txt +sha256 66b5c49d384cba754806a891ebd52f2ca08dd05c0eb3c56170192da466a00a20 ofl/londrinasolid/OFL.txt +sha256 284a5a26e6db9a04259a5690ad57d52c56a4c515ca2ece1943d950f99e709dcd ofl/belgrano/OFL.txt +sha256 6cbe0f55c154b5dee71ca4f2418d69e4e916448ef2ab52dc4541197b292efa24 ofl/sonsieone/OFL.txt +sha256 255d5debbb80eb2ea762644311f266a279e8778f00156655a516e2b7781a63e1 ofl/lilitaone/OFL.txt +sha256 490b8f3acbce2331adc9b9d3e75ee6fe07946fb29af429a300c7d066b1250b2d ofl/crimsontext/OFL.txt +sha256 eeacf16032901d0ed0456876ec77b8f0fda6b3fecec7d972f8543eb602e6c30f ofl/nanumbrushscript/OFL.txt +sha256 f2c0dfa02d6f5c444b4babd7bc0b43be77ea85706e8524342516bc41e43c2f01 ofl/fahkwang/OFL.txt +sha256 4398885e6b303830d81eea03444aae6fb08a44f41b6acd193c88a2f8cd17606e ofl/srisakdi/OFL.txt +sha256 c1f8e0feb0babaacf774b971bcfd791e44125b9d61ff074e4c20924e9661556e ofl/antic/OFL.txt +sha256 6a73f9541c2de74158c0e7cf6b0a58ef774f5a780bf191f2d7ec9cc53efe2bf2 ofl/notosanstamil/OFL.txt +sha256 0b1bada9befa95a40d55830fe83fc7f8064e245fea33bdf0f96f57848f3866fa ofl/codacaption/OFL.txt +sha256 b41b99f35b507564e54f6b2f5162ad1c21f94a16837c632da6632b376a341f42 ofl/nosifer/OFL.txt +sha256 e8d0118fa9d640543e7f6848d1d93f47313c7f56b64f73f37291d859cd5932bf ofl/souliyo/OFL.txt +sha256 bff4e5087ece354afccd073621197bbb7dd9349943b5ee6aa12b1adf0b133081 ofl/happymonkey/OFL.txt +sha256 1f581506286e960436548dba0701aab278f7e67f2adc6bdae2958923867d1e64 ofl/hanaleifill/OFL.txt +sha256 03082243ebc53e2090bc59987f693982ccee83b30516457b11f6a2349b78f5f8 ofl/rokkitt/OFL.txt +sha256 1152ca18eaa6159634f1eb209c60df360c1c09a52991e392f8033702036634d4 ofl/assistant/OFL.txt +sha256 012b1870f81b0d97ca756edd9eea315c7fc22657ac2f1cbdfcb6772fed3e20f3 ofl/bhavuka/OFL.txt +sha256 ce1108854c91696a8549bb21459f1dc74e8a1ec11664d712c3868c40042f1a8a ofl/rufina/OFL.txt +sha256 bac36a7fcafc5702d9d928bb81c7de9f8739eaa820e546c3d2cc52730b652af4 ofl/devonshire/OFL.txt +sha256 ac987f9cbc5b18d3239d88adb57a4e134049811d24ddda2f6383faa589fd2727 ofl/holtwoodonesc/OFL.txt +sha256 f3ee3eb20a9d565bee2bbc0d616de382a113327d7506565b2f3d3bee5f489375 ofl/bowlbyonesc/OFL.txt +sha256 965bd2c907f7bb6f36da4f85e83f29aea8b2f720783deebd7ed7b40678e67672 ofl/mysteryquest/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemiexpanded/OFL.txt +sha256 19e186a088a50835b38b59409a76b8df2d0252ce114a99e79e306231bbe253b7 ofl/dellarespira/OFL.txt +sha256 aa36087ecd7e9085e5a1439b0a6d0ee35966e8cd2ccaa649bebe62cae5815e82 ofl/lifesavers/OFL.txt +sha256 2a3ca501fc4d5efcad9798531e3e06962b1e20c60e464f6cbd6c17630112c773 ofl/imfelldwpicasc/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/loveyalikeasister/OFL.txt +sha256 a9ef1db03f660130790beeb3b5d91b68536a44a98ec2db3097d02a1c5f91c599 ofl/buda/OFL.txt +sha256 de318dcb99e332a746edb9f83180ee206fc3bce74ff96ad7d1cb219967ec74af ofl/pollerone/OFL.txt +sha256 315a576cbc7ab61c9e347b5725893bc8498fdcb8fc10831793c6864bc2cefba8 ofl/gudea/OFL.txt +sha256 41f82bb4d24b304f30f7136bc47abdd083782e4265c984160f5649d1e78ea49c ofl/montserrat/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkovavfbeta/OFL.txt +sha256 377f4f9c19e935228552478eb68cc2ed82910988a60ba60e2ac73b09f32d02d1 ofl/patrickhandsc/OFL.txt +sha256 ec1d7de447a90e4b6d8f2b4f95c7f89a70e315fdb41969bc716059e4f2461fa4 ofl/clickerscript/OFL.txt +sha256 7039124ec9c84f9d637637da9f80158f0d3681c82d4e6a811053467f7c33d587 ofl/prostoone/OFL.txt +sha256 16f8621a8dda01f044b8a58489334dbaadfad44ef2fa1d5ce0864cc2f309df01 ofl/inknutantiqua/OFL.txt +sha256 ae30055f1e31d12f6235802c25a8872bb7053fca8ed4a604c530f4b2ee83e572 ofl/pontanosans/OFL.txt +sha256 f1ef4c3ef43322403f5c30e4fb46496969cb5c34a2a6e7247b507254b69caa6a ofl/novaround/OFL.txt +sha256 cf5c4103b0ecf3c38e7c26768b5caf05e1b3e16d4d87b32d859b3c19ce7c216c ofl/petitformalscript/OFL.txt +sha256 ed80dd9539708a531313f98fb081aeeaa395ab5726931a433845d667b019c855 ofl/abyssinicasil/OFL.txt +sha256 1404cc9279d4ad713a372a5e1e1d20d7b9b000d2397c8529aeb3df5402446600 ofl/cutive/OFL.txt +sha256 19c6ecf65a6b0687dd324b093ced5f1020a1fcabfc8ddaaeca6906cd05153e23 ofl/overpassmono/OFL.txt +sha256 0878e7d6e842bc3c45154059a1c2812de0d31dca343fe6bc16abc9afdee3e3de ofl/koho/OFL.txt +sha256 636d62f04d7bda9fcf9354f258f6244e7e18288cae036b95122e204f1acbec80 ofl/neuton/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloo/OFL.txt +sha256 5866fd437bf701cd93f2c41ca2a8b33786975c947bee27882d256b408c9b424a ofl/podkova/OFL.txt +sha256 2ce1c4fcf4ab9c8474d0824434497d4afa4425db4de5629103698b170ac4ee74 ofl/bungee/OFL.txt +sha256 dc35123e99a857674b3e8807e9d7df82220d298423d9fc50ce084fbcdecf602d ofl/jotione/OFL.txt +sha256 76a55594c9a18b7d94b8119de838237eb834bae4e8c646d6d363aee587b7b427 ofl/slabo27px/OFL.txt +sha256 ed50ebe2fa922554980909192526fe94966556626d6d440a462c8e7eaed74cdc ofl/oflsortsmillgoudytt/OFL.txt +sha256 d7b108fc1f23fb016a47bb40c63d6f6e04cc35a1edfb991638d7f03621bf7f33 ofl/terminaldosislight/OFL.txt +sha256 71e5222c549d85a1403b6e709b4328b81d7b51ba021b8bd20df89550da80c087 ofl/yatraone/OFL.txt +sha256 f139d6f43d2a63a8fb3ded48b8ec747d9d59a7fbb13d077d9b96ac88580bc1ad ofl/dekko/OFL.txt +sha256 84b11cc0aac8fdb93af94872bc4b8f015caabf4919db63ab7f916ccff8e52f56 ofl/josefinsansstdlight/OFL.txt +sha256 8fbe530adcbe30c658393c3f2b5a4785d6765afcefdfe47f594730131f3a0abd ofl/oleoscriptswashcaps/OFL.txt +sha256 64dc6a7e2a77aa340c49c3e0829703f540f8d64afa506f44eaa6741580716d0f ofl/gabriela/OFL.txt +sha256 17d7a7f5d9f0139535ecec516988c4c73a2ec0f225987288f3fd6ee2622d4450 ofl/federant/OFL.txt +sha256 c0a7efe98e77cbfcf1a5ca43e874e25cf53d9185c56295bc3b5c407f95dae638 ofl/nats/OFL.txt +sha256 2ee5e8e47cd7d08f60bb9555f72b25912c9e81b13f5bc9a0551ddf943da6ca98 ofl/ekmukta/OFL.txt +sha256 e5ccbfc32e4d7fae98b467a9af310ac8d2efd5d90e684426cd24f3eb36090a2c ofl/acme/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/modak/OFL.txt +sha256 75a77451968e55a1ab404bd953bd8778983e21116d507b890fbcf838e58c8e8b ofl/pavanam/OFL.txt +sha256 36931b77dd81fa96fffad91b6acb54931e600845eb81f91ecf1b4459012c621a ofl/vidaloka/OFL.txt +sha256 5fb0694694dc307d1eb0121689395e634b6329ff545acc53f55ad66a716b3cf1 ofl/baloobhai/OFL.txt +sha256 1c45059cea5c6798c8591b0a17961a30328747d44214ff9b8f9c62a683bd6598 ofl/ruda/OFL.txt +sha256 0e441ae9f18ad0c294cc5b6ae3974c2db1614cab220598578b1b58c4cc334485 ofl/thegirlnextdoor/OFL.txt +sha256 4dee45deee99672fbe342b2f4b7aa75b0cd12de18a68f9732c77f096bab47e0e ofl/molengo/OFL.txt +sha256 5a5cf278190adf8be3e9905c2b21460241cb376c600bdfd6eb7aceb66036c4bf ofl/telex/OFL.txt +sha256 bb49cbf811dafcb11e0de081efcdc8385e45ccc85a5bfc3231ec4861d444dc42 ofl/ruthie/OFL.txt +sha256 b5c3d12a3085b96011fee65555234bb9d31fa7444cf6f8d5ae6b1f5771394399 ofl/lakkireddy/OFL.txt +sha256 23b896f4937eac954a383340c92dfcac1c6e05ec21cc08ec6de47d30ad8496a3 ofl/charmonman/OFL.txt +sha256 39602407e30d466bf169f46d690aaae4f5f039258e5642f91a80bb132ce6e14a ofl/bubblerone/OFL.txt +sha256 e31de7000a2a13b2e54ad01e788fd29e979fe05ea1fded44d6e71cc06e33bb2b ofl/ralewaydots/OFL.txt +sha256 8218df19bcd9786311bf1126815e8d591027aaf7611ef031af5a31c3fd66e928 ofl/arefruqaa/OFL.txt +sha256 e37fcc467040ecd81bf4cf59c99ef56b20f57918995e82b3de1d5b4e931bc2e6 ofl/portlligatslab/OFL.txt +sha256 60fea3a0da19167a3efb9c3792a3a15dc9235405d01bbec1233fdf3e79c74296 ofl/freckleface/OFL.txt +sha256 da15da6b1496d4de18f97e2ad1b722ef8a1c121149c2c93b2cf7eac6ac27b35c ofl/mplus1p/OFL.txt +sha256 d51f3341fd7b3dfa1114d3ef0bdabbe57f60eef86a1458019e0077d676fa1fcb ofl/lancelot/OFL.txt +sha256 9134ca6996bd33ea2022e109f13f20e29dee1dcd8b2e8878aad576d2ca334e9f ofl/cormorantinfant/OFL.txt +sha256 cc8c0c3e81cf543e190f128b83ba7c30959f15865c14dd972fca4917faeceec1 ofl/encodesanssemicondensed/OFL.txt +sha256 5946eec3a7d3bda02825930156e4716198e7753641dd3303a3e8c386c8011909 ofl/eater/OFL.txt +sha256 b43e2530c7af69fe1800f180d210b6d2745915ed4e0e404495038c861bb6dbf7 ofl/hammersmithone/OFL.txt +sha256 5a8751bef5a4fc867ae015099267905034345260f14060fa276aac4051ddd8b4 ofl/varela/OFL.txt +sha256 f6fc9fbae062e4efc1b0306e27715d43cd64a48b8ffba81c22034b8efee4fce2 ofl/cabinsketch/OFL.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntucondensed/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntumono/LICENCE.txt +sha256 2f0015108d68627bd788d313f529c21ff4da2c2c42a5e1f3883acc83480f9002 ufl/ubuntu/LICENCE.txt diff --git a/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.mk b/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.mk index c34de3b0..8773390f 100644 --- a/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.mk +++ b/bsp/buildroot/package/googlefontdirectory/googlefontdirectory.mk @@ -4,20 +4,34 @@ # ################################################################################ -GOOGLEFONTDIRECTORY_SITE = \ - https://s3.amazonaws.com/joemaller_google_webfonts -GOOGLEFONTDIRECTORY_SOURCE = googlewebfonts.tgz -GOOGLEFONTDIRECTORY_LICENSE = OFL-1.1 +GOOGLEFONTDIRECTORY_VERSION = 94dff3eaa9301b6640cccc63c56d6ff33d82882c +GOOGLEFONTDIRECTORY_SITE = $(call github,google,fonts,$(GOOGLEFONTDIRECTORY_VERSION)) GOOGLEFONTDIRECTORY_FONTS = \ $(call qstrip,$(BR2_PACKAGE_GOOGLEFONTDIRECTORY_FONTS)) +ifneq ($(filter apache/%,$(GOOGLEFONTDIRECTORY_FONTS)),) +GOOGLEFONTDIRECTORY_ALL_LICENSES += Apache-2.0 +GOOGLEFONTDIRECTORY_LICENSE_FILES += $(addsuffix /LICENSE.txt,$(filter apache/%,$(GOOGLEFONTDIRECTORY_FONTS))) +endif + +ifneq ($(filter ofl/%,$(GOOGLEFONTDIRECTORY_FONTS)),) +GOOGLEFONTDIRECTORY_ALL_LICENSES += OFL-1.1 +GOOGLEFONTDIRECTORY_LICENSE_FILES += $(addsuffix /OFL.txt,$(filter ofl/%,$(GOOGLEFONTDIRECTORY_FONTS))) +endif + +ifneq ($(filter ufl/%,$(GOOGLEFONTDIRECTORY_FONTS)),) +GOOGLEFONTDIRECTORY_ALL_LICENSES += UFL-1.1 +GOOGLEFONTDIRECTORY_LICENSE_FILES += $(addsuffix /LICENCE.txt,$(filter ufl/%,$(GOOGLEFONTDIRECTORY_FONTS))) +endif + +GOOGLEFONTDIRECTORY_LICENSE = $(subst $(space),$(comma)$(space),$(GOOGLEFONTDIRECTORY_ALL_LICENSES)) + define GOOGLEFONTDIRECTORY_INSTALL_TARGET_CMDS - for i in $(GOOGLEFONTDIRECTORY_FONTS); \ - do \ - $(INSTALL) -d $(TARGET_DIR)/usr/share/fonts/$$i && \ - $(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/share/fonts/$$i $(@D)/$$i/*.ttf || exit 1; \ - done + $(foreach d,$(GOOGLEFONTDIRECTORY_FONTS), \ + mkdir -p $(TARGET_DIR)/usr/share/fonts/$(notdir $(d)) + $(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/share/fonts/$(notdir $(d)) $(@D)/$(d)/*.ttf + ) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/gpm/0005-fix-building-w-newer-glibc.patch b/bsp/buildroot/package/gpm/0005-fix-building-w-newer-glibc.patch new file mode 100644 index 00000000..b451d975 --- /dev/null +++ b/bsp/buildroot/package/gpm/0005-fix-building-w-newer-glibc.patch @@ -0,0 +1,32 @@ +From b350aee4ea5785a75cb6ad770f6b768c506ebb70 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Mon, 14 Mar 2016 15:39:54 -0400 +Subject: [PATCH] fix building w/newer glibc + +Linux C libraries are looking to disentangle sysmacros.h from the +sys/types.h include, so make sure we pull in the header when it is +found. + +Signed-off-by: Giulio Benetti +--- + src/daemon/open_console.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/daemon/open_console.c b/src/daemon/open_console.c +index 4d6c0af..6dd43e6 100644 +--- a/src/daemon/open_console.c ++++ b/src/daemon/open_console.c +@@ -24,6 +24,10 @@ + #include /* major() */ + #include /* ioctl */ + ++#ifdef HAVE_SYS_SYSMACROS_H ++#include /* major() w/newer glibc */ ++#endif ++ + /* Linux specific (to be outsourced in gpm2 */ + #include /* for serial console check */ + #include /* for serial console check */ +-- +2.17.1 + diff --git a/bsp/buildroot/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch b/bsp/buildroot/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch deleted file mode 100644 index 1dfa9607..00000000 --- a/bsp/buildroot/package/gpsd/0002-Fix-isync-build-when-ublox-not-selected-too.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 98c8f5f4429ac3bfc09eee235fee08b9aaff8c52 Mon Sep 17 00:00:00 2001 -From: Zoltan Gyarmati -Date: Tue, 30 Jan 2018 19:58:54 -0800 -Subject: [PATCH] Fix isync build when ublox not selected too. - -The isync support uses the ublox driver, but if the ublox support is -disabled while isync is enabled, the build will fail. - - -Upstream commit: -http://git.savannah.gnu.org/cgit/gpsd.git/commit/?id=98c8f5f4429ac3bfc09eee235fee08b9aaff8c52 - -Signed-off-by: Zoltan Gyarmati ---- - SConstruct | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/SConstruct b/SConstruct -index 1c1a215..c6a309e 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -334,6 +334,11 @@ for driver in ('ashtech', - env['nmea0183'] = True - break - -+ -+# iSync uses ublox underneath, so we force to enable it -+if env['isync']: -+ env['ublox'] = True -+ - opts.Save('.scons-option-cache', env) - env.SConsignFile(".sconsign.dblite") - --- -2.7.4 - diff --git a/bsp/buildroot/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch b/bsp/buildroot/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch new file mode 100644 index 00000000..77badb31 --- /dev/null +++ b/bsp/buildroot/package/gpsd/0002-driver_greis-fix-build-with-reconfigure-disabled.patch @@ -0,0 +1,49 @@ +From 21a752e827bc9e14de4b4c26aef4d0db7403a5b7 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 9 Oct 2018 15:22:46 +0300 +Subject: [PATCH] driver_greis: fix build with reconfigure disabled + +Unhide the definition of greis_parse_input and greis_event_hook since +they are used unconditionally. + +Fixes the following build failure: + +driver_greis.c:969:25: error: 'greis_parse_input' undeclared here (not in a function); did you mean 'generic_parse_input'? + .parse_packet = greis_parse_input, + ^~~~~~~~~~~~~~~~~ + generic_parse_input +driver_greis.c:973:25: error: 'greis_event_hook' undeclared here (not in a function) + .event_hook = greis_event_hook, + ^~~~~~~~~~~~~~~~ + +Cc: Gregory Fong +Signed-off-by: Baruch Siach +--- +Upstream status: http://lists.nongnu.org/archive/html/gpsd-dev/2018-10/msg00012.html + + driver_greis.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/driver_greis.c b/driver_greis.c +index 9eb148fc76cd..222bd9daf020 100644 +--- a/driver_greis.c ++++ b/driver_greis.c +@@ -797,7 +797,6 @@ static ssize_t greis_control_send(struct gps_device_t *session, + } + #endif /* CONTROLSEND_ENABLE */ + +-#ifdef RECONFIGURE_ENABLE + static void greis_event_hook(struct gps_device_t *session, event_t event) + { + if (session->context->readonly) +@@ -870,6 +869,7 @@ static gps_mask_t greis_parse_input(struct gps_device_t *session) + return 0; + } + ++#ifdef RECONFIGURE_ENABLE + /** + * Set port operating mode, speed, parity, stopbits etc. here. + * Note: parity is passed as 'N'/'E'/'O', but you should program +-- +2.19.1 + diff --git a/bsp/buildroot/package/gpsd/Config.in b/bsp/buildroot/package/gpsd/Config.in index 849d22ff..e951c015 100644 --- a/bsp/buildroot/package/gpsd/Config.in +++ b/bsp/buildroot/package/gpsd/Config.in @@ -154,6 +154,11 @@ config BR2_PACKAGE_GPSD_GPSCLOCK help GPSClock support +config BR2_PACKAGE_GPSD_GREIS + bool "Greis" + help + Greis support + config BR2_PACKAGE_GPSD_ISYNC bool "iSync" help diff --git a/bsp/buildroot/package/gpsd/gpsd.hash b/bsp/buildroot/package/gpsd/gpsd.hash index 805c298b..fe594ea2 100644 --- a/bsp/buildroot/package/gpsd/gpsd.hash +++ b/bsp/buildroot/package/gpsd/gpsd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a gpsd-3.17.tar.gz +sha256 48521f5158f5fda4c88a6f75e8bfc1ee67e999e3fc095e4a06cb8c2af56712f4 gpsd-3.18.tar.gz sha256 71ff85d18bf063954cfc4251678d0e772223e21f80febbd99d5524c90f73f832 COPYING diff --git a/bsp/buildroot/package/gpsd/gpsd.mk b/bsp/buildroot/package/gpsd/gpsd.mk index e734d222..48d21348 100644 --- a/bsp/buildroot/package/gpsd/gpsd.mk +++ b/bsp/buildroot/package/gpsd/gpsd.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPSD_VERSION = 3.17 +GPSD_VERSION = 3.18 GPSD_SITE = http://download-mirror.savannah.gnu.org/releases/gpsd GPSD_LICENSE = BSD-3-Clause GPSD_LICENSE_FILES = COPYING @@ -23,7 +23,8 @@ GPSD_SCONS_OPTS = \ prefix=/usr\ sysroot=$(STAGING_DIR)\ strip=no\ - python=no + python=no \ + qt=no ifeq ($(BR2_PACKAGE_NCURSES),y) GPSD_DEPENDENCIES += ncurses @@ -48,14 +49,6 @@ ifeq ($(BR2_microblaze),y) GPSD_CFLAGS += -O0 endif -# Enable or disable Qt binding -ifeq ($(BR2_PACKAGE_QT_NETWORK),y) -GPSD_SCONS_ENV += QMAKE="$(QT_QMAKE)" -GPSD_DEPENDENCIES += qt -else -GPSD_SCONS_OPTS += qt=no -endif - # If libusb is available build it before so the package can use it ifeq ($(BR2_PACKAGE_LIBUSB),y) GPSD_DEPENDENCIES += libusb @@ -112,6 +105,9 @@ endif ifneq ($(BR2_PACKAGE_GPSD_GPSCLOCK),y) GPSD_SCONS_OPTS += gpsclock=no endif +ifneq ($(BR2_PACKAGE_GPSD_GREIS),y) +GPSD_SCONS_OPTS += greis=no +endif ifneq ($(BR2_PACKAGE_GPSD_ISYNC),y) GPSD_SCONS_OPTS += isync=no endif diff --git a/bsp/buildroot/package/gptfdisk/Config.in b/bsp/buildroot/package/gptfdisk/Config.in index ede72f3b..8d94d2bc 100644 --- a/bsp/buildroot/package/gptfdisk/Config.in +++ b/bsp/buildroot/package/gptfdisk/Config.in @@ -38,7 +38,6 @@ config BR2_PACKAGE_GPTFDISK_SGDISK config BR2_PACKAGE_GPTFDISK_CGDISK bool "ncurses cgdisk" depends on BR2_USE_WCHAR # ncurses wchar - depends on !(BR2_bfin && BR2_BINFMT_FLAT) # ncurses wchar support select BR2_PACKAGE_NCURSES select BR2_PACKAGE_NCURSES_WCHAR # needed because of UTF-16 help diff --git a/bsp/buildroot/package/gqrx/0001-fix_compilation_in_gcc-6.patch b/bsp/buildroot/package/gqrx/0001-fix_compilation_in_gcc-6.patch deleted file mode 100644 index 22ec1eff..00000000 --- a/bsp/buildroot/package/gqrx/0001-fix_compilation_in_gcc-6.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e6baaee4968345a53e977f593362267a91041cff Mon Sep 17 00:00:00 2001 -From: Valentin Ochs -Date: Fri, 21 Oct 2016 20:12:50 +0200 -Subject: [PATCH] Cosmetic & readability changes - -Backport patch from -https://github.com/csete/gqrx/commit/e6baaee4968345a53e977f593362267a91041cff - -Fix compilation in gcc-6 - -Signed-off-by: Valentin Ochs -Signed-off-by: Gwenhael Goavec-Merou ---- -diff --git a/src/qtgui/plotter.cpp b/src/qtgui/plotter.cpp -index e491632..b877546 100644 ---- a/src/qtgui/plotter.cpp -+++ b/src/qtgui/plotter.cpp -@@ -1336,8 +1336,11 @@ void CPlotter::drawOverlay() - #endif - - int level = 0; -- for (; level < nLevels && tagEnd[level] > x; level++); -- level %= nLevels; -+ while(level < nLevels && tagEnd[level] > x) -+ level++; -+ -+ if(level == nLevels) -+ level = 0; - - tagEnd[level] = x + nameWidth + slant - 1; - m_BookmarkTags.append(qMakePair(QRect(x, level * levelHeight, nameWidth + slant, fontHeight), bookmarks[i].frequency)); --- -2.10.2 - diff --git a/bsp/buildroot/package/gqrx/Config.in b/bsp/buildroot/package/gqrx/Config.in index 1dc40c6d..b0d7e7b9 100644 --- a/bsp/buildroot/package/gqrx/Config.in +++ b/bsp/buildroot/package/gqrx/Config.in @@ -1,22 +1,27 @@ -comment "gqrx needs a toolchain w/ C++, threads, wchar" +comment "gqrx needs a toolchain w/ C++, threads, wchar, dynamic library" + depends on BR2_USE_MMU # gnuradio + depends on !BR2_PACKAGE_PYTHON3 # gnuradio + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_USE_WCHAR + !BR2_USE_WCHAR || !BR2_STATIC_LIBS -comment "gqrx needs qt5, gnuradio, fftw's single precision" - depends on !BR2_PACKAGE_GNURADIO || !BR2_PACKAGE_FFTW_PRECISION_SINGLE || \ - !BR2_PACKAGE_QT5 +comment "gqrx needs qt5" + depends on !BR2_PACKAGE_QT5 config BR2_PACKAGE_GQRX bool "gqrx" - depends on BR2_PACKAGE_FFTW_PRECISION_SINGLE # gnuradio - depends on BR2_PACKAGE_GNURADIO - depends on BR2_PACKAGE_QT5 + depends on BR2_USE_MMU # gnuradio + depends on !BR2_STATIC_LIBS # gnuradio depends on BR2_INSTALL_LIBSTDCPP # boost depends on BR2_TOOLCHAIN_HAS_THREADS # boost depends on BR2_USE_WCHAR # boost + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_PACKAGE_QT5 + depends on !BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_GNURADIO select BR2_PACKAGE_GNURADIO_ANALOG select BR2_PACKAGE_GNURADIO_AUDIO select BR2_PACKAGE_GNURADIO_BLOCKS diff --git a/bsp/buildroot/package/gqrx/gqrx.hash b/bsp/buildroot/package/gqrx/gqrx.hash index bb52a616..7c1fc985 100644 --- a/bsp/buildroot/package/gqrx/gqrx.hash +++ b/bsp/buildroot/package/gqrx/gqrx.hash @@ -1,2 +1,4 @@ # Locally calculated: -sha256 2736a963dac4051ca8ae91a440ee6643ef7d26c9de5b9c83a369d5fc9328d453 gqrx-v2.6.1.tar.gz +sha256 c4e836c552dc99bf383ca84b2ddc0c67e3d05b073676318e2a011bcd463303ef gqrx-v2.11.4.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 7cc22ce5ee61df62e427ec43b8130de149edee3cafb5af4f18d59b6dc3958faf LICENSE-CTK diff --git a/bsp/buildroot/package/gqrx/gqrx.mk b/bsp/buildroot/package/gqrx/gqrx.mk index 2a7651c2..d93c07d1 100644 --- a/bsp/buildroot/package/gqrx/gqrx.mk +++ b/bsp/buildroot/package/gqrx/gqrx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GQRX_VERSION = v2.6.1 +GQRX_VERSION = v2.11.4 GQRX_SITE = $(call github,csete,gqrx,$(GQRX_VERSION)) GQRX_LICENSE = GPL-3.0+, Apache-2.0 GQRX_LICENSE_FILES = COPYING LICENSE-CTK @@ -12,4 +12,10 @@ GQRX_DEPENDENCIES = boost gnuradio gr-osmosdr qt5base qt5svg GQRX_CONF_OPTS = -DLINUX_AUDIO_BACKEND=Gr-audio +# gqrx can use __atomic builtins, so we need to link with +# libatomic when available +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GQRX_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/gr-osmosdr/gr-osmosdr.mk b/bsp/buildroot/package/gr-osmosdr/gr-osmosdr.mk index 55e043ef..9ed4ad31 100644 --- a/bsp/buildroot/package/gr-osmosdr/gr-osmosdr.mk +++ b/bsp/buildroot/package/gr-osmosdr/gr-osmosdr.mk @@ -12,7 +12,7 @@ GR_OSMOSDR_LICENSE_FILES = COPYING # gr-osmosdr prevents doing an in-source-tree build GR_OSMOSDR_SUPPORTS_IN_SOURCE_BUILD = NO -GR_OSMOSDR_DEPENDENCIES = gnuradio +GR_OSMOSDR_DEPENDENCIES = gnuradio host-python-cheetah GR_OSMOSDR_CONF_OPTS = -DENABLE_DEFAULT=OFF diff --git a/bsp/buildroot/package/graphite2/0001-disable-double-promotion.patch b/bsp/buildroot/package/graphite2/0001-disable-double-promotion.patch deleted file mode 100644 index 888d8623..00000000 --- a/bsp/buildroot/package/graphite2/0001-disable-double-promotion.patch +++ /dev/null @@ -1,23 +0,0 @@ -Don't use -Wdouble-promotion gcc option - -The warning flag isn't recognized for older GCC versions (blackfin), -so just disable it. - -Signed-off-by: Gustavo Zacarias -[Gustavo: update for 1.3.5] -Signed-off-by: Bernd Kuhls -[Bernd: update for 1.3.10] - -diff -Nura graphite2-1.3.5.orig/src/CMakeLists.txt graphite2-1.3.5/src/CMakeLists.txt ---- graphite2-1.3.5.orig/src/CMakeLists.txt 2016-02-15 11:46:45.941906112 -0300 -+++ graphite2-1.3.5/src/CMakeLists.txt 2016-02-15 11:46:54.237194222 -0300 -@@ -111,9 +111,6 @@ - if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86") - add_definitions(-mfpmath=sse -msse2) - endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86") -- if (CMAKE_COMPILER_IS_GNUCXX) -- add_definitions(-Wdouble-promotion) -- endif (CMAKE_COMPILER_IS_GNUCXX) - message(STATUS "Compiler ID is: ${CMAKE_CXX_COMPILER_ID}") - if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") - add_definitions(-Wimplicit-fallthrough) diff --git a/bsp/buildroot/package/grep/grep.hash b/bsp/buildroot/package/grep/grep.hash index 10a5e320..4aa7b4ec 100644 --- a/bsp/buildroot/package/grep/grep.hash +++ b/bsp/buildroot/package/grep/grep.hash @@ -1,4 +1,5 @@ # Locally calculated after checking signature -# http://ftp.gnu.org/gnu/grep/grep-3.1.tar.xz.sig -sha256 db625c7ab3bb3ee757b3926a5cfa8d9e1c3991ad24707a83dde8a5ef2bf7a07e grep-3.1.tar.xz -sha256 ca372a7d92560b1fa9f6d832b440e8bcd62d9adfa8870c98287deab66d98310e COPYING +# http://ftp.gnu.org/gnu/grep/grep-3.3.tar.xz.sig +# using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE +sha256 b960541c499619efd6afe1fa795402e4733c8e11ebf9fafccc0bb4bccdc5b514 grep-3.3.tar.xz +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYING diff --git a/bsp/buildroot/package/grep/grep.mk b/bsp/buildroot/package/grep/grep.mk index 6e44a189..96685b02 100644 --- a/bsp/buildroot/package/grep/grep.mk +++ b/bsp/buildroot/package/grep/grep.mk @@ -4,7 +4,7 @@ # ################################################################################ -GREP_VERSION = 3.1 +GREP_VERSION = 3.3 GREP_SITE = $(BR2_GNU_MIRROR)/grep GREP_SOURCE = grep-$(GREP_VERSION).tar.xz GREP_LICENSE = GPL-3.0+ @@ -25,9 +25,4 @@ else GREP_CONF_OPTS += --disable-perl-regexp endif -# Full grep preferred over busybox grep -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -GREP_DEPENDENCIES += busybox -endif - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/grpc/0001-target-build-using-host-plugin.patch b/bsp/buildroot/package/grpc/0001-target-build-using-host-plugin.patch new file mode 100644 index 00000000..5993987b --- /dev/null +++ b/bsp/buildroot/package/grpc/0001-target-build-using-host-plugin.patch @@ -0,0 +1,52 @@ +From aa18148e392ef28275a182db34397ccb66fb4617 Mon Sep 17 00:00:00 2001 +From: Robert Rose +Date: Wed, 28 Nov 2018 09:41:52 -0800 +Subject: [PATCH] CMakeLists.txt: allow passing a pre-existing grpc_cpp_plugin + +The grpc_cpp_plugin is meant to be executed during the build process +of grpc. As such, in cross-compilation contexts, this program needs to +be built for the host machine and not the target machine. In order to +allow this, this commit adds an option gRPC_NATIVE_CPP_PLUGIN that can +be passed on the command line, with the path to an existing +grpc_cpp_plugin binary. If not passed, grpc_cpp_plugin is built as +usual. + +Signed-off-by: Robert Rose +--- + CMakeLists.txt | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc76cf5..7a22b08 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13108,6 +13108,18 @@ target_link_libraries(grpc_cli + endif (gRPC_BUILD_TESTS) + if (gRPC_BUILD_CODEGEN) + ++if (gRPC_NATIVE_CPP_PLUGIN) ++ ++add_executable(grpc_cpp_plugin ++ IMPORTED ++) ++ ++set_property(TARGET grpc_cpp_plugin ++ PROPERTY IMPORTED_LOCATION ${gRPC_NATIVE_CPP_PLUGIN} ++) ++ ++else() ++ + add_executable(grpc_cpp_plugin + src/compiler/cpp_plugin.cc + ) +@@ -13143,6 +13155,7 @@ if (gRPC_INSTALL) + ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} + ) + endif() ++endif() + + endif (gRPC_BUILD_CODEGEN) + if (gRPC_BUILD_CODEGEN) +-- +2.20.0.rc0.387.gc7a69e6b6c-goog + diff --git a/bsp/buildroot/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch b/bsp/buildroot/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch new file mode 100644 index 00000000..766f7581 --- /dev/null +++ b/bsp/buildroot/package/grpc/0002-Properly-detect-the-availability-of-pthread_setname_.patch @@ -0,0 +1,52 @@ +From 0aeefca28104f86f14b511feee8d5711f2e8bcb5 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Mon, 31 Dec 2018 16:22:07 +0100 +Subject: [PATCH] Properly detect the availability of pthread_setname_np() + +This commit adds a CMake check for the availability of +pthread_setname_np(), and only uses it on Linux when available. + +Indeed, some C libraries, such as uClibc, do not provide this +non-POSIX function in all cases. + +Upstream: https://github.com/grpc/grpc/pull/17610 +Signed-off-by: Thomas Petazzoni +--- + CMakeLists.txt | 6 ++++++ + include/grpc/impl/codegen/port_platform.h | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fc76cf50da..8dd457fb1a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,6 +94,12 @@ endif() + + set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) + ++include(CheckSymbolExists) ++check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP) ++if (HAVE_PTHREAD_SETNAME_NP) ++ add_definitions(-DHAVE_PTHREAD_SETNAME_NP) ++endif () ++ + add_definitions(-DPB_FIELD_16BIT) + + if (MSVC) +diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h +index b2028a6305..dc89e6ed57 100644 +--- a/include/grpc/impl/codegen/port_platform.h ++++ b/include/grpc/impl/codegen/port_platform.h +@@ -173,7 +173,9 @@ + #endif /* _LP64 */ + #ifdef __GLIBC__ + #define GPR_POSIX_CRASH_HANDLER 1 ++#if defined(HAVE_PTHREAD_SETNAME_NP) + #define GPR_LINUX_PTHREAD_NAME 1 ++#endif /* HAVE_PTHREAD_SETNAME_NP */ + #include + #else /* musl libc */ + #define GPR_MUSL_LIBC_COMPAT 1 +-- +2.20.1 + diff --git a/bsp/buildroot/package/grpc/Config.in b/bsp/buildroot/package/grpc/Config.in new file mode 100644 index 00000000..2765d0fb --- /dev/null +++ b/bsp/buildroot/package/grpc/Config.in @@ -0,0 +1,25 @@ +config BR2_PACKAGE_GRPC + bool "grpc" + depends on BR2_INSTALL_LIBSTDCPP # protobuf + depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf + depends on BR2_HOST_GCC_AT_LEAST_4_8 # protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf + depends on !BR2_STATIC_LIBS # protobuf + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_PROTOBUF + select BR2_PACKAGE_ZLIB + help + A language-neutral, platform-neutral, open source, remote + procedure call (RPC) system initially developed at Google. + + http://github.com/grpc/grpc + +comment "grpc needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.8" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_8 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/bsp/buildroot/package/grpc/grpc.hash b/bsp/buildroot/package/grpc/grpc.hash new file mode 100644 index 00000000..9e501112 --- /dev/null +++ b/bsp/buildroot/package/grpc/grpc.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 a5342629fe1b689eceb3be4d4f167b04c70a84b9d61cf8b555e968bc500bdb5a grpc-v1.16.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/grpc/grpc.mk b/bsp/buildroot/package/grpc/grpc.mk new file mode 100644 index 00000000..6c804429 --- /dev/null +++ b/bsp/buildroot/package/grpc/grpc.mk @@ -0,0 +1,41 @@ +################################################################################ +# +# grpc +# +################################################################################ + +GRPC_VERSION = v1.16.1 +GRPC_SITE = $(call github,grpc,grpc,$(GRPC_VERSION)) +GRPC_LICENSE = Apache-2.0 +GRPC_LICENSE_FILES = LICENSE + +GRPC_INSTALL_STAGING = YES + +# Need to use host grpc_cpp_plugin during cross compilation. +GRPC_DEPENDENCIES = c-ares host-grpc openssl protobuf zlib +HOST_GRPC_DEPENDENCIES = host-c-ares host-openssl host-protobuf host-zlib + +GRPC_CONF_OPTS = \ + -D_gRPC_CARES_LIBRARIES=cares \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_NATIVE_CPP_PLUGIN=$(HOST_DIR)/bin/grpc_cpp_plugin + +# grpc can use __atomic builtins, so we need to link with +# libatomic when available +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +GRPC_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic +endif + +HOST_GRPC_CONF_OPTS = \ + -D_gRPC_CARES_LIBRARIES=cares \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_CARES_PROVIDER=none \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package + +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) diff --git a/bsp/buildroot/package/gstreamer/Config.in b/bsp/buildroot/package/gstreamer/Config.in index c6292f4a..e922437f 100644 --- a/bsp/buildroot/package/gstreamer/Config.in +++ b/bsp/buildroot/package/gstreamer/Config.in @@ -7,7 +7,6 @@ source "package/gstreamer/gst-plugins-good/Config.in" source "package/gstreamer/gst-plugins-bad/Config.in" source "package/gstreamer/gst-plugins-ugly/Config.in" source "package/gstreamer/gst-ffmpeg/Config.in" -source "package/gstreamer/gst-dsp/Config.in" source "package/gstreamer/gst-fsl-plugins/Config.in" source "package/gstreamer/gst-omapfb/Config.in" source "package/gstreamer/gst-plugin-x170/Config.in" diff --git a/bsp/buildroot/package/gstreamer/gst-dsp/Config.in b/bsp/buildroot/package/gstreamer/gst-dsp/Config.in deleted file mode 100644 index 102cf69b..00000000 --- a/bsp/buildroot/package/gstreamer/gst-dsp/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_GST_DSP - bool "gst-dsp" - depends on BR2_cortex_a8 - select BR2_PACKAGE_TIDSP_BINARIES - help - GStreamer plug-in to access TI OMAP3 DSP algorithms. - - http://code.google.com/p/gst-dsp/ diff --git a/bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.hash b/bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.hash deleted file mode 100644 index 3bccfc1c..00000000 --- a/bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 45437a038979916de74e78a2cc7a0b01ba3982d0848e1e483a054c9cf0ce5883 gst-dsp-v0.10.2.tar.gz diff --git a/bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.mk b/bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.mk deleted file mode 100644 index dedffb98..00000000 --- a/bsp/buildroot/package/gstreamer/gst-dsp/gst-dsp.mk +++ /dev/null @@ -1,20 +0,0 @@ -################################################################################ -# -# gst-dsp -# -################################################################################ - -GST_DSP_VERSION = v0.10.2 -GST_DSP_SITE = $(call github,felipec,gst-dsp,$(GST_DSP_VERSION)) - -define GST_DSP_BUILD_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e -endef - -define GST_DSP_INSTALL_TARGET_CMDS - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -e DESTDIR=$(TARGET_DIR) install -endef - -GST_DSP_DEPENDENCIES = gstreamer tidsp-binaries host-pkgconf - -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in b/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in index 32bfdd53..1e95d016 100644 --- a/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in +++ b/bsp/buildroot/package/gstreamer/gst-ffmpeg/Config.in @@ -5,6 +5,7 @@ config BR2_PACKAGE_GST_FFMPEG depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 # triggers https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65151 on sh depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85180 select BR2_PACKAGE_GST_PLUGINS_BASE help GStreamer plugin containing one plugin with a set of @@ -28,3 +29,6 @@ endif comment "gst-ffmpeg needs a toolchain w/ gcc >= 5" depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh + +comment "gst-ffmpeg needs a toolchain not affected by GCC bug 85180" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85180 diff --git a/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in b/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in index 939fc7a7..f45981f6 100644 --- a/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in +++ b/bsp/buildroot/package/gstreamer/gst-plugins-bad/Config.in @@ -318,7 +318,6 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VCD config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_VP8 bool "vp8" - depends on !BR2_bfin # libvpx select BR2_PACKAGE_LIBVPX config BR2_PACKAGE_GST_PLUGINS_BAD_ZBAR @@ -327,12 +326,12 @@ config BR2_PACKAGE_GST_PLUGINS_BAD_ZBAR depends on BR2_USE_MMU # zbar-> libv4l depends on !BR2_STATIC_LIBS # zbar-> libv4l depends on BR2_INSTALL_LIBSTDCPP # zbar-> libv4l - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # zbar-> libv4l + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # zbar select BR2_PACKAGE_ZBAR -comment "zbar plugin needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0" +comment "zbar plugin needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.17" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \ - || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 endif diff --git a/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk b/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk index b9416db3..856ff966 100644 --- a/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk +++ b/bsp/buildroot/package/gstreamer/gst-plugins-bad/gst-plugins-bad.mk @@ -12,7 +12,8 @@ GST_PLUGINS_BAD_LICENSE = LGPL-2.1+, GPL-2.0+ GST_PLUGINS_BAD_LICENSE_FILES = COPYING.LIB COPYING GST_PLUGINS_BAD_CONF_OPTS = \ - --disable-examples + --disable-examples \ + --disable-spandsp GST_PLUGINS_BAD_DEPENDENCIES = gst-plugins-base gstreamer diff --git a/bsp/buildroot/package/gstreamer/gstreamer/gstreamer.mk b/bsp/buildroot/package/gstreamer/gstreamer/gstreamer.mk index 91230aac..2ec360c9 100644 --- a/bsp/buildroot/package/gstreamer/gstreamer/gstreamer.mk +++ b/bsp/buildroot/package/gstreamer/gstreamer/gstreamer.mk @@ -15,10 +15,10 @@ GSTREAMER_LICENSE_FILES = COPYING # Checking if unaligned memory access works correctly cannot be done when cross # compiling. For the following architectures there is no information available # in the configure script. -ifeq ($(BR2_arc)$(BR2_xtensa)$(BR2_microblaze)$(BR2_nios2)$(BR2_or1k),y) +ifeq ($(BR2_arc)$(BR2_xtensa)$(BR2_microblaze)$(BR2_nios2)$(BR2_or1k)$(BR2_riscv),y) GSTREAMER_CONF_ENV = as_cv_unaligned_access=no endif -ifeq ($(BR2_aarch64),y) +ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) GSTREAMER_CONF_ENV = as_cv_unaligned_access=yes endif diff --git a/bsp/buildroot/package/gstreamer1/Config.in b/bsp/buildroot/package/gstreamer1/Config.in index 76c32bc6..922ecefc 100644 --- a/bsp/buildroot/package/gstreamer1/Config.in +++ b/bsp/buildroot/package/gstreamer1/Config.in @@ -8,9 +8,12 @@ source "package/gstreamer1/gst1-plugins-good/Config.in" source "package/gstreamer1/gst1-plugins-bad/Config.in" source "package/gstreamer1/gst1-plugins-ugly/Config.in" source "package/gstreamer1/gst1-imx/Config.in" +source "package/gstreamer1/gst1-interpipe/Config.in" source "package/gstreamer1/gst1-libav/Config.in" source "package/gstreamer1/gst1-rtsp-server/Config.in" +source "package/gstreamer1/gst1-shark/Config.in" source "package/gstreamer1/gst1-validate/Config.in" source "package/gstreamer1/gst1-vaapi/Config.in" source "package/gstreamer1/gst-omx/Config.in" +source "package/gstreamer1/gstreamer1-editing-services/Config.in" endif diff --git a/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.hash b/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.hash index c4f8b10b..3efd9f32 100644 --- a/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.hash +++ b/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.12.4.tar.xz.sha256sum -sha256 a025fa24242ec868fe0ff1e66d806a1070bcbc7c14a987a89cdc3395d0d56d5f gst-omx-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-1.14.4.tar.xz.sha256sum +sha256 969870e75c1f75c96f8783530e2c2932fc3afbfd976eb0c466f51dae268ea3d4 gst-omx-1.14.4.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk b/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk index 68cb7f66..5dda1eb1 100644 --- a/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk +++ b/bsp/buildroot/package/gstreamer1/gst-omx/gst-omx.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST_OMX_VERSION = 1.12.4 +GST_OMX_VERSION = 1.14.4 GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz GST_OMX_SITE = https://gstreamer.freedesktop.org/src/gst-omx diff --git a/bsp/buildroot/package/gstreamer1/gst1-imx/gst1-imx.hash b/bsp/buildroot/package/gstreamer1/gst1-imx/gst1-imx.hash index 58ff4be2..0ef01d71 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-imx/gst1-imx.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-imx/gst1-imx.hash @@ -1,2 +1,3 @@ # locally computed hash sha256 3fcf1046ab8c6c7cd94218f4d2bc31ad7b5efa8a6b8f9fd5d93dc182f98ce026 gst1-imx-0.13.0.tar.gz +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 LICENSE diff --git a/bsp/buildroot/package/gstreamer1/gst1-interpipe/Config.in b/bsp/buildroot/package/gstreamer1/gst1-interpipe/Config.in new file mode 100644 index 00000000..5640c2b3 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-interpipe/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_GST1_INTERPIPE + bool "gst1-interpipe" + select BR2_PACKAGE_GSTREAMER1_CHECK + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + help + GstInterpipe is a Gstreamer plug-in that allows communication + between two independent pipelines. + + https://github.com/RidgeRun/gst-interpipe diff --git a/bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash b/bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash new file mode 100644 index 00000000..b9b1c5e4 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.hash @@ -0,0 +1,5 @@ +# locally computed hash +sha256 3f8cc5cf4861e5836938c66415b47555550c93b06b1bc9faed83e89bacf705cf gst1-interpipe-10dba89eecc200e49f0b432e299f1c8a4312b657.tar.gz + +# Hashes for license files: +sha256 16d7caa6cabbfd0ca47e064a7b48cb446d013e84ca88c854d6470851752136d5 COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk b/bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk new file mode 100644 index 00000000..8f810f9c --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-interpipe/gst1-interpipe.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# gst1-interpipe +# +################################################################################ + +GST1_INTERPIPE_VERSION = 10dba89eecc200e49f0b432e299f1c8a4312b657 +GST1_INTERPIPE_SITE = https://github.com/RidgeRun/gst-interpipe +GST1_INTERPIPE_SITE_METHOD = git +# fetch gst-interpipe/common sub module +GST1_INTERPIPE_GIT_SUBMODULES = YES + +GST1_INTERPIPE_LICENSE = LGPL-2.1 +GST1_INTERPIPE_LICENSE_FILES = COPYING + +# from git source +GST1_INTERPIPE_AUTORECONF = YES + +GST1_INTERPIPE_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.hash b/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.hash index f9a287c5..741c5823 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.12.4.tar.xz.sha256sum -sha256 2a56aa5d2d8cd912f2bce17f174713d2c417ca298f1f9c28ee66d4aa1e1d9e62 gst-libav-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.14.4.tar.xz.sha256sum +sha256 dfd78591901df7853eab7e56a86c34a1b03635da0d3d56b89aa577f1897865da gst-libav-1.14.4.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.mk b/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.mk index 7450b759..7ed90a94 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-libav/gst1-libav.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_LIBAV_VERSION = 1.12.4 +GST1_LIBAV_VERSION = 1.14.4 GST1_LIBAV_SOURCE = gst-libav-$(GST1_LIBAV_VERSION).tar.xz GST1_LIBAV_SITE = https://gstreamer.freedesktop.org/src/gst-libav GST1_LIBAV_CONF_OPTS = --with-system-libav diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch new file mode 100644 index 00000000..a9c5d44d --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0001-fdkaacenc-Remove-MODE_2_1.patch @@ -0,0 +1,32 @@ +From f4fdb9770c76113f38515245fecc5f11b3ace20d Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 4 Dec 2018 17:54:42 +0100 +Subject: [PATCH] fdkaacenc: Remove MODE_2_1 + +This is not a standard mode and no longer supported by fdk-aac 2.0.0. + +For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825 + +Signed-off-by: Peter Korsgaard +--- + ext/fdkaac/gstfdkaacenc.c | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/ext/fdkaac/gstfdkaacenc.c b/ext/fdkaac/gstfdkaacenc.c +index ad2bcb492..8410e684c 100644 +--- a/ext/fdkaac/gstfdkaacenc.c ++++ b/ext/fdkaac/gstfdkaacenc.c +@@ -71,10 +71,6 @@ static const struct + GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, + GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}}, { +- 3, MODE_2_1, { +- GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, +- GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, +- GST_AUDIO_CHANNEL_POSITION_LFE1}}, { + 4, MODE_1_2_1, { + GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, +-- +2.11.0 + diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch new file mode 100644 index 00000000..00497142 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/0002-fdkaacdec-Use-WAV-channel-mapping-instead-of-interle.patch @@ -0,0 +1,49 @@ +From 19d34f6b5e1633d5ec4bb2832c58470f0c829cab Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Wed, 5 Dec 2018 10:10:39 +0100 +Subject: [PATCH] fdkaacdec: Use WAV channel mapping instead of interleave + setting + +The latter is going away in libfdk-aac 2.0.0. Instead, MPEG-style output +is always non-interleaved and WAV-style output is always interleaved. +Earlier libfdk-aac also defaults interleaving accordingly. + +Since our reordering looks at the associated PCE indices instead of the +actual channel order, we're agnostic to the mapping. + +For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825 + +Signed-off-by: Peter Korsgaard +--- + ext/fdkaac/gstfdkaacdec.c | 12 ++++-------- + 1 file changed, 4 insertions(+), 8 deletions(-) + +diff --git a/ext/fdkaac/gstfdkaacdec.c b/ext/fdkaac/gstfdkaacdec.c +index c27183752..f5136b334 100644 +--- a/ext/fdkaac/gstfdkaacdec.c ++++ b/ext/fdkaac/gstfdkaacdec.c +@@ -151,17 +151,13 @@ gst_fdkaacdec_set_format (GstAudioDecoder * dec, GstCaps * caps) + gst_buffer_unref (codec_data); + } + ++ /* Choose WAV channel mapping to get interleaving even with libfdk-aac 2.0.0 ++ * The pChannelIndices retain the indices from the standard MPEG mapping so ++ * we're agnostic to the actual order. */ + if ((err = + aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_CHANNEL_MAPPING, +- 0)) != AAC_DEC_OK) { +- GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err); +- return FALSE; +- } +- +- if ((err = +- aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_INTERLEAVED, + 1)) != AAC_DEC_OK) { +- GST_ERROR_OBJECT (self, "Failed to set interleaved output: %d", err); ++ GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err); + return FALSE; + } + +-- +2.11.0 + diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in index 7e166e43..a2ceeb90 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/Config.in @@ -9,134 +9,6 @@ menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD if BR2_PACKAGE_GST1_PLUGINS_BAD -comment "libraries with external dependencies" - -menuconfig BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL - bool "opengl" - depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES - -if BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL - -config BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL - def_bool BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW - -comment "The opengl library needs an API, a platform and a window system" - depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL - -comment "APIs" - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API - bool - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL - bool "opengl" - default y - depends on BR2_PACKAGE_HAS_LIBGL - select BR2_PACKAGE_LIBGLU - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API - -comment "opengl needs an OpenGL backend" - depends on !BR2_PACKAGE_HAS_LIBGL - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 - bool "gles2" - default y - depends on BR2_PACKAGE_HAS_LIBGLES - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API - -comment "gles2 needs an OpenGL ES backend" - depends on !BR2_PACKAGE_HAS_LIBGLES - -comment "Platforms" - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM - bool - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX - bool "glx" - default y - depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL - depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X - depends on !BR2_PACKAGE_RPI_USERLAND # x11 - select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM - help - OpenGL Extension to the X Window System - -comment "glx not supported with rpi-userland" - depends on BR2_PACKAGE_RPI_USERLAND - -comment "glx needs the opengl API and modular X.org" - depends on !BR2_PACKAGE_RPI_USERLAND && \ - (!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL || \ - !BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR) - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL - bool "egl" - default y - depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API - depends on BR2_PACKAGE_HAS_LIBEGL - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM - -comment "egl needs an API and an EGL backend" - depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_API || \ - !BR2_PACKAGE_HAS_LIBEGL - -comment "Window systems" - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW - bool - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 - bool "x11" - default y - depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM - depends on !BR2_PACKAGE_RPI_USERLAND - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW - -comment "x11 not supported with rpi-userland" - depends on BR2_PACKAGE_RPI_USERLAND - -comment "x11 needs a platform and X.org" - depends on !BR2_PACKAGE_RPI_USERLAND && \ - (!BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_PLATFORM || \ - !BR2_PACKAGE_XORG7) - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND - bool "wayland" - default y - depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL - depends on BR2_PACKAGE_WAYLAND - select BR2_PACKAGE_WAYLAND_PROTOCOLS - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW - -comment "wayland needs the egl platform and the wayland package" - depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \ - !BR2_PACKAGE_WAYLAND - -config BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX - bool "dispmanx" - default y - depends on BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL - depends on BR2_PACKAGE_RPI_USERLAND - select BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_HAS_WINDOW - help - Raspberry Pi's Dispmanx windowing system - -comment "dispmanx needs the egl platform and rpi-userland" - depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL || \ - !BR2_PACKAGE_RPI_USERLAND - -endif - -comment "opengl needs an OpenGL or OpenGL ES backend" - depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES - comment "dependency-less plugins" config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_ACCURIP @@ -174,11 +46,6 @@ config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOFXBAD help Audio filters plugin -config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER - bool "audiomixer" - help - Audio mixer plugin - config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX bool "audiomixmatrix" help @@ -513,10 +380,10 @@ comment "fdk-aac needs a toolchain w/ C++" config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL bool "gl" default y - depends on BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL -comment "gl needs the gst1-plugins-bad opengl library" - depends on !BR2_PACKAGE_GST1_PLUGINS_BAD_HAS_LIB_OPENGL +comment "gl needs the gst1-plugins-base opengl library" + depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HLS bool "hls" diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash index 752d50a5..cb4bf646 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.hash @@ -1,2 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.12.4.tar.xz.sha256sum -sha256 0c7857be16686d5c1ba6e34bd338664d3d4599d32714a8eca5c8a41a101e2d08 gst-plugins-bad-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.14.4.tar.xz.sha256sum +sha256 910b4e0e2e897e8b6d06767af1779d70057c309f67292f485ff988d087aa0de5 gst-plugins-bad-1.14.4.tar.xz +sha256 0b12e4d1cd5db5f8a0c04fc98a1d8c3acc533097b6198d6644420da78d460223 COPYING +sha256 cf9b86bcf2d298e8cf5b9d8982f9dab296465b002fdfa0347357a0732f961e03 COPYING.LIB diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk index b041014f..ac39f1e5 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-bad/gst1-plugins-bad.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BAD_VERSION = 1.12.4 +GST1_PLUGINS_BAD_VERSION = 1.14.4 GST1_PLUGINS_BAD_SOURCE = gst-plugins-bad-$(GST1_PLUGINS_BAD_VERSION).tar.xz GST1_PLUGINS_BAD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-bad GST1_PLUGINS_BAD_INSTALL_STAGING = YES @@ -21,7 +21,8 @@ GST1_PLUGINS_BAD_CONF_OPTS = \ --disable-winks \ --disable-android_media \ --disable-apple_media \ - --disable-acm + --disable-acm \ + --disable-introspection # Options which require currently unpackaged libraries GST1_PLUGINS_BAD_CONF_OPTS += \ @@ -58,8 +59,7 @@ GST1_PLUGINS_BAD_CONF_OPTS += \ --disable-schro \ --disable-zbar \ --disable-spandsp \ - --disable-gtk3 \ - --disable-qt + --disable-gtk3 GST1_PLUGINS_BAD_DEPENDENCIES = gst1-plugins-base gstreamer1 @@ -72,58 +72,13 @@ GST1_PLUGINS_BAD_CONF_ENV += \ -I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-opengl -GST1_PLUGINS_BAD_DEPENDENCIES += libgl libglu -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-opengl -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-gles2 -GST1_PLUGINS_BAD_DEPENDENCIES += libgles -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-gles2 -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-glx -GST1_PLUGINS_BAD_DEPENDENCIES += xproto_glproto xlib_libXrender -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-glx -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-egl -GST1_PLUGINS_BAD_DEPENDENCIES += libegl -GST1_PLUGINS_BAD_CONF_ENV += \ - CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \ - LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`" -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-egl -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-x11 -GST1_PLUGINS_BAD_DEPENDENCIES += xlib_libX11 xlib_libXext -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-x11 -endif - -ifneq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND)$(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),) +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WAYLAND),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-wayland GST1_PLUGINS_BAD_DEPENDENCIES += wayland wayland-protocols else GST1_PLUGINS_BAD_CONF_OPTS += --disable-wayland endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-dispmanx -GST1_PLUGINS_BAD_DEPENDENCIES += rpi-userland -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-dispmanx -endif - ifeq ($(BR2_PACKAGE_ORC),y) GST1_PLUGINS_BAD_DEPENDENCIES += orc GST1_PLUGINS_BAD_CONF_OPTS += --enable-orc @@ -178,12 +133,6 @@ else GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiofxbad endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER),y) -GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiomixer -else -GST1_PLUGINS_BAD_CONF_OPTS += --disable-audiomixer -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXMATRIX),y) GST1_PLUGINS_BAD_CONF_OPTS += --enable-audiomixmatrix else diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/Config.in b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/Config.in index 6b08b68c..340926ec 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/Config.in +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/Config.in @@ -28,6 +28,11 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT help Convert audio to different formats +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER + bool "audiomixer" + help + Audio mixer plugin + config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE bool "audiorate" help @@ -111,6 +116,131 @@ config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME comment "plugins with external dependencies" +menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL + bool "opengl" + depends on BR2_PACKAGE_HAS_LIBGL || BR2_PACKAGE_HAS_LIBGLES + +if BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL + +config BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + def_bool BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW + +comment "The opengl library needs an API, a platform and a window system" + depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL + +comment "APIs" + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API + bool + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL + bool "opengl" + default y + depends on BR2_PACKAGE_HAS_LIBGL + select BR2_PACKAGE_LIBGLU + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API + +comment "opengl needs an OpenGL backend" + depends on !BR2_PACKAGE_HAS_LIBGL + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2 + bool "gles2" + default y + depends on BR2_PACKAGE_HAS_LIBGLES + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API + +comment "gles2 needs an OpenGL ES backend" + depends on !BR2_PACKAGE_HAS_LIBGLES + +comment "Platforms" + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM + bool + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX + bool "glx" + default y + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL + depends on BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR # mesa needs big X + depends on !BR2_PACKAGE_RPI_USERLAND # x11 + select BR2_PACKAGE_XLIB_LIBXRENDER + select BR2_PACKAGE_XORGPROTO + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11 + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM + help + OpenGL Extension to the X Window System + +comment "glx not supported with rpi-userland" + depends on BR2_PACKAGE_RPI_USERLAND + +comment "glx needs the opengl API and modular X.org" + depends on !BR2_PACKAGE_RPI_USERLAND && \ + (!BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL || \ + !BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR) + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL + bool "egl" + default y + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API + depends on BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM + +comment "egl needs an API and an EGL backend" + depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API || \ + !BR2_PACKAGE_HAS_LIBEGL + +comment "Window systems" + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW + bool + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11 + bool "x11" + default y + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM + depends on !BR2_PACKAGE_RPI_USERLAND + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW + +comment "x11 not supported with rpi-userland" + depends on BR2_PACKAGE_RPI_USERLAND + +comment "x11 needs a platform and X.org" + depends on !BR2_PACKAGE_RPI_USERLAND && \ + (!BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM || \ + !BR2_PACKAGE_XORG7) + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND + bool "wayland" + default y + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL + depends on BR2_PACKAGE_WAYLAND + select BR2_PACKAGE_WAYLAND_PROTOCOLS + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW + +comment "wayland needs the egl platform and the wayland package" + depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL || \ + !BR2_PACKAGE_WAYLAND + +config BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX + bool "dispmanx" + default y + depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL + depends on BR2_PACKAGE_RPI_USERLAND + select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW + help + Raspberry Pi's Dispmanx windowing system + +comment "dispmanx needs the egl platform and rpi-userland" + depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL || \ + !BR2_PACKAGE_RPI_USERLAND +endif + +comment "opengl needs an OpenGL or OpenGL ES backend" + depends on !BR2_PACKAGE_HAS_LIBGL && !BR2_PACKAGE_HAS_LIBGLES + config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA bool "alsa (mandatory for audio playback)" select BR2_PACKAGE_ALSA_LIB diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash index b935f2f6..c508bdc0 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.hash @@ -1,2 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.12.4.tar.xz.sha256sum -sha256 4c306b03df0212f1b8903784e29bb3493319ba19ebebf13b0c56a17870292282 gst-plugins-base-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.14.4.tar.xz.sha256sum +sha256 ca6139490e48863e7706d870ff4e8ac9f417b56f3b9e4b3ce490c13b09a77461 gst-plugins-base-1.14.4.tar.xz +sha256 78fb5977f177ab71cba77a4a127d29b93cb1ca5c25962204b31f183a20cf5c7a COPYING +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING.LIB diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk index 10361ee3..fb976f9a 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_BASE_VERSION = 1.12.4 +GST1_PLUGINS_BASE_VERSION = 1.14.4 GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz GST1_PLUGINS_BASE_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-base GST1_PLUGINS_BASE_INSTALL_STAGING = YES @@ -14,7 +14,8 @@ GST1_PLUGINS_BASE_LICENSE = LGPL-2.0+, LGPL-2.1+ # gio_unix_2_0 is only used for tests GST1_PLUGINS_BASE_CONF_OPTS = \ --disable-examples \ - --disable-valgrind + --disable-valgrind \ + --disable-introspection # Options which require currently unpackaged libraries GST1_PLUGINS_BASE_CONF_OPTS += \ @@ -24,13 +25,64 @@ GST1_PLUGINS_BASE_CONF_OPTS += \ GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1 -# These plugins are liste in the order from ./configure --help - +# These plugins are listed in the order from ./configure --help ifeq ($(BR2_PACKAGE_ORC),y) GST1_PLUGINS_BASE_DEPENDENCIES += orc GST1_PLUGINS_BASE_CONF_OPTS += --enable-orc endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-opengl +GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-opengl +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-gles2 +GST1_PLUGINS_BASE_DEPENDENCIES += libgles +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-gles2 +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-glx +GST1_PLUGINS_BASE_DEPENDENCIES += xorgproto xlib_libXrender +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-glx +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_EGL),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-egl +GST1_PLUGINS_BASE_DEPENDENCIES += libegl +GST1_PLUGINS_BASE_CONF_ENV += \ + CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags egl`" \ + LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs egl`" +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-egl +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_X11),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-x11 +GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-x11 +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_WAYLAND),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-wayland +GST1_PLUGINS_BASE_DEPENDENCIES += wayland wayland-protocols +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-wayland +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_DISPMANX),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-dispmanx +GST1_PLUGINS_BASE_DEPENDENCIES += rpi-userland +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-dispmanx +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER),y) GST1_PLUGINS_BASE_CONF_OPTS += --enable-adder else @@ -49,6 +101,12 @@ else GST1_PLUGINS_BASE_CONF_OPTS += --disable-audioconvert endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER),y) +GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiomixer +else +GST1_PLUGINS_BASE_CONF_OPTS += --disable-audiomixer +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE),y) GST1_PLUGINS_BASE_CONF_OPTS += --enable-audiorate else diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-good/Config.in b/bsp/buildroot/package/gstreamer1/gst1-plugins-good/Config.in index 4f83d00a..afb9a418 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-good/Config.in +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-good/Config.in @@ -261,6 +261,18 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_Y4M comment "plugins with external dependencies" +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME + bool "lame (*.mp3 audio encoder)" + select BR2_PACKAGE_LAME + help + Encode MP3s with LAME + +config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123 + bool "mpg123 (*.mp3 audio)" + select BR2_PACKAGE_MPG123 + help + mp3 decoding based on the mpg123 library + config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_OSS bool "ossaudio (OSS audio)" help @@ -362,14 +374,12 @@ comment "taglib needs a toolchain w/ C++, wchar" config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX bool "vpx (webm)" - depends on !BR2_bfin # libvpx depends on BR2_TOOLCHAIN_HAS_THREADS # libvpx select BR2_PACKAGE_LIBVPX help VP8 plugin comment "libvpx needs a toolchain w/ threads" - depends on !BR2_bfin depends on !BR2_TOOLCHAIN_HAS_THREADS config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPACK diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash b/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash index c6f61381..1d08938e 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.12.4.tar.xz.sha256sum -sha256 649f49bec60892d47ee6731b92266974c723554da1c6649f21296097715eb957 gst-plugins-good-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.14.4.tar.xz.sha256sum +sha256 5f8b553260cb0aac56890053d8511db1528d53cae10f0287cfce2cb2acc70979 gst-plugins-good-1.14.4.tar.xz +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk b/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk index 53e23415..2e6ac6db 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-good/gst1-plugins-good.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_GOOD_VERSION = 1.12.4 +GST1_PLUGINS_GOOD_VERSION = 1.14.4 GST1_PLUGINS_GOOD_SOURCE = gst-plugins-good-$(GST1_PLUGINS_GOOD_VERSION).tar.xz GST1_PLUGINS_GOOD_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-good GST1_PLUGINS_GOOD_LICENSE_FILES = COPYING @@ -20,17 +20,24 @@ GST1_PLUGINS_GOOD_CONF_OPTS = \ --disable-osx_video \ --disable-aalib \ --disable-aalibtest \ - --disable-libcaca + --disable-libcaca \ + --disable-qt # Options which require currently unpackaged libraries GST1_PLUGINS_GOOD_CONF_OPTS += \ - --disable-jack \ --disable-libdv \ --disable-dv1394 \ --disable-shout2 GST1_PLUGINS_GOOD_DEPENDENCIES = gstreamer1 gst1-plugins-base +ifeq ($(BR2_PACKAGE_JACK2),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-jack +GST1_PLUGINS_GOOD_DEPENDENCIES += jack2 +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-jack +endif + ifeq ($(BR2_PACKAGE_LIBV4L),y) GST1_PLUGINS_GOOD_CONF_OPTS += --with-libv4l2 GST1_PLUGINS_GOOD_DEPENDENCIES += libv4l @@ -175,6 +182,20 @@ else GST1_PLUGINS_GOOD_CONF_OPTS += --disable-isomp4 endif +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAME),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-lame +GST1_PLUGINS_GOOD_DEPENDENCIES += lame +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-lame +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MPG123),y) +GST1_PLUGINS_GOOD_CONF_OPTS += --enable-mpg123 +GST1_PLUGINS_GOOD_DEPENDENCIES += mpg123 +else +GST1_PLUGINS_GOOD_CONF_OPTS += --disable-mpg123 +endif + ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_LAW),y) GST1_PLUGINS_GOOD_CONF_OPTS += --enable-law else diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/Config.in b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/Config.in index c9974110..c24ec7ae 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/Config.in +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/Config.in @@ -44,18 +44,6 @@ config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_DVDREAD help Access a DVD with dvdread -config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME - bool "lame (*.mp3 audio encoder)" - select BR2_PACKAGE_LAME - help - Encode MP3s with LAME - -config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 - bool "mpg123 (*.mp3 audio)" - select BR2_PACKAGE_MPG123 - help - mp3 decoding based on the mpg123 library - config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC bool "mpeg2dec" select BR2_PACKAGE_LIBMPEG2 diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash index d0581531..f93c7e23 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.12.4.tar.xz.sha256sum -sha256 1c165b8d888ed350acd8e6ac9f6fe06508e6fcc0a3afc6ccc9fbeb30df9be522 gst-plugins-ugly-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.14.4.tar.xz.sha256sum +sha256 ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f0f6d23 gst-plugins-ugly-1.14.4.tar.xz +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk index af02a560..2f9b204e 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-plugins-ugly/gst1-plugins-ugly.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_PLUGINS_UGLY_VERSION = 1.12.4 +GST1_PLUGINS_UGLY_VERSION = 1.14.4 GST1_PLUGINS_UGLY_SOURCE = gst-plugins-ugly-$(GST1_PLUGINS_UGLY_VERSION).tar.xz GST1_PLUGINS_UGLY_SITE = https://gstreamer.freedesktop.org/src/gst-plugins-ugly GST1_PLUGINS_UGLY_LICENSE_FILES = COPYING @@ -70,20 +70,6 @@ else GST1_PLUGINS_UGLY_CONF_OPTS += --disable-dvdread endif -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-lame -GST1_PLUGINS_UGLY_DEPENDENCIES += lame -else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-lame -endif - -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123),y) -GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpg123 -GST1_PLUGINS_UGLY_DEPENDENCIES += mpg123 -else -GST1_PLUGINS_UGLY_CONF_OPTS += --disable-mpg123 -endif - ifeq ($(BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPEG2DEC),y) GST1_PLUGINS_UGLY_CONF_OPTS += --enable-mpeg2dec GST1_PLUGINS_UGLY_DEPENDENCIES += libmpeg2 diff --git a/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash b/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash index 95c8eef8..fa6e71f4 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.hash @@ -1,2 +1,4 @@ -# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.12.4.tar.xz.sha256sum -sha256 7660112ebd59838f1054796b38109dcbe32f0a040e3a252a68a81055aeaa56a9 gst-rtsp-server-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.14.4.tar.xz.sha256sum +sha256 3d0ece2afdcd601c175ece24e32a30bc19247b454f4eafd3deeec2533c6884f1 gst-rtsp-server-1.14.4.tar.xz +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING.LIB diff --git a/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk b/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk index d6a82ee6..a86b137c 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-rtsp-server/gst1-rtsp-server.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_RTSP_SERVER_VERSION = 1.12.4 +GST1_RTSP_SERVER_VERSION = 1.14.4 GST1_RTSP_SERVER_SOURCE = gst-rtsp-server-$(GST1_RTSP_SERVER_VERSION).tar.xz GST1_RTSP_SERVER_SITE = http://gstreamer.freedesktop.org/src/gst-rtsp-server GST1_RTSP_SERVER_LICENSE = LGPL-2.0+ diff --git a/bsp/buildroot/package/gstreamer1/gst1-shark/Config.in b/bsp/buildroot/package/gstreamer1/gst1-shark/Config.in new file mode 100644 index 00000000..ad6b6fb9 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-shark/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_GST1_SHARK + bool "gst1-shark" + select BR2_PACKAGE_GSTREAMER1_CHECK + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP + select BR2_PACKAGE_GSTREAMER1_GST_DEBUG # gst_debug_log_valist, GST_CAT_STATES + help + GstShark leverages GStreamers newest instrumentation subsystem + by installing a set of custom hooks to the trace points. A + variety of data analytics are extracted and presented to the + user in a graphical, friendly way. + + https://github.com/RidgeRun/gst-shark diff --git a/bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.hash b/bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.hash new file mode 100644 index 00000000..fdcbc563 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.hash @@ -0,0 +1,5 @@ +# locally computed hash +sha256 35c56b89c10f42c623f5831f9533e1b9dcab8946eff0e4000bf3137bad5c705a gst1-shark-v0.5.5.tar.gz + +# Hashes for license files: +sha256 6d191b8f1fa03cabced18b8e48fddbf960a19f965bed8491e76ed62238f92f0b COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.mk b/bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.mk new file mode 100644 index 00000000..1e198f0c --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gst1-shark/gst1-shark.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# gst1-shark +# +################################################################################ + +GST1_SHARK_VERSION = v0.5.5 +GST1_SHARK_SITE = https://github.com/RidgeRun/gst-shark.git +GST1_SHARK_SITE_METHOD = git +GST1_SHARK_GIT_SUBMODULES = YES + +GST1_SHARK_LICENSE = LGPL-2.1+ +GST1_SHARK_LICENSE_FILES = COPYING + +GST1_SHARK_AUTORECONF = YES +GST1_SHARK_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base +GST1_SHARK_CONF_OPTS = --disable-graphviz + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash b/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash index 3eebc0af..f00cdc0f 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.12.4.tar.xz.sha256sum -sha256 1c2d77242e1f30c4d1394636cae9f6877228a017960fca96881e0080d8b6e9c9 gstreamer-vaapi-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.14.4.tar.xz.sha256sum +sha256 ce18dbfe961c6a8d31270231686075586bf7a7df62b778c8e7f5ec148251d0a3 gstreamer-vaapi-1.14.4.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk b/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk index 6b637416..4f2ac598 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-vaapi/gst1-vaapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VAAPI_VERSION = 1.12.4 +GST1_VAAPI_VERSION = 1.14.4 GST1_VAAPI_SITE = https://gstreamer.freedesktop.org/src/gstreamer-vaapi GST1_VAAPI_SOURCE = gstreamer-vaapi-$(GST1_VAAPI_VERSION).tar.xz GST1_VAAPI_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.hash b/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.hash index 50bddd0a..87bb2946 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.hash +++ b/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.12.4.tar.xz.sha256sum -sha256 f9da9dfe6e5d6f5ba3b38c5752b42d3f927715904942b405c2924d3cb77afba1 gst-validate-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.14.4.tar.xz.sha256sum +sha256 18dccca94bdc0bab3cddb07817bd280df7ab4abbec9a83b92620367a22d955c7 gst-validate-1.14.4.tar.xz +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.mk b/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.mk index d2764901..0f3d2517 100644 --- a/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.mk +++ b/bsp/buildroot/package/gstreamer1/gst1-validate/gst1-validate.mk @@ -4,7 +4,7 @@ # ################################################################################ -GST1_VALIDATE_VERSION = 1.12.4 +GST1_VALIDATE_VERSION = 1.14.4 GST1_VALIDATE_SOURCE = gst-validate-$(GST1_VALIDATE_VERSION).tar.xz GST1_VALIDATE_SITE = https://gstreamer.freedesktop.org/src/gst-validate GST1_VALIDATE_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch new file mode 100644 index 00000000..5a074941 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/0001-examples-ges-ui-fix-some-gtk2-ism.patch @@ -0,0 +1,66 @@ +From 76f3dcb8f11a240fc7147ab556c57f10abc9e957 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= +Date: Sun, 20 May 2018 23:46:42 +0100 +Subject: [PATCH] examples: ges-ui: fix some gtk2-ism + +Still lots of deprecated API to update. + +https://bugzilla.gnome.org/show_bug.cgi?id=796243 + +Upstream: https://cgit.freedesktop.org/gstreamer/gst-editing-services/commit/?id=76f3dcb8f11a240fc7147ab556c57f10abc9e957 +Signed-off-by: Peter Seiderer +--- + examples/c/ges-ui.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/examples/c/ges-ui.c b/examples/c/ges-ui.c +index 4acd1ee9..45694a6b 100644 +--- a/examples/c/ges-ui.c ++++ b/examples/c/ges-ui.c +@@ -106,7 +106,7 @@ static int n_instances = 0; + * These are declared non-static for signal auto-connection + */ + +-gboolean window_delete_event_cb (GtkObject * window, GdkEvent * event, ++gboolean window_delete_event_cb (GtkWidget * window, GdkEvent * event, + App * app); + void new_activate_cb (GtkMenuItem * item, App * app); + void open_activate_cb (GtkMenuItem * item, App * app); +@@ -1076,14 +1076,14 @@ gboolean + add_effect_dlg_delete_event_cb (GtkWidget * widget, GdkEvent * event, + gpointer * app) + { +- gtk_widget_hide_all (((App *) app)->add_effect_dlg); ++ gtk_widget_hide (((App *) app)->add_effect_dlg); + return TRUE; + } + + void + on_cancel_add_effect_cb (GtkButton * button, App * app) + { +- gtk_widget_hide_all (app->add_effect_dlg); ++ gtk_widget_hide (app->add_effect_dlg); + } + + void +@@ -1103,7 +1103,7 @@ on_apply_effect_cb (GtkButton * button, App * app) + + gtk_entry_set_text (GTK_ENTRY (app->audio_effect_entry), ""); + +- gtk_widget_hide_all (app->add_effect_dlg); ++ gtk_widget_hide (app->add_effect_dlg); + } + + static void +@@ -1347,7 +1347,7 @@ app_new_from_uri (gchar * uri) + /* UI callbacks ************************************************************/ + + gboolean +-window_delete_event_cb (GtkObject * window, GdkEvent * event, App * app) ++window_delete_event_cb (GtkWidget * window, GdkEvent * event, App * app) + { + app_dispose (app); + return FALSE; +-- +2.19.0 + diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/Config.in b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/Config.in new file mode 100644 index 00000000..fe468704 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_GSTREAMER1_EDITING_SERVICES + bool "gstreamer1-editing-services" + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_GST1_PLUGINS_BASE + select BR2_PACKAGE_GST1_PLUGINS_GOOD + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT # runtime + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOMIXER # runtime + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE # runtime + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT # runtime + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC # runtime + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE # runtime + select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME # runtime + select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_IMAGEFREEZE # runtime + help + GStreamer Editing Services is a high-level library for + facilitating the creation of audio/video non-linear editors. + + http://gstreamer.freedesktop.org diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash new file mode 100644 index 00000000..a388a097 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.hash @@ -0,0 +1,6 @@ +# From https://gstreamer.freedesktop.org/src/gstreamer-editing-services/gstreamer-editing-services-1.14.4.tar.xz.sha256sum +sha256 53d1d25b356009505ae0d22c218d6c6b1215399d9f6e3fe5d7b88e156531b35f gstreamer-editing-services-1.14.4.tar.xz + +# Hashes for license files: +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING.LIB diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk new file mode 100644 index 00000000..74a36824 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gstreamer1-editing-services/gstreamer1-editing-services.mk @@ -0,0 +1,39 @@ +################################################################################ +# +# gstreamer1-editing-services +# +################################################################################ + +GSTREAMER1_EDITING_SERVICES_VERSION = 1.14.4 +GSTREAMER1_EDITING_SERVICES_SOURCE = gstreamer-editing-services-$(GSTREAMER1_EDITING_SERVICES_VERSION).tar.xz +GSTREAMER1_EDITING_SERVICES_SITE = http://gstreamer.freedesktop.org/src/gstreamer-editing-services +GSTREAMER1_EDITING_SERVICES_LICENSE = LGPL-2.0+ +GSTREAMER1_EDITING_SERVICES_LICENSE_FILES = COPYING COPYING.LIB +GSTREAMER1_EDITING_SERVICES_INSTALL_STAGING = YES +GSTREAMER1_EDITING_SERVICES_DEPENDENCIES = \ + host-pkgconf \ + gstreamer1 \ + gst1-plugins-base \ + gst1-plugins-good \ + $(if $(BR2_PACKAGE_GST1_VALIDATE),gst1-validate) \ + libxml2 + +GSTREAMER1_EDITING_SERVICES_CONF_OPTS = --disable-benchmarks + +# examples need GTK2/3 with X11 backend +ifneq ($(BR2_PACKAGE_LIBGTK2)$(BR2_PACKAGE_LIBGTK3_X11),) +GSTREAMER1_EDITING_SERVICES_CONF_OPTS += --enable-examples + +ifeq ($(BR2_PACKAGE_LIBGTK2),y) +GSTREAMER1_EDITING_SERVICES_CONF_OPTS += --with-gtk=2.0 +GSTREAMER1_EDITING_SERVICES_DEPENDENCIES += libgtk2 +else +GSTREAMER1_EDITING_SERVICES_CONF_OPTS += --with-gtk=3.0 +GSTREAMER1_EDITING_SERVICES_DEPENDENCIES += libgtk3 +endif + +else +GSTREAMER1_EDITING_SERVICES_CONF_OPTS += --disable-examples +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch b/bsp/buildroot/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch new file mode 100644 index 00000000..689346a3 --- /dev/null +++ b/bsp/buildroot/package/gstreamer1/gstreamer1/0001-gstconfig.h.in-initial-RISC-V-support.patch @@ -0,0 +1,34 @@ +From 58982c0d28f1eb385319307ee47bd6522c812f22 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Sun, 15 Apr 2018 00:49:55 +0200 +Subject: [PATCH] gstconfig.h.in: initial RISC-V support + +RISC-V supports unaligned accesses, but these might run extremely slowly +depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS +to 0 on this architecture. + +https://bugzilla.gnome.org/show_bug.cgi?id=795271 + +Upstream: https://gitlab.freedesktop.org/gstreamer/gstreamer/commit/8a156d1725ecd03f2e8cdc8874e081dda2d3b43d + +Signed-off-by: Peter Seiderer +--- + gst/gstconfig.h.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in +index 6351c04da..33dfed1f6 100644 +--- a/gst/gstconfig.h.in ++++ b/gst/gstconfig.h.in +@@ -104,7 +104,7 @@ + * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 + * https://software.intel.com/en-us/node/583402 + */ +-#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) ++#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) + # define GST_HAVE_UNALIGNED_ACCESS 0 + #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) + # define GST_HAVE_UNALIGNED_ACCESS 1 +-- +2.19.1 + diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.hash b/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.hash index f8af9075..204bb74f 100644 --- a/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.hash +++ b/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.hash @@ -1,2 +1,3 @@ -# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.12.4.tar.xz.sha256sum -sha256 5a8704aa4c2eeb04da192c4a9942f94f860ac1a585de90d9f914bac26a970674 gstreamer-1.12.4.tar.xz +# From https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.14.4.tar.xz.sha256sum +sha256 f94f6696c5f05a3b3a9183e39c5f5c0b779f75a04c0efa497e7920afa985ffc7 gstreamer-1.14.4.tar.xz +sha256 f445dc78b88496f7e20c7a2a461b95baba5865c8919b8289ac24ac0a80c6ce7a COPYING diff --git a/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.mk b/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.mk index ea9f29a4..76a74a08 100644 --- a/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.mk +++ b/bsp/buildroot/package/gstreamer1/gstreamer1/gstreamer1.mk @@ -4,7 +4,7 @@ # ################################################################################ -GSTREAMER1_VERSION = 1.12.4 +GSTREAMER1_VERSION = 1.14.4 GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz GSTREAMER1_SITE = https://gstreamer.freedesktop.org/src/gstreamer GSTREAMER1_INSTALL_STAGING = YES @@ -17,6 +17,7 @@ GSTREAMER1_CONF_OPTS = \ --disable-failing-tests \ --disable-valgrind \ --disable-benchmarks \ + --disable-introspection \ $(if $(BR2_PACKAGE_GSTREAMER1_CHECK),,--disable-check) \ $(if $(BR2_PACKAGE_GSTREAMER1_TRACE),,--disable-trace) \ $(if $(BR2_PACKAGE_GSTREAMER1_PARSE),,--disable-parse) \ diff --git a/bsp/buildroot/package/gtksourceview/gtksourceview.hash b/bsp/buildroot/package/gtksourceview/gtksourceview.hash index feaae5e2..3b78b706 100644 --- a/bsp/buildroot/package/gtksourceview/gtksourceview.hash +++ b/bsp/buildroot/package/gtksourceview/gtksourceview.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/gtksourceview-3.24.6.sha256sum: -sha256 7aa6bdfebcdc73a763dddeaa42f190c40835e6f8495bb9eb8f78587e2577c188 gtksourceview-3.24.6.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gtksourceview/3.24/gtksourceview-3.24.7.sha256sum: +sha256 a5c20d3a6347533689358f3ea52486409f6dd41d5a69c65eab7570cfaffee8e6 gtksourceview-3.24.7.tar.xz # Locally computed: sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/bsp/buildroot/package/gtksourceview/gtksourceview.mk b/bsp/buildroot/package/gtksourceview/gtksourceview.mk index 2a33ed4b..ae1d3ff2 100644 --- a/bsp/buildroot/package/gtksourceview/gtksourceview.mk +++ b/bsp/buildroot/package/gtksourceview/gtksourceview.mk @@ -5,7 +5,7 @@ ################################################################################ GTKSOURCEVIEW_VERSION_MAJOR = 3.24 -GTKSOURCEVIEW_VERSION = $(GTKSOURCEVIEW_VERSION_MAJOR).6 +GTKSOURCEVIEW_VERSION = $(GTKSOURCEVIEW_VERSION_MAJOR).7 GTKSOURCEVIEW_SOURCE = gtksourceview-$(GTKSOURCEVIEW_VERSION).tar.xz GTKSOURCEVIEW_SITE = \ http://ftp.gnome.org/pub/gnome/sources/gtksourceview/$(GTKSOURCEVIEW_VERSION_MAJOR) diff --git a/bsp/buildroot/package/gupnp/gupnp.hash b/bsp/buildroot/package/gupnp/gupnp.hash index 7f608647..ba73aa10 100644 --- a/bsp/buildroot/package/gupnp/gupnp.hash +++ b/bsp/buildroot/package/gupnp/gupnp.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.0/gupnp-1.0.2.sha256sum: -sha256 5173fda779111c6b01cd4a5e41b594322be9d04f8c74d3361f0a0c2069c77610 gupnp-1.0.2.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/gupnp/1.0/gupnp-1.0.3.sha256sum: +sha256 794b162ee566d85eded8c3f3e8c9c99f6b718a6b812d8b56f0c2ed72ac37cbbb gupnp-1.0.3.tar.xz # Hash for license file: sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/bsp/buildroot/package/gupnp/gupnp.mk b/bsp/buildroot/package/gupnp/gupnp.mk index de08f28a..3c014ccc 100644 --- a/bsp/buildroot/package/gupnp/gupnp.mk +++ b/bsp/buildroot/package/gupnp/gupnp.mk @@ -5,7 +5,7 @@ ################################################################################ GUPNP_VERSION_MAJOR = 1.0 -GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).2 +GUPNP_VERSION = $(GUPNP_VERSION_MAJOR).3 GUPNP_SOURCE = gupnp-$(GUPNP_VERSION).tar.xz GUPNP_SITE = http://ftp.gnome.org/pub/gnome/sources/gupnp/$(GUPNP_VERSION_MAJOR) GUPNP_LICENSE = LGPL-2.0+ diff --git a/bsp/buildroot/package/gvfs/gvfs.hash b/bsp/buildroot/package/gvfs/gvfs.hash index 63ad77de..6b7403ff 100644 --- a/bsp/buildroot/package/gvfs/gvfs.hash +++ b/bsp/buildroot/package/gvfs/gvfs.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.30/gvfs-1.30.3.sha256sum -sha256 b824a29489cae7f39e1a0fc0d154ac7b7bf43d8edd98ba83ffcad2f766d0f175 gvfs-1.30.3.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/gvfs/1.31/gvfs-1.31.4.sha256sum +sha256 55244d447d040884dfb335fde638274cb6f2794285ada7fa84bcbbd34f06be04 gvfs-1.31.4.tar.xz + +# Hash for license file +sha256 45cf336e2e48176993babc5aabf44437390f40e6a86a472c6abfc7ce9c035db4 COPYING diff --git a/bsp/buildroot/package/gvfs/gvfs.mk b/bsp/buildroot/package/gvfs/gvfs.mk index e272d5c1..47fbe0e8 100644 --- a/bsp/buildroot/package/gvfs/gvfs.mk +++ b/bsp/buildroot/package/gvfs/gvfs.mk @@ -4,8 +4,8 @@ # ################################################################################ -GVFS_VERSION_MAJOR = 1.30 -GVFS_VERSION = $(GVFS_VERSION_MAJOR).3 +GVFS_VERSION_MAJOR = 1.31 +GVFS_VERSION = $(GVFS_VERSION_MAJOR).4 GVFS_SOURCE = gvfs-$(GVFS_VERSION).tar.xz GVFS_SITE = http://ftp.gnome.org/pub/GNOME/sources/gvfs/$(GVFS_VERSION_MAJOR) GVFS_INSTALL_STAGING = YES @@ -20,17 +20,9 @@ GVFS_CONF_ENV = ac_cv_path_LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-con # Most of these are missing library support GVFS_CONF_OPTS = \ --disable-afc \ - --disable-admin \ - --disable-bash-completion \ - --disable-cdda \ - --disable-gconf \ - --disable-gcr \ --disable-gdu \ --disable-goa \ --disable-google \ - --disable-gphoto2 \ - --disable-hal \ - --disable-keyring \ --disable-libmtp \ --disable-udisks2 @@ -41,12 +33,22 @@ else GVFS_CONF_OPTS += --disable-avahi endif +ifeq ($(BR2_PACKAGE_GCR),y) +GVFS_DEPENDENCIES += gcr +GVFS_CONF_OPTS += --enable-gcr +else +GVFS_CONF_OPTS += --disable-gcr +endif + ifeq ($(BR2_PACKAGE_HAS_UDEV),y) GVFS_DEPENDENCIES += udev endif ifeq ($(BR2_PACKAGE_LIBGUDEV),y) GVFS_DEPENDENCIES += libgudev +GVFS_CONF_OPTS += --enable-gudev +else +GVFS_CONF_OPTS += --disable-gudev endif ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) @@ -66,6 +68,20 @@ else GVFS_CONF_OPTS += --disable-bluray endif +ifeq ($(BR2_PACKAGE_LIBCAP)$(BR2_PACKAGE_POLKIT),yy) +GVFS_DEPENDENCIES += libcap polkit +GVFS_CONF_OPTS += --enable-admin +else +GVFS_CONF_OPTS += --disable-admin +endif + +ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA)$(BR2_PACKAGE_LIBGUDEV),yy) +GVFS_DEPENDENCIES += libcdio-paranoia libgudev +GVFS_CONF_OPTS += --enable-cdda +else +GVFS_CONF_OPTS += --disable-cdda +endif + ifeq ($(BR2_PACKAGE_LIBFUSE),y) GVFS_DEPENDENCIES += libfuse GVFS_CONF_OPTS += --enable-fuse @@ -81,6 +97,13 @@ else GVFS_CONF_OPTS += --disable-afp endif +ifeq ($(BR2_PACKAGE_LIBGPHOTO2)$(BR2_PACKAGE_LIBGUDEV),yy) +GVFS_DEPENDENCIES += libgphoto2 libgudev +GVFS_CONF_OPTS += --enable-gphoto2 +else +GVFS_CONF_OPTS += --disable-gphoto2 +endif + ifeq ($(BR2_PACKAGE_LIBGTK3),y) GVFS_CONF_OPTS += --enable-gtk GVFS_DEPENDENCIES += libgtk3 @@ -95,6 +118,13 @@ else GVFS_CONF_OPTS += --disable-nfs endif +ifeq ($(BR2_PACKAGE_LIBSECRET),y) +GVFS_DEPENDENCIES += libsecret +GVFS_CONF_OPTS += --enable-keyring +else +GVFS_CONF_OPTS += --disable-keyring +endif + ifeq ($(BR2_PACKAGE_LIBSOUP)$(BR2_PACKAGE_LIBXML2),yy) GVFS_DEPENDENCIES += libsoup libxml2 GVFS_CONF_OPTS += --enable-http @@ -102,6 +132,13 @@ else GVFS_CONF_OPTS += --disable-http endif +ifeq ($(BR2_PACKAGE_LIBUSB),y) +GVFS_DEPENDENCIES += libusb +GVFS_CONF_OPTS += --enable-libusb +else +GVFS_CONF_OPTS += --disable-libusb +endif + ifeq ($(BR2_PACKAGE_SAMBA4),y) GVFS_DEPENDENCIES += samba4 GVFS_CONF_OPTS += \ diff --git a/bsp/buildroot/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch b/bsp/buildroot/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch new file mode 100644 index 00000000..11d2af6d --- /dev/null +++ b/bsp/buildroot/package/gzip/0001-fflush-adjust-to-glibc-2.28-libio.h-removal.patch @@ -0,0 +1,189 @@ +From 1831628c0630ae96a43586b2a25ca51cbdba3e53 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 5 Mar 2018 10:56:29 -0800 +Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Daniel P. Berrange in: +https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html +* lib/fbufmode.c (fbufmode): +* lib/fflush.c (clear_ungetc_buffer_preserving_position) +(disable_seek_optimization, rpl_fflush): +* lib/fpending.c (__fpending): +* lib/fpurge.c (fpurge): +* lib/freadable.c (freadable): +* lib/freadahead.c (freadahead): +* lib/freading.c (freading): +* lib/freadptr.c (freadptr): +* lib/freadseek.c (freadptrinc): +* lib/fseeko.c (fseeko): +* lib/fseterr.c (fseterr): +* lib/fwritable.c (fwritable): +* lib/fwriting.c (fwriting): +Check _IO_EOF_SEEN instead of _IO_ftrylockfile. +* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: +Define if not already defined. +--- + +Upstream-Status: Pending +Signed-off-by: Khem Raj +Signed-off-by: Yegor Yefremov + + ChangeLog | 23 +++++++++++++++++++++++ + lib/fbufmode.c | 2 +- + lib/fflush.c | 6 +++--- + lib/fpending.c | 2 +- + lib/fpurge.c | 2 +- + lib/freadable.c | 2 +- + lib/freadahead.c | 2 +- + lib/freading.c | 2 +- + lib/freadptr.c | 2 +- + lib/freadseek.c | 2 +- + lib/fseeko.c | 4 ++-- + lib/fseterr.c | 2 +- + lib/fwritable.c | 2 +- + lib/fwriting.c | 2 +- + lib/stdio-impl.h | 6 ++++++ + 15 files changed, 45 insertions(+), 16 deletions(-) + +Index: gzip-1.9/ChangeLog +=================================================================== +--- gzip-1.9.orig/ChangeLog ++++ gzip-1.9/ChangeLog +@@ -1,3 +1,26 @@ ++2018-03-05 Paul Eggert ++ ++ fflush: adjust to glibc 2.28 libio.h removal ++ Problem reported by Daniel P. Berrange in: ++ https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html ++ * lib/fbufmode.c (fbufmode): ++ * lib/fflush.c (clear_ungetc_buffer_preserving_position) ++ (disable_seek_optimization, rpl_fflush): ++ * lib/fpending.c (__fpending): ++ * lib/fpurge.c (fpurge): ++ * lib/freadable.c (freadable): ++ * lib/freadahead.c (freadahead): ++ * lib/freading.c (freading): ++ * lib/freadptr.c (freadptr): ++ * lib/freadseek.c (freadptrinc): ++ * lib/fseeko.c (fseeko): ++ * lib/fseterr.c (fseterr): ++ * lib/fwritable.c (fwritable): ++ * lib/fwriting.c (fwriting): ++ Check _IO_EOF_SEEN instead of _IO_ftrylockfile. ++ * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]: ++ Define if not already defined. ++ + 2018-01-07 Jim Meyering + + version 1.9 +Index: gzip-1.9/lib/fflush.c +=================================================================== +--- gzip-1.9.orig/lib/fflush.c ++++ gzip-1.9/lib/fflush.c +@@ -33,7 +33,7 @@ + #undef fflush + + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ + static void +@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp) + + #endif + +-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) ++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) + + # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream) + if (stream == NULL || ! freading (stream)) + return fflush (stream); + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + + clear_ungetc_buffer_preserving_position (stream); + +Index: gzip-1.9/lib/fpurge.c +=================================================================== +--- gzip-1.9.orig/lib/fpurge.c ++++ gzip-1.9/lib/fpurge.c +@@ -62,7 +62,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +Index: gzip-1.9/lib/freading.c +=================================================================== +--- gzip-1.9.orig/lib/freading.c ++++ gzip-1.9/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +Index: gzip-1.9/lib/fseeko.c +=================================================================== +--- gzip-1.9.orig/lib/fseeko.c ++++ gzip-1.9/lib/fseeko.c +@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int when + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int when + return -1; + } + +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags &= ~_IO_EOF_SEEN; + fp->_offset = pos; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ +Index: gzip-1.9/lib/fseterr.c +=================================================================== +--- gzip-1.9.orig/lib/fseterr.c ++++ gzip-1.9/lib/fseterr.c +@@ -29,7 +29,7 @@ fseterr (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ + /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */ +Index: gzip-1.9/lib/stdio-impl.h +=================================================================== +--- gzip-1.9.orig/lib/stdio-impl.h ++++ gzip-1.9/lib/stdio-impl.h +@@ -18,6 +18,12 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ diff --git a/bsp/buildroot/package/gzip/gzip.hash b/bsp/buildroot/package/gzip/gzip.hash index 466f846e..632176c2 100644 --- a/bsp/buildroot/package/gzip/gzip.hash +++ b/bsp/buildroot/package/gzip/gzip.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 ff1767ec444f71e5daf8972f6f8bf68cfcca1d2f76c248eb18e8741fc91dbbd3 gzip-1.8.tar.xz +# https://ftp.gnu.org/gnu/gzip/gzip-1.9.tar.xz.sig +# using key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE +sha256 ae506144fc198bd8f81f1f4ad19ce63d5a2d65e42333255977cf1dcf1479089a gzip-1.9.tar.xz +# Locally calculated +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/gzip/gzip.mk b/bsp/buildroot/package/gzip/gzip.mk index 26fc8ec3..8ac6ddd6 100644 --- a/bsp/buildroot/package/gzip/gzip.mk +++ b/bsp/buildroot/package/gzip/gzip.mk @@ -4,16 +4,15 @@ # ################################################################################ -GZIP_VERSION = 1.8 +GZIP_VERSION = 1.9 GZIP_SOURCE = gzip-$(GZIP_VERSION).tar.xz GZIP_SITE = $(BR2_GNU_MIRROR)/gzip # Some other tools expect it to be in /bin GZIP_CONF_OPTS = --exec-prefix=/ -# Prefer full gzip over potentially lightweight/slower from busybox -GZIP_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) GZIP_LICENSE = GPL-3.0+ GZIP_LICENSE_FILES = COPYING GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes +HOST_GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes # configure substitutes $(SHELL) for the shell shebang in scripts like # gzexe. Unfortunately, the same $(SHELL) variable will also be used by # make to run its commands. Fortunately, /bin/sh is always a POSIX shell @@ -23,3 +22,4 @@ GZIP_CONF_ENV += gl_cv_func_fflush_stdin=yes GZIP_CONF_ENV += ac_cv_path_shell=/bin/sh $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/hackrf/0001-Don-t-require-a-C-compiler.patch b/bsp/buildroot/package/hackrf/0001-Don-t-require-a-C-compiler.patch new file mode 100644 index 00000000..3369dca6 --- /dev/null +++ b/bsp/buildroot/package/hackrf/0001-Don-t-require-a-C-compiler.patch @@ -0,0 +1,37 @@ +From 8b0a8b2be8cf2e4a76c03d3bcdf99bff5025ba22 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Sat, 31 Mar 2018 22:50:37 +0200 +Subject: [PATCH] Don't require a C++ compiler + +By default, CMake assumes that the project is using both C and C++. By +explicitly passing 'C' as argument of the project() macro, we tell CMake +that only C is used, which prevents CMake from erroring out if a C++ +compiler doesn't exist. + +Upstream status: https://github.com/mossmann/hackrf/pull/469 + +This patch differs from upstream because: +- project name upstream has been changed into HackRF; +- in Buildroot, we are only interested in host, not firmware. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + host/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt +index 874163f..d9cbe31 100644 +--- a/host/CMakeLists.txt ++++ b/host/CMakeLists.txt +@@ -1,7 +1,7 @@ + #top dir cmake project for libhackrf + tools + + cmake_minimum_required(VERSION 2.8) +-project (hackrf_all) ++project (hackrf_all C) + + add_subdirectory(libhackrf) + add_subdirectory(hackrf-tools) +-- +2.16.3 + diff --git a/bsp/buildroot/package/hackrf/Config.in b/bsp/buildroot/package/hackrf/Config.in new file mode 100644 index 00000000..b86790f2 --- /dev/null +++ b/bsp/buildroot/package/hackrf/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_HACKRF + bool "hackrf" + depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_FFTW + select BR2_PACKAGE_FFTW_SINGLE + select BR2_PACKAGE_LIBUSB + help + Library and tools for accessing HackRF SDR boards. + + https://github.com/mossmann/hackrf/tree/master/host + +comment "hackrf needs a toolchain w/ threads, dynamic library" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/hackrf/hackrf.hash b/bsp/buildroot/package/hackrf/hackrf.hash new file mode 100644 index 00000000..c0cf7322 --- /dev/null +++ b/bsp/buildroot/package/hackrf/hackrf.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 a89badc09a1d2fa18367b3b2c974580ad5f6ce93aaa4e54557dc3d013c029d14 hackrf-2018.01.1.tar.xz +sha256 49b60a6288f90f49074228cc1fae0fb16871ba36b756013abdf7c2fc92f01fad COPYING diff --git a/bsp/buildroot/package/hackrf/hackrf.mk b/bsp/buildroot/package/hackrf/hackrf.mk new file mode 100644 index 00000000..b83f6518 --- /dev/null +++ b/bsp/buildroot/package/hackrf/hackrf.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# hackrf +# +################################################################################ + +HACKRF_VERSION = 2018.01.1 +HACKRF_SITE = https://github.com/mossmann/hackrf/releases/download/v$(HACKRF_VERSION) +HACKRF_SOURCE = hackrf-$(HACKRF_VERSION).tar.xz +HACKRF_LICENSE = GPL-2.0+ BSD-3c +HACKRF_LICENSE_FILES = COPYING +HACKRF_DEPENDENCIES = fftw-single libusb +HACKRF_SUBDIR = host +HACKRF_INSTALL_STAGING = YES + +HACKRF_CONF_OPTS += -DBUILD_HACKRF_TOOLS=ON + +ifeq ($(BR2_PACKAGE_HAS_UDEV),y) +HACKRF_CONF_OPTS += \ + -DINSTALL_UDEV_RULES=ON \ + -DUDEV_RULES_GROUP=plugdev +else +HACKRF_CONF_OPTS += -DINSTALL_UDEV_RULES=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/haproxy/Config.in b/bsp/buildroot/package/haproxy/Config.in new file mode 100644 index 00000000..78cbf6e1 --- /dev/null +++ b/bsp/buildroot/package/haproxy/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HAPROXY + bool "haproxy" + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60040 + depends on !(BR2_sh4 && !BR2_TOOLCHAIN_GCC_AT_LEAST_7) + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # __sync_*_4 intrisics + help + HAProxy is a free, very fast and reliable solution offering + high availability, load balancing, and proxying for TCP and + HTTP-based applications. + + http://www.haproxy.org diff --git a/bsp/buildroot/package/haproxy/haproxy.hash b/bsp/buildroot/package/haproxy/haproxy.hash new file mode 100644 index 00000000..be3451d8 --- /dev/null +++ b/bsp/buildroot/package/haproxy/haproxy.hash @@ -0,0 +1,5 @@ +# Locally computed: +sha256 ad46312fa1e38763863807d2c9304551c28ad91cff83f0c21a36756913c1c8e1 haproxy-1.9.1.tar.gz +sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt +sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 doc/gpl.txt diff --git a/bsp/buildroot/package/haproxy/haproxy.mk b/bsp/buildroot/package/haproxy/haproxy.mk new file mode 100644 index 00000000..e382f61f --- /dev/null +++ b/bsp/buildroot/package/haproxy/haproxy.mk @@ -0,0 +1,82 @@ +################################################################################ +# +# haproxy +# +################################################################################ + +HAPROXY_VERSION_MAJOR = 1.9 +HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).1 +HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src +HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions +HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt + +HAPROXY_MAKE_OPTS = \ + LD=$(TARGET_CC) \ + PREFIX=/usr \ + TARGET=custom + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +HAPROXY_LIBS += -latomic +endif + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +# threads uses atomics on gcc >= 4.7 and sync otherwise (see +# include/common/hathreads.h) +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_ATOMIC),y:y) +HAPROXY_MAKE_OPTS += USE_THREAD=1 +else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_SYNC_4),:y) +HAPROXY_MAKE_OPTS += USE_THREAD=1 +endif +endif + +ifeq ($(BR2_PACKAGE_LUA_5_3),y) +HAPROXY_DEPENDENCIES += lua +HAPROXY_MAKE_OPTS += \ + LUA_LIB_NAME=lua \ + USE_LUA=1 +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +HAPROXY_DEPENDENCIES += openssl +HAPROXY_MAKE_OPTS += USE_OPENSSL=1 +ifeq ($(BR2_STATIC_LIBS),y) +HAPROXY_LIBS += -lz +endif +endif + +# pcre and pcre2 can't be enabled at the same time so prefer pcre2 +ifeq ($(BR2_PACKAGE_PCRE2),y) +HAPROXY_DEPENDENCIES += pcre2 +HAPROXY_MAKE_OPTS += \ + PCRE2_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config \ + USE_PCRE2=1 +else ifeq ($(BR2_PACKAGE_PCRE),y) +HAPROXY_DEPENDENCIES += pcre +HAPROXY_MAKE_OPTS += \ + PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config \ + USE_PCRE=1 +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +HAPROXY_DEPENDENCIES += systemd +HAPROXY_MAKE_OPTS += USE_SYSTEMD=1 +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +HAPROXY_DEPENDENCIES += zlib +HAPROXY_MAKE_OPTS += USE_ZLIB=1 +endif + +HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)" + +define HAPROXY_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(HAPROXY_MAKE_OPTS) -C $(@D) +endef + +define HAPROXY_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ + $(HAPROXY_MAKE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/harfbuzz/harfbuzz.hash b/bsp/buildroot/package/harfbuzz/harfbuzz.hash index 5f786dcb..a10b4cfd 100644 --- a/bsp/buildroot/package/harfbuzz/harfbuzz.hash +++ b/bsp/buildroot/package/harfbuzz/harfbuzz.hash @@ -1,5 +1,6 @@ -# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.7.1.tar.bz2.sha256 -sha256 9645a6e83313b690602017f18d4eb2adf81f2e54c6fc4471e19331304965154e harfbuzz-1.7.1.tar.bz2 +# From https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.8.8.tar.bz2.sha256 +sha256 a8e5c86e4d99e1cc9865ec1b8e9b05b98e413c2a885cd11f8e9bb9502dd3e3a9 harfbuzz-1.8.8.tar.bz2 # Locally computed sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 COPYING +sha256 ec20cbe051200fc846caf4dc253cf660e874a2d9e4f3a682e08354b567fae409 src/hb-ucdn/COPYING diff --git a/bsp/buildroot/package/harfbuzz/harfbuzz.mk b/bsp/buildroot/package/harfbuzz/harfbuzz.mk index 5708745f..52374c9c 100644 --- a/bsp/buildroot/package/harfbuzz/harfbuzz.mk +++ b/bsp/buildroot/package/harfbuzz/harfbuzz.mk @@ -4,7 +4,7 @@ # ################################################################################ -HARFBUZZ_VERSION = 1.7.1 +HARFBUZZ_VERSION = 1.8.8 HARFBUZZ_SITE = https://www.freedesktop.org/software/harfbuzz/release HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.bz2 HARFBUZZ_LICENSE = MIT, ISC (ucdn library) diff --git a/bsp/buildroot/package/haveged/S21haveged b/bsp/buildroot/package/haveged/S21haveged old mode 100755 new mode 100644 index 3e6ce867..4b6e6ced --- a/bsp/buildroot/package/haveged/S21haveged +++ b/bsp/buildroot/package/haveged/S21haveged @@ -1,7 +1,5 @@ #!/bin/sh -[ -x /usr/sbin/haveged ] || exit 0 - case "$1" in start) printf "Starting haveged: " diff --git a/bsp/buildroot/package/hdparm/hdparm.hash b/bsp/buildroot/package/hdparm/hdparm.hash index f7462e25..2ce23cf8 100644 --- a/bsp/buildroot/package/hdparm/hdparm.hash +++ b/bsp/buildroot/package/hdparm/hdparm.hash @@ -1,5 +1,6 @@ # From http://sourceforge.net/projects/hdparm/files/hdparm/ -md5 410539d0bf3cc247181594581edbfb53 hdparm-9.52.tar.gz -sha1 c641429c5b5d0513acfc86dc31c6b3b35c070a70 hdparm-9.52.tar.gz +md5 7900608e32834f65d2654fdb696e71a0 hdparm-9.56.tar.gz +sha1 9e143065115229c4f929530157627dc92e5f6deb hdparm-9.56.tar.gz # Locally computed -sha256 c3429cd423e271fa565bf584598fd751dd2e773bb7199a592b06b5a61cec4fb6 hdparm-9.52.tar.gz +sha256 6ff9ed695f1017396eec4101f990f114b7b0e0a04c5aa6369c0394053d16e4da hdparm-9.56.tar.gz +sha256 eae572b06d2733f5c65fbe81680ce2b8a109afee2bdd1a161343c772af0e82e1 LICENSE.TXT diff --git a/bsp/buildroot/package/hdparm/hdparm.mk b/bsp/buildroot/package/hdparm/hdparm.mk index 72722022..7ed1ed86 100644 --- a/bsp/buildroot/package/hdparm/hdparm.mk +++ b/bsp/buildroot/package/hdparm/hdparm.mk @@ -4,7 +4,7 @@ # ################################################################################ -HDPARM_VERSION = 9.52 +HDPARM_VERSION = 9.56 HDPARM_SITE = http://downloads.sourceforge.net/project/hdparm/hdparm HDPARM_LICENSE = BSD-Style HDPARM_LICENSE_FILES = LICENSE.TXT diff --git a/bsp/buildroot/package/hiawatha/0001-cmake-allow-build-without-c.patch b/bsp/buildroot/package/hiawatha/0001-cmake-allow-build-without-c.patch deleted file mode 100644 index d264d621..00000000 --- a/bsp/buildroot/package/hiawatha/0001-cmake-allow-build-without-c.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 784e46afd7530f3010726ba73cc1a81059eae8bf Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Mon, 5 Jun 2017 13:26:18 +0200 -Subject: [PATCH] cmake: allow build without c++ - -By default cmake also searches for a c++ compiler: -https://cmake.org/cmake/help/v3.7/command/project.html -"By default C and CXX are enabled if no language options are given." - -This patch restricts the compiler to C to fix a build error detected -by the buildroot autobuilders: -http://autobuild.buildroot.net/results/c04/c04ff29b83c020573add597c355c57a6d9c9761d/build-end.log - -Patch sent upstream: https://github.com/hsleisink/hiawatha/pull/30 - -Signed-off-by: Bernd Kuhls ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4f28d76..e8051fc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ - cmake_minimum_required(VERSION 3.0) --project(Hiawatha VERSION 10.6) -+project(Hiawatha VERSION 10.6 LANGUAGES C) - - # Compiler - set(CMAKE_C_FLAGS "-O2 -Wall -Wextra ${CMAKE_C_FLAGS}") --- -2.11.0 - diff --git a/bsp/buildroot/package/hiawatha/hiawatha.hash b/bsp/buildroot/package/hiawatha/hiawatha.hash index 3ec11cc2..7d98c01b 100644 --- a/bsp/buildroot/package/hiawatha/hiawatha.hash +++ b/bsp/buildroot/package/hiawatha/hiawatha.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 0cf014ae214be1bf6244c46c25e66805987c948837a4e37f9dede570de49bdeb hiawatha-10.6.tar.gz +sha256 0f013afc71284bab7267b0d80a51133a8fd4248575dbcbabf338cf826095cda8 hiawatha-10.8.1.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE diff --git a/bsp/buildroot/package/hiawatha/hiawatha.mk b/bsp/buildroot/package/hiawatha/hiawatha.mk index 4dde2545..776efc1d 100644 --- a/bsp/buildroot/package/hiawatha/hiawatha.mk +++ b/bsp/buildroot/package/hiawatha/hiawatha.mk @@ -4,7 +4,7 @@ # ################################################################################ -HIAWATHA_VERSION = 10.6 +HIAWATHA_VERSION = 10.8.1 HIAWATHA_SITE = https://www.hiawatha-webserver.org/files HIAWATHA_DEPENDENCIES = zlib HIAWATHA_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/hiredis/hiredis.hash b/bsp/buildroot/package/hiredis/hiredis.hash index 682ec6d2..7478ae0f 100644 --- a/bsp/buildroot/package/hiredis/hiredis.hash +++ b/bsp/buildroot/package/hiredis/hiredis.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 717e6fc8dc2819bef522deaca516de9e51b9dfa68fe393b7db5c3b6079196f78 hiredis-v0.13.3.tar.gz +sha256 042f965e182b80693015839a9d0278ae73fae5d5d09d8bf6d0e6a39a8c4393bd hiredis-v0.14.0.tar.gz sha256 dca05ce8fc87a8261783b4aed0deef8becc9350b6aa770bc714d0c1833b896eb COPYING diff --git a/bsp/buildroot/package/hiredis/hiredis.mk b/bsp/buildroot/package/hiredis/hiredis.mk index dd757422..e187aed5 100644 --- a/bsp/buildroot/package/hiredis/hiredis.mk +++ b/bsp/buildroot/package/hiredis/hiredis.mk @@ -4,8 +4,8 @@ # ################################################################################ -HIREDIS_VERSION_MAJOR = 0.13 -HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).3 +HIREDIS_VERSION_MAJOR = 0.14 +HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).0 HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION)) HIREDIS_LICENSE = BSD-3-Clause HIREDIS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/hostapd/Config.in b/bsp/buildroot/package/hostapd/Config.in index 84156e8f..37c11268 100644 --- a/bsp/buildroot/package/hostapd/Config.in +++ b/bsp/buildroot/package/hostapd/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_HOSTAPD bool "hostapd" - depends on BR2_TOOLCHAIN_HAS_THREADS # libnl depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_LIBNL help User space daemon for wireless access points. @@ -14,14 +12,51 @@ config BR2_PACKAGE_HOSTAPD if BR2_PACKAGE_HOSTAPD +config BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP + bool "Enable hostap driver" + default y + select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS + help + Enable support for Host AP driver. + +config BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 + bool "Enable nl80211 driver" + default y + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBNL + select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS + help + Enable support for drivers using the nl80211 kernel interface. + +comment "nl80211 driver needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + config BR2_PACKAGE_HOSTAPD_DRIVER_RTW bool "Enable rtl871xdrv driver" + select BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS help Enable support for Realtek wireless chips. +config BR2_PACKAGE_HOSTAPD_DRIVER_WIRED + bool "Enable wired driver" + help + Enable support for wired authenticator. + +config BR2_PACKAGE_HOSTAPD_DRIVER_NONE + bool + default y + depends on !BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP + depends on !BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 + depends on !BR2_PACKAGE_HOSTAPD_DRIVER_RTW + depends on !BR2_PACKAGE_HOSTAPD_DRIVER_WIRED + +config BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS + bool + config BR2_PACKAGE_HOSTAPD_ACS bool "Enable ACS" default y + depends on BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 help Enable support for standard ACS (Automatic Channel Selection). Some propietary drivers use a custom algorithm which requires @@ -29,6 +64,9 @@ config BR2_PACKAGE_HOSTAPD_ACS causing hostapd to use the standard one which doesn't work for those cases. +comment "ACS is currently only supported through the nl80211 driver" + depends on !BR2_PACKAGE_HOSTAPD_DRIVER_NL80211 + config BR2_PACKAGE_HOSTAPD_EAP bool "Enable EAP" depends on !BR2_STATIC_LIBS @@ -49,10 +87,11 @@ config BR2_PACKAGE_HOSTAPD_VLAN help Enable support for VLANs. +if BR2_PACKAGE_HOSTAPD_VLAN + config BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC bool "Enable dynamic VLAN support" default y - depends on BR2_PACKAGE_HOSTAPD_VLAN help Enable support for fully dynamic VLANs. This enables hostapd to automatically create @@ -61,13 +100,15 @@ config BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC config BR2_PACKAGE_HOSTAPD_VLAN_NETLINK bool "Use netlink-based API for VLAN operations" default y - depends on BR2_PACKAGE_HOSTAPD_VLAN + depends on BR2_TOOLCHAIN_HAS_THREADS # libnl + select BR2_PACKAGE_LIBNL help Use netlink-based kernel API for VLAN operations instead of ioctl(). -endif - -comment "hostapd needs a toolchain w/ threads" +comment "netlink-based VLAN support needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_USE_MMU + +endif # BR2_PACKAGE_HOSTAPD_VLAN + +endif diff --git a/bsp/buildroot/package/hostapd/hostapd.hash b/bsp/buildroot/package/hostapd/hostapd.hash index 588879f6..833c7aca 100644 --- a/bsp/buildroot/package/hostapd/hostapd.hash +++ b/bsp/buildroot/package/hostapd/hostapd.hash @@ -1,5 +1,4 @@ # Locally calculated -sha256 01526b90c1d23bec4b0f052039cc4456c2fd19347b4d830d1d58a0a6aea7117d hostapd-2.6.tar.gz +sha256 21b0dda3cc3abe75849437f6b9746da461f88f0ea49dd621216936f87440a141 hostapd-2.7.tar.gz sha256 e204da659d0583c71af23cb9b55536fe99598ee26a44104344f456e4d17350c6 rtlxdrv.patch -sha256 529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch -sha256 147c8abe07606905d16404fb2d2c8849796ca7c85ed8673c09bb50038bcdeb9e rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch +sha256 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README diff --git a/bsp/buildroot/package/hostapd/hostapd.mk b/bsp/buildroot/package/hostapd/hostapd.mk index 16966703..0b3fa064 100644 --- a/bsp/buildroot/package/hostapd/hostapd.mk +++ b/bsp/buildroot/package/hostapd/hostapd.mk @@ -4,37 +4,20 @@ # ################################################################################ -HOSTAPD_VERSION = 2.6 +HOSTAPD_VERSION = 2.7 HOSTAPD_SITE = http://w1.fi/releases -HOSTAPD_PATCH = \ - http://w1.fi/security/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0005-Fix-PTK-rekeying-to-generate-a-new-ANonce.patch HOSTAPD_SUBDIR = hostapd HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config -HOSTAPD_DEPENDENCIES = host-pkgconf libnl -HOSTAPD_CFLAGS = $(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/libnl3/ +HOSTAPD_DEPENDENCIES = host-pkgconf +HOSTAPD_CFLAGS = $(TARGET_CFLAGS) HOSTAPD_LICENSE = BSD-3-Clause HOSTAPD_LICENSE_FILES = README HOSTAPD_CONFIG_SET = -HOSTAPD_CONFIG_ENABLE = \ - CONFIG_HS20 \ - CONFIG_IEEE80211AC \ - CONFIG_IEEE80211N \ - CONFIG_IEEE80211R \ - CONFIG_INTERNAL_LIBTOMMATH \ - CONFIG_INTERWORKING \ - CONFIG_LIBNL32 +HOSTAPD_CONFIG_ENABLE = CONFIG_INTERNAL_LIBTOMMATH HOSTAPD_CONFIG_DISABLE = -# libnl-3 needs -lm (for rint) and -lpthread if linking statically -# And library order matters hence stick -lnl-3 first since it's appended -# in the hostapd Makefiles as in LIBS+=-lnl-3 ... thus failing -ifeq ($(BR2_STATIC_LIBS),y) -HOSTAPD_LIBS += -lnl-3 -lm -lpthread -endif - # Try to use openssl if it's already available ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) HOSTAPD_DEPENDENCIES += libopenssl @@ -45,11 +28,37 @@ HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/' endif +ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP),) +HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_HOSTAP +endif + +ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NL80211),) +HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_NL80211 +endif + ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_RTW),y) HOSTAPD_PATCH += https://github.com/pritambaral/hostapd-rtl871xdrv/raw/master/rtlxdrv.patch HOSTAPD_CONFIG_SET += CONFIG_DRIVER_RTW endif +ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_WIRED),y) +HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_WIRED +endif + +ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NONE),y) +HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_NONE +endif + +# Add options for wireless drivers +ifeq ($(BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS),y) +HOSTAPD_CONFIG_ENABLE += \ + CONFIG_HS20 \ + CONFIG_IEEE80211AC \ + CONFIG_IEEE80211N \ + CONFIG_IEEE80211R \ + CONFIG_INTERWORKING +endif + ifeq ($(BR2_PACKAGE_HOSTAPD_ACS),y) HOSTAPD_CONFIG_ENABLE += CONFIG_ACS endif @@ -84,6 +93,19 @@ ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y) HOSTAPD_CONFIG_ENABLE += CONFIG_VLAN_NETLINK endif +# Options for building with libnl +ifeq ($(BR2_PACKAGE_LIBNL),y) +HOSTAPD_DEPENDENCIES += libnl +HOSTAPD_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl3/ +HOSTAPD_CONFIG_ENABLE += CONFIG_LIBNL32 +# libnl-3 needs -lm (for rint) and -lpthread if linking statically +# And library order matters hence stick -lnl-3 first since it's appended +# in the hostapd Makefiles as in LIBS+=-lnl-3 ... thus failing +ifeq ($(BR2_STATIC_LIBS),y) +HOSTAPD_LIBS += -lnl-3 -lm -lpthread +endif +endif + define HOSTAPD_CONFIGURE_CMDS cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG) sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \ diff --git a/bsp/buildroot/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch b/bsp/buildroot/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch new file mode 100644 index 00000000..81f9d1bd --- /dev/null +++ b/bsp/buildroot/package/htop/0001-MetersPanel-remove-0xe2-from-MetersPanel.c.patch @@ -0,0 +1,52 @@ +From ae32d292ca641c08b6db8d2f7cfcce2a54d00835 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 20 Feb 2018 23:09:24 +0100 +Subject: [PATCH] MetersPanel: remove 0xe2 from MetersPanel.c + +This non ascii character trigger an issue with MakeHeader.py. + +./scripts/MakeHeader.py MetersPanel.c +Traceback (most recent call last): + File "./scripts/MakeHeader.py", line 32, in + for line in file.readlines(): + File "[...]/output/host/lib/python3.6/encodings/ascii.py", line 26, in decode + return codecs.ascii_decode(input, self.errors)[0] +UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 956: ordinal not in range(128) + +http://autobuild.buildroot.net/results/8ed/8edb78b054a265447fd0e83f67cba5f978be4ed6/build-end.log + +Signed-off-by: Romain Naour +--- + MetersPanel.c | 2 +- + MetersPanel.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/MetersPanel.c b/MetersPanel.c +index 3cf3e07..47296a4 100644 +--- a/MetersPanel.c ++++ b/MetersPanel.c +@@ -37,7 +37,7 @@ static const char* const MetersFunctions[] = {"Style ", "Move ", " + static const char* const MetersKeys[] = {"Space", "Enter", " ", "Del", "F10"}; + static int MetersEvents[] = {' ', 13, ERR, KEY_DC, KEY_F(10)}; + +-// We avoid UTF-8 arrows ↠→ here as they might display full-width on Chinese ++// We avoid UTF-8 arrows <- -> here as they might display full-width on Chinese + // terminals, breaking our aligning. + // In , arrows (U+2019..U+2199) are + // considered "Ambiguous characters". +diff --git a/MetersPanel.h b/MetersPanel.h +index e00169c..e80754a 100644 +--- a/MetersPanel.h ++++ b/MetersPanel.h +@@ -29,7 +29,7 @@ struct MetersPanel_ { + + // Note: In code the meters are known to have bar/text/graph "Modes", but in UI + // we call them "Styles". +-// We avoid UTF-8 arrows ↠→ here as they might display full-width on Chinese ++// We avoid UTF-8 arrows <- -> here as they might display full-width on Chinese + // terminals, breaking our aligning. + // In , arrows (U+2019..U+2199) are + // considered "Ambiguous characters". +-- +2.14.3 + diff --git a/bsp/buildroot/package/htop/htop.hash b/bsp/buildroot/package/htop/htop.hash index cfea23f9..e764644a 100644 --- a/bsp/buildroot/package/htop/htop.hash +++ b/bsp/buildroot/package/htop/htop.hash @@ -1,3 +1,3 @@ -# Hashes from: http://www.freelists.org/post/htop/ANN-htop-202 -md5 7d354d904bad591a931ad57e99fea84a htop-2.0.2.tar.gz -sha1 201f793f13dce2448e36047079875b9bd5bba75a htop-2.0.2.tar.gz +# Locally calculated +sha256 d9d6826f10ce3887950d709b53ee1d8c1849a70fa38e91d5896ad8cbc6ba3c57 htop-2.2.0.tar.gz +sha256 70466e76443cb5b68144d9fcedca9584e7bfdb6c50859daa5a0290ea27c58aad COPYING diff --git a/bsp/buildroot/package/htop/htop.mk b/bsp/buildroot/package/htop/htop.mk index d06e4a56..dc84e327 100644 --- a/bsp/buildroot/package/htop/htop.mk +++ b/bsp/buildroot/package/htop/htop.mk @@ -4,7 +4,7 @@ # ################################################################################ -HTOP_VERSION = 2.0.2 +HTOP_VERSION = 2.2.0 HTOP_SITE = http://hisham.hm/htop/releases/$(HTOP_VERSION) HTOP_DEPENDENCIES = ncurses # Prevent htop build system from searching the host paths diff --git a/bsp/buildroot/package/httping/httping.mk b/bsp/buildroot/package/httping/httping.mk index 955ee313..b3a625a8 100644 --- a/bsp/buildroot/package/httping/httping.mk +++ b/bsp/buildroot/package/httping/httping.mk @@ -17,9 +17,9 @@ HTTPING_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(if $(BR2_PACKAGE_NCURSES_WCHAR),ncurses) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ - $(if $(BR2_PACKAGE_FFTW),fftw) + $(if $(BR2_PACKAGE_FFTW_DOUBLE),fftw-double) HTTPING_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) \ - FW=$(if $(BR2_PACKAGE_FFTW),yes,no) \ + FW=$(if $(BR2_PACKAGE_FFTW_DOUBLE),yes,no) \ NC=$(if $(BR2_PACKAGE_NCURSES_WCHAR),yes,no) \ SSL=$(if $(BR2_PACKAGE_OPENSSL),yes,no) \ TFO=$(if $(BR2_PACKAGE_HTTPING_TFO),yes,no) \ diff --git a/bsp/buildroot/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch b/bsp/buildroot/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch deleted file mode 100644 index 09a78dae..00000000 --- a/bsp/buildroot/package/i2c-tools/0001-lib-Module.mk-Add-missing-dependencies.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a6a59693066fd8da81f7107479df3e32a129247d Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Wed, 6 Dec 2017 09:55:04 +0100 -Subject: [PATCH] lib/Module.mk: Add missing dependencies - -The lib symlinks lacked a dependency to the actual library file, so -parallel builds could run into a race and break. - -Signed-off-by: Angelo Compagnucci ---- - lib/Module.mk | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 432a051..fd2c8c4 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -42,11 +42,11 @@ endif - $(LIB_DIR)/$(LIB_SHLIBNAME): $(LIB_DIR)/smbus.o - $(CC) -shared $(LDFLAGS) -Wl,--version-script=$(LIB_DIR)/libi2c.map -Wl,-soname,$(LIB_SHSONAME) -o $@ $^ -lc - --$(LIB_DIR)/$(LIB_SHSONAME): -+$(LIB_DIR)/$(LIB_SHSONAME): $(LIB_DIR)/$(LIB_SHLIBNAME) - $(RM) $@ - $(LN) $(LIB_SHLIBNAME) $@ - --$(LIB_DIR)/$(LIB_SHBASENAME): -+$(LIB_DIR)/$(LIB_SHBASENAME): $(LIB_DIR)/$(LIB_SHLIBNAME) - $(RM) $@ - $(LN) $(LIB_SHLIBNAME) $@ - --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch b/bsp/buildroot/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch deleted file mode 100644 index b5ec5471..00000000 --- a/bsp/buildroot/package/i2c-tools/0002-Makefile-Add-flag-to-disable-dynamic-library.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 9906b2ecb6aec02d6348d6237b784135e6930d0b Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Wed, 6 Dec 2017 10:12:07 +0100 -Subject: Makefile: Add flag to disable dynamic library - -In such cases where you need to disable entirely the dynamic -library compilation, now you can use the BUILD_DYNAMIC_LIB=0 -flag. - -Signed-off-by: Angelo Compagnucci -Signed-off-by: Jean Delvare ---- - Makefile | 10 +++++++++- - lib/Module.mk | 6 +++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index c85317c..1bb5572 100644 ---- a/Makefile -+++ b/Makefile -@@ -32,12 +32,20 @@ CFLAGS ?= -O2 - CFLAGS += -Wall - SOCFLAGS := -fpic -D_REENTRANT $(CFLAGS) - --USE_STATIC_LIB ?= 0 -+BUILD_DYNAMIC_LIB ?= 1 - BUILD_STATIC_LIB ?= 1 -+USE_STATIC_LIB ?= 0 -+ - ifeq ($(USE_STATIC_LIB),1) - BUILD_STATIC_LIB := 1 - endif - -+ifeq ($(BUILD_DYNAMIC_LIB),0) -+ifeq ($(BUILD_STATIC_LIB),0) -+$(error BUILD_DYNAMIC_LIB and BUILD_STATIC_LIB cannot be disabled at the same time) -+endif -+endif -+ - KERNELVERSION := $(shell uname -r) - - .PHONY: all strip clean install uninstall -diff --git a/lib/Module.mk b/lib/Module.mk -index fd2c8c4..44fa938 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -27,9 +27,13 @@ LIB_SHSONAME := $(LIB_SHBASENAME).$(LIB_MAINVER) - LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) - LIB_STLIBNAME := libi2c.a - --LIB_TARGETS := $(LIB_SHLIBNAME) - LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) - LIB_OBJECTS := smbus.o -+ -+LIB_TARGETS := -+ifeq ($(BUILD_DYNAMIC_LIB),1) -+LIB_TARGETS += $(LIB_SHLIBNAME) -+endif - ifeq ($(BUILD_STATIC_LIB),1) - LIB_TARGETS += $(LIB_STLIBNAME) - LIB_OBJECTS += smbus.ao --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch b/bsp/buildroot/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch deleted file mode 100644 index 43c915c2..00000000 --- a/bsp/buildroot/package/i2c-tools/0003-lib-Module.mk-Drop-unused-variable-LIB_OBJECTS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1831b618fbedf0bcf15b0465981d133d9e3c53ee Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Wed, 6 Dec 2017 10:46:56 +0100 -Subject: lib/Module.mk: Drop unused variable LIB_OBJECTS - -Signed-off-by: Angelo Compagnucci ---- - lib/Module.mk | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 44fa938..8a58f5b 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -28,7 +28,6 @@ LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) - LIB_STLIBNAME := libi2c.a - - LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) --LIB_OBJECTS := smbus.o - - LIB_TARGETS := - ifeq ($(BUILD_DYNAMIC_LIB),1) -@@ -36,7 +35,6 @@ LIB_TARGETS += $(LIB_SHLIBNAME) - endif - ifeq ($(BUILD_STATIC_LIB),1) - LIB_TARGETS += $(LIB_STLIBNAME) --LIB_OBJECTS += smbus.ao - endif - - # --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch b/bsp/buildroot/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch deleted file mode 100644 index d18090be..00000000 --- a/bsp/buildroot/package/i2c-tools/0004-tools-Module.mk-Add-missing-dependencies.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 08b0d67ba7eceb862cb17f52eb1911e9579726ea Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Thu, 14 Dec 2017 08:52:26 +0100 -Subject: [PATCH] tools/Module.mk: Add missing dependencies - -Better build the library before building the tools which link against -it, otherwise parallel builds could run into a race and break. - -Signed-off-by: Jean Delvare -Tested-by: Angelo Compagnucci -Acked-by: Angelo Compagnucci -Signed-off-by: Angelo Compagnucci ---- - lib/Module.mk | 7 +++++++ - tools/Module.mk | 10 +++++----- - 2 files changed, 12 insertions(+), 5 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 8a58f5b..67afe91 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -37,6 +37,13 @@ ifeq ($(BUILD_STATIC_LIB),1) - LIB_TARGETS += $(LIB_STLIBNAME) - endif - -+# Library file to link against (static or dynamic) -+ifeq ($(USE_STATIC_LIB),1) -+LIB_DEPS := $(LIB_DIR)/$(LIB_STLIBNAME) -+else -+LIB_DEPS := $(LIB_DIR)/$(LIB_SHBASENAME) -+endif -+ - # - # Libraries - # -diff --git a/tools/Module.mk b/tools/Module.mk -index 6421a23..609de7a 100644 ---- a/tools/Module.mk -+++ b/tools/Module.mk -@@ -24,19 +24,19 @@ TOOLS_TARGETS := i2cdetect i2cdump i2cset i2cget i2ctransfer - # Programs - # - --$(TOOLS_DIR)/i2cdetect: $(TOOLS_DIR)/i2cdetect.o $(TOOLS_DIR)/i2cbusses.o -+$(TOOLS_DIR)/i2cdetect: $(TOOLS_DIR)/i2cdetect.o $(TOOLS_DIR)/i2cbusses.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2cdump: $(TOOLS_DIR)/i2cdump.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2cdump: $(TOOLS_DIR)/i2cdump.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2cset: $(TOOLS_DIR)/i2cset.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2cset: $(TOOLS_DIR)/i2cset.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2cget: $(TOOLS_DIR)/i2cget.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2cget: $(TOOLS_DIR)/i2cget.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - --$(TOOLS_DIR)/i2ctransfer: $(TOOLS_DIR)/i2ctransfer.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o -+$(TOOLS_DIR)/i2ctransfer: $(TOOLS_DIR)/i2ctransfer.o $(TOOLS_DIR)/i2cbusses.o $(TOOLS_DIR)/util.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(TOOLS_LDFLAGS) - - # --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch b/bsp/buildroot/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch deleted file mode 100644 index 37a8ebc6..00000000 --- a/bsp/buildroot/package/i2c-tools/0005-lib-Module.mk-Fix-LIB_LINKS-dependency.patch +++ /dev/null @@ -1,34 +0,0 @@ -From de278d0933e3caea2508f95fd00e7e338bc12e8f Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Thu, 14 Dec 2017 13:34:29 +0100 -Subject: lib/Module.mk: Fix LIB_LINKS dependency - -LIB_LINKS should be added as a dependency only when -BUILD_DYNAMIC_LIB is enabled. - -Signed-off-by: Angelo Compagnucci -Signed-off-by: Jean Delvare -Fixes: 9906b2ecb6ae ("Makefile: Add flag to disable dynamic library" ---- - lib/Module.mk | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 67afe91..2ebc70d 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -27,10 +27,9 @@ LIB_SHSONAME := $(LIB_SHBASENAME).$(LIB_MAINVER) - LIB_SHLIBNAME := $(LIB_SHBASENAME).$(LIB_VER) - LIB_STLIBNAME := libi2c.a - --LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) -- - LIB_TARGETS := - ifeq ($(BUILD_DYNAMIC_LIB),1) -+LIB_LINKS := $(LIB_SHSONAME) $(LIB_SHBASENAME) - LIB_TARGETS += $(LIB_SHLIBNAME) - endif - ifeq ($(BUILD_STATIC_LIB),1) --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch b/bsp/buildroot/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch deleted file mode 100644 index 85438cbf..00000000 --- a/bsp/buildroot/package/i2c-tools/0006-Makefile-Allow-to-really-disable-the-dynamic-library.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 57d2c370493f2e9e33b30e8767624c648f138ec4 Mon Sep 17 00:00:00 2001 -From: Jean Delvare -Date: Thu, 14 Dec 2017 13:34:34 +0100 -Subject: Makefile: Allow to really disable the dynamic library - -If the user disables the build of the dynamic library, we have to -link the tools with the static library. If we don't, the dependencies -will cause the dynamic library to be built regardless of the user's -request. - -Signed-off-by: Jean Delvare -Fixes: 9906b2ecb6ae ("Makefile: Add flag to disable dynamic library") -Signed-off-by: Angelo Compagnucci ---- - Makefile | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Makefile b/Makefile -index 1bb5572..6bb741f 100644 ---- a/Makefile -+++ b/Makefile -@@ -43,6 +43,8 @@ endif - ifeq ($(BUILD_DYNAMIC_LIB),0) - ifeq ($(BUILD_STATIC_LIB),0) - $(error BUILD_DYNAMIC_LIB and BUILD_STATIC_LIB cannot be disabled at the same time) -+else -+USE_STATIC_LIB := 1 - endif - endif - --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch b/bsp/buildroot/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch deleted file mode 100644 index 126d3885..00000000 --- a/bsp/buildroot/package/i2c-tools/0007-eeprog-Module.mk-Add-missing-dependency.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f87c97317012a3b96b67237925893b8ffd5f4f50 Mon Sep 17 00:00:00 2001 -From: "Maxin B. John" -Date: Tue, 19 Dec 2017 13:46:15 +0100 -Subject: [PATCH] eeprog/Module.mk: Add missing dependency - -Absence of this dependency caused parallel build to run into a race -and break. - -Signed-off-by: Maxin B. John -Signed-off-by: Jean Delvare ---- - eeprog/Module.mk | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eeprog/Module.mk b/eeprog/Module.mk -index 9d36869..d215855 100644 ---- a/eeprog/Module.mk -+++ b/eeprog/Module.mk -@@ -20,7 +20,7 @@ EEPROG_TARGETS := eeprog - # Programs - # - --$(EEPROG_DIR)/eeprog: $(EEPROG_DIR)/eeprog.o $(EEPROG_DIR)/24cXX.o -+$(EEPROG_DIR)/eeprog: $(EEPROG_DIR)/eeprog.o $(EEPROG_DIR)/24cXX.o $(LIB_DEPS) - $(CC) $(LDFLAGS) -o $@ $^ $(EEPROG_LDFLAGS) - - # --- -2.7.4 - diff --git a/bsp/buildroot/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch b/bsp/buildroot/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch deleted file mode 100644 index 69410ce5..00000000 --- a/bsp/buildroot/package/i2c-tools/0008-lib-Module.mk-don-t-install-dynamic-library-when-dis.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ae2e0c9708aeb4a8fb301a1a4016cec7b05fc142 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Tue, 2 Jan 2018 06:55:41 +0200 -Subject: [PATCH] lib/Module.mk: don't install dynamic library when disabled - -Do not attempt to install the dynamic library when build of that library -is disabled. Fixes the following installation error: - -install -m 755 lib/libi2c.so.0.1.0 .../target/usr/lib -install: cannot stat 'lib/libi2c.so.0.1.0': No such file or directory -lib/Module.mk:90: recipe for target 'install-lib' failed - -Cc: Angelo Compagnucci -Signed-off-by: Baruch Siach ---- - -Patch status: posted upstream -https://marc.info/?l=linux-i2c&m=151486925730634&w=2 - - lib/Module.mk | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/lib/Module.mk b/lib/Module.mk -index 2ebc70d76ed9..c492961e0a4a 100644 ---- a/lib/Module.mk -+++ b/lib/Module.mk -@@ -88,9 +88,11 @@ clean-lib: - - install-lib: $(addprefix $(LIB_DIR)/,$(LIB_TARGETS)) - $(INSTALL_DIR) $(DESTDIR)$(libdir) -+ifeq ($(BUILD_DYNAMIC_LIB),1) - $(INSTALL_PROGRAM) $(LIB_DIR)/$(LIB_SHLIBNAME) $(DESTDIR)$(libdir) - $(LN) $(LIB_SHLIBNAME) $(DESTDIR)$(libdir)/$(LIB_SHSONAME) - $(LN) $(LIB_SHSONAME) $(DESTDIR)$(libdir)/$(LIB_SHBASENAME) -+endif - ifeq ($(BUILD_STATIC_LIB),1) - $(INSTALL_DATA) $(LIB_DIR)/$(LIB_STLIBNAME) $(DESTDIR)$(libdir) - endif --- -2.15.1 - diff --git a/bsp/buildroot/package/i2c-tools/i2c-tools.hash b/bsp/buildroot/package/i2c-tools/i2c-tools.hash index 3475d206..280a139c 100644 --- a/bsp/buildroot/package/i2c-tools/i2c-tools.hash +++ b/bsp/buildroot/package/i2c-tools/i2c-tools.hash @@ -1,5 +1,7 @@ # Locally computed -sha256 d900ca1c11c51ea20caa50b096f948008b8a7ad832311b23353e21baa7af28d6 i2c-tools-4.0.tar.xz +sha256 57b219efd183795bd545dd5a60d9eabbe9dcb6f8fb92bc7ba2122b87f98527d5 i2c-tools-4.1.tar.xz -# License file +# License files sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL +sha256 b75b04b46320dff5e2b50a9c69b8e526b7db5087083ea3ba65533f08fc11b9f0 README diff --git a/bsp/buildroot/package/i2c-tools/i2c-tools.mk b/bsp/buildroot/package/i2c-tools/i2c-tools.mk index 9ddaa727..d4d9c012 100644 --- a/bsp/buildroot/package/i2c-tools/i2c-tools.mk +++ b/bsp/buildroot/package/i2c-tools/i2c-tools.mk @@ -4,12 +4,13 @@ # ################################################################################ -I2C_TOOLS_VERSION = 4.0 +I2C_TOOLS_VERSION = 4.1 I2C_TOOLS_SOURCE = i2c-tools-$(I2C_TOOLS_VERSION).tar.xz I2C_TOOLS_SITE = https://www.kernel.org/pub/software/utils/i2c-tools -I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus) -I2C_TOOLS_LICENSE_FILES = COPYING +I2C_TOOLS_LICENSE = GPL-2.0+, GPL-2.0 (py-smbus), LGPL-2.1+ (libi2c) +I2C_TOOLS_LICENSE_FILES = COPYING COPYING.LGPL README I2C_TOOLS_MAKE_OPTS = EXTRA=eeprog +I2C_TOOLS_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_PYTHON),y) I2C_TOOLS_DEPENDENCIES += python @@ -19,10 +20,6 @@ ifeq ($(BR2_PACKAGE_PYTHON3),y) I2C_TOOLS_DEPENDENCIES += python3 endif -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -I2C_TOOLS_DEPENDENCIES += busybox -endif - ifeq ($(BR2_STATIC_LIBS),y) I2C_TOOLS_MAKE_OPTS += BUILD_DYNAMIC_LIB=0 USE_STATIC_LIB=1 endif @@ -62,8 +59,13 @@ endef define I2C_TOOLS_INSTALL_TARGET_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \ - DESTDIR="$(TARGET_DIR)" prefix=/usr -C $(@D) install + DESTDIR="$(TARGET_DIR)" PREFIX=/usr -C $(@D) install $(I2C_TOOLS_INSTALL_PYSMBUS) endef +define I2C_TOOLS_INSTALL_STAGING_CMDS + $(MAKE) $(TARGET_CONFIGURE_OPTS) $(I2C_TOOLS_MAKE_OPTS) \ + DESTDIR="$(STAGING_DIR)" PREFIX=/usr -C $(@D) install +endef + $(eval $(generic-package)) diff --git a/bsp/buildroot/package/i2pd/0001-build-CMakeLists.txt-don-t-install-source-and-licens.patch b/bsp/buildroot/package/i2pd/0001-build-CMakeLists.txt-don-t-install-source-and-licens.patch new file mode 100644 index 00000000..bf5807f8 --- /dev/null +++ b/bsp/buildroot/package/i2pd/0001-build-CMakeLists.txt-don-t-install-source-and-licens.patch @@ -0,0 +1,58 @@ +From 5fec22461a6d8d1045c849e468436b00ec7f9616 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 1 Apr 2018 20:11:21 +0200 +Subject: [PATCH] build/CMakeLists.txt: don't install source and license + +The CMakeLists.txt has the interesting (weird?) idea of installing the +license to /usr/LICENSE and the source code to /usr/src/, which is a +bit annoying. Let's not install such things. + +Signed-off-by: Thomas Petazzoni +--- + build/CMakeLists.txt | 30 ------------------------------ + 1 file changed, 30 deletions(-) + +diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt +index a6736a0b..3de79f3e 100644 +--- a/build/CMakeLists.txt ++++ b/build/CMakeLists.txt +@@ -473,36 +473,6 @@ if (WITH_BINARY) + endif () + endif () + +-install(FILES ../LICENSE +- DESTINATION . +- COMPONENT Runtime +- ) +-# Take a copy on Appveyor +-install(FILES "C:/projects/openssl-$ENV{OPENSSL}/LICENSE" +- DESTINATION . +- COMPONENT Runtime +- RENAME LICENSE_OPENSSL +- OPTIONAL # for local builds only! +- ) +- +-file(GLOB_RECURSE I2PD_SOURCES "../libi2pd/*.cpp" "../libi2pd_client/*.cpp" "../daemon/*.cpp" "../build" "../Win32" "../Makefile*") +-install(FILES ${I2PD_SOURCES} DESTINATION src/ COMPONENT Source) +-# install(DIRECTORY ../ DESTINATION src/ +-# # OPTIONAL +-# COMPONENT Source FILES_MATCHING +-# PATTERN .git EXCLUDE +-# PATTERN "*.cpp" +-# ) +- +-file(GLOB I2PD_HEADERS "../libi2pd/*.h" "../libi2pd_client/*.h" "../daemon/*.h") +-install(FILES ${I2PD_HEADERS} DESTINATION src/ COMPONENT Headers) +-# install(DIRECTORY ../ DESTINATION src/ +-# # OPTIONAL +-# COMPONENT Headers FILES_MATCHING +-# PATTERN .git EXCLUDE +-# PATTERN "*.h" +-# ) +- + set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Purple I2P, a C++ I2P daemon") + set(CPACK_PACKAGE_VENDOR "Purple I2P") + set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../README.md") +-- +2.14.3 + diff --git a/bsp/buildroot/package/i2pd/Config.in b/bsp/buildroot/package/i2pd/Config.in new file mode 100644 index 00000000..5b9ac33e --- /dev/null +++ b/bsp/buildroot/package/i2pd/Config.in @@ -0,0 +1,37 @@ +config BR2_PACKAGE_I2PD + bool "i2pd" + depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_ATOMIC + # pthread_condattr_setclock + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_USE_WCHAR # boost + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_DATE_TIME + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_ZLIB + help + i2pd (I2P Daemon) is a full-featured C++ implementation of I2P + client. + + I2P (Invisible Internet Protocol) is a universal anonymous + network layer. + All communications over I2P are anonymous and end-to-end + encrypted, participants don't reveal their real IP addresses. + + http://i2pd.website + +comment "i2pd needs a toolchain w/ C++, NPTL, wchar" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR + +comment "i2pd needs exception_ptr" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/i2pd/S99i2pd b/bsp/buildroot/package/i2pd/S99i2pd new file mode 100644 index 00000000..32775cdb --- /dev/null +++ b/bsp/buildroot/package/i2pd/S99i2pd @@ -0,0 +1,38 @@ +#!/bin/sh + +NAME=i2pd +PIDFILE=/var/run/$NAME.pid +DAEMON=/usr/bin/$NAME +DAEMON_ARGS="--conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --pidfile=/var/run/i2pd.pid --logfile=/var/log/i2pd.log --daemon --service" + +start() { + printf "Starting $NAME: " + start-stop-daemon -S -q -m -b -p $PIDFILE --exec $DAEMON -- $DAEMON_ARGS + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping $NAME: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/bsp/buildroot/package/i2pd/i2pd.hash b/bsp/buildroot/package/i2pd/i2pd.hash new file mode 100644 index 00000000..c3c9a48e --- /dev/null +++ b/bsp/buildroot/package/i2pd/i2pd.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 6547d7a560482c5eda9106ae19267bc8afbb6af48fed3bebf423ade28103e173 i2pd-2.22.0.tar.gz +sha256 d147a6acdaf8ec9f6513802ef6cad4a4afcdb5ab6b98d9f6bb26d2b7f4cf454c LICENSE diff --git a/bsp/buildroot/package/i2pd/i2pd.mk b/bsp/buildroot/package/i2pd/i2pd.mk new file mode 100644 index 00000000..3ce5f97f --- /dev/null +++ b/bsp/buildroot/package/i2pd/i2pd.mk @@ -0,0 +1,67 @@ +################################################################################ +# +# i2pd +# +################################################################################ + +I2PD_VERSION = 2.22.0 +I2PD_SITE = $(call github,PurpleI2P,i2pd,$(I2PD_VERSION)) +I2PD_LICENSE = BSD-3-Clause +I2PD_LICENSE_FILES = LICENSE +I2PD_SUBDIR = build +I2PD_DEPENDENCIES = \ + boost \ + openssl \ + zlib + +I2PD_CONF_OPTS += -DWITH_GUI=OFF + +# Before CMake 3.10, passing THREADS_PTHREAD_ARG=OFF was needed to +# disable a try_run() call in the FindThreads tests, which caused a +# build failure when cross-compiling. +I2PD_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +I2PD_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + +ifeq ($(BR2_STATIC_LIBS),y) +I2PD_CONF_OPTS += -DWITH_STATIC=ON +else +I2PD_CONF_OPTS += -DWITH_STATIC=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBMINIUPNPC),y) +I2PD_DEPENDENCIES += libminiupnpc +I2PD_CONF_OPTS += -DWITH_UPNP=ON +else +I2PD_CONF_OPTS += -DWITH_UPNP=OFF +endif + +define I2PD_INSTALL_CONFIGURATION_FILES + $(INSTALL) -D -m 644 $(@D)/contrib/i2pd.conf \ + $(TARGET_DIR)/etc/i2pd/i2pd.conf + $(INSTALL) -D -m 644 $(@D)/contrib/tunnels.conf \ + $(TARGET_DIR)/etc/i2pd/tunnels.conf + mkdir -p $(TARGET_DIR)/var/lib/i2pd + cp -a $(@D)/contrib/certificates $(TARGET_DIR)/var/lib/i2pd +endef + +define I2PD_USERS + i2pd -1 i2pd -1 * /var/lib/i2pd - - I2P Daemon +endef + +define I2PD_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 package/i2pd/S99i2pd \ + $(TARGET_DIR)/etc/init.d/S99i2pd +endef + +define I2PD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/i2pd/i2pd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/i2pd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/i2pd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/i2pd.service +endef + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/i2pd/i2pd.service b/bsp/buildroot/package/i2pd/i2pd.service new file mode 100644 index 00000000..0fdee595 --- /dev/null +++ b/bsp/buildroot/package/i2pd/i2pd.service @@ -0,0 +1,29 @@ +[Unit] +Description=I2P Router written in C++ +After=network.target + +[Service] +User=i2pd +Group=i2pd +RuntimeDirectory=i2pd +RuntimeDirectoryMode=0700 +LogsDirectory=i2pd +LogsDirectoryMode=0700 +Type=simple +ExecStart=/usr/bin/i2pd --conf=/etc/i2pd/i2pd.conf --tunconf=/etc/i2pd/tunnels.conf --pidfile=/run/i2pd/i2pd.pid --logfile=/var/log/i2pd/i2pd.log --daemon --service +ExecReload=/bin/kill -HUP $MAINPID +PIDFile=/run/i2pd/i2pd.pid +### Uncomment, if auto restart needed +#Restart=on-failure + +### Use SIGINT for graceful stop daemon. +# i2pd stops accepting new tunnels and waits ~10 min while old ones do not die. +KillSignal=SIGINT +TimeoutStopSec=10m + +# If you have problems with hanging i2pd, you can try enable this +#LimitNOFILE=4096 +PrivateDevices=yes + +[Install] +WantedBy=multi-user.target diff --git a/bsp/buildroot/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch b/bsp/buildroot/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch new file mode 100644 index 00000000..90e5147f --- /dev/null +++ b/bsp/buildroot/package/ibrcommon/0002-ibrcommon-added-openssl-1.1-compatibility-264.patch @@ -0,0 +1,357 @@ +From a801d10a081e3130e24042256a43190c9eb6c112 Mon Sep 17 00:00:00 2001 +From: Eneas Queiroz <35331380+cotequeiroz@users.noreply.github.com> +Date: Wed, 23 May 2018 03:09:02 -0300 +Subject: [PATCH] ibrcommon: added openssl 1.1 compatibility (#264) + +This patch adds compatibility to openssl 1.1.0. + +Backported from master branch: +https://github.com/ibrdtn/ibrdtn/commit/a801d10a081e3130e24042256a43190c9eb6c112 + +Signed-off-by: Eneas U de Queiroz +Signed-off-by: Bernd Kuhls +--- + ibrcommon/ibrcommon/ssl/HMacStream.cpp | 11 +++--- + ibrcommon/ibrcommon/ssl/HMacStream.h | 2 +- + ibrcommon/ibrcommon/ssl/RSASHA256Stream.cpp | 28 +++++++------ + ibrcommon/ibrcommon/ssl/RSASHA256Stream.h | 2 +- + ibrcommon/ibrcommon/ssl/iostreamBIO.cpp | 44 ++++++++++++++++----- + ibrcommon/ibrcommon/ssl/openssl_compat.h | 38 ++++++++++++++++++ + 6 files changed, 95 insertions(+), 30 deletions(-) + create mode 100644 ibrcommon/ibrcommon/ssl/openssl_compat.h + +diff --git a/ibrcommon/ssl/HMacStream.cpp b/ibrcommon/ssl/HMacStream.cpp +index e5d317e3..66d8ce42 100644 +--- a/ibrcommon/ssl/HMacStream.cpp ++++ b/ibrcommon/ssl/HMacStream.cpp +@@ -20,29 +20,30 @@ + */ + + #include "ibrcommon/ssl/HMacStream.h" ++#include "openssl_compat.h" + + namespace ibrcommon + { + HMacStream::HMacStream(const unsigned char * const key, const int key_size) + : HashStream(EVP_MAX_MD_SIZE, BUFF_SIZE), key_(key), key_size_(key_size) + { +- HMAC_CTX_init(&ctx_); +- HMAC_Init_ex(&ctx_, key_, key_size_, EVP_sha1(), NULL); ++ ctx_ = HMAC_CTX_new(); ++ HMAC_Init_ex(ctx_, key_, key_size_, EVP_sha1(), NULL); + } + + HMacStream::~HMacStream() + { +- HMAC_CTX_cleanup(&ctx_); ++ HMAC_CTX_free(ctx_); + } + + void HMacStream::update(char *buf, const size_t size) + { + // hashing +- HMAC_Update(&ctx_, (unsigned char*)buf, size); ++ HMAC_Update(ctx_, (unsigned char*)buf, size); + } + + void HMacStream::finalize(char * hash, unsigned int &size) + { +- HMAC_Final(&ctx_, (unsigned char*)hash, &size); ++ HMAC_Final(ctx_, (unsigned char*)hash, &size); + } + } +diff --git a/ibrcommon/ssl/HMacStream.h b/ibrcommon/ssl/HMacStream.h +index 7dcea168..d04bceb8 100644 +--- a/ibrcommon/ssl/HMacStream.h ++++ b/ibrcommon/ssl/HMacStream.h +@@ -44,7 +44,7 @@ namespace ibrcommon + const unsigned char * const key_; + const int key_size_; + +- HMAC_CTX ctx_; ++ HMAC_CTX* ctx_; + }; + } + +diff --git a/ibrcommon/ssl/RSASHA256Stream.cpp b/ibrcommon/ssl/RSASHA256Stream.cpp +index d94430ed..d25c5d2f 100644 +--- a/ibrcommon/ssl/RSASHA256Stream.cpp ++++ b/ibrcommon/ssl/RSASHA256Stream.cpp +@@ -21,6 +21,7 @@ + + #include "ibrcommon/ssl/RSASHA256Stream.h" + #include "ibrcommon/Logger.h" ++#include "openssl_compat.h" + #include + + namespace ibrcommon +@@ -30,11 +31,11 @@ namespace ibrcommon + { + // Initialize get pointer. This should be zero so that underflow is called upon first read. + setp(&out_buf_[0], &out_buf_[BUFF_SIZE - 1]); +- EVP_MD_CTX_init(&_ctx); ++ _ctx = EVP_MD_CTX_new(); + + if (!_verify) + { +- if (!EVP_SignInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_SignInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the signature function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -42,7 +43,7 @@ namespace ibrcommon + } + else + { +- if (!EVP_VerifyInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_VerifyInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the verification function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -52,18 +53,19 @@ namespace ibrcommon + + RSASHA256Stream::~RSASHA256Stream() + { +- EVP_MD_CTX_cleanup(&_ctx); ++ EVP_MD_CTX_free(_ctx); + } + + void RSASHA256Stream::reset() + { +- EVP_MD_CTX_cleanup(&_ctx); +- +- EVP_MD_CTX_init(&_ctx); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ EVP_MD_CTX_cleanup(_ctx); ++#endif ++ EVP_MD_CTX_init(_ctx); + + if (!_verify) + { +- if (!EVP_SignInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_SignInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the signature function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -71,7 +73,7 @@ namespace ibrcommon + } + else + { +- if (!EVP_VerifyInit_ex(&_ctx, EVP_sha256(), NULL)) ++ if (!EVP_VerifyInit_ex(_ctx, EVP_sha256(), NULL)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to initialize the verfication function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -91,7 +93,7 @@ namespace ibrcommon + std::vector sign(EVP_PKEY_size(_pkey)); + unsigned int size = EVP_PKEY_size(_pkey); + +- _return_code = EVP_SignFinal(&_ctx, &sign[0], &size, _pkey); ++ _return_code = EVP_SignFinal(_ctx, &sign[0], &size, _pkey); + + _sign = std::string((const char*)&sign[0], size); + +@@ -107,7 +109,7 @@ namespace ibrcommon + if (!_sign_valid) + { + sync(); +- _return_code = EVP_VerifyFinal(&_ctx, reinterpret_cast(their_sign.c_str()), static_cast(their_sign.size()), _pkey); ++ _return_code = EVP_VerifyFinal(_ctx, reinterpret_cast(their_sign.c_str()), static_cast(their_sign.size()), _pkey); + _sign_valid = true; + } + return _return_code; +@@ -145,7 +147,7 @@ namespace ibrcommon + if (!_verify) + // hashing + { +- if (!EVP_SignUpdate(&_ctx, &out_buf_[0], iend - ibegin)) ++ if (!EVP_SignUpdate(_ctx, &out_buf_[0], iend - ibegin)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to feed data into the signature function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +@@ -153,7 +155,7 @@ namespace ibrcommon + } + else + { +- if (!EVP_VerifyUpdate(&_ctx, &out_buf_[0], iend - ibegin)) ++ if (!EVP_VerifyUpdate(_ctx, &out_buf_[0], iend - ibegin)) + { + IBRCOMMON_LOGGER_TAG("RSASHA256Stream", critical) << "failed to feed data into the verification function" << IBRCOMMON_LOGGER_ENDL; + ERR_print_errors_fp(stderr); +diff --git a/ibrcommon/ssl/RSASHA256Stream.h b/ibrcommon/ssl/RSASHA256Stream.h +index 344f8e10..6f3a1168 100644 +--- a/ibrcommon/ssl/RSASHA256Stream.h ++++ b/ibrcommon/ssl/RSASHA256Stream.h +@@ -106,7 +106,7 @@ namespace ibrcommon + + /** the context in which the streamed data will be feed into for + calculation of the hash/signature */ +- EVP_MD_CTX _ctx; ++ EVP_MD_CTX * _ctx; + + /** tells if the context needs to be finalized to get a valid signature or + verification */ +diff --git a/ibrcommon/ssl/iostreamBIO.cpp b/ibrcommon/ssl/iostreamBIO.cpp +index 18c1b55c..ea6c63eb 100644 +--- a/ibrcommon/ssl/iostreamBIO.cpp ++++ b/ibrcommon/ssl/iostreamBIO.cpp +@@ -23,6 +23,7 @@ + + #include "ibrcommon/Logger.h" + ++#include "openssl_compat.h" + #include + + namespace ibrcommon +@@ -42,7 +43,20 @@ static int create(BIO *bio); + //static int destroy(BIO *bio); + //static long (*callback_ctrl)(BIO *, int, bio_info_cb *); + +- ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++BIO_METHOD * BIO_iostream_method() ++{ ++ static BIO_METHOD *iostream_method = NULL; ++ if (iostream_method) { ++ iostream_method = BIO_meth_new(iostreamBIO::type, iostreamBIO::name); ++ BIO_meth_set_write(iostream_method, bwrite); ++ BIO_meth_set_read(iostream_method, bread); ++ BIO_meth_set_ctrl(iostream_method, ctrl); ++ BIO_meth_set_create(iostream_method, create); ++ } ++ return iostream_method; ++} ++#else + static BIO_METHOD iostream_method = + { + iostreamBIO::type, +@@ -56,12 +70,17 @@ static BIO_METHOD iostream_method = + NULL,//destroy, + NULL//callback_ctrl + }; ++BIO_METHOD * BIO_iostream_method() ++{ ++ return &iostream_method; ++} ++#endif + + iostreamBIO::iostreamBIO(iostream *stream) + : _stream(stream) + { + /* create BIO */ +- _bio = BIO_new(&iostream_method); ++ _bio = BIO_new(BIO_iostream_method()); + if(!_bio){ + /* creation failed, throw exception */ + char err_buf[ERR_BUF_SIZE]; +@@ -72,7 +91,7 @@ iostreamBIO::iostreamBIO(iostream *stream) + } + + /* save the iostream in the bio object */ +- _bio->ptr = stream; ++ BIO_set_data(_bio, (void *) stream); + } + + BIO * iostreamBIO::getBIO(){ +@@ -81,10 +100,10 @@ BIO * iostreamBIO::getBIO(){ + + static int create(BIO *bio) + { +- bio->ptr = NULL; +- /* (from openssl memory bio) */ +- bio->shutdown=1; +- bio->init=1; ++ BIO_set_data(bio, NULL); ++ BIO_set_shutdown(bio, 1); ++ BIO_set_init(bio, 1); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + /* from bss_mem.c (openssl): + * bio->num is used to hold the value to return on 'empty', if it is + * 0, should_retry is not set +@@ -93,6 +112,7 @@ static int create(BIO *bio) + * it is set to 0 since the underlying stream is blocking + */ + bio->num= 0; ++#endif + + return 1; + } +@@ -102,7 +122,7 @@ static int create(BIO *bio) + static long ctrl(BIO *bio, int cmd, long num, void *) + { + long ret; +- iostream *stream = reinterpret_cast(bio->ptr); ++ iostream *stream = reinterpret_cast(BIO_get_data(bio)); + + IBRCOMMON_LOGGER_DEBUG_TAG("iostreamBIO", 90) << "ctrl called, cmd: " << cmd << ", num: " << num << "." << IBRCOMMON_LOGGER_ENDL; + +@@ -147,8 +167,12 @@ static long ctrl(BIO *bio, int cmd, long num, void *) + + static int bread(BIO *bio, char *buf, int len) + { +- iostream *stream = reinterpret_cast(bio->ptr); ++ iostream *stream = reinterpret_cast(BIO_get_data(bio)); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ int num_bytes = 0; ++#else + int num_bytes = bio->num; ++#endif + + try{ + /* make sure to read at least 1 byte and then read as much as we can */ +@@ -170,7 +194,7 @@ static int bwrite(BIO *bio, const char *buf, int len) + if(len == 0){ + return 0; + } +- iostream *stream = reinterpret_cast(bio->ptr); ++ iostream *stream = reinterpret_cast(BIO_get_data(bio)); + + /* write the data */ + try{ +diff --git a/ibrcommon/ssl/openssl_compat.h b/ibrcommon/ssl/openssl_compat.h +new file mode 100644 +index 00000000..e491677f +--- /dev/null ++++ b/ibrcommon/ssl/openssl_compat.h +@@ -0,0 +1,38 @@ ++#ifndef OPENSSL_COMPAT_H ++#define OPENSSL_COMPAT_H ++ ++#include ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++#include ++ ++static inline EVP_MD_CTX * EVP_MD_CTX_new() ++{ ++ EVP_MD_CTX *ctx; ++ ++ ctx = (EVP_MD_CTX *) OPENSSL_malloc(sizeof(EVP_MD_CTX)); ++ EVP_MD_CTX_init(ctx); ++ return ctx; ++} ++#define EVP_MD_CTX_free(c) if (c != NULL) OPENSSL_free(c) ++ ++static inline HMAC_CTX * HMAC_CTX_new() ++{ ++ HMAC_CTX *ctx; ++ ++ ctx = (HMAC_CTX *) OPENSSL_malloc(sizeof(HMAC_CTX)); ++ HMAC_CTX_init(ctx); ++ return ctx; ++} ++#define HMAC_CTX_free(c) if (c != NULL) OPENSSL_free(c) ++ ++#define BIO_get_data(b) b->ptr ++#define BIO_set_data(b, v) b->ptr=v ++#define BIO_set_shutdown(b, v) b->shutdown=v ++#define BIO_set_init(b, v) b->init=v ++ ++#endif /* OPENSSL_VERSION_NUMBER */ ++ ++#endif /* OPENSSL_COMPAT_H */ ++ +-- +2.18.0 + diff --git a/bsp/buildroot/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch b/bsp/buildroot/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch new file mode 100644 index 00000000..c55b227c --- /dev/null +++ b/bsp/buildroot/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch @@ -0,0 +1,94 @@ +From 8118c43a53271ba2dd31ce3913a3cd21bc7dcca7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 16 Feb 2019 11:58:34 +0100 +Subject: [PATCH] ibrcommon/ssl/gcm: fix static build with openssl + +gf_mul is already defined in libcrypto (openssl) so rename it into +ibrdtn_gf_mul to fix following build failure: + +/home/buildroot/autobuild/instance-3/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a(f_impl.o): In function `gf_mul': +f_impl.c:(.text+0x0): multiple definition of `gf_mul' +/home/buildroot/autobuild/instance-3/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libibrcommon.a(gf128mul.o):gf128mul.cpp:(.text+0x30): first defined here +collect2: error: ld returned 1 exit status +Makefile:560: recipe for target 'dtnd' failed + +Fixes: + - http://autobuild.buildroot.org/results/1d3b4b6cf043a3e185ce758b617a0a18c3d36cdb + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ibrdtn/ibrdtn/pull/269] +--- + ibrcommon/ibrcommon/ssl/gcm/gcm.cpp | 10 +++++----- + ibrcommon/ibrcommon/ssl/gcm/gf128mul.cpp | 2 +- + ibrcommon/ibrcommon/ssl/gcm/gf128mul.h | 2 +- + 3 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/ibrcommon/ssl/gcm/gcm.cpp b/ibrcommon/ssl/gcm/gcm.cpp +index 8a5745b4..6097b43e 100644 +--- a/ibrcommon/ssl/gcm/gcm.cpp ++++ b/ibrcommon/ssl/gcm/gcm.cpp +@@ -89,7 +89,7 @@ ret_type gcm_init_and_key( /* initialise mode and set key + #elif defined( TABLES_256 ) + #define gf_mul_hh(a, ctx, scr) gf_mul_256(a, ctx->gf_t256, scr) + #else +-#define gf_mul_hh(a, ctx, scr) gf_mul(a, ui8_ptr(ctx->ghash_h)) ++#define gf_mul_hh(a, ctx, scr) ibrdtn_gf_mul(a, ui8_ptr(ctx->ghash_h)) + #endif + + ret_type gcm_init_message( /* initialise a new message */ +@@ -334,9 +334,9 @@ ret_type gcm_compute_tag( /* compute authentication tag + memcpy(tbuf, ctx->ghash_h, BLOCK_SIZE); + for( ; ; ) + { +- if(ln & 1) gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); ++ if(ln & 1) ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); + if(!(ln >>= 1)) break; +- gf_mul(tbuf, tbuf); ++ ibrdtn_gf_mul(tbuf, tbuf); + } + } + #else /* this one seems slower on x86 and x86_64 :-( */ +@@ -348,12 +348,12 @@ ret_type gcm_compute_tag( /* compute authentication tag + tbuf[0] = 0x80; + while(i) + { +- gf_mul(tbuf, tbuf); ++ ibrdtn_gf_mul(tbuf, tbuf); + if(i & ln) + gf_mul_hh(tbuf, ctx, scratch); + i >>= 1; + } +- gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); ++ ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf); + } + #endif + i = BLOCK_SIZE; ln = (uint_32t)(ctx->txt_acnt << 3); +diff --git a/ibrcommon/ssl/gcm/gf128mul.cpp b/ibrcommon/ssl/gcm/gf128mul.cpp +index a553a044..d0c460c3 100644 +--- a/ibrcommon/ssl/gcm/gf128mul.cpp ++++ b/ibrcommon/ssl/gcm/gf128mul.cpp +@@ -103,7 +103,7 @@ + + const unsigned short gf_tab[256] = gf_dat(xda); + +-void gf_mul(void *a, const void* b) ++void ibrdtn_gf_mul(void *a, const void* b) + { uint_32t r[GF_BYTE_LEN >> 2], p[8][GF_BYTE_LEN >> 2]; + int i; + +diff --git a/ibrcommon/ssl/gcm/gf128mul.h b/ibrcommon/ssl/gcm/gf128mul.h +index 4645c7fe..65fba54b 100644 +--- a/ibrcommon/ssl/gcm/gf128mul.h ++++ b/ibrcommon/ssl/gcm/gf128mul.h +@@ -619,7 +619,7 @@ gf_inline void mul_x(void *r, const void *x) + + /* A slow generic version of gf_mul (a = a * b) */ + +-void gf_mul(void *a, const void* b); ++void ibrdtn_gf_mul(void *a, const void* b); + + /* This version uses 64k bytes of table space on the stack. + A 16 byte buffer has to be multiplied by a 16 byte key +-- +2.14.1 + diff --git a/bsp/buildroot/package/ibrcommon/ibrcommon.hash b/bsp/buildroot/package/ibrcommon/ibrcommon.hash index 21a0ec6f..9d13f06d 100644 --- a/bsp/buildroot/package/ibrcommon/ibrcommon.hash +++ b/bsp/buildroot/package/ibrcommon/ibrcommon.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 9c457c1ebc01e6216524636628c647bef34ab11bd96f0e0788be8749374fdc20 ibrcommon-1.0.1.tar.gz +sha256 1a0b57773a46d9d4cc2f0d1780a17acc38af506bb1e0234aaa85f8ccd6dc0b92 COPYING +sha256 9b8a430c2136ebcf76bd37f50da7d7a80ede413ec6604cc4694ea536e779854c README diff --git a/bsp/buildroot/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch b/bsp/buildroot/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch new file mode 100644 index 00000000..8d100e2a --- /dev/null +++ b/bsp/buildroot/package/ibrdtnd/0001-ibrdtnd-added-openssl-compatibility.patch @@ -0,0 +1,205 @@ +From 8785fe0be66c8d6eaa94ffde921909a7ec220123 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Sat, 26 May 2018 23:44:54 -0300 +Subject: [PATCH] ibrdtnd: added openssl compatibility + +This patch adds compatibility with openssl 1.1.0 to ibrdtnd. + +Upstream: https://github.com/ibrdtn/ibrdtn/pull/265 + +Signed-off-by: Eneas U de Queiroz +Signed-off-by: Matthew Weber +--- + src/security/exchange/DHProtocol.cpp | 36 ++++++++++--- + src/security/exchange/Makefile.am | 2 + + src/security/exchange/openssl_compat.cpp | 62 ++++++++++++++++++++++ + src/security/exchange/openssl_compat.h | 13 +++++ + 4 files changed, 107 insertions(+), 6 deletions(-) + create mode 100644 src/security/exchange/openssl_compat.cpp + create mode 100644 src/security/exchange/openssl_compat.h + +diff --git a/src/security/exchange/DHProtocol.cpp b/src/security/exchange/DHProtocol.cpp +index e94c502..3e0ad71 100644 +--- a/src/security/exchange/DHProtocol.cpp ++++ b/src/security/exchange/DHProtocol.cpp +@@ -30,6 +30,7 @@ + + #include + #include ++#include "openssl_compat.h" + + #define DH_KEY_LENGTH 1024 + +@@ -132,6 +133,7 @@ namespace dtn + + void DHProtocol::begin(KeyExchangeSession &session, KeyExchangeData &data) + { ++ const BIGNUM *pub_key, *p, *g; + // get session state + DHState &state = session.getState(); + +@@ -159,9 +161,12 @@ namespace dtn + // prepare request + KeyExchangeData request(KeyExchangeData::REQUEST, session); + +- write(request, state.dh->pub_key); +- write(request, state.dh->p); +- write(request, state.dh->g); ++ DH_get0_pqg(state.dh, &p, NULL, &g); ++ DH_get0_key(state.dh, &pub_key, NULL); ++ ++ write(request, pub_key); ++ write(request, p); ++ write(request, g); + + manager.submit(session, request); + } +@@ -177,6 +182,15 @@ namespace dtn + { + if (data.getAction() == KeyExchangeData::REQUEST) + { ++ BIGNUM *p = BN_new(); ++ BIGNUM *g = BN_new(); ++ if (p == NULL || g == NULL) ++ { ++ BN_free(p); ++ BN_free(g); ++ throw ibrcommon::Exception("Error while allocating space for DH parameters"); ++ } ++ + BIGNUM* pub_key = BN_new(); + read(data, &pub_key); + +@@ -184,8 +198,16 @@ namespace dtn + state.dh = DH_new(); + + // read p and g paramter from message +- read(data, &state.dh->p); +- read(data, &state.dh->g); ++ read(data, &p); ++ read(data, &g); ++ ++ if (DH_set0_pqg(state.dh, p, NULL, g)) ++ { ++ BN_free(p); ++ BN_free(g); ++ BN_free(pub_key); ++ throw ibrcommon::Exception("Error while setting DH parameters"); ++ } + + int codes; + if (!DH_check(state.dh, &codes)) +@@ -213,7 +235,9 @@ namespace dtn + state.secret.assign((const char*)secret, length); + + KeyExchangeData response(KeyExchangeData::RESPONSE, session); +- write(response, state.dh->pub_key); ++ const BIGNUM *state_dh_pub_key; ++ DH_get0_key(state.dh, &state_dh_pub_key, NULL); ++ write(response, state_dh_pub_key); + + manager.submit(session, response); + +diff --git a/src/security/exchange/Makefile.am b/src/security/exchange/Makefile.am +index a6b2f83..71ed836 100644 +--- a/src/security/exchange/Makefile.am ++++ b/src/security/exchange/Makefile.am +@@ -22,6 +22,8 @@ exchange_SOURCES += \ + NFCProtocol.cpp \ + NoneProtocol.h \ + NoneProtocol.cpp \ ++ openssl_compat.h \ ++ openssl_compat.cpp \ + QRCodeProtocol.h \ + QRCodeProtocol.cpp + +diff --git a/src/security/exchange/openssl_compat.cpp b/src/security/exchange/openssl_compat.cpp +new file mode 100644 +index 0000000..e3baba0 +--- /dev/null ++++ b/src/security/exchange/openssl_compat.cpp +@@ -0,0 +1,62 @@ ++/* ++ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. ++ * ++ * Licensed under the OpenSSL license (the "License"). You may not use ++ * this file except in compliance with the License. You can obtain a copy ++ * in the file LICENSE in the source distribution or at ++ * https://www.openssl.org/source/license.html ++ */ ++ ++#include "openssl_compat.h" ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++void DH_get0_pqg(const DH *dh, ++ const BIGNUM **p, const BIGNUM **q, const BIGNUM **g) ++{ ++ if (p != NULL) ++ *p = dh->p; ++ if (q != NULL) ++ *q = dh->q; ++ if (g != NULL) ++ *g = dh->g; ++} ++ ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free(dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free(dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits(q); ++ } ++ ++ return 1; ++} ++ ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++#endif /* OPENSSL_VERSION_NUMBER */ +diff --git a/src/security/exchange/openssl_compat.h b/src/security/exchange/openssl_compat.h +new file mode 100644 +index 0000000..29e7d41 +--- /dev/null ++++ b/src/security/exchange/openssl_compat.h +@@ -0,0 +1,13 @@ ++#ifndef LIBCRYPTO_COMPAT_H ++#define LIBCRYPTO_COMPAT_H ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++ ++void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g); ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); ++ ++#endif /* OPENSSL_VERSION_NUMBER */ ++#endif /* LIBCRYPTO_COMPAT_H */ +-- +1.9.1 + diff --git a/bsp/buildroot/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch b/bsp/buildroot/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch new file mode 100644 index 00000000..e681936e --- /dev/null +++ b/bsp/buildroot/package/ibrdtnd/0002-SecurityCertificateManager.cpp-include-cstring-267.patch @@ -0,0 +1,29 @@ +From 9458a8627ed73600488a6d8a0ce2ce1d123da583 Mon Sep 17 00:00:00 2001 +From: bkuhls +Date: Sun, 19 Aug 2018 11:23:48 +0200 +Subject: [PATCH] SecurityCertificateManager.cpp: include cstring (#267) + +Fixes build with gcc-8.2.0. + +Upstream: https://github.com/ibrdtn/ibrdtn/commit/122fa8ed49f896abf6a389505f3d0b66d49d1e77 + +Signed-off-by: Matthew Weber +--- + src/security/SecurityCertificateManager.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/security/SecurityCertificateManager.cpp b/src/security/SecurityCertificateManager.cpp +index 5fba703..f2bbb01 100644 +--- a/src/security/SecurityCertificateManager.cpp ++++ b/src/security/SecurityCertificateManager.cpp +@@ -22,6 +22,7 @@ + #include "security/SecurityCertificateManager.h" + #include "Configuration.h" + ++#include + #include + + #include +-- +1.9.1 + diff --git a/bsp/buildroot/package/icu/0003-detect-compiler-symbol-prefix.patch b/bsp/buildroot/package/icu/0003-detect-compiler-symbol-prefix.patch deleted file mode 100644 index 1e953750..00000000 --- a/bsp/buildroot/package/icu/0003-detect-compiler-symbol-prefix.patch +++ /dev/null @@ -1,116 +0,0 @@ -detect and add compiler symbol prefix to the assembly code - -Some compiler, such as Blackfin GNU compiler, prefix a charater to any -C symbol in generated assembly code. If any assembly symbol is invoked -from C code, it needs to be prefixed as well. - -Note: since autoreconf doesn't work with this package because automake -isn't support - -[Ryan: add information about why patching configure is ok] -[Gustavo: update for ICU4C 54.1] - -Signed-off-by: Sonic Zhang -Signed-off-by: Ryan Barnett -Signed-off-by: Gustavo Zacarias - -diff -Nura icu.orig/source/configure icu/source/configure ---- icu.orig/source/configure 2014-12-18 15:49:43.038628644 -0300 -+++ icu/source/configure 2014-12-18 15:56:05.793832186 -0300 -@@ -637,6 +637,7 @@ - ICUDATA_CHAR - SAMPLES_TRUE - TESTS_TRUE -+SYMBOL_PREFIX - ICULIBSUFFIXCNAME - U_HAVE_LIB_SUFFIX - ICULIBSUFFIX -@@ -7414,6 +7415,17 @@ - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHECK_UTF16_STRING_RESULT" >&5 - $as_echo "$CHECK_UTF16_STRING_RESULT" >&6; } - -+# Check compiler generated symbol profix -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for symbol prefix" >&5 -+$as_echo "checking for symbol prefix... " >&6; } -+ SYMBOL_PREFIX=`echo "PREFIX=__USER_LABEL_PREFIX__" \ -+ | ${CPP-${CC-gcc} -E} - 2>&1 \ -+ | ${EGREP-grep} "^PREFIX=" \ -+ | sed -e "s:^PREFIX=::" -e "s:__USER_LABEL_PREFIX__::"` -+ -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SYMBOL_PREFIX" >&5 -+$as_echo "$SYMBOL_PREFIX" >&6; } -+ - # Enable/disable extras - # Check whether --enable-extras was given. - if test "${enable_extras+set}" = set; then : -diff -Nura icu.orig/source/data/Makefile.in icu/source/data/Makefile.in ---- icu.orig/source/data/Makefile.in 2014-12-18 15:49:42.908624160 -0300 -+++ icu/source/data/Makefile.in 2014-12-18 16:01:32.751110913 -0300 -@@ -182,11 +182,11 @@ - packagedata: icupkg.inc $(PKGDATA_LIST) build-local - ifneq ($(ENABLE_STATIC),) - ifeq ($(PKGDATA_MODE),dll) -- $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) -+ $(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) -m static $(PKGDATA_VERSIONING) $(PKGDATA_LIST) - endif - endif - ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) -- $(PKGDATA_INVOKE) $(PKGDATA) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -+ $(PKGDATA_INVOKE) $(PKGDATA) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -p $(ICUDATA_NAME) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) - else - $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(OUTDIR) - endif -@@ -209,11 +209,11 @@ - endif - ifneq ($(ENABLE_STATIC),) - ifeq ($(PKGDATA_MODE),dll) -- $(PKGDATA_INVOKE) $(PKGDATA) -m static -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR) -+ $(PKGDATA_INVOKE) $(PKGDATA) -m static -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBSTATICNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_LIBDIR) - endif - endif - ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES) -- $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e $(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) -+ $(PKGDATA_INVOKE) $(PKGDATA) -m $(PKGDATA_MODE) $(PKGDATA_VERSIONING) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) -T $(OUTTMPDIR) -s $(BUILDDIR) -p $(ICUDATA_NAME) $(PKGDATA_LIBNAME) $(PKGDATA_LIST) -I $(ICUPKGDATA_INSTALL_DIR) - else - $(INSTALL_DATA) $(ICUDATA_SOURCE_ARCHIVE) $(DESTDIR)$(ICUPKGDATA_DIR) - endif -@@ -224,7 +224,7 @@ - #### 390 support - install390: package390 - $(MKINSTALLDIRS) $(TMPDATADIR) $(DESTDIR)$(libdir) -- $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) -+ $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -I $(DESTDIR)$(ICUPKGDATA_DIR) - ifeq ($(PKGDATA_MODE),dll) - $(INSTALL-L) $(ICUPKGDATA_OUTDIR)/$(FINAL_IMPORT_LIB) $(DESTDIR)$(ICUPKGDATA_DIR)/$(FINAL_IMPORT_LIB) - endif -@@ -232,7 +232,7 @@ - #### $(LIB_ICUDATA_NAME)$(STUB_SUFFIX) is the subset data for batch mode - package390: $(OUTTMPDIR)/icudata390.lst $(PKGDATA_LIST) ./icupkg.inc packagedata - ln -s $(ICUDATA_NAME) $(OUTDIR)/build/$(ICUDATA_NAME)$(STUB_SUFFIX) -- $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e $(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) -+ $(INVOKE) $(PKGDATA) -s $(BUILDDIR)$(STUB_SUFFIX) -T $(OUTTMPDIR_390STUB) -p $(ICUDATA_NAME)$(STUB_SUFFIX) $(PKGDATA_LIBNAME)$(STUB_SUFFIX) -e @SYMBOL_PREFIX@$(ICUDATA_ENTRY_POINT) $(OS390LIST) -m dll $(PKGDATA_VERSIONING) - cp $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) $(top_builddir)/stubdata/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) - - -diff -Nura icu.orig/source/extra/uconv/Makefile.in icu/source/extra/uconv/Makefile.in ---- icu.orig/source/extra/uconv/Makefile.in 2014-12-18 15:49:42.986626850 -0300 -+++ icu/source/extra/uconv/Makefile.in 2014-12-18 15:57:40.558101179 -0300 -@@ -58,7 +58,8 @@ - ## Static mode - ifeq ($(UCONVMSG_MODE),static) - DEFS += -DUCONVMSG_LINK=$(MSGNAME) --UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)$(MSGNAME).$(A) -+UCONVMSG_LIB = $(RESDIR)/$(LIBPREFIX)$(STATIC_PREFIX_WHEN_USED)@SYMBOL_PREFIX@$(MSGNAME).$(A) -+ - LIBS += $(UCONVMSG_LIB) - PKGMODE=static - INSTALLTO=$(libdir) -@@ -152,7 +153,7 @@ - endif - - $(UCONVMSG_LIB): $(RESFILES) $(RESDIR)/$(RESDIR).lst pkgdata.inc -- $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p $(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst -+ $(INVOKE) $(PKGDATA_INVOKE_OPTS) $(TOOLBINDIR)/pkgdata -p @SYMBOL_PREFIX@$(MSGNAME) $(PKGDATA_OPTS) -m $(PKGMODE) -s $(RESDIR) -d $(RESDIR) -T $(RESDIR) $(RESDIR)/$(RESDIR).lst - - $(RESDIR)/$(RESDIR).lst: Makefile $(srcdir)/resfiles.mk - @-$(RMV) $@ diff --git a/bsp/buildroot/package/icu/0004-link-icudata-as-data-only.patch b/bsp/buildroot/package/icu/0003-link-icudata-as-data-only.patch similarity index 100% rename from bsp/buildroot/package/icu/0004-link-icudata-as-data-only.patch rename to bsp/buildroot/package/icu/0003-link-icudata-as-data-only.patch diff --git a/bsp/buildroot/package/icu/0005-fix-static-linking-with-icu-uc.patch b/bsp/buildroot/package/icu/0004-fix-static-linking-with-icu-uc.patch similarity index 100% rename from bsp/buildroot/package/icu/0005-fix-static-linking-with-icu-uc.patch rename to bsp/buildroot/package/icu/0004-fix-static-linking-with-icu-uc.patch diff --git a/bsp/buildroot/package/icu/icu.hash b/bsp/buildroot/package/icu/icu.hash index 8b54e224..66a0a8dc 100644 --- a/bsp/buildroot/package/icu/icu.hash +++ b/bsp/buildroot/package/icu/icu.hash @@ -1,3 +1,3 @@ -# From http://download.icu-project.org/files/icu4c/60.1/SHASUM512.txt -sha512 a6798f70add1b3bac2197a49e09a0bb636279af7019ce572f63a30ab713e09657ee9d9b20aac7ea806fbb84667ca2eca981411e5053b47c3c705aa496a669233 icu4c-60_1-src.tgz +# From http://download.icu-project.org/files/icu4c/60.2/SHASUM512.txt +sha512 8e718e66c13e7f25714404c46b91ed6305efff1df70c328be2ec743023a7719016dae72a5fa0a05d6f5599983590a2044ff72d3453a048d987ab546d0416d694 icu4c-60_2-src.tgz sha256 24c771ce37201a3ab604852e47d10d21595d0493269dd6c8a5e567e998e18c00 LICENSE diff --git a/bsp/buildroot/package/icu/icu.mk b/bsp/buildroot/package/icu/icu.mk index 6ac4a253..a9466c83 100644 --- a/bsp/buildroot/package/icu/icu.mk +++ b/bsp/buildroot/package/icu/icu.mk @@ -4,7 +4,7 @@ # ################################################################################ -ICU_VERSION = 60.1 +ICU_VERSION = 60.2 ICU_SOURCE = icu4c-$(subst .,_,$(ICU_VERSION))-src.tgz ICU_SITE = http://download.icu-project.org/files/icu4c/$(ICU_VERSION) ICU_LICENSE = ICU License diff --git a/bsp/buildroot/package/ifenslave/ifenslave.mk b/bsp/buildroot/package/ifenslave/ifenslave.mk index 4030d22e..b51aa720 100644 --- a/bsp/buildroot/package/ifenslave/ifenslave.mk +++ b/bsp/buildroot/package/ifenslave/ifenslave.mk @@ -9,7 +9,6 @@ IFENSLAVE_SOURCE = ifenslave_$(IFENSLAVE_VERSION).tar.xz IFENSLAVE_SITE = http://snapshot.debian.org/archive/debian/20170102T091407Z/pool/main/i/ifenslave IFENSLAVE_LICENSE = GPL-3.0+ IFENSLAVE_LICENSE_FILES = debian/copyright -IFENSLAVE_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) # shell script, so nothing to build diff --git a/bsp/buildroot/package/ifplugd/ifplugd.mk b/bsp/buildroot/package/ifplugd/ifplugd.mk index b5693209..c7874b49 100644 --- a/bsp/buildroot/package/ifplugd/ifplugd.mk +++ b/bsp/buildroot/package/ifplugd/ifplugd.mk @@ -15,11 +15,6 @@ IFPLUGD_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec IFPLUGD_CONF_OPTS = --disable-lynx --with-initdir=/etc/init.d/ IFPLUGD_DEPENDENCIES = libdaemon -# Prefer big ifplugd -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -IFPLUGD_DEPENDENCIES += busybox -endif - define IFPLUGD_INSTALL_FIXUP $(INSTALL) -D -m 0644 $(@D)/conf/ifplugd.conf $(TARGET_DIR)/etc/ifplugd/ifplugd.conf; \ $(SED) 's^\(ARGS=.*\)w^\1^' $(TARGET_DIR)/etc/ifplugd/ifplugd.conf; \ diff --git a/bsp/buildroot/package/ifupdown-scripts/S40network b/bsp/buildroot/package/ifupdown-scripts/S40network old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/ifupdown-scripts/ifupdown-scripts.mk b/bsp/buildroot/package/ifupdown-scripts/ifupdown-scripts.mk index ebc89b38..17364aed 100644 --- a/bsp/buildroot/package/ifupdown-scripts/ifupdown-scripts.mk +++ b/bsp/buildroot/package/ifupdown-scripts/ifupdown-scripts.mk @@ -23,6 +23,7 @@ define IFUPDOWN_SCRIPTS_DHCP echo "iface $(IFUPDOWN_SCRIPTS_DHCP_IFACE) inet dhcp"; \ echo " pre-up /etc/network/nfs_check"; \ echo " wait-delay 15"; \ + echo " hostname \$$(hostname)"; \ ) >> $(TARGET_DIR)/etc/network/interfaces $(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \ $(TARGET_DIR)/etc/network/nfs_check diff --git a/bsp/buildroot/package/ifupdown/ifupdown.mk b/bsp/buildroot/package/ifupdown/ifupdown.mk index dfc3f3cc..84d24aed 100644 --- a/bsp/buildroot/package/ifupdown/ifupdown.mk +++ b/bsp/buildroot/package/ifupdown/ifupdown.mk @@ -7,7 +7,6 @@ IFUPDOWN_VERSION = 0.8.16 IFUPDOWN_SOURCE = ifupdown_$(IFUPDOWN_VERSION).tar.xz IFUPDOWN_SITE = http://snapshot.debian.org/archive/debian/20160922T165503Z/pool/main/i/ifupdown -IFUPDOWN_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) IFUPDOWN_LICENSE = GPL-2.0+ IFUPDOWN_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/igmpproxy/igmpproxy.hash b/bsp/buildroot/package/igmpproxy/igmpproxy.hash index 313af52f..2566987a 100644 --- a/bsp/buildroot/package/igmpproxy/igmpproxy.hash +++ b/bsp/buildroot/package/igmpproxy/igmpproxy.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 e60331031f85d1fb834c5272a134f32d32e7834718da19ba3f787dff68389a31 igmpproxy-f47644d8fa7266a784f3ec7b251e7d318bc2f0a9.tar.gz +sha256 6faa1f42ba323f60a9eb4958550e25b2e7e9c645da32c52ba12db0c9bdfce1ba igmpproxy-0.2.1.tar.gz sha256 be3d05af93dbbc4650f8d641d8e1bec220af4a729e07ba71e949c25b93a1b4f6 COPYING sha256 c4f65d5d396ad518a37d30b83fe33897661858dc174ff64a15d0461630ce64e4 GPL.txt sha256 4328a21f0822caa9976356623118bcdcc9970c7a0f9a3deeba23c779b7cfb5d1 Stanford.txt diff --git a/bsp/buildroot/package/igmpproxy/igmpproxy.mk b/bsp/buildroot/package/igmpproxy/igmpproxy.mk index 9c19f76f..fe4614fd 100644 --- a/bsp/buildroot/package/igmpproxy/igmpproxy.mk +++ b/bsp/buildroot/package/igmpproxy/igmpproxy.mk @@ -4,7 +4,7 @@ # ################################################################################ -IGMPPROXY_VERSION = f47644d8fa7266a784f3ec7b251e7d318bc2f0a9 +IGMPPROXY_VERSION = 0.2.1 IGMPPROXY_SITE = $(call github,pali,igmpproxy,$(IGMPPROXY_VERSION)) IGMPPROXY_AUTORECONF = YES IGMPPROXY_LICENSE = GPL-2.0+, BSD-3-Clause (mrouted) diff --git a/bsp/buildroot/package/imagemagick/Config.in b/bsp/buildroot/package/imagemagick/Config.in index 4bd81dbd..8b795d89 100644 --- a/bsp/buildroot/package/imagemagick/Config.in +++ b/bsp/buildroot/package/imagemagick/Config.in @@ -9,8 +9,8 @@ config BR2_PACKAGE_IMAGEMAGICK JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various - special effects, or draw text, - lines, polygons, ellipses and Bézier curves. + special effects, or draw text, lines, polygons, ellipses and + Bézier curves. http://www.imagemagick.org/ diff --git a/bsp/buildroot/package/imagemagick/imagemagick.mk b/bsp/buildroot/package/imagemagick/imagemagick.mk index b75d6537..76789805 100644 --- a/bsp/buildroot/package/imagemagick/imagemagick.mk +++ b/bsp/buildroot/package/imagemagick/imagemagick.mk @@ -113,11 +113,11 @@ else IMAGEMAGICK_CONF_OPTS += --without-lzma endif -ifeq ($(BR2_PACKAGE_FFTW),y) +ifeq ($(BR2_PACKAGE_FFTW_DOUBLE),y) # configure script misdetects these leading to build errors IMAGEMAGICK_CONF_ENV += ac_cv_func_creal=yes ac_cv_func_cimag=yes IMAGEMAGICK_CONF_OPTS += --with-fftw -IMAGEMAGICK_DEPENDENCIES += fftw +IMAGEMAGICK_DEPENDENCIES += fftw-double else IMAGEMAGICK_CONF_OPTS += --without-fftw endif @@ -143,4 +143,41 @@ else IMAGEMAGICK_CONF_OPTS += --without-bzlib endif +HOST_IMAGEMAGICK_CONF_OPTS = \ + --disable-openmp \ + --without-djvu \ + --without-dps \ + --without-flif \ + --without-fpx \ + --without-gslib \ + --without-gvc \ + --without-jbig \ + --without-lqr \ + --without-openexr \ + --without-perl \ + --without-raqm \ + --without-wmf \ + --without-x \ + --without-bzlib \ + --without-fftw \ + --without-fontconfig \ + --without-freetype \ + --without-lcms \ + --without-lzma \ + --without-pango \ + --without-rsvg \ + --without-tiff \ + --without-webp \ + --without-xml \ + --with-jpeg \ + --with-png \ + --with-zlib + +HOST_IMAGEMAGICK_DEPENDENCIES = \ + host-libjpeg \ + host-libpng \ + host-pkgconf \ + host-zlib + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/imlib2/imlib2.hash b/bsp/buildroot/package/imlib2/imlib2.hash index 62ebac32..c52ce9d2 100644 --- a/bsp/buildroot/package/imlib2/imlib2.hash +++ b/bsp/buildroot/package/imlib2/imlib2.hash @@ -1,7 +1,8 @@ -# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.4.10/ -md5 a0de8524592bbd9f24fcc6cb8352137c imlib2-1.4.10.tar.bz2 -sha1 664df65c6265a2825d685d2f3a4f0d072eb626ac imlib2-1.4.10.tar.bz2 +# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.5.1/ +md5 390aa207693e051bb692f2db650c694b imlib2-1.5.1.tar.bz2 +sha1 3e97e7157380f0cfbdf4f3c950a7a00bdfa6072c imlib2-1.5.1.tar.bz2 # Locally computed +sha256 fa4e57452b8843f4a70f70fd435c746ae2ace813250f8c65f977db5d7914baae imlib2-1.5.1.tar.bz2 sha256 fb70339dd33a77b6213c7ae067fccf93d04af44ff3f937c61f8863f7970e73f6 COPYING sha256 8c9a2e92ed4937e2d30c2ea95439c36ed3002fc47e34efee43455a460fee8ef5 COPYING-PLAIN diff --git a/bsp/buildroot/package/imlib2/imlib2.mk b/bsp/buildroot/package/imlib2/imlib2.mk index 21a96cb1..1c2e924d 100644 --- a/bsp/buildroot/package/imlib2/imlib2.mk +++ b/bsp/buildroot/package/imlib2/imlib2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMLIB2_VERSION = 1.4.10 +IMLIB2_VERSION = 1.5.1 IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2 IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION) IMLIB2_LICENSE = Imlib2 diff --git a/bsp/buildroot/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch b/bsp/buildroot/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch new file mode 100644 index 00000000..430122f7 --- /dev/null +++ b/bsp/buildroot/package/imx-mkimage/0001-add-support-for-overriding-bl32-and-bl33-not-only-bl.patch @@ -0,0 +1,58 @@ +From 0677e6cff00506de56d11bfa230b6c366e74f6ed Mon Sep 17 00:00:00 2001 +From: Erik Larsson +Date: Thu, 8 Mar 2018 19:04:37 +0100 +Subject: [PATCH] Add support for overriding BL32 and BL33 not only BL31 + +Signed-off-by: Erik Larsson +Signed-off-by: Christopher Dahlberg +Signed-off-by: Marcus Folkesson +--- + iMX8M/mkimage_fit_atf.sh | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +diff --git a/iMX8M/mkimage_fit_atf.sh b/iMX8M/mkimage_fit_atf.sh +index 3a3bd10..727f746 100755 +--- a/iMX8M/mkimage_fit_atf.sh ++++ b/iMX8M/mkimage_fit_atf.sh +@@ -11,29 +11,29 @@ if [ ! -f $BL31 ]; then + echo "ERROR: BL31 file $BL31 NOT found" >&2 + exit 0 + else +- echo "bl31.bin size: " >&2 +- ls -lct bl31.bin | awk '{print $5}' >&2 ++ echo "$BL31 size: " >&2 ++ ls -lct $BL31 | awk '{print $5}' >&2 + fi + +-BL32="tee.bin" ++[ -z "$BL32" ] && BL32="tee.bin" + + if [ ! -f $BL32 ]; then + BL32=/dev/null + else +- echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete tee.bin" >&2 +- echo "tee.bin size: " >&2 +- ls -lct tee.bin | awk '{print $5}' >&2 ++ echo "Building with TEE support, make sure your bl31 is compiled with spd. If you do not want tee, please delete $BL32" >&2 ++ echo "$BL32 size: " >&2 ++ ls -lct $BL32 | awk '{print $5}' >&2 + fi + +-BL33="u-boot-nodtb.bin" ++[ -z "$BL33" ] && BL33="u-boot-nodtb.bin" + + if [ ! -f $BL33 ]; then + echo "ERROR: $BL33 file NOT found" >&2 + exit 0 + else + +- echo "u-boot-nodtb.bin size: " >&2 +- ls -lct u-boot-nodtb.bin | awk '{print $5}' >&2 ++ echo "$BL33: " >&2 ++ ls -lct $BL33 | awk '{print $5}' >&2 + fi + + for dtname in $* +-- +2.7.4 + diff --git a/bsp/buildroot/package/imx-mkimage/0002-add-ldflags-to-link-step.patch b/bsp/buildroot/package/imx-mkimage/0002-add-ldflags-to-link-step.patch new file mode 100644 index 00000000..1d5fe775 --- /dev/null +++ b/bsp/buildroot/package/imx-mkimage/0002-add-ldflags-to-link-step.patch @@ -0,0 +1,26 @@ +From a73f20fbe921c7ecff3efda23bc506fdd935ee4d Mon Sep 17 00:00:00 2001 +From: Erik Larsson +Date: Tue, 6 Mar 2018 12:28:39 +0100 +Subject: [PATCH] Add LDFLAGS to link step + +Signed-off-by: Erik Larsson +--- + iMX8M/soc.mak | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/iMX8M/soc.mak b/iMX8M/soc.mak +index 8346769..38a14bb 100644 +--- a/iMX8M/soc.mak ++++ b/iMX8M/soc.mak +@@ -15,7 +15,7 @@ FW_DIR = imx-boot/imx-boot-tools/imx8mq + + $(MKIMG): mkimage_imx8.c + @echo "Compiling mkimage_imx8" +- $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) -lz ++ $(CC) $(CFLAGS) mkimage_imx8.c -o $(MKIMG) $(LDFLAGS) -lz + + $(DCD_CFG): $(DCD_CFG_SRC) + @echo "Converting iMX8M DCD file" +-- +2.7.4 + diff --git a/bsp/buildroot/package/imx-mkimage/Config.in.host b/bsp/buildroot/package/imx-mkimage/Config.in.host new file mode 100644 index 00000000..8d273557 --- /dev/null +++ b/bsp/buildroot/package/imx-mkimage/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_IMX_MKIMAGE + bool "host imx-mkimage" + help + imx-mkimage is used to combine input images and generate + final boot image with appropriate IVT set. + + https://source.codeaurora.org/external/imx/imx-mkimage diff --git a/bsp/buildroot/package/imx-mkimage/imx-mkimage.hash b/bsp/buildroot/package/imx-mkimage/imx-mkimage.hash new file mode 100644 index 00000000..e1cbdd97 --- /dev/null +++ b/bsp/buildroot/package/imx-mkimage/imx-mkimage.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 bc79e11cfbde303e200287fa6624028c8ce5344f8a35ed179b3fe217d74155da imx-mkimage-rel_imx_4.9.51_8mq_ga.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c iMX8dv/COPYING diff --git a/bsp/buildroot/package/imx-mkimage/imx-mkimage.mk b/bsp/buildroot/package/imx-mkimage/imx-mkimage.mk new file mode 100644 index 00000000..6fd6aa39 --- /dev/null +++ b/bsp/buildroot/package/imx-mkimage/imx-mkimage.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# imx-mkimage +# +################################################################################ + +IMX_MKIMAGE_VERSION = rel_imx_4.9.51_8mq_ga +IMX_MKIMAGE_SITE = https://source.codeaurora.org/external/imx/imx-mkimage +IMX_MKIMAGE_SITE_METHOD = git +IMX_MKIMAGE_LICENSE = GPL-2.0+ +IMX_MKIMAGE_LICENSE_FILES = iMX8dv/COPYING +HOST_IMX_MKIMAGE_DEPENDENCIES = host-zlib + +define HOST_IMX_MKIMAGE_BUILD_CMDS + # Currently this only supports iMX8M. When more hardware is available + # this needs to be selectable based on iMX8-version (iMX8M,iMXQ etc). + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D)/iMX8M -f soc.mak mkimage_imx8 +endef + +define HOST_IMX_MKIMAGE_INSTALL_CMDS + $(INSTALL) -D -m 755 $(@D)/iMX8M/mkimage_imx8 $(HOST_DIR)/bin/mkimage_imx8 + $(INSTALL) -D -m 755 $(@D)/iMX8M/mkimage_fit_atf.sh $(HOST_DIR)/bin/mkimage_fit_atf.sh +endef + +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/imx-usb-loader/Config.in b/bsp/buildroot/package/imx-usb-loader/Config.in new file mode 100644 index 00000000..1cc0dd8c --- /dev/null +++ b/bsp/buildroot/package/imx-usb-loader/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_IMX_USB_LOADER + bool "imx-usb-loader" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + help + This package contains tools to download and execute code + on Freescale i.MX5/i.MX6 and Vybrid SoCs through the + Serial Download Protocol. + + https://github.com/boundarydevices/imx_usb_loader + +comment "imx-usb-loader needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/imx-usb-loader/Config.in.host b/bsp/buildroot/package/imx-usb-loader/Config.in.host index a4a0f885..04bd4cc0 100644 --- a/bsp/buildroot/package/imx-usb-loader/Config.in.host +++ b/bsp/buildroot/package/imx-usb-loader/Config.in.host @@ -1,9 +1,9 @@ config BR2_PACKAGE_HOST_IMX_USB_LOADER bool "host imx-usb-loader" - depends on BR2_arm + depends on BR2_arm || BR2_aarch64 help This package contains tools to download and execute code - on Freescale i.MX5/i.MX6 and Vybrid SoCs through the + on Freescale i.MX5x/6x/7x/8x and Vybrid SoCs through the Serial Download Protocol. https://github.com/boundarydevices/imx_usb_loader diff --git a/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.hash b/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.hash index e246ff85..149be676 100644 --- a/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.hash +++ b/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.hash @@ -1,2 +1,2 @@ # locally computed -sha256 717b64cec31f7e1167d4a31e4f511eea97ab80039dd435b7b183c6f41352213a imx-usb-loader-7e77787c83288a421080a9bf2f67063931f561be.tar.gz +sha256 5a17886042c09f0f16093031183a287a2a7ae0fa9cd8bdfa31e7b31cb92510d9 imx-usb-loader-4aa9809099dcece9a9225776321f3b4b5b896d78.tar.gz diff --git a/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.mk b/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.mk index 946a1f3d..594bbb9c 100644 --- a/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.mk +++ b/bsp/buildroot/package/imx-usb-loader/imx-usb-loader.mk @@ -4,18 +4,29 @@ # ################################################################################ -IMX_USB_LOADER_VERSION = 7e77787c83288a421080a9bf2f67063931f561be +IMX_USB_LOADER_VERSION = 4aa9809099dcece9a9225776321f3b4b5b896d78 + IMX_USB_LOADER_SITE = $(call github,boundarydevices,imx_usb_loader,$(IMX_USB_LOADER_VERSION)) IMX_USB_LOADER_LICENSE = LGPL-2.1+ IMX_USB_LOADER_LICENSE_FILES = COPYING +IMX_USB_LOADER_DEPENDENCIES = libusb host-pkgconf HOST_IMX_USB_LOADER_DEPENDENCIES = host-libusb host-pkgconf +define IMX_USB_LOADER_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + define HOST_IMX_USB_LOADER_BUILD_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef +define IMX_USB_LOADER_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) prefix=$(TARGET_DIR)/usr install +endef + define HOST_IMX_USB_LOADER_INSTALL_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) prefix=$(HOST_DIR) install endef +$(eval $(generic-package)) $(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/inadyn/inadyn.hash b/bsp/buildroot/package/inadyn/inadyn.hash index c6c062ce..2691ba0e 100644 --- a/bsp/buildroot/package/inadyn/inadyn.hash +++ b/bsp/buildroot/package/inadyn/inadyn.hash @@ -1,5 +1,5 @@ -# From https://github.com/troglobit/inadyn/releases/download/v2.2.1/inadyn-2.2.1.tar.xz.md5 -md5 8f7796ee45b2a2e282a54a2d31d03953 inadyn-2.2.1.tar.xz +# From https://github.com/troglobit/inadyn/releases/download/v2.5/inadyn-2.5.tar.xz.md5 +md5 8a864d5186e54d24de2d7554fc01b3ec inadyn-2.5.tar.xz # Locally computed -sha256 e7a74fcf8b7c069990940c0dc4d4d18071005be225667fdfcfa4156c44384579 inadyn-2.2.1.tar.xz +sha256 4a9ad208671f62912428413da0282450b2d2c4da38f3c95c4ac975d048c41fcd inadyn-2.5.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/inadyn/inadyn.mk b/bsp/buildroot/package/inadyn/inadyn.mk index 5eac3b5c..96a37d47 100644 --- a/bsp/buildroot/package/inadyn/inadyn.mk +++ b/bsp/buildroot/package/inadyn/inadyn.mk @@ -4,7 +4,7 @@ # ################################################################################ -INADYN_VERSION = 2.2.1 +INADYN_VERSION = 2.5 INADYN_SITE = https://github.com/troglobit/inadyn/releases/download/v$(INADYN_VERSION) INADYN_SOURCE = inadyn-$(INADYN_VERSION).tar.xz INADYN_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/inotify-tools/0001-gcc6.patch b/bsp/buildroot/package/inotify-tools/0001-gcc6.patch deleted file mode 100644 index aae622eb..00000000 --- a/bsp/buildroot/package/inotify-tools/0001-gcc6.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 5fe3ba82134d8b85adc69cf1d6c5742b4bde20b4 Mon Sep 17 00:00:00 2001 -From: James Knight -Date: Thu, 16 Jun 2016 00:00:57 -0400 -Subject: [PATCH] correct code alignment -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The following replaces the indented section of code from spaces to tabs. -No functional changes. Aside from consistency, this resolves a GCC 6 -build issue with the flag `-Werror=misleading-indentation` enabled: - - inotifywait.c: In function ‘output_event_csv’: - inotifywait.c:126:5: error: this ‘if’ clause does not guard... - [-Werror=misleading-indentation] - if (filename != NULL) - ^~ - inotifywait.c:129:2: note: ...this statement, but the latter is - misleadingly indented as if it is guarded - by the ‘if’ - printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) - ) ); - ^~~~~~ - -Signed-off-by: James Knight -Signed-off-by: Bernd Kuhls -(downloaded from upstream pull request - https://github.com/rvoicilas/inotify-tools/pull/65) ---- - src/inotifywait.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/inotifywait.c b/src/inotifywait.c -index c5ce5e3..404a85b 100644 ---- a/src/inotifywait.c -+++ b/src/inotifywait.c -@@ -122,9 +122,9 @@ void validate_format( char * fmt ) { - - - void output_event_csv( struct inotify_event * event ) { -- char *filename = csv_escape(inotifytools_filename_from_wd(event->wd)); -- if (filename != NULL) -- printf("%s,", filename); -+ char *filename = csv_escape(inotifytools_filename_from_wd(event->wd)); -+ if (filename != NULL) -+ printf("%s,", filename); - - printf("%s,", csv_escape( inotifytools_event_to_str( event->mask ) ) ); - if ( event->len > 0 ) diff --git a/bsp/buildroot/package/inotify-tools/inotify-tools.hash b/bsp/buildroot/package/inotify-tools/inotify-tools.hash index 0993dc44..83dc22b4 100644 --- a/bsp/buildroot/package/inotify-tools/inotify-tools.hash +++ b/bsp/buildroot/package/inotify-tools/inotify-tools.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 628b8efabb65a739dd747fe43b73b29a609b5cfa9628caa127764ed77766a6e1 inotify-tools-1df9af4d6cd0f4af4b1b19254bcf056aed4ae395.tar.gz +sha256 a433cc1dedba851078276db69b0e97f9fe41e4ba3336d2971adfca4b3a6242ac inotify-tools-3.20.1.tar.gz +sha256 e41fc126320a79ed53b5aa3386f059f7d10770856d6fd714ab80a96ce6bd09d6 COPYING diff --git a/bsp/buildroot/package/inotify-tools/inotify-tools.mk b/bsp/buildroot/package/inotify-tools/inotify-tools.mk index e8b1498e..63626307 100644 --- a/bsp/buildroot/package/inotify-tools/inotify-tools.mk +++ b/bsp/buildroot/package/inotify-tools/inotify-tools.mk @@ -4,9 +4,9 @@ # ################################################################################ -INOTIFY_TOOLS_VERSION = 1df9af4d6cd0f4af4b1b19254bcf056aed4ae395 +INOTIFY_TOOLS_VERSION = 3.20.1 INOTIFY_TOOLS_SITE = $(call github,rvoicilas,inotify-tools,$(INOTIFY_TOOLS_VERSION)) -INOTIFY_TOOLS_LICENSE = GPL +INOTIFY_TOOLS_LICENSE = GPL-2.0+ INOTIFY_TOOLS_LICENSE_FILES = COPYING INOTIFY_TOOLS_INSTALL_STAGING = YES INOTIFY_TOOLS_AUTORECONF = YES diff --git a/bsp/buildroot/package/intel-gmmlib/Config.in b/bsp/buildroot/package/intel-gmmlib/Config.in new file mode 100644 index 00000000..ef92a911 --- /dev/null +++ b/bsp/buildroot/package/intel-gmmlib/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_INTEL_GMMLIB + bool "intel-gmmlib" + depends on BR2_x86_64 + help + The Intel(R) Graphics Memory Management Library provides + device specific and buffer management for the Intel(R) + Graphics Compute Runtime for OpenCL(TM) and the Intel(R) + Media Driver for VAAPI. + + https://github.com/intel/gmmlib diff --git a/bsp/buildroot/package/intel-gmmlib/intel-gmmlib.hash b/bsp/buildroot/package/intel-gmmlib/intel-gmmlib.hash new file mode 100644 index 00000000..d54abd2a --- /dev/null +++ b/bsp/buildroot/package/intel-gmmlib/intel-gmmlib.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 7970a8ae4e16efb98f38fbbc0346eea03227fc4462a9bd8e8077277cc3430a84 intel-gmmlib-18.4.1.tar.gz +sha256 b61d639c5d84ec710ffcf5600ac92f8a4ace66670c1f9bd921f3bde671d36033 LICENSE.md diff --git a/bsp/buildroot/package/intel-gmmlib/intel-gmmlib.mk b/bsp/buildroot/package/intel-gmmlib/intel-gmmlib.mk new file mode 100644 index 00000000..4d890865 --- /dev/null +++ b/bsp/buildroot/package/intel-gmmlib/intel-gmmlib.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# intel-gmmlib +# +################################################################################ + +INTEL_GMMLIB_VERSION = 18.4.1 +INTEL_GMMLIB_SITE = https://github.com/intel/gmmlib/archive +INTEL_GMMLIB_LICENSE = MIT +INTEL_GMMLIB_LICENSE_FILES = LICENSE.md + +INTEL_GMMLIB_INSTALL_STAGING = YES +INTEL_GMMLIB_SUPPORTS_IN_SOURCE_BUILD = NO + +INTEL_GMMLIB_CONF_OPTS = -DRUN_TEST_SUITE=OFF + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/intel-microcode/intel-microcode.hash b/bsp/buildroot/package/intel-microcode/intel-microcode.hash index 999b2729..183ba5ae 100644 --- a/bsp/buildroot/package/intel-microcode/intel-microcode.hash +++ b/bsp/buildroot/package/intel-microcode/intel-microcode.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 0b381face2df1b0a829dc4fa8fa93f47f39e11b1c9c22ebd44f8614657c1e779 microcode-20180312.tgz -sha256 6d4deb65ca688d930e188bf93f78430f134097b161e6df4a2ef00728e14965e3 license.txt +sha256 46ab18699ec42eb6cc01ee1846ec4d7ca979766dee2156f92d69e2f6df548137 microcode-20180807a.tgz +sha256 c4698c6105d59fec11ad0929e77a003445c560c7706c089990030acbf10c9372 license diff --git a/bsp/buildroot/package/intel-microcode/intel-microcode.mk b/bsp/buildroot/package/intel-microcode/intel-microcode.mk index e3134b64..ed4ad628 100644 --- a/bsp/buildroot/package/intel-microcode/intel-microcode.mk +++ b/bsp/buildroot/package/intel-microcode/intel-microcode.mk @@ -4,23 +4,18 @@ # ################################################################################ -INTEL_MICROCODE_VERSION = 20180312 +INTEL_MICROCODE_VERSION = 20180807a INTEL_MICROCODE_SOURCE = microcode-$(INTEL_MICROCODE_VERSION).tgz -INTEL_MICROCODE_SITE = http://downloadmirror.intel.com/27591/eng +INTEL_MICROCODE_SITE = https://downloadmirror.intel.com/28087/eng INTEL_MICROCODE_STRIP_COMPONENTS = 0 INTEL_MICROCODE_LICENSE = PROPRIETARY -INTEL_MICROCODE_LICENSE_FILES = license.txt +INTEL_MICROCODE_LICENSE_FILES = license INTEL_MICROCODE_REDISTRIBUTE = NO -define INTEL_MICROCODE_EXTRACT_LICENSE - head -n 33 $(@D)/microcode.dat > $(@D)/license.txt -endef - -INTEL_MICROCODE_POST_EXTRACT_HOOKS += INTEL_MICROCODE_EXTRACT_LICENSE - define INTEL_MICROCODE_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0644 $(@D)/microcode.dat \ - $(TARGET_DIR)/usr/share/misc/intel-microcode.dat + mkdir -p $(TARGET_DIR)/lib/firmware/intel-ucode + $(INSTALL) -m 0644 -t $(TARGET_DIR)/lib/firmware/intel-ucode \ + $(@D)/intel-ucode/* endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/iozone/0001-targets.patch b/bsp/buildroot/package/iozone/0001-Add-new-targets-for-iozone.patch similarity index 63% rename from bsp/buildroot/package/iozone/0001-targets.patch rename to bsp/buildroot/package/iozone/0001-Add-new-targets-for-iozone.patch index 258b9609..e6bfc18d 100644 --- a/bsp/buildroot/package/iozone/0001-targets.patch +++ b/bsp/buildroot/package/iozone/0001-Add-new-targets-for-iozone.patch @@ -1,4 +1,7 @@ -Add new targets for iozone: +From 1584ffbfda3277b82997b9f1e0ef31a7061560e0 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Sun, 26 Aug 2018 18:39:06 +0200 +Subject: [PATCH] Add new targets for iozone: linux-noaio is for linux targets without AIO (use case: uClibc) linux-noth is for linux target without threads or AIO @@ -6,11 +9,16 @@ linux-noth is for linux target without threads or AIO And make largefile support optional via CFLAGS. Signed-off-by: Gustavo Zacarias +Signed-off-by: Gilles Talis +--- + src/current/makefile | 56 +++++++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 47 insertions(+), 9 deletions(-) -diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefile ---- iozone3_414.orig/src/current/makefile 2013-06-11 09:48:18.257837091 -0300 -+++ iozone3_414/src/current/makefile 2013-06-11 13:05:56.338162144 -0300 -@@ -166,10 +166,28 @@ +diff --git a/src/current/makefile b/src/current/makefile +index cfef879..7925e62 100644 +--- a/src/current/makefile ++++ b/src/current/makefile +@@ -168,10 +168,28 @@ hpux_no_ansi: iozone_hpux_no.o libbif.o # GNU 'C' compiler Linux build with threads, largefiles, async I/O # linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o @@ -42,46 +50,46 @@ diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefil # # GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O -@@ -795,13 +813,33 @@ +@@ -814,13 +832,33 @@ iozone_linux.o: iozone.c libbif.c libasync.c @echo "" @echo "Building iozone for Linux" @echo "" -- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ - -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \ -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \ + -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ -DNAME='"linux"' -o iozone_linux.o -- $(CC) -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \ + -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -+ $(CC) -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ -+ $(CFLAGS) libasync.c -o libasync.o ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ ++ $(CFLAGS) libasync.c -o libasync.o + +iozone_linux-noaio.o: iozone.c libbif.c + @echo "" + @echo "Building iozone for Linux no AIO" + @echo "" -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DHAVE_PREAD \ + -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ + -DNAME='"linux"' -o iozone_linux-noaio.o -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C \ + -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o + +iozone_linux-noth.o: iozone.c libbif.c + @echo "" + @echo "Building iozone for Linux with no threads" + @echo "" -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DHAVE_PREAD \ + -DSHARED_MEM -Dlinux $(CFLAGS) iozone.c \ + -DNAME='"linux"' -o iozone_linux-noth.o -+ $(CC) -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ ++ $(CC) -Wmissing-prototypes -Wall -c -Dunix -DHAVE_ANSIC_C -DNO_THREADS \ -DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o -- $(CC) -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ +- $(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \ - -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o fileop_AIX.o: fileop.c @echo "" -@@ -893,7 +931,7 @@ +@@ -924,7 +962,7 @@ fileop_linux.o: fileop.c @echo "" @echo "Building fileop for Linux" @echo "" @@ -90,3 +98,6 @@ diff -Nura iozone3_414.orig/src/current/makefile iozone3_414/src/current/makefil fileop_openbsd.o: fileop.c @echo "" +-- +2.7.4 + diff --git a/bsp/buildroot/package/iozone/iozone.hash b/bsp/buildroot/package/iozone/iozone.hash index b387588f..2a027317 100644 --- a/bsp/buildroot/package/iozone/iozone.hash +++ b/bsp/buildroot/package/iozone/iozone.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 bbbda98d7c052d8654ea23fb2187d831107ab4ac89842fa21509276d9a6915f0 iozone3_446.tar +sha256 eeaf16cfbee095b16e4934180c6c7438539629489ce42ef4ace48feb23916b12 iozone3_483.tar diff --git a/bsp/buildroot/package/iozone/iozone.mk b/bsp/buildroot/package/iozone/iozone.mk index 477a60a3..903d2a18 100644 --- a/bsp/buildroot/package/iozone/iozone.mk +++ b/bsp/buildroot/package/iozone/iozone.mk @@ -4,7 +4,7 @@ # ################################################################################ -IOZONE_VERSION = 3_446 +IOZONE_VERSION = 3_483 IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar IOZONE_SITE = http://www.iozone.org/src/current IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED) diff --git a/bsp/buildroot/package/iperf/0001-util.h-add-missing-stdbool-header.patch b/bsp/buildroot/package/iperf/0001-util.h-add-missing-stdbool-header.patch deleted file mode 100644 index 6eeed72a..00000000 --- a/bsp/buildroot/package/iperf/0001-util.h-add-missing-stdbool-header.patch +++ /dev/null @@ -1,54 +0,0 @@ -From babf9a5c2bbce4725963b21e47f413962e33ea88 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sat, 30 Jul 2016 14:24:33 +0200 -Subject: [PATCH] util.h: add missing stdbool header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -C requires the stdbool.h header for the 'bool' type. - -Fixes the following build failure under uClibc-ng C library: - -.../arm-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c delay.c -In file included from delay.c:55:0: -../include/util.h:73:1: error: unknown type name ‘bool’ - bool setsock_blocking(int fd, bool blocking); - ^ - -Signed-off-by: Baruch Siach -[Thomas: add AC_PROG_CC_C99, since C99 is needed for the bool type.] -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 1 + - include/util.h | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/configure.ac b/configure.ac -index d59107a..ba30cb7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -46,6 +46,7 @@ dnl =================================================================== - AC_PROG_CXX - CXXFLAGS=`echo " $CXXFLAGS " | sed -e "s/ -g / /"` # do not want it implicitly - AC_PROG_CC -+AC_PROG_CC_C99 - CFLAGS=`echo " $CFLAGS " | sed -e "s/ -g / /"` # do not want it implicitly - AC_ISC_POSIX - AC_PROG_INSTALL -diff --git a/include/util.h b/include/util.h -index f4ae3d8..91540a9 100644 ---- a/include/util.h -+++ b/include/util.h -@@ -57,6 +57,8 @@ - #include "config.h" - #endif - -+#include -+ - #ifdef __cplusplus - extern "C" { - #endif --- -2.7.4 - diff --git a/bsp/buildroot/package/iperf/0002-fix-speed-display-in-csv-report.patch b/bsp/buildroot/package/iperf/0002-fix-speed-display-in-csv-report.patch deleted file mode 100644 index b06c7099..00000000 --- a/bsp/buildroot/package/iperf/0002-fix-speed-display-in-csv-report.patch +++ /dev/null @@ -1,39 +0,0 @@ -From f035e70b72d4285dcdbd393e680777a927cb9da4 Mon Sep 17 00:00:00 2001 -From: Matt Weber -Date: Thu, 28 Jul 2016 19:04:01 -0500 -Subject: [PATCH] perf: fix "speed" display in csv report - -Some parameters displayed in the CSV reports are declared -as uint64_t, but the printf format doesn't reflect this. - -Submitted bug: https://sourceforge.net/p/iperf/bugs/66/ - -Signed-off-by: Matt Poduska -Signed-off-by: Atul Singh -Signed-off-by: Matthew Weber ---- - src/Locale.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/Locale.c b/src/Locale.c -index b5d42b1..7b924fa 100644 ---- a/src/Locale.c -+++ b/src/Locale.c -@@ -260,11 +260,12 @@ const char reportCSV_bw_format[] = - const char reportCSV_bw_jitter_loss_format[] = - "%s,%s,%d,%.1f-%.1f,%I64d,%I64d,%.3f,%d,%d,%.3f,%d\n"; - #else -+#include "inttypes.h" - const char reportCSV_bw_format[] = --"%s,%s,%d,%.1f-%.1f,%d,%d\n"; -+"%s,%s,%d,%.1f-%.1f,%" PRId64 ",%" PRId64 "\n"; - - const char reportCSV_bw_jitter_loss_format[] = --"%s,%s,%d,%.1f-%.1f,%d,%d,%.3f,%d,%d,%.3f,%d\n"; -+"%s,%s,%d,%.1f-%.1f,%" PRId64 ",%" PRId64 ",%.3f,%d,%d,%.3f,%d\n"; - #endif //WIN32 - #endif //HAVE_QUAD_SUPPORT - /* ------------------------------------------------------------------- --- -1.9.1 - diff --git a/bsp/buildroot/package/iperf/iperf.hash b/bsp/buildroot/package/iperf/iperf.hash index 0752bfc3..bce46c69 100644 --- a/bsp/buildroot/package/iperf/iperf.hash +++ b/bsp/buildroot/package/iperf/iperf.hash @@ -1,5 +1,6 @@ # From https://sourceforge.net/projects/iperf2/files/ -sha1 8b44a23385044bb454e7891966c37339d3bb3711 iperf-2.0.10.tar.gz +sha1 0c7625c61087b9e6866421abb8bb533658b40a8d iperf-2.0.13.tar.gz + # Locally computed: -sha256 7fe4348dcca313b74e0aa9c34a8ccd713b84a5615b8578f4aa94cedce9891ef2 iperf-2.0.10.tar.gz +sha256 c88adec966096a81136dda91b4bd19c27aae06df4d45a7f547a8e50d723778ad iperf-2.0.13.tar.gz sha256 5f9f5c4feca3347c3b3c0ada8b16b4e6b698aac4e6f016a24adf61a5915336d1 COPYING diff --git a/bsp/buildroot/package/iperf/iperf.mk b/bsp/buildroot/package/iperf/iperf.mk index 64498075..7088b0f1 100644 --- a/bsp/buildroot/package/iperf/iperf.mk +++ b/bsp/buildroot/package/iperf/iperf.mk @@ -4,12 +4,10 @@ # ################################################################################ -IPERF_VERSION = 2.0.10 +IPERF_VERSION = 2.0.13 IPERF_SITE = http://downloads.sourceforge.net/project/iperf2 IPERF_LICENSE = MIT-like IPERF_LICENSE_FILES = COPYING -# patching configure.ac -IPERF_AUTORECONF = YES IPERF_CONF_OPTS = \ --disable-web100 diff --git a/bsp/buildroot/package/iperf3/iperf3.hash b/bsp/buildroot/package/iperf3/iperf3.hash index 3e34f98e..06dae421 100644 --- a/bsp/buildroot/package/iperf3/iperf3.hash +++ b/bsp/buildroot/package/iperf3/iperf3.hash @@ -1,2 +1,4 @@ -# From http://software.es.net/iperf/news.html -sha256 a4ef73406fe92250602b8da2ae89ec53211f805df97a1d1d629db5a14043734f iperf-3.1.7.tar.gz +# From https://downloads.es.net/pub/iperf/iperf-3.6.tar.gz.sha256 +sha256 de5d51e46dc460cc590fb4d44f95e7cad54b74fea1eba7d6ebd6f8887d75946e iperf-3.6.tar.gz +# Locally computed +sha256 52c42914d7d79fe5e95d0d1b821556d9f06bf756ac910fe085a46d238a33e594 LICENSE diff --git a/bsp/buildroot/package/iperf3/iperf3.mk b/bsp/buildroot/package/iperf3/iperf3.mk index cc4e7242..8ac4b078 100644 --- a/bsp/buildroot/package/iperf3/iperf3.mk +++ b/bsp/buildroot/package/iperf3/iperf3.mk @@ -4,12 +4,21 @@ # ################################################################################ -IPERF3_VERSION = 3.1.7 -IPERF3_SITE = http://downloads.es.net/pub/iperf +IPERF3_VERSION = 3.6 +IPERF3_SITE = https://downloads.es.net/pub/iperf IPERF3_SOURCE = iperf-$(IPERF3_VERSION).tar.gz IPERF3_LICENSE = BSD-3-Clause, BSD-2-Clause, MIT IPERF3_LICENSE_FILES = LICENSE IPERF3_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" +ifeq ($(BR2_PACKAGE_OPENSSL),y) +# We intentionally don't pass --with-openssl, otherwise pkg-config is +# not used, and indirect libraries are not picked up when static +# linking. +IPERF3_DEPENDENCIES += host-pkgconf openssl +else +IPERF3_CONF_OPTS += --without-openssl +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch b/bsp/buildroot/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch new file mode 100644 index 00000000..d43f22e2 --- /dev/null +++ b/bsp/buildroot/package/ipmitool/0002-ID-461-OpenSSL-1.1-compatibility-error-storage-size-.patch @@ -0,0 +1,108 @@ +From 1ad09f56d461e78ad83c77b654fb65467a68388b Mon Sep 17 00:00:00 2001 +From: Dennis Schridde +Date: Wed, 30 Nov 2016 17:33:00 +0100 +Subject: [PATCH] ID:461 - OpenSSL 1.1 compatibility - "error: storage size + of 'ctx' isn't known" + +In OpenSSL 1.1 EVP_CIPHER_CTX became opaque, cf. `man 3ssl EVP_EncryptInit` + +Fixes: ID:461 + +Upstream: https://github.com/ipmitool/ipmitool/commit/b57487e360916ab3eaa50aa6d021c73b6337a4a0 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index d5fac37..3c0df23 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -164,10 +164,10 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); ++ EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + + *bytes_written = 0; +@@ -191,7 +191,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + *bytes_written = 0; +@@ -201,7 +201,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + { + uint32_t tmplen; + +- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { + *bytes_written = 0; + return; /* Error */ +@@ -210,7 +210,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_cleanup(ctx); + } + } + } +@@ -239,10 +239,10 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX ctx; +- EVP_CIPHER_CTX_init(&ctx); +- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(&ctx, 0); ++ EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + + if (verbose >= 5) +@@ -266,7 +266,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0); + + +- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length)) ++ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length)) + { + /* Error */ + lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); +@@ -277,7 +277,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + { + uint32_t tmplen; + +- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen)) ++ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { + char buffer[1000]; + ERR_error_string(ERR_get_error(), buffer); +@@ -290,7 +290,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_cleanup(ctx); + } + } + +-- +1.9.1 + diff --git a/bsp/buildroot/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch b/bsp/buildroot/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch new file mode 100644 index 00000000..7ff27bda --- /dev/null +++ b/bsp/buildroot/package/ipmitool/0003-ID-461-Make-compiler-happier-about-changes-related-t.patch @@ -0,0 +1,40 @@ +From ccc85e4fd67423e770901ec59975e84b07eed883 Mon Sep 17 00:00:00 2001 +From: Zdenek Styblik +Date: Sun, 15 Jan 2017 15:11:25 +0100 +Subject: [PATCH] ID:461 - Make compiler happier about changes related to + OpenSSL 1.1 + +Complaint was that ctx isn't initialized. + +Upstream: https://github.com/ipmitool/ipmitool/commit/77fe5635037ebaf411cae46cf5045ca819b5c145 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index 3c0df23..d12d0e3 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -164,7 +164,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX *ctx = NULL; + EVP_CIPHER_CTX_init(ctx); + EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); +@@ -239,7 +239,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint8_t * output, + uint32_t * bytes_written) + { +- EVP_CIPHER_CTX* ctx; ++ EVP_CIPHER_CTX *ctx = NULL; + EVP_CIPHER_CTX_init(ctx); + EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); +-- +1.9.1 + diff --git a/bsp/buildroot/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch b/bsp/buildroot/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch new file mode 100644 index 00000000..aabcc62d --- /dev/null +++ b/bsp/buildroot/package/ipmitool/0004-ID-480-ipmitool-coredumps-in-EVP_CIPHER_CTX_init.patch @@ -0,0 +1,57 @@ +From 72df3eadb27161a292f35b1d97178f70f41e50f6 Mon Sep 17 00:00:00 2001 +From: Zdenek Styblik +Date: Sun, 12 Mar 2017 14:00:35 +0100 +Subject: [PATCH] ID:480 - ipmitool coredumps in EVP_CIPHER_CTX_init + +IPMI tool coredumps due to changes introduced in ID:461. This shouldn't be +surprise as a NULL pointer is passed to init. Commit addresses this issue by +calling EVP_CIPHER_CTX_new() instead of EVP_CIPHER_CTX_init(), which is +deprecated, and by checking return value of call to former function. + +Upstream: https://github.com/ipmitool/ipmitool/commit/f004b4b7197fc83e7d47ec8cbcaefffa9a922717 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index d12d0e3..0e330c1 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -165,10 +165,13 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- EVP_CIPHER_CTX_init(ctx); ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ *bytes_written = 0; ++ return; ++ } + EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); +- + + *bytes_written = 0; + +@@ -240,11 +243,14 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- EVP_CIPHER_CTX_init(ctx); ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ *bytes_written = 0; ++ return; ++ } + EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); + +- + if (verbose >= 5) + { + printbuf(iv, 16, "decrypting with this IV"); +-- +1.9.1 + diff --git a/bsp/buildroot/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch b/bsp/buildroot/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch new file mode 100644 index 00000000..b3ce9650 --- /dev/null +++ b/bsp/buildroot/package/ipmitool/0005-ID-480-Call-EVP_CIPHER_CTX_free-instead-of-EVP_CIPHE.patch @@ -0,0 +1,148 @@ +From d9d6e0bff831da03f4448f0cdb82fc3d143662c8 Mon Sep 17 00:00:00 2001 +From: Holger Liebig +Date: Tue, 4 Apr 2017 20:43:05 +0200 +Subject: [PATCH] ID:480 - Call EVP_CIPHER_CTX_free() instead of + EVP_CIPHER_CTX_cleanup() + +Call EVP_CIPHER_CTX_free() instead of EVP_CIPHER_CTX_cleanup() to fix memory +leak. + +Upstream: https://github.com/ipmitool/ipmitool/commit/1664902525a1c3771b4d8b3ccab7ea1ba6b2bdd1 + +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 44 +++++++++++++++++--------------- + 1 file changed, 23 insertions(+), 21 deletions(-) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index 0e330c1..9652a5e 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -165,13 +165,6 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- ctx = EVP_CIPHER_CTX_new(); +- if (ctx == NULL) { +- *bytes_written = 0; +- return; +- } +- EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(ctx, 0); + + *bytes_written = 0; + +@@ -185,6 +178,14 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + printbuf(input, input_length, "encrypting this data"); + } + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + + /* + * The default implementation adds a whole block of padding if the input +@@ -198,7 +199,6 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + { + /* Error */ + *bytes_written = 0; +- return; + } + else + { +@@ -206,16 +206,17 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + + if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + } + + +@@ -243,13 +244,6 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + uint32_t * bytes_written) + { + EVP_CIPHER_CTX *ctx = NULL; +- ctx = EVP_CIPHER_CTX_new(); +- if (ctx == NULL) { +- *bytes_written = 0; +- return; +- } +- EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); +- EVP_CIPHER_CTX_set_padding(ctx, 0); + + if (verbose >= 5) + { +@@ -258,12 +252,20 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + printbuf(input, input_length, "decrypting this data"); + } + +- + *bytes_written = 0; + + if (input_length == 0) + return; + ++ ctx = EVP_CIPHER_CTX_new(); ++ if (ctx == NULL) { ++ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); ++ return; ++ } ++ EVP_CIPHER_CTX_init(ctx); ++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); ++ + /* + * The default implementation adds a whole block of padding if the input + * data is perfectly aligned. We would like to keep that from happening. +@@ -277,7 +279,6 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + /* Error */ + lprintf(LOG_DEBUG, "ERROR: decrypt update failed"); + *bytes_written = 0; +- return; + } + else + { +@@ -285,20 +286,21 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + + if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen)) + { ++ /* Error */ + char buffer[1000]; + ERR_error_string(ERR_get_error(), buffer); + lprintf(LOG_DEBUG, "the ERR error %s", buffer); + lprintf(LOG_DEBUG, "ERROR: decrypt final failed"); + *bytes_written = 0; +- return; /* Error */ + } + else + { + /* Success */ + *bytes_written += tmplen; +- EVP_CIPHER_CTX_cleanup(ctx); + } + } ++ /* performs cleanup and free */ ++ EVP_CIPHER_CTX_free(ctx); + + if (verbose >= 5) + { +-- +1.9.1 + diff --git a/bsp/buildroot/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch b/bsp/buildroot/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch new file mode 100644 index 00000000..87fdd0aa --- /dev/null +++ b/bsp/buildroot/package/ipmitool/0006-lanplus-Fix-compile-with-deprecated-APIs-disabled.patch @@ -0,0 +1,50 @@ +From fc2136969adfb926eed610b8ed0a74b2030b48ed Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Tue, 21 Aug 2018 19:29:07 -0700 +Subject: [PATCH] lanplus: Fix compile with deprecated APIs disabled. + +From the man page: + +EVP_CIPHER_CTX was made opaque in OpenSSL 1.1.0. As a result, +EVP_CIPHER_CTX_reset() appeared and EVP_CIPHER_CTX_cleanup() disappeared. +EVP_CIPHER_CTX_init() remains as an alias for EVP_CIPHER_CTX_reset(). + +Upstream: https://github.com/ipmitool/ipmitool/commit/a8862d7508fb138b1c286eea958700cca63c9476 + +Signed-off-by: Rosen Penev +Signed-off-by: Matthew Weber +--- + src/plugins/lanplus/lanplus_crypt_impl.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c +index 9652a5e..e94401e 100644 +--- a/src/plugins/lanplus/lanplus_crypt_impl.c ++++ b/src/plugins/lanplus/lanplus_crypt_impl.c +@@ -183,7 +183,11 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv, + lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); + return; + } ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_CIPHER_CTX_init(ctx); ++#else ++ EVP_CIPHER_CTX_reset(ctx); ++#endif + EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); + +@@ -262,7 +266,11 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv, + lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed"); + return; + } ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_CIPHER_CTX_init(ctx); ++#else ++ EVP_CIPHER_CTX_reset(ctx); ++#endif + EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv); + EVP_CIPHER_CTX_set_padding(ctx, 0); + +-- +1.9.1 + diff --git a/bsp/buildroot/package/ipmiutil/ipmiutil.hash b/bsp/buildroot/package/ipmiutil/ipmiutil.hash index f9d086b6..e09511f9 100644 --- a/bsp/buildroot/package/ipmiutil/ipmiutil.hash +++ b/bsp/buildroot/package/ipmiutil/ipmiutil.hash @@ -1,4 +1,6 @@ -# From http://sourceforge.net/projects/ipmiutil/files/?source=navbar -sha1 f423a77a374b6a37a16496844f1e6e363e7d63fe ipmiutil-2.9.9.tar.gz +# From https://sourceforge.net/projects/ipmiutil/files/ +md5 ee90387f8a14dea3f867167865c7c968 ipmiutil-3.1.2.tar.gz +sha1 9453db110bffab3111d6ff4047243a34084e5878 ipmiutil-3.1.2.tar.gz # Locally computed -sha256 beace08386a002c6a4bbbf894bda9899ea34fae4c2181c89f29fb1fa136925f6 ipmiutil-2.9.9.tar.gz +sha256 768053b3e3adfe1bf656e2848b2805ede87e429c10d282929a7c4ceeebc24703 ipmiutil-3.1.2.tar.gz +sha256 7e0ec8238aa1431e95a4950032a4483fe33fec3fac348eaade5856cdc5ae3e39 COPYING diff --git a/bsp/buildroot/package/ipmiutil/ipmiutil.mk b/bsp/buildroot/package/ipmiutil/ipmiutil.mk index a5a6b493..0d9a4509 100644 --- a/bsp/buildroot/package/ipmiutil/ipmiutil.mk +++ b/bsp/buildroot/package/ipmiutil/ipmiutil.mk @@ -4,8 +4,8 @@ # ################################################################################ -IPMIUTIL_VERSION = 2.9.9 -IPMIUTIL_SITE = http://sourceforge.net/projects/ipmiutil/files +IPMIUTIL_VERSION = 3.1.2 +IPMIUTIL_SITE = https://sourceforge.net/projects/ipmiutil/files IPMIUTIL_LICENSE = BSD-3-Clause IPMIUTIL_LICENSE_FILES = COPYING # We're patching configure.ac @@ -18,7 +18,7 @@ ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx) # tests against distro libcrypto so it might get a false positive when # the openssl version is old, so force it off # SKIP_MD2 can be used only if ALLOW_GNU is defined. -IPMIUTIL_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DALLOW_GNU -DSKIP_MD2" +IPMIUTIL_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DALLOW_GNU -DSKIP_MD2 -DSSL11" IPMIUTIL_DEPENDENCIES += openssl else IPMIUTIL_CONF_OPTS += --disable-lanplus diff --git a/bsp/buildroot/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch b/bsp/buildroot/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch deleted file mode 100644 index ff362c97..00000000 --- a/bsp/buildroot/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 909a6f10157114e09936d2dd545175d7ed84c0fb Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 22 Dec 2016 15:26:30 +0200 -Subject: [PATCH] Add the musl workaround to the libc-compat.h copy - -The libc-compat.h kernel header uses glibc specific macros (__GLIBC__ and -__USE_MISC) to solve conflicts with libc provided headers. This patch makes -libc-compat.h work also for musl libc. - -Signed-off-by: Baruch Siach ---- -Upstream status: libc-compat.h is a local copy of a kernel headers. A proper -musl fix must go to the kernel first. ---- - include/uapi/linux/libc-compat.h | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h -index 9ab3ace08e2b..e768459d89f9 100644 ---- a/include/uapi/linux/libc-compat.h -+++ b/include/uapi/linux/libc-compat.h -@@ -50,10 +50,12 @@ - #define _LIBC_COMPAT_H - - /* We have included glibc headers... */ --#if defined(__GLIBC__) -+#if 1 -+#define __USE_MISC - - /* Coordinate with glibc net/if.h header. */ - #if defined(_NET_IF_H) && defined(__USE_MISC) -+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0 - - /* GLIBC headers included first so don't define anything - * that would already be defined. */ --- -2.15.0 - diff --git a/bsp/buildroot/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch b/bsp/buildroot/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch new file mode 100644 index 00000000..c89db2b2 --- /dev/null +++ b/bsp/buildroot/package/iproute2/0001-utils.h-provide-fallback-CLOCK_TAI-definition.patch @@ -0,0 +1,32 @@ +From 950bf78adc9a3290ed383eaeef01dee6543cfb97 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Sat, 27 Oct 2018 17:25:31 +0200 +Subject: [PATCH] utils.h: provide fallback CLOCK_TAI definition + +q_{etf,taprio}.c uses CLOCK_TAI, which isn't exposed by glibc < 2.21 or +uClibc, breaking the build. Provide a fallback definition like it is done +for IPPROTO_MPLS and others. + +Signed-off-by: Peter Korsgaard +--- + include/utils.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/include/utils.h b/include/utils.h +index 258d630e..685d2c1d 100644 +--- a/include/utils.h ++++ b/include/utils.h +@@ -126,6 +126,10 @@ struct ipx_addr { + #define IPPROTO_MPLS 137 + #endif + ++#ifndef CLOCK_TAI ++# define CLOCK_TAI 11 ++#endif ++ + __u32 get_addr32(const char *name); + int get_addr_1(inet_prefix *dst, const char *arg, int family); + int get_prefix_1(inet_prefix *dst, char *arg, int family); +-- +2.11.0 + diff --git a/bsp/buildroot/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch b/bsp/buildroot/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch new file mode 100644 index 00000000..b6934f5d --- /dev/null +++ b/bsp/buildroot/package/iproute2/0002-ss-fix-compilation-under-glibc-2.18.patch @@ -0,0 +1,39 @@ +From 9700927a008a803ac119bdf816bdc1baa69d705c Mon Sep 17 00:00:00 2001 +From: Thomas De Schampheleire +Date: Wed, 20 Feb 2019 15:41:51 +0100 +Subject: [PATCH] ss: fix compilation under glibc < 2.18 + +Commit c759116a0b2b6da8df9687b0a40ac69050132c77 introduced support for +AF_VSOCK. This define is only provided since glibc version 2.18, so +compilation fails when using older toolchains. + +Provide the necessary definitions if needed. + +Signed-off-by: Thomas De Schampheleire +Signed-off-by: Stephen Hemminger +--- + misc/ss.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/misc/ss.c b/misc/ss.c +index 9e821faf..766fdc5f 100644 +--- a/misc/ss.c ++++ b/misc/ss.c +@@ -51,6 +51,14 @@ + #include + #include + ++/* AF_VSOCK/PF_VSOCK is only provided since glibc 2.18 */ ++#ifndef PF_VSOCK ++#define PF_VSOCK 40 ++#endif ++#ifndef AF_VSOCK ++#define AF_VSOCK PF_VSOCK ++#endif ++ + #define MAGIC_SEQ 123456 + #define BUF_CHUNK (1024 * 1024) + #define LEN_ALIGN(x) (((x) + 1) & ~1) +-- +2.19.2 + diff --git a/bsp/buildroot/package/iproute2/iproute2.hash b/bsp/buildroot/package/iproute2/iproute2.hash index e9b8a0ef..00bd1c64 100644 --- a/bsp/buildroot/package/iproute2/iproute2.hash +++ b/bsp/buildroot/package/iproute2/iproute2.hash @@ -1,3 +1,3 @@ # From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc -sha256 d43ac068afcc350a448f4581b6e292331ef7e4e7aa746e34981582d5fdb10067 iproute2-4.14.1.tar.xz +sha256 d9ec5ca1f47d8a85416fa26e7dc1cbf5d067640eb60e90bdc1c7e5bdc6a29984 iproute2-4.19.0.tar.xz sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/bsp/buildroot/package/iproute2/iproute2.mk b/bsp/buildroot/package/iproute2/iproute2.mk index 15bb132c..41d0b2c3 100644 --- a/bsp/buildroot/package/iproute2/iproute2.mk +++ b/bsp/buildroot/package/iproute2/iproute2.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPROUTE2_VERSION = 4.14.1 +IPROUTE2_VERSION = 4.19.0 IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2 IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \ @@ -12,67 +12,38 @@ IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \ IPROUTE2_LICENSE = GPL-2.0+ IPROUTE2_LICENSE_FILES = COPYING -# If both iproute2 and busybox are selected, make certain we win -# the fight over who gets to have their utils actually installed. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -IPROUTE2_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_ELFUTILS),y) IPROUTE2_DEPENDENCIES += elfutils endif -# If we've got iptables enable xtables support for tc ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx) IPROUTE2_DEPENDENCIES += iptables -define IPROUTE2_WITH_IPTABLES - # Makefile is busted so it never passes IPT_LIB_DIR properly - $(SED) "s/-DIPT/-DXT/" $(@D)/tc/Makefile -endef else -define IPROUTE2_WITH_IPTABLES +define IPROUTE2_DISABLE_IPTABLES # m_xt.so is built unconditionally echo "TC_CONFIG_XT:=n" >>$(@D)/config.mk endef endif -# arpd needs BerkeleyDB and links against pthread -ifeq ($(BR2_PACKAGE_BERKELEYDB_COMPAT185)$(BR2_TOOLCHAIN_HAS_THREADS),yy) +ifeq ($(BR2_PACKAGE_BERKELEYDB_COMPAT185),y) IPROUTE2_DEPENDENCIES += berkeleydb -else -define IPROUTE2_DISABLE_ARPD - echo "HAVE_BERKELEY_DB:=n" >> $(@D)/config.mk -endef -endif - -# ifcfg needs bash -ifeq ($(BR2_PACKAGE_BASH),) -define IPROUTE2_REMOVE_IFCFG - rm -f $(TARGET_DIR)/sbin/ifcfg -endef endif define IPROUTE2_CONFIGURE_CMDS - $(SED) 's/gcc/$$CC $$CFLAGS/g' $(@D)/configure cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure - $(IPROUTE2_DISABLE_ARPD) - $(IPROUTE2_WITH_IPTABLES) + $(IPROUTE2_DISABLE_IPTABLES) endef define IPROUTE2_BUILD_CMDS - $(SED) 's/$$(CCOPTS)//' $(@D)/netem/Makefile - $(TARGET_MAKE_ENV) LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) \ + $(TARGET_MAKE_ENV) LDFLAGS="$(TARGET_LDFLAGS)" \ + CFLAGS="$(TARGET_CFLAGS) -DXT_LIB_DIR=\\\"/usr/lib/xtables\\\"" \ + CBUILD_CFLAGS="$(HOST_CFLAGS)" $(MAKE) V=1 LIBDB_LIBS=-lpthread \ DBM_INCLUDE="$(STAGING_DIR)/usr/include" \ - CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \ SHARED_LIBS="$(if $(BR2_STATIC_LIBS),n,y)" -C $(@D) endef define IPROUTE2_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" \ - SBINDIR=/sbin \ - DOCDIR=/usr/share/doc/iproute2-$(IPROUTE2_VERSION) \ - MANDIR=/usr/share/man install - $(IPROUTE2_REMOVE_IFCFG) + $(TARGET_MAKE_ENV) DESTDIR="$(TARGET_DIR)" $(MAKE) -C $(@D) install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/iprutils/Config.in b/bsp/buildroot/package/iprutils/Config.in index 0143b53a..2938da0e 100644 --- a/bsp/buildroot/package/iprutils/Config.in +++ b/bsp/buildroot/package/iprutils/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_IPRUTILS bool "iprutils" depends on BR2_USE_MMU # fork() - depends on !BR2_bfin # pciutils select BR2_PACKAGE_NCURSES select BR2_PACKAGE_LIBSYSFS select BR2_PACKAGE_PCIUTILS diff --git a/bsp/buildroot/package/ipsec-tools/0006-openssl-1.1.patch b/bsp/buildroot/package/ipsec-tools/0006-openssl-1.1.patch new file mode 100644 index 00000000..39a7da98 --- /dev/null +++ b/bsp/buildroot/package/ipsec-tools/0006-openssl-1.1.patch @@ -0,0 +1,1104 @@ +From 071fec7181255b9234add44865a435dfdefee520 Mon Sep 17 00:00:00 2001 +In-Reply-To: <20180528120513.560-1-cote2004-github@yahoo.com> +References: <20180528120513.560-1-cote2004-github@yahoo.com> +From: Eneas U de Queiroz +Date: Wed, 30 May 2018 15:42:20 -0300 +Subject: [PATCH] ipsec-tools: add openssl 1.1 support +To: equeiroz@troianet.com.br + +This patch updates the calls to openssl 1.1 API, and adds a +compatibility layer so it compiles with (at least) openssl 1.0.2, I +haven't tested it with lower versions, but all that's needed is to edit +the openssl_compat.* files and add the missing functions there--they're +usually trivial. + +Signed-off-by: Eneas U de Queiroz + +Downloaded from +https://github.com/openwrt/packages/blob/master/net/ipsec-tools/patches/015-openssl-1.1.patch + +Patch was sent upstream: +https://sourceforge.net/p/ipsec-tools/mailman/ipsec-tools-devel/thread/20180528120513.560-1-cote2004-github%40yahoo.com/#msg36327963 + +Signed-off-by: Bernd Kuhls +--- + src/racoon/Makefile.am | 10 +-- + src/racoon/algorithm.c | 6 +- + src/racoon/cfparse.y | 2 +- + src/racoon/crypto_openssl.c | 197 +++++++++++++++++++++------------------- + src/racoon/crypto_openssl.h | 2 +- + src/racoon/eaytest.c | 7 +- + src/racoon/ipsec_doi.c | 2 +- + src/racoon/openssl_compat.c | 213 ++++++++++++++++++++++++++++++++++++++++++++ + src/racoon/openssl_compat.h | 45 ++++++++++ + src/racoon/plainrsa-gen.c | 41 +++++---- + src/racoon/prsa_par.y | 28 ++++-- + src/racoon/rsalist.c | 5 +- + 12 files changed, 431 insertions(+), 127 deletions(-) + create mode 100644 src/racoon/openssl_compat.c + create mode 100644 src/racoon/openssl_compat.h + +diff --git a/src/racoon/Makefile.am b/src/racoon/Makefile.am +index dbaded9..4c585f3 100644 +--- a/src/racoon/Makefile.am ++++ b/src/racoon/Makefile.am +@@ -4,7 +4,7 @@ sbin_PROGRAMS = racoon racoonctl plainrsa-gen + noinst_PROGRAMS = eaytest + include_racoon_HEADERS = racoonctl.h var.h vmbuf.h misc.h gcmalloc.h admin.h \ + schedule.h sockmisc.h isakmp_var.h isakmp.h isakmp_xauth.h \ +- isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h ++ isakmp_cfg.h isakmp_unity.h ipsec_doi.h evt.h openssl_compat.h + lib_LTLIBRARIES = libracoon.la + + adminsockdir=${localstatedir}/racoon +@@ -32,7 +32,7 @@ racoon_SOURCES = \ + gssapi.c dnssec.c getcertsbyname.c privsep.c \ + pfkey.c admin.c evt.c ipsec_doi.c oakley.c grabmyaddr.c vendorid.c \ + policy.c localconf.c remoteconf.c crypto_openssl.c algorithm.c \ +- proposal.c sainfo.c strnames.c \ ++ openssl_compat.c proposal.c sainfo.c strnames.c \ + plog.c logger.c schedule.c str2val.c \ + safefile.c backupsa.c genlist.c rsalist.c \ + cftoken.l cfparse.y prsa_tok.l prsa_par.y +@@ -51,12 +51,12 @@ libracoon_la_SOURCES = kmpstat.c vmbuf.c sockmisc.c misc.c + libracoon_la_CFLAGS = -DNOUSE_PRIVSEP $(AM_CFLAGS) + + plainrsa_gen_SOURCES = plainrsa-gen.c plog.c \ +- crypto_openssl.c logger.c ++ crypto_openssl.c logger.c openssl_compat.c + EXTRA_plainrsa_gen_SOURCES = $(MISSING_ALGOS) + plainrsa_gen_LDADD = $(CRYPTOBJS) vmbuf.o misc.o + plainrsa_gen_DEPENDENCIES = $(CRYPTOBJS) vmbuf.o misc.o + +-eaytest_SOURCES = eaytest.c plog.c logger.c ++eaytest_SOURCES = eaytest.c plog.c logger.c openssl_compat.c + EXTRA_eaytest_SOURCES = missing/crypto/sha2/sha2.c + eaytest_LDADD = crypto_openssl_test.o vmbuf.o str2val.o misc_noplog.o \ + $(CRYPTOBJS) +@@ -75,7 +75,7 @@ noinst_HEADERS = \ + debugrm.h isakmp.h misc.h sainfo.h \ + dhgroup.h isakmp_agg.h netdb_dnssec.h schedule.h \ + isakmp_cfg.h isakmp_xauth.h isakmp_unity.h isakmp_frag.h \ +- throttle.h privsep.h \ ++ throttle.h privsep.h openssl_compat.h \ + cfparse_proto.h cftoken_proto.h genlist.h rsalist.h \ + missing/crypto/sha2/sha2.h missing/crypto/rijndael/rijndael_local.h \ + missing/crypto/rijndael/rijndael-api-fst.h \ +diff --git a/src/racoon/algorithm.c b/src/racoon/algorithm.c +index 3fd50f6..66c874b 100644 +--- a/src/racoon/algorithm.c ++++ b/src/racoon/algorithm.c +@@ -128,7 +128,7 @@ static struct enc_algorithm oakley_encdef[] = { + { "aes", algtype_aes, OAKLEY_ATTR_ENC_ALG_AES, 16, + eay_aes_encrypt, eay_aes_decrypt, + eay_aes_weakkey, eay_aes_keylen, }, +-#ifdef HAVE_OPENSSL_CAMELLIA_H ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + { "camellia", algtype_camellia, OAKLEY_ATTR_ENC_ALG_CAMELLIA, 16, + eay_camellia_encrypt, eay_camellia_decrypt, + eay_camellia_weakkey, eay_camellia_keylen, }, +@@ -168,7 +168,7 @@ static struct enc_algorithm ipsec_encdef[] = { + { "twofish", algtype_twofish, IPSECDOI_ESP_TWOFISH, 16, + NULL, NULL, + NULL, eay_twofish_keylen, }, +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + { "3idea", algtype_3idea, IPSECDOI_ESP_3IDEA, 8, + NULL, NULL, + NULL, NULL, }, +@@ -179,7 +179,7 @@ static struct enc_algorithm ipsec_encdef[] = { + { "rc4", algtype_rc4, IPSECDOI_ESP_RC4, 8, + NULL, NULL, + NULL, NULL, }, +-#ifdef HAVE_OPENSSL_CAMELLIA_H ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + { "camellia", algtype_camellia, IPSECDOI_ESP_CAMELLIA, 16, + NULL, NULL, + NULL, eay_camellia_keylen, }, +diff --git a/src/racoon/cfparse.y b/src/racoon/cfparse.y +index 0d9bd67..8415752 100644 +--- a/src/racoon/cfparse.y ++++ b/src/racoon/cfparse.y +@@ -2564,7 +2564,7 @@ set_isakmp_proposal(rmconf) + plog(LLV_DEBUG2, LOCATION, NULL, + "encklen=%d\n", s->encklen); + +- memset(types, 0, ARRAYLEN(types)); ++ memset(types, 0, sizeof types); + types[algclass_isakmp_enc] = s->algclass[algclass_isakmp_enc]; + types[algclass_isakmp_hash] = s->algclass[algclass_isakmp_hash]; + types[algclass_isakmp_dh] = s->algclass[algclass_isakmp_dh]; +diff --git a/src/racoon/crypto_openssl.c b/src/racoon/crypto_openssl.c +index 55b076a..8fb358f 100644 +--- a/src/racoon/crypto_openssl.c ++++ b/src/racoon/crypto_openssl.c +@@ -90,6 +90,7 @@ + #endif + #endif + #include "plog.h" ++#include "openssl_compat.h" + + #define USE_NEW_DES_API + +@@ -316,9 +317,12 @@ eay_cmp_asn1dn(n1, n2) + i = idx+1; + goto end; + } +- if ((ea->value->length == 1 && ea->value->data[0] == '*') || +- (eb->value->length == 1 && eb->value->data[0] == '*')) { +- if (OBJ_cmp(ea->object,eb->object)) { ++ ASN1_STRING *sa = X509_NAME_ENTRY_get_data(ea); ++ ASN1_STRING *sb = X509_NAME_ENTRY_get_data(eb); ++ if ((ASN1_STRING_length(sa) == 1 && ASN1_STRING_get0_data(sa)[0] == '*') || ++ (ASN1_STRING_length(sb) == 1 && ASN1_STRING_get0_data(sb)[0] == '*')) { ++ if (OBJ_cmp(X509_NAME_ENTRY_get_object(ea), ++ X509_NAME_ENTRY_get_object(eb))) { + i = idx+1; + goto end; + } +@@ -430,7 +434,7 @@ cb_check_cert_local(ok, ctx) + + if (!ok) { + X509_NAME_oneline( +- X509_get_subject_name(ctx->current_cert), ++ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)), + buf, + 256); + /* +@@ -438,7 +442,8 @@ cb_check_cert_local(ok, ctx) + * ok if they are self signed. But we should still warn + * the user. + */ +- switch (ctx->error) { ++ int ctx_error = X509_STORE_CTX_get_error(ctx); ++ switch (ctx_error) { + case X509_V_ERR_CERT_HAS_EXPIRED: + case X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + case X509_V_ERR_INVALID_CA: +@@ -453,9 +458,9 @@ cb_check_cert_local(ok, ctx) + } + plog(log_tag, LOCATION, NULL, + "%s(%d) at depth:%d SubjectName:%s\n", +- X509_verify_cert_error_string(ctx->error), +- ctx->error, +- ctx->error_depth, ++ X509_verify_cert_error_string(ctx_error), ++ ctx_error, ++ X509_STORE_CTX_get_error_depth(ctx), + buf); + } + ERR_clear_error(); +@@ -477,10 +482,11 @@ cb_check_cert_remote(ok, ctx) + + if (!ok) { + X509_NAME_oneline( +- X509_get_subject_name(ctx->current_cert), ++ X509_get_subject_name(X509_STORE_CTX_get_current_cert(ctx)), + buf, + 256); +- switch (ctx->error) { ++ int ctx_error=X509_STORE_CTX_get_error(ctx); ++ switch (ctx_error) { + case X509_V_ERR_UNABLE_TO_GET_CRL: + ok = 1; + log_tag = LLV_WARNING; +@@ -490,9 +496,9 @@ cb_check_cert_remote(ok, ctx) + } + plog(log_tag, LOCATION, NULL, + "%s(%d) at depth:%d SubjectName:%s\n", +- X509_verify_cert_error_string(ctx->error), +- ctx->error, +- ctx->error_depth, ++ X509_verify_cert_error_string(ctx_error), ++ ctx_error, ++ X509_STORE_CTX_get_error_depth(ctx), + buf); + } + ERR_clear_error(); +@@ -516,14 +522,15 @@ eay_get_x509asn1subjectname(cert) + if (x509 == NULL) + goto error; + ++ X509_NAME *subject_name = X509_get_subject_name(x509); + /* get the length of the name */ +- len = i2d_X509_NAME(x509->cert_info->subject, NULL); ++ len = i2d_X509_NAME(subject_name, NULL); + name = vmalloc(len); + if (!name) + goto error; + /* get the name */ + bp = (unsigned char *) name->v; +- len = i2d_X509_NAME(x509->cert_info->subject, &bp); ++ len = i2d_X509_NAME(subject_name, &bp); + + X509_free(x509); + +@@ -661,15 +668,16 @@ eay_get_x509asn1issuername(cert) + if (x509 == NULL) + goto error; + ++ X509_NAME *issuer_name = X509_get_issuer_name(x509); + /* get the length of the name */ +- len = i2d_X509_NAME(x509->cert_info->issuer, NULL); ++ len = i2d_X509_NAME(issuer_name, NULL); + name = vmalloc(len); + if (name == NULL) + goto error; + + /* get the name */ + bp = (unsigned char *) name->v; +- len = i2d_X509_NAME(x509->cert_info->issuer, &bp); ++ len = i2d_X509_NAME(issuer_name, &bp); + + X509_free(x509); + +@@ -850,7 +858,7 @@ eay_check_x509sign(source, sig, cert) + return -1; + } + +- res = eay_rsa_verify(source, sig, evp->pkey.rsa); ++ res = eay_rsa_verify(source, sig, EVP_PKEY_get0_RSA(evp)); + + EVP_PKEY_free(evp); + X509_free(x509); +@@ -992,7 +1000,7 @@ eay_get_x509sign(src, privkey) + if (evp == NULL) + return NULL; + +- sig = eay_rsa_sign(src, evp->pkey.rsa); ++ sig = eay_rsa_sign(src, EVP_PKEY_get0_RSA(evp)); + + EVP_PKEY_free(evp); + +@@ -1079,7 +1087,11 @@ eay_strerror() + int line, flags; + unsigned long es; + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ es = 0; /* even when allowed by OPENSSL_API_COMPAT, it is defined as 0 */ ++#else + es = CRYPTO_thread_id(); ++#endif + + while ((l = ERR_get_error_line_data(&file, &line, &data, &flags)) != 0){ + n = snprintf(ebuf + len, sizeof(ebuf) - len, +@@ -1100,7 +1112,7 @@ vchar_t * + evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc) + { + vchar_t *res; +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx; + + if (!e) + return NULL; +@@ -1111,7 +1123,7 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc + if ((res = vmalloc(data->l)) == NULL) + return NULL; + +- EVP_CIPHER_CTX_init(&ctx); ++ ctx = EVP_CIPHER_CTX_new(); + + switch(EVP_CIPHER_nid(e)){ + case NID_bf_cbc: +@@ -1125,54 +1137,41 @@ evp_crypt(vchar_t *data, vchar_t *key, vchar_t *iv, const EVP_CIPHER *e, int enc + /* XXX: can we do that also for algos with a fixed key size ? + */ + /* init context without key/iv +- */ +- if (!EVP_CipherInit(&ctx, e, NULL, NULL, enc)) +- { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ */ ++ if (!EVP_CipherInit(ctx, e, NULL, NULL, enc)) ++ goto out; + +- /* update key size +- */ +- if (!EVP_CIPHER_CTX_set_key_length(&ctx, key->l)) +- { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } +- +- /* finalize context init with desired key size +- */ +- if (!EVP_CipherInit(&ctx, NULL, (u_char *) key->v, ++ /* update key size ++ */ ++ if (!EVP_CIPHER_CTX_set_key_length(ctx, key->l)) ++ goto out; ++ ++ /* finalize context init with desired key size ++ */ ++ if (!EVP_CipherInit(ctx, NULL, (u_char *) key->v, + (u_char *) iv->v, enc)) +- { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ goto out; + break; + default: +- if (!EVP_CipherInit(&ctx, e, (u_char *) key->v, +- (u_char *) iv->v, enc)) { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ if (!EVP_CipherInit(ctx, e, (u_char *) key->v, ++ (u_char *) iv->v, enc)) ++ goto out; + } + + /* disable openssl padding */ +- EVP_CIPHER_CTX_set_padding(&ctx, 0); ++ EVP_CIPHER_CTX_set_padding(ctx, 0); + +- if (!EVP_Cipher(&ctx, (u_char *) res->v, (u_char *) data->v, data->l)) { +- OpenSSL_BUG(); +- vfree(res); +- return NULL; +- } ++ if (!EVP_Cipher(ctx, (u_char *) res->v, (u_char *) data->v, data->l)) ++ goto out; + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + + return res; ++out: ++ EVP_CIPHER_CTX_free(ctx); ++ OpenSSL_BUG(); ++ vfree(res); ++ return NULL; + } + + int +@@ -1230,7 +1229,7 @@ eay_des_keylen(len) + return evp_keylen(len, EVP_des_cbc()); + } + +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + /* + * IDEA-CBC + */ +@@ -1587,7 +1586,7 @@ eay_aes_keylen(len) + return len; + } + +-#if defined(HAVE_OPENSSL_CAMELLIA_H) ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + /* + * CAMELLIA-CBC + */ +@@ -1680,9 +1679,9 @@ eay_hmac_init(key, md) + vchar_t *key; + const EVP_MD *md; + { +- HMAC_CTX *c = racoon_malloc(sizeof(*c)); ++ HMAC_CTX *c = HMAC_CTX_new(); + +- HMAC_Init(c, key->v, key->l, md); ++ HMAC_Init_ex(c, key->v, key->l, md, NULL); + + return (caddr_t)c; + } +@@ -1761,8 +1760,7 @@ eay_hmacsha2_512_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA512_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1811,8 +1809,7 @@ eay_hmacsha2_384_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA384_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1861,8 +1858,7 @@ eay_hmacsha2_256_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA256_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1912,8 +1908,7 @@ eay_hmacsha1_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (SHA_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -1962,8 +1957,7 @@ eay_hmacmd5_final(c) + + HMAC_Final((HMAC_CTX *)c, (unsigned char *) res->v, &l); + res->l = l; +- HMAC_cleanup((HMAC_CTX *)c); +- (void)racoon_free(c); ++ HMAC_CTX_free((HMAC_CTX *)c); + + if (MD5_DIGEST_LENGTH != res->l) { + plog(LLV_ERROR, LOCATION, NULL, +@@ -2266,6 +2260,7 @@ eay_dh_generate(prime, g, publen, pub, priv) + u_int32_t g; + { + BIGNUM *p = NULL; ++ BIGNUM *BNg = NULL; + DH *dh = NULL; + int error = -1; + +@@ -2276,25 +2271,28 @@ eay_dh_generate(prime, g, publen, pub, priv) + + if ((dh = DH_new()) == NULL) + goto end; +- dh->p = p; +- p = NULL; /* p is now part of dh structure */ +- dh->g = NULL; +- if ((dh->g = BN_new()) == NULL) ++ if ((BNg = BN_new()) == NULL) + goto end; +- if (!BN_set_word(dh->g, g)) ++ if (!BN_set_word(BNg, g)) + goto end; ++ if (! DH_set0_pqg(dh, p, NULL, BNg)) ++ goto end; ++ BNg = NULL; ++ p = NULL; /* p is now part of dh structure */ + + if (publen != 0) +- dh->length = publen; ++ DH_set_length(dh, publen); + + /* generate public and private number */ + if (!DH_generate_key(dh)) + goto end; + + /* copy results to buffers */ +- if (eay_bn2v(pub, dh->pub_key) < 0) ++ BIGNUM *pub_key, *priv_key; ++ DH_get0_key(dh, (const BIGNUM**) &pub_key, (const BIGNUM**) &priv_key); ++ if (eay_bn2v(pub, pub_key) < 0) + goto end; +- if (eay_bn2v(priv, dh->priv_key) < 0) { ++ if (eay_bn2v(priv, priv_key) < 0) { + vfree(*pub); + goto end; + } +@@ -2306,6 +2304,8 @@ end: + DH_free(dh); + if (p != 0) + BN_free(p); ++ if (BNg != 0) ++ BN_free(BNg); + return(error); + } + +@@ -2319,6 +2319,10 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) + int l; + unsigned char *v = NULL; + int error = -1; ++ BIGNUM *p = BN_new(); ++ BIGNUM *BNg = BN_new(); ++ BIGNUM *pub_key = BN_new(); ++ BIGNUM *priv_key = BN_new(); + + /* make public number to compute */ + if (eay_v2bn(&dh_pub, pub2) < 0) +@@ -2327,19 +2331,21 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) + /* make DH structure */ + if ((dh = DH_new()) == NULL) + goto end; +- if (eay_v2bn(&dh->p, prime) < 0) ++ if (p == NULL || BNg == NULL || pub_key == NULL || priv_key == NULL) + goto end; +- if (eay_v2bn(&dh->pub_key, pub) < 0) ++ ++ if (eay_v2bn(&p, prime) < 0) + goto end; +- if (eay_v2bn(&dh->priv_key, priv) < 0) ++ if (eay_v2bn(&pub_key, pub) < 0) + goto end; +- dh->length = pub2->l * 8; +- +- dh->g = NULL; +- if ((dh->g = BN_new()) == NULL) ++ if (eay_v2bn(&priv_key, priv) < 0) + goto end; +- if (!BN_set_word(dh->g, g)) ++ if (!BN_set_word(BNg, g)) + goto end; ++ DH_set0_key(dh, pub_key, priv_key); ++ DH_set_length(dh, pub2->l * 8); ++ DH_set0_pqg(dh, p, NULL, BNg); ++ pub_key = priv_key = p = BNg = NULL; + + if ((v = racoon_calloc(prime->l, sizeof(u_char))) == NULL) + goto end; +@@ -2350,6 +2356,14 @@ eay_dh_compute(prime, g, pub, priv, pub2, key) + error = 0; + + end: ++ if (p != NULL) ++ BN_free(p); ++ if (BNg != NULL) ++ BN_free(BNg); ++ if (pub_key != NULL) ++ BN_free(pub_key); ++ if (priv_key != NULL) ++ BN_free(priv_key); + if (dh_pub != NULL) + BN_free(dh_pub); + if (dh != NULL) +@@ -2400,12 +2414,14 @@ eay_bn2v(var, bn) + void + eay_init() + { ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + OpenSSL_add_all_algorithms(); + ERR_load_crypto_strings(); + #ifdef HAVE_OPENSSL_ENGINE_H + ENGINE_load_builtin_engines(); + ENGINE_register_all_complete(); + #endif ++#endif + } + + vchar_t * +@@ -2504,8 +2520,7 @@ binbuf_pubkey2rsa(vchar_t *binbuf) + goto out; + } + +- rsa_pub->n = mod; +- rsa_pub->e = exp; ++ RSA_set0_key(rsa_pub, mod, exp, NULL); + + out: + return rsa_pub; +@@ -2582,5 +2597,5 @@ eay_random() + const char * + eay_version() + { +- return SSLeay_version(SSLEAY_VERSION); ++ return OpenSSL_version(OPENSSL_VERSION); + } +diff --git a/src/racoon/crypto_openssl.h b/src/racoon/crypto_openssl.h +index 66fac73..ee5b765 100644 +--- a/src/racoon/crypto_openssl.h ++++ b/src/racoon/crypto_openssl.h +@@ -124,7 +124,7 @@ extern vchar_t *eay_aes_decrypt __P((vchar_t *, vchar_t *, vchar_t *)); + extern int eay_aes_weakkey __P((vchar_t *)); + extern int eay_aes_keylen __P((int)); + +-#if defined(HAVE_OPENSSL_CAMELLIA_H) ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + /* Camellia */ + extern vchar_t *eay_camellia_encrypt __P((vchar_t *, vchar_t *, vchar_t *)); + extern vchar_t *eay_camellia_decrypt __P((vchar_t *, vchar_t *, vchar_t *)); +diff --git a/src/racoon/eaytest.c b/src/racoon/eaytest.c +index 1474bdc..ae09db3 100644 +--- a/src/racoon/eaytest.c ++++ b/src/racoon/eaytest.c +@@ -62,6 +62,7 @@ + #include "dhgroup.h" + #include "crypto_openssl.h" + #include "gnuc.h" ++#include "openssl_compat.h" + + #include "package_version.h" + +@@ -103,7 +104,7 @@ rsa_verify_with_pubkey(src, sig, pubkey_txt) + printf ("PEM_read_PUBKEY(): %s\n", eay_strerror()); + return -1; + } +- error = eay_check_rsasign(src, sig, evp->pkey.rsa); ++ error = eay_check_rsasign(src, sig, EVP_PKEY_get0_RSA(evp)); + + return error; + } +@@ -698,7 +699,7 @@ ciphertest(ac, av) + eay_cast_encrypt, eay_cast_decrypt) < 0) + return -1; + +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + if (ciphertest_1 ("IDEA", + &data, 8, + &key, key.l, +@@ -715,7 +716,7 @@ ciphertest(ac, av) + eay_rc5_encrypt, eay_rc5_decrypt) < 0) + return -1; + #endif +-#if defined(HAVE_OPENSSL_CAMELLIA_H) ++#if defined(HAVE_OPENSSL_CAMELLIA_H) && ! defined(OPENSSL_NO_CAMELLIA) + if (ciphertest_1 ("CAMELLIA", + &data, 16, + &key, key.l, +diff --git a/src/racoon/ipsec_doi.c b/src/racoon/ipsec_doi.c +index 84a4c71..b52469f 100644 +--- a/src/racoon/ipsec_doi.c ++++ b/src/racoon/ipsec_doi.c +@@ -715,7 +715,7 @@ out: + /* key length must not be specified on some algorithms */ + if (keylen) { + if (sa->enctype == OAKLEY_ATTR_ENC_ALG_DES +-#ifdef HAVE_OPENSSL_IDEA_H ++#if defined(HAVE_OPENSSL_IDEA_H) && ! defined(OPENSSL_NO_IDEA) + || sa->enctype == OAKLEY_ATTR_ENC_ALG_IDEA + #endif + || sa->enctype == OAKLEY_ATTR_ENC_ALG_3DES) { +diff --git a/src/racoon/openssl_compat.c b/src/racoon/openssl_compat.c +new file mode 100644 +index 0000000..864b5fb +--- /dev/null ++++ b/src/racoon/openssl_compat.c +@@ -0,0 +1,213 @@ ++/* ++ * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. ++ * ++ * Licensed under the OpenSSL license (the "License"). You may not use ++ * this file except in compliance with the License. You can obtain a copy ++ * in the file LICENSE in the source distribution or at ++ * https://www.openssl.org/source/license.html ++ */ ++ ++#include "openssl_compat.h" ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++ ++static void *OPENSSL_zalloc(size_t num) ++{ ++ void *ret = OPENSSL_malloc(num); ++ ++ if (ret != NULL) ++ memset(ret, 0, num); ++ return ret; ++} ++ ++int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) ++{ ++ /* If the fields n and e in r are NULL, the corresponding input ++ * parameters MUST be non-NULL for n and e. d may be ++ * left NULL (in case only the public key is used). ++ */ ++ if ((r->n == NULL && n == NULL) ++ || (r->e == NULL && e == NULL)) ++ return 0; ++ ++ if (n != NULL) { ++ BN_free(r->n); ++ r->n = n; ++ } ++ if (e != NULL) { ++ BN_free(r->e); ++ r->e = e; ++ } ++ if (d != NULL) { ++ BN_free(r->d); ++ r->d = d; ++ } ++ ++ return 1; ++} ++ ++int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) ++{ ++ /* If the fields p and q in r are NULL, the corresponding input ++ * parameters MUST be non-NULL. ++ */ ++ if ((r->p == NULL && p == NULL) ++ || (r->q == NULL && q == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(r->p); ++ r->p = p; ++ } ++ if (q != NULL) { ++ BN_free(r->q); ++ r->q = q; ++ } ++ ++ return 1; ++} ++ ++int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) ++{ ++ /* If the fields dmp1, dmq1 and iqmp in r are NULL, the corresponding input ++ * parameters MUST be non-NULL. ++ */ ++ if ((r->dmp1 == NULL && dmp1 == NULL) ++ || (r->dmq1 == NULL && dmq1 == NULL) ++ || (r->iqmp == NULL && iqmp == NULL)) ++ return 0; ++ ++ if (dmp1 != NULL) { ++ BN_free(r->dmp1); ++ r->dmp1 = dmp1; ++ } ++ if (dmq1 != NULL) { ++ BN_free(r->dmq1); ++ r->dmq1 = dmq1; ++ } ++ if (iqmp != NULL) { ++ BN_free(r->iqmp); ++ r->iqmp = iqmp; ++ } ++ ++ return 1; ++} ++ ++void RSA_get0_key(const RSA *r, ++ const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = r->n; ++ if (e != NULL) ++ *e = r->e; ++ if (d != NULL) ++ *d = r->d; ++} ++ ++void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) ++{ ++ if (p != NULL) ++ *p = r->p; ++ if (q != NULL) ++ *q = r->q; ++} ++ ++void RSA_get0_crt_params(const RSA *r, ++ const BIGNUM **dmp1, const BIGNUM **dmq1, ++ const BIGNUM **iqmp) ++{ ++ if (dmp1 != NULL) ++ *dmp1 = r->dmp1; ++ if (dmq1 != NULL) ++ *dmq1 = r->dmq1; ++ if (iqmp != NULL) ++ *iqmp = r->iqmp; ++} ++ ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ /* If the fields p and g in d are NULL, the corresponding input ++ * parameters MUST be non-NULL. q may remain NULL. ++ */ ++ if ((dh->p == NULL && p == NULL) ++ || (dh->g == NULL && g == NULL)) ++ return 0; ++ ++ if (p != NULL) { ++ BN_free(dh->p); ++ dh->p = p; ++ } ++ if (q != NULL) { ++ BN_free(dh->q); ++ dh->q = q; ++ } ++ if (g != NULL) { ++ BN_free(dh->g); ++ dh->g = g; ++ } ++ ++ if (q != NULL) { ++ dh->length = BN_num_bits(q); ++ } ++ ++ return 1; ++} ++ ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key) ++{ ++ if (pub_key != NULL) ++ *pub_key = dh->pub_key; ++ if (priv_key != NULL) ++ *priv_key = dh->priv_key; ++} ++ ++int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key) ++{ ++ /* If the field pub_key in dh is NULL, the corresponding input ++ * parameters MUST be non-NULL. The priv_key field may ++ * be left NULL. ++ */ ++ if (dh->pub_key == NULL && pub_key == NULL) ++ return 0; ++ ++ if (pub_key != NULL) { ++ BN_free(dh->pub_key); ++ dh->pub_key = pub_key; ++ } ++ if (priv_key != NULL) { ++ BN_free(dh->priv_key); ++ dh->priv_key = priv_key; ++ } ++ ++ return 1; ++} ++ ++int DH_set_length(DH *dh, long length) ++{ ++ dh->length = length; ++ return 1; ++} ++ ++HMAC_CTX *HMAC_CTX_new(void) ++{ ++ return OPENSSL_zalloc(sizeof(HMAC_CTX)); ++} ++ ++void HMAC_CTX_free(HMAC_CTX *ctx) ++{ ++ HMAC_CTX_cleanup(ctx); ++ OPENSSL_free(ctx); ++} ++ ++RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey) ++{ ++ if (pkey->type != EVP_PKEY_RSA) { ++ return NULL; ++ } ++ return pkey->pkey.rsa; ++} ++ ++ ++#endif /* OPENSSL_VERSION_NUMBER */ +diff --git a/src/racoon/openssl_compat.h b/src/racoon/openssl_compat.h +new file mode 100644 +index 0000000..9e152c2 +--- /dev/null ++++ b/src/racoon/openssl_compat.h +@@ -0,0 +1,45 @@ ++#ifndef OPENSSL_COMPAT_H ++#define OPENSSL_COMPAT_H ++ ++#include ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++#include ++#include ++#include ++#include ++ ++int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); ++int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); ++int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp); ++void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d); ++void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q); ++void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp); ++ ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g); ++void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key); ++int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key); ++int DH_set_length(DH *dh, long length); ++ ++HMAC_CTX *HMAC_CTX_new(void); ++void HMAC_CTX_free(HMAC_CTX* ctx); ++ ++RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey); ++ ++#define ASN1_STRING_length(s) s->length ++#define ASN1_STRING_get0_data(s) s->data ++ ++#define X509_get_subject_name(x) x->cert_info->subject ++#define X509_get_issuer_name(x) x->cert_info->issuer ++#define X509_NAME_ENTRY_get_data(n) n->value ++#define X509_NAME_ENTRY_get_object(n) n->object ++#define X509_STORE_CTX_get_current_cert(ctx) ctx->current_cert ++#define X509_STORE_CTX_get_error(ctx) ctx->error ++#define X509_STORE_CTX_get_error_depth(ctx) ctx->error_depth ++ ++#define OPENSSL_VERSION SSLEAY_VERSION ++#define OpenSSL_version SSLeay_version ++ ++#endif /* OPENSSL_VERSION_NUMBER */ ++ ++#endif /* OPENSSL_COMPAT_H */ +diff --git a/src/racoon/plainrsa-gen.c b/src/racoon/plainrsa-gen.c +index cad1861..b949b08 100644 +--- a/src/racoon/plainrsa-gen.c ++++ b/src/racoon/plainrsa-gen.c +@@ -60,6 +60,7 @@ + #include "vmbuf.h" + #include "plog.h" + #include "crypto_openssl.h" ++#include "openssl_compat.h" + + #include "package_version.h" + +@@ -90,12 +91,14 @@ mix_b64_pubkey(const RSA *key) + char *binbuf; + long binlen, ret; + vchar_t *res; +- +- binlen = 1 + BN_num_bytes(key->e) + BN_num_bytes(key->n); ++ const BIGNUM *e, *n; ++ ++ RSA_get0_key(key, &n, &e, NULL); ++ binlen = 1 + BN_num_bytes(e) + BN_num_bytes(n); + binbuf = malloc(binlen); + memset(binbuf, 0, binlen); +- binbuf[0] = BN_bn2bin(key->e, (unsigned char *) &binbuf[1]); +- ret = BN_bn2bin(key->n, (unsigned char *) (&binbuf[binbuf[0] + 1])); ++ binbuf[0] = BN_bn2bin(e, (unsigned char *) &binbuf[1]); ++ ret = BN_bn2bin(n, (unsigned char *) (&binbuf[binbuf[0] + 1])); + if (1 + binbuf[0] + ret != binlen) { + plog(LLV_ERROR, LOCATION, NULL, + "Pubkey generation failed. This is really strange...\n"); +@@ -131,16 +134,20 @@ print_rsa_key(FILE *fp, const RSA *key) + + fprintf(fp, "# : PUB 0s%s\n", pubkey64->v); + fprintf(fp, ": RSA\t{\n"); +- fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(key->n)); ++ const BIGNUM *n, *e, *d, *p, *q, *dmp1, *dmq1, *iqmp; ++ RSA_get0_key(key, &n, &e, &d); ++ RSA_get0_factors(key, &p, &q); ++ RSA_get0_crt_params(key, &dmp1, &dmq1, &iqmp); ++ fprintf(fp, "\t# RSA %d bits\n", BN_num_bits(n)); + fprintf(fp, "\t# pubkey=0s%s\n", pubkey64->v); +- fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(key->n))); +- fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(key->e))); +- fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(key->d))); +- fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(key->p))); +- fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(key->q))); +- fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(key->dmp1))); +- fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(key->dmq1))); +- fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(key->iqmp))); ++ fprintf(fp, "\tModulus: 0x%s\n", lowercase(BN_bn2hex(n))); ++ fprintf(fp, "\tPublicExponent: 0x%s\n", lowercase(BN_bn2hex(e))); ++ fprintf(fp, "\tPrivateExponent: 0x%s\n", lowercase(BN_bn2hex(d))); ++ fprintf(fp, "\tPrime1: 0x%s\n", lowercase(BN_bn2hex(p))); ++ fprintf(fp, "\tPrime2: 0x%s\n", lowercase(BN_bn2hex(q))); ++ fprintf(fp, "\tExponent1: 0x%s\n", lowercase(BN_bn2hex(dmp1))); ++ fprintf(fp, "\tExponent2: 0x%s\n", lowercase(BN_bn2hex(dmq1))); ++ fprintf(fp, "\tCoefficient: 0x%s\n", lowercase(BN_bn2hex(iqmp))); + fprintf(fp, " }\n"); + + vfree(pubkey64); +@@ -203,11 +210,13 @@ int + gen_rsa_key(FILE *fp, size_t bits, unsigned long exp) + { + int ret; +- RSA *key; ++ RSA *key = RSA_new(); ++ BIGNUM *e = BN_new(); + +- key = RSA_generate_key(bits, exp, NULL, NULL); +- if (!key) { ++ BN_set_word(e, exp); ++ if (! RSA_generate_key_ex(key, bits, e, NULL)) { + fprintf(stderr, "RSA_generate_key(): %s\n", eay_strerror()); ++ RSA_free(key); + return -1; + } + +diff --git a/src/racoon/prsa_par.y b/src/racoon/prsa_par.y +index 1987e4d..27ce4c6 100644 +--- a/src/racoon/prsa_par.y ++++ b/src/racoon/prsa_par.y +@@ -68,6 +68,7 @@ + #include "isakmp_var.h" + #include "handler.h" + #include "crypto_openssl.h" ++#include "openssl_compat.h" + #include "sockmisc.h" + #include "rsalist.h" + +@@ -85,7 +86,18 @@ char *prsa_cur_fname = NULL; + struct genlist *prsa_cur_list = NULL; + enum rsa_key_type prsa_cur_type = RSA_TYPE_ANY; + +-static RSA *rsa_cur; ++struct my_rsa_st { ++ BIGNUM *n; ++ BIGNUM *e; ++ BIGNUM *d; ++ BIGNUM *p; ++ BIGNUM *q; ++ BIGNUM *dmp1; ++ BIGNUM *dmq1; ++ BIGNUM *iqmp; ++}; ++ ++static struct my_rsa_st *rsa_cur; + + void + prsaerror(const char *s, ...) +@@ -201,8 +213,12 @@ rsa_statement: + rsa_cur->iqmp = NULL; + } + } +- $$ = rsa_cur; +- rsa_cur = RSA_new(); ++ RSA * rsa_tmp = RSA_new(); ++ RSA_set0_key(rsa_tmp, rsa_cur->n, rsa_cur->e, rsa_cur->d); ++ RSA_set0_factors(rsa_tmp, rsa_cur->p, rsa_cur->q); ++ RSA_set0_crt_params(rsa_tmp, rsa_cur->dmp1, rsa_cur->dmq1, rsa_cur->iqmp); ++ $$ = rsa_tmp; ++ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); + } + | TAG_PUB BASE64 + { +@@ -351,10 +367,12 @@ prsa_parse_file(struct genlist *list, char *fname, enum rsa_key_type type) + prsa_cur_fname = fname; + prsa_cur_list = list; + prsa_cur_type = type; +- rsa_cur = RSA_new(); ++ rsa_cur = malloc(sizeof(struct my_rsa_st)); ++ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); + ret = prsaparse(); + if (rsa_cur) { +- RSA_free(rsa_cur); ++ memset(rsa_cur, 0, sizeof(struct my_rsa_st)); ++ free(rsa_cur); + rsa_cur = NULL; + } + fclose (fp); +diff --git a/src/racoon/rsalist.c b/src/racoon/rsalist.c +index f152c82..96e8363 100644 +--- a/src/racoon/rsalist.c ++++ b/src/racoon/rsalist.c +@@ -52,6 +52,7 @@ + #include "genlist.h" + #include "remoteconf.h" + #include "crypto_openssl.h" ++#include "openssl_compat.h" + + #ifndef LIST_FIRST + #define LIST_FIRST(head) ((head)->lh_first) +@@ -98,7 +99,9 @@ rsa_key_dup(struct rsa_key *key) + return NULL; + + if (key->rsa) { +- new->rsa = key->rsa->d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa); ++ const BIGNUM *d; ++ RSA_get0_key(key->rsa, NULL, NULL, &d); ++ new->rsa = (d != NULL ? RSAPrivateKey_dup(key->rsa) : RSAPublicKey_dup(key->rsa)); + if (new->rsa == NULL) + goto dup_error; + } +-- +2.16.1 + diff --git a/bsp/buildroot/package/ipsec-tools/Config.in b/bsp/buildroot/package/ipsec-tools/Config.in index 1635675a..59154123 100644 --- a/bsp/buildroot/package/ipsec-tools/Config.in +++ b/bsp/buildroot/package/ipsec-tools/Config.in @@ -57,17 +57,17 @@ config BR2_PACKAGE_IPSEC_TOOLS_HYBRID choice prompt "Security context" - default BR2_PACKAGE_IPSEC_SECCTX_DISABLE + default BR2_PACKAGE_IPSEC_TOOLS_SECCTX_DISABLE help Selects whether or not to enable security context support. -config BR2_PACKAGE_IPSEC_SECCTX_DISABLE +config BR2_PACKAGE_IPSEC_TOOLS_SECCTX_DISABLE bool "Disable security context support" -config BR2_PACKAGE_IPSEC_SECCTX_ENABLE +config BR2_PACKAGE_IPSEC_TOOLS_SECCTX_ENABLE bool "Enable SELinux security context support" -config BR2_PACKAGE_IPSEC_SECCTX_KERNEL +config BR2_PACKAGE_IPSEC_TOOLS_SECCTX_KERNEL bool "Enable kernel security context" endchoice diff --git a/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk b/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk index 20c7ab4f..86722725 100644 --- a/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk +++ b/bsp/buildroot/package/ipsec-tools/ipsec-tools.mk @@ -68,13 +68,13 @@ else IPSEC_TOOLS_CONF_OPTS += --disable-hybrid endif -ifeq ($(BR2_PACKAGE_IPSEC_SECCTX_DISABLE),y) +ifeq ($(BR2_PACKAGE_IPSEC_TOOLS_SECCTX_DISABLE),y) IPSEC_TOOLS_CONF_OPTS += --enable-security-context=no endif -ifeq ($(BR2_PACKAGE_IPSEC_SECCTX_ENABLE),y) +ifeq ($(BR2_PACKAGE_IPSEC_TOOLS_SECCTX_ENABLE),y) IPSEC_TOOLS_CONF_OPTS += --enable-security-context=yes endif -ifeq ($(BR2_PACKAGE_IPSEC_SECCTX_KERNEL),y) +ifeq ($(BR2_PACKAGE_IPSEC_TOOLS_SECCTX_KERNEL),y) IPSEC_TOOLS_CONF_OPTS += --enable-security-context=kernel endif diff --git a/bsp/buildroot/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch b/bsp/buildroot/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch deleted file mode 100644 index 84863e6e..00000000 --- a/bsp/buildroot/package/ipset/0001-Replace-the-last-reference-to-u_int8_t-with-uint8_t.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a4212bf911026740afc7fce98d9100e2ef5dcea0 Mon Sep 17 00:00:00 2001 -From: Jozsef Kadlecsik -Date: Tue, 26 Sep 2017 07:00:13 +0200 -Subject: [PATCH] Replace the last reference to u_int8_t with uint8_t. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit a4212bf911026740 - - src/ipset.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/ipset.c b/src/ipset.c -index 79f56b869ea7..df0778a92d8b 100644 ---- a/src/ipset.c -+++ b/src/ipset.c -@@ -282,7 +282,7 @@ call_parser(int *argc, char *argv[], const struct ipset_type *type, - const struct ipset_arg *arg; - const char *optstr; - const struct ipset_type *t = type; -- u_int8_t revision = type->revision; -+ uint8_t revision = type->revision; - int ret = 0, i = 1; - - /* Currently CREATE and ADT may have got additional arguments */ --- -2.14.2 - diff --git a/bsp/buildroot/package/ipset/ipset.hash b/bsp/buildroot/package/ipset/ipset.hash index dcd709e8..46e285b1 100644 --- a/bsp/buildroot/package/ipset/ipset.hash +++ b/bsp/buildroot/package/ipset/ipset.hash @@ -1,6 +1,6 @@ -# From http://ftp.netfilter.org/pub/ipset/ipset-6.34.tar.bz2.md5sum.txt -md5 51bd03f976a1501fd45e1d71a1e2e6bf ipset-6.34.tar.bz2 +# From http://ipset.netfilter.org/ipset-7.1.tar.bz2.md5sum.txt +md5 72b477d1ce076d681b0799f88280f2f3 ipset-7.1.tar.bz2 # Calculated based on the hash above -sha256 d70e831b670b7aa25dde81fd994d3a7ce0c0e801559a557105576df66cd8d680 ipset-6.34.tar.bz2 +sha256 7b5eb3b93205c20cdc39e3fc8b6e5f7bb214bf79a7c0c00729dd4a31ce16adc4 ipset-7.1.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/bsp/buildroot/package/ipset/ipset.mk b/bsp/buildroot/package/ipset/ipset.mk index d7299568..542afc96 100644 --- a/bsp/buildroot/package/ipset/ipset.mk +++ b/bsp/buildroot/package/ipset/ipset.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPSET_VERSION = 6.34 +IPSET_VERSION = 7.1 IPSET_SOURCE = ipset-$(IPSET_VERSION).tar.bz2 IPSET_SITE = http://ipset.netfilter.org IPSET_DEPENDENCIES = libmnl host-pkgconf diff --git a/bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch b/bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch new file mode 100644 index 00000000..37c6f96a --- /dev/null +++ b/bsp/buildroot/package/iptables/0001-ebtables-vlan-fix-userspace-kernel-headers-collision.patch @@ -0,0 +1,45 @@ +From 51d374ba41ae4f1bb851228c06b030b83dd2092f Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 13 Nov 2018 19:22:08 +0200 +Subject: [PATCH] ebtables: vlan: fix userspace/kernel headers collision + +Build with musl libc fails because of conflicting struct ethhdr +definitions: + +In file included from .../sysroot/usr/include/net/ethernet.h:10:0, + from ../iptables/nft-bridge.h:8, + from libebt_vlan.c:18: +.../sysroot/usr/include/netinet/if_ether.h:107:8: error: redefinition of ‘struct ethhdr’ + struct ethhdr { + ^~~~~~ +In file included from libebt_vlan.c:16:0: +.../sysroot/usr/include/linux/if_ether.h:160:8: note: originally defined here + struct ethhdr { + ^~~~~~ + +Include the userspace header first for the definition suppression logic +to do the right thing. + +Signed-off-by: Baruch Siach +Signed-off-by: Pablo Neira Ayuso +--- +Upstream status: commit 51d374ba41ae + + extensions/libebt_vlan.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/extensions/libebt_vlan.c b/extensions/libebt_vlan.c +index 4a2eb7126895..be269c6cdb4c 100644 +--- a/extensions/libebt_vlan.c ++++ b/extensions/libebt_vlan.c +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + #include + #include + #include "iptables/nft.h" +-- +2.19.1 + diff --git a/bsp/buildroot/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch b/bsp/buildroot/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch deleted file mode 100644 index 1f86ad13..00000000 --- a/bsp/buildroot/package/iptables/0001-utils-nfsynproxy-fix-build-with-musl-libc.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 06e0312d0bfd1f0b9e7c23ab654f18524d49e86b Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 2 Mar 2017 09:20:48 +0200 -Subject: [PATCH] utils: nfsynproxy: fix build with musl libc - -The musl libc exposes some struct tcphdr field only when _GNU_SOURCE is -defined. Fix the following build failure: - -nfsynproxy.c: In function ‘parse_packet’: -nfsynproxy.c:34:9: error: ‘const struct tcphdr’ has no member named ‘syn’ - if (!th->syn || !th->ack) - ^ -nfsynproxy.c:34:21: error: ‘const struct tcphdr’ has no member named ‘ack’ - if (!th->syn || !th->ack) - ^ -nfsynproxy.c:42:8: error: ‘const struct tcphdr’ has no member named ‘res2’ - if (th->res2 == 0x1) - ^ -nfsynproxy.c:45:13: error: ‘const struct tcphdr’ has no member named ‘doff’ - length = th->doff * 4 - sizeof(*th); - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: pending (http://patchwork.ozlabs.org/patch/734503/) - - utils/nfsynproxy.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/utils/nfsynproxy.c b/utils/nfsynproxy.c -index baedc92c5d9f..bf5c416340f1 100644 ---- a/utils/nfsynproxy.c -+++ b/utils/nfsynproxy.c -@@ -6,6 +6,7 @@ - * published by the Free Software Foundation. - */ - -+#define _GNU_SOURCE - #include - #include - #include --- -2.11.0 - diff --git a/bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch b/bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch new file mode 100644 index 00000000..18dbc28f --- /dev/null +++ b/bsp/buildroot/package/iptables/0002-xtables-monitor-fix-build-with-older-glibc.patch @@ -0,0 +1,77 @@ +From 7c8791edac3e74f6ce0bf21f98bc820db8e55e62 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 16 Nov 2018 07:23:32 +0200 +Subject: [PATCH] xtables-monitor: fix build with older glibc + +glibc older than 2.19 only expose BSD style fields of struct tcphdr when +_BSD_SOURCE is define. Current glibc however, warn that _BSD_SOURCE is +deprecated. Migrate to the GNU style of tcphdr fields to make the code +compatible with any glibc version. + +Fix the following build failure: + +xtables-monitor.c: In function 'trace_print_packet': +xtables-monitor.c:406:43: error: 'const struct tcphdr' has no member named 'th_sport' + printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); + ^ +xtables-monitor.c:406:66: error: 'const struct tcphdr' has no member named 'th_dport' + printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); + ^ +... + +Signed-off-by: Baruch Siach +Signed-off-by: Florian Westphal +--- +Upstream status: commit 7c8791edac3e74 + + iptables/xtables-monitor.c | 30 ++++++++++++++---------------- + 1 file changed, 14 insertions(+), 16 deletions(-) + +diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c +index 3b1ca777a28a..5d1611122df5 100644 +--- a/iptables/xtables-monitor.c ++++ b/iptables/xtables-monitor.c +@@ -403,26 +403,24 @@ static void trace_print_packet(const struct nftnl_trace *nlt, struct cb_arg *arg + case IPPROTO_UDP: + if (len < 4) + break; +- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); ++ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); + break; + case IPPROTO_TCP: + if (len < sizeof(*tcph)) + break; +- printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), ntohs(tcph->th_dport)); +- if (tcph->th_flags & (TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG)) { +- if (tcph->th_flags & TH_SYN) +- printf("SYN "); +- if (tcph->th_flags & TH_ACK) +- printf("ACK "); +- if (tcph->th_flags & TH_FIN) +- printf("FIN "); +- if (tcph->th_flags & TH_RST) +- printf("RST "); +- if (tcph->th_flags & TH_PUSH) +- printf("PSH "); +- if (tcph->th_flags & TH_URG) +- printf("URG "); +- } ++ printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); ++ if (tcph->syn) ++ printf("SYN "); ++ if (tcph->ack) ++ printf("ACK "); ++ if (tcph->fin) ++ printf("FIN "); ++ if (tcph->rst) ++ printf("RST "); ++ if (tcph->psh) ++ printf("PSH "); ++ if (tcph->urg) ++ printf("URG "); + break; + default: + break; +-- +2.19.1 + diff --git a/bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch b/bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch new file mode 100644 index 00000000..c5cd6437 --- /dev/null +++ b/bsp/buildroot/package/iptables/0003-include-fix-build-with-kernel-headers-before-4.2.patch @@ -0,0 +1,51 @@ +From 8d9d7e4b9ef4c6e6abab2cf35c747d7ca36824bd Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 16 Nov 2018 09:30:33 +0200 +Subject: [PATCH] include: fix build with kernel headers before 4.2 + +Commit 672accf1530 (include: update kernel netfilter header files) +updated linux/netfilter.h and brought with it the update from kernel +commit a263653ed798 (netfilter: don't pull include/linux/netfilter.h +from netns headers). This triggers conflict of headers that is fixed in +kernel commit 279c6c7fa64f (api: fix compatibility of linux/in.h with +netinet/in.h) included in kernel version 4.2. For earlier kernel headers +we need a workaround that prevents the headers conflict. + +Fixes the following build failure: + +In file included from .../sysroot/usr/include/netinet/ip.h:25:0, + from ../include/libiptc/ipt_kernel_headers.h:8, + from ../include/libiptc/libiptc.h:6, + from libip4tc.c:29: +.../sysroot/usr/include/linux/in.h:26:3: error: redeclaration of enumerator ‘IPPROTO_IP’ + IPPROTO_IP = 0, /* Dummy protocol for TCP */ + ^ +.../sysroot/usr/include/netinet/in.h:33:5: note: previous definition of ‘IPPROTO_IP’ was here + IPPROTO_IP = 0, /* Dummy protocol for TCP. */ + ^~~~~~~~~~ + +Signed-off-by: Baruch Siach +Signed-off-by: Florian Westphal +--- +Upstream status: commit 8d9d7e4b9ef4c6 + + include/linux/netfilter.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h +index c3f087ac680c..bacf8cd92116 100644 +--- a/include/linux/netfilter.h ++++ b/include/linux/netfilter.h +@@ -3,7 +3,9 @@ + + #include + ++#ifndef _NETINET_IN_H + #include ++#endif + #include + #include + +-- +2.19.1 + diff --git a/bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch b/bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch new file mode 100644 index 00000000..0b6358b2 --- /dev/null +++ b/bsp/buildroot/package/iptables/0004-xtables-monitor-fix-build-with-musl-libc.patch @@ -0,0 +1,44 @@ +From 90b0d3abfc0b4150b198eb17080d75acc5838a59 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sat, 17 Nov 2018 22:20:08 +0200 +Subject: [PATCH] xtables-monitor: fix build with musl libc + +Commit 7c8791edac3 ("xtables-monitor: fix build with older glibc") +changed the code to use GNU style tcphdr fields. Unfortunately, musl +libc requires _GNU_SOURCE definition to expose these fields. + +Fix the following build failure: + +xtables-monitor.c: In function ‘trace_print_packet’: +xtables-monitor.c:406:43: error: ‘const struct tcphdr’ has no member named ‘source’ + printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); + ^~ +xtables-monitor.c:406:64: error: ‘const struct tcphdr’ has no member named ‘dest’ + printf("SPORT=%d DPORT=%d ", ntohs(tcph->source), ntohs(tcph->dest)); + ^~ +... + +Cc: Florian Westphal +Signed-off-by: Baruch Siach +Signed-off-by: Florian Westphal +--- +Upstream status: commit 90b0d3abfc0b + + iptables/xtables-monitor.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/iptables/xtables-monitor.c b/iptables/xtables-monitor.c +index 5d1611122df5..f835c5e503e0 100644 +--- a/iptables/xtables-monitor.c ++++ b/iptables/xtables-monitor.c +@@ -9,6 +9,7 @@ + * This software has been sponsored by Sophos Astaro + */ + ++#define _GNU_SOURCE + #include + #include + #include +-- +2.19.1 + diff --git a/bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch b/bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch new file mode 100644 index 00000000..6b1ffbd6 --- /dev/null +++ b/bsp/buildroot/package/iptables/0005-include-extend-the-headers-conflict-workaround-to-in.patch @@ -0,0 +1,37 @@ +From 23dee088cd54aae94f1b71046f2ab2b206eedd42 Mon Sep 17 00:00:00 2001 +Message-Id: <23dee088cd54aae94f1b71046f2ab2b206eedd42.1543092537.git.baruch@tkos.co.il> +From: Baruch Siach +Date: Sat, 24 Nov 2018 22:33:37 +0200 +Subject: [PATCH] include: extend the headers conflict workaround to in6.h + +Commit 8d9d7e4b9ef ("include: fix build with kernel headers before 4.2") +introduced a kernel/user headers conflict workaround that allows build +of iptables with kernel headers older than 4.2. This minor extension +allows build with kernel headers older than 3.12, which is the version +that introduced explicit IP headers synchronization. + +Cc: Florian Westphal +Signed-off-by: Baruch Siach +--- +Upstream status: https://www.spinics.net/lists/netfilter-devel/msg57029.html + + include/linux/netfilter.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h +index bacf8cd92116..042d8b1478e0 100644 +--- a/include/linux/netfilter.h ++++ b/include/linux/netfilter.h +@@ -5,8 +5,8 @@ + + #ifndef _NETINET_IN_H + #include +-#endif + #include ++#endif + #include + + /* Responses from hook functions. */ +-- +2.19.1 + diff --git a/bsp/buildroot/package/iptables/iptables.hash b/bsp/buildroot/package/iptables/iptables.hash index b673c8ab..d84bd3af 100644 --- a/bsp/buildroot/package/iptables/iptables.hash +++ b/bsp/buildroot/package/iptables/iptables.hash @@ -1,3 +1,4 @@ -# From ftp://ftp.netfilter.org/pub/iptables/iptables-1.6.1.tar.bz2.{md5sum,sha1sum} -md5 ab38a33806b6182c6f53d6afb4619add iptables-1.6.1.tar.bz2 -sha1 b2592490ca7a6c2cd0f069e167a4337c86acdf91 iptables-1.6.1.tar.bz2 +# From https://netfilter.org/projects/iptables/downloads.html +sha256 a3778b50ed1a3256f9ca975de82c2204e508001fc2471238c8c97f3d1c4c12af iptables-1.8.2.tar.bz2 +# Locally calculated +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/iptables/iptables.mk b/bsp/buildroot/package/iptables/iptables.mk index 44cfde2b..54494937 100644 --- a/bsp/buildroot/package/iptables/iptables.mk +++ b/bsp/buildroot/package/iptables/iptables.mk @@ -4,9 +4,9 @@ # ################################################################################ -IPTABLES_VERSION = 1.6.1 +IPTABLES_VERSION = 1.8.2 IPTABLES_SOURCE = iptables-$(IPTABLES_VERSION).tar.bz2 -IPTABLES_SITE = http://ftp.netfilter.org/pub/iptables +IPTABLES_SITE = https://netfilter.org/projects/iptables/files IPTABLES_INSTALL_STAGING = YES IPTABLES_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack) diff --git a/bsp/buildroot/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch b/bsp/buildroot/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch new file mode 100644 index 00000000..556d3786 --- /dev/null +++ b/bsp/buildroot/package/iputils/0001-ping-Fix-AI_CANONIDN-usage-on-some-systems.patch @@ -0,0 +1,57 @@ +From 25899e849aa3abc1ad29ebf0b830262a859eaed5 Mon Sep 17 00:00:00 2001 +From: Petr Vorel +Date: Sat, 21 Jul 2018 17:46:14 +0200 +Subject: [PATCH] ping: Fix AI_CANONIDN usage on some systems + +Commit 99f67db used AI_CANONIDN in a way, which broke compilation on +systems where AI_CANONIDN is not defined in netdb.h (e.g. glibc < 2.3.4, +alternative libcs that don't support IDN: e.g. current musl 1.1.19 and +uClibc-ng 1.0.30) when not using the system libidn2. + +Fixes: 99f67db ping: Fix ping name encoded using ACE on C locale + +Reported-by: Nicholas Fish +Signed-off-by: Petr Vorel +--- + ping.c | 2 +- + ping.h | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ping.c b/ping.c +index 733477f..b241815 100644 +--- a/ping.c ++++ b/ping.c +@@ -207,9 +207,9 @@ main(int argc, char **argv) + + #ifdef USE_IDN + setlocale(LC_ALL, ""); +-#endif + if (!strcmp(setlocale(LC_ALL, NULL), "C")) + hints.ai_flags &= ~ AI_CANONIDN; ++#endif + + /* Support being called using `ping4` or `ping6` symlinks */ + if (argv[0][strlen(argv[0])-1] == '4') +diff --git a/ping.h b/ping.h +index 3e09685..8a0c4ef 100644 +--- a/ping.h ++++ b/ping.h +@@ -28,7 +28,6 @@ + #include + #include + #include +-#include + + #ifdef CAPABILITIES + #include +@@ -36,6 +35,7 @@ + #endif + + #ifdef USE_IDN ++#include + #include + #define getaddrinfo_flags (AI_CANONNAME | AI_IDN | AI_CANONIDN) + #define getnameinfo_flags NI_IDN +-- +2.19.0.rc2 + diff --git a/bsp/buildroot/package/iputils/iputils.hash b/bsp/buildroot/package/iputils/iputils.hash index a19348aa..14e2c671 100644 --- a/bsp/buildroot/package/iputils/iputils.hash +++ b/bsp/buildroot/package/iputils/iputils.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 f813092f03d17294fd23544b129b95cdb87fe19f7970a51908a6b88509acad8a iputils-s20161105.tar.gz +sha256 da14105291dd491f28ea91ade854ed10aee8ba019641c80eed233de3908be7c5 iputils-s20180629.tar.gz +sha256 966075293e45785230c19415bcda15bd07c75bead4fe73332d1a4b9c45bb321f ninfod/COPYING diff --git a/bsp/buildroot/package/iputils/iputils.mk b/bsp/buildroot/package/iputils/iputils.mk index 13e33898..83719712 100644 --- a/bsp/buildroot/package/iputils/iputils.mk +++ b/bsp/buildroot/package/iputils/iputils.mk @@ -11,18 +11,12 @@ # and IPv6 updates. # http://www.spinics.net/lists/netdev/msg279881.html -IPUTILS_VERSION = s20161105 +IPUTILS_VERSION = s20180629 IPUTILS_SITE = $(call github,iputils,iputils,$(IPUTILS_VERSION)) IPUTILS_LICENSE = GPL-2.0+, BSD-3-Clause, BSD-4-Clause # Only includes a license file for BSD IPUTILS_LICENSE_FILES = ninfod/COPYING -# Build after busybox so target ends up with this package's full -# versions of the applications instead of busybox applets. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -IPUTILS_DEPENDENCIES += busybox -endif - IPUTILS_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) USE_SYSFS=no USE_IDN=no\ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" diff --git a/bsp/buildroot/package/iqvlinux/Config.in b/bsp/buildroot/package/iqvlinux/Config.in deleted file mode 100644 index 89599557..00000000 --- a/bsp/buildroot/package/iqvlinux/Config.in +++ /dev/null @@ -1,18 +0,0 @@ -config BR2_PACKAGE_IQVLINUX - bool "iqvlinux" - depends on BR2_LINUX_KERNEL - help - Intel Ethernet Adapter Debug Driver for Linux (iqvlinux), - which supports kernel versions 2.6.x up through 4.0.x. - - This debug driver supports all Intel's networking Tools based - on the SDK version 2.19.36.0 or higher which support Intel - Ethernet chip including e1000, e1000e, i210... - - Note: This driver requires PCI support to be enabled - (i.e. CONFIG_PCI). - - http://sourceforge.net/projects/e1000/files/iqvlinux/ - -comment "iqvlinux needs a Linux kernel to be built" - depends on !BR2_LINUX_KERNEL diff --git a/bsp/buildroot/package/iqvlinux/iqvlinux.hash b/bsp/buildroot/package/iqvlinux/iqvlinux.hash deleted file mode 100644 index ddf57b71..00000000 --- a/bsp/buildroot/package/iqvlinux/iqvlinux.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://sourceforge.net/projects/e1000/files/iqvlinux/1.1.5.3/ -sha1 bd94416e4364015dbbd78a22e51080bf7ea81fac iqvlinux.tar.gz -md5 fb6a2a4dc122d39070fcb06985c97a05 iqvlinux.tar.gz -# locally computed -sha256 8cb19f3bfe040100a13bb2d05cb2b54f2b259e55cef23f8cc5aa6f2f31e98bec iqvlinux.tar.gz diff --git a/bsp/buildroot/package/iqvlinux/iqvlinux.mk b/bsp/buildroot/package/iqvlinux/iqvlinux.mk deleted file mode 100644 index 165c7c46..00000000 --- a/bsp/buildroot/package/iqvlinux/iqvlinux.mk +++ /dev/null @@ -1,21 +0,0 @@ -################################################################################ -# -# iqvlinux -# -################################################################################ - -IQVLINUX_VERSION = 1.1.5.3 -IQVLINUX_SITE = http://sourceforge.net/projects/e1000/files/iqvlinux/$(IQVLINUX_VERSION) -IQVLINUX_SOURCE = iqvlinux.tar.gz - -IQVLINUX_LICENSE = GPL-2.0, BSD-3-Clause -IQVLINUX_LICENSE_FILES = \ - COPYING src/linux/driver/files.txt \ - inc/linux/files.txt inc/files.txt - -IQVLINUX_MODULE_MAKE_OPTS = NALDIR=$(@D) KSRC=$(LINUX_DIR) CC=$(TARGET_CC) - -IQVLINUX_MODULE_SUBDIRS = src/linux/driver - -$(eval $(kernel-module)) -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/irqbalance/Config.in b/bsp/buildroot/package/irqbalance/Config.in index 6c214978..02d146f4 100644 --- a/bsp/buildroot/package/irqbalance/Config.in +++ b/bsp/buildroot/package/irqbalance/Config.in @@ -1,5 +1,9 @@ config BR2_PACKAGE_IRQBALANCE bool "irqbalance" + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_MMU # libglib2 + select BR2_PACKAGE_LIBGLIB2 help Irqbalance is a daemon to help balance the cpu load generated by interrupts across all of a systems cpus. @@ -9,3 +13,7 @@ config BR2_PACKAGE_IRQBALANCE minimizing cache hit rates for irq handlers. https://github.com/Irqbalance/irqbalance + +comment "irqbalance needs a toolchain w/ wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/irqbalance/irqbalance.hash b/bsp/buildroot/package/irqbalance/irqbalance.hash index 032c4915..dfe14c90 100644 --- a/bsp/buildroot/package/irqbalance/irqbalance.hash +++ b/bsp/buildroot/package/irqbalance/irqbalance.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f1b8115948bb9f0bc36b9d7143ee8be751a294bc189d311408e753acc37169c3 irqbalance-v1.0.9.tar.gz +sha256 3318eddc03782cfdad22b20eff18eaf378c498c5de286e8cbaa5521ddf4f810b irqbalance-v1.5.0.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/irqbalance/irqbalance.mk b/bsp/buildroot/package/irqbalance/irqbalance.mk index e4e6078b..063b02bb 100644 --- a/bsp/buildroot/package/irqbalance/irqbalance.mk +++ b/bsp/buildroot/package/irqbalance/irqbalance.mk @@ -4,14 +4,42 @@ # ################################################################################ -IRQBALANCE_VERSION = v1.0.9 +IRQBALANCE_VERSION = v1.5.0 IRQBALANCE_SITE = $(call github,irqbalance,irqbalance,$(IRQBALANCE_VERSION)) IRQBALANCE_LICENSE = GPL-2.0 IRQBALANCE_LICENSE_FILES = COPYING -IRQBALANCE_DEPENDENCIES = host-pkgconf +IRQBALANCE_DEPENDENCIES = host-pkgconf libglib2 # Autoreconf needed because package is distributed without a configure script IRQBALANCE_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_LIBCAP_NG),y) +IRQBALANCE_DEPENDENCIES += libcap-ng +IRQBALANCE_CONF_OPTS += --with-libcap-ng +else +IRQBALANCE_CONF_OPTS += --without-libcap-ng +endif + +ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) +IRQBALANCE_DEPENDENCIES += ncurses +IRQBALANCE_CONF_OPTS += --with-irqbalance-ui +else +IRQBALANCE_CONF_OPTS += --without-irqbalance-ui +endif + +ifeq ($(BR2_PACKAGE_NUMACTL),y) +IRQBALANCE_DEPENDENCIES += numactl +IRQBALANCE_CONF_OPTS += --enable-numa +else +IRQBALANCE_CONF_OPTS += --disable-numa +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +IRQBALANCE_DEPENDENCIES += systemd +IRQBALANCE_CONF_OPTS += --with-systemd +else +IRQBALANCE_CONF_OPTS += --without-systemd +endif + # This would be done by the package's autogen.sh script define IRQBALANCE_PRECONFIGURE mkdir -p $(@D)/m4 diff --git a/bsp/buildroot/package/irrlicht/irrlicht.mk b/bsp/buildroot/package/irrlicht/irrlicht.mk index ccd1045c..a1e190d9 100644 --- a/bsp/buildroot/package/irrlicht/irrlicht.mk +++ b/bsp/buildroot/package/irrlicht/irrlicht.mk @@ -25,7 +25,7 @@ IRRLICHT_SUBDIR = source/Irrlicht IRRLICHT_DEPENDENCIES = libgl xlib_libXxf86vm define IRRLICHT_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(IRRLICHT_SOURCE) + $(UNZIP) -d $(@D) $(IRRLICHT_DL_DIR)/$(IRRLICHT_SOURCE) mv $(@D)/irrlicht-$(IRRLICHT_VERSION)/* $(@D) $(RM) -r $(@D)/irrlicht-$(IRRLICHT_VERSION) endef diff --git a/bsp/buildroot/package/iucode-tool/S00iucode-tool b/bsp/buildroot/package/iucode-tool/S00iucode-tool index 0c1e409d..393c903b 100644 --- a/bsp/buildroot/package/iucode-tool/S00iucode-tool +++ b/bsp/buildroot/package/iucode-tool/S00iucode-tool @@ -3,21 +3,26 @@ # Upload microcode into the processor. # -microcode_file="/usr/share/misc/intel-microcode.dat" +MICROCODE_DIR="/lib/firmware/intel-ucode" + +start() { + printf 'Starting iucode-tool: ' + /usr/sbin/iucode_tool -q -k "$MICROCODE_DIR" + status="$?" + if [ "$status" = 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} case "$1" in - start) - echo "Starting iucode-tool:" - /usr/sbin/iucode_tool -k $microcode_file - echo "done" - ;; - stop) - ;; - restart|reload) - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 + start) + start;; + stop|restart|reload) + ;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 esac - -exit $? diff --git a/bsp/buildroot/package/iucode-tool/iucode-tool.hash b/bsp/buildroot/package/iucode-tool/iucode-tool.hash index 1dab8de9..6d8fb635 100644 --- a/bsp/buildroot/package/iucode-tool/iucode-tool.hash +++ b/bsp/buildroot/package/iucode-tool/iucode-tool.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 9810daf925b8a9ca244adc4e1916bcab65601c9ebe87e91c2281f78055982971 iucode-tool_2.2.tar.xz +sha256 12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95 iucode-tool_2.3.1.tar.xz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/iucode-tool/iucode-tool.mk b/bsp/buildroot/package/iucode-tool/iucode-tool.mk index fb746c3c..e900888d 100644 --- a/bsp/buildroot/package/iucode-tool/iucode-tool.mk +++ b/bsp/buildroot/package/iucode-tool/iucode-tool.mk @@ -4,7 +4,7 @@ # ################################################################################ -IUCODE_TOOL_VERSION = 2.2 +IUCODE_TOOL_VERSION = 2.3.1 IUCODE_TOOL_SOURCE = iucode-tool_$(IUCODE_TOOL_VERSION).tar.xz IUCODE_TOOL_SITE = https://gitlab.com/iucode-tool/releases/raw/master ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y) @@ -18,4 +18,12 @@ define IUCODE_TOOL_INSTALL_INIT_SYSV $(TARGET_DIR)/etc/init.d/S00iucode-tool endef +define IUCODE_TOOL_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/iucode-tool/iucode.service \ + $(TARGET_DIR)/usr/lib/systemd/system/iucode.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/iucode.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service +endef + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/iucode-tool/iucode.service b/bsp/buildroot/package/iucode-tool/iucode.service new file mode 100644 index 00000000..d99acc6a --- /dev/null +++ b/bsp/buildroot/package/iucode-tool/iucode.service @@ -0,0 +1,10 @@ +[Unit] +Description=Upload microcode into the processor + +[Service] +Type=oneshot +ExecStart=/usr/sbin/iucode_tool -k /usr/share/misc/intel-microcode.dat +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/bsp/buildroot/package/iw/iw.hash b/bsp/buildroot/package/iw/iw.hash index 414f3422..6423df77 100644 --- a/bsp/buildroot/package/iw/iw.hash +++ b/bsp/buildroot/package/iw/iw.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/software/network/iw/sha256sums.asc -sha256 324cc805fad52cba2c16b9ab569906889fb645cc962aac4cfda1db85d2de97ce iw-4.9.tar.xz +sha256 f01671c0074bfdec082a884057edba1b9efd35c89eda554638496f03b769ad89 iw-4.14.tar.xz +# Locally calculated +sha256 5932fb70481e128940168a5fdf133e6454293c0865c7e757874b235cb6daa2af COPYING diff --git a/bsp/buildroot/package/iw/iw.mk b/bsp/buildroot/package/iw/iw.mk index aa85cbb5..8264e8b5 100644 --- a/bsp/buildroot/package/iw/iw.mk +++ b/bsp/buildroot/package/iw/iw.mk @@ -4,20 +4,19 @@ # ################################################################################ -IW_VERSION = 4.9 +IW_VERSION = 4.14 IW_SOURCE = iw-$(IW_VERSION).tar.xz IW_SITE = $(BR2_KERNEL_MIRROR)/software/network/iw IW_LICENSE = ISC IW_LICENSE_FILES = COPYING IW_DEPENDENCIES = host-pkgconf libnl -IW_MAKE_OPTS = CC="$(TARGET_CC)" LD="$(TARGET_LD)" LDFLAGS="$(TARGET_LDFLAGS)" IW_MAKE_ENV = \ $(TARGET_MAKE_ENV) \ PKG_CONFIG="$(HOST_DIR)/bin/pkg-config" \ GIT_DIR=$(IW_DIR) define IW_BUILD_CMDS - $(IW_MAKE_ENV) $(MAKE) $(IW_MAKE_OPTS) -C $(@D) + $(IW_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef define IW_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/iwd/Config.in b/bsp/buildroot/package/iwd/Config.in new file mode 100644 index 00000000..c790f3db --- /dev/null +++ b/bsp/buildroot/package/iwd/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_IWD + bool "iwd" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ell + depends on !BR2_STATIC_LIBS # ell + depends on BR2_USE_WCHAR # ell + select BR2_PACKAGE_ELL + help + iNet Wireless daemon (iwd) + + https://iwd.wiki.kernel.org/ + +comment "iwd needs a toolchain w/ dynamic library, wchar" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # ell + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/iwd/iwd.hash b/bsp/buildroot/package/iwd/iwd.hash new file mode 100644 index 00000000..d8eefc06 --- /dev/null +++ b/bsp/buildroot/package/iwd/iwd.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 e416bd549474b2940b0e43ac680795fbafe2b4965fe6a977cd4c1caa1a05e897 iwd-0.13.tar.gz + +# License files +sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING diff --git a/bsp/buildroot/package/iwd/iwd.mk b/bsp/buildroot/package/iwd/iwd.mk new file mode 100644 index 00000000..63736947 --- /dev/null +++ b/bsp/buildroot/package/iwd/iwd.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# iwd +# +################################################################################ + +IWD_VERSION = 0.13 +IWD_SITE = https://git.kernel.org/pub/scm/network/wireless/iwd.git +IWD_SITE_METHOD = git +IWD_LICENSE = LGPL-2.1+ +IWD_LICENSE_FILES = COPYING +# sources from git, no configure script provided +IWD_AUTORECONF = YES + +IWD_CONF_OPTS = --enable-external-ell +IWD_DEPENDENCIES = ell + +# autoreconf requires an existing build-aux directory +define IWD_MKDIR_BUILD_AUX + mkdir -p $(@D)/build-aux +endef +IWD_POST_PATCH_HOOKS += IWD_MKDIR_BUILD_AUX + +ifeq ($(BR2_PACKAGE_DBUS),y) +IWD_CONF_OPTS += --enable-dbus-policy --with-dbus-datadir=/usr/share +IWD_DEPENDENCIES += dbus +else +IWD_CONF_OPTS += --disable-dbus-policy +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +# iwd client depends on readline (GPL-3.0+) +IWD_LICENSE := $(IWD_LICENSE), GPL-3.0+ (client) +IWD_CONF_OPTS += --enable-client +IWD_DEPENDENCIES += readline +else +IWD_CONF_OPTS += --disable-client +endif + +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +IWD_CONF_OPTS += --enable-systemd-service +IWD_DEPENDENCIES += systemd +else +IWD_CONF_OPTS += --disable-systemd-service +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/jansson/jansson.hash b/bsp/buildroot/package/jansson/jansson.hash index 7a04586c..5baec196 100644 --- a/bsp/buildroot/package/jansson/jansson.hash +++ b/bsp/buildroot/package/jansson/jansson.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 78215ad1e277b42681404c1d66870097a50eb084be9d771b1d15576575cf6447 jansson-2.10.tar.gz +sha256 5f8dec765048efac5d919aded51b26a32a05397ea207aa769ff6b53c7027d2c9 jansson-2.12.tar.gz +sha256 f0a0c95c64e9f49ec4cbfac8e7fee06823c85ee8ba4af5d57aaabb372347adc2 LICENSE diff --git a/bsp/buildroot/package/jansson/jansson.mk b/bsp/buildroot/package/jansson/jansson.mk index 9771434c..b53381d4 100644 --- a/bsp/buildroot/package/jansson/jansson.mk +++ b/bsp/buildroot/package/jansson/jansson.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANSSON_VERSION = 2.10 +JANSSON_VERSION = 2.12 JANSSON_SITE = http://www.digip.org/jansson/releases JANSSON_LICENSE = MIT JANSSON_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/janus-gateway/Config.in b/bsp/buildroot/package/janus-gateway/Config.in index 5bd4e958..6eac763f 100644 --- a/bsp/buildroot/package/janus-gateway/Config.in +++ b/bsp/buildroot/package/janus-gateway/Config.in @@ -19,21 +19,21 @@ if BR2_PACKAGE_JANUS_GATEWAY comment "plugins" -config BR2_PACKAGE_JANUS_AUDIO_BRIDGE +config BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE bool "audio bridge" select BR2_PACKAGE_OPUS -config BR2_PACKAGE_JANUS_ECHO_TEST +config BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST bool "echo test" -config BR2_PACKAGE_JANUS_RECORDPLAY +config BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY bool "record and play" -config BR2_PACKAGE_JANUS_SIP_GATEWAY +config BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY bool "sip gateway" select BR2_PACKAGE_SOFIA_SIP -config BR2_PACKAGE_JANUS_STREAMING +config BR2_PACKAGE_JANUS_GATEWAY_STREAMING bool "streaming" # SO_REUSEPORT depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 @@ -41,22 +41,22 @@ config BR2_PACKAGE_JANUS_STREAMING comment "streaming plugin needs a toolchain w/ headers >= 3.9" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 -config BR2_PACKAGE_JANUS_TEXT_ROOM +config BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM bool "text room" -config BR2_PACKAGE_JANUS_VIDEO_CALL +config BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL bool "video call" -config BR2_PACKAGE_JANUS_VIDEO_ROOM +config BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM bool "video room" -config BR2_PACKAGE_JANUS_VOICE_MAIL +config BR2_PACKAGE_JANUS_GATEWAY_VOICE_MAIL bool "voice mail" select BR2_PACKAGE_LIBOGG comment "transports" -config BR2_PACKAGE_JANUS_MQTT +config BR2_PACKAGE_JANUS_GATEWAY_MQTT bool "MQTT" depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS @@ -65,15 +65,16 @@ config BR2_PACKAGE_JANUS_MQTT comment "MQTT transport needs a toolchain w/ threads and dynamic library support" depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS -config BR2_PACKAGE_JANUS_RABBITMQ +config BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ bool "RabbitMQ" + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_RABBITMQ_C -comment "RabbitMQ transport needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "RabbitMQ transport needs a toolchain w/ dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS -config BR2_PACKAGE_JANUS_REST +config BR2_PACKAGE_JANUS_GATEWAY_REST bool "REST (HTTP/HTTPS)" depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBMICROHTTPD @@ -81,11 +82,11 @@ config BR2_PACKAGE_JANUS_REST comment "REST transport needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS -config BR2_PACKAGE_JANUS_UNIX_SOCKETS +config BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS bool "Unix Sockets" default y -config BR2_PACKAGE_JANUS_WEBSOCKETS +config BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS bool "WebSockets" depends on BR2_USE_MMU select BR2_PACKAGE_LIBWEBSOCKETS diff --git a/bsp/buildroot/package/janus-gateway/janus-gateway.hash b/bsp/buildroot/package/janus-gateway/janus-gateway.hash index f84ed8b6..9b13e0f0 100644 --- a/bsp/buildroot/package/janus-gateway/janus-gateway.hash +++ b/bsp/buildroot/package/janus-gateway/janus-gateway.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 35cbbd5e7b7067e3a0b5ba221ea845814e5b59c733302f88fea80bcf98ce416f janus-gateway-v0.2.6.tar.gz +sha256 c9c3b741a5d9f956845d5094c211690178cc0d630a7b23b870437c88a7e4ed3b janus-gateway-v0.5.0.tar.gz sha256 0a884af515b4593503f6f0c9b424db3945bd77eaa2644d25f45eb93a412b3c19 COPYING diff --git a/bsp/buildroot/package/janus-gateway/janus-gateway.mk b/bsp/buildroot/package/janus-gateway/janus-gateway.mk index c37cda08..cea06b75 100644 --- a/bsp/buildroot/package/janus-gateway/janus-gateway.mk +++ b/bsp/buildroot/package/janus-gateway/janus-gateway.mk @@ -4,7 +4,7 @@ # ################################################################################ -JANUS_GATEWAY_VERSION = v0.2.6 +JANUS_GATEWAY_VERSION = v0.5.0 JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,$(JANUS_GATEWAY_VERSION)) JANUS_GATEWAY_LICENSE = GPL-3.0 JANUS_GATEWAY_LICENSE_FILES = COPYING @@ -26,91 +26,91 @@ JANUS_GATEWAY_CONF_OPTS = \ --disable-data-channels \ --disable-sample-event-handler -ifeq ($(BR2_PACKAGE_JANUS_AUDIO_BRIDGE),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_AUDIO_BRIDGE),y) JANUS_GATEWAY_DEPENDENCIES += opus JANUS_GATEWAY_CONF_OPTS += --enable-plugin-audiobridge else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-audiobridge endif -ifeq ($(BR2_PACKAGE_JANUS_ECHO_TEST),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_ECHO_TEST),y) JANUS_GATEWAY_CONF_OPTS += --enable-plugin-echotest else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-echotest endif -ifeq ($(BR2_PACKAGE_JANUS_RECORDPLAY),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_RECORDPLAY),y) JANUS_GATEWAY_CONF_OPTS += --enable-plugin-recordplay else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-recordplay endif -ifeq ($(BR2_PACKAGE_JANUS_SIP_GATEWAY),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_SIP_GATEWAY),y) JANUS_GATEWAY_DEPENDENCIES += sofia-sip JANUS_GATEWAY_CONF_OPTS += --enable-plugin-sip else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-sip endif -ifeq ($(BR2_PACKAGE_JANUS_STREAMING),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_STREAMING),y) JANUS_GATEWAY_CONF_OPTS += --enable-plugin-streaming else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-streaming endif -ifeq ($(BR2_PACKAGE_JANUS_TEXT_ROOM),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_TEXT_ROOM),y) JANUS_GATEWAY_CONF_OPTS += --enable-plugin-textroom else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-textroom endif -ifeq ($(BR2_PACKAGE_JANUS_VIDEO_CALL),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_VIDEO_CALL),y) JANUS_GATEWAY_CONF_OPTS += --enable-plugin-videocall else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-videocall endif -ifeq ($(BR2_PACKAGE_JANUS_VIDEO_ROOM),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_VIDEO_ROOM),y) JANUS_GATEWAY_CONF_OPTS += --enable-plugin-videoroom else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-videoroom endif -ifeq ($(BR2_PACKAGE_JANUS_VOICE_MAIL),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_VOICE_MAIL),y) JANUS_GATEWAY_DEPENDENCIES += libogg JANUS_GATEWAY_CONF_OPTS += --enable-plugin-voicemail else JANUS_GATEWAY_CONF_OPTS += --disable-plugin-voicemail endif -ifeq ($(BR2_PACKAGE_JANUS_MQTT),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_MQTT),y) JANUS_GATEWAY_DEPENDENCIES += paho-mqtt-c JANUS_GATEWAY_CONF_OPTS += --enable-mqtt else JANUS_GATEWAY_CONF_OPTS += --disable-mqtt endif -ifeq ($(BR2_PACKAGE_JANUS_RABBITMQ),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_RABBITMQ),y) JANUS_GATEWAY_DEPENDENCIES += rabbitmq-c JANUS_GATEWAY_CONF_OPTS += --enable-rabbitmq else JANUS_GATEWAY_CONF_OPTS += --disable-rabbitmq endif -ifeq ($(BR2_PACKAGE_JANUS_REST),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_REST),y) JANUS_GATEWAY_DEPENDENCIES += libmicrohttpd JANUS_GATEWAY_CONF_OPTS += --enable-rest else JANUS_GATEWAY_CONF_OPTS += --disable-rest endif -ifeq ($(BR2_PACKAGE_JANUS_UNIX_SOCKETS),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_UNIX_SOCKETS),y) JANUS_GATEWAY_CONF_OPTS += --enable-unix-sockets else JANUS_GATEWAY_CONF_OPTS += --disable-unix-sockets endif -ifeq ($(BR2_PACKAGE_JANUS_WEBSOCKETS),y) +ifeq ($(BR2_PACKAGE_JANUS_GATEWAY_WEBSOCKETS),y) JANUS_GATEWAY_DEPENDENCIES += libwebsockets JANUS_GATEWAY_CONF_OPTS += --enable-websockets else diff --git a/bsp/buildroot/package/jasper/jasper.hash b/bsp/buildroot/package/jasper/jasper.hash index 8c4f2453..4fea367e 100644 --- a/bsp/buildroot/package/jasper/jasper.hash +++ b/bsp/buildroot/package/jasper/jasper.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 b50413b41bfc82ae419298b41eadcde1aa31f362fb9dc2ac089e5cbc19f60c24 jasper-version-2.0.13.tar.gz +sha256 85266eea728f8b14365db9eaf1edc7be4c348704e562bb05095b9a077cf1a97b jasper-version-2.0.14.tar.gz sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE diff --git a/bsp/buildroot/package/jasper/jasper.mk b/bsp/buildroot/package/jasper/jasper.mk index 9dc46b18..b544a7c1 100644 --- a/bsp/buildroot/package/jasper/jasper.mk +++ b/bsp/buildroot/package/jasper/jasper.mk @@ -4,7 +4,7 @@ # ################################################################################ -JASPER_VERSION = version-2.0.13 +JASPER_VERSION = version-2.0.14 JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION)) JASPER_INSTALL_STAGING = YES JASPER_LICENSE = JasPer-2.0 diff --git a/bsp/buildroot/package/jemalloc/Config.in b/bsp/buildroot/package/jemalloc/Config.in index c3fd8e34..edb582d2 100644 --- a/bsp/buildroot/package/jemalloc/Config.in +++ b/bsp/buildroot/package/jemalloc/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS default y if BR2_arm || BR2_armeb default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 - default y if BR2_mips || BR2_mipsel + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el default y if BR2_sparc64 default y if BR2_powerpc default y if BR2_sh4 || BR2sh4eb || BR2_sh4a || BR2_sh4aeb diff --git a/bsp/buildroot/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch b/bsp/buildroot/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch new file mode 100644 index 00000000..a10fcf62 --- /dev/null +++ b/bsp/buildroot/package/jpeg-turbo/0001-tjLoadImage-Fix-int-overflow-segfault-w-big-BMP.patch @@ -0,0 +1,51 @@ +From 3d9c64e9f8aa1ee954d1d0bb3390fc894bb84da3 Mon Sep 17 00:00:00 2001 +From: DRC +Date: Tue, 1 Jan 2019 18:57:36 -0600 +Subject: [PATCH] tjLoadImage(): Fix int overflow/segfault w/big BMP + +Fixes #304 + +[baruch: drop the ChangeLog.md hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit 3d9c64e9f8aa + + ChangeLog.md | 4 ++++ + turbojpeg.c | 9 ++++++--- + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/turbojpeg.c b/turbojpeg.c +index 90a9ce6a0be8..3f7cd640677f 100644 +--- a/turbojpeg.c ++++ b/turbojpeg.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C)2009-2018 D. R. Commander. All Rights Reserved. ++ * Copyright (C)2009-2019 D. R. Commander. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: +@@ -1960,7 +1960,8 @@ DLLEXPORT unsigned char *tjLoadImage(const char *filename, int *width, + int align, int *height, int *pixelFormat, + int flags) + { +- int retval = 0, tempc, pitch; ++ int retval = 0, tempc; ++ size_t pitch; + tjhandle handle = NULL; + tjinstance *this; + j_compress_ptr cinfo = NULL; +@@ -2013,7 +2014,9 @@ DLLEXPORT unsigned char *tjLoadImage(const char *filename, int *width, + *pixelFormat = cs2pf[cinfo->in_color_space]; + + pitch = PAD((*width) * tjPixelSize[*pixelFormat], align); +- if ((dstBuf = (unsigned char *)malloc(pitch * (*height))) == NULL) ++ if ((unsigned long long)pitch * (unsigned long long)(*height) > ++ (unsigned long long)((size_t)-1) || ++ (dstBuf = (unsigned char *)malloc(pitch * (*height))) == NULL) + _throwg("tjLoadImage(): Memory allocation failure"); + + if (setjmp(this->jerr.setjmp_buffer)) { +-- +2.20.1 + diff --git a/bsp/buildroot/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch b/bsp/buildroot/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch new file mode 100644 index 00000000..3e4e5bd0 --- /dev/null +++ b/bsp/buildroot/package/jpeg-turbo/0002-wrbmp.c-Don-t-allow-quantization-w-non-RGB-CS.patch @@ -0,0 +1,39 @@ +From f8cca819a4fb42aafa5f70df43c45e8c416d716f Mon Sep 17 00:00:00 2001 +From: DRC +Date: Tue, 1 Jan 2019 20:32:40 -0600 +Subject: [PATCH] wrbmp.c: Don't allow quantization w/ non-RGB CS + +If cinfo->quantize_colors == 1, then jpeg_calc_output_dimensions() will +set cinfo->output_components to 1, and if cinfo->out_color_space is not +RGB (or extended RGB), hilarity will ensue. + +Fixes #305 + +[baruch: drop the ChangeLog.md hunk] +Signed-off-by: Baruch Siach +--- +Upstream status: commit f8cca819a4 + + ChangeLog.md | 4 ++++ + wrbmp.c | 5 +++-- + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/wrbmp.c b/wrbmp.c +index 4bf81426b0ef..239f64eb3c3f 100644 +--- a/wrbmp.c ++++ b/wrbmp.c +@@ -502,8 +502,9 @@ jinit_write_bmp(j_decompress_ptr cinfo, boolean is_os2, + dest->pub.put_pixel_rows = put_gray_rows; + else + dest->pub.put_pixel_rows = put_pixel_rows; +- } else if (cinfo->out_color_space == JCS_RGB565 || +- cinfo->out_color_space == JCS_CMYK) { ++ } else if (!cinfo->quantize_colors && ++ (cinfo->out_color_space == JCS_RGB565 || ++ cinfo->out_color_space == JCS_CMYK)) { + dest->pub.put_pixel_rows = put_pixel_rows; + } else { + ERREXIT(cinfo, JERR_BMP_COLORSPACE); +-- +2.20.1 + diff --git a/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.hash b/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.hash index 11b323b8..1779324c 100644 --- a/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.hash +++ b/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.hash @@ -1,7 +1,7 @@ -# From https://sourceforge.net/projects/libjpeg-turbo/files/1.5.2/ -sha1 e788f6defa58b4393a5e1685c018f3b962971457 libjpeg-turbo-1.5.2.tar.gz -md5 6b4923e297a7eaa255f08511017a8818 libjpeg-turbo-1.5.2.tar.gz +# From https://sourceforge.net/projects/libjpeg-turbo/files/2.0.1/ +sha1 7ea4a288bccbb5a2d5bfad5fb328d4a839853f4e libjpeg-turbo-2.0.1.tar.gz +md5 1b05a66aa9b006fd04ed29f408e68f46 libjpeg-turbo-2.0.1.tar.gz # Locally computed -sha256 9098943b270388727ae61de82adec73cf9f0dbb240b3bc8b172595ebf405b528 libjpeg-turbo-1.5.2.tar.gz -sha256 5c08657eda60b7946a913ee22ac73603335a468a6aa95204506a1586a8d677ee LICENSE.md -sha256 53a3e3c299e08856964f4c5986e242c3695837b73c64625092f70c774e8af5d2 README.ijg +sha256 e5f86cec31df1d39596e0cca619ab1b01f99025a27dafdfc97a30f3a12f866ff libjpeg-turbo-2.0.1.tar.gz +sha256 8412238c5ad95965cf3c3197791e9dea8b5fae505d133449e33ee2fa754fe61e LICENSE.md +sha256 82fece2bff2669c476495f0fe70096b154e8bc5b40916a64e99836d9a01c3110 README.ijg diff --git a/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.mk b/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.mk index d52ab916..b848b668 100644 --- a/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.mk +++ b/bsp/buildroot/package/jpeg-turbo/jpeg-turbo.mk @@ -4,7 +4,7 @@ # ################################################################################ -JPEG_TURBO_VERSION = 1.5.2 +JPEG_TURBO_VERSION = 2.0.1 JPEG_TURBO_SOURCE = libjpeg-turbo-$(JPEG_TURBO_VERSION).tar.gz JPEG_TURBO_SITE = https://downloads.sourceforge.net/project/libjpeg-turbo/$(JPEG_TURBO_VERSION) JPEG_TURBO_LICENSE = IJG (libjpeg), BSD-3-Clause (TurboJPEG), Zlib (SIMD) @@ -13,14 +13,22 @@ JPEG_TURBO_INSTALL_STAGING = YES JPEG_TURBO_PROVIDES = jpeg JPEG_TURBO_DEPENDENCIES = host-pkgconf -JPEG_TURBO_CONF_OPTS = --with-jpeg8 +JPEG_TURBO_CONF_OPTS = -DWITH_JPEG8=ON + +ifeq ($(BR2_STATIC_LIBS),y) +JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=ON -DENABLE_SHARED=OFF +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=ON -DENABLE_SHARED=ON +else ifeq ($(BR2_SHARED_LIBS),y) +JPEG_TURBO_CONF_OPTS += -DENABLE_STATIC=OFF -DENABLE_SHARED=ON +endif ifeq ($(BR2_PACKAGE_JPEG_SIMD_SUPPORT),y) -JPEG_TURBO_CONF_OPTS += --with-simd +JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=ON # x86 simd support needs nasm JPEG_TURBO_DEPENDENCIES += $(if $(BR2_X86_CPU_HAS_MMX),host-nasm) else -JPEG_TURBO_CONF_OPTS += --without-simd +JPEG_TURBO_CONF_OPTS += -DWITH_SIMD=OFF endif define JPEG_TURBO_REMOVE_USELESS_TOOLS @@ -29,4 +37,4 @@ endef JPEG_TURBO_POST_INSTALL_TARGET_HOOKS += JPEG_TURBO_REMOVE_USELESS_TOOLS -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/jquery-mobile/jquery-mobile.mk b/bsp/buildroot/package/jquery-mobile/jquery-mobile.mk index 10679529..1171e60d 100644 --- a/bsp/buildroot/package/jquery-mobile/jquery-mobile.mk +++ b/bsp/buildroot/package/jquery-mobile/jquery-mobile.mk @@ -10,7 +10,7 @@ JQUERY_MOBILE_SOURCE = jquery.mobile-$(JQUERY_MOBILE_VERSION).zip JQUERY_MOBILE_LICENSE = MIT define JQUERY_MOBILE_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(JQUERY_MOBILE_SOURCE) + $(UNZIP) -d $(@D) $(JQUERY_MOBILE_DL_DIR)/$(JQUERY_MOBILE_SOURCE) endef JQUERY_MOBILE_INSTALLED_FILES = \ diff --git a/bsp/buildroot/package/jquery-sparkline/jquery-sparkline.mk b/bsp/buildroot/package/jquery-sparkline/jquery-sparkline.mk index 165c2fa9..683d84f4 100644 --- a/bsp/buildroot/package/jquery-sparkline/jquery-sparkline.mk +++ b/bsp/buildroot/package/jquery-sparkline/jquery-sparkline.mk @@ -10,7 +10,7 @@ JQUERY_SPARKLINE_SOURCE = jquery.sparkline.min.js JQUERY_SPARKLINE_LICENSE = BSD-3-Clause define JQUERY_SPARKLINE_EXTRACT_CMDS - cp $(DL_DIR)/$(JQUERY_SPARKLINE_SOURCE) $(@D) + cp $(JQUERY_SPARKLINE_DL_DIR)/$(JQUERY_SPARKLINE_SOURCE) $(@D) endef define JQUERY_SPARKLINE_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/jquery-ui-themes/Config.in b/bsp/buildroot/package/jquery-ui-themes/Config.in index fde30146..29359544 100644 --- a/bsp/buildroot/package/jquery-ui-themes/Config.in +++ b/bsp/buildroot/package/jquery-ui-themes/Config.in @@ -13,105 +13,105 @@ choice help Specify the jQuery UI theme to install. -config BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE +config BR2_PACKAGE_JQUERY_UI_THEMES_BLACK_TIE bool "black-tie" -config BR2_PACKAGE_JQUERY_UI_THEME_BLITZER +config BR2_PACKAGE_JQUERY_UI_THEMES_BLITZER bool "blitzer" -config BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO +config BR2_PACKAGE_JQUERY_UI_THEMES_CUPERTINO bool "cupertino" -config BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE +config BR2_PACKAGE_JQUERY_UI_THEMES_DARK_HIVE bool "dark-hive" -config BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV +config BR2_PACKAGE_JQUERY_UI_THEMES_DOT_LUV bool "dot-luv" -config BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT +config BR2_PACKAGE_JQUERY_UI_THEMES_EGGPLANT bool "eggplant" -config BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE +config BR2_PACKAGE_JQUERY_UI_THEMES_EXCITE_BIKE bool "excite-bike" -config BR2_PACKAGE_JQUERY_UI_THEME_FLICK +config BR2_PACKAGE_JQUERY_UI_THEMES_FLICK bool "flick" -config BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS +config BR2_PACKAGE_JQUERY_UI_THEMES_HOT_SNEAKS bool "hot-sneaks" -config BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY +config BR2_PACKAGE_JQUERY_UI_THEMES_HUMANITY bool "humanity" -config BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG +config BR2_PACKAGE_JQUERY_UI_THEMES_LE_FROG bool "le-frog" -config BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC +config BR2_PACKAGE_JQUERY_UI_THEMES_MINT_CHOC bool "mint-choc" -config BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST +config BR2_PACKAGE_JQUERY_UI_THEMES_OVERCAST bool "overcast" -config BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER +config BR2_PACKAGE_JQUERY_UI_THEMES_PEPPER_GRINDER bool "pepper-grinder" -config BR2_PACKAGE_JQUERY_UI_THEME_REDMOND +config BR2_PACKAGE_JQUERY_UI_THEMES_REDMOND bool "redmond" -config BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS +config BR2_PACKAGE_JQUERY_UI_THEMES_SMOOTHNESS bool "smoothness" -config BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET +config BR2_PACKAGE_JQUERY_UI_THEMES_SOUTH_STREET bool "south-street" -config BR2_PACKAGE_JQUERY_UI_THEME_START +config BR2_PACKAGE_JQUERY_UI_THEMES_START bool "start" -config BR2_PACKAGE_JQUERY_UI_THEME_SUNNY +config BR2_PACKAGE_JQUERY_UI_THEMES_SUNNY bool "sunny" -config BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE +config BR2_PACKAGE_JQUERY_UI_THEMES_SWANKY_PURSE bool "swanky-purse" -config BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC +config BR2_PACKAGE_JQUERY_UI_THEMES_TRONTASTIC bool "trontastic" -config BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS +config BR2_PACKAGE_JQUERY_UI_THEMES_UI_DARKNESS bool "ui-darkness" -config BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS +config BR2_PACKAGE_JQUERY_UI_THEMES_UI_LIGHTNESS bool "ui-lightness" -config BR2_PACKAGE_JQUERY_UI_THEME_VADER +config BR2_PACKAGE_JQUERY_UI_THEMES_VADER bool "vader" endchoice config BR2_PACKAGE_JQUERY_UI_THEMES_THEME string - default "black-tie" if BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE - default "blitzer" if BR2_PACKAGE_JQUERY_UI_THEME_BLITZER - default "cupertino" if BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO - default "dark-hive" if BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE - default "dot-luv" if BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV - default "eggplant" if BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT - default "excite-bike" if BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE - default "flick" if BR2_PACKAGE_JQUERY_UI_THEME_FLICK - default "hot-sneaks" if BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS - default "humanity" if BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY - default "le-frog" if BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG - default "mint-choc" if BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC - default "overcast" if BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST - default "pepper-grinder" if BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER - default "redmond" if BR2_PACKAGE_JQUERY_UI_THEME_REDMOND - default "smoothness" if BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS - default "south-street" if BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET - default "start" if BR2_PACKAGE_JQUERY_UI_THEME_START - default "sunny" if BR2_PACKAGE_JQUERY_UI_THEME_SUNNY - default "swanky-purse" if BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE - default "trontastic" if BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC - default "ui-darkness" if BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS - default "ui-lightness" if BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS - default "vader" if BR2_PACKAGE_JQUERY_UI_THEME_UI_VADER + default "black-tie" if BR2_PACKAGE_JQUERY_UI_THEMES_BLACK_TIE + default "blitzer" if BR2_PACKAGE_JQUERY_UI_THEMES_BLITZER + default "cupertino" if BR2_PACKAGE_JQUERY_UI_THEMES_CUPERTINO + default "dark-hive" if BR2_PACKAGE_JQUERY_UI_THEMES_DARK_HIVE + default "dot-luv" if BR2_PACKAGE_JQUERY_UI_THEMES_DOT_LUV + default "eggplant" if BR2_PACKAGE_JQUERY_UI_THEMES_EGGPLANT + default "excite-bike" if BR2_PACKAGE_JQUERY_UI_THEMES_EXCITE_BIKE + default "flick" if BR2_PACKAGE_JQUERY_UI_THEMES_FLICK + default "hot-sneaks" if BR2_PACKAGE_JQUERY_UI_THEMES_HOT_SNEAKS + default "humanity" if BR2_PACKAGE_JQUERY_UI_THEMES_HUMANITY + default "le-frog" if BR2_PACKAGE_JQUERY_UI_THEMES_LE_FROG + default "mint-choc" if BR2_PACKAGE_JQUERY_UI_THEMES_MINT_CHOC + default "overcast" if BR2_PACKAGE_JQUERY_UI_THEMES_OVERCAST + default "pepper-grinder" if BR2_PACKAGE_JQUERY_UI_THEMES_PEPPER_GRINDER + default "redmond" if BR2_PACKAGE_JQUERY_UI_THEMES_REDMOND + default "smoothness" if BR2_PACKAGE_JQUERY_UI_THEMES_SMOOTHNESS + default "south-street" if BR2_PACKAGE_JQUERY_UI_THEMES_SOUTH_STREET + default "start" if BR2_PACKAGE_JQUERY_UI_THEMES_START + default "sunny" if BR2_PACKAGE_JQUERY_UI_THEMES_SUNNY + default "swanky-purse" if BR2_PACKAGE_JQUERY_UI_THEMES_SWANKY_PURSE + default "trontastic" if BR2_PACKAGE_JQUERY_UI_THEMES_TRONTASTIC + default "ui-darkness" if BR2_PACKAGE_JQUERY_UI_THEMES_UI_DARKNESS + default "ui-lightness" if BR2_PACKAGE_JQUERY_UI_THEMES_UI_LIGHTNESS + default "vader" if BR2_PACKAGE_JQUERY_UI_THEMES_UI_VADER endif diff --git a/bsp/buildroot/package/jquery-ui-themes/jquery-ui-themes.mk b/bsp/buildroot/package/jquery-ui-themes/jquery-ui-themes.mk index cd3dab6d..5108389a 100644 --- a/bsp/buildroot/package/jquery-ui-themes/jquery-ui-themes.mk +++ b/bsp/buildroot/package/jquery-ui-themes/jquery-ui-themes.mk @@ -12,7 +12,7 @@ JQUERY_UI_THEMES_LICENSE_FILES = MIT-LICENSE.txt JQUERY_UI_THEMES_DEPENDENCIES = jquery-ui define JQUERY_UI_THEMES_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(JQUERY_UI_THEMES_SOURCE) + $(UNZIP) -d $(@D) $(JQUERY_UI_THEMES_DL_DIR)/$(JQUERY_UI_THEMES_SOURCE) mv $(@D)/jquery-ui-themes-$(JQUERY_UI_THEMES_VERSION)/* $(@D) $(RM) -r $(@D)/jquery-ui-themes-$(JQUERY_UI_THEMES_VERSION) endef diff --git a/bsp/buildroot/package/jquery-ui/jquery-ui.mk b/bsp/buildroot/package/jquery-ui/jquery-ui.mk index d829d624..9284e683 100644 --- a/bsp/buildroot/package/jquery-ui/jquery-ui.mk +++ b/bsp/buildroot/package/jquery-ui/jquery-ui.mk @@ -14,7 +14,7 @@ JQUERY_UI_LICENSE = MIT JQUERY_UI_LICENSE_FILES = MIT-LICENSE.txt define JQUERY_UI_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(JQUERY_UI_SOURCE) + $(UNZIP) -d $(@D) $(JQUERY_UI_DL_DIR)/$(JQUERY_UI_SOURCE) mv $(@D)/jquery-ui-$(JQUERY_UI_VERSION)/* $(@D) $(RM) -r $(@D)/jquery-ui-$(JQUERY_UI_VERSION) endef diff --git a/bsp/buildroot/package/jquery-validation/jquery-validation.mk b/bsp/buildroot/package/jquery-validation/jquery-validation.mk index 10d2a92a..a8c28979 100644 --- a/bsp/buildroot/package/jquery-validation/jquery-validation.mk +++ b/bsp/buildroot/package/jquery-validation/jquery-validation.mk @@ -11,7 +11,7 @@ JQUERY_VALIDATION_LICENSE = MIT JQUERY_VALIDATION_LICENSE_FILES = README.md define JQUERY_VALIDATION_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(JQUERY_VALIDATION_SOURCE) + $(UNZIP) -d $(@D) $(JQUERY_VALIDATION_DL_DIR)/$(JQUERY_VALIDATION_SOURCE) endef define JQUERY_VALIDATION_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/jquery/jquery.mk b/bsp/buildroot/package/jquery/jquery.mk index 363ee096..f75eded8 100644 --- a/bsp/buildroot/package/jquery/jquery.mk +++ b/bsp/buildroot/package/jquery/jquery.mk @@ -10,7 +10,7 @@ JQUERY_SOURCE = jquery-$(JQUERY_VERSION).min.js JQUERY_LICENSE = MIT define JQUERY_EXTRACT_CMDS - cp $(DL_DIR)/$(JQUERY_SOURCE) $(@D) + cp $(JQUERY_DL_DIR)/$(JQUERY_SOURCE) $(@D) endef define JQUERY_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/json-c/0001-configure.ac-remove-Werror.patch b/bsp/buildroot/package/json-c/0001-configure.ac-remove-Werror.patch deleted file mode 100644 index e8776715..00000000 --- a/bsp/buildroot/package/json-c/0001-configure.ac-remove-Werror.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 79d862ccaabc6620ce4b2783a44d6014ae837df9 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 31 Dec 2017 00:01:37 +0200 -Subject: [PATCH] configure.ac: remove -Werror - -The unconditional _REENTRANT macro causes a warning when building with a -no-threads toolchain. Remove -Werror to fix the build. - -Signed-off-by: Baruch Siach ---- -Patch status: not upstreamable -Issue reported upstream: https://github.com/json-c/json-c/issues/396 ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 024c5aa0d687..74caa4d99e15 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -165,7 +165,7 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"], - AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) - AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) - --AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations]) -+AX_APPEND_COMPILE_FLAGS([-Wall -Wcast-qual -Wno-error=deprecated-declarations]) - AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter]) - AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE -D_REENTRANT]) - --- -2.15.1 - diff --git a/bsp/buildroot/package/json-c/json-c.hash b/bsp/buildroot/package/json-c/json-c.hash index 41e614d6..0e030074 100644 --- a/bsp/buildroot/package/json-c/json-c.hash +++ b/bsp/buildroot/package/json-c/json-c.hash @@ -1,4 +1,4 @@ # From https://github.com/json-c/json-c/wiki -sha256 0316780be9ad16c42d7c26b015a784fd5df4b0909fef0aba51cfb13e492ac24d json-c-0.13.tar.gz +sha256 b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873 json-c-0.13.1.tar.gz # Locally calculated sha256 74c1e6ca5eba76b54d0ad00d4815c8315c1b3bc45ff99de61d103dc92486284c COPYING diff --git a/bsp/buildroot/package/json-c/json-c.mk b/bsp/buildroot/package/json-c/json-c.mk index 450ee8b2..2788fe56 100644 --- a/bsp/buildroot/package/json-c/json-c.mk +++ b/bsp/buildroot/package/json-c/json-c.mk @@ -4,14 +4,19 @@ # ################################################################################ -JSON_C_VERSION = 0.13 +JSON_C_VERSION = 0.13.1 JSON_C_SITE = https://s3.amazonaws.com/json-c_releases/releases JSON_C_INSTALL_STAGING = YES JSON_C_LICENSE = MIT JSON_C_LICENSE_FILES = COPYING -# Patching configure.ac -JSON_C_AUTORECONF = YES +# update config.h.in timestamp to avoid autoheader run +define JSON_C_UPDATE_CONFIG_TIMESTAMP + touch $(@D)/config.h.in +endef + +JSON_C_POST_EXTRACT_HOOKS += JSON_C_UPDATE_CONFIG_TIMESTAMP +HOST_JSON_C_POST_EXTRACT_HOOKS += JSON_C_UPDATE_CONFIG_TIMESTAMP $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.hash b/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.hash index 7f394aae..cff01db7 100644 --- a/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.hash +++ b/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 402464cd6d50c81bb6a683d07c537e5a8c4684fd1186826d3aa1385ce6adac13 json-v3.0.1.tar.gz -sha256 6a6115fc4a7239a135f2dce8d33f94cb8a936b8f608ac0f6699fbac278b0dd5b LICENSE.MIT +sha256 e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d json-v3.5.0.tar.gz +sha256 7b875bb7a4e28abb7956ea821b4b7d88ff6a2a4fabf261c3993730a365ec56dd LICENSE.MIT diff --git a/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.mk b/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.mk index 6413d625..86399fd6 100644 --- a/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.mk +++ b/bsp/buildroot/package/json-for-modern-cpp/json-for-modern-cpp.mk @@ -4,8 +4,8 @@ # ################################################################################ -JSON_FOR_MODERN_CPP_VERSION = v3.0.1 -JSON_FOR_MODERN_CPP_SOURCE = json-${JSON_FOR_MODERN_CPP_VERSION}.tar.gz +JSON_FOR_MODERN_CPP_VERSION = v3.5.0 +JSON_FOR_MODERN_CPP_SOURCE = json-$(JSON_FOR_MODERN_CPP_VERSION).tar.gz JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,$(JSON_FOR_MODERN_CPP_VERSION)) JSON_FOR_MODERN_CPP_LICENSE = MIT JSON_FOR_MODERN_CPP_LICENSE_FILES = LICENSE.MIT diff --git a/bsp/buildroot/package/json-glib/json-glib.hash b/bsp/buildroot/package/json-glib/json-glib.hash index 2f190ab9..fae4df36 100644 --- a/bsp/buildroot/package/json-glib/json-glib.hash +++ b/bsp/buildroot/package/json-glib/json-glib.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.2/json-glib-1.2.8.sha256sum -sha256 fd55a9037d39e7a10f0db64309f5f0265fa32ec962bf85066087b83a2807f40a json-glib-1.2.8.tar.xz +# From http://ftp.gnome.org/pub/GNOME/sources/json-glib/1.4/json-glib-1.4.2.sha256sum +sha256 2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8 json-glib-1.4.2.tar.xz + +# Hash for license file: +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/bsp/buildroot/package/json-glib/json-glib.mk b/bsp/buildroot/package/json-glib/json-glib.mk index 5ee43d9a..77c0c453 100644 --- a/bsp/buildroot/package/json-glib/json-glib.mk +++ b/bsp/buildroot/package/json-glib/json-glib.mk @@ -4,8 +4,8 @@ # ################################################################################ -JSON_GLIB_VERSION_MAJOR = 1.2 -JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).8 +JSON_GLIB_VERSION_MAJOR = 1.4 +JSON_GLIB_VERSION = $(JSON_GLIB_VERSION_MAJOR).2 JSON_GLIB_SITE = http://ftp.gnome.org/pub/GNOME/sources/json-glib/$(JSON_GLIB_VERSION_MAJOR) JSON_GLIB_SOURCE = json-glib-$(JSON_GLIB_VERSION).tar.xz JSON_GLIB_LICENSE = LGPL-2.1+ @@ -17,4 +17,4 @@ JSON_GLIB_DEPENDENCIES = \ host-pkgconf \ libglib2 -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/jsoncpp/jsoncpp.hash b/bsp/buildroot/package/jsoncpp/jsoncpp.hash index 09ceb585..3391d9ec 100644 --- a/bsp/buildroot/package/jsoncpp/jsoncpp.hash +++ b/bsp/buildroot/package/jsoncpp/jsoncpp.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 3671ba6051e0f30849942cc66d1798fdf0362d089343a83f704c09ee7156604f jsoncpp-1.8.3.tar.gz +sha256 c49deac9e0933bcb7044f08516861a2d560988540b23de2ac1ad443b219afdb6 jsoncpp-1.8.4.tar.gz +sha256 95039d77a20e75b428207740d9a8f97b2dce3c89da4b21f1ad862b5997160e0a LICENSE diff --git a/bsp/buildroot/package/jsoncpp/jsoncpp.mk b/bsp/buildroot/package/jsoncpp/jsoncpp.mk index 6dfaecef..2b527fc3 100644 --- a/bsp/buildroot/package/jsoncpp/jsoncpp.mk +++ b/bsp/buildroot/package/jsoncpp/jsoncpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -JSONCPP_VERSION = 1.8.3 +JSONCPP_VERSION = 1.8.4 JSONCPP_SITE = $(call github,open-source-parsers,jsoncpp,$(JSONCPP_VERSION)) JSONCPP_LICENSE = Public Domain or MIT JSONCPP_LICENSE_FILES = LICENSE @@ -15,4 +15,10 @@ JSONCPP_CONF_OPTS += \ -DJSONCPP_WITH_TESTS=OFF \ -DJSONCPP_WITH_STRICT_ISO=OFF +ifeq ($(BR2_SHARED_LIBS),y) +JSONCPP_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF +else +JSONCPP_CONF_OPTS += -DBUILD_STATIC_LIBS=ON +endif + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch b/bsp/buildroot/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch deleted file mode 100644 index b5f21cb4..00000000 --- a/bsp/buildroot/package/keepalived/0001-Fix-build-with-Linux-kernel-headers-v4.15.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 15f93dd90484532e25c8f3e43fb34a361a79d7f2 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 9 Feb 2018 11:55:19 +0200 -Subject: [PATCH] Fix build with Linux kernel headers v4.15 - -Linux kernel version 4.15 changed the libc/kernel headers suppression -logic in a way that introduces collisions: - -In file included from ./../include/vrrp_ipaddress.h:32:0, - from ./../include/vrrp_arp.h:31, - from vrrp.c:29: -/home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/linux/in.h:29:3: error: redeclaration of enumerator 'IPPROTO_IP' - IPPROTO_IP = 0, /* Dummy protocol for TCP */ - ^ -/home/peko/autobuild/instance-1/output/host/arc-buildroot-linux-uclibc/sysroot/usr/include/netinet/in.h:33:5: note: previous definition of 'IPPROTO_IP' was here - IPPROTO_IP = 0, /* Dummy protocol for TCP. */ - ^~~~~~~~~~ - -Include the libc netinet/in.h header first to suppress the kernel -header. - -In addition, add _GNU_SOURCE to vrrp.c for the libc provided in6_pktinfo -definition. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/acassen/keepalived/pull/777 - - keepalived/include/vrrp_arp.h | 1 + - keepalived/vrrp/vrrp.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/keepalived/include/vrrp_arp.h b/keepalived/include/vrrp_arp.h -index 77a26c450b12..a103ab075c1d 100644 ---- a/keepalived/include/vrrp_arp.h -+++ b/keepalived/include/vrrp_arp.h -@@ -24,6 +24,7 @@ - #define _VRRP_ARP_H - - /* system includes */ -+#include - #include - #include - -diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c -index 3d2bfe41ab4f..435a4b54b2a9 100644 ---- a/keepalived/vrrp/vrrp.c -+++ b/keepalived/vrrp/vrrp.c -@@ -26,6 +26,7 @@ - #include "config.h" - - /* local include */ -+#define _GNU_SOURCE - #include "vrrp_arp.h" - #include "vrrp_ndisc.h" - #include "vrrp_scheduler.h" --- -2.15.1 - diff --git a/bsp/buildroot/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch b/bsp/buildroot/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch new file mode 100644 index 00000000..4402b48a --- /dev/null +++ b/bsp/buildroot/package/keepalived/0001-Rename-TIMER_MAX-to-TIMER_MAXIMUM.patch @@ -0,0 +1,61 @@ +From 7d4856e213f349bcd97b3644b01d6170b226de16 Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Tue, 20 Nov 2018 17:24:58 +0000 +Subject: [PATCH] Rename TIMER_MAX to TIMER_MAXIMUM + +ulibC defines TIMER_MAX, so to avoid naming conflict rename it. + +This issue was reported by Paul Gildea who also +provided the patch. + +Signed-off-by: Quentin Armitage +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/acassen/keepalived/commit/7d4856e213f349bcd97b3644b01d6170b226de16] +--- + lib/parser.c | 8 ++++---- + lib/parser.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/lib/parser.c b/lib/parser.c +index 1d53595c0..cc9b644e2 100644 +--- a/lib/parser.c ++++ b/lib/parser.c +@@ -1915,20 +1915,20 @@ read_timer(vector_t *strvec, size_t index, unsigned long *res, unsigned long min + #endif + + if (!max_time) +- max_time = TIMER_MAX; ++ max_time = TIMER_MAXIMUM; + + errno = 0; + timer = strtoul(vector_slot(strvec, index), &endptr, 10); +- *res = (timer > TIMER_MAX ? TIMER_MAX : timer) * TIMER_HZ; ++ *res = (timer > TIMER_MAXIMUM ? TIMER_MAXIMUM : timer) * TIMER_HZ; + + if (FMT_STR_VSLOT(strvec, index)[0] == '-') + report_config_error(CONFIG_INVALID_NUMBER, "%snegative number '%s'", warn, FMT_STR_VSLOT(strvec, index)); + else if (*endptr) + report_config_error(CONFIG_INVALID_NUMBER, "%sinvalid number '%s'", warn, FMT_STR_VSLOT(strvec, index)); +- else if (errno == ERANGE || timer > TIMER_MAX) ++ else if (errno == ERANGE || timer > TIMER_MAXIMUM) + report_config_error(CONFIG_INVALID_NUMBER, "%snumber '%s' outside timer range", warn, FMT_STR_VSLOT(strvec, index)); + else if (timer < min_time || timer > max_time) +- report_config_error(CONFIG_INVALID_NUMBER, "number '%s' outside range [%ld, %ld]", FMT_STR_VSLOT(strvec, index), min_time, max_time ? max_time : TIMER_MAX); ++ report_config_error(CONFIG_INVALID_NUMBER, "number '%s' outside range [%ld, %ld]", FMT_STR_VSLOT(strvec, index), min_time, max_time ? max_time : TIMER_MAXIMUM); + else + return true; + +diff --git a/lib/parser.h b/lib/parser.h +index 88a74474a..291aa8ffe 100644 +--- a/lib/parser.h ++++ b/lib/parser.h +@@ -38,7 +38,7 @@ + #define MAXBUF 1024 + + /* Maximum time read_timer can return */ +-#define TIMER_MAX (ULONG_MAX / TIMER_HZ) ++#define TIMER_MAXIMUM (ULONG_MAX / TIMER_HZ) + + /* Configuration test errors. These should be in decreasing order of severity */ + typedef enum { diff --git a/bsp/buildroot/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch b/bsp/buildroot/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch new file mode 100644 index 00000000..76c88a76 --- /dev/null +++ b/bsp/buildroot/package/keepalived/0002-Fix-order-of-include-files-in-configure-COLLISION-test.patch @@ -0,0 +1,38 @@ +From e4dd33f16fe56d09c8d59d1254a4ed1d8e9bb29c Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Thu, 6 Dec 2018 12:16:08 +0000 +Subject: [PATCH] Fix order of include files in configure COLLISION test + +Since Linux 4.4.11 (commit 1575c09) including linux/if.h after +net/if.h works, whereas until glibc fix their headers including +net/if.h after linux/if.h causes compiler redefinition errors. + +Unfortunately the test for the collision was done the wrong way +round, as identified in issue #1079. The patch included in the +issue report corrects the order of inclusion of the header files. + +What we should do is ensure that glibc header files are included +before Linux header files, so that at least if kernel headers from +4.4.11 onwards are used, the conflict will not occur. + +Signed-off-by: Quentin Armitage +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://github.com/acassen/keepalived/commit/e4dd33f16fe56d09c8d59d1254a4ed1d8e9bb29c] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 7a2e8ce1..9badcc62 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1349,8 +1349,8 @@ AC_MSG_CHECKING([for linux/if.h and net/if.h namespace collision]) + SAV_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $kernelinc" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +- #include + #include ++ #include + ]])], + [ + AC_MSG_RESULT([no]) diff --git a/bsp/buildroot/package/keepalived/Config.in b/bsp/buildroot/package/keepalived/Config.in index 0140e62a..c7182154 100644 --- a/bsp/buildroot/package/keepalived/Config.in +++ b/bsp/buildroot/package/keepalived/Config.in @@ -4,7 +4,6 @@ config BR2_PACKAGE_KEEPALIVED depends on !BR2_STATIC_LIBS # uses libdl depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 select BR2_PACKAGE_OPENSSL - select BR2_PACKAGE_POPT help The main goal of the keepalived project is to add a strong & robust keepalive facility to the Linux Virtual Server diff --git a/bsp/buildroot/package/keepalived/keepalived.hash b/bsp/buildroot/package/keepalived/keepalived.hash index 5d33c5be..3ad3e6e6 100644 --- a/bsp/buildroot/package/keepalived/keepalived.hash +++ b/bsp/buildroot/package/keepalived/keepalived.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048 keepalived-1.3.5.tar.gz +sha256 40e0e55afed9ca313d621a9c5878579696fafb5504dab521aadaf20ba6e7f597 keepalived-2.0.10.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/keepalived/keepalived.mk b/bsp/buildroot/package/keepalived/keepalived.mk index 59d3cb5c..4f6db017 100644 --- a/bsp/buildroot/package/keepalived/keepalived.mk +++ b/bsp/buildroot/package/keepalived/keepalived.mk @@ -4,12 +4,28 @@ # ################################################################################ -KEEPALIVED_VERSION = 1.3.5 +KEEPALIVED_VERSION = 2.0.10 KEEPALIVED_SITE = http://www.keepalived.org/software -KEEPALIVED_DEPENDENCIES = host-pkgconf openssl popt +KEEPALIVED_DEPENDENCIES = host-pkgconf openssl KEEPALIVED_LICENSE = GPL-2.0+ KEEPALIVED_LICENSE_FILES = COPYING +KEEPALIVED_CONF_OPTS = --disable-hardening +# We're patching configure.ac +KEEPALIVED_AUTORECONF = YES + +ifeq ($(BR2_PACKAGE_JSON_C),y) +KEEPALIVED_DEPENDENCIES += json-c +KEEPALIVED_CONF_OPTS += --enable-json +else +KEEPALIVED_CONF_OPTS += --disable-json +endif + +ifeq ($(BR2_PACKAGE_LIBGLIB2),y) +KEEPALIVED_DEPENDENCIES += libglib2 +KEEPALIVED_CONF_OPTS += --enable-dbus +else KEEPALIVED_CONF_OPTS += --disable-dbus +endif ifeq ($(BR2_PACKAGE_LIBNL)$(BR2_PACKAGE_LIBNFNETLINK),yy) KEEPALIVED_DEPENDENCIES += libnl libnfnetlink diff --git a/bsp/buildroot/package/kexec/Config.in b/bsp/buildroot/package/kexec/Config.in index c24dff38..c8cdea56 100644 --- a/bsp/buildroot/package/kexec/Config.in +++ b/bsp/buildroot/package/kexec/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_KEXEC bool "kexec" depends on BR2_i386 || BR2_x86_64 || BR2_arm || BR2_armeb || \ BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el || \ - BR2_powerpc || BR2_sh4 || BR2_sh4a + BR2_powerpc || BR2_sh4 || BR2_sh4a || BR2_aarch64 help Kexec is a user space utility for loading another kernel and asking the currently running kernel to do something with diff --git a/bsp/buildroot/package/kexec/kexec.hash b/bsp/buildroot/package/kexec/kexec.hash index eaa9d7b9..24294909 100644 --- a/bsp/buildroot/package/kexec/kexec.hash +++ b/bsp/buildroot/package/kexec/kexec.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kexec/sha256sums.asc -sha256 5b103351ad752c9badd1d65b00eb6de4bce579f944f4df4e3ef3a755ba567010 kexec-tools-2.0.16.tar.xz +sha256 504c816b769da573167b63f3b6d4fce3740f231c98d8db0c4fda47a4b90482a9 kexec-tools-2.0.17.tar.xz +# locally calculated +sha256 fa5fc1d1eec39532ea517518eeefd7b6e3c14341a55e5880a0e2a49eee47a5b7 COPYING diff --git a/bsp/buildroot/package/kexec/kexec.mk b/bsp/buildroot/package/kexec/kexec.mk index 3ce1ed2e..b0f4367d 100644 --- a/bsp/buildroot/package/kexec/kexec.mk +++ b/bsp/buildroot/package/kexec/kexec.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEXEC_VERSION = 2.0.16 +KEXEC_VERSION = 2.0.17 KEXEC_SOURCE = kexec-tools-$(KEXEC_VERSION).tar.xz KEXEC_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kexec KEXEC_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/keyutils/0001-fix-install-rule.patch b/bsp/buildroot/package/keyutils/0001-fix-install-rule.patch index 3670d28e..26545716 100644 --- a/bsp/buildroot/package/keyutils/0001-fix-install-rule.patch +++ b/bsp/buildroot/package/keyutils/0001-fix-install-rule.patch @@ -6,15 +6,17 @@ the host library. Based on the former patch by Yann E. MORIN. Signed-off-by: Vicente Olivert Riera +[baruch: update for 1.6] +Signed-off-by: Baruch Siach --- keyutils-1.5.9/Makefile.orig 2014-09-22 16:13:41.593562765 +0100 +++ keyutils-1.5.9/Makefile 2014-09-22 16:14:05.377963952 +0100 -@@ -168,7 +168,7 @@ ifeq ($(NO_SOLIB),0) +@@ -184,7 +184,7 @@ ifeq ($(NO_SOLIB),0) $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME) $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME) mkdir -p $(DESTDIR)$(USRLIBDIR) - $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) + $(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB) - endif - $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl - $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key + sed \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(PREFIX),g' \ diff --git a/bsp/buildroot/package/keyutils/0003-Add-missing-limits.h-include.patch b/bsp/buildroot/package/keyutils/0003-Add-missing-limits.h-include.patch deleted file mode 100644 index 45c84398..00000000 --- a/bsp/buildroot/package/keyutils/0003-Add-missing-limits.h-include.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b2c6d3744dca029560d0d5e780f16561f8eeed53 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 12 Jul 2015 16:22:14 +0200 -Subject: [PATCH] Add missing include -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -key.dns_resolver.c uses ‘UINT_MAX’ and ‘ULONG_MAX’, but forgets to -include , which causes build failure with certain C -libraries (notably the musl C library). - -Signed-off-by: Thomas Petazzoni ---- - key.dns_resolver.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/key.dns_resolver.c b/key.dns_resolver.c -index c2a9fe5..d41e219 100644 ---- a/key.dns_resolver.c -+++ b/key.dns_resolver.c -@@ -56,6 +56,7 @@ - #include - #include - #include -+#include - - static const char *DNS_PARSE_VERSION = "1.0"; - static const char prog[] = "key.dns_resolver"; --- -2.4.5 - diff --git a/bsp/buildroot/package/keyutils/keyutils.hash b/bsp/buildroot/package/keyutils/keyutils.hash index b14b7bec..d6781628 100644 --- a/bsp/buildroot/package/keyutils/keyutils.hash +++ b/bsp/buildroot/package/keyutils/keyutils.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 115c3deae7f181778fd0e0ffaa2dad1bf1fe2f5677cf2e0e348cdb7a1c93afb6 keyutils-1.5.10.tar.bz2 +sha256 d3aef20cec0005c0fa6b4be40079885567473185b1a57b629b030e67942c7115 keyutils-1.6.tar.bz2 +sha256 f46409d4822b2457b39bbd0e7881eecb396130eb8320b7748fa7e9488970aa6d LICENCE.GPL +sha256 0d15593e3a8ad90917f8509b5ac1e4b5e5d196434a68029aa9dc0858a4a4c521 LICENCE.LGPL diff --git a/bsp/buildroot/package/keyutils/keyutils.mk b/bsp/buildroot/package/keyutils/keyutils.mk index 048b6894..c8de3a0d 100644 --- a/bsp/buildroot/package/keyutils/keyutils.mk +++ b/bsp/buildroot/package/keyutils/keyutils.mk @@ -4,7 +4,7 @@ # ################################################################################ -KEYUTILS_VERSION = 1.5.10 +KEYUTILS_VERSION = 1.6 KEYUTILS_SOURCE = keyutils-$(KEYUTILS_VERSION).tar.bz2 KEYUTILS_SITE = http://people.redhat.com/~dhowells/keyutils KEYUTILS_LICENSE = GPL-2.0+, LGPL-2.1+ diff --git a/bsp/buildroot/package/kf5/Config.in b/bsp/buildroot/package/kf5/Config.in new file mode 100644 index 00000000..2e50bce4 --- /dev/null +++ b/bsp/buildroot/package/kf5/Config.in @@ -0,0 +1,14 @@ +menuconfig BR2_PACKAGE_KF5 + bool "KF5" + depends on BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_VERSION_LATEST + help + This option enables the KF5 KDE Frameworks. Sub-options + allow to select which modules should be built. + +if BR2_PACKAGE_KF5 +source "package/kf5/kf5-extra-cmake-modules/Config.in" +source "package/kf5/kf5-kcoreaddons/Config.in" +source "package/kf5/kf5-modemmanager-qt/Config.in" +source "package/kf5/kf5-networkmanager-qt/Config.in" +endif diff --git a/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/Config.in b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/Config.in new file mode 100644 index 00000000..7cb1036c --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES + bool "kf5-extra-cmake-modules" + help + KF5 is a set of Qt framework addons, extending Qt in various + ways, not only restricted in helping integration in KDE. + + This package corresponds to the extra CMake modules, + required for most KF5 libraries. + + https://api.kde.org/frameworks/extra-cmake-modules/html/index.html diff --git a/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash new file mode 100644 index 00000000..733e267f --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 976d8bd15a0b929376bfaef34602a0fb9614229851c46fac3c4b28938f682195 extra-cmake-modules-5.47.0.tar.xz +sha256 46cde7dc11e64c78d650b4851b88f6704b4665ff60f22a1caf68ceb15e217e5b COPYING-CMAKE-SCRIPTS diff --git a/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk new file mode 100644 index 00000000..7b96e1f1 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-extra-cmake-modules/kf5-extra-cmake-modules.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# kf5-extra-cmake-modules +# +################################################################################ + +KF5_EXTRA_CMAKE_MODULES_VERSION = $(KF5_VERSION) +KF5_EXTRA_CMAKE_MODULES_SITE = $(KF5_SITE) +KF5_EXTRA_CMAKE_MODULES_SOURCE = extra-cmake-modules-$(KF5_EXTRA_CMAKE_MODULES_VERSION).tar.xz +KF5_EXTRA_CMAKE_MODULES_LICENSE = BSD-3-Clause +KF5_EXTRA_CMAKE_MODULES_LICENSE_FILE = COPYING-CMAKE-SCRIPTS + +KF5_EXTRA_CMAKE_MODULES_DEPENDENCIES = host-pkgconf +KF5_EXTRA_CMAKE_MODULES_INSTALL_STAGING = YES +KF5_EXTRA_CMAKE_MODULES_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kf5/kf5-kcoreaddons/Config.in b/bsp/buildroot/package/kf5/kf5-kcoreaddons/Config.in new file mode 100644 index 00000000..88fda03e --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-kcoreaddons/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_KF5_KCOREADDONS + bool "kf5-kcoreaddons" + select BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES + select BR2_PACKAGE_QT5TOOLS + select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS + help + KF5 is a set of Qt framework addons, extending Qt in + various ways, not only restricted in helping integration + in KDE. + + This package contains KCoreAddons, a set of classes built + on top of QtCore to perform various tasks. + + https://api.kde.org/frameworks/kcoreaddons/html/index.html diff --git a/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash b/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash new file mode 100644 index 00000000..0cd8dcfc --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 40ff04757e4ac19bc8448940fe18886c894a2069865966cc865fc55ff67b0b46 kcoreaddons-5.47.0.tar.xz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk b/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk new file mode 100644 index 00000000..6cf7a3d1 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-kcoreaddons/kf5-kcoreaddons.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# kf5-kcoreaddons +# +################################################################################ + +KF5_KCOREADDONS_VERSION = $(KF5_VERSION) +KF5_KCOREADDONS_SITE = $(KF5_SITE) +KF5_KCOREADDONS_SOURCE = kcoreaddons-$(KF5_KCOREADDONS_VERSION).tar.xz +KF5_KCOREADDONS_LICENSE = LGPL-2.1 +KF5_KCOREADDONS_LICENSE_FILES = COPYING.LIB + +KF5_KCOREADDONS_DEPENDENCIES = kf5-extra-cmake-modules qt5tools +KF5_KCOREADDONS_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kf5/kf5-modemmanager-qt/Config.in b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/Config.in new file mode 100644 index 00000000..f08de556 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_KF5_MODEMMANAGER_QT + bool "kf5-modemmanager-qt" + depends on BR2_USE_MMU # qt5dbus + depends on BR2_TOOLCHAIN_HAS_THREADS # qt5dbus + depends on BR2_PACKAGE_MODEM_MANAGER + select BR2_PACKAGE_QT5BASE_DBUS + select BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES + help + KF5 is a set of Qt framework addons, extending Qt in various + ways, not only restricted in helping integration in KDE. + + This package contains the ModemManager Qt5 bindings from the + KF5 project. + + https://api.kde.org/frameworks/modemmanager-qt/html/index.html + +comment "kf5-modemmanager-qt needs toolchain w/ threads" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_MODEM_MANAGER + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash new file mode 100644 index 00000000..408eb0c0 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 8b6ab15ce82b7a30b26814178ac33380056ec4398707481aa5ce95cf09d39d03 modemmanager-qt-5.47.0.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk new file mode 100644 index 00000000..9bbeeaa7 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-modemmanager-qt/kf5-modemmanager-qt.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# kf5-modemmanager-qt +# +################################################################################ + +KF5_MODEMMANAGER_QT_VERSION = $(KF5_VERSION) +KF5_MODEMMANAGER_QT_SITE = $(KF5_SITE) +KF5_MODEMMANAGER_QT_SOURCE = modemmanager-qt-$(KF5_MODEMMANAGER_QT_VERSION).tar.xz +KF5_MODEMMANAGER_QT_LICENSE = LGPL-2.1+ +KF5_MODEMMANAGER_QT_LICENSE_FILE = COPYING.LIB + +KF5_MODEMMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules modem-manager qt5base +KF5_MODEMMANAGER_QT_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kf5/kf5-networkmanager-qt/Config.in b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/Config.in new file mode 100644 index 00000000..6b309f08 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_KF5_NETWORKMANAGER_QT + bool "kf5-networkmanager-qt" + depends on BR2_USE_MMU # qt5dbus + depends on BR2_TOOLCHAIN_HAS_THREADS # qt5dbus + depends on BR2_PACKAGE_NETWORK_MANAGER + select BR2_PACKAGE_QT5BASE_DBUS + select BR2_PACKAGE_KF5_EXTRA_CMAKE_MODULES + help + KF5 is a set of Qt framework addons, extending Qt in various + ways, not only restricted in helping integration in KDE. + + This package contains the NetworkManager Qt5 bindings from + the KF5 project. + + https://api.kde.org/frameworks/networkmanager-qt/html/index.html + +comment "kf5-networkmanager-qt needs toolchain w/ threads" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_NETWORK_MANAGER + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash new file mode 100644 index 00000000..8ccada45 --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d0b377500ee4cf4f029f4d04d6844bcf3d2d6734982b511a5fffab5165688209 networkmanager-qt-5.47.0.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk new file mode 100644 index 00000000..52e70e3c --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5-networkmanager-qt/kf5-networkmanager-qt.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# kf5-networkmanager-qt +# +################################################################################ + +KF5_NETWORKMANAGER_QT_VERSION = $(KF5_VERSION) +KF5_NETWORKMANAGER_QT_SITE = $(KF5_SITE) +KF5_NETWORKMANAGER_QT_SOURCE = networkmanager-qt-$(KF5_NETWORKMANAGER_QT_VERSION).tar.xz +KF5_NETWORKMANAGER_QT_LICENSE = LGPL-2.1+ +KF5_NETWORKMANAGER_QT_LICENSE_FILE = COPYING.LIB + +KF5_NETWORKMANAGER_QT_DEPENDENCIES = kf5-extra-cmake-modules network-manager qt5base +KF5_NETWORKMANAGER_QT_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kf5/kf5.mk b/bsp/buildroot/package/kf5/kf5.mk new file mode 100644 index 00000000..8360fc9b --- /dev/null +++ b/bsp/buildroot/package/kf5/kf5.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# kf5 +# +################################################################################ + +KF5_VERSION_MAJOR = 5.47 +KF5_VERSION = $(KF5_VERSION_MAJOR).0 +KF5_SITE = https://download.kde.org/stable/frameworks/$(KF5_VERSION_MAJOR) + +include $(sort $(wildcard package/kf5/*/*.mk)) diff --git a/bsp/buildroot/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch b/bsp/buildroot/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch deleted file mode 100644 index 09fe2524..00000000 --- a/bsp/buildroot/package/kmod/0002-shared-util.c-assert_cc-can-only-be-used-inside-func.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 7cd698eb31059012305d8bb7516577c8cd383e32 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 3 Jun 2017 16:52:37 +0200 -Subject: [PATCH] shared/util.c: assert_cc() can only be used inside functions - -shared/macro.h has two versions of assert_cc, one that uses gcc -_Static_assert(), which requires recent enough gcc versions, and one -that uses a fake array to trigger a build error. The latter can only -work inside functions, so assert_cc() should only be used inside -functions. - -Fixes the following build failure when building kmod with old gcc -versions such as gcc 4.3.x: - -shared/util.c:52: error: expected identifier or '(' before 'do' -shared/util.c:52: error: expected identifier or '(' before 'while' - -Signed-off-by: Thomas Petazzoni ---- - shared/util.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/shared/util.c b/shared/util.c -index 9de080a..fd2028d 100644 ---- a/shared/util.c -+++ b/shared/util.c -@@ -49,8 +49,6 @@ static const struct kmod_ext { - { } - }; - --assert_cc(EAGAIN == EWOULDBLOCK); -- - /* string handling functions and memory allocations */ - /* ************************************************************************ */ - -@@ -201,6 +199,8 @@ ssize_t read_str_safe(int fd, char *buf, size_t buflen) - size_t todo = buflen - 1; - size_t done = 0; - -+ assert_cc(EAGAIN == EWOULDBLOCK); -+ - do { - ssize_t r = read(fd, buf + done, todo); - -@@ -226,6 +226,8 @@ ssize_t write_str_safe(int fd, const char *buf, size_t buflen) - size_t todo = buflen; - size_t done = 0; - -+ assert_cc(EAGAIN == EWOULDBLOCK); -+ - do { - ssize_t r = write(fd, buf + done, todo); - --- -2.7.4 - diff --git a/bsp/buildroot/package/kmod/kmod.hash b/bsp/buildroot/package/kmod/kmod.hash index be350c42..0e8f034e 100644 --- a/bsp/buildroot/package/kmod/kmod.hash +++ b/bsp/buildroot/package/kmod/kmod.hash @@ -1,2 +1,2 @@ # From https://www.kernel.org/pub/linux/utils/kernel/kmod/sha256sums.asc -sha256 610b8d1df172acc39a4fdf1eaa47a57b04873c82f32152e7a62e29b6ff9cb397 kmod-24.tar.xz +sha256 7165e6496656159dcb909a91ed708a0fe273a4b128b4b1dc997ccb5189eef1cd kmod-25.tar.xz diff --git a/bsp/buildroot/package/kmod/kmod.mk b/bsp/buildroot/package/kmod/kmod.mk index e1149b7b..ea5d2911 100644 --- a/bsp/buildroot/package/kmod/kmod.mk +++ b/bsp/buildroot/package/kmod/kmod.mk @@ -4,7 +4,7 @@ # ################################################################################ -KMOD_VERSION = 24 +KMOD_VERSION = 25 KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod KMOD_INSTALL_STAGING = YES @@ -28,6 +28,10 @@ KMOD_CONF_OPTS = --disable-static --enable-shared KMOD_CONF_OPTS += --disable-manpages HOST_KMOD_CONF_OPTS = --disable-manpages +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +KMOD_CONF_OPTS += --with-bashcompletiondir=/usr/share/bash-completion/completions +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) KMOD_DEPENDENCIES += zlib KMOD_CONF_OPTS += --with-zlib @@ -49,9 +53,6 @@ ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y) KMOD_LICENSE := $(KMOD_LICENSE), GPL-2.0+ (tools) KMOD_LICENSE_FILES += COPYING -# take precedence over busybox implementation -KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_BUSYBOX),busybox) - # /sbin is really /usr/sbin with merged /usr, so adjust relative symlink ifeq ($(BR2_ROOTFS_MERGED_USR),y) KMOD_BIN_PATH = ../bin/kmod diff --git a/bsp/buildroot/package/kmsxx/kmsxx.mk b/bsp/buildroot/package/kmsxx/kmsxx.mk index dc0f8c17..c664d523 100644 --- a/bsp/buildroot/package/kmsxx/kmsxx.mk +++ b/bsp/buildroot/package/kmsxx/kmsxx.mk @@ -12,12 +12,6 @@ KMSXX_INSTALL_STAGING = YES KMSXX_DEPENDENCIES = libdrm host-pkgconf KMSXX_CONF_OPTS = -DKMSXX_ENABLE_PYTHON=OFF -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -KMSXX_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - ifeq ($(BR2_PACKAGE_KMSXX_INSTALL_TESTS),y) KMSXX_TESTS = \ fbtest kmsblank kmscapture \ diff --git a/bsp/buildroot/package/kodi-adsp-basic/Config.in b/bsp/buildroot/package/kodi-adsp-basic/Config.in deleted file mode 100644 index 87bdd197..00000000 --- a/bsp/buildroot/package/kodi-adsp-basic/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_KODI_ADSP_BASIC - bool "kodi-adsp-basic" - select BR2_PACKAGE_LIBPLATFORM - select BR2_PACKAGE_KODI_PLATFORM - help - This add-on contains basic dsp related parts to handle - speaker delays, channel related volume amplification. As - mode it supports a Dolby Pro Logic II compatible - multichannel downmix to stereo, which becomes available if - only 2 channel output on Kodi is selected. - - https://github.com/kodi-adsp/adsp.basic diff --git a/bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.hash b/bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.hash deleted file mode 100644 index 10dd773c..00000000 --- a/bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 d6ef031157ceb825a6e6ba114fb20c622ef7f396ddd17ae8bf1954aab25bc2af kodi-adsp-basic-2ae604e591346741324663260696cfa231931870.tar.gz diff --git a/bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.mk b/bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.mk deleted file mode 100644 index bb114a41..00000000 --- a/bsp/buildroot/package/kodi-adsp-basic/kodi-adsp-basic.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# kodi-adsp-basic -# -################################################################################ - -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_ADSP_BASIC_VERSION = 2ae604e591346741324663260696cfa231931870 -KODI_ADSP_BASIC_SITE = $(call github,kodi-adsp,adsp.basic,$(KODI_ADSP_BASIC_VERSION)) -KODI_ADSP_BASIC_LICENSE = GPL-3.0+ -KODI_ADSP_BASIC_LICENSE_FILES = LICENSE.md -KODI_ADSP_BASIC_DEPENDENCIES = libplatform kodi-platform - -$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kodi-adsp-freesurround/Config.in b/bsp/buildroot/package/kodi-adsp-freesurround/Config.in deleted file mode 100644 index 80aadf1d..00000000 --- a/bsp/buildroot/package/kodi-adsp-freesurround/Config.in +++ /dev/null @@ -1,11 +0,0 @@ -config BR2_PACKAGE_KODI_ADSP_FREESURROUND - bool "kodi-adsp-freesurround" - select BR2_PACKAGE_LIBPLATFORM - select BR2_PACKAGE_KODI_PLATFORM - help - FreeSurround is meant to be the KODI equivalent of your - hi-fi receiver's Dolby ProLogic II button. It's purpose is - to decode surround information from your stereo music and to - produce multichannel output from it. - - https://github.com/kodi-adsp/adsp.freesurround diff --git a/bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash b/bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash deleted file mode 100644 index 2649bbdc..00000000 --- a/bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 cf6985be6839530027861b54e2146693d05e802363281ef6f8c1f352dbf94b5c kodi-adsp-freesurround-34f50406bcba22e364711562e5b9205e57ae844b.tar.gz diff --git a/bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk b/bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk deleted file mode 100644 index 927af74d..00000000 --- a/bsp/buildroot/package/kodi-adsp-freesurround/kodi-adsp-freesurround.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# kodi-adsp-freesurround -# -################################################################################ - -# This cset is on the branch 'Krypton' -# When Kodi is updated, then this should be updated to the corresponding branch -KODI_ADSP_FREESURROUND_VERSION = 34f50406bcba22e364711562e5b9205e57ae844b -KODI_ADSP_FREESURROUND_SITE = $(call github,kodi-adsp,adsp.freesurround,$(KODI_ADSP_FREESURROUND_VERSION)) -KODI_ADSP_FREESURROUND_LICENSE = GPL-3.0+ -KODI_ADSP_FREESURROUND_LICENSE_FILES = LICENSE.md -KODI_ADSP_FREESURROUND_DEPENDENCIES = libplatform kodi-platform - -$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash b/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash index 78b48c16..15ecf494 100644 --- a/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash +++ b/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 572b2e898484a5ada74c4095539cebf43c198a3147f0f24fe350bc79db053695 kodi-inputstream-adaptive-9af21218a87572bd4ab8d8d660c11f6295144f97.tar.gz +sha256 872a6ffefb90b6201a1e01fe5a52e05877e2040737e052b2f249725b9a8a44ff kodi-inputstream-adaptive-c51b9a9b58a645f820883e6d99982277fc58aac5.tar.gz diff --git a/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk b/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk index f7a4c66e..ab810d32 100644 --- a/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk +++ b/bsp/buildroot/package/kodi-inputstream-adaptive/kodi-inputstream-adaptive.mk @@ -6,7 +6,7 @@ # This cset is on the branch 'Krypton' # When Kodi is updated, then this should be updated to the corresponding branch -KODI_INPUTSTREAM_ADAPTIVE_VERSION = 9af21218a87572bd4ab8d8d660c11f6295144f97 +KODI_INPUTSTREAM_ADAPTIVE_VERSION = c51b9a9b58a645f820883e6d99982277fc58aac5 KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,peak3d,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION)) KODI_INPUTSTREAM_ADAPTIVE_LICENSE = GPL-2.0+ KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = src/main.cpp diff --git a/bsp/buildroot/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch b/bsp/buildroot/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch new file mode 100644 index 00000000..709a2d39 --- /dev/null +++ b/bsp/buildroot/package/kodi/0004-Fix-ffmpeg-build-for-mips.patch @@ -0,0 +1,43 @@ +From e3882a7d6c2e47731c0435d0faa3594041d58a2c Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 12 Aug 2018 15:12:29 +0200 +Subject: [PATCH] Fix ffmpeg build for mips + +Backported from upstream master branch: +https://github.com/xbmc/xbmc/commit/71e09dd1ac66059e31e6240352da7091d820ef83 + +Signed-off-by: Bernd Kuhls +--- + tools/depends/target/ffmpeg/CMakeLists.txt | 2 +- + tools/depends/target/ffmpeg/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt +index 0a9e9d38ea..fda6b0cac4 100644 +--- a/tools/depends/target/ffmpeg/CMakeLists.txt ++++ b/tools/depends/target/ffmpeg/CMakeLists.txt +@@ -63,7 +63,7 @@ endif() + if(CPU MATCHES arm OR CORE_SYSTEM_NAME STREQUAL rbpi) + list(APPEND ffmpeg_conf --enable-pic --disable-armv5te --disable-armv6t2) + elseif(CPU MATCHES mips) +- list(APPEND ffmpeg_conf --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2) ++ list(APPEND ffmpeg_conf --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2) + endif() + + find_package(GnuTls) +diff --git a/tools/depends/target/ffmpeg/Makefile b/tools/depends/target/ffmpeg/Makefile +index ea1113d293..098f6c0c14 100644 +--- a/tools/depends/target/ffmpeg/Makefile ++++ b/tools/depends/target/ffmpeg/Makefile +@@ -58,7 +58,7 @@ ifeq ($(findstring arm, $(CPU)), arm) + ffmpg_config += --enable-pic --disable-armv5te --disable-armv6t2 + endif + ifeq ($(findstring mips, $(CPU)), mips) +- ffmpg_config += --disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2 ++ ffmpg_config += --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2 + endif + ifeq ($(Configuration), Release) + ffmpg_config += --disable-debug +-- +2.18.0 + diff --git a/bsp/buildroot/package/kodi/0005-Fix-crosscompiling-issues.patch b/bsp/buildroot/package/kodi/0005-Fix-crosscompiling-issues.patch new file mode 100644 index 00000000..63f71cab --- /dev/null +++ b/bsp/buildroot/package/kodi/0005-Fix-crosscompiling-issues.patch @@ -0,0 +1,81 @@ +From d2c343a20bb61098d0450b15ea2d1dacd28d954a Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 12 Aug 2018 15:13:24 +0200 +Subject: [PATCH] Fix crosscompiling issues + +The codepath for KODI_DEPENDSBUILD needs to be used in order to provide +the correct crosscompiling options to ffmpeg. The CMake option +KODI_DEPENDSBUILD itself can not be enabled because it disables the +internal build of libdvd*. + +To link kodi.bin with the statically built ffmpeg libraries kodi uses +a wrapper script which calls pkgconfig. Our pkgconfig is patched to +alter paths which breaks the link command in this case, to fix this +PKG_CONFIG_SYSROOT_DIR was added. + +Also remove configure option --cpu from ffmpeg_conf to fix build +errors. + +Signed-off-by: Bernd Kuhls +--- + project/cmake/modules/FindFFMPEG.cmake | 16 +++++++--------- + tools/depends/target/ffmpeg/CMakeLists.txt | 2 +- + 2 files changed, 8 insertions(+), 10 deletions(-) + +diff --git a/project/cmake/modules/FindFFMPEG.cmake b/project/cmake/modules/FindFFMPEG.cmake +index 28cc80710e..1ac8793149 100644 +--- a/project/cmake/modules/FindFFMPEG.cmake ++++ b/project/cmake/modules/FindFFMPEG.cmake +@@ -233,16 +233,14 @@ if(NOT FFMPEG_FOUND) + message(STATUS "FFMPEG_URL: ${FFMPEG_URL}") + endif() + +- if(KODI_DEPENDSBUILD) + set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH} + -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} + -DCROSSCOMPILING=${CMAKE_CROSSCOMPILING} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} +- -DOS=${OS} ++ -DOS=linux + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_AR=${CMAKE_AR}) +- endif() + + externalproject_add(ffmpeg + URL ${FFMPEG_URL} +@@ -270,12 +268,12 @@ if(NOT FFMPEG_FOUND) + "#!/bin/bash + if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}.so* || $@ == *${APP_NAME_LC}-test* ]] + then +- avformat=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` +- avcodec=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` +- avfilter=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` +- avutil=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` +- swscale=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` +- swresample=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` ++ avformat=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` ++ avcodec=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` ++ avfilter=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` ++ avutil=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` ++ swscale=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` ++ swresample=`PKG_CONFIG_SYSROOT_DIR=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` + gnutls=`PKG_CONFIG_PATH=${DEPENDS_PATH}/lib/pkgconfig/ ${PKG_CONFIG_EXECUTABLE} --libs-only-l --static --silence-errors gnutls` + $@ $avcodec $avformat $avcodec $avfilter $swscale $swresample -lpostproc $gnutls + else +diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt +index fda6b0cac4..af3afa6b60 100644 +--- a/tools/depends/target/ffmpeg/CMakeLists.txt ++++ b/tools/depends/target/ffmpeg/CMakeLists.txt +@@ -9,7 +9,7 @@ set(ffmpeg_conf "") + if(CROSSCOMPILING) + set(pkgconf "PKG_CONFIG_LIBDIR=${DEPENDS_PATH}/lib/pkgconfig") + list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE} --pkg-config-flags=--static) +- list(APPEND ffmpeg_conf --enable-cross-compile --cpu=${CPU} --arch=${CPU} --target-os=${OS}) ++ list(APPEND ffmpeg_conf --enable-cross-compile --arch=${CPU} --target-os=${OS}) + list(APPEND ffmpeg_conf --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER} --ar=${CMAKE_AR}) + message(STATUS "CROSS: ${ffmpeg_conf}") + endif() +-- +2.18.0 + diff --git a/bsp/buildroot/package/kodi/Config.in b/bsp/buildroot/package/kodi/Config.in index 992b155f..279b4ead 100644 --- a/bsp/buildroot/package/kodi/Config.in +++ b/bsp/buildroot/package/kodi/Config.in @@ -15,21 +15,35 @@ comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, t || !BR2_PACKAGE_PYTHON \ || BR2_PACKAGE_PYTHON_PYC_ONLY -config BR2_PACKAGE_KODI_EGL_GLES +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + bool + +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_AML bool default y - depends on BR2_PACKAGE_HAS_LIBEGL - depends on BR2_PACKAGE_HAS_LIBGLES - depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available + depends on BR2_PACKAGE_LIBAMCODEC + depends on BR2_PACKAGE_ODROID_MALI + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -config BR2_PACKAGE_KODI_GL_EGL +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI + bool + default y + # List of valid CPUs can be found here: + # https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L12 + depends on BR2_arm1176jzf_s || BR2_cortex_a7 || BR2_cortex_a53 + depends on BR2_PACKAGE_RPI_USERLAND + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS + +config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL bool default y depends on BR2_PACKAGE_HAS_LIBEGL depends on BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS -comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend" - depends on !BR2_PACKAGE_KODI_GL_EGL && !BR2_PACKAGE_KODI_EGL_GLES +comment "kodi needs an OpenGL EGL backend with OpenGL support" + depends on !BR2_PACKAGE_KODI_PLATFORM_SUPPORTS menuconfig BR2_PACKAGE_KODI bool "kodi" @@ -38,27 +52,23 @@ menuconfig BR2_PACKAGE_KODI depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_USES_MUSL - depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL_EGL depends on BR2_USE_WCHAR - depends on !BR2_STATIC_LIBS # python and others + depends on !BR2_STATIC_LIBS # gnutls, python and others depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS depends on BR2_PACKAGE_PYTHON depends on !BR2_PACKAGE_PYTHON_PYC_ONLY select BR2_NEEDS_HOST_JAVA select BR2_PACKAGE_BZIP2 select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_FFMPEG - select BR2_PACKAGE_FFMPEG_GPL - select BR2_PACKAGE_FFMPEG_POSTPROC # postproc depends on GPL - select BR2_PACKAGE_FFMPEG_SWSCALE select BR2_PACKAGE_FONTCONFIG select BR2_PACKAGE_FREETYPE + select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBASS select BR2_PACKAGE_LIBCDIO select BR2_PACKAGE_LIBCROSSGUID select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBFRIBIDI - select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBPLIST select BR2_PACKAGE_LIBSAMPLERATE @@ -80,8 +90,6 @@ menuconfig BR2_PACKAGE_KODI select BR2_PACKAGE_SQLITE select BR2_PACKAGE_TAGLIB select BR2_PACKAGE_TINYXML - select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL_EGL - select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL_EGL select BR2_PACKAGE_YAJL select BR2_PACKAGE_ZLIB select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support @@ -190,6 +198,27 @@ config BR2_PACKAGE_KODI_NONFREE Enable components with non-free licenses. This option currently only controls support for RAR archives. +choice + prompt "platform" + default BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + +config BR2_PACKAGE_KODI_PLATFORM_AML + bool "AMLogic" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_AML + +config BR2_PACKAGE_KODI_PLATFORM_RBPI + bool "Raspberry Pi" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI + +config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL + bool "X11/OpenGL" + depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_LIBGLU + select BR2_PACKAGE_XLIB_LIBXRANDR + +endchoice + config BR2_PACKAGE_KODI_PULSEAUDIO bool "pulseaudio" depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC @@ -240,25 +269,23 @@ config BR2_PACKAGE_KODI_LIBUSB config BR2_PACKAGE_KODI_LIBVA bool "va" - depends on BR2_PACKAGE_KODI_GL_EGL - depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL select BR2_PACKAGE_LIBVA help Enable libva support. -comment "libva support needs X.org with an openGL backend" - depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL +comment "libva support needs platform 'X11/OpenGL'" + depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL config BR2_PACKAGE_KODI_LIBVDPAU bool "vdpau" - depends on BR2_PACKAGE_KODI_GL_EGL - depends on BR2_PACKAGE_XORG7 + depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL select BR2_PACKAGE_LIBVDPAU help Enable libvdpau support. -comment "libvdpau support needs X.org with an openGL backend" - depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_KODI_GL_EGL +comment "libvdpau support needs platform 'X11/OpenGL'" + depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL config BR2_PACKAGE_KODI_UPNP bool "upnp" @@ -281,11 +308,6 @@ menu "Audio decoder addons" source "package/kodi-audiodecoder-vgmstream/Config.in" endmenu -menu "Audio DSP addons" - source "package/kodi-adsp-basic/Config.in" - source "package/kodi-adsp-freesurround/Config.in" -endmenu - menu "Audio encoder addons" source "package/kodi-audioencoder-flac/Config.in" source "package/kodi-audioencoder-lame/Config.in" diff --git a/bsp/buildroot/package/kodi/S50kodi b/bsp/buildroot/package/kodi/S50kodi old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/kodi/kodi.hash b/bsp/buildroot/package/kodi/kodi.hash index 23a11ca4..8018c67a 100644 --- a/bsp/buildroot/package/kodi/kodi.hash +++ b/bsp/buildroot/package/kodi/kodi.hash @@ -1,5 +1,7 @@ # Locally computed sha256 c8312fe92e5bab1cdac1da93d60baed88fa1574146c50c44e3c86d01671c2b1d kodi-17.6-Krypton.tar.gz +# Locally computed - ffmpeg +sha256 7df8bce40765b39de5766ca9d08b5b9ac1f498c65c805c989461b907cee6b7c0 3.1.11-Krypton-17.5.tar.gz # Locally computed - libdvdcss sha256 b6eb2d929ff56cb051152c32010afc5e7cf5fe8c5ae32dca412a2b46b6b57e34 2f12236.tar.gz # Locally computed - libdvdnav diff --git a/bsp/buildroot/package/kodi/kodi.mk b/bsp/buildroot/package/kodi/kodi.mk index 9d3b65ae..590af15b 100644 --- a/bsp/buildroot/package/kodi/kodi.mk +++ b/bsp/buildroot/package/kodi/kodi.mk @@ -15,9 +15,9 @@ KODI_INSTALL_STAGING = YES KODI_DEPENDENCIES = \ bzip2 \ expat \ - ffmpeg \ fontconfig \ freetype \ + gnutls \ host-gawk \ host-gperf \ host-kodi-jsonschemabuilder \ @@ -47,11 +47,15 @@ KODI_DEPENDENCIES = \ KODI_SUBDIR = project/cmake +# taken from tools/depends/target/ffmpeg/FFMPEG-VERSION +KODI_FFMPEG_VERSION = 3.1.11-Krypton-17.5 +KODI_EXTRA_DOWNLOADS += \ + https://github.com/xbmc/FFmpeg/archive/$(KODI_FFMPEG_VERSION).tar.gz + KODI_LIBDVDCSS_VERSION = 2f12236 KODI_LIBDVDNAV_VERSION = 981488f KODI_LIBDVDREAD_VERSION = 17d99db - -KODI_EXTRA_DOWNLOADS = \ +KODI_EXTRA_DOWNLOADS += \ https://github.com/xbmc/libdvdcss/archive/$(KODI_LIBDVDCSS_VERSION).tar.gz \ https://github.com/xbmc/libdvdnav/archive/$(KODI_LIBDVDNAV_VERSION).tar.gz \ https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz @@ -62,29 +66,27 @@ KODI_CONF_OPTS += \ -DENABLE_CCACHE=OFF \ -DENABLE_DVDCSS=ON \ -DENABLE_INTERNAL_CROSSGUID=OFF \ - -DENABLE_INTERNAL_FFMPEG=OFF \ + -DENABLE_INTERNAL_FFMPEG=ON \ + -DFFMPEG_URL=$(KODI_DL_DIR)/$(KODI_FFMPEG_VERSION).tar.gz \ -DKODI_DEPENDSBUILD=OFF \ -DENABLE_OPENSSL=ON \ -DNATIVEPREFIX=$(HOST_DIR) \ - -DDEPENDS_PATH=$(@D) \ - -DWITH_FFMPEG=$(STAGING_DIR)/usr \ + -DDEPENDS_PATH=$(STAGING_DIR)/usr \ -DWITH_TEXTUREPACKER=$(HOST_DIR)/bin/TexturePacker \ - -DLIBDVDCSS_URL=$(DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \ - -DLIBDVDNAV_URL=$(DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \ - -DLIBDVDREAD_URL=$(DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \ + -DLIBDVDCSS_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \ + -DLIBDVDNAV_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \ + -DLIBDVDREAD_URL=$(KODI_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz \ -DENABLE_IMX=OFF ifeq ($(BR2_ENABLE_LOCALE),) KODI_DEPENDENCIES += libiconv endif -ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -KODI_DEPENDENCIES += rpi-userland +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) # These CPU-specific options are only used on rbpi: # https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/scripts/rbpi/ArchSetup.cmake#L13 ifeq ($(BR2_arm1176jzf_s)$(BR2_cortex_a7)$(BR2_cortex_a53),y) -KODI_CONF_OPTS += -DWITH_CPU=$(BR2_GCC_TARGET_CPU) +KODI_CONF_OPTS += -DWITH_CPU="$(GCC_TARGET_CPU)" endif else ifeq ($(BR2_arceb)$(BR2_arcle),y) @@ -161,6 +163,39 @@ ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) KODI_CXX_FLAGS += -latomic endif +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_AML),y) +KODI_CONF_OPTS += -DENABLE_AML=ON -DENABLE_OPENGLES=ON +# The following line can be removed when bumping to 18.0-Leia, +# see upstream PR 13425 +KODI_CXX_FLAGS += -DMESA_EGL_NO_X11_HEADERS +KODI_DEPENDENCIES += libamcodec odroid-mali +else +KODI_CONF_OPTS += -DENABLE_AML=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_RBPI),y) +KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -DENABLE_OPENGLES=ON +KODI_DEPENDENCIES += rpi-userland +else +# Kodi considers "rpbi" and "linux" as two separate platforms. The +# below options, defined in +# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the +# "linux" platforms. The "rpbi" platform has a different set of +# options, defined in project/cmake/scripts/rbpi/ +KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF +endif + +ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y) +KODI_CONF_OPTS += \ + -DENABLE_OPENGL=ON \ + -DENABLE_OPENGLES=OFF \ + -DENABLE_X11=ON +KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \ + xlib_libXrandr libdrm +else +KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF +endif + ifeq ($(BR2_PACKAGE_KODI_MYSQL),y) KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON KODI_DEPENDENCIES += mysql @@ -176,24 +211,6 @@ else KODI_CONF_OPTS += -DENABLE_NONFREE=OFF endif -ifeq ($(BR2_PACKAGE_RPI_USERLAND),y) -KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi -KODI_DEPENDENCIES += rpi-userland -else -# Kodi considers "rpbi" and "linux" as two separate platforms. The -# below options, defined in -# project/cmake/scripts/linux/ArchSetup.cmake are only valid for the -# "linux" platforms. The "rpbi" platform has a different set of -# options, defined in project/cmake/scripts/rbpi/ -KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF -ifeq ($(BR2_PACKAGE_LIBAMCODEC),y) -KODI_CONF_OPTS += -DENABLE_AML=ON -KODI_DEPENDENCIES += libamcodec -else -KODI_CONF_OPTS += -DENABLE_AML=OFF -endif -endif - ifeq ($(BR2_PACKAGE_HAS_UDEV),y) KODI_CONF_OPTS += -DENABLE_UDEV=ON KODI_DEPENDENCIES += udev @@ -246,24 +263,6 @@ else KODI_CONF_OPTS += -DENABLE_ALSA=OFF endif -ifeq ($(BR2_PACKAGE_KODI_GL_EGL),y) -KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \ - xlib_libXrandr libdrm -KODI_CONF_OPTS += -DENABLE_OPENGL=ON -DENABLE_X11=ON -DENABLE_OPENGLES=OFF -else -KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF -endif - -ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y) -KODI_DEPENDENCIES += libegl libgles -KODI_CONF_OPTS += \ - -DENABLE_OPENGLES=ON -KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl` -KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl` -else -KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF -endif - ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y) KODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON KODI_DEPENDENCIES += libmicrohttpd diff --git a/bsp/buildroot/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch b/bsp/buildroot/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch deleted file mode 100644 index 633da8b3..00000000 --- a/bsp/buildroot/package/kvazaar/0001-Modify-and-use-FILL_ARRAY-macro-to-prevent-warning-o.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 47a9f0de049e77e866ea5bdd4bc7c795ea6dd641 Mon Sep 17 00:00:00 2001 -From: Ari Lemmetti -Date: Tue, 11 Apr 2017 12:57:22 +0300 -Subject: [PATCH] Modify and use FILL_ARRAY macro to prevent warning on GCC 7 - -Following warning was given and is false positive - -error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size] - -Signed-off-by: Baruch Siach ---- -Upstream commit 47a9f0de049e7. - - src/global.h | 6 +++++- - src/rdo.c | 8 ++++---- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/src/global.h b/src/global.h -index bedcd49c2e02..518167443f35 100644 ---- a/src/global.h -+++ b/src/global.h -@@ -219,7 +219,11 @@ typedef int16_t coeff_t; - // Fill a structure or a static array with val bytes. - #define FILL(var, val) memset(&(var), (val), sizeof(var)) - // Fill a number of elements in an array with val bytes. --#define FILL_ARRAY(ar, val, size) memset((ar), (val), (size) * sizeof(*(ar))) -+#define FILL_ARRAY(ar, val, size) \ -+{\ -+ void *temp_ptr = (void*)(ar);\ -+ memset((temp_ptr), (val), (size) * sizeof(*(ar)));\ -+} - - #define FREE_POINTER(pointer) { free((void*)pointer); pointer = NULL; } - #define MOVE_POINTER(dst_pointer,src_pointer) { dst_pointer = src_pointer; src_pointer = NULL; } -diff --git a/src/rdo.c b/src/rdo.c -index 52305fd72fab..2579f2808441 100644 ---- a/src/rdo.c -+++ b/src/rdo.c -@@ -558,10 +558,10 @@ void kvz_rdoq(encoder_state_t * const state, coeff_t *coef, coeff_t *dest_coeff, - // Explicitly tell the only possible numbers of elements to be zeroed. - // Hope the compiler is able to utilize this information. - switch (cg_num) { -- case 1: memset(sig_coeffgroup_flag, 0, 1 * sizeof(sig_coeffgroup_flag[0])); break; -- case 4: memset(sig_coeffgroup_flag, 0, 4 * sizeof(sig_coeffgroup_flag[0])); break; -- case 16: memset(sig_coeffgroup_flag, 0, 16 * sizeof(sig_coeffgroup_flag[0])); break; -- case 64: memset(sig_coeffgroup_flag, 0, 64 * sizeof(sig_coeffgroup_flag[0])); break; -+ case 1: FILL_ARRAY(sig_coeffgroup_flag, 0, 1); break; -+ case 4: FILL_ARRAY(sig_coeffgroup_flag, 0, 4); break; -+ case 16: FILL_ARRAY(sig_coeffgroup_flag, 0, 16); break; -+ case 64: FILL_ARRAY(sig_coeffgroup_flag, 0, 64); break; - default: assert(0 && "There should be 1, 4, 16 or 64 coefficient groups"); - } - --- -2.13.2 - diff --git a/bsp/buildroot/package/kvazaar/kvazaar.hash b/bsp/buildroot/package/kvazaar/kvazaar.hash index 80f480b5..aa746ca1 100644 --- a/bsp/buildroot/package/kvazaar/kvazaar.hash +++ b/bsp/buildroot/package/kvazaar/kvazaar.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 8e382738a51004bfcfca4c832e8b41fe6a17f889f3c39151dc1c1a37261a3a6d kvazaar-v1.1.0.tar.gz +sha256 480ecfd9b4d2b7d21b355e4a35fcf47b4db7a3b0315b6219d93733db42392bd9 kvazaar-v1.2.0.tar.gz +sha256 531712277c3543b9ee86c4c4e0e424f531b893a44cc021c74a24b038d8de4d2a COPYING diff --git a/bsp/buildroot/package/kvazaar/kvazaar.mk b/bsp/buildroot/package/kvazaar/kvazaar.mk index f9149a78..0cf965dd 100644 --- a/bsp/buildroot/package/kvazaar/kvazaar.mk +++ b/bsp/buildroot/package/kvazaar/kvazaar.mk @@ -4,7 +4,7 @@ # ################################################################################ -KVAZAAR_VERSION = v1.1.0 +KVAZAAR_VERSION = v1.2.0 KVAZAAR_SITE = $(call github,ultravideo,kvazaar,$(KVAZAAR_VERSION)) KVAZAAR_LICENSE = LGPL-2.1+ KVAZAAR_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/kvm-unit-tests/kvm-unit-tests.mk b/bsp/buildroot/package/kvm-unit-tests/kvm-unit-tests.mk index 54614e26..92d67fb3 100644 --- a/bsp/buildroot/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/bsp/buildroot/package/kvm-unit-tests/kvm-unit-tests.mk @@ -28,7 +28,7 @@ endif KVM_UNIT_TESTS_CONF_OPTS =\ --arch="$(KVM_UNIT_TESTS_ARCH)" \ - --processor="$(call qstrip,$(BR2_GCC_TARGET_CPU))" \ + --processor="$(GCC_TARGET_CPU)" \ --endian="$(KVM_UNIT_TESTS_ENDIAN)" # For all architectures but x86-64, we use the target diff --git a/bsp/buildroot/package/lbase64/Config.in b/bsp/buildroot/package/lbase64/Config.in index 34ef943a..c836ffb5 100644 --- a/bsp/buildroot/package/lbase64/Config.in +++ b/bsp/buildroot/package/lbase64/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_LBASE64 bool "lbase64" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help A base64 library for Lua diff --git a/bsp/buildroot/package/lcdapi/lcdapi.mk b/bsp/buildroot/package/lcdapi/lcdapi.mk index f7c71dfd..b27abcdb 100644 --- a/bsp/buildroot/package/lcdapi/lcdapi.mk +++ b/bsp/buildroot/package/lcdapi/lcdapi.mk @@ -11,12 +11,6 @@ LCDAPI_LICENSE_FILES = COPYING LCDAPI_AUTORECONF = YES LCDAPI_INSTALL_STAGING = YES -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -LCDAPI_CONF_OPTS += CXXFLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - define LCDAPI_CREATE_M4_DIR mkdir -p $(@D)/m4 endef diff --git a/bsp/buildroot/package/lcms2/lcms2.mk b/bsp/buildroot/package/lcms2/lcms2.mk index a19f807d..b6c292b7 100644 --- a/bsp/buildroot/package/lcms2/lcms2.mk +++ b/bsp/buildroot/package/lcms2/lcms2.mk @@ -31,5 +31,5 @@ else LCMS2_CONF_OPTS += --without-zlib endif -$(eval $(host-autotools-package)) $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/leptonica/leptonica.hash b/bsp/buildroot/package/leptonica/leptonica.hash index f67f2b88..14c750c2 100644 --- a/bsp/buildroot/package/leptonica/leptonica.hash +++ b/bsp/buildroot/package/leptonica/leptonica.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b leptonica-1.74.4.tar.gz +sha256 dd7990ab6b6824b0cfed70920824d37b47184240f98db4085f7dbf1250cd4899 leptonica-1.77.0.tar.gz +sha256 ca0ac11c7c0acad9599d54990942cc11c9f6d9b569f1a360d774a628819c3518 leptonica-license.txt diff --git a/bsp/buildroot/package/leptonica/leptonica.mk b/bsp/buildroot/package/leptonica/leptonica.mk index 6a958a35..7c6fa12b 100644 --- a/bsp/buildroot/package/leptonica/leptonica.mk +++ b/bsp/buildroot/package/leptonica/leptonica.mk @@ -4,7 +4,7 @@ # ################################################################################ -LEPTONICA_VERSION = 1.74.4 +LEPTONICA_VERSION = 1.77.0 LEPTONICA_SITE = http://www.leptonica.org/source LEPTONICA_LICENSE = BSD-2-Clause LEPTONICA_LICENSE_FILES = leptonica-license.txt diff --git a/bsp/buildroot/package/less/less.mk b/bsp/buildroot/package/less/less.mk index bccc08b8..ef3643c0 100644 --- a/bsp/buildroot/package/less/less.mk +++ b/bsp/buildroot/package/less/less.mk @@ -8,8 +8,7 @@ LESS_VERSION = 487 LESS_SITE = $(BR2_GNU_MIRROR)/less LESS_LICENSE = GPL-3.0+ LESS_LICENSE_FILES = COPYING -# Build after busybox, full-blown is better -LESS_DEPENDENCIES = ncurses $(if $(BR2_PACKAGE_BUSYBOX),busybox) +LESS_DEPENDENCIES = ncurses define LESS_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 $(@D)/less $(TARGET_DIR)/usr/bin/less diff --git a/bsp/buildroot/package/leveldb/0003-fix-parallel-build.patch b/bsp/buildroot/package/leveldb/0003-fix-parallel-build.patch deleted file mode 100644 index 8aafbc2e..00000000 --- a/bsp/buildroot/package/leveldb/0003-fix-parallel-build.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 293e1b08317567b2e479d24530986676ae4d2221 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 8 Oct 2018 23:08:19 +0200 -Subject: [PATCH] fix parallel build - -Build of leveldb sometimes fails on: -Fatal error: can't create out-shared/db/db_bench.o: No such file or directory - -Fix this, by creating $(SHARED_OUTDIR) before building -(SHARED_OUTDIR)/db/db_bench.o - -Fixes: - - http://autobuild.buildroot.net/results/945bb8096c1f98f307161a6def5a9f7f25b2454a - -Signed-off-by: Fabrice Fontaine -[Upstream status: not upstreamable as upstream switched to cmake] ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index f7cc7d7..edb56a5 100644 ---- a/Makefile -+++ b/Makefile -@@ -386,7 +386,7 @@ $(STATIC_OUTDIR)/write_batch_test:db/write_batch_test.cc $(STATIC_LIBOBJECTS) $( - $(STATIC_OUTDIR)/memenv_test:$(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) - $(XCRUN) $(CXX) $(LDFLAGS) $(STATIC_OUTDIR)/helpers/memenv/memenv_test.o $(STATIC_OUTDIR)/libmemenv.a $(STATIC_OUTDIR)/libleveldb.a $(TESTHARNESS) -o $@ $(LIBS) - --$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) -+$(SHARED_OUTDIR)/db_bench:$(SHARED_OUTDIR) $(SHARED_OUTDIR)/db/db_bench.o $(SHARED_LIBS) $(TESTUTIL) - $(XCRUN) $(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_SHARED_CFLAGS) $(SHARED_OUTDIR)/db/db_bench.o $(TESTUTIL) $(SHARED_OUTDIR)/$(SHARED_LIB3) -o $@ $(LIBS) - - .PHONY: run-shared --- -2.17.1 - diff --git a/bsp/buildroot/package/leveldb/Config.in b/bsp/buildroot/package/leveldb/Config.in index c44ef13c..163a75e8 100644 --- a/bsp/buildroot/package/leveldb/Config.in +++ b/bsp/buildroot/package/leveldb/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_LEVELDB bool "leveldb" - # Missing/broken atomic pointer support - depends on !BR2_bfin depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_SNAPPY @@ -13,5 +11,4 @@ config BR2_PACKAGE_LEVELDB https://github.com/google/leveldb comment "leveldb needs a toolchain w/ C++, threads" - depends on !BR2_bfin depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/leveldb/leveldb.mk b/bsp/buildroot/package/leveldb/leveldb.mk index 54942a0f..af9e8798 100644 --- a/bsp/buildroot/package/leveldb/leveldb.mk +++ b/bsp/buildroot/package/leveldb/leveldb.mk @@ -17,18 +17,18 @@ LEVELDB_MAKE_ARGS += SHARED_LIBS= SHARED_PROGRAMS= endif define LEVELDB_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) \ + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE1) \ $(LEVELDB_MAKE_ARGS) -C $(@D) endef define LEVELDB_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ + $(TARGET_MAKE_ENV) $(MAKE1) \ INSTALL_ROOT=$(STAGING_DIR) INSTALL_PREFIX=/usr \ $(LEVELDB_MAKE_ARGS) -C $(@D) install endef define LEVELDB_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) \ + $(TARGET_MAKE_ENV) $(MAKE1) \ INSTALL_ROOT=$(TARGET_DIR) INSTALL_PREFIX=/usr \ $(LEVELDB_MAKE_ARGS) -C $(@D) install endef diff --git a/bsp/buildroot/package/lftp/lftp.hash b/bsp/buildroot/package/lftp/lftp.hash index 99dd994f..64aba12b 100644 --- a/bsp/buildroot/package/lftp/lftp.hash +++ b/bsp/buildroot/package/lftp/lftp.hash @@ -1,4 +1,7 @@ -# From http://lftp.yar.ru/ftp/lftp-4.8.0.md5sum -md5 468558412ad3575ef8e98547c41339f4 lftp-4.8.0.tar.xz +# From http://lftp.yar.ru/ftp/lftp-4.8.4.md5sum +md5 b75c43797e817529d486be640232d708 lftp-4.8.4.tar.xz # Locally calculated after checking gpg signature -sha256 7a2880968088b4aeec43b6b6680fef0e065e1dddcce9b409390157e9766b690f lftp-4.8.0.tar.xz +sha256 4ebc271e9e5cea84a683375a0f7e91086e5dac90c5d51bb3f169f75386107a62 lftp-4.8.4.tar.xz + +# Hash for license file: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/lftp/lftp.mk b/bsp/buildroot/package/lftp/lftp.mk index b174057f..93a0bf5c 100644 --- a/bsp/buildroot/package/lftp/lftp.mk +++ b/bsp/buildroot/package/lftp/lftp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LFTP_VERSION = 4.8.0 +LFTP_VERSION = 4.8.4 LFTP_SOURCE = lftp-$(LFTP_VERSION).tar.xz LFTP_SITE = http://lftp.yar.ru/ftp LFTP_LICENSE = GPL-3.0+ @@ -41,11 +41,11 @@ else LFTP_CONF_OPTS += --without-openssl endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) -LFTP_DEPENDENCIES += libidn -LFTP_CONF_OPTS += --with-libidn=$(STAGING_DIR)/usr +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +LFTP_DEPENDENCIES += libidn2 +LFTP_CONF_OPTS += --with-libidn2=$(STAGING_DIR)/usr else -LFTP_CONF_OPTS += --without-libidn +LFTP_CONF_OPTS += --without-libidn2 endif # Remove /usr/share/lftp diff --git a/bsp/buildroot/package/libaacs/libaacs.hash b/bsp/buildroot/package/libaacs/libaacs.hash index 84947e0c..22310295 100644 --- a/bsp/buildroot/package/libaacs/libaacs.hash +++ b/bsp/buildroot/package/libaacs/libaacs.hash @@ -1,2 +1,5 @@ # From http://download.videolan.org/pub/videolan/libaacs/0.9.0/libaacs-0.9.0.tar.bz2.sha512 sha512 b9c658db22a0966486070d3b762509a7c0120469ab29d1e57c1b624cad309701de8b92455ec649db4d731be4a5c29c38fb4f99bb7617dbb4254270284a1903f6 libaacs-0.9.0.tar.bz2 + +# Hash for license file: +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING diff --git a/bsp/buildroot/package/libaio/0001-arches.patch b/bsp/buildroot/package/libaio/0001-arches.patch deleted file mode 100644 index 4b77f577..00000000 --- a/bsp/buildroot/package/libaio/0001-arches.patch +++ /dev/null @@ -1,249 +0,0 @@ -Patch borrowed from OpenEmbedded, available at -/meta/recipes-extended/libaio/libaio/00_arches.patch in their source -tree. This patch has been modified to only add the MIPS definitions. - -The patch adds MIPS specific definitions (syscall number and macros). - -Signed-off-by: Alistair Francis - -Index: libaio-0.3.110/src/syscall.h -=================================================================== ---- libaio-0.3.110.orig/src/syscall.h -+++ libaio-0.3.110/src/syscall.h -@@ -28,6 +28,8 @@ - #include "syscall-sparc.h" - #elif defined(__aarch64__) - #include "syscall-arm64.h" -+#elif defined(__mips__) -+#include "syscall-mips.h" - #else - #warning "using generic syscall method" - #include "syscall-generic.h" -Index: libaio-0.3.110/src/syscall-mips.h -=================================================================== ---- /dev/null -+++ libaio-0.3.110/src/syscall-mips.h -@@ -0,0 +1,223 @@ -+/* -+ * This file is subject to the terms and conditions of the GNU General Public -+ * License. See the file "COPYING" in the main directory of this archive -+ * for more details. -+ * -+ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle -+ * Copyright (C) 1999, 2000 Silicon Graphics, Inc. -+ * -+ * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto -+ * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A -+ */ -+ -+#ifndef _MIPS_SIM_ABI32 -+#define _MIPS_SIM_ABI32 1 -+#define _MIPS_SIM_NABI32 2 -+#define _MIPS_SIM_ABI64 3 -+#endif -+ -+#if _MIPS_SIM == _MIPS_SIM_ABI32 -+ -+/* -+ * Linux o32 style syscalls are in the range from 4000 to 4999. -+ */ -+#define __NR_Linux 4000 -+#define __NR_io_setup (__NR_Linux + 241) -+#define __NR_io_destroy (__NR_Linux + 242) -+#define __NR_io_getevents (__NR_Linux + 243) -+#define __NR_io_submit (__NR_Linux + 244) -+#define __NR_io_cancel (__NR_Linux + 245) -+ -+#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ -+ -+#if _MIPS_SIM == _MIPS_SIM_ABI64 -+ -+/* -+ * Linux 64-bit syscalls are in the range from 5000 to 5999. -+ */ -+#define __NR_Linux 5000 -+#define __NR_io_setup (__NR_Linux + 200) -+#define __NR_io_destroy (__NR_Linux + 201) -+#define __NR_io_getevents (__NR_Linux + 202) -+#define __NR_io_submit (__NR_Linux + 203) -+#define __NR_io_cancel (__NR_Linux + 204) -+#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ -+ -+#if _MIPS_SIM == _MIPS_SIM_NABI32 -+ -+/* -+ * Linux N32 syscalls are in the range from 6000 to 6999. -+ */ -+#define __NR_Linux 6000 -+#define __NR_io_setup (__NR_Linux + 200) -+#define __NR_io_destroy (__NR_Linux + 201) -+#define __NR_io_getevents (__NR_Linux + 202) -+#define __NR_io_submit (__NR_Linux + 203) -+#define __NR_io_cancel (__NR_Linux + 204) -+#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ -+ -+#define io_syscall1(type,fname,sname,atype,a) \ -+type fname(atype a) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %3\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall2(type,fname,sname,atype,a,btype,b) \ -+type fname(atype a, btype b) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %4\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \ -+type fname(atype a, btype b, ctype c) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7"); \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "=r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \ -+type fname(atype a, btype b, ctype c, dtype d) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#if (_MIPS_SIM == _MIPS_SIM_ABI32) -+ -+/* -+ * Using those means your brain needs more than an oil change ;-) -+ */ -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname(atype a, btype b, ctype c, dtype d, etype e) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "lw\t$2, %6\n\t" \ -+ "subu\t$29, 32\n\t" \ -+ "sw\t$2, 16($29)\n\t" \ -+ "li\t$2, %5\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ "addiu\t$29, 32\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname), \ -+ "m" ((unsigned long)e) \ -+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */ -+ -+#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) -+ -+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \ -+type fname (atype a,btype b,ctype c,dtype d,etype e) \ -+{ \ -+ register unsigned long __a0 asm("$4") = (unsigned long) a; \ -+ register unsigned long __a1 asm("$5") = (unsigned long) b; \ -+ register unsigned long __a2 asm("$6") = (unsigned long) c; \ -+ register unsigned long __a3 asm("$7") = (unsigned long) d; \ -+ register unsigned long __a4 asm("$8") = (unsigned long) e; \ -+ unsigned long __v0; \ -+ \ -+ __asm__ volatile ( \ -+ ".set\tnoreorder\n\t" \ -+ "li\t$2, %6\t\t\t# " #fname "\n\t" \ -+ "syscall\n\t" \ -+ "move\t%0, $2\n\t" \ -+ ".set\treorder" \ -+ : "=&r" (__v0), "+r" (__a3) \ -+ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##sname) \ -+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \ -+ "memory"); \ -+ \ -+ if (__a3 == 0) \ -+ return (type) __v0; \ -+ return (type) -1; \ -+} -+ -+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ -+ diff --git a/bsp/buildroot/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch b/bsp/buildroot/package/libaio/0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch similarity index 95% rename from bsp/buildroot/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch rename to bsp/buildroot/package/libaio/0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch index 50703c3f..9c876bdc 100644 --- a/bsp/buildroot/package/libaio/0002-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch +++ b/bsp/buildroot/package/libaio/0001-src-Makefile-add-ENABLE_SHARED-boolean-to-allow-stat.patch @@ -1,4 +1,4 @@ -From 14dee5707716629b1bc8d06b93cdfe9ea1a3b813 Mon Sep 17 00:00:00 2001 +From 4dc04ef55710f7f5c1e55ebb5cba8e22a126404e Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Mon, 29 Aug 2016 22:14:26 +0200 Subject: [PATCH] src/Makefile: add ENABLE_SHARED boolean to allow static-only @@ -52,5 +52,5 @@ index eadb336..cfab240 100644 $(libaio_objs): libaio.h -- -2.7.4 +2.14.4 diff --git a/bsp/buildroot/package/libaio/0003-destdir.patch b/bsp/buildroot/package/libaio/0002-Makefile-add-missing-DESTDIR-variable-use.patch similarity index 56% rename from bsp/buildroot/package/libaio/0003-destdir.patch rename to bsp/buildroot/package/libaio/0002-Makefile-add-missing-DESTDIR-variable-use.patch index 583a2afa..49b9892e 100644 --- a/bsp/buildroot/package/libaio/0003-destdir.patch +++ b/bsp/buildroot/package/libaio/0002-Makefile-add-missing-DESTDIR-variable-use.patch @@ -1,19 +1,24 @@ +From 517d9fbe63fbd7e72445dce1cb3f3d8457d838cb Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 14 Aug 2018 23:17:25 +0200 +Subject: [PATCH] Makefile: add missing DESTDIR variable use + Patch borrowed from OpenEmbedded, available at recipes/libaio/libaio-0.3.106/destdir.patch in their source tree. It just adds support for the traditional DESTDIR variable to install the library in a different sysroot than the normal /. -Signed-off-by: Thomas Petazzoni +Signed-off-by: Thomas Petazzoni --- - Makefile | 2 +- + Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: libaio-0.3.109/Makefile -=================================================================== ---- libaio-0.3.109.orig/Makefile -+++ libaio-0.3.109/Makefile -@@ -23,7 +23,7 @@ +diff --git a/Makefile b/Makefile +index e9dbdb0..c1fb831 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ all: @$(MAKE) -C src install: @@ -22,3 +27,6 @@ Index: libaio-0.3.109/Makefile check: @$(MAKE) -C harness check +-- +2.14.4 + diff --git a/bsp/buildroot/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch b/bsp/buildroot/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch new file mode 100644 index 00000000..17204be7 --- /dev/null +++ b/bsp/buildroot/package/libaio/0003-Link-against-libgcc-to-avoid-unresolved-symbols.patch @@ -0,0 +1,57 @@ +From 672eaebd131c789a528e3a9cd089b4b69a82012b Mon Sep 17 00:00:00 2001 +From: Guillem Jover +Date: Fri, 28 Sep 2018 13:15:54 +0300 +Subject: [PATCH] Link against libgcc to avoid unresolved symbols + +We need to link agaisnt -lgcc, on at least hppa, PPC and ARC. +That's because in some corner-cases like compilation with -Os +on ARC and PPC so-called millicode (basically function prologue and +epilogue) implemented in libgcc.a is used. So we end up with +GLOBAL UNDEFINED symbol in libaio.so and then on linkage of the final +applicaiton LD fails to proceed saying: +--------------------------->8---------------------- +hidden symbol '__ld_r13_to_r15_ret' in .../libgcc.a(_millicodethunk_ret.o) is referenced by DSO +--------------------------->8---------------------- + +Also it looks like in general it is not the best idea to use either +"-nostartfiles" or "-nostdlib" when linking shared libs because +default construtor/destructor functions won't be executed, see +"5.2. Library constructor and destructor functions" in [1] + +So let's stop passing "-nostdlib" and "-nostartfiles" and get required +stuff built-in libaio. + +Initial patch taken from Debian [2]. + +Fixes build failures in Buildroot like blktrace [3], lvm2 [4]. + +Was submitted upstream via pull-request [5]. + +[1] http://tldp.org/HOWTO/Program-Library-HOWTO/miscellaneous.html +[2] https://sources.debian.org/patches/libaio/0.3.111-1/01_link_libs.patch/ +[3] http://autobuild.buildroot.net/results/17461209755038a30118d76acb4f43469a22a139/ +[4] http://autobuild.buildroot.net/results/a5dfc87f94b97135e5cc84f6a876114891ed9dd9/ +[5] https://pagure.io/libaio/pull-request/7 + +Signed-off-by: Guillem Jover +Signed-off-by: Alexey Brodkin +--- + src/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile b/src/Makefile +index eadb336b47e3..5911c810c766 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -3,7 +3,7 @@ includedir=$(prefix)/include + libdir=$(prefix)/lib + + CFLAGS ?= -g -fomit-frame-pointer -O2 +-CFLAGS += -nostdlib -nostartfiles -Wall -I. -fPIC ++CFLAGS += -Wall -I. -fPIC + SO_CFLAGS=-shared $(CFLAGS) + L_CFLAGS=$(CFLAGS) + LINK_FLAGS= +-- +2.17.1 + diff --git a/bsp/buildroot/package/libaio/Config.in b/bsp/buildroot/package/libaio/Config.in index ea21a36f..eed843f4 100644 --- a/bsp/buildroot/package/libaio/Config.in +++ b/bsp/buildroot/package/libaio/Config.in @@ -1,12 +1,6 @@ -config BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS - bool - default y if BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \ - BR2_m68k || BR2_mips || BR2_mipsel || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \ - BR2_x86_64 - config BR2_PACKAGE_LIBAIO bool "libaio" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS help Library for doing asynchronous I/O + + https://pagure.io/libaio/ diff --git a/bsp/buildroot/package/libaio/libaio.hash b/bsp/buildroot/package/libaio/libaio.hash index 7aa8961f..17dd1ff7 100644 --- a/bsp/buildroot/package/libaio/libaio.hash +++ b/bsp/buildroot/package/libaio/libaio.hash @@ -1,2 +1,5 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/liba/libaio/libaio_0.3.110-1.dsc -sha256 e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e libaio_0.3.110.orig.tar.gz +# From https://releases.pagure.org/libaio/CHECKSUMS +sha256 62cf871ad8fd09eb3418f00aca7a7d449299b8e1de31c65f28bf6a2ef1fa502a libaio-0.3.111.tar.gz + +# Hash for license file: +sha256 5bbcbb737e60fe9deba08ecbd00920cfcc3403ba2e534c64fdeea49d6bb87509 COPYING diff --git a/bsp/buildroot/package/libaio/libaio.mk b/bsp/buildroot/package/libaio/libaio.mk index 03029d84..a215ca65 100644 --- a/bsp/buildroot/package/libaio/libaio.mk +++ b/bsp/buildroot/package/libaio/libaio.mk @@ -4,9 +4,8 @@ # ################################################################################ -LIBAIO_VERSION = 0.3.110 -LIBAIO_SOURCE = libaio_$(LIBAIO_VERSION).orig.tar.gz -LIBAIO_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/liba/libaio +LIBAIO_VERSION = 0.3.111 +LIBAIO_SITE = https://releases.pagure.org/libaio LIBAIO_INSTALL_STAGING = YES LIBAIO_LICENSE = LGPL-2.1+ LIBAIO_LICENSE_FILES = COPYING @@ -17,12 +16,6 @@ ifeq ($(BR2_STATIC_LIBS),y) LIBAIO_CONFIGURE_OPTS += ENABLE_SHARED=0 endif -# On PowerPC, a weird toolchain issue causes -Os builds to produce -# references to hidden symbols, so we're forcing -O2 -ifeq ($(BR2_powerpc),y) -LIBAIO_CONFIGURE_OPTS += CFLAGS="$(subst -Os,-O2,$(TARGET_CFLAGS))" -endif - define LIBAIO_BUILD_CMDS $(LIBAIO_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef @@ -35,4 +28,13 @@ define LIBAIO_INSTALL_TARGET_CMDS $(LIBAIO_CONFIGURE_OPTS) $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install endef +define HOST_LIBAIO_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(HOST_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define HOST_LIBAIO_INSTALL_CMDS + $(HOST_CONFIGURE_OPTS) $(HOST_MAKE_ENV) $(MAKE) -C $(@D) prefix=$(HOST_DIR) install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/libao/libao.hash b/bsp/buildroot/package/libao/libao.hash index 64174dad..dced3ddd 100644 --- a/bsp/buildroot/package/libao/libao.hash +++ b/bsp/buildroot/package/libao/libao.hash @@ -1,2 +1,5 @@ # From http://downloads.xiph.org/releases/ao/SHA256SUMS.txt sha256 03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf libao-1.2.0.tar.gz + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch b/bsp/buildroot/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch new file mode 100644 index 00000000..76096f7a --- /dev/null +++ b/bsp/buildroot/package/libarchive/0001-Avoid-a-double-free-when-a-window-size-of-0-is-speci.patch @@ -0,0 +1,40 @@ +From 021efa522ad729ff0f5806c4ce53e4a6cc1daa31 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 20 Nov 2018 17:56:29 +1100 +Subject: [PATCH] Avoid a double-free when a window size of 0 is specified + +new_size can be 0 with a malicious or corrupted RAR archive. + +realloc(area, 0) is equivalent to free(area), so the region would +be free()d here and the free()d again in the cleanup function. + +Found with a setup running AFL, afl-rb, and qsym. +--- + libarchive/archive_read_support_format_rar.c | 5 +++++ + 1 file changed, 5 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000877 + +diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c +index 23452222..6f419c27 100644 +--- a/libarchive/archive_read_support_format_rar.c ++++ b/libarchive/archive_read_support_format_rar.c +@@ -2300,6 +2300,11 @@ parse_codes(struct archive_read *a) + new_size = DICTIONARY_MAX_SIZE; + else + new_size = rar_fls((unsigned int)rar->unp_size) << 1; ++ if (new_size == 0) { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Zero window size is invalid."); ++ return (ARCHIVE_FATAL); ++ } + new_window = realloc(rar->lzss.window, new_size); + if (new_window == NULL) { + archive_set_error(&a->archive, ENOMEM, +-- +2.19.2 + diff --git a/bsp/buildroot/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch b/bsp/buildroot/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch new file mode 100644 index 00000000..4bf68d61 --- /dev/null +++ b/bsp/buildroot/package/libarchive/0002-rar-file-split-across-multi-part-archives-must-match.patch @@ -0,0 +1,81 @@ +From bfcfe6f04ed20db2504db8a254d1f40a1d84eb28 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 4 Dec 2018 00:55:22 +1100 +Subject: [PATCH] rar: file split across multi-part archives must match + +Fuzzing uncovered some UAF and memory overrun bugs where a file in a +single file archive reported that it was split across multiple +volumes. This was caused by ppmd7 operations calling +rar_br_fillup. This would invoke rar_read_ahead, which would in some +situations invoke archive_read_format_rar_read_header. That would +check the new file name against the old file name, and if they didn't +match up it would free the ppmd7 buffer and allocate a new +one. However, because the ppmd7 decoder wasn't actually done with the +buffer, it would continue to used the freed buffer. Both reads and +writes to the freed region can be observed. + +This is quite tricky to solve: once the buffer has been freed it is +too late, as the ppmd7 decoder functions almost universally assume +success - there's no way for ppmd_read to signal error, nor are there +good ways for functions like Range_Normalise to propagate them. So we +can't detect after the fact that we're in an invalid state - e.g. by +checking rar->cursor, we have to prevent ourselves from ever ending up +there. So, when we are in the dangerous part or rar_read_ahead that +assumes a valid split, we set a flag force read_header to either go +down the path for split files or bail. This means that the ppmd7 +decoder keeps a valid buffer and just runs out of data. + +Found with a combination of AFL, afl-rb and qsym. +--- + libarchive/archive_read_support_format_rar.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000878 + +diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c +index 6f419c27..a8cc5c94 100644 +--- a/libarchive/archive_read_support_format_rar.c ++++ b/libarchive/archive_read_support_format_rar.c +@@ -258,6 +258,7 @@ struct rar + struct data_block_offsets *dbo; + unsigned int cursor; + unsigned int nodes; ++ char filename_must_match; + + /* LZSS members */ + struct huffman_code maincode; +@@ -1560,6 +1561,12 @@ read_header(struct archive_read *a, struct archive_entry *entry, + } + return ret; + } ++ else if (rar->filename_must_match) ++ { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Mismatch of file parts split across multi-volume archive"); ++ return (ARCHIVE_FATAL); ++ } + + rar->filename_save = (char*)realloc(rar->filename_save, + filename_size + 1); +@@ -2933,12 +2940,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail) + else if (*avail == 0 && rar->main_flags & MHD_VOLUME && + rar->file_flags & FHD_SPLIT_AFTER) + { ++ rar->filename_must_match = 1; + ret = archive_read_format_rar_read_header(a, a->entry); + if (ret == (ARCHIVE_EOF)) + { + rar->has_endarc_header = 1; + ret = archive_read_format_rar_read_header(a, a->entry); + } ++ rar->filename_must_match = 0; + if (ret != (ARCHIVE_OK)) + return NULL; + return rar_read_ahead(a, min, avail); +-- +2.19.2 + diff --git a/bsp/buildroot/package/libarchive/0003-Skip-0-length-ACL-fields.patch b/bsp/buildroot/package/libarchive/0003-Skip-0-length-ACL-fields.patch new file mode 100644 index 00000000..796bfbde --- /dev/null +++ b/bsp/buildroot/package/libarchive/0003-Skip-0-length-ACL-fields.patch @@ -0,0 +1,52 @@ +From 15bf44fd2c1ad0e3fd87048b3fcc90c4dcff1175 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 4 Dec 2018 14:29:42 +1100 +Subject: [PATCH] Skip 0-length ACL fields + +Currently, it is possible to create an archive that crashes bsdtar +with a malformed ACL: + +Program received signal SIGSEGV, Segmentation fault. +archive_acl_from_text_l (acl=, text=0x7e2e92 "", want_type=, sc=) at libarchive/archive_acl.c:1726 +1726 switch (*s) { +(gdb) p n +$1 = 1 +(gdb) p field[n] +$2 = {start = 0x0, end = 0x0} + +Stop this by checking that the length is not zero before beginning +the switch statement. + +I am pretty sure this is the bug mentioned in the qsym paper [1], +and I was able to replicate it with a qsym + AFL + afl-rb setup. + +[1] https://www.usenix.org/conference/usenixsecurity18/presentation/yun +--- + libarchive/archive_acl.c | 5 +++++ + 1 file changed, 5 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000879 + +diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c +index 512beee1..7beeee86 100644 +--- a/libarchive/archive_acl.c ++++ b/libarchive/archive_acl.c +@@ -1723,6 +1723,11 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text, + st = field[n].start + 1; + len = field[n].end - field[n].start; + ++ if (len == 0) { ++ ret = ARCHIVE_WARN; ++ continue; ++ } ++ + switch (*s) { + case 'u': + if (len == 1 || (len == 4 +-- +2.19.2 + diff --git a/bsp/buildroot/package/libarchive/0004-warc-consume-data-once-read.patch b/bsp/buildroot/package/libarchive/0004-warc-consume-data-once-read.patch new file mode 100644 index 00000000..f07d6c08 --- /dev/null +++ b/bsp/buildroot/package/libarchive/0004-warc-consume-data-once-read.patch @@ -0,0 +1,46 @@ +From 9c84b7426660c09c18cc349f6d70b5f8168b5680 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 4 Dec 2018 16:33:42 +1100 +Subject: [PATCH] warc: consume data once read + +The warc decoder only used read ahead, it wouldn't actually consume +data that had previously been printed. This means that if you specify +an invalid content length, it will just reprint the same data over +and over and over again until it hits the desired length. + +This means that a WARC resource with e.g. +Content-Length: 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665 +but only a few hundred bytes of data, causes a quasi-infinite loop. + +Consume data in subsequent calls to _warc_read. + +Found with an AFL + afl-rb + qsym setup. +--- + libarchive/archive_read_support_format_warc.c | 5 +++++ + 1 file changed, 5 insertions(+) + +[for import into Buildroot] +Signed-off-by: Thomas De Schampheleire +Upstream-status: backport + +CVE-2018-1000880 + +diff --git a/libarchive/archive_read_support_format_warc.c b/libarchive/archive_read_support_format_warc.c +index e8753853..e8fc8428 100644 +--- a/libarchive/archive_read_support_format_warc.c ++++ b/libarchive/archive_read_support_format_warc.c +@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off) + return (ARCHIVE_EOF); + } + ++ if (w->unconsumed) { ++ __archive_read_consume(a, w->unconsumed); ++ w->unconsumed = 0U; ++ } ++ + rab = __archive_read_ahead(a, 1U, &nrd); + if (nrd < 0) { + *bsz = 0U; +-- +2.19.2 + diff --git a/bsp/buildroot/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch b/bsp/buildroot/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch new file mode 100644 index 00000000..bd36ce4b --- /dev/null +++ b/bsp/buildroot/package/libarchive/0005-iso9660-Fail-when-expected-Rockridge-extensions-is-m.patch @@ -0,0 +1,62 @@ +From 8312eaa576014cd9b965012af51bc1f967b12423 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 1 Jan 2019 17:10:49 +1100 +Subject: [PATCH] iso9660: Fail when expected Rockridge extensions is missing + +A corrupted or malicious ISO9660 image can cause read_CE() to loop +forever. + +read_CE() calls parse_rockridge(), expecting a Rockridge extension +to be read. However, parse_rockridge() is structured as a while +loop starting with a sanity check, and if the sanity check fails +before the loop has run, the function returns ARCHIVE_OK without +advancing the position in the file. This causes read_CE() to retry +indefinitely. + +Make parse_rockridge() return ARCHIVE_WARN if it didn't read an +extension. As someone with no real knowledge of the format, this +seems more apt than ARCHIVE_FATAL, but both the call-sites escalate +it to a fatal error immediately anyway. + +Found with a combination of AFL, afl-rb (FairFuzz) and qsym. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 8312eaa57601 + + libarchive/archive_read_support_format_iso9660.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/libarchive/archive_read_support_format_iso9660.c b/libarchive/archive_read_support_format_iso9660.c +index 28acfefbba8a..bad8f1dfef3a 100644 +--- a/libarchive/archive_read_support_format_iso9660.c ++++ b/libarchive/archive_read_support_format_iso9660.c +@@ -2102,6 +2102,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file, + const unsigned char *p, const unsigned char *end) + { + struct iso9660 *iso9660; ++ int entry_seen = 0; + + iso9660 = (struct iso9660 *)(a->format->data); + +@@ -2257,8 +2258,16 @@ parse_rockridge(struct archive_read *a, struct file_info *file, + } + + p += p[2]; ++ entry_seen = 1; ++ } ++ ++ if (entry_seen) ++ return (ARCHIVE_OK); ++ else { ++ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT, ++ "Tried to parse Rockridge extensions, but none found"); ++ return (ARCHIVE_WARN); + } +- return (ARCHIVE_OK); + } + + static int +-- +2.20.1 + diff --git a/bsp/buildroot/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch b/bsp/buildroot/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch new file mode 100644 index 00000000..bad33d95 --- /dev/null +++ b/bsp/buildroot/package/libarchive/0006-7zip-fix-crash-when-parsing-certain-archives.patch @@ -0,0 +1,62 @@ +From 65a23f5dbee4497064e9bb467f81138a62b0dae1 Mon Sep 17 00:00:00 2001 +From: Daniel Axtens +Date: Tue, 1 Jan 2019 16:01:40 +1100 +Subject: [PATCH] 7zip: fix crash when parsing certain archives + +Fuzzing with CRCs disabled revealed that a call to get_uncompressed_data() +would sometimes fail to return at least 'minimum' bytes. This can cause +the crc32() invocation in header_bytes to read off into invalid memory. + +A specially crafted archive can use this to cause a crash. + +An ASAN trace is below, but ASAN is not required - an uninstrumented +binary will also crash. + +==7719==ERROR: AddressSanitizer: SEGV on unknown address 0x631000040000 (pc 0x7fbdb3b3ec1d bp 0x7ffe77a51310 sp 0x7ffe77a51150 T0) +==7719==The signal is caused by a READ memory access. + #0 0x7fbdb3b3ec1c in crc32_z (/lib/x86_64-linux-gnu/libz.so.1+0x2c1c) + #1 0x84f5eb in header_bytes (/tmp/libarchive/bsdtar+0x84f5eb) + #2 0x856156 in read_Header (/tmp/libarchive/bsdtar+0x856156) + #3 0x84e134 in slurp_central_directory (/tmp/libarchive/bsdtar+0x84e134) + #4 0x849690 in archive_read_format_7zip_read_header (/tmp/libarchive/bsdtar+0x849690) + #5 0x5713b7 in _archive_read_next_header2 (/tmp/libarchive/bsdtar+0x5713b7) + #6 0x570e63 in _archive_read_next_header (/tmp/libarchive/bsdtar+0x570e63) + #7 0x6f08bd in archive_read_next_header (/tmp/libarchive/bsdtar+0x6f08bd) + #8 0x52373f in read_archive (/tmp/libarchive/bsdtar+0x52373f) + #9 0x5257be in tar_mode_x (/tmp/libarchive/bsdtar+0x5257be) + #10 0x51daeb in main (/tmp/libarchive/bsdtar+0x51daeb) + #11 0x7fbdb27cab96 in __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:310 + #12 0x41dd09 in _start (/tmp/libarchive/bsdtar+0x41dd09) + +This was primarly done with afl and FairFuzz. Some early corpus entries +may have been generated by qsym. + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 65a23f5dbee + + libarchive/archive_read_support_format_7zip.c | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/libarchive/archive_read_support_format_7zip.c b/libarchive/archive_read_support_format_7zip.c +index bccbf896603b..b6d1505d372e 100644 +--- a/libarchive/archive_read_support_format_7zip.c ++++ b/libarchive/archive_read_support_format_7zip.c +@@ -2964,13 +2964,7 @@ get_uncompressed_data(struct archive_read *a, const void **buff, size_t size, + if (zip->codec == _7Z_COPY && zip->codec2 == (unsigned long)-1) { + /* Copy mode. */ + +- /* +- * Note: '1' here is a performance optimization. +- * Recall that the decompression layer returns a count of +- * available bytes; asking for more than that forces the +- * decompressor to combine reads by copying data. +- */ +- *buff = __archive_read_ahead(a, 1, &bytes_avail); ++ *buff = __archive_read_ahead(a, minimum, &bytes_avail); + if (bytes_avail <= 0) { + archive_set_error(&a->archive, + ARCHIVE_ERRNO_FILE_FORMAT, +-- +2.20.1 + diff --git a/bsp/buildroot/package/libargtable2/libargtable2.hash b/bsp/buildroot/package/libargtable2/libargtable2.hash index 9addbc54..7df3a180 100644 --- a/bsp/buildroot/package/libargtable2/libargtable2.hash +++ b/bsp/buildroot/package/libargtable2/libargtable2.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf argtable2-13.tar.gz +sha256 d7bf9d064ac3e5840f9dd02422b7eeec4f1fd03f37fadbd043602be5e882304f COPYING diff --git a/bsp/buildroot/package/libart/libart.hash b/bsp/buildroot/package/libart/libart.hash index 769c3bfe..105277b1 100644 --- a/bsp/buildroot/package/libart/libart.hash +++ b/bsp/buildroot/package/libart/libart.hash @@ -1,2 +1,5 @@ # From http://ftp.gnome.org/pub/gnome/sources/libart_lgpl/2.3/libart_lgpl-2.3.21.sha256sum sha256 2a10b1c884bb37c7bd5c5eba59dbd0d28bf68e64a42d7f2083c836f60f8e98fa libart_lgpl-2.3.21.tar.gz + +# Hash for license file: +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/bsp/buildroot/package/libasplib/libasplib.hash b/bsp/buildroot/package/libasplib/libasplib.hash index 76534e52..db8e9203 100644 --- a/bsp/buildroot/package/libasplib/libasplib.hash +++ b/bsp/buildroot/package/libasplib/libasplib.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 68e117348fa17592dde7672477e927119a0e477103ced1d3a57d92e30880a147 libasplib-be7fac89218a84b75f7598e3d76625ece99296f2.tar.gz +sha256 12ac5047f2af0522f06798b1589ffc4599bc29c91f954d7874e0320634e777c0 LICENSE diff --git a/bsp/buildroot/package/libasplib/libasplib.mk b/bsp/buildroot/package/libasplib/libasplib.mk index e13945c6..5da85abe 100644 --- a/bsp/buildroot/package/libasplib/libasplib.mk +++ b/bsp/buildroot/package/libasplib/libasplib.mk @@ -18,12 +18,4 @@ LIBASPLIB_CONF_OPTS = \ -DBUILD_SIGNALS=ON \ -DBUILD_TIMER=ON -# Internal error, aborting at dw2gencfi.c:214 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -LIBASPLIB_CXXFLAGS += -fno-dwarf2-cfi-asm -endif - -LIBASPLIB_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) $(LIBASPLIB_CXXFLAGS)" - $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libass/libass.hash b/bsp/buildroot/package/libass/libass.hash index d98b163f..74ea5f92 100644 --- a/bsp/buildroot/package/libass/libass.hash +++ b/bsp/buildroot/package/libass/libass.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 7065e5f5fb76e46f2042a62e7c68d81e5482dbeeda24644db1bd066e44da7e9d libass-0.13.7.tar.xz +sha256 881f2382af48aead75b7a0e02e65d88c5ebd369fe46bc77d9270a94aa8fd38a2 libass-0.14.0.tar.xz +sha256 f7e30699d02798351e7f839e3d3bfeb29ce65e44efa7735c225464c4fd7dfe9c COPYING diff --git a/bsp/buildroot/package/libass/libass.mk b/bsp/buildroot/package/libass/libass.mk index 41f027d4..50600963 100644 --- a/bsp/buildroot/package/libass/libass.mk +++ b/bsp/buildroot/package/libass/libass.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASS_VERSION = 0.13.7 +LIBASS_VERSION = 0.14.0 LIBASS_SOURCE = libass-$(LIBASS_VERSION).tar.xz # Do not use the github helper here, the generated tarball is *NOT* # the same as the one uploaded by upstream for the release. @@ -18,10 +18,10 @@ LIBASS_DEPENDENCIES = \ libfribidi \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) -# configure: WARNING: Install yasm for a significantly faster libass build. +# configure: WARNING: Install nasm for a significantly faster libass build. # only for Intel archs ifeq ($(BR2_i386)$(BR2_x86_64),y) -LIBASS_DEPENDENCIES += host-yasm +LIBASS_DEPENDENCIES += host-nasm endif ifeq ($(BR2_PACKAGE_FONTCONFIG),y) diff --git a/bsp/buildroot/package/libassuan/libassuan.hash b/bsp/buildroot/package/libassuan/libassuan.hash index 2e80cfa4..4878a692 100644 --- a/bsp/buildroot/package/libassuan/libassuan.hash +++ b/bsp/buildroot/package/libassuan/libassuan.hash @@ -1,7 +1,8 @@ # From https://www.gnupg.org/download/integrity_check.html -sha1 c8432695bf1daa914a92f51e911881ed93d50604 libassuan-2.5.1.tar.bz2 +sha1 fb66bc1e8971d48ac9dbacd1cdaf6487a3e77375 libassuan-2.5.2.tar.bz2 # Locally calculated after checking signature -# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.1.tar.bz2.sig -sha256 47f96c37b4f2aac289f0bc1bacfa8bd8b4b209a488d3d15e2229cb6cc9b26449 libassuan-2.5.1.tar.bz2 +# https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.2.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 986b1bf277e375f7a960450fbb8ffbd45294d06598916ad4ebf79aee0cb788e7 libassuan-2.5.2.tar.bz2 sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/bsp/buildroot/package/libassuan/libassuan.mk b/bsp/buildroot/package/libassuan/libassuan.mk index e807086b..1e4467b3 100644 --- a/bsp/buildroot/package/libassuan/libassuan.mk +++ b/bsp/buildroot/package/libassuan/libassuan.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBASSUAN_VERSION = 2.5.1 +LIBASSUAN_VERSION = 2.5.2 LIBASSUAN_SITE = ftp://ftp.gnupg.org/gcrypt/libassuan LIBASSUAN_SOURCE = libassuan-$(LIBASSUAN_VERSION).tar.bz2 LIBASSUAN_LICENSE = LGPL-2.1+ (library), GPL-3.0 (tests, doc) @@ -13,5 +13,6 @@ LIBASSUAN_INSTALL_STAGING = YES LIBASSUAN_DEPENDENCIES = libgpg-error LIBASSUAN_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr +LIBASSUAN_CONFIG_SCRIPTS = libassuan-config $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libatasmart/libatasmart.hash b/bsp/buildroot/package/libatasmart/libatasmart.hash index 8733d079..b661332a 100644 --- a/bsp/buildroot/package/libatasmart/libatasmart.hash +++ b/bsp/buildroot/package/libatasmart/libatasmart.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 61f0ea345f63d28ab2ff0dc352c22271661b66bf09642db3a4049ac9dbdb0f8d libatasmart-0.19.tar.xz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL diff --git a/bsp/buildroot/package/libatomic_ops/libatomic_ops.hash b/bsp/buildroot/package/libatomic_ops/libatomic_ops.hash index 90af18dc..a913023e 100644 --- a/bsp/buildroot/package/libatomic_ops/libatomic_ops.hash +++ b/bsp/buildroot/package/libatomic_ops/libatomic_ops.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 7ee6a1772a49d02711b97c600bd214bd86ba8a31bd7c6d6e850b502780de367c libatomic_ops-v7.4.10.tar.gz +sha256 61754aa60bb8052ea64175794df2afae8baacca5420e06eb150230681e71ff5e libatomic_ops-v7.6.6.tar.gz sha256 f0e630c0ca489767033da5a0c869fb4231db522c5ff479ce55a853a923a00f69 doc/LICENSING.txt -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/libatomic_ops/libatomic_ops.mk b/bsp/buildroot/package/libatomic_ops/libatomic_ops.mk index dff62c51..100ad702 100644 --- a/bsp/buildroot/package/libatomic_ops/libatomic_ops.mk +++ b/bsp/buildroot/package/libatomic_ops/libatomic_ops.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBATOMIC_OPS_VERSION = v7.4.10 +LIBATOMIC_OPS_VERSION = v7.6.6 LIBATOMIC_OPS_SITE = $(call github,ivmai,libatomic_ops,$(LIBATOMIC_OPS_VERSION)) LIBATOMIC_OPS_AUTORECONF = YES diff --git a/bsp/buildroot/package/libb64/0001-Integer-overflows.patch b/bsp/buildroot/package/libb64/0001-Integer-overflows.patch new file mode 100644 index 00000000..0e3e08b1 --- /dev/null +++ b/bsp/buildroot/package/libb64/0001-Integer-overflows.patch @@ -0,0 +1,73 @@ +Fix integer overflows. Will not work on compilers with unsigned char +as the default. + +Fetched from: https://sources.debian.org/patches/libb64/1.2-5/ + +Combined "integer overflows.diff" and "off by one.diff" and adapted +for version 1.2.1. + +Signed-off-by: Mikael Eliasson + +diff --git a/src/cdecode.c b/src/cdecode.c +index a6c0a42..45da4e1 100644 +--- a/src/cdecode.c ++++ b/src/cdecode.c +@@ -9,10 +9,11 @@ For details, see http://sourceforge.net/projects/libb64 + + int base64_decode_value(char value_in) + { +- static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; ++ static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; + static const char decoding_size = sizeof(decoding); ++ if (value_in < 43) return -1; + value_in -= 43; +- if (value_in < 0 || value_in >= decoding_size) return -1; ++ if (value_in >= decoding_size) return -1; + return decoding[(int)value_in]; + } + +@@ -26,7 +27,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + { + const char* codechar = code_in; + char* plainchar = plaintext_out; +- char fragment; ++ int fragment; + + *plainchar = state_in->plainchar; + +@@ -42,7 +43,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar = (fragment & 0x03f) << 2; + case step_b: +@@ -53,7 +54,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x030) >> 4; + *plainchar = (fragment & 0x00f) << 4; +@@ -65,7 +66,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03c) >> 2; + *plainchar = (fragment & 0x003) << 6; +@@ -77,7 +78,7 @@ int base64_decode_block(const char* code_in, const int length_in, char* plaintex + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } +- fragment = (char)base64_decode_value(*codechar++); ++ fragment = base64_decode_value(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03f); + } diff --git a/bsp/buildroot/package/libb64/0002-Initialize-C++-objects.patch b/bsp/buildroot/package/libb64/0002-Initialize-C++-objects.patch new file mode 100644 index 00000000..1556f889 --- /dev/null +++ b/bsp/buildroot/package/libb64/0002-Initialize-C++-objects.patch @@ -0,0 +1,38 @@ +Fixes uninitialized C++ encoder and decoder _state variable bug. + +Fetched from: https://sources.debian.org/patches/libb64/1.2-5/ + +initialize-coder-state.diff patch without modifications. + +Signed-off-by: Mikael Eliasson + +diff --git a/include/b64/decode.h b/include/b64/decode.h +index 12b16ea..d3f7d60 100644 +--- a/include/b64/decode.h ++++ b/include/b64/decode.h +@@ -24,7 +24,9 @@ namespace base64 + + decoder(int buffersize_in = BUFFERSIZE) + : _buffersize(buffersize_in) +- {} ++ { ++ base64_init_decodestate(&_state); ++ } + + int decode(char value_in) + { +diff --git a/include/b64/encode.h b/include/b64/encode.h +index 5d807d9..49aafdc 100644 +--- a/include/b64/encode.h ++++ b/include/b64/encode.h +@@ -24,7 +24,9 @@ namespace base64 + + encoder(int buffersize_in = BUFFERSIZE) + : _buffersize(buffersize_in) +- {} ++ { ++ base64_init_encodestate(&_state); ++ } + + int encode(char value_in) + { diff --git a/bsp/buildroot/package/libb64/libb64.hash b/bsp/buildroot/package/libb64/libb64.hash index 012a7b0b..0ed8065f 100644 --- a/bsp/buildroot/package/libb64/libb64.hash +++ b/bsp/buildroot/package/libb64/libb64.hash @@ -1,3 +1,6 @@ # sha1 from sourceforge, sha256 locally computed sha1 04b3e21b8c951d27f02fe91249ca3474554af0b9 libb64-1.2.1.zip sha256 20106f0ba95cfd9c35a13c71206643e3fb3e46512df3e2efb2fdbf87116314b2 libb64-1.2.1.zip + +# Hash for license file: +sha256 834b7afa1b3c40289a3be775d3625016be1c0d7ea7a4a26c1eb207f53dc961d8 LICENSE diff --git a/bsp/buildroot/package/libb64/libb64.mk b/bsp/buildroot/package/libb64/libb64.mk index 4dea9593..ed6d3cf4 100644 --- a/bsp/buildroot/package/libb64/libb64.mk +++ b/bsp/buildroot/package/libb64/libb64.mk @@ -14,7 +14,7 @@ LIBB64_INSTALL_STAGING = YES LIBB64_INSTALL_TARGET = NO define LIBB64_EXTRACT_CMDS - unzip $(DL_DIR)/$(LIBB64_SOURCE) -d $(BUILD_DIR) + unzip $(LIBB64_DL_DIR)/$(LIBB64_SOURCE) -d $(BUILD_DIR) endef define LIBB64_BUILD_CMDS diff --git a/bsp/buildroot/package/libbdplus/libbdplus.hash b/bsp/buildroot/package/libbdplus/libbdplus.hash index 552cd71c..6abc0e49 100644 --- a/bsp/buildroot/package/libbdplus/libbdplus.hash +++ b/bsp/buildroot/package/libbdplus/libbdplus.hash @@ -1,2 +1,5 @@ # From http://download.videolan.org/pub/videolan/libbdplus/0.1.2/libbdplus-0.1.2.tar.bz2.sha512 sha512 e00e7bc9f52b9275646593b753ba646b052255be94a7241965f4dbe4734f8f6a072973ed4b9997957f939236b0633897c295749f79e232188430795be5b5087b libbdplus-0.1.2.tar.bz2 + +# Hash for license file: +sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c COPYING diff --git a/bsp/buildroot/package/libbroadvoice/libbroadvoice.hash b/bsp/buildroot/package/libbroadvoice/libbroadvoice.hash index e339aa44..6d5afa8d 100644 --- a/bsp/buildroot/package/libbroadvoice/libbroadvoice.hash +++ b/bsp/buildroot/package/libbroadvoice/libbroadvoice.hash @@ -1,2 +1,3 @@ # Locally computed sha256 b68c91d5af6e493c3d4fc3be04825e109a7593fe4de8c18ec75546004eeb4749 libbroadvoice-f65b0f50c8c767229fbf1758370880abc0d78564.tar.gz +sha256 2550586c993ce4a8c23c8b11968ea36192116a896a2504799cc65307d769c094 COPYING diff --git a/bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch b/bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch new file mode 100644 index 00000000..6f0aeffe --- /dev/null +++ b/bsp/buildroot/package/libbsd/0001-flopen-fix-build-with-musl-libc.patch @@ -0,0 +1,40 @@ +From 8575450b9c1226fc38196b29e33c67f2b58cacf5 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 5 Jun 2018 19:18:47 +0300 +Subject: [PATCH] flopen: fix build with musl libc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 993828d84ee (Add flopenat() function from FreeBSD) dropped the +fcntl.h header. This breaks the build with musl libc: + +flopen.c: In function ‘vflopenat’: +flopen.c:60:14: error: ‘O_CREAT’ undeclared (first use in this function) + if (flags & O_CREAT) { + ^~~~~~~ + +Restore the fcntl.h header include to fix the build. + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to libbsd@lists.freedesktop.org + + src/flopen.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/flopen.c b/src/flopen.c +index b9972c94ec90..ff20d074445b 100644 +--- a/src/flopen.c ++++ b/src/flopen.c +@@ -32,6 +32,7 @@ + #include + + #include ++#include + #include + #include + +-- +2.17.1 + diff --git a/bsp/buildroot/package/libbsd/Config.in b/bsp/buildroot/package/libbsd/Config.in index 11e4c4d9..0f320302 100644 --- a/bsp/buildroot/package/libbsd/Config.in +++ b/bsp/buildroot/package/libbsd/Config.in @@ -4,12 +4,15 @@ config BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS # libbsd does not support those architectures (see src/local-elf.h) depends on !BR2_microblaze depends on !BR2_arc + depends on !BR2_xtensa + # uClibc on noMMU doesn't provide __register_atfork() + depends on !(BR2_TOOLCHAIN_USES_UCLIBC && !BR2_USE_MMU) config BR2_PACKAGE_LIBBSD bool "libbsd" depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_USE_WCHAR help This library provides useful functions commonly found on BSD systems, and lacking on others like GNU systems, thus making @@ -19,6 +22,6 @@ config BR2_PACKAGE_LIBBSD http://libbsd.freedesktop.org/ -comment "libbsd needs a glibc toolchain w/ threads" +comment "libbsd needs a toolchain w/ threads, wchar" depends on BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/libbsd/libbsd.hash b/bsp/buildroot/package/libbsd/libbsd.hash index 133df90c..93af3944 100644 --- a/bsp/buildroot/package/libbsd/libbsd.hash +++ b/bsp/buildroot/package/libbsd/libbsd.hash @@ -1,3 +1,3 @@ -# From https://lists.freedesktop.org/archives/libbsd/2018-January/000166.html -sha256 f548f10e5af5a08b1e22889ce84315b1ebe41505b015c9596bad03fd13a12b31 libbsd-0.8.7.tar.xz -sha256 0b6cedd686394f9c811a6a9fd314d68ab4738475ad3d9df61154259fa649a2a7 COPYING +# From https://lists.freedesktop.org/archives/libbsd/2018-May/000190.html +sha256 56d835742327d69faccd16955a60b6dcf30684a8da518c4eca0ac713b9e0a7a4 libbsd-0.9.1.tar.xz +sha256 df6d8e1b5b3a5b06376c658c8ad3afc82687f1c0e0404cec4738ad14b2675708 COPYING diff --git a/bsp/buildroot/package/libbsd/libbsd.mk b/bsp/buildroot/package/libbsd/libbsd.mk index e211389e..2d78b8c5 100644 --- a/bsp/buildroot/package/libbsd/libbsd.mk +++ b/bsp/buildroot/package/libbsd/libbsd.mk @@ -4,10 +4,11 @@ # ################################################################################ -LIBBSD_VERSION = 0.8.7 +LIBBSD_VERSION = 0.9.1 LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.xz LIBBSD_SITE = https://archive.hadrons.org/software/libbsd -LIBBSD_LICENSE = BSD-3-Clause, MIT +LIBBSD_LICENSE = BSD-2-Clause, BSD-3-Clause, BSD-4-Clause, BSD-5-Clause, \ + MIT, ISC, Beerware LIBBSD_LICENSE_FILES = COPYING LIBBSD_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libbson/libbson.hash b/bsp/buildroot/package/libbson/libbson.hash index 27abe90b..b20a0cd8 100644 --- a/bsp/buildroot/package/libbson/libbson.hash +++ b/bsp/buildroot/package/libbson/libbson.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 aad410123e4bd8a9804c3c3d79e03344e2df104872594dc2cf19605d492944ba libbson-1.6.2.tar.gz +sha256 c3cc230a3451bf7fedc5bb34c3191fd23d841e65ec415301f6c77e531924b769 libbson-1.9.4.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +sha256 8dc5cb3146b026715e6c145621c7732f36c295d825b7b3a03076ad3f238db48e THIRD_PARTY_NOTICES diff --git a/bsp/buildroot/package/libbson/libbson.mk b/bsp/buildroot/package/libbson/libbson.mk index 8a71fc39..2c9cbc7f 100644 --- a/bsp/buildroot/package/libbson/libbson.mk +++ b/bsp/buildroot/package/libbson/libbson.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBBSON_VERSION = 1.6.2 +LIBBSON_VERSION = 1.9.4 LIBBSON_SITE = https://github.com/mongodb/libbson/releases/download/$(LIBBSON_VERSION) LIBBSON_LICENSE = Apache-2.0, MIT (jsonl), ISC (b64), Zlib (md5) LIBBSON_LICENSE_FILES = COPYING THIRD_PARTY_NOTICES diff --git a/bsp/buildroot/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch b/bsp/buildroot/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch new file mode 100644 index 00000000..eb91d406 --- /dev/null +++ b/bsp/buildroot/package/libcap-ng/0001-Fix-compilation-without-pthread.h.patch @@ -0,0 +1,47 @@ +From 1d28cf070933568db8006ce45411723c5369e145 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 10 Apr 2018 19:54:50 +0200 +Subject: [PATCH] Fix compilation without pthread.h + +Commit 7759e6f8469eb33aef1a1d5eba5d300c3a8fcb63 broke compilation on +systems without pthread.h. So add a call to AC_CHECK_HEADERS in +configure.ac and put include under HAVE_PTHREAD_H define + +Fixes: + - http://autobuild.buildroot.net/results/6132f33fb282fda3c39deb292784b9006c9e7872 + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 1 + + src/cap-ng.c | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 7a99c72..4d6afee 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -56,6 +56,7 @@ AC_CHECK_HEADERS(sys/xattr.h, [], [ + AC_CHECK_HEADERS(attr/xattr.h, [], [AC_MSG_WARN(attr/xattr.h not found, disabling file system capabilities.)]) + ]) + AC_CHECK_HEADERS(linux/securebits.h, [], []) ++AC_CHECK_HEADERS(pthread.h, [], [AC_MSG_WARN(pthread.h not found, disabling pthread_atfork.)]) + + AC_C_CONST + AC_C_INLINE +diff --git a/src/cap-ng.c b/src/cap-ng.c +index db647fd..240d2ba 100644 +--- a/src/cap-ng.c ++++ b/src/cap-ng.c +@@ -34,7 +34,9 @@ + #include + #include + #include ++#ifdef HAVE_PTHREAD_H + #include // For pthread_atfork ++#endif + #ifdef HAVE_SYSCALL_H + #include + #endif +-- +2.14.1 + diff --git a/bsp/buildroot/package/libcap-ng/libcap-ng.hash b/bsp/buildroot/package/libcap-ng/libcap-ng.hash index b433b750..f8342ea9 100644 --- a/bsp/buildroot/package/libcap-ng/libcap-ng.hash +++ b/bsp/buildroot/package/libcap-ng/libcap-ng.hash @@ -1,2 +1,4 @@ # Locally calculated -sha256 c21af997445cd4107a55d386f955c5ea6f6e96ead693e9151277c0ab5f97d05f libcap-ng-0.7.8.tar.gz +sha256 4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328 libcap-ng-0.7.9.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/bsp/buildroot/package/libcap-ng/libcap-ng.mk b/bsp/buildroot/package/libcap-ng/libcap-ng.mk index 568f167b..0f29ef09 100644 --- a/bsp/buildroot/package/libcap-ng/libcap-ng.mk +++ b/bsp/buildroot/package/libcap-ng/libcap-ng.mk @@ -4,11 +4,13 @@ # ################################################################################ -LIBCAP_NG_VERSION = 0.7.8 +LIBCAP_NG_VERSION = 0.7.9 LIBCAP_NG_SITE = http://people.redhat.com/sgrubb/libcap-ng LIBCAP_NG_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library) LIBCAP_NG_LICENSE_FILES = COPYING COPYING.LIB LIBCAP_NG_INSTALL_STAGING = YES +# 0001-Fix-compilation-without-pthread.h.patch +LIBCAP_NG_AUTORECONF = YES LIBCAP_NG_CONF_ENV = ac_cv_prog_swig_found=no LIBCAP_NG_CONF_OPTS = --without-python diff --git a/bsp/buildroot/package/libcdaudio/libcdaudio.hash b/bsp/buildroot/package/libcdaudio/libcdaudio.hash index f8e1112c..67df7c5e 100644 --- a/bsp/buildroot/package/libcdaudio/libcdaudio.hash +++ b/bsp/buildroot/package/libcdaudio/libcdaudio.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 5fdaf9af5ac4f75c0215d000b82b128fd054a582f81cc4f039a1e7fe69335ebb libcdaudio-0.99.12p2.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libcddb/libcddb.hash b/bsp/buildroot/package/libcddb/libcddb.hash index 9e60683e..f3519c25 100644 --- a/bsp/buildroot/package/libcddb/libcddb.hash +++ b/bsp/buildroot/package/libcddb/libcddb.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 35ce0ee1741ea38def304ddfe84a958901413aa829698357f0bee5bb8f0a223b libcddb-1.3.2.tar.bz2 +sha256 7a4436f9ec37603356791c87de3bc444989befd2682d29efb3d97604e04c1852 COPYING diff --git a/bsp/buildroot/package/libcdio-paranoia/Config.in b/bsp/buildroot/package/libcdio-paranoia/Config.in new file mode 100644 index 00000000..28c9ac9c --- /dev/null +++ b/bsp/buildroot/package/libcdio-paranoia/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_LIBCDIO_PARANOIA + bool "libcdio-paranoia" + depends on BR2_USE_MMU # libcdio + select BR2_PACKAGE_LIBCDIO + help + CD paranoia on top of libcdio + + http://www.gnu.org/software/libcdio/ diff --git a/bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.hash b/bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.hash new file mode 100644 index 00000000..33e59ba7 --- /dev/null +++ b/bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 d60f82ece97eeb92407a9ee03f3499c8983206672c28ae5e4e22179063c81941 libcdio-paranoia-10.2+0.94+2.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.mk b/bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.mk new file mode 100644 index 00000000..3281aa01 --- /dev/null +++ b/bsp/buildroot/package/libcdio-paranoia/libcdio-paranoia.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# libcdio-paranoia +# +################################################################################ + +LIBCDIO_PARANOIA_VERSION = 10.2+0.94+2 +LIBCDIO_PARANOIA_SITE = $(BR2_GNU_MIRROR)/libcdio +LIBCDIO_PARANOIA_LICENSE = GPL-3.0+ +LIBCDIO_PARANOIA_LICENSE_FILES = COPYING +LIBCDIO_PARANOIA_INSTALL_STAGING = YES +LIBCDIO_PARANOIA_DEPENDENCIES = host-pkgconf libcdio +LIBCDIO_PARANOIA_CONF_OPTS = --disable-example-progs + +ifeq ($(BR2_INSTALL_LIBSTDCPP),) +LIBCDIO_PARANOIA_CONF_OPTS += --disable-cxx +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libcdio/libcdio.hash b/bsp/buildroot/package/libcdio/libcdio.hash index 35c632a9..2b6f832c 100644 --- a/bsp/buildroot/package/libcdio/libcdio.hash +++ b/bsp/buildroot/package/libcdio/libcdio.hash @@ -1,2 +1,5 @@ # Locally calculated after checking signature -sha256 96e2c903f866ae96f9f5b9048fa32db0921464a2286f5b586c0f02699710025a libcdio-0.94.tar.gz +sha256 1b481b5da009bea31db875805665974e2fc568e2b2afa516f4036733657cf958 libcdio-2.0.0.tar.gz + +# Hash for license file: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/libcdio/libcdio.mk b/bsp/buildroot/package/libcdio/libcdio.mk index f0fc3352..f4a55917 100644 --- a/bsp/buildroot/package/libcdio/libcdio.mk +++ b/bsp/buildroot/package/libcdio/libcdio.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCDIO_VERSION = 0.94 +LIBCDIO_VERSION = 2.0.0 LIBCDIO_SITE = $(BR2_GNU_MIRROR)/libcdio LIBCDIO_INSTALL_STAGING = YES LIBCDIO_LICENSE = GPL-3.0+ diff --git a/bsp/buildroot/package/libcec/libcec.hash b/bsp/buildroot/package/libcec/libcec.hash index 5416c20f..e7264b40 100644 --- a/bsp/buildroot/package/libcec/libcec.hash +++ b/bsp/buildroot/package/libcec/libcec.hash @@ -1,2 +1,3 @@ # Locally computed sha256 b8b8dd31f3ebdd5472f03ab7d401600ea0d959b1288b9ca24bf457ef60e2ba27 libcec-4.0.2.tar.gz +sha256 3618005b3db4eb8ede7292d233e6c41605cb8dcbd33e8790eff6e29c1e4f3789 COPYING diff --git a/bsp/buildroot/package/libcgicc/libcgicc.hash b/bsp/buildroot/package/libcgicc/libcgicc.hash index 313478d4..6fd19e30 100644 --- a/bsp/buildroot/package/libcgicc/libcgicc.hash +++ b/bsp/buildroot/package/libcgicc/libcgicc.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 d94a2b5dec6d5eb6f05f114e2c7a64aeb7da71708ebe7b5f32bd6ebde1dfbc96 cgicc-3.2.16.tar.bz2 +sha256 2a17b976248de03447f9e36d6ce18a80749990d8543e2dfeea09c413eb67f7f0 cgicc-3.2.19.tar.gz + +# Hash for license files: +sha256 a2e480f5e8afd7c587a3c0ac2ed3b73ed4b10fa3a553dea26e7b661c7cedda72 COPYING.LIB +sha256 0fd15977dc962abf3eced509b1cf5356f9784939742d67a635671141023a11da COPYING.DOC diff --git a/bsp/buildroot/package/libcgicc/libcgicc.mk b/bsp/buildroot/package/libcgicc/libcgicc.mk index 09df3a1b..e9ce4043 100644 --- a/bsp/buildroot/package/libcgicc/libcgicc.mk +++ b/bsp/buildroot/package/libcgicc/libcgicc.mk @@ -4,9 +4,9 @@ # ################################################################################ -LIBCGICC_VERSION = 3.2.16 +LIBCGICC_VERSION = 3.2.19 LIBCGICC_SITE = $(BR2_GNU_MIRROR)/cgicc -LIBCGICC_SOURCE = cgicc-$(LIBCGICC_VERSION).tar.bz2 +LIBCGICC_SOURCE = cgicc-$(LIBCGICC_VERSION).tar.gz LIBCGICC_LICENSE = LGPL-3.0+ (library), GFDL-1.2+ (docs) LIBCGICC_LICENSE_FILES = COPYING.LIB COPYING.DOC LIBCGICC_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libcgroup/libcgroup.hash b/bsp/buildroot/package/libcgroup/libcgroup.hash index c6717917..11423e26 100644 --- a/bsp/buildroot/package/libcgroup/libcgroup.hash +++ b/bsp/buildroot/package/libcgroup/libcgroup.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 e4e38bdc7ef70645ce33740ddcca051248d56b53283c0dc6d404e17706f6fb51 libcgroup-0.41.tar.bz2 +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING diff --git a/bsp/buildroot/package/libclc/Config.in b/bsp/buildroot/package/libclc/Config.in new file mode 100644 index 00000000..4bba6a91 --- /dev/null +++ b/bsp/buildroot/package/libclc/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBCLC + bool "libclc" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_4_8 + help + libclc is an open source, BSD licensed implementation of + the library requirements of the OpenCL C programming language, + as specified by the OpenCL 1.1 Specification. + + http://libclc.llvm.org/ diff --git a/bsp/buildroot/package/libclc/libclc.hash b/bsp/buildroot/package/libclc/libclc.hash new file mode 100644 index 00000000..6c06648f --- /dev/null +++ b/bsp/buildroot/package/libclc/libclc.hash @@ -0,0 +1,3 @@ +# locally calculated +sha256 8d7b42fba6db4a124c74f0ac475c1bc515761cbf3d559820b4cbe5b33e94f26c libclc-dabae5a2afb78cba0320a86e3f5f0b5dc83e077c.tar.gz +sha256 45187a46f0637e4e92decb51d8dc3c9e4957b349d0283dfbd6647e8000d9ac7f LICENSE.TXT diff --git a/bsp/buildroot/package/libclc/libclc.mk b/bsp/buildroot/package/libclc/libclc.mk new file mode 100644 index 00000000..17903c05 --- /dev/null +++ b/bsp/buildroot/package/libclc/libclc.mk @@ -0,0 +1,47 @@ +################################################################################ +# +# libclc +# +################################################################################ + +# There are only two releases: release_35 and release_38, but the last +# commit is from 2 years ago. Master has some recent activity. +LIBCLC_VERSION = dabae5a2afb78cba0320a86e3f5f0b5dc83e077c +LIBCLC_SITE = https://git.llvm.org/git/libclc +LIBCLC_SITE_METHOD = git +LIBCLC_LICENSE = NCSA or MIT +LIBCLC_LICENSE_FILES = LICENSE.TXT + +LIBCLC_DEPENDENCIES = host-clang host-llvm +LIBCLC_INSTALL_STAGING = YES + +# C++ compiler is used to build a small tool (prepare-builtins) for the host. +# It must be built with the C++ compiler from the host. +# +# The headers are installed in /usr/share and not /usr/include, +# because they are needed at runtime on the target to build the OpenCL +# kernels. +LIBCLC_CONF_OPTS = \ + --with-llvm-config=$(HOST_DIR)/usr/bin/llvm-config \ + --prefix=/usr \ + --includedir=/usr/share \ + --pkgconfigdir=/usr/lib/pkgconfig \ + --with-cxx-compiler=$(HOSTCXX) + +define LIBCLC_CONFIGURE_CMDS + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure.py $(LIBCLC_CONF_OPTS)) +endef + +define LIBCLC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define LIBCLC_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install +endef + +define LIBCLC_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/libcli/libcli.hash b/bsp/buildroot/package/libcli/libcli.hash index f6ea12ad..729c6369 100644 --- a/bsp/buildroot/package/libcli/libcli.hash +++ b/bsp/buildroot/package/libcli/libcli.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 3c801cb0112b6b5e07bdc3b98c034b36df6f33a8ed95ce74520b704bdbc0f36d libcli-c63c9d35144939c8b4fa3c5394aed2e29ff517b0.tar.gz +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING diff --git a/bsp/buildroot/package/libconfig/0001-Add-disable-doc-option.patch b/bsp/buildroot/package/libconfig/0001-Add-disable-doc-option.patch new file mode 100644 index 00000000..ac323eba --- /dev/null +++ b/bsp/buildroot/package/libconfig/0001-Add-disable-doc-option.patch @@ -0,0 +1,54 @@ +From a0301bde126c2b08b50e789fd025a8c513c914c3 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 28 Apr 2018 19:15:22 +0200 +Subject: [PATCH] Add --disable-doc option + +Signed-off-by: Fabrice Fontaine +--- + Makefile.am | 6 +++++- + configure.ac | 12 ++++++++++++ + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index 50ef4fa..e94d3ec 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,7 +1,11 @@ + + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = lib doc tinytest tests ++SUBDIRS = lib tinytest tests ++ ++if BUILDDOC ++SUBDIRS += doc ++endif + + if BUILDEXAMPLES + SUBDIRS += examples +diff --git a/configure.ac b/configure.ac +index 62c5c56..8a14855 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -99,6 +99,18 @@ docxx=yes + + AM_CONDITIONAL(BUILDCXX, test x$docxx = xyes) + ++dodoc=yes ++ ++AC_ARG_ENABLE(doc, ++AS_HELP_STRING([--disable-doc], [Disable building of the documentation]), ++[if test "$enableval" = "no"; then dodoc="no"; fi], ++[ ++dodoc=yes ++] ++) ++ ++AM_CONDITIONAL(BUILDDOC, test x$dodoc = xyes) ++ + doexamples=yes + + AC_ARG_ENABLE(examples, +-- +2.14.1 + diff --git a/bsp/buildroot/package/libconfig/Config.in b/bsp/buildroot/package/libconfig/Config.in index 75dacab3..9541b30b 100644 --- a/bsp/buildroot/package/libconfig/Config.in +++ b/bsp/buildroot/package/libconfig/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_LIBCONFIG readable than XML. And unlike XML, it is type-aware, so it is not necessary to do string parsing in application code. - http://www.hyperrealm.com/libconfig/ + https://hyperrealm.github.io/libconfig/ diff --git a/bsp/buildroot/package/libconfig/libconfig.hash b/bsp/buildroot/package/libconfig/libconfig.hash index 30110cbb..7a77034e 100644 --- a/bsp/buildroot/package/libconfig/libconfig.hash +++ b/bsp/buildroot/package/libconfig/libconfig.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 e31daa390d8e4461c8830512fe2e13ba1a3d6a02a2305a02429eec61e68703f6 libconfig-1.5.tar.gz +sha256 f67ac44099916ae260a6c9e290a90809e7d782d96cdd462cac656ebc5b685726 libconfig-v1.7.2.tar.gz +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING.LIB diff --git a/bsp/buildroot/package/libconfig/libconfig.mk b/bsp/buildroot/package/libconfig/libconfig.mk index ed7e40f1..699f5933 100644 --- a/bsp/buildroot/package/libconfig/libconfig.mk +++ b/bsp/buildroot/package/libconfig/libconfig.mk @@ -4,11 +4,13 @@ # ################################################################################ -LIBCONFIG_VERSION = 1.5 -LIBCONFIG_SITE = http://www.hyperrealm.com/libconfig +LIBCONFIG_VERSION = v1.7.2 +LIBCONFIG_SITE = $(call github,hyperrealm,libconfig,$(LIBCONFIG_VERSION)) LIBCONFIG_LICENSE = LGPL-2.1+ LIBCONFIG_LICENSE_FILES = COPYING.LIB LIBCONFIG_INSTALL_STAGING = YES +# From git +LIBCONFIG_AUTORECONF = YES LIBCONFIG_CONF_OPTS = --disable-examples ifneq ($(BR2_INSTALL_LIBSTDCPP),y) diff --git a/bsp/buildroot/package/libconfuse/libconfuse.hash b/bsp/buildroot/package/libconfuse/libconfuse.hash index 826a9263..adc93f99 100644 --- a/bsp/buildroot/package/libconfuse/libconfuse.hash +++ b/bsp/buildroot/package/libconfuse/libconfuse.hash @@ -1,4 +1,5 @@ -# From https://github.com/martinh/libconfuse/releases/download/v3.2/confuse-3.2.tar.xz.md5 -md5 84259ac3bd495645ab2fe61654917232 confuse-3.2.tar.xz +# From https://github.com/martinh/libconfuse/releases/download/v3.2.2/confuse-3.2.2.tar.xz.md5 +md5 978996e421e5005e6a9f6f84948fac44 confuse-3.2.2.tar.xz # Locally computed -sha256 a46abb8696026d314197b6a70ae1a1c296342a9a68aa69b1935709c1477a4e48 confuse-3.1.tar.xz +sha256 a9240b653d02e8cfc52db48e8c4224426e528e1faa09b65e8ca08a197fad210b confuse-3.2.2.tar.xz +sha256 dc3ff4b62f851dd2e94a151061ffeb7d28ddfc880a442068dc5283dbaa927306 LICENSE diff --git a/bsp/buildroot/package/libconfuse/libconfuse.mk b/bsp/buildroot/package/libconfuse/libconfuse.mk index 431fefd4..b16bc9b7 100644 --- a/bsp/buildroot/package/libconfuse/libconfuse.mk +++ b/bsp/buildroot/package/libconfuse/libconfuse.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCONFUSE_VERSION = 3.2 +LIBCONFUSE_VERSION = 3.2.2 LIBCONFUSE_SOURCE = confuse-$(LIBCONFUSE_VERSION).tar.xz LIBCONFUSE_SITE = https://github.com/martinh/libconfuse/releases/download/v$(LIBCONFUSE_VERSION) LIBCONFUSE_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch b/bsp/buildroot/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch new file mode 100644 index 00000000..77e29ad8 --- /dev/null +++ b/bsp/buildroot/package/libcorrect/0001-CMakeLists.txt-conditionally-use-Wpedantic.patch @@ -0,0 +1,42 @@ +From 8fc28b4c4c01581b25220fdbc1eeda196e399256 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 10 Oct 2018 09:28:00 +0200 +Subject: [PATCH] CMakeLists.txt: conditionally use -Wpedantic + +-Wpedantic is only provided by gcc >= 4.8. Since showing pedantic +warnings is not really mandatory, let's only use this option when the +compiler supports it. + +Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/quiet/libcorrect/pull/25 +--- + CMakeLists.txt | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 193f311..e570198 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,13 +3,18 @@ project(Correct C) + include(CheckLibraryExists) + include(CheckIncludeFiles) + include(CheckCSourceCompiles) ++include(CheckCCompilerFlag) + + if(MSVC) + set(LIBM "") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4") + else(MSVC) + set(LIBM "m") +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -Wpedantic -Wall") ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -std=c99 -Wall") ++check_c_compiler_flag(-Wpedantic COMPILER_SUPPORTS_WPEDANTIC) ++if(COMPILER_SUPPORTS_WPEDANTIC) ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic") ++endif() + if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -O0 -fsanitize=address") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-no_pie,") +-- +2.14.4 + diff --git a/bsp/buildroot/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch b/bsp/buildroot/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch new file mode 100644 index 00000000..82e4f13e --- /dev/null +++ b/bsp/buildroot/package/libcorrect/0002-CMakeLists.txt-conditionally-use-fsanitize-address.patch @@ -0,0 +1,35 @@ +From 1a3bb66608b2f96407d14fe13b782626990060f1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 20 Nov 2018 08:20:13 +0100 +Subject: [PATCH] CMakeLists.txt: conditionally use -fsanitize=address + +Check that compiler supports -fsanitize=address before using it + +Fixes: + - http://autobuild.buildroot.net/results/221d6a418e75b39fe645c3a56cee676518d2cff6 + +Signed-off-by: Fabrice Fontaine +--- + CMakeLists.txt | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2e8e07e..c3f71ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,7 +17,11 @@ if(COMPILER_SUPPORTS_WPEDANTIC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpedantic") + endif() + if(CMAKE_BUILD_TYPE STREQUAL "Debug") +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -O0 -fsanitize=address") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3 -O0") ++ check_c_compiler_flag("-fsanitize=address -Werror" COMPILER_SUPPORTS_SANITIZE_ADDRESS) ++ if(COMPILER_SUPPORTS_SANITIZE_ADDRESS) ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address") ++ endif() + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-no_pie,") + else() + if("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") +-- +2.14.1 + diff --git a/bsp/buildroot/package/libcorrect/Config.in b/bsp/buildroot/package/libcorrect/Config.in new file mode 100644 index 00000000..eba6dc43 --- /dev/null +++ b/bsp/buildroot/package/libcorrect/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBCORRECT + bool "libcorrect" + depends on !BR2_STATIC_LIBS + help + A C library for Forward Error Correction, providing + convolutional codes and Reed-Solomon codes. It is part + of the Quiet Modem Project. + + https://github.com/quiet/libcorrect + +comment "libcorrect needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/libcorrect/libcorrect.hash b/bsp/buildroot/package/libcorrect/libcorrect.hash new file mode 100644 index 00000000..20df38c1 --- /dev/null +++ b/bsp/buildroot/package/libcorrect/libcorrect.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 79861750540fb3a1cc501ee217cb4d1febc4855f3fb82e5eb60906eec5379890 libcorrect-ce6c17f1f988765ae3695315d7cce1f2a2e6cf0d.tar.gz +sha256 135138cd4304aa637836758dc5edfb5f21b7d09ecc637d25288d206b151a5768 LICENSE diff --git a/bsp/buildroot/package/libcorrect/libcorrect.mk b/bsp/buildroot/package/libcorrect/libcorrect.mk new file mode 100644 index 00000000..0a84aa5c --- /dev/null +++ b/bsp/buildroot/package/libcorrect/libcorrect.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# libcorrect +# +################################################################################ + +LIBCORRECT_VERSION = ce6c17f1f988765ae3695315d7cce1f2a2e6cf0d +LIBCORRECT_SITE = $(call github,quiet,libcorrect,$(LIBCORRECT_VERSION)) +LIBCORRECT_LICENSE = BSD-3-Clause +LIBCORRECT_LICENSE_FILES = LICENSE +LIBCORRECT_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libcpprestsdk/0001-fix-xlocale-header-check.patch b/bsp/buildroot/package/libcpprestsdk/0001-fix-xlocale-header-check.patch deleted file mode 100644 index ffed94a0..00000000 --- a/bsp/buildroot/package/libcpprestsdk/0001-fix-xlocale-header-check.patch +++ /dev/null @@ -1,55 +0,0 @@ -From a826b7b656c165bc35746d9af3ec371387d2bca1 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Mon, 23 Oct 2017 08:11:21 -0400 -Subject: [PATCH] fix xlocale header check - -asyncrt_utils.h checks if __GLIBC__ is not defined before including -xlocal.h. This will cause a compilation failure on uclibc and musl. - -Add a proper check in CMakeLists.txt and check for HAVE_XLOCALE_H -instead of __GLIBC__ - -Upstream-Status: Accepted -Signed-off-by: Adam Duskett ---- - Release/CMakeLists.txt | 3 +++ - Release/include/cpprest/asyncrt_utils.h | 2 +- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt -index d57aa3d..eefae75 100644 ---- a/Release/CMakeLists.txt -+++ b/Release/CMakeLists.txt -@@ -42,6 +42,7 @@ include(cmake/cpprest_find_boost.cmake) - include(cmake/cpprest_find_zlib.cmake) - include(cmake/cpprest_find_openssl.cmake) - include(cmake/cpprest_find_websocketpp.cmake) -+include(CheckIncludeFiles) - - find_package(Threads REQUIRED) - if(THREADS_HAVE_PTHREAD_ARG) -@@ -56,6 +57,8 @@ if(CPPREST_EXCLUDE_WEBSOCKETS) - set(CPPREST_WEBSOCKETS_IMPL none CACHE STRING "Internal use.") - endif() - -+CHECK_INCLUDE_FILES(xlocale.h HAVE_XLOCALE_H) -+ - if(APPLE) # Note: also iOS - set(CPPREST_PPLX_IMPL apple CACHE STRING "Internal use.") - set(CPPREST_WEBSOCKETS_IMPL wspp CACHE STRING "Internal use.") -diff --git a/Release/include/cpprest/asyncrt_utils.h b/Release/include/cpprest/asyncrt_utils.h -index fac70a9..8faa2dc 100644 ---- a/Release/include/cpprest/asyncrt_utils.h -+++ b/Release/include/cpprest/asyncrt_utils.h -@@ -29,7 +29,7 @@ - - #ifndef _WIN32 - #include --#if !defined(ANDROID) && !defined(__ANDROID__) && !defined(__GLIBC__) // CodePlex 269 -+#if !defined(ANDROID) && !defined(__ANDROID__) && defined(HAVE_XLOCALE_H) // CodePlex 269 - /* Systems using glibc: xlocale.h has been removed from glibc 2.26 - The above include of locale.h is sufficient - Further details: https://sourceware.org/git/?p=glibc.git;a=commit;h=f0be25b6336db7492e47d2e8e72eb8af53b5506d */ --- -2.13.6 - diff --git a/bsp/buildroot/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch b/bsp/buildroot/package/libcpprestsdk/0001-libcpprestsdk-fix-building-as-a-static-library.patch similarity index 100% rename from bsp/buildroot/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch rename to bsp/buildroot/package/libcpprestsdk/0001-libcpprestsdk-fix-building-as-a-static-library.patch diff --git a/bsp/buildroot/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch b/bsp/buildroot/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch deleted file mode 100644 index 12f049bf..00000000 --- a/bsp/buildroot/package/libcpprestsdk/0002-include-sys-time-for-struct-timeval.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 25453f9c186cf441881b06bc5503d979acb0ab75 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Mon, 23 Oct 2017 09:38:11 -0400 -Subject: [PATCH] Include sys/time.h for struct timeval - -This is needed with musl. - -Upstream-Status: Accepted -Signed-off-by: Adam Duskett ---- - Release/include/cpprest/asyncrt_utils.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Release/include/cpprest/asyncrt_utils.h b/Release/include/cpprest/asyncrt_utils.h -index 8faa2dc..aab87a5 100644 ---- a/Release/include/cpprest/asyncrt_utils.h -+++ b/Release/include/cpprest/asyncrt_utils.h -@@ -28,6 +28,7 @@ - #endif - - #ifndef _WIN32 -+#include - #include - #if !defined(ANDROID) && !defined(__ANDROID__) && defined(HAVE_XLOCALE_H) // CodePlex 269 - /* Systems using glibc: xlocale.h has been removed from glibc 2.26 --- -2.13.6 - diff --git a/bsp/buildroot/package/libcpprestsdk/0003-fix-strand.patch b/bsp/buildroot/package/libcpprestsdk/0003-fix-strand.patch deleted file mode 100644 index f5710b38..00000000 --- a/bsp/buildroot/package/libcpprestsdk/0003-fix-strand.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e75d642726c4c78c368e74660ef4bc5503f3ec12 Mon Sep 17 00:00:00 2001 -From: Adam Duskett -Date: Sun, 14 Jan 2018 14:44:02 -0500 -Subject: [PATCH] fix strand - -From upstream, fixes compiling against boost 1.66 strand. - -Commit IDs 6b2e0480018530b616f61d5cdc786c92ba148bb7 - -Signed-off-by: Adam Duskett ---- - Release/include/pplx/threadpool.h | 2 +- - Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp b/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp -index 0be40f6b..395632c3 100644 ---- a/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp -+++ b/Release/libs/websocketpp/websocketpp/transport/asio/connection.hpp -@@ -422,7 +422,7 @@ class connection : public config::socket_type::socket_con_type { - m_io_service = io_service; - - if (config::enable_multithreading) { -- m_strand = lib::make_shared( -+ m_strand = lib::make_shared( - lib::ref(*io_service)); - - m_async_read_handler = m_strand->wrap(lib::bind( diff --git a/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.hash b/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.hash index 0bddfc91..331db664 100644 --- a/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.hash +++ b/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 f38bc48e6fca969de794dcd65889df6563855cee5ff99742dafc6b2869976e71 libcpprestsdk-v2.10.1.tar.gz +sha256 55e1521fb7b7c9b2f4f2065c5fb47e249227f15299257ee6f1a0c942a4057f4f libcpprestsdk-v2.10.10.tar.gz sha256 5c191789f502ac87df83b57008d2fc3e47fbf31315381b5bc4309f6602d0fe97 license.txt diff --git a/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.mk b/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.mk index 4d30f07c..a03e6d25 100644 --- a/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.mk +++ b/bsp/buildroot/package/libcpprestsdk/libcpprestsdk.mk @@ -4,12 +4,16 @@ # ################################################################################ -LIBCPPRESTSDK_VERSION = v2.10.1 +LIBCPPRESTSDK_VERSION = v2.10.10 LIBCPPRESTSDK_SITE = $(call github,Microsoft,cpprestsdk,$(LIBCPPRESTSDK_VERSION)) LIBCPPRESTSDK_LICENSE = MIT LIBCPPRESTSDK_LICENSE_FILES = license.txt LIBCPPRESTSDK_SUBDIR = Release LIBCPPRESTSDK_DEPENDENCIES += host-pkgconf boost openssl zlib -LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF +LIBCPPRESTSDK_CONF_OPTS = -DWERROR=OFF -DCPPREST_EXCLUDE_WEBSOCKETS=ON -DBUILD_SAMPLES=OFF + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBCPPRESTSDK_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libcroco/libcroco.hash b/bsp/buildroot/package/libcroco/libcroco.hash index 83d2ffe5..809671c5 100644 --- a/bsp/buildroot/package/libcroco/libcroco.hash +++ b/bsp/buildroot/package/libcroco/libcroco.hash @@ -1,2 +1,5 @@ # From http://ftp.acc.umu.se/pub/gnome/sources/libcroco/0.6/libcroco-0.6.12.sha256sum sha256 ddc4b5546c9fb4280a5017e2707fbd4839034ed1aba5b7d4372212f34f84f860 libcroco-0.6.12.tar.xz + +# Hash for license file: +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING.LIB diff --git a/bsp/buildroot/package/libcsv/libcsv.hash b/bsp/buildroot/package/libcsv/libcsv.hash index e35c44f9..33a521d2 100644 --- a/bsp/buildroot/package/libcsv/libcsv.hash +++ b/bsp/buildroot/package/libcsv/libcsv.hash @@ -1,2 +1,3 @@ #locally computed sha256 d9c0431cb803ceb9896ce74f683e6e5a0954e96ae1d9e4028d6e0f967bebd7e4 libcsv-3.0.3.tar.gz +sha256 6876b170378d38f65aadd271485f0a5c45beaa043a7d3de5e1636ec927922c83 COPYING.LESSER diff --git a/bsp/buildroot/package/libcue/libcue.hash b/bsp/buildroot/package/libcue/libcue.hash index 779cda0d..357807f0 100644 --- a/bsp/buildroot/package/libcue/libcue.hash +++ b/bsp/buildroot/package/libcue/libcue.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 c3c46d58cebf15b3fe07e6f649014694d338ddd880e941bfb1fd3cedae66c62f libcue-v1.4.0.tar.gz +sha256 f27bc3ebb2e892cd9d32a7bee6d84576a60f955f29f748b9b487b173712f1200 libcue-v2.2.1.tar.gz +sha256 c388d36583fa54e13b6d73ad924d0b68d073ed8a5771e17cb49104705df4504f LICENSE diff --git a/bsp/buildroot/package/libcue/libcue.mk b/bsp/buildroot/package/libcue/libcue.mk index 7f8e45ec..f2d64439 100644 --- a/bsp/buildroot/package/libcue/libcue.mk +++ b/bsp/buildroot/package/libcue/libcue.mk @@ -4,20 +4,11 @@ # ################################################################################ -LIBCUE_VERSION = v1.4.0 +LIBCUE_VERSION = v2.2.1 LIBCUE_SITE = $(call github,lipnitsk,libcue,$(LIBCUE_VERSION)) LIBCUE_LICENSE = GPL-2.0, BSD-2-Clause (rem.c) -LIBCUE_LICENSE_FILES = COPYING +LIBCUE_LICENSE_FILES = LICENSE LIBCUE_DEPENDENCIES = host-bison host-flex flex LIBCUE_INSTALL_STAGING = YES -LIBCUE_AUTORECONF = YES -LIBCUE_MAKE = $(MAKE1) - -# Needed for autoreconf -define LIBCUE_MAKE_CONFIG_DIR - mkdir $(@D)/config -endef -LIBCUE_POST_EXTRACT_HOOKS += LIBCUE_MAKE_CONFIG_DIR - -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libcuefile/libcuefile.hash b/bsp/buildroot/package/libcuefile/libcuefile.hash index 57db91f3..47c0c2fd 100644 --- a/bsp/buildroot/package/libcuefile/libcuefile.hash +++ b/bsp/buildroot/package/libcuefile/libcuefile.hash @@ -2,3 +2,6 @@ md5 1a6ac52e1080fd54f0f59372345f1e4e libcuefile_r475.tar.gz # Calculated based on the hash above sha256 b681ca6772b3f64010d24de57361faecf426ee6182f5969fcf29b3f649133fe7 libcuefile_r475.tar.gz + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libcurl/Config.in b/bsp/buildroot/package/libcurl/Config.in index 21c2ee2b..9c62539e 100644 --- a/bsp/buildroot/package/libcurl/Config.in +++ b/bsp/buildroot/package/libcurl/Config.in @@ -19,4 +19,36 @@ config BR2_PACKAGE_LIBCURL_VERBOSE help Enable verbose text strings +config BR2_PACKAGE_LIBCURL_TLS_SUPPORT + bool + default y if BR2_PACKAGE_OPENSSL + default y if BR2_PACKAGE_GNUTLS + default y if BR2_PACKAGE_LIBNSS + default y if BR2_PACKAGE_MBEDTLS + +choice + prompt "SSL/TLS library to use" + depends on BR2_PACKAGE_LIBCURL_TLS_SUPPORT + +config BR2_PACKAGE_LIBCURL_OPENSSL + bool "OpenSSL" + depends on BR2_PACKAGE_OPENSSL + +config BR2_PACKAGE_LIBCURL_GNUTLS + bool "GnuTLS" + depends on BR2_PACKAGE_GNUTLS + +config BR2_PACKAGE_LIBCURL_LIBNSS + bool "NSS" + depends on BR2_PACKAGE_LIBNSS + +config BR2_PACKAGE_LIBCURL_MBEDTLS + bool "mbed TLS" + depends on BR2_PACKAGE_MBEDTLS + +endchoice + +comment "A TLS library is needed for SSL/TLS support" + depends on !BR2_PACKAGE_LIBCURL_TLS_SUPPORT + endif diff --git a/bsp/buildroot/package/libcurl/libcurl.hash b/bsp/buildroot/package/libcurl/libcurl.hash index 43294353..b158600e 100644 --- a/bsp/buildroot/package/libcurl/libcurl.hash +++ b/bsp/buildroot/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.haxx.se/download/curl-7.62.0.tar.xz.asc +# https://curl.haxx.se/download/curl-7.64.0.tar.xz.asc # with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 dab5643a5fe775ae92570b9f3df6b0ef4bc2a827a959361fb130c73b721275c1 curl-7.62.0.tar.xz -sha256 5f3849ec38ddb927e79f514bf948890c41b8d1407286a49609b8fb1585931095 COPYING +sha256 2f2f13fa34d44aa29cb444077ad7dc4dc6d189584ad552e0aaeb06e608af6001 curl-7.64.0.tar.xz +sha256 8c8824f50e73a021f5dde1fccbf69685939247399a33a32abab1fa448c9ddabb COPYING diff --git a/bsp/buildroot/package/libcurl/libcurl.mk b/bsp/buildroot/package/libcurl/libcurl.mk index af82ae0c..509dbdb5 100644 --- a/bsp/buildroot/package/libcurl/libcurl.mk +++ b/bsp/buildroot/package/libcurl/libcurl.mk @@ -4,12 +4,11 @@ # ################################################################################ -LIBCURL_VERSION = 7.62.0 +LIBCURL_VERSION = 7.64.0 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.haxx.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ $(if $(BR2_PACKAGE_ZLIB),zlib) \ - $(if $(BR2_PACKAGE_LIBIDN),libidn) \ $(if $(BR2_PACKAGE_RTMPDUMP),rtmpdump) LIBCURL_LICENSE = curl LIBCURL_LICENSE_FILES = COPYING @@ -20,7 +19,8 @@ LIBCURL_INSTALL_STAGING = YES # probably almost never used. See # http://curl.haxx.se/docs/manpage.html#--ntlm. LIBCURL_CONF_OPTS = --disable-manual --disable-ntlm-wb \ - --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug + --enable-hidden-symbols --with-random=/dev/urandom --disable-curldebug \ + --without-polarssl ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) LIBCURL_CONF_OPTS += --enable-threaded-resolver @@ -36,7 +36,7 @@ endif LIBCURL_CONFIG_SCRIPTS = curl-config -ifeq ($(BR2_PACKAGE_OPENSSL),y) +ifeq ($(BR2_PACKAGE_LIBCURL_OPENSSL),y) LIBCURL_DEPENDENCIES += openssl # configure adds the cross openssl dir to LD_LIBRARY_PATH which screws up # native stuff during the rest of configure when target == host. @@ -45,19 +45,31 @@ LIBCURL_DEPENDENCIES += openssl LIBCURL_CONF_ENV += LD_LIBRARY_PATH=$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)/lib:/usr/lib LIBCURL_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr \ --with-ca-path=/etc/ssl/certs -else ifeq ($(BR2_PACKAGE_GNUTLS),y) -LIBCURL_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr +else +LIBCURL_CONF_OPTS += --without-ssl +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_GNUTLS),y) +LIBCURL_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr \ + --with-ca-fallback LIBCURL_DEPENDENCIES += gnutls -else ifeq ($(BR2_PACKAGE_LIBNSS),y) +else +LIBCURL_CONF_OPTS += --without-gnutls +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_LIBNSS),y) LIBCURL_CONF_OPTS += --with-nss=$(STAGING_DIR)/usr LIBCURL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) `$(PKG_CONFIG_HOST_BINARY) nspr nss --cflags`" LIBCURL_DEPENDENCIES += libnss -else ifeq ($(BR2_PACKAGE_MBEDTLS),y) +else +LIBCURL_CONF_OPTS += --without-nss +endif + +ifeq ($(BR2_PACKAGE_LIBCURL_MBEDTLS),y) LIBCURL_CONF_OPTS += --with-mbedtls=$(STAGING_DIR)/usr LIBCURL_DEPENDENCIES += mbedtls else -LIBCURL_CONF_OPTS += --without-ssl --without-gnutls \ - --without-polarssl --without-nss --without-mbedtls +LIBCURL_CONF_OPTS += --without-mbedtls endif ifeq ($(BR2_PACKAGE_C_ARES),y) @@ -67,6 +79,13 @@ else LIBCURL_CONF_OPTS += --disable-ares endif +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +LIBCURL_DEPENDENCIES += libidn2 +LIBCURL_CONF_OPTS += --with-libidn2 +else +LIBCURL_CONF_OPTS += --without-libidn2 +endif + # Configure curl to support libssh2 ifeq ($(BR2_PACKAGE_LIBSSH2),y) LIBCURL_DEPENDENCIES += libssh2 @@ -82,10 +101,17 @@ else LIBCURL_CONF_OPTS += --without-brotli endif +ifeq ($(BR2_PACKAGE_NGHTTP2),y) +LIBCURL_DEPENDENCIES += nghttp2 +LIBCURL_CONF_OPTS += --with-nghttp2 +else +LIBCURL_CONF_OPTS += --without-nghttp2 +endif + define LIBCURL_FIX_DOT_PC printf 'Requires: openssl\n' >>$(@D)/libcurl.pc.in endef -LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_OPENSSL),LIBCURL_FIX_DOT_PC) +LIBCURL_POST_PATCH_HOOKS += $(if $(BR2_PACKAGE_LIBCURL_OPENSSL),LIBCURL_FIX_DOT_PC) ifeq ($(BR2_PACKAGE_CURL),) define LIBCURL_TARGET_CLEANUP diff --git a/bsp/buildroot/package/libdaemon/libdaemon.hash b/bsp/buildroot/package/libdaemon/libdaemon.hash index 8dbbb5a3..b5103218 100644 --- a/bsp/buildroot/package/libdaemon/libdaemon.hash +++ b/bsp/buildroot/package/libdaemon/libdaemon.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834 libdaemon-0.14.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/bsp/buildroot/package/libdcadec/libdcadec.hash b/bsp/buildroot/package/libdcadec/libdcadec.hash index dda58d10..e2b68cd7 100644 --- a/bsp/buildroot/package/libdcadec/libdcadec.hash +++ b/bsp/buildroot/package/libdcadec/libdcadec.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 ed9d207fde3e8d576f3af8b0d1235b3371e315175757173689104efcaebf0d44 libdcadec-v0.2.0.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPLv2.1 diff --git a/bsp/buildroot/package/libdmtx/libdmtx.hash b/bsp/buildroot/package/libdmtx/libdmtx.hash index 505baf4e..01e4ba49 100644 --- a/bsp/buildroot/package/libdmtx/libdmtx.hash +++ b/bsp/buildroot/package/libdmtx/libdmtx.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 686bcfb44e50b96345aa53f41e285f2118a2cf87a333b69b74165a2e7ddca492 libdmtx-0.7.4.tar.gz +sha256 fe6959a664a7abb7d19bf125fa58a045d8757fe3cb3dc41975a54da0e627313d LICENSE diff --git a/bsp/buildroot/package/libdnet/libdnet.hash b/bsp/buildroot/package/libdnet/libdnet.hash index ee418723..d2e82027 100644 --- a/bsp/buildroot/package/libdnet/libdnet.hash +++ b/bsp/buildroot/package/libdnet/libdnet.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 0eb78415c8f2564c2f1e8ad36e98473348d9c94852f796a226360c716cc7ca53 libdnet-1.11.tar.gz +sha256 1e94df12cb3701fa64e07eeb60284bb16a3544815d5a39860dacff7b86610584 LICENSE diff --git a/bsp/buildroot/package/libdri2/Config.in b/bsp/buildroot/package/libdri2/Config.in index a10df740..fa3f76e8 100644 --- a/bsp/buildroot/package/libdri2/Config.in +++ b/bsp/buildroot/package/libdri2/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_LIBDRI2 select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_XLIB_LIBXDAMAGE select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_DRI2PROTO + select BR2_PACKAGE_XORGPROTO help Library for the DRI2 extension to the X Window System. diff --git a/bsp/buildroot/package/libdri2/libdri2.hash b/bsp/buildroot/package/libdri2/libdri2.hash index 03a37ad4..4cb360ff 100644 --- a/bsp/buildroot/package/libdri2/libdri2.hash +++ b/bsp/buildroot/package/libdri2/libdri2.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 7c427f5c3fbda3d1df1dc77129e87605f4af1f3ad2adf2653c560d1703aa4395 libdri2-4f1eef3183df2b270c3d5cbef07343ee5127a6a4.tar.gz +sha256 4fac4d581d00f11c459d68b7cb970f3d4e5a5bbfb53784d85f59a90076280301 COPYING diff --git a/bsp/buildroot/package/libdri2/libdri2.mk b/bsp/buildroot/package/libdri2/libdri2.mk index 22854b50..79f38c68 100644 --- a/bsp/buildroot/package/libdri2/libdri2.mk +++ b/bsp/buildroot/package/libdri2/libdri2.mk @@ -6,7 +6,7 @@ LIBDRI2_VERSION = 4f1eef3183df2b270c3d5cbef07343ee5127a6a4 LIBDRI2_SITE = $(call github,robclark,libdri2,$(LIBDRI2_VERSION)) -LIBDRI2_DEPENDENCIES = xlib_libXext xproto_dri2proto xlib_libXdamage libdrm +LIBDRI2_DEPENDENCIES = xlib_libXext xlib_libXdamage xorgproto libdrm LIBDRI2_LICENSE = MIT LIBDRI2_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libdrm/libdrm.hash b/bsp/buildroot/package/libdrm/libdrm.hash index 0842411c..301866c8 100644 --- a/bsp/buildroot/package/libdrm/libdrm.hash +++ b/bsp/buildroot/package/libdrm/libdrm.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/dri-devel/2017-December/160530.html -md5 5307a147dde67ac643f6753a42b5d32c libdrm-2.4.89.tar.bz2 -sha1 43123da26271df9a29deb687c1855bef3fed249c libdrm-2.4.89.tar.bz2 -sha256 629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e libdrm-2.4.89.tar.bz2 -sha512 380e4e46cd3971a73264bd1b482791fab0503268adb65ac81b674df009662cfb8ef5741e362f19670b2a43b1c46f022d857706c9a4bebed2b1cddaa317b7706d libdrm-2.4.89.tar.bz2 +# From https://lists.freedesktop.org/archives/dri-devel/2019-January/204447.html +md5 acef22d0c62c89692348c2dd5591393e libdrm-2.4.97.tar.bz2 +sha1 7635bec769a17edd140282fa2c46838c4a44bc91 libdrm-2.4.97.tar.bz2 +sha256 77d0ccda3e10d6593398edb70b1566bfe1a23a39bd3da98ace2147692eadd123 libdrm-2.4.97.tar.bz2 +sha512 3e08ee9d6c9ce265d783a59b51e22449905ea73aa27f25a082a1e9e1532f7c99e1c9f7cb966eb0970be2a08e2e5993dc9aa55093b1bff548689fdb465e7145ed libdrm-2.4.97.tar.bz2 diff --git a/bsp/buildroot/package/libdrm/libdrm.mk b/bsp/buildroot/package/libdrm/libdrm.mk index 1c898a5b..cc7350c1 100644 --- a/bsp/buildroot/package/libdrm/libdrm.mk +++ b/bsp/buildroot/package/libdrm/libdrm.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDRM_VERSION = 2.4.89 +LIBDRM_VERSION = 2.4.97 LIBDRM_SOURCE = libdrm-$(LIBDRM_VERSION).tar.bz2 LIBDRM_SITE = https://dri.freedesktop.org/libdrm LIBDRM_LICENSE = MIT @@ -115,6 +115,9 @@ endif ifeq ($(BR2_PACKAGE_LIBDRM_INSTALL_TESTS),y) LIBDRM_CONF_OPTS += --enable-install-test-programs +ifeq ($(BR2_PACKAGE_CUNIT),y) +LIBDRM_DEPENDENCIES += cunit +endif endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libdvbcsa/libdvbcsa.hash b/bsp/buildroot/package/libdvbcsa/libdvbcsa.hash index d8360e60..55ad51b5 100644 --- a/bsp/buildroot/package/libdvbcsa/libdvbcsa.hash +++ b/bsp/buildroot/package/libdvbcsa/libdvbcsa.hash @@ -2,3 +2,6 @@ sha256 4db78af5cdb2641dfb1136fe3531960a477c9e3e3b6ba19a2754d046af3f456d libdvbcsa-1.1.0.tar.gz # From http://download.videolan.org/pub/videolan/libdvbcsa/1.1.0/libdvbcsa-1.1.0.tar.gz.sha1 sha1 5f4640a7e93ae6494f24a881414e5c343f803365 libdvbcsa-1.1.0.tar.gz + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libdvbpsi/libdvbpsi.hash b/bsp/buildroot/package/libdvbpsi/libdvbpsi.hash index cf76616f..5623250d 100644 --- a/bsp/buildroot/package/libdvbpsi/libdvbpsi.hash +++ b/bsp/buildroot/package/libdvbpsi/libdvbpsi.hash @@ -1,4 +1,7 @@ -# From http://download.videolan.org/pub/libdvbpsi/1.3.0/libdvbpsi-1.3.0.tar.bz2.md5 -md5 2b217039a1299000c39423441f77e76a libdvbpsi-1.3.0.tar.bz2 -# From http://download.videolan.org/pub/libdvbpsi/1.3.0/libdvbpsi-1.3.0.tar.bz2.sha256 -sha256 a2fed1d11980662f919bbd1f29e2462719e0f6227e1a531310bd5a706db0a1fe libdvbpsi-1.3.0.tar.bz2 +# From http://download.videolan.org/pub/libdvbpsi/1.3.2/libdvbpsi-1.3.2.tar.bz2.md5 +md5 be7398560955c69d318439fce3a2d84f libdvbpsi-1.3.2.tar.bz2 +# From http://download.videolan.org/pub/libdvbpsi/1.3.2/libdvbpsi-1.3.2.tar.bz2.sha256 +sha256 ac4e39f2b9b1e15706ad261fa175a9430344d650a940be9aaf502d4cb683c5fe libdvbpsi-1.3.2.tar.bz2 + +# Hash for license file: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libdvbpsi/libdvbpsi.mk b/bsp/buildroot/package/libdvbpsi/libdvbpsi.mk index 9a0a4acc..c4118b26 100644 --- a/bsp/buildroot/package/libdvbpsi/libdvbpsi.mk +++ b/bsp/buildroot/package/libdvbpsi/libdvbpsi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVBPSI_VERSION = 1.3.0 +LIBDVBPSI_VERSION = 1.3.2 LIBDVBPSI_SITE = http://download.videolan.org/pub/libdvbpsi/$(LIBDVBPSI_VERSION) LIBDVBPSI_SOURCE = libdvbpsi-$(LIBDVBPSI_VERSION).tar.bz2 LIBDVBPSI_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/libdvbsi/libdvbsi.hash b/bsp/buildroot/package/libdvbsi/libdvbsi.hash index 7454625a..3628fdbd 100644 --- a/bsp/buildroot/package/libdvbsi/libdvbsi.hash +++ b/bsp/buildroot/package/libdvbsi/libdvbsi.hash @@ -1,2 +1,5 @@ # From http://www.saftware.de/libdvbsi++/libdvbsi++-0.3.7.tar.bz2.md5 md5 7eb50352c06b17c499a6d51e18e99ec5 libdvbsi++-0.3.7.tar.bz2 + +# Hash for license file: +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING diff --git a/bsp/buildroot/package/libdvdcss/libdvdcss.hash b/bsp/buildroot/package/libdvdcss/libdvdcss.hash index 57abd77a..1e1b03ed 100644 --- a/bsp/buildroot/package/libdvdcss/libdvdcss.hash +++ b/bsp/buildroot/package/libdvdcss/libdvdcss.hash @@ -1,2 +1,5 @@ -# From http://download.videolan.org/pub/videolan/libdvdcss/1.4.0/libdvdcss-1.4.0.tar.bz2.sha256 -sha256 2089375984800df29a4817b37f3123c1706723342d6dab4d0a8b75c25c2c845a libdvdcss-1.4.0.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdcss/1.4.2/libdvdcss-1.4.2.tar.bz2.sha256 +sha256 78c2ed77ec9c0d8fbed7bf7d3abc82068b8864be494cfad165821377ff3f2575 libdvdcss-1.4.2.tar.bz2 + +# Hash for license file: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/libdvdcss/libdvdcss.mk b/bsp/buildroot/package/libdvdcss/libdvdcss.mk index e5ba3af2..0593d556 100644 --- a/bsp/buildroot/package/libdvdcss/libdvdcss.mk +++ b/bsp/buildroot/package/libdvdcss/libdvdcss.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVDCSS_VERSION = 1.4.0 +LIBDVDCSS_VERSION = 1.4.2 LIBDVDCSS_SOURCE = libdvdcss-$(LIBDVDCSS_VERSION).tar.bz2 LIBDVDCSS_SITE = http://www.videolan.org/pub/videolan/libdvdcss/$(LIBDVDCSS_VERSION) LIBDVDCSS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libdvdnav/libdvdnav.hash b/bsp/buildroot/package/libdvdnav/libdvdnav.hash index d3b6fdb8..c251d0af 100644 --- a/bsp/buildroot/package/libdvdnav/libdvdnav.hash +++ b/bsp/buildroot/package/libdvdnav/libdvdnav.hash @@ -1,2 +1,5 @@ -# From http://download.videolan.org/pub/videolan/libdvdnav/5.0.3/libdvdnav-5.0.3.tar.bz2.sha256 -sha256 5097023e3d2b36944c763f1df707ee06b19dc639b2b68fb30113a5f2cbf60b6d libdvdnav-5.0.3.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdnav/6.0.0/libdvdnav-6.0.0.tar.bz2.sha256 +sha256 f0a2711b08a021759792f8eb14bb82ff8a3c929bf88c33b64ffcddaa27935618 libdvdnav-6.0.0.tar.bz2 + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libdvdnav/libdvdnav.mk b/bsp/buildroot/package/libdvdnav/libdvdnav.mk index 5cb47ab0..549a3182 100644 --- a/bsp/buildroot/package/libdvdnav/libdvdnav.mk +++ b/bsp/buildroot/package/libdvdnav/libdvdnav.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVDNAV_VERSION = 5.0.3 +LIBDVDNAV_VERSION = 6.0.0 LIBDVDNAV_SOURCE = libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2 LIBDVDNAV_SITE = http://www.videolan.org/pub/videolan/libdvdnav/$(LIBDVDNAV_VERSION) LIBDVDNAV_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libdvdread/libdvdread.hash b/bsp/buildroot/package/libdvdread/libdvdread.hash index bef93fc0..44a3f984 100644 --- a/bsp/buildroot/package/libdvdread/libdvdread.hash +++ b/bsp/buildroot/package/libdvdread/libdvdread.hash @@ -1,2 +1,5 @@ -# From http://download.videolan.org/pub/videolan/libdvdread/5.0.0/libdvdread-5.0.3.tar.bz2.sha256 -sha256 321cdf2dbdc83c96572bc583cd27d8c660ddb540ff16672ecb28607d018ed82b libdvdread-5.0.3.tar.bz2 +# From http://download.videolan.org/pub/videolan/libdvdread/6.0.0/libdvdread-6.0.0.tar.bz2.sha256 +sha256 b33b1953b4860545b75f6efc06e01d9849e2ea4f797652263b0b4af6dd10f935 libdvdread-6.0.0.tar.bz2 + +# Hash for license file: +sha256 d6cb0e9e560f51085556949a84af12b79a00f10ab8b66c752537faf7cd665572 COPYING diff --git a/bsp/buildroot/package/libdvdread/libdvdread.mk b/bsp/buildroot/package/libdvdread/libdvdread.mk index 0e335e5c..f41a188f 100644 --- a/bsp/buildroot/package/libdvdread/libdvdread.mk +++ b/bsp/buildroot/package/libdvdread/libdvdread.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBDVDREAD_VERSION = 5.0.3 +LIBDVDREAD_VERSION = 6.0.0 LIBDVDREAD_SOURCE = libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 LIBDVDREAD_SITE = http://www.videolan.org/pub/videolan/libdvdread/$(LIBDVDREAD_VERSION) LIBDVDREAD_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libeXosip2/libeXosip2.hash b/bsp/buildroot/package/libeXosip2/libeXosip2.hash index 1f16994b..86335a3c 100644 --- a/bsp/buildroot/package/libeXosip2/libeXosip2.hash +++ b/bsp/buildroot/package/libeXosip2/libeXosip2.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 91da1a084c9ab663afe04b493342e075ad59ac54a1af011c7f2ba4543a923564 libeXosip2-3.6.0.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libeastl/Config.in b/bsp/buildroot/package/libeastl/Config.in new file mode 100644 index 00000000..76094345 --- /dev/null +++ b/bsp/buildroot/package/libeastl/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + bool + default y if BR2_i386 + default y if BR2_x86_64 + default y if BR2_aarch64 + default y if BR2_powerpc + default y if BR2_powerpc64 + +config BR2_PACKAGE_LIBEASTL + bool "libeastl" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + help + EASTL stands for Electronic Arts Standard Template + Library. EASTL stands for Electronic Arts Standard Template + Library. It is a C++ template library of containers, + algorithms, and iterators useful for runtime and tool + development across multiple platforms. It is an extensive + and robust implementation that has an emphasis on high + performance. + + https://github.com/electronicarts/EASTL + +comment "libeastl needs a toolchain w/ C++, gcc >= 4.9" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/libeastl/libeastl.hash b/bsp/buildroot/package/libeastl/libeastl.hash new file mode 100644 index 00000000..2d8367c0 --- /dev/null +++ b/bsp/buildroot/package/libeastl/libeastl.hash @@ -0,0 +1,2 @@ +sha256 9b3484553812b3ec3bad0857f7f675499c81f7cf4ac87e5f3b2acbe72e3a878a libeastl-45469730d641868ce05433fff2e199510c7d45c3.tar.gz +sha256 82c0243a1a62b8af01dab3bce6ed2b0852604bd508b85a561ba7d32480e598e3 LICENSE diff --git a/bsp/buildroot/package/libeastl/libeastl.mk b/bsp/buildroot/package/libeastl/libeastl.mk new file mode 100644 index 00000000..0559dd85 --- /dev/null +++ b/bsp/buildroot/package/libeastl/libeastl.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# libeastl +# +################################################################################ + +LIBEASTL_VERSION = 45469730d641868ce05433fff2e199510c7d45c3 +LIBEASTL_SITE = $(call github,electronicarts,EASTL,$(LIBEASTL_VERSION)) +LIBEASTL_LICENSE = BSD-3-Clause +LIBEASTL_LICENSE_FILES = LICENSE +LIBEASTL_INSTALL_STAGING = YES + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch b/bsp/buildroot/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch new file mode 100644 index 00000000..d6e906fe --- /dev/null +++ b/bsp/buildroot/package/libebml/0001-EbmlSInteger-Use-limits-instead-of-climits.patch @@ -0,0 +1,28 @@ +From e46906b80e7662fb78d305f576412f9fa4a22218 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Hugo=20Beauz=C3=A9e-Luyssen?= +Date: Mon, 23 Apr 2018 12:05:42 +0200 +Subject: [PATCH] EbmlSInteger: Use instead of + +The former is the proper header to use for std::numerical_limits + +Retrieved from: +https://github.com/Matroska-Org/libebml/commit/e46906b80e7662fb78d305f576412f9fa4a22218 + +Signed-off-by: Fabrice Fontaine +--- + src/EbmlSInteger.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/EbmlSInteger.cpp b/src/EbmlSInteger.cpp +index 33f3637..b930f7d 100644 +--- a/src/EbmlSInteger.cpp ++++ b/src/EbmlSInteger.cpp +@@ -33,7 +33,7 @@ + \author Moritz Bunkus + */ + #include +-#include ++#include + + #include "ebml/EbmlSInteger.h" + diff --git a/bsp/buildroot/package/libebml/libebml.hash b/bsp/buildroot/package/libebml/libebml.hash index 5abc1ebf..6daa4746 100644 --- a/bsp/buildroot/package/libebml/libebml.hash +++ b/bsp/buildroot/package/libebml/libebml.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 35fb44daa41961f94a0ac1b8f06801e88cc9bf2ad6f562ced8ab7c1f1a875499 libebml-1.3.3.tar.bz2 +sha256 1e5a7a7820c493aa62b0f35e15b4233c792cc03458c55ebdfa7a6521e4b43e9e libebml-1.3.6.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/bsp/buildroot/package/libebml/libebml.mk b/bsp/buildroot/package/libebml/libebml.mk index 8c5dee3f..3c344627 100644 --- a/bsp/buildroot/package/libebml/libebml.mk +++ b/bsp/buildroot/package/libebml/libebml.mk @@ -4,11 +4,11 @@ # ################################################################################ -LIBEBML_VERSION = 1.3.3 -LIBEBML_SOURCE = libebml-$(LIBEBML_VERSION).tar.bz2 +LIBEBML_VERSION = 1.3.6 +LIBEBML_SOURCE = libebml-$(LIBEBML_VERSION).tar.xz LIBEBML_SITE = http://dl.matroska.org/downloads/libebml LIBEBML_INSTALL_STAGING = YES LIBEBML_LICENSE = LGPL-2.1+ LIBEBML_LICENSE_FILES = LICENSE.LGPL -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libedit/0001-check-bsd-functions-in-libbsd.patch b/bsp/buildroot/package/libedit/0001-check-bsd-functions-in-libbsd.patch index de452a5c..7438340d 100644 --- a/bsp/buildroot/package/libedit/0001-check-bsd-functions-in-libbsd.patch +++ b/bsp/buildroot/package/libedit/0001-check-bsd-functions-in-libbsd.patch @@ -1,5 +1,7 @@ configure: on Linux, the BSD functions require linking against libbsd +Signed-off-by: "Fabrice Fontaine" +(Rebased against 20170329-3.1) Signed-off-by: "Yann E. MORIN" (Rebased against 20150325-3.1) Signed-off-by: Bernd Kuhls @@ -15,6 +17,6 @@ diff -durN libedit-20130712-3.1.orig/configure.ac libedit-20130712-3.1/configure +# Search for libbsd for *vis functions +AC_CHECK_LIB([bsd], [vis]) + - AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat fgetln vis strvis strunvis __secure_getenv secure_getenv]) - + AC_CHECK_FUNCS([endpwent isascii memchr memset re_comp regcomp strcasecmp strchr strcspn strdup strerror strrchr strstr strtol issetugid wcsdup strlcpy strlcat getline vis strvis strunvis __secure_getenv secure_getenv]) + # strlcpy diff --git a/bsp/buildroot/package/libedit/libedit.hash b/bsp/buildroot/package/libedit/libedit.hash index 4bfb8afc..3a5cdbac 100644 --- a/bsp/buildroot/package/libedit/libedit.hash +++ b/bsp/buildroot/package/libedit/libedit.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 c88a5e4af83c5f40dda8455886ac98923a9c33125699742603a88a0253fcc8c5 libedit-20150325-3.1.tar.gz +sha256 c41bea8fd140fb57ba67a98ec1d8ae0b8ffa82f4aba9c35a87e5a9499e653116 libedit-20180525-3.1.tar.gz +sha256 9da6c9c74987a36c84302982799d17d2f748ba1c1c0c471425716173c1d07649 COPYING diff --git a/bsp/buildroot/package/libedit/libedit.mk b/bsp/buildroot/package/libedit/libedit.mk index 51ca87d4..a4b32e05 100644 --- a/bsp/buildroot/package/libedit/libedit.mk +++ b/bsp/buildroot/package/libedit/libedit.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEDIT_VERSION = 20150325-3.1 +LIBEDIT_VERSION = 20180525-3.1 LIBEDIT_SITE = http://www.thrysoee.dk/editline LIBEDIT_INSTALL_STAGING = YES LIBEDIT_DEPENDENCIES = ncurses @@ -14,15 +14,6 @@ LIBEDIT_LICENSE_FILES = COPYING # We're patching configure.ac LIBEDIT_AUTORECONF = YES -# Needed for autoreconf to work properly -define LIBEDIT_FIXUP_M4_DIR - mkdir $(@D)/m4 -endef -LIBEDIT_POST_EXTRACT_HOOKS += LIBEDIT_FIXUP_M4_DIR - -# Doesn't really support !wchar, but support is disabled otherwise -LIBEDIT_CONF_OPTS += --enable-widec - # musl is ISO 10646 compliant but doesn't define __STDC_ISO_10646__, # so let's define it manually ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) diff --git a/bsp/buildroot/package/libee/libee.hash b/bsp/buildroot/package/libee/libee.hash index b70242aa..5ad47e16 100644 --- a/bsp/buildroot/package/libee/libee.hash +++ b/bsp/buildroot/package/libee/libee.hash @@ -1,2 +1,5 @@ # From http://www.libee.org/download/libee-0-4-1/ md5 7bbf4160876c12db6193c06e2badedb2 libee-0.4.1.tar.gz + +# Hash for license file: +sha256 275fecbf835387e042ba96884f0f05356a485a6ea8449b2c5295cc11652ad439 COPYING diff --git a/bsp/buildroot/package/libenca/libenca.hash b/bsp/buildroot/package/libenca/libenca.hash index 1a03c8fa..6c874b16 100644 --- a/bsp/buildroot/package/libenca/libenca.hash +++ b/bsp/buildroot/package/libenca/libenca.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 3a487eca40b41021e2e4b7a6440b97d822e6532db5464471f572ecf77295e8b8 enca-1.19.tar.xz +sha256 87f1bd4a52b4029476b684fcdd51fed3c6b2540e462d3c2d3bfc9be4558b2825 COPYING diff --git a/bsp/buildroot/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch b/bsp/buildroot/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch deleted file mode 100644 index 286f875b..00000000 --- a/bsp/buildroot/package/libepoxy/0001-Forward-EGL-cflags-into-epoxy.pc.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 99b8373dbe8fb3bac835ebad90f91cfd213e4acb Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Wed, 15 Mar 2017 10:02:54 -0300 -Subject: [PATCH] Forward EGL cflags into epoxy.pc - -When building mesa egl without x11 and gles2 the headers need a -MESA_EGL_NO_X11_HEADERS define to avoid including X11 headers. -Forward EGL CFLAGS into epoxy.pc to avoid build failures when linking -against libepoxy on this scenario. - -Signed-off-by: Gustavo Zacarias ---- -Status: pull request https://github.com/anholt/libepoxy/pull/113 - - epoxy.pc.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/epoxy.pc.in b/epoxy.pc.in -index 7828a77..8278b7d 100644 ---- a/epoxy.pc.in -+++ b/epoxy.pc.in -@@ -10,6 +10,6 @@ epoxy_has_wgl=@epoxy_has_wgl@ - Name: epoxy - Description: epoxy GL dispatch Library - Version: @PACKAGE_VERSION@ --Cflags: -I${includedir} -+Cflags: -I${includedir} @EGL_CFLAGS@ - Libs: -L${libdir} -lepoxy - Libs.private: @DLOPEN_LIBS@ --- -2.10.2 - diff --git a/bsp/buildroot/package/libepoxy/libepoxy.hash b/bsp/buildroot/package/libepoxy/libepoxy.hash index d7ebec5b..dd1b1348 100644 --- a/bsp/buildroot/package/libepoxy/libepoxy.hash +++ b/bsp/buildroot/package/libepoxy/libepoxy.hash @@ -1,2 +1,5 @@ -# From ftp://ftp.gnome.org/pub/GNOME/sources/libepoxy/1.4/libepoxy-1.4.3.sha256sum -sha256 0b808a06c9685a62fca34b680abb8bc7fb2fda074478e329b063c1f872b826f6 libepoxy-1.4.3.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/libepoxy/1.5/libepoxy-1.5.2.sha256sum +sha256 a9562386519eb3fd7f03209f279f697a8cba520d3c155d6e253c3e138beca7d8 libepoxy-1.5.2.tar.xz + +# Hashes for license files: +sha256 8d5144666f9c4df9bbd69b8900086d5979259152a1060421cdcc0fb9061a1c12 COPYING diff --git a/bsp/buildroot/package/libepoxy/libepoxy.mk b/bsp/buildroot/package/libepoxy/libepoxy.mk index 366cc113..b1731a22 100644 --- a/bsp/buildroot/package/libepoxy/libepoxy.mk +++ b/bsp/buildroot/package/libepoxy/libepoxy.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBEPOXY_VERSION_MAJOR = 1.4 -LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).3 +LIBEPOXY_VERSION_MAJOR = 1.5 +LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).2 LIBEPOXY_SITE = http://ftp.gnome.org/pub/gnome/sources/libepoxy/$(LIBEPOXY_VERSION_MAJOR) LIBEPOXY_SOURCE = libepoxy-$(LIBEPOXY_VERSION).tar.xz LIBEPOXY_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/liberation/liberation.hash b/bsp/buildroot/package/liberation/liberation.hash index 34328803..5ae4034d 100644 --- a/bsp/buildroot/package/liberation/liberation.hash +++ b/bsp/buildroot/package/liberation/liberation.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 7890278a6cd17873c57d9cd785c2d230d9abdea837e96516019c5885dd271504 liberation-fonts-ttf-2.00.1.tar.gz +sha256 93fed46019c38bbe566b479d22148e2e8a1e85ada614accb0211c37b2c61c19b LICENSE diff --git a/bsp/buildroot/package/libesmtp/libesmtp.hash b/bsp/buildroot/package/libesmtp/libesmtp.hash index c9c0fa30..9e1ca22b 100644 --- a/bsp/buildroot/package/libesmtp/libesmtp.hash +++ b/bsp/buildroot/package/libesmtp/libesmtp.hash @@ -1,2 +1,4 @@ # Locally calculated sha256 d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b libesmtp-1.0.6.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB diff --git a/bsp/buildroot/package/libestr/libestr.hash b/bsp/buildroot/package/libestr/libestr.hash index e37cbb13..dcb504d3 100644 --- a/bsp/buildroot/package/libestr/libestr.hash +++ b/bsp/buildroot/package/libestr/libestr.hash @@ -1,2 +1,5 @@ # From http://libestr.adiscon.com/download/libestr-0-1-10/ sha256 bd655e126e750edd18544b88eb1568d200a424a0c23f665eb14bbece07ac703c libestr-0.1.10.tar.gz + +# Hash for license file: +sha256 835b4793da5cbb8965fbd63905b55a4cb4310b7d1b882077d23066b08f901ff8 COPYING diff --git a/bsp/buildroot/package/libev/Config.in b/bsp/buildroot/package/libev/Config.in index db8d263d..71abe773 100644 --- a/bsp/buildroot/package/libev/Config.in +++ b/bsp/buildroot/package/libev/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_LIBEV bool "libev" - # needs memory fences - depends on !BR2_bfin help Userspace library for handling asynchronous notifications diff --git a/bsp/buildroot/package/libev/libev.hash b/bsp/buildroot/package/libev/libev.hash index d3b7bb5c..ba9d654b 100644 --- a/bsp/buildroot/package/libev/libev.hash +++ b/bsp/buildroot/package/libev/libev.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 973593d3479abdf657674a55afe5f78624b0e440614e2b8cb3a07f16d4d7f821 libev-4.24.tar.gz +sha256 c4dd1a5bc38b041a320b93c5d6c08f5c41a63f2ce718ee16cfcb757fad448199 LICENSE diff --git a/bsp/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch b/bsp/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch index 6a829175..74590317 100644 --- a/bsp/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch +++ b/bsp/buildroot/package/libevdev/0001-configure-add-disable-runtime-tests-option.patch @@ -1,18 +1,20 @@ -From fe965061b4306e3ca811ff86dc1ca29f7db9af18 Mon Sep 17 00:00:00 2001 +From 93f6bc2b97a2b76a5e725d63d4b6c2dfe7baf63b Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sun, 11 Oct 2015 13:33:19 +0200 Subject: [PATCH] configure: add '--disable-runtime-tests' option +Signed-off-by: Peter Seiderer +[Rebased libevdev-1.6.0] Signed-off-by: Peter Seiderer --- - configure.ac | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) + configure.ac | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index c1a9111..8fe7b8b 100644 +index 5161d93..2b3bb26 100644 --- a/configure.ac +++ b/configure.ac -@@ -76,13 +76,20 @@ else +@@ -76,7 +76,14 @@ else AC_MSG_WARN([check not found - skipping building unit tests]) fi AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" != "x"]) @@ -27,25 +29,16 @@ index c1a9111..8fe7b8b 100644 +AM_CONDITIONAL(ENABLE_RUNTIME_TESTS, [test "x${enable_runtime_tests}x$HAVE_CHECK" = "xyesxyes"]) AM_CONDITIONAL(ENABLE_STATIC_LINK_TEST, [test "x$enable_static" = "xyes"]) - AC_ARG_ENABLE([test-run], - AS_HELP_STRING([--enable-test-run], [For internal use only]), - [run_tests="$enableval"], [run_tests="yes"]) --AM_CONDITIONAL(RUN_TESTS, [test "x$run_tests" = "xyes"]) -+AM_CONDITIONAL(RUN_TESTS, [test "x${enable_runtime_tests}x$run_tests" = "xyesxyes"]) - with_cflags="" - if test "x$GCC" = "xyes"; then -@@ -167,8 +174,8 @@ AC_MSG_RESULT([ +@@ -162,7 +169,7 @@ AC_MSG_RESULT([ Libdir ${libdir} Build documentation ${have_doxygen} - Enable unit-tests ${HAVE_CHECK} -- Run unit-tests ${run_tests} + Enable unit-tests ${HAVE_CHECK} (runtime-tests: ${enable_runtime_tests}) -+ Run unit-tests ${run_tests} (runtime-tests: ${enable_runtime_tests}) Enable profiling ${enable_gcov} Static library symbol check ${static_symbol_leaks_test} ]) -- -2.11.0 +2.19.1 diff --git a/bsp/buildroot/package/libevdev/libevdev.hash b/bsp/buildroot/package/libevdev/libevdev.hash index 0702a7b0..4a750e0a 100644 --- a/bsp/buildroot/package/libevdev/libevdev.hash +++ b/bsp/buildroot/package/libevdev/libevdev.hash @@ -1,5 +1,8 @@ -# From https://lists.freedesktop.org/archives/input-tools/2018-January/001447.html -md5 c25a8c3939e4ad59a5e9e5e1e354832d libevdev-1.5.8.tar.xz -sha1 a60e7a43570cdbc64af5adf99ca80023d21a1174 libevdev-1.5.8.tar.xz -sha256 6083d81e46609da8ba80cb826c02d9080764a6dec33c8267ccb7e158833d4c6d libevdev-1.5.8.tar.xz -sha512 e9485d8c6b48ebf762b32b003bc6b761c548024ad3bc34a0793485b53383746881fcc9b206a078d571937291e519d9822e50c5d8816778d347094691b65ec3fa libevdev-1.5.8.tar.xz +# From https://lists.freedesktop.org/archives/input-tools/2018-October/001488.html +md5 154b24f01425c4c82fdc3e11f2c13af6 libevdev-1.6.0.tar.xz +sha1 ef584a500833fe737bacb89350f93314b07f1c42 libevdev-1.6.0.tar.xz +sha256 f5005c865987d980cc1279b9ec6131b06a89fd9892f649f2a68262b8786ef814 libevdev-1.6.0.tar.xz +sha512 73046da447773716c9f0c9f511f3a0a6ababcf92a146eba363014afcbdb465f4c3cd8be0917f2f01561a72f24f20fe8ecd333467437d9d85c03afcb433d05060 libevdev-1.6.0.tar.xz + +# Hash for license files: +sha256 f063d1279b31e73007e1c54493391818b4cb5f9162d590120397e0347b932137 COPYING diff --git a/bsp/buildroot/package/libevdev/libevdev.mk b/bsp/buildroot/package/libevdev/libevdev.mk index 1893863e..d8361028 100644 --- a/bsp/buildroot/package/libevdev/libevdev.mk +++ b/bsp/buildroot/package/libevdev/libevdev.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBEVDEV_VERSION = 1.5.8 +LIBEVDEV_VERSION = 1.6.0 LIBEVDEV_SITE = http://www.freedesktop.org/software/libevdev LIBEVDEV_SOURCE = libevdev-$(LIBEVDEV_VERSION).tar.xz LIBEVDEV_LICENSE = X11 diff --git a/bsp/buildroot/package/libevent/libevent.hash b/bsp/buildroot/package/libevent/libevent.hash index 21381c87..aa0358bc 100644 --- a/bsp/buildroot/package/libevent/libevent.hash +++ b/bsp/buildroot/package/libevent/libevent.hash @@ -1,3 +1,4 @@ # locally computed md5 f3eeaed018542963b7d2416ef1135ecc libevent-2.1.8-stable.tar.gz sha1 2a1b8bb7a262d3fd0ed6a080a20991a6eed675ec libevent-2.1.8-stable.tar.gz +sha256 ff02effc9b331edcdac387d198691bfa3e575e7d244ad10cb826aa51ef085670 LICENSE diff --git a/bsp/buildroot/package/libevent/libevent.mk b/bsp/buildroot/package/libevent/libevent.mk index 65bf1c2b..f0c989af 100644 --- a/bsp/buildroot/package/libevent/libevent.mk +++ b/bsp/buildroot/package/libevent/libevent.mk @@ -24,8 +24,8 @@ ifneq ($(BR2_PACKAGE_PYTHON),y) LIBEVENT_POST_INSTALL_TARGET_HOOKS += LIBEVENT_REMOVE_PYSCRIPT endif -ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -LIBEVENT_DEPENDENCIES += host-pkgconf libopenssl +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBEVENT_DEPENDENCIES += host-pkgconf openssl LIBEVENT_CONF_OPTS += --enable-openssl else LIBEVENT_CONF_OPTS += --disable-openssl diff --git a/bsp/buildroot/package/libexif/libexif.hash b/bsp/buildroot/package/libexif/libexif.hash index cf1b4d7c..aa9fcc8d 100644 --- a/bsp/buildroot/package/libexif/libexif.hash +++ b/bsp/buildroot/package/libexif/libexif.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a libexif-0.6.21.tar.bz2 +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 COPYING diff --git a/bsp/buildroot/package/libfastjson/0001-m4-fix-detection-of-atomics.patch b/bsp/buildroot/package/libfastjson/0001-m4-fix-detection-of-atomics.patch deleted file mode 100644 index 1fdbf192..00000000 --- a/bsp/buildroot/package/libfastjson/0001-m4-fix-detection-of-atomics.patch +++ /dev/null @@ -1,86 +0,0 @@ -From df087711cf7be55268a55e7820f4d928cb34c078 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sat, 9 Jul 2016 20:44:36 +0200 -Subject: [PATCH] m4: fix detection of atomics - -In cross-compilation, it is impossible to run code at configure time to -detect the target specifics. - -As such, AC_TRY_RUN fails miserably to detect reliably that atomic -intrisics are present in a toolchain, and decides they are not just -because this is cross-compilation. - -Instead of AC_TRY_RUN, use AC_LINK_IFELSE that does not need to actually -run code, since all we're interested in is whether the intrisics are -present (or not). Fix both the 32- and 64-bit variants, even if the -latter is not used currently. - -Fixes build failures detected by the Buildroot autobuilders, like: - http://autobuild.buildroot.org/results/23a/23ac0e742ed3a70ae4d038f8c9eadc23e708f671/build-end.log - http://autobuild.buildroot.org/results/192/1923d0b570adba494f83747a9610ea6ec35f5223/build-end.log - -and many other cases, espcially on architectures where such intrisics are -present, but where the toolchain does not have threads (and anyway, it -is much more efficient to use the intrisics rather than use mutexes). - -Signed-off-by: "Yann E. MORIN" ---- -Patch sent upstream: - https://github.com/rsyslog/libfastjson/pull/109 - ---- - m4/atomic_operations.m4 | 6 ++---- - m4/atomic_operations_64bit.m4 | 6 ++---- - 2 files changed, 4 insertions(+), 8 deletions(-) - -diff --git a/m4/atomic_operations.m4 b/m4/atomic_operations.m4 -index ad0ee60..7d2bca6 100644 ---- a/m4/atomic_operations.m4 -+++ b/m4/atomic_operations.m4 -@@ -9,9 +9,7 @@ - # - AC_DEFUN([RS_ATOMIC_OPERATIONS], - [AC_CACHE_CHECK([whether the compiler provides atomic builtins], [ap_cv_atomic_builtins], --[AC_TRY_RUN([ --int main() --{ -+[AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[ - unsigned long val = 1010, tmp, *mem = &val; - - if (__sync_fetch_and_add(&val, 1010) != 1010 || val != 2020) -@@ -44,7 +42,7 @@ int main() - return 1; - - return 0; --}], [ap_cv_atomic_builtins=yes], [ap_cv_atomic_builtins=no], [ap_cv_atomic_builtins=no])]) -+]])], [ap_cv_atomic_builtins=yes], [ap_cv_atomic_builtins=no])]) - - if test "$ap_cv_atomic_builtins" = "yes"; then - AC_DEFINE(HAVE_ATOMIC_BUILTINS, 1, [Define if compiler provides atomic builtins]) -diff --git a/m4/atomic_operations_64bit.m4 b/m4/atomic_operations_64bit.m4 -index 9fbef0a..d01a977 100644 ---- a/m4/atomic_operations_64bit.m4 -+++ b/m4/atomic_operations_64bit.m4 -@@ -9,9 +9,7 @@ - # - AC_DEFUN([RS_ATOMIC_OPERATIONS_64BIT], - [AC_CACHE_CHECK([whether the compiler provides atomic builtins for 64 bit data types], [ap_cv_atomic_builtins_64], --[AC_TRY_RUN([ --int main() --{ -+[AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[ - unsigned long long val = 1010, tmp, *mem = &val; - - if (__sync_fetch_and_add(&val, 1010) != 1010 || val != 2020) -@@ -44,7 +42,7 @@ int main() - return 1; - - return 0; --}], [ap_cv_atomic_builtins_64=yes], [ap_cv_atomic_builtins_64=no], [ap_cv_atomic_builtins_64=no])]) -+]])], [ap_cv_atomic_builtins_64=yes], [ap_cv_atomic_builtins_64=no])]) - - if test "$ap_cv_atomic_builtins_64" = "yes"; then - AC_DEFINE(HAVE_ATOMIC_BUILTINS64, 1, [Define if compiler provides 64 bit atomic builtins]) --- -2.7.4 - diff --git a/bsp/buildroot/package/libfastjson/libfastjson.hash b/bsp/buildroot/package/libfastjson/libfastjson.hash index 427db9c7..72fb9856 100644 --- a/bsp/buildroot/package/libfastjson/libfastjson.hash +++ b/bsp/buildroot/package/libfastjson/libfastjson.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 03ef63dcc88417e71c19ce4436804159e3397e3a20d3529efef6a43c3bef5c8d libfastjson-v0.99.4.tar.gz +sha256 7e49057b26a5a9e3c6623e024f95f9fd9a14b571b9150aeb89d6d475fc3633e3 libfastjson-v0.99.8.tar.gz +sha256 b29370bbfa98816e1fca0901f18149d920736771bfd68b4ee0eb00c78b38d245 COPYING diff --git a/bsp/buildroot/package/libfastjson/libfastjson.mk b/bsp/buildroot/package/libfastjson/libfastjson.mk index 06da0d8e..565cdd0e 100644 --- a/bsp/buildroot/package/libfastjson/libfastjson.mk +++ b/bsp/buildroot/package/libfastjson/libfastjson.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFASTJSON_VERSION = v0.99.4 +LIBFASTJSON_VERSION = v0.99.8 LIBFASTJSON_SITE = $(call github,rsyslog,libfastjson,$(LIBFASTJSON_VERSION)) LIBFASTJSON_INSTALL_STAGING = YES LIBFASTJSON_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/bsp/buildroot/package/libfcgi/libfcgi.hash b/bsp/buildroot/package/libfcgi/libfcgi.hash index 586ff1e7..98aa2ecf 100644 --- a/bsp/buildroot/package/libfcgi/libfcgi.hash +++ b/bsp/buildroot/package/libfcgi/libfcgi.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 66fc45c6b36a21bf2fbbb68e90f780cc21a9da1fffbae75e76d2b4402d3f05b9 fcgi-2.4.0.tar.gz +sha256 f0a8fe4513a43e8eebb24cdcf9d2e7efc52e4d8259178c6d76d3d84418397d81 LICENSE.TERMS diff --git a/bsp/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/bsp/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch index 776990df..168972a8 100644 --- a/bsp/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch +++ b/bsp/buildroot/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch @@ -7,6 +7,8 @@ This way it will be possible to build it for soft-float. This is only a temporary fix. The package needs to be fixed properly. Signed-off-by: Vicente Olivert Riera +[Update for 3.3-rc0] +Signed-off-by: Fabrice Fontaine --- src/mips/n32.S | 1 + src/mips/o32.S | 1 + @@ -17,9 +19,10 @@ index c6985d3..dc842d5 100644 --- a/src/mips/n32.S +++ b/src/mips/n32.S @@ -44,6 +44,7 @@ - .abicalls #endif + #if !defined(__mips_isa_rev) || (__mips_isa_rev<6) .set mips4 + #endif + .set hardfloat .text .align 2 diff --git a/bsp/buildroot/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch b/bsp/buildroot/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch deleted file mode 100644 index 9308c895..00000000 --- a/bsp/buildroot/package/libffi/0004-m68k-support-ISA-A-Coldfire-CPUs.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 733bb188b898385cfb5ad28cc0e3ecaf38237350 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Sat, 20 Aug 2016 00:52:19 +0200 -Subject: [PATCH] m68k: support ISA-A Coldfire CPUs - -Fix compilation for m68k/coldfire CPUs like mcf5208. - -Signed-off-by: Waldemar Brodkorb -Signed-off-by: Thorsten Glaser ---- - src/m68k/sysv.S | 29 ++++++++++++++++++++++++++++- - 1 file changed, 28 insertions(+), 1 deletion(-) - -diff --git a/src/m68k/sysv.S b/src/m68k/sysv.S -index ec2b14f..ea40f11 100644 ---- a/src/m68k/sysv.S -+++ b/src/m68k/sysv.S -@@ -3,7 +3,7 @@ - sysv.S - Copyright (c) 2012 Alan Hourihane - Copyright (c) 1998, 2012 Andreas Schwab - Copyright (c) 2008 Red Hat, Inc. -- Copyright (c) 2012 Thorsten Glaser -+ Copyright (c) 2012, 2016 Thorsten Glaser - - m68k Foreign Function Interface - -@@ -72,6 +72,15 @@ CALLFUNC(ffi_call_SYSV): - pea 4(%sp) - #if !defined __PIC__ - jsr CALLFUNC(ffi_prep_args) -+#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) -+ move.l _current_shared_library_a5_offset_(%a5),%a0 -+ move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0 -+ jsr (%a0) -+#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) -+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 -+ lea (-6,%pc,%a0),%a0 -+ move.l CALLFUNC(ffi_prep_args@GOT)(%a0),%a0 -+ jsr (%a0) - #else - bsr.l CALLFUNC(ffi_prep_args@PLTPC) - #endif -@@ -215,6 +224,15 @@ CALLFUNC(ffi_closure_SYSV): - move.l %a0,-(%sp) - #if !defined __PIC__ - jsr CALLFUNC(ffi_closure_SYSV_inner) -+#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) -+ move.l _current_shared_library_a5_offset_(%a5),%a0 -+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 -+ jsr (%a0) -+#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) -+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 -+ lea (-6,%pc,%a0),%a0 -+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 -+ jsr (%a0) - #else - bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC) - #endif -@@ -317,6 +335,15 @@ CALLFUNC(ffi_closure_struct_SYSV): - move.l %a0,-(%sp) - #if !defined __PIC__ - jsr CALLFUNC(ffi_closure_SYSV_inner) -+#elif defined(__uClinux__) && defined(__ID_SHARED_LIBRARY__) -+ move.l _current_shared_library_a5_offset_(%a5),%a0 -+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 -+ jsr (%a0) -+#elif defined(__mcoldfire__) && !defined(__mcfisab__) && !defined(__mcfisac__) -+ move.l #_GLOBAL_OFFSET_TABLE_@GOTPC,%a0 -+ lea (-6,%pc,%a0),%a0 -+ move.l CALLFUNC(ffi_closure_SYSV_inner@GOT)(%a0),%a0 -+ jsr (%a0) - #else - bsr.l CALLFUNC(ffi_closure_SYSV_inner@PLTPC) - #endif --- -1.7.10.4 - diff --git a/bsp/buildroot/package/libffi/0005-mips-use-__linux__-and-not-linux.patch b/bsp/buildroot/package/libffi/0005-mips-use-__linux__-and-not-linux.patch deleted file mode 100644 index a48f3d3b..00000000 --- a/bsp/buildroot/package/libffi/0005-mips-use-__linux__-and-not-linux.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1f43e5edfd91bee80e518432b80db01f1bf226e3 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 22 Oct 2017 15:02:11 +0200 -Subject: [PATCH] mips: use __linux__ and not linux - -The "linux" symbol is not POSIX compliant [1], and therefore not -defined when building with -std=c99. Due to this, the linux -conditional block doesn't get used on Linux when building Python 3.x -(which is built with -std=c99). To fix this, we use the POSIX -compliant __linux__ symbol, which is defined when -std=c99 is used. - -This fixes the build of Python 3.x on MIPS/musl configuration, as it -makes sures that gets included and not . - -[1] https://sourceforge.net/p/predef/wiki/OperatingSystems/ - -Signed-off-by: Thomas Petazzoni ---- - src/mips/ffitarget.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h -index 717d659..6faa358 100644 ---- a/src/mips/ffitarget.h -+++ b/src/mips/ffitarget.h -@@ -32,7 +32,7 @@ - #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." - #endif - --#ifdef linux -+#ifdef __linux__ - # include - #elif defined(__rtems__) - /* --- -2.13.6 - diff --git a/bsp/buildroot/package/libffi/libffi.hash b/bsp/buildroot/package/libffi/libffi.hash index 0153f7e3..97deb988 100644 --- a/bsp/buildroot/package/libffi/libffi.hash +++ b/bsp/buildroot/package/libffi/libffi.hash @@ -1,4 +1,4 @@ -# From ftp://sourceware.org/pub/libffi/sha512.sum -sha512 980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 libffi-3.2.1.tar.gz +# Locally calculated +sha256 db41cfb9ec8052fcd116a94c12237303c4447af4844d50e4fea7163661e31743 libffi-v3.3-rc0.tar.gz # License files, locally calculated sha256 0f4d7a0bfb83c37465d42dc305f124189196cc0cc2cc8d6f8461103682aebbc5 LICENSE diff --git a/bsp/buildroot/package/libffi/libffi.mk b/bsp/buildroot/package/libffi/libffi.mk index 32e01e9c..b21d12cb 100644 --- a/bsp/buildroot/package/libffi/libffi.mk +++ b/bsp/buildroot/package/libffi/libffi.mk @@ -4,34 +4,12 @@ # ################################################################################ -LIBFFI_VERSION = 3.2.1 -LIBFFI_SITE = ftp://sourceware.org/pub/libffi +LIBFFI_VERSION = v3.3-rc0 +LIBFFI_SITE = $(call github,libffi,libffi,$(LIBFFI_VERSION)) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_INSTALL_STAGING = YES LIBFFI_AUTORECONF = YES -# Move the headers to the usual location, and adjust the .pc file -# accordingly. -define LIBFFI_MOVE_HEADERS - mv $(1)/lib/libffi-$(LIBFFI_VERSION)/include/*.h $(1)/include/ - $(SED) '/^includedir.*/d' -e '/^Cflags:.*/d' \ - $(1)/lib/pkgconfig/libffi.pc - rm -rf $(1)/lib/libffi-* -endef - -LIBFFI_MOVE_STAGING_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(STAGING_DIR)/usr) -LIBFFI_POST_INSTALL_STAGING_HOOKS += LIBFFI_MOVE_STAGING_HEADERS - -HOST_LIBFFI_MOVE_HOST_HEADERS = $(call LIBFFI_MOVE_HEADERS,$(HOST_DIR)) -HOST_LIBFFI_POST_INSTALL_HOOKS += HOST_LIBFFI_MOVE_HOST_HEADERS - -# Remove headers that are not at the usual location from the target -define LIBFFI_REMOVE_TARGET_HEADERS - $(RM) -rf $(TARGET_DIR)/usr/lib/libffi-$(LIBFFI_VERSION) -endef - -LIBFFI_POST_INSTALL_TARGET_HOOKS += LIBFFI_REMOVE_TARGET_HEADERS - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/libfm-extra/libfm-extra.hash b/bsp/buildroot/package/libfm-extra/libfm-extra.hash index 8a78adeb..233abe7d 100644 --- a/bsp/buildroot/package/libfm-extra/libfm-extra.hash +++ b/bsp/buildroot/package/libfm-extra/libfm-extra.hash @@ -1,3 +1,7 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 74997d75e7e87dc73398746fd373bf52 libfm-1.2.4.tar.xz -sha1 2f8183389c8e74edb15c6c8ab260df5dd39f3b2d libfm-1.2.4.tar.xz +md5 02a024714d51e0d37afc7bd596a44f3b libfm-1.3.0.2.tar.xz +sha1 aa7f73987866e557b74b8a28d0fea339d53899b6 libfm-1.3.0.2.tar.xz + +# Hash for license files: +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING +sha256 c3a3d93e111462f2b0292b56a6a7b87d342fd7156741d8b81b8b08723be4597e src/extra/fm-xml-file.c diff --git a/bsp/buildroot/package/libfm-extra/libfm-extra.mk b/bsp/buildroot/package/libfm-extra/libfm-extra.mk index 67d6dc12..7802b886 100644 --- a/bsp/buildroot/package/libfm-extra/libfm-extra.mk +++ b/bsp/buildroot/package/libfm-extra/libfm-extra.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBFM_EXTRA_VERSION = 1.2.4 +LIBFM_EXTRA_VERSION = 1.3.0.2 LIBFM_EXTRA_SOURCE = libfm-$(LIBFM_EXTRA_VERSION).tar.xz LIBFM_EXTRA_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_EXTRA_DEPENDENCIES = libglib2 host-intltool diff --git a/bsp/buildroot/package/libfm/0001-modules-fix-cross-compilation.patch b/bsp/buildroot/package/libfm/0001-modules-fix-cross-compilation.patch new file mode 100644 index 00000000..8b5f1cff --- /dev/null +++ b/bsp/buildroot/package/libfm/0001-modules-fix-cross-compilation.patch @@ -0,0 +1,27 @@ +From 3bc935b732d1ff448727e90340e4be40ef6fc000 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 29 Apr 2018 20:22:29 +0200 +Subject: [PATCH] modules: fix cross-compilation + +Do not add -L$(libdir) to AM_LDFLAGS + +Signed-off-by: Fabrice Fontaine +--- + src/modules/Makefile.am | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/modules/Makefile.am b/src/modules/Makefile.am +index e61f4e01..01c15bd4 100644 +--- a/src/modules/Makefile.am ++++ b/src/modules/Makefile.am +@@ -11,7 +11,6 @@ AM_CPPFLAGS = \ + # tell libtool we compile module not library + AM_LDFLAGS = \ + -no-undefined -module -avoid-version -shared -export-dynamic \ +- -L$(libdir) \ + $(GIO_LIBS) + + # the module should be linked only with libfm, not libfm-gtk or whatever +-- +2.14.1 + diff --git a/bsp/buildroot/package/libfm/libfm.hash b/bsp/buildroot/package/libfm/libfm.hash index 69c4c31f..71befc35 100644 --- a/bsp/buildroot/package/libfm/libfm.hash +++ b/bsp/buildroot/package/libfm/libfm.hash @@ -1,3 +1,7 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/LibFM/ -md5 a1ba9ae5e920f38b647dd511edd6c807 libfm-1.2.5.tar.xz -sha1 5887aa4e85ee0964e7da67368136849957afd5d6 libfm-1.2.5.tar.xz +md5 02a024714d51e0d37afc7bd596a44f3b libfm-1.3.0.2.tar.xz +sha1 aa7f73987866e557b74b8a28d0fea339d53899b6 libfm-1.3.0.2.tar.xz + +# Hash for license files: +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 COPYING +sha256 c3a3d93e111462f2b0292b56a6a7b87d342fd7156741d8b81b8b08723be4597e src/extra/fm-xml-file.c diff --git a/bsp/buildroot/package/libfm/libfm.mk b/bsp/buildroot/package/libfm/libfm.mk index c49cd3e6..292a0ab5 100644 --- a/bsp/buildroot/package/libfm/libfm.mk +++ b/bsp/buildroot/package/libfm/libfm.mk @@ -4,13 +4,15 @@ # ################################################################################ -LIBFM_VERSION = 1.2.5 +LIBFM_VERSION = 1.3.0.2 LIBFM_SOURCE = libfm-$(LIBFM_VERSION).tar.xz LIBFM_SITE = http://sourceforge.net/projects/pcmanfm/files LIBFM_DEPENDENCIES = menu-cache libglib2 cairo LIBFM_LICENSE = GPL-2.0+, LGPL-2.1+ LIBFM_LICENSE_FILES = COPYING src/extra/fm-xml-file.c LIBFM_INSTALL_STAGING = YES +# We're patching src/modules/Makefile.am +LIBFM_AUTORECONF = YES ifeq ($(BR2_PACKAGE_LIBEXIF),y) LIBFM_CONF_OPTS += --enable-exif diff --git a/bsp/buildroot/package/libfreefare/libfreefare.hash b/bsp/buildroot/package/libfreefare/libfreefare.hash index 4d231368..ed982c9d 100644 --- a/bsp/buildroot/package/libfreefare/libfreefare.hash +++ b/bsp/buildroot/package/libfreefare/libfreefare.hash @@ -1,2 +1,5 @@ # From https://github.com/nfc-tools/libfreefare/releases/download/libfreefare-0.4.0/libfreefare-0.4.0.tar.bz2 sha256 bfa31d14a99a1247f5ed49195d6373de512e3eb75bf1627658b40cf7f876bc64 libfreefare-0.4.0.tar.bz2 + +# Hash for license file: +sha256 be6209dfd763a0ba77fbe990cfd2512804441d8b5f0cad927baa3341b50fcade COPYING diff --git a/bsp/buildroot/package/libfreeglut/libfreeglut.hash b/bsp/buildroot/package/libfreeglut/libfreeglut.hash index a69a0b41..cc7a2866 100644 --- a/bsp/buildroot/package/libfreeglut/libfreeglut.hash +++ b/bsp/buildroot/package/libfreeglut/libfreeglut.hash @@ -1,2 +1,5 @@ # From http://sourceforge.net/projects/freeglut/files/freeglut/3.0.0/ sha1 fca52242f9344627a30f11487ee42002e6b0dacd freeglut-3.0.0.tar.gz + +# Hash for license file: +sha256 b6593d5ec4c113a274abb85b10e8615895cb0ddb89f7912af5fe5aa8df38a275 COPYING diff --git a/bsp/buildroot/package/libfreeimage/0005-Manage-powf64-with-glibc.patch b/bsp/buildroot/package/libfreeimage/0005-Manage-powf64-with-glibc.patch new file mode 100644 index 00000000..948ba06e --- /dev/null +++ b/bsp/buildroot/package/libfreeimage/0005-Manage-powf64-with-glibc.patch @@ -0,0 +1,725 @@ +From d8f40eabb25953bff5d90017478dc59d586346d1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 3 May 2018 15:44:14 +0200 +Subject: [PATCH] Manage powf64 with glibc + +powf64 is now included in latest version of glibc so rename powf64 into +powf_64 + +Signed-off-by: Fabrice Fontaine +--- + Source/LibRawLite/dcraw/dcraw.c | 108 ++++++++++++++-------------- + Source/LibRawLite/internal/dcraw_common.cpp | 108 ++++++++++++++-------------- + 2 files changed, 108 insertions(+), 108 deletions(-) + +diff --git a/Source/LibRawLite/dcraw/dcraw.c b/Source/LibRawLite/dcraw/dcraw.c +index 6bf607d..3e52cec 100644 +--- a/Source/LibRawLite/dcraw/dcraw.c ++++ b/Source/LibRawLite/dcraw/dcraw.c +@@ -6727,7 +6727,7 @@ static float powf_lim(float a, float b, float limup) + { + return (b>limup || b < -limup)?0.f:powf(a,b); + } +-static float powf64(float a, float b) ++static float powf_64(float a, float b) + { + return powf_lim(a,b,64.f); + } +@@ -6764,7 +6764,7 @@ static float _CanonConvert2EV(short in) + static float _CanonConvertAperture(short in) + { + if (in == (short)0xffe0) return 0.0f; +- else return powf64(2.0f, _CanonConvert2EV(in) / 2.0f); ++ else return powf_64(2.0f, _CanonConvert2EV(in) / 2.0f); + } + + void CLASS setCanonBodyFeatures (unsigned id) +@@ -7046,15 +7046,15 @@ void CLASS processNikonLensData (uchar *LensData, unsigned len) + imgdata.lens.nikon.NikonLensIDNumber = LensData[i]; + imgdata.lens.nikon.NikonLensFStops = LensData[i + 1]; + imgdata.lens.makernotes.LensFStops = (float)imgdata.lens.nikon.NikonLensFStops /12.0f; +- imgdata.lens.makernotes.MinFocal = 5.0f * powf64(2.0f, (float)LensData[i + 2] / 24.0f); +- imgdata.lens.makernotes.MaxFocal = 5.0f * powf64(2.0f, (float)LensData[i + 3] / 24.0f); +- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(2.0f, (float)LensData[i + 4] / 24.0f); +- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(2.0f, (float)LensData[i + 5] / 24.0f); ++ imgdata.lens.makernotes.MinFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 2] / 24.0f); ++ imgdata.lens.makernotes.MaxFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 3] / 24.0f); ++ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(2.0f, (float)LensData[i + 4] / 24.0f); ++ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(2.0f, (float)LensData[i + 5] / 24.0f); + imgdata.lens.nikon.NikonMCUVersion = LensData[i + 6]; + if (i != 2) + { +- imgdata.lens.makernotes.CurFocal = 5.0f * powf64(2.0f, (float)LensData[i - 1] / 24.0f); +- imgdata.lens.nikon.NikonEffectiveMaxAp = powf64(2.0f, (float)LensData[i + 7] / 24.0f); ++ imgdata.lens.makernotes.CurFocal = 5.0f * powf_64(2.0f, (float)LensData[i - 1] / 24.0f); ++ imgdata.lens.nikon.NikonEffectiveMaxAp = powf_64(2.0f, (float)LensData[i + 7] / 24.0f); + } + imgdata.lens.makernotes.LensID = + (unsigned long long) LensData[i] << 56 | +@@ -7563,11 +7563,11 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) + { + if (buf[0]) + imgdata.lens.makernotes.MaxAp = +- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; ++ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; + + if (buf[1]) + imgdata.lens.makernotes.MinAp = +- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; ++ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; + } + + if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens) +@@ -7577,7 +7577,7 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) + lid = SonySubstitution[buf[0x3d]] << 8 | + SonySubstitution[buf[0x3c]]; + imgdata.lens.makernotes.CurAp = +- powf64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); ++ powf_64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); + } + if (buf[0x105] && (imgdata.lens.makernotes.LensMount != LIBRAW_MOUNT_Canon_EF)) + imgdata.lens.makernotes.LensMount = +@@ -7957,7 +7957,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + { + unsigned char cc; + fread(&cc, 1, 1, ifp); +- iso_speed = (int)(100.0 * powf64(2.0, (double)(cc) / 12.0 - 5.0)); ++ iso_speed = (int)(100.0 * powf_64(2.0, (double)(cc) / 12.0 - 5.0)); + break; + } + } +@@ -7989,7 +7989,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + } + break; + case 0x1002: +- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); ++ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); + break; + case 0x20100201: + imgdata.lens.makernotes.LensID = +@@ -8009,10 +8009,10 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + fread(imgdata.lens.makernotes.Lens, len, 1, ifp); + break; + case 0x20100205: +- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100206: +- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100207: + imgdata.lens.makernotes.MinFocal = (float)get2(); +@@ -8023,7 +8023,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; + break; + case 0x2010020a: +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100301: + imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; +@@ -8121,13 +8121,13 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + if (table_buf[iLensData+9] && + (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) + imgdata.lens.makernotes.CurFocal = +- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); ++ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); + if (table_buf[iLensData+10] & 0xf0) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); + if (table_buf[iLensData+10] & 0x0f) + imgdata.lens.makernotes.MinAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); + if ( + (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r + (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 +@@ -8148,14 +8148,14 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + if ((table_buf[iLensData+14] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); + } + else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 + (table_buf[iLensData+15] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + { + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); + } + } + free(table_buf); +@@ -8321,7 +8321,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + lid = (((ushort)table_buf[2])<<8) | + ((ushort)table_buf[3]); + imgdata.lens.makernotes.CurAp = +- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); ++ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); + } + break; + case 1536: +@@ -8801,7 +8801,7 @@ void CLASS parse_makernote (int base, int uptag) + } + break; + case 0x1002: +- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); ++ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); + break; + case 0x20100201: + imgdata.lens.makernotes.LensID = +@@ -8821,10 +8821,10 @@ void CLASS parse_makernote (int base, int uptag) + fread(imgdata.lens.makernotes.Lens, len, 1, ifp); + break; + case 0x20100205: +- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100206: +- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100207: + imgdata.lens.makernotes.MinFocal = (float)get2(); +@@ -8835,7 +8835,7 @@ void CLASS parse_makernote (int base, int uptag) + imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; + break; + case 0x2010020a: +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100301: + imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; +@@ -8993,13 +8993,13 @@ void CLASS parse_makernote (int base, int uptag) + { + if (table_buf[iLensData+9] && (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) + imgdata.lens.makernotes.CurFocal = +- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); ++ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); + if (table_buf[iLensData+10] & 0xf0) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); + if (table_buf[iLensData+10] & 0x0f) + imgdata.lens.makernotes.MinAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); + if ( + (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r + (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 +@@ -9020,14 +9020,14 @@ void CLASS parse_makernote (int base, int uptag) + if ((table_buf[iLensData+14] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); + } + else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 + (table_buf[iLensData+15] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + { + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); + } + } + free(table_buf); +@@ -9188,7 +9188,7 @@ void CLASS parse_makernote (int base, int uptag) + lid = (((ushort)table_buf[2])<<8) | + ((ushort)table_buf[3]); + imgdata.lens.makernotes.CurAp = +- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); ++ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); + } + break; + case 1536: +@@ -9273,15 +9273,15 @@ void CLASS parse_makernote (int base, int uptag) + { + unsigned char cc; + fread(&cc,1,1,ifp); +- iso_speed = int(100.0 * powf64(2.0f,float(cc)/12.0-5.0)); ++ iso_speed = int(100.0 * powf_64(2.0f,float(cc)/12.0-5.0)); + } + if (tag == 4 && len > 26 && len < 35) { + if ((i=(get4(),get2())) != 0x7fff && (!iso_speed || iso_speed == 65535)) +- iso_speed = 50 * powf64(2.0, i/32.0 - 4); ++ iso_speed = 50 * powf_64(2.0, i/32.0 - 4); + if ((i=(get2(),get2())) != 0x7fff && !aperture) +- aperture = powf64(2.0, i/64.0); ++ aperture = powf_64(2.0, i/64.0); + if ((i=get2()) != 0xffff && !shutter) +- shutter = powf64(2.0, (short) i/-32.0); ++ shutter = powf_64(2.0, (short) i/-32.0); + wbi = (get2(),get2()); + shot_order = (get2(),get2()); + } +@@ -9732,7 +9732,7 @@ void CLASS parse_exif (int base) + imgdata.lens.Lens[0] = 0; + break; + case 0x9205: +- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); + break; + #endif + case 33434: shutter = getreal(type); break; +@@ -9745,10 +9745,10 @@ void CLASS parse_exif (int base) + case 36867: + case 36868: get_timestamp(0); break; + case 37377: if ((expo = -getreal(type)) < 128 && shutter == 0.) +- shutter = powf64(2.0, expo); break; ++ shutter = powf_64(2.0, expo); break; + case 37378: + if (fabs(ape = getreal(type))<256.0) +- aperture = powf64(2.0, ape/2); ++ aperture = powf_64(2.0, ape/2); + break; + case 37385: flash_used = getreal(type); break; + case 37386: focal_len = getreal(type); break; +@@ -10361,7 +10361,7 @@ int CLASS parse_tiff_ifd (int base) + imgdata.lens.Lens[0] = 0; + break; + case 0x9205: +- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); + break; + // IB end + #endif +@@ -11130,22 +11130,22 @@ void CLASS parse_ciff (int offset, int length, int depth) + thumb_length = len; + } + if (type == 0x1818) { +- shutter = powf64(2.0f, -int_to_float((get4(),get4()))); +- aperture = powf64(2.0f, int_to_float(get4())/2); ++ shutter = powf_64(2.0f, -int_to_float((get4(),get4()))); ++ aperture = powf_64(2.0f, int_to_float(get4())/2); + #ifdef LIBRAW_LIBRARY_BUILD + imgdata.lens.makernotes.CurAp = aperture; + #endif + } + if (type == 0x102a) { + // iso_speed = pow (2.0, (get4(),get2())/32.0 - 4) * 50; +- iso_speed = powf64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; ++ iso_speed = powf_64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; + #ifdef LIBRAW_LIBRARY_BUILD + aperture = _CanonConvertAperture((get2(),get2())); + imgdata.lens.makernotes.CurAp = aperture; + #else +- aperture = powf64(2.0, (get2(),(short)get2())/64.0); ++ aperture = powf_64(2.0, (get2(),(short)get2())/64.0); + #endif +- shutter = powf64(2.0,-((short)get2())/32.0); ++ shutter = powf_64(2.0,-((short)get2())/32.0); + wbi = (get2(),get2()); + if (wbi > 17) wbi = 0; + fseek (ifp, 32, SEEK_CUR); +@@ -11349,8 +11349,8 @@ void CLASS parse_phase_one (int base) + setPhaseOneFeatures(unique_id); + break; + case 0x0401: +- if (type == 4) imgdata.lens.makernotes.CurAp = powf64(2.0f, (int_to_float(data)/2.0f)); +- else imgdata.lens.makernotes.CurAp = powf64(2.0f, (getreal(type)/2.0f)); ++ if (type == 4) imgdata.lens.makernotes.CurAp = powf_64(2.0f, (int_to_float(data)/2.0f)); ++ else imgdata.lens.makernotes.CurAp = powf_64(2.0f, (getreal(type)/2.0f)); + break; + case 0x0403: + if (type == 4) imgdata.lens.makernotes.CurFocal = int_to_float(data); +@@ -11364,16 +11364,16 @@ void CLASS parse_phase_one (int base) + break; + case 0x0414: + if (type == 4) { +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); + } else { +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); + } + break; + case 0x0415: + if (type == 4) { +- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); ++ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); + } else { +- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); + } + break; + case 0x0416: +@@ -13324,15 +13324,15 @@ void CLASS identify() + case 18: iso_speed = 320; break; + case 19: iso_speed = 400; break; + } +- shutter = powf64(2.0f, (((float)get4())/8.0f)) / 16000.0f; ++ shutter = powf_64(2.0f, (((float)get4())/8.0f)) / 16000.0f; + FORC4 cam_mul[c ^ (c >> 1)] = get4(); + fseek (ifp, 88, SEEK_SET); +- aperture = powf64(2.0f, ((float)get4())/16.0f); ++ aperture = powf_64(2.0f, ((float)get4())/16.0f); + fseek (ifp, 112, SEEK_SET); + focal_len = get4(); + #ifdef LIBRAW_LIBRARY_BUILD + fseek (ifp, 104, SEEK_SET); +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, ((float)get4())/16.0f); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, ((float)get4())/16.0f); + fseek (ifp, 124, SEEK_SET); + fread(imgdata.lens.makernotes.Lens, 32, 1, ifp); + imgdata.lens.makernotes.CameraMount = LIBRAW_MOUNT_Contax_N; +diff --git a/Source/LibRawLite/internal/dcraw_common.cpp b/Source/LibRawLite/internal/dcraw_common.cpp +index a936a93..0fc4d81 100644 +--- a/Source/LibRawLite/internal/dcraw_common.cpp ++++ b/Source/LibRawLite/internal/dcraw_common.cpp +@@ -5543,7 +5543,7 @@ static float powf_lim(float a, float b, float limup) + { + return (b>limup || b < -limup)?0.f:powf(a,b); + } +-static float powf64(float a, float b) ++static float powf_64(float a, float b) + { + return powf_lim(a,b,64.f); + } +@@ -5580,7 +5580,7 @@ static float _CanonConvert2EV(short in) + static float _CanonConvertAperture(short in) + { + if (in == (short)0xffe0) return 0.0f; +- else return powf64(2.0f, _CanonConvert2EV(in) / 2.0f); ++ else return powf_64(2.0f, _CanonConvert2EV(in) / 2.0f); + } + + void CLASS setCanonBodyFeatures (unsigned id) +@@ -5862,15 +5862,15 @@ void CLASS processNikonLensData (uchar *LensData, unsigned len) + imgdata.lens.nikon.NikonLensIDNumber = LensData[i]; + imgdata.lens.nikon.NikonLensFStops = LensData[i + 1]; + imgdata.lens.makernotes.LensFStops = (float)imgdata.lens.nikon.NikonLensFStops /12.0f; +- imgdata.lens.makernotes.MinFocal = 5.0f * powf64(2.0f, (float)LensData[i + 2] / 24.0f); +- imgdata.lens.makernotes.MaxFocal = 5.0f * powf64(2.0f, (float)LensData[i + 3] / 24.0f); +- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(2.0f, (float)LensData[i + 4] / 24.0f); +- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(2.0f, (float)LensData[i + 5] / 24.0f); ++ imgdata.lens.makernotes.MinFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 2] / 24.0f); ++ imgdata.lens.makernotes.MaxFocal = 5.0f * powf_64(2.0f, (float)LensData[i + 3] / 24.0f); ++ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(2.0f, (float)LensData[i + 4] / 24.0f); ++ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(2.0f, (float)LensData[i + 5] / 24.0f); + imgdata.lens.nikon.NikonMCUVersion = LensData[i + 6]; + if (i != 2) + { +- imgdata.lens.makernotes.CurFocal = 5.0f * powf64(2.0f, (float)LensData[i - 1] / 24.0f); +- imgdata.lens.nikon.NikonEffectiveMaxAp = powf64(2.0f, (float)LensData[i + 7] / 24.0f); ++ imgdata.lens.makernotes.CurFocal = 5.0f * powf_64(2.0f, (float)LensData[i - 1] / 24.0f); ++ imgdata.lens.nikon.NikonEffectiveMaxAp = powf_64(2.0f, (float)LensData[i + 7] / 24.0f); + } + imgdata.lens.makernotes.LensID = + (unsigned long long) LensData[i] << 56 | +@@ -6379,11 +6379,11 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) + { + if (buf[0]) + imgdata.lens.makernotes.MaxAp = +- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; ++ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[0]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; + + if (buf[1]) + imgdata.lens.makernotes.MinAp = +- my_roundf(powf64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; ++ my_roundf(powf_64(2.0f, ((float)SonySubstitution[buf[1]] / 8.0 - 1.06f) / 2.0f)*10.0f) / 10.0f; + } + + if (imgdata.lens.makernotes.CameraMount != LIBRAW_MOUNT_FixedLens) +@@ -6393,7 +6393,7 @@ void CLASS process_Sony_0x9050 (uchar * buf, unsigned id) + lid = SonySubstitution[buf[0x3d]] << 8 | + SonySubstitution[buf[0x3c]]; + imgdata.lens.makernotes.CurAp = +- powf64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); ++ powf_64(2.0f, ((float)lid/256.0f - 16.0f) / 2.0f); + } + if (buf[0x105] && (imgdata.lens.makernotes.LensMount != LIBRAW_MOUNT_Canon_EF)) + imgdata.lens.makernotes.LensMount = +@@ -6773,7 +6773,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + { + unsigned char cc; + fread(&cc, 1, 1, ifp); +- iso_speed = (int)(100.0 * powf64(2.0, (double)(cc) / 12.0 - 5.0)); ++ iso_speed = (int)(100.0 * powf_64(2.0, (double)(cc) / 12.0 - 5.0)); + break; + } + } +@@ -6805,7 +6805,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + } + break; + case 0x1002: +- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); ++ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); + break; + case 0x20100201: + imgdata.lens.makernotes.LensID = +@@ -6825,10 +6825,10 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + fread(imgdata.lens.makernotes.Lens, len, 1, ifp); + break; + case 0x20100205: +- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100206: +- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100207: + imgdata.lens.makernotes.MinFocal = (float)get2(); +@@ -6839,7 +6839,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; + break; + case 0x2010020a: +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100301: + imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; +@@ -6937,13 +6937,13 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + if (table_buf[iLensData+9] && + (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) + imgdata.lens.makernotes.CurFocal = +- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); ++ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); + if (table_buf[iLensData+10] & 0xf0) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); + if (table_buf[iLensData+10] & 0x0f) + imgdata.lens.makernotes.MinAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); + if ( + (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r + (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 +@@ -6964,14 +6964,14 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + if ((table_buf[iLensData+14] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); + } + else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 + (table_buf[iLensData+15] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + { + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); + } + } + free(table_buf); +@@ -7137,7 +7137,7 @@ void CLASS parse_makernote_0xc634(int base, int uptag, unsigned dng_writer) + lid = (((ushort)table_buf[2])<<8) | + ((ushort)table_buf[3]); + imgdata.lens.makernotes.CurAp = +- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); ++ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); + } + break; + case 1536: +@@ -7617,7 +7617,7 @@ void CLASS parse_makernote (int base, int uptag) + } + break; + case 0x1002: +- imgdata.lens.makernotes.CurAp = powf64(2.0f, getreal(type)/2); ++ imgdata.lens.makernotes.CurAp = powf_64(2.0f, getreal(type)/2); + break; + case 0x20100201: + imgdata.lens.makernotes.LensID = +@@ -7637,10 +7637,10 @@ void CLASS parse_makernote (int base, int uptag) + fread(imgdata.lens.makernotes.Lens, len, 1, ifp); + break; + case 0x20100205: +- imgdata.lens.makernotes.MaxAp4MinFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MinFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100206: +- imgdata.lens.makernotes.MaxAp4MaxFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4MaxFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100207: + imgdata.lens.makernotes.MinFocal = (float)get2(); +@@ -7651,7 +7651,7 @@ void CLASS parse_makernote (int base, int uptag) + imgdata.lens.makernotes.MaxFocal = imgdata.lens.makernotes.MinFocal; + break; + case 0x2010020a: +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(sqrt(2.0f), get2() / 256.0f); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(sqrt(2.0f), get2() / 256.0f); + break; + case 0x20100301: + imgdata.lens.makernotes.TeleconverterID = fgetc(ifp) << 8; +@@ -7809,13 +7809,13 @@ void CLASS parse_makernote (int base, int uptag) + { + if (table_buf[iLensData+9] && (fabs(imgdata.lens.makernotes.CurFocal) < 0.1f)) + imgdata.lens.makernotes.CurFocal = +- 10*(table_buf[iLensData+9]>>2) * powf64(4, (table_buf[iLensData+9] & 0x03)-2); ++ 10*(table_buf[iLensData+9]>>2) * powf_64(4, (table_buf[iLensData+9] & 0x03)-2); + if (table_buf[iLensData+10] & 0xf0) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0xf0) >>4)/4.0f); + if (table_buf[iLensData+10] & 0x0f) + imgdata.lens.makernotes.MinAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+10] & 0x0f) + 10)/4.0f); + if ( + (imgdata.lens.makernotes.CamID != 0x12e6c) && // K-r + (imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 +@@ -7836,14 +7836,14 @@ void CLASS parse_makernote (int base, int uptag) + if ((table_buf[iLensData+14] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+14] & 0x7f) -1)/32.0f); + } + else if ((imgdata.lens.makernotes.CamID != 0x12e76) && // K-5 + (table_buf[iLensData+15] > 1) && + (fabs(imgdata.lens.makernotes.MaxAp4CurFocal) < 0.7f)) + { + imgdata.lens.makernotes.MaxAp4CurFocal = +- powf64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); ++ powf_64(2.0f, (float)((table_buf[iLensData+15] & 0x7f) -1)/32.0f); + } + } + free(table_buf); +@@ -8004,7 +8004,7 @@ void CLASS parse_makernote (int base, int uptag) + lid = (((ushort)table_buf[2])<<8) | + ((ushort)table_buf[3]); + imgdata.lens.makernotes.CurAp = +- powf64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); ++ powf_64(2.0f, ((float)lid/8.0f-1.0f)/2.0f); + } + break; + case 1536: +@@ -8089,15 +8089,15 @@ void CLASS parse_makernote (int base, int uptag) + { + unsigned char cc; + fread(&cc,1,1,ifp); +- iso_speed = int(100.0 * powf64(2.0f,float(cc)/12.0-5.0)); ++ iso_speed = int(100.0 * powf_64(2.0f,float(cc)/12.0-5.0)); + } + if (tag == 4 && len > 26 && len < 35) { + if ((i=(get4(),get2())) != 0x7fff && (!iso_speed || iso_speed == 65535)) +- iso_speed = 50 * powf64(2.0, i/32.0 - 4); ++ iso_speed = 50 * powf_64(2.0, i/32.0 - 4); + if ((i=(get2(),get2())) != 0x7fff && !aperture) +- aperture = powf64(2.0, i/64.0); ++ aperture = powf_64(2.0, i/64.0); + if ((i=get2()) != 0xffff && !shutter) +- shutter = powf64(2.0, (short) i/-32.0); ++ shutter = powf_64(2.0, (short) i/-32.0); + wbi = (get2(),get2()); + shot_order = (get2(),get2()); + } +@@ -8548,7 +8548,7 @@ void CLASS parse_exif (int base) + imgdata.lens.Lens[0] = 0; + break; + case 0x9205: +- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); + break; + #endif + case 33434: shutter = getreal(type); break; +@@ -8561,10 +8561,10 @@ void CLASS parse_exif (int base) + case 36867: + case 36868: get_timestamp(0); break; + case 37377: if ((expo = -getreal(type)) < 128 && shutter == 0.) +- shutter = powf64(2.0, expo); break; ++ shutter = powf_64(2.0, expo); break; + case 37378: + if (fabs(ape = getreal(type))<256.0) +- aperture = powf64(2.0, ape/2); ++ aperture = powf_64(2.0, ape/2); + break; + case 37385: flash_used = getreal(type); break; + case 37386: focal_len = getreal(type); break; +@@ -9171,7 +9171,7 @@ int CLASS parse_tiff_ifd (int base) + imgdata.lens.Lens[0] = 0; + break; + case 0x9205: +- imgdata.lens.EXIF_MaxAp = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.EXIF_MaxAp = powf_64(2.0f, (getreal(type) / 2.0f)); + break; + // IB end + #endif +@@ -9940,22 +9940,22 @@ void CLASS parse_ciff (int offset, int length, int depth) + thumb_length = len; + } + if (type == 0x1818) { +- shutter = powf64(2.0f, -int_to_float((get4(),get4()))); +- aperture = powf64(2.0f, int_to_float(get4())/2); ++ shutter = powf_64(2.0f, -int_to_float((get4(),get4()))); ++ aperture = powf_64(2.0f, int_to_float(get4())/2); + #ifdef LIBRAW_LIBRARY_BUILD + imgdata.lens.makernotes.CurAp = aperture; + #endif + } + if (type == 0x102a) { + // iso_speed = pow (2.0, (get4(),get2())/32.0 - 4) * 50; +- iso_speed = powf64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; ++ iso_speed = powf_64(2.0f, ((get2(),get2()) + get2())/32.0f - 5.0f) * 100.0f; + #ifdef LIBRAW_LIBRARY_BUILD + aperture = _CanonConvertAperture((get2(),get2())); + imgdata.lens.makernotes.CurAp = aperture; + #else +- aperture = powf64(2.0, (get2(),(short)get2())/64.0); ++ aperture = powf_64(2.0, (get2(),(short)get2())/64.0); + #endif +- shutter = powf64(2.0,-((short)get2())/32.0); ++ shutter = powf_64(2.0,-((short)get2())/32.0); + wbi = (get2(),get2()); + if (wbi > 17) wbi = 0; + fseek (ifp, 32, SEEK_CUR); +@@ -10159,8 +10159,8 @@ void CLASS parse_phase_one (int base) + setPhaseOneFeatures(unique_id); + break; + case 0x0401: +- if (type == 4) imgdata.lens.makernotes.CurAp = powf64(2.0f, (int_to_float(data)/2.0f)); +- else imgdata.lens.makernotes.CurAp = powf64(2.0f, (getreal(type)/2.0f)); ++ if (type == 4) imgdata.lens.makernotes.CurAp = powf_64(2.0f, (int_to_float(data)/2.0f)); ++ else imgdata.lens.makernotes.CurAp = powf_64(2.0f, (getreal(type)/2.0f)); + break; + case 0x0403: + if (type == 4) imgdata.lens.makernotes.CurFocal = int_to_float(data); +@@ -10174,16 +10174,16 @@ void CLASS parse_phase_one (int base) + break; + case 0x0414: + if (type == 4) { +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); + } else { +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); + } + break; + case 0x0415: + if (type == 4) { +- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (int_to_float(data)/2.0f)); ++ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (int_to_float(data)/2.0f)); + } else { +- imgdata.lens.makernotes.MinAp4CurFocal = powf64(2.0f, (getreal(type) / 2.0f)); ++ imgdata.lens.makernotes.MinAp4CurFocal = powf_64(2.0f, (getreal(type) / 2.0f)); + } + break; + case 0x0416: +@@ -11996,15 +11996,15 @@ void CLASS identify() + case 18: iso_speed = 320; break; + case 19: iso_speed = 400; break; + } +- shutter = powf64(2.0f, (((float)get4())/8.0f)) / 16000.0f; ++ shutter = powf_64(2.0f, (((float)get4())/8.0f)) / 16000.0f; + FORC4 cam_mul[c ^ (c >> 1)] = get4(); + fseek (ifp, 88, SEEK_SET); +- aperture = powf64(2.0f, ((float)get4())/16.0f); ++ aperture = powf_64(2.0f, ((float)get4())/16.0f); + fseek (ifp, 112, SEEK_SET); + focal_len = get4(); + #ifdef LIBRAW_LIBRARY_BUILD + fseek (ifp, 104, SEEK_SET); +- imgdata.lens.makernotes.MaxAp4CurFocal = powf64(2.0f, ((float)get4())/16.0f); ++ imgdata.lens.makernotes.MaxAp4CurFocal = powf_64(2.0f, ((float)get4())/16.0f); + fseek (ifp, 124, SEEK_SET); + fread(imgdata.lens.makernotes.Lens, 32, 1, ifp); + imgdata.lens.makernotes.CameraMount = LIBRAW_MOUNT_Contax_N; +-- +2.14.1 + diff --git a/bsp/buildroot/package/libfreeimage/Config.in b/bsp/buildroot/package/libfreeimage/Config.in index 4b462cb6..9bffd035 100644 --- a/bsp/buildroot/package/libfreeimage/Config.in +++ b/bsp/buildroot/package/libfreeimage/Config.in @@ -5,8 +5,6 @@ config BR2_PACKAGE_LIBFREEIMAGE depends on BR2_USE_WCHAR # compiler issue: "Error: invalid register number `63'" depends on !BR2_arc - # Numerous build issues - depends on !BR2_bfin help FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, @@ -17,5 +15,4 @@ config BR2_PACKAGE_LIBFREEIMAGE comment "libfreeimage needs a toolchain w/ C++, dynamic library, wchar" depends on !BR2_arc - depends on !BR2_bfin depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/libfreeimage/libfreeimage.hash b/bsp/buildroot/package/libfreeimage/libfreeimage.hash index 4e69508b..eded0297 100644 --- a/bsp/buildroot/package/libfreeimage/libfreeimage.hash +++ b/bsp/buildroot/package/libfreeimage/libfreeimage.hash @@ -1,2 +1,5 @@ # Locally computed sha256 fbfc65e39b3d4e2cb108c4ffa8c41fd02c07d4d436c594fff8dab1a6d5297f89 FreeImage3170.zip +sha256 d51615a1a47f1ddbb027920d60d3fc30a00e1284c795a47857883e641349fadf license-gplv2.txt +sha256 084be110e3e8757d8e6945cda1fbc7e5073bbe688dc19b92c0d8440155d8e282 license-gplv3.txt +sha256 0bb9a3123297c73ae6e19c70459fb0e58f313f67ca63176fd43f8e77668b8243 license-fi.txt diff --git a/bsp/buildroot/package/libfreeimage/libfreeimage.mk b/bsp/buildroot/package/libfreeimage/libfreeimage.mk index 0ca23933..e0aa1f0a 100644 --- a/bsp/buildroot/package/libfreeimage/libfreeimage.mk +++ b/bsp/buildroot/package/libfreeimage/libfreeimage.mk @@ -12,7 +12,7 @@ LIBFREEIMAGE_LICENSE_FILES = license-gplv2.txt license-gplv3.txt license-fi.txt LIBFREEIMAGE_INSTALL_STAGING = YES define LIBFREEIMAGE_EXTRACT_CMDS - $(UNZIP) $(DL_DIR)/$(LIBFREEIMAGE_SOURCE) -d $(@D) + $(UNZIP) $(LIBFREEIMAGE_DL_DIR)/$(LIBFREEIMAGE_SOURCE) -d $(@D) mv $(@D)/FreeImage/* $(@D) rmdir $(@D)/FreeImage endef diff --git a/bsp/buildroot/package/libftdi/Config.in b/bsp/buildroot/package/libftdi/Config.in index beb42d34..23dae1be 100644 --- a/bsp/buildroot/package/libftdi/Config.in +++ b/bsp/buildroot/package/libftdi/Config.in @@ -10,7 +10,7 @@ config BR2_PACKAGE_LIBFTDI if BR2_PACKAGE_LIBFTDI -config BR2_PACKAGE_LIBTFDI_CPP +config BR2_PACKAGE_LIBFTDI_CPP bool "C++ bindings" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR diff --git a/bsp/buildroot/package/libftdi/libftdi.mk b/bsp/buildroot/package/libftdi/libftdi.mk index c1952ac6..cdd77c2e 100644 --- a/bsp/buildroot/package/libftdi/libftdi.mk +++ b/bsp/buildroot/package/libftdi/libftdi.mk @@ -15,7 +15,7 @@ LIBFTDI_AUTORECONF = YES LIBFTDI_CONF_OPTS = --without-examples # configure detect it automaticaly so we need to force it -ifeq ($(BR2_PACKAGE_LIBTFDI_CPP),y) +ifeq ($(BR2_PACKAGE_LIBFTDI_CPP),y) LIBFTDI_DEPENDENCIES += boost LIBFTDI_CONF_OPTS += --enable-libftdipp else diff --git a/bsp/buildroot/package/libftdi1/0004-cmake-find-swig.patch b/bsp/buildroot/package/libftdi1/0004-cmake-find-swig.patch new file mode 100644 index 00000000..cf787a68 --- /dev/null +++ b/bsp/buildroot/package/libftdi1/0004-cmake-find-swig.patch @@ -0,0 +1,29 @@ +From fcda9c6a208d3a7fe651ef661b2eb6e462a89c17 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 31 Jul 2018 17:44:57 -0300 +Subject: [PATCH] CMake: use find_package (SWIG) for cmake >= 3.0.0 + +There's a workaround for a bug (fixed in cmake 3.0.0) that does not +work in CMake 3.12. Only use the workaround with cmake < 3.0.0. + +Signed-off-by: Eneas U de Queiroz +[Mark: patch retrieved and updated from +http://developer.intra2net.com/git/?p=libftdi;a=commit;h=fcda9c6a208d3a7fe651ef661b2eb6e462a89c17] +Signed-off-by: Mark Corbin +[Update patch to make it work with cmake < 3.7: +http://developer.intra2net.com/mailarchive/html/libftdi/2019/msg00009.html] +Signed-off-by: Fabrice Fontaine +--- +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 31ef1c6..eefc344 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -3,7 +3,7 @@ option ( LINK_PYTHON_LIBRARY "Link against python libraries" ON ) + + if ( PYTHON_BINDINGS ) + # workaround for cmake bug #0013449 +- if ( NOT DEFINED CMAKE_FIND_ROOT_PATH ) ++ if ( NOT DEFINED CMAKE_FIND_ROOT_PATH OR NOT CMAKE_VERSION VERSION_LESS 3.0.0 ) + find_package ( SWIG ) + else () + find_program ( SWIG_EXECUTABLE NAMES swig2.0 swig ) diff --git a/bsp/buildroot/package/libftdi1/libftdi1.hash b/bsp/buildroot/package/libftdi1/libftdi1.hash index 40512a7f..f17543fa 100644 --- a/bsp/buildroot/package/libftdi1/libftdi1.hash +++ b/bsp/buildroot/package/libftdi1/libftdi1.hash @@ -1,3 +1,8 @@ # Locally computed after checking the signature # https://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.4.tar.bz2.sig sha256 ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681cb31b74 libftdi1-1.4.tar.bz2 + +# Hash for license files: +sha256 524f46428bf72bb8c6acfeca4909551fd2e0bdbb5305406d38382f4056095c56 LICENSE +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING.GPL +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING.LIB diff --git a/bsp/buildroot/package/libg7221/libg7221.hash b/bsp/buildroot/package/libg7221/libg7221.hash index d1472a6c..09023f95 100644 --- a/bsp/buildroot/package/libg7221/libg7221.hash +++ b/bsp/buildroot/package/libg7221/libg7221.hash @@ -1,2 +1,3 @@ # Locally computed sha256 330dafa58d37a585a866167bc33f8fbe06dbcfc9a69cad43fab0b6702ebf2393 libg7221-dbfc29d4806ecdace50379a2f4d68a992a6fec34.tar.gz +sha256 26cc5f718279b45dbe34e25a2d29b2c8ca487bd9ab11b2d68c9318ff59d5c645 COPYING diff --git a/bsp/buildroot/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch b/bsp/buildroot/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch deleted file mode 100644 index 95db0fbb..00000000 --- a/bsp/buildroot/package/libgcrypt/0001-ac_cv_sys_symbol_underscore.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/acinclude.m4 b/acinclude.m4 -index a7bc0fa..1a5bffc 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -76,13 +76,14 @@ case "${host}" in - i386-emx-os2 | i[3456]86-pc-os2*emx | i386-pc-msdosdjgpp) - ac_cv_sys_symbol_underscore=yes - ;; -- *) -- if test "$cross_compiling" = yes; then -- if test "x$ac_cv_sys_symbol_underscore" = x ; then -- ac_cv_sys_symbol_underscore=yes -- fi -- else -- tmp_do_check="yes" -+ *) if test -z "$ac_cv_sys_symbol_underscore"; then -+ if test "$cross_compiling" = yes; then -+ if test "x$ac_cv_sys_symbol_underscore" = x ; then -+ ac_cv_sys_symbol_underscore=yes -+ fi -+ else -+ tmp_do_check="yes" -+ fi - fi - ;; - esac - diff --git a/bsp/buildroot/package/libgcrypt/0002-reconfigure.patch b/bsp/buildroot/package/libgcrypt/0001-reconfigure.patch similarity index 100% rename from bsp/buildroot/package/libgcrypt/0002-reconfigure.patch rename to bsp/buildroot/package/libgcrypt/0001-reconfigure.patch diff --git a/bsp/buildroot/package/libgcrypt/libgcrypt.hash b/bsp/buildroot/package/libgcrypt/libgcrypt.hash index dce65229..000f26dd 100644 --- a/bsp/buildroot/package/libgcrypt/libgcrypt.hash +++ b/bsp/buildroot/package/libgcrypt/libgcrypt.hash @@ -1,6 +1,7 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000426.html -sha1 13bd2ce69e59ab538e959911dfae80ea309636e3 libgcrypt-1.8.3.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000431.html +sha1 4a8ef9db6922f3a31992aca5640b4198a69b58fc libgcrypt-1.8.4.tar.bz2 # Locally calculated after checking signature -# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.3.tar.bz2.sig -sha256 66ec90be036747602f2b48f98312361a9180c97c68a690a5f376fa0f67d0af7c libgcrypt-1.8.3.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 f638143a0672628fde0cad745e9b14deb85dffb175709cacc1f4fe24b93f2227 libgcrypt-1.8.4.tar.bz2 sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/bsp/buildroot/package/libgcrypt/libgcrypt.mk b/bsp/buildroot/package/libgcrypt/libgcrypt.mk index f25944da..452cf17c 100644 --- a/bsp/buildroot/package/libgcrypt/libgcrypt.mk +++ b/bsp/buildroot/package/libgcrypt/libgcrypt.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGCRYPT_VERSION = 1.8.3 +LIBGCRYPT_VERSION = 1.8.4 LIBGCRYPT_SOURCE = libgcrypt-$(LIBGCRYPT_VERSION).tar.bz2 LIBGCRYPT_LICENSE = LGPL-2.1+ LIBGCRYPT_LICENSE_FILES = COPYING.LIB diff --git a/bsp/buildroot/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch b/bsp/buildroot/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch new file mode 100644 index 00000000..02efc972 --- /dev/null +++ b/bsp/buildroot/package/libgdiplus/0001-Embed-the-license-texts-in-LICENSE-like-on-Mono-repo.patch @@ -0,0 +1,1863 @@ +From 850660e11ab302961aaf5ef336ed02451ade9f5b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= +Date: Thu, 21 Sep 2017 12:50:21 +0200 +Subject: [PATCH] Embed the license texts in LICENSE like on Mono repo + +Remove the MPL-1.1.html file. + +Upstream: ad0fb6f0a5e3e11f7e474456d53cc660f7808aed +Signed-off-by: Thomas Petazzoni +--- + LICENSE | 980 +++++++++++++++++++++++++++++++++++++++++++++++++++ + MPL-1.1.html | 840 ------------------------------------------- + Makefile.am | 2 +- + 3 files changed, 981 insertions(+), 841 deletions(-) + delete mode 100644 MPL-1.1.html + +diff --git a/LICENSE b/LICENSE +index f5b62b7..b3164bb 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -2,3 +2,983 @@ Libgdiplus is licensed under the terms of the GNU Library GPL or the + Mozilla Public License 1.1. + + ++The Licenses ++============ ++ ++### GNU Library GPL ++ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ Version 2.1, February 1999 ++ ++ Copyright (C) 1991, 1999 Free Software Foundation, Inc. ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++[This is the first released version of the Lesser GPL. It also counts ++ as the successor of the GNU Library Public License, version 2, hence ++ the version number 2.1.] ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++Licenses are intended to guarantee your freedom to share and change ++free software--to make sure the software is free for all its users. ++ ++ This license, the Lesser General Public License, applies to some ++specially designated software packages--typically libraries--of the ++Free Software Foundation and other authors who decide to use it. You ++can use it too, but we suggest you first think carefully about whether ++this license or the ordinary General Public License is the better ++strategy to use in any particular case, based on the explanations below. ++ ++ When we speak of free software, we are referring to freedom of use, ++not price. Our General Public Licenses are designed to make sure that ++you have the freedom to distribute copies of free software (and charge ++for this service if you wish); that you receive source code or can get ++it if you want it; that you can change the software and use pieces of ++it in new free programs; and that you are informed that you can do ++these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++distributors to deny you these rights or to ask you to surrender these ++rights. These restrictions translate to certain responsibilities for ++you if you distribute copies of the library or if you modify it. ++ ++ For example, if you distribute copies of the library, whether gratis ++or for a fee, you must give the recipients all the rights that we gave ++you. You must make sure that they, too, receive or can get the source ++code. If you link other code with the library, you must provide ++complete object files to the recipients, so that they can relink them ++with the library after making changes to the library and recompiling ++it. And you must show them these terms so they know their rights. ++ ++ We protect your rights with a two-step method: (1) we copyright the ++library, and (2) we offer you this license, which gives you legal ++permission to copy, distribute and/or modify the library. ++ ++ To protect each distributor, we want to make it very clear that ++there is no warranty for the free library. Also, if the library is ++modified by someone else and passed on, the recipients should know ++that what they have is not the original version, so that the original ++author's reputation will not be affected by problems that might be ++introduced by others. ++ ++ Finally, software patents pose a constant threat to the existence of ++any free program. We wish to make sure that a company cannot ++effectively restrict the users of a free program by obtaining a ++restrictive license from a patent holder. Therefore, we insist that ++any patent license obtained for a version of the library must be ++consistent with the full freedom of use specified in this license. ++ ++ Most GNU software, including some libraries, is covered by the ++ordinary GNU General Public License. This license, the GNU Lesser ++General Public License, applies to certain designated libraries, and ++is quite different from the ordinary General Public License. We use ++this license for certain libraries in order to permit linking those ++libraries into non-free programs. ++ ++ When a program is linked with a library, whether statically or using ++a shared library, the combination of the two is legally speaking a ++combined work, a derivative of the original library. The ordinary ++General Public License therefore permits such linking only if the ++entire combination fits its criteria of freedom. The Lesser General ++Public License permits more lax criteria for linking other code with ++the library. ++ ++ We call this license the "Lesser" General Public License because it ++does Less to protect the user's freedom than the ordinary General ++Public License. It also provides other free software developers Less ++of an advantage over competing non-free programs. These disadvantages ++are the reason we use the ordinary General Public License for many ++libraries. However, the Lesser license provides advantages in certain ++special circumstances. ++ ++ For example, on rare occasions, there may be a special need to ++encourage the widest possible use of a certain library, so that it becomes ++a de-facto standard. To achieve this, non-free programs must be ++allowed to use the library. A more frequent case is that a free ++library does the same job as widely used non-free libraries. In this ++case, there is little to gain by limiting the free library to free ++software only, so we use the Lesser General Public License. ++ ++ In other cases, permission to use a particular library in non-free ++programs enables a greater number of people to use a large body of ++free software. For example, permission to use the GNU C Library in ++non-free programs enables many more people to use the whole GNU ++operating system, as well as its variant, the GNU/Linux operating ++system. ++ ++ Although the Lesser General Public License is Less protective of the ++users' freedom, it does ensure that the user of a program that is ++linked with the Library has the freedom and the wherewithal to run ++that program using a modified version of the Library. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. Pay close attention to the difference between a ++"work based on the library" and a "work that uses the library". The ++former contains code derived from the library, whereas the latter must ++be combined with the library in order to run. ++ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License Agreement applies to any software library or other ++program which contains a notice placed by the copyright holder or ++other authorized party saying it may be distributed under the terms of ++this Lesser General Public License (also called "this License"). ++Each licensee is addressed as "you". ++ ++ A "library" means a collection of software functions and/or data ++prepared so as to be conveniently linked with application programs ++(which use some of those functions and data) to form executables. ++ ++ The "Library", below, refers to any such software library or work ++which has been distributed under these terms. A "work based on the ++Library" means either the Library or any derivative work under ++copyright law: that is to say, a work containing the Library or a ++portion of it, either verbatim or with modifications and/or translated ++straightforwardly into another language. (Hereinafter, translation is ++included without limitation in the term "modification".) ++ ++ "Source code" for a work means the preferred form of the work for ++making modifications to it. For a library, complete source code means ++all the source code for all modules it contains, plus any associated ++interface definition files, plus the scripts used to control compilation ++and installation of the library. ++ ++ Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running a program using the Library is not restricted, and output from ++such a program is covered only if its contents constitute a work based ++on the Library (independent of the use of the Library in a tool for ++writing it). Whether that is true depends on what the Library does ++and what the program that uses the Library does. ++ ++ 1. You may copy and distribute verbatim copies of the Library's ++complete source code as you receive it, in any medium, provided that ++you conspicuously and appropriately publish on each copy an ++appropriate copyright notice and disclaimer of warranty; keep intact ++all the notices that refer to this License and to the absence of any ++warranty; and distribute a copy of this License along with the ++Library. ++ ++ You may charge a fee for the physical act of transferring a copy, ++and you may at your option offer warranty protection in exchange for a ++fee. ++ ++ 2. You may modify your copy or copies of the Library or any portion ++of it, thus forming a work based on the Library, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) The modified work must itself be a software library. ++ ++ b) You must cause the files modified to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ c) You must cause the whole of the work to be licensed at no ++ charge to all third parties under the terms of this License. ++ ++ d) If a facility in the modified Library refers to a function or a ++ table of data to be supplied by an application program that uses ++ the facility, other than as an argument passed when the facility ++ is invoked, then you must make a good faith effort to ensure that, ++ in the event an application does not supply such function or ++ table, the facility still operates, and performs whatever part of ++ its purpose remains meaningful. ++ ++ (For example, a function in a library to compute square roots has ++ a purpose that is entirely well-defined independent of the ++ application. Therefore, Subsection 2d requires that any ++ application-supplied function or table used by this function must ++ be optional: if the application does not supply it, the square ++ root function must still compute square roots.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Library, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Library, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote ++it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Library. ++ ++In addition, mere aggregation of another work not based on the Library ++with the Library (or with a work based on the Library) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may opt to apply the terms of the ordinary GNU General Public ++License instead of this License to a given copy of the Library. To do ++this, you must alter all the notices that refer to this License, so ++that they refer to the ordinary GNU General Public License, version 2, ++instead of to this License. (If a newer version than version 2 of the ++ordinary GNU General Public License has appeared, then you can specify ++that version instead if you wish.) Do not make any other change in ++these notices. ++ ++ Once this change is made in a given copy, it is irreversible for ++that copy, so the ordinary GNU General Public License applies to all ++subsequent copies and derivative works made from that copy. ++ ++ This option is useful when you wish to copy part of the code of ++the Library into a program that is not a library. ++ ++ 4. You may copy and distribute the Library (or a portion or ++derivative of it, under Section 2) in object code or executable form ++under the terms of Sections 1 and 2 above provided that you accompany ++it with the complete corresponding machine-readable source code, which ++must be distributed under the terms of Sections 1 and 2 above on a ++medium customarily used for software interchange. ++ ++ If distribution of object code is made by offering access to copy ++from a designated place, then offering equivalent access to copy the ++source code from the same place satisfies the requirement to ++distribute the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 5. A program that contains no derivative of any portion of the ++Library, but is designed to work with the Library by being compiled or ++linked with it, is called a "work that uses the Library". Such a ++work, in isolation, is not a derivative work of the Library, and ++therefore falls outside the scope of this License. ++ ++ However, linking a "work that uses the Library" with the Library ++creates an executable that is a derivative of the Library (because it ++contains portions of the Library), rather than a "work that uses the ++library". The executable is therefore covered by this License. ++Section 6 states terms for distribution of such executables. ++ ++ When a "work that uses the Library" uses material from a header file ++that is part of the Library, the object code for the work may be a ++derivative work of the Library even though the source code is not. ++Whether this is true is especially significant if the work can be ++linked without the Library, or if the work is itself a library. The ++threshold for this to be true is not precisely defined by law. ++ ++ If such an object file uses only numerical parameters, data ++structure layouts and accessors, and small macros and small inline ++functions (ten lines or less in length), then the use of the object ++file is unrestricted, regardless of whether it is legally a derivative ++work. (Executables containing this object code plus portions of the ++Library will still fall under Section 6.) ++ ++ Otherwise, if the work is a derivative of the Library, you may ++distribute the object code for the work under the terms of Section 6. ++Any executables containing that work also fall under Section 6, ++whether or not they are linked directly with the Library itself. ++ ++ 6. As an exception to the Sections above, you may also combine or ++link a "work that uses the Library" with the Library to produce a ++work containing portions of the Library, and distribute that work ++under terms of your choice, provided that the terms permit ++modification of the work for the customer's own use and reverse ++engineering for debugging such modifications. ++ ++ You must give prominent notice with each copy of the work that the ++Library is used in it and that the Library and its use are covered by ++this License. You must supply a copy of this License. If the work ++during execution displays copyright notices, you must include the ++copyright notice for the Library among them, as well as a reference ++directing the user to the copy of this License. Also, you must do one ++of these things: ++ ++ a) Accompany the work with the complete corresponding ++ machine-readable source code for the Library including whatever ++ changes were used in the work (which must be distributed under ++ Sections 1 and 2 above); and, if the work is an executable linked ++ with the Library, with the complete machine-readable "work that ++ uses the Library", as object code and/or source code, so that the ++ user can modify the Library and then relink to produce a modified ++ executable containing the modified Library. (It is understood ++ that the user who changes the contents of definitions files in the ++ Library will not necessarily be able to recompile the application ++ to use the modified definitions.) ++ ++ b) Use a suitable shared library mechanism for linking with the ++ Library. A suitable mechanism is one that (1) uses at run time a ++ copy of the library already present on the user's computer system, ++ rather than copying library functions into the executable, and (2) ++ will operate properly with a modified version of the library, if ++ the user installs one, as long as the modified version is ++ interface-compatible with the version that the work was made with. ++ ++ c) Accompany the work with a written offer, valid for at ++ least three years, to give the same user the materials ++ specified in Subsection 6a, above, for a charge no more ++ than the cost of performing this distribution. ++ ++ d) If distribution of the work is made by offering access to copy ++ from a designated place, offer equivalent access to copy the above ++ specified materials from the same place. ++ ++ e) Verify that the user has already received a copy of these ++ materials or that you have already sent this user a copy. ++ ++ For an executable, the required form of the "work that uses the ++Library" must include any data and utility programs needed for ++reproducing the executable from it. However, as a special exception, ++the materials to be distributed need not include anything that is ++normally distributed (in either source or binary form) with the major ++components (compiler, kernel, and so on) of the operating system on ++which the executable runs, unless that component itself accompanies ++the executable. ++ ++ It may happen that this requirement contradicts the license ++restrictions of other proprietary libraries that do not normally ++accompany the operating system. Such a contradiction means you cannot ++use both them and the Library together in an executable that you ++distribute. ++ ++ 7. You may place library facilities that are a work based on the ++Library side-by-side in a single library together with other library ++facilities not covered by this License, and distribute such a combined ++library, provided that the separate distribution of the work based on ++the Library and of the other library facilities is otherwise ++permitted, and provided that you do these two things: ++ ++ a) Accompany the combined library with a copy of the same work ++ based on the Library, uncombined with any other library ++ facilities. This must be distributed under the terms of the ++ Sections above. ++ ++ b) Give prominent notice with the combined library of the fact ++ that part of it is a work based on the Library, and explaining ++ where to find the accompanying uncombined form of the same work. ++ ++ 8. You may not copy, modify, sublicense, link with, or distribute ++the Library except as expressly provided under this License. Any ++attempt otherwise to copy, modify, sublicense, link with, or ++distribute the Library is void, and will automatically terminate your ++rights under this License. However, parties who have received copies, ++or rights, from you under this License will not have their licenses ++terminated so long as such parties remain in full compliance. ++ ++ 9. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Library or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Library (or any work based on the ++Library), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Library or works based on it. ++ ++ 10. Each time you redistribute the Library (or any work based on the ++Library), the recipient automatically receives a license from the ++original licensor to copy, distribute, link with or modify the Library ++subject to these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties with ++this License. ++ ++ 11. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Library at all. For example, if a patent ++license would not permit royalty-free redistribution of the Library by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Library. ++ ++If any portion of this section is held invalid or unenforceable under any ++particular circumstance, the balance of the section is intended to apply, ++and the section as a whole is intended to apply in other circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 12. If the distribution and/or use of the Library is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Library under this License may add ++an explicit geographical distribution limitation excluding those countries, ++so that distribution is permitted only in or among countries not thus ++excluded. In such case, this License incorporates the limitation as if ++written in the body of this License. ++ ++ 13. The Free Software Foundation may publish revised and/or new ++versions of the Lesser General Public License from time to time. ++Such new versions will be similar in spirit to the present version, ++but may differ in detail to address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Library ++specifies a version number of this License which applies to it and ++"any later version", you have the option of following the terms and ++conditions either of that version or of any later version published by ++the Free Software Foundation. If the Library does not specify a ++license version number, you may choose any version ever published by ++the Free Software Foundation. ++ ++ 14. If you wish to incorporate parts of the Library into other free ++programs whose distribution conditions are incompatible with these, ++write to the author to ask for permission. For software which is ++copyrighted by the Free Software Foundation, write to the Free ++Software Foundation; we sometimes make exceptions for this. Our ++decision will be guided by the two goals of preserving the free status ++of all derivatives of our free software and of promoting the sharing ++and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO ++WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ++EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR ++OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY ++KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE ++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ++LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME ++THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN ++WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY ++AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU ++FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR ++CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE ++LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING ++RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A ++FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF ++SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH ++DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Libraries ++ ++ If you develop a new library, and you want it to be of the greatest ++possible use to the public, we recommend making it free software that ++everyone can redistribute and change. You can do so by permitting ++redistribution under these terms (or, alternatively, under the terms of the ++ordinary General Public License). ++ ++ To apply these terms, attach the following notices to the library. It is ++safest to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least the ++"copyright" line and a pointer to where the full notice is found. ++ ++ ++ Copyright (C) ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the library, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the ++ library `Frob' (a library for tweaking knobs) written by James Random Hacker. ++ ++ , 1 April 1990 ++ Ty Coon, President of Vice ++ ++That's all there is to it! ++ ++ ++### Mozilla Public License 1.1 ++ ++ MOZILLA PUBLIC LICENSE ++ Version 1.1 ++ ++ --------------- ++ ++1. Definitions. ++ ++ 1.0.1. "Commercial Use" means distribution or otherwise making the ++ Covered Code available to a third party. ++ ++ 1.1. "Contributor" means each entity that creates or contributes to ++ the creation of Modifications. ++ ++ 1.2. "Contributor Version" means the combination of the Original ++ Code, prior Modifications used by a Contributor, and the Modifications ++ made by that particular Contributor. ++ ++ 1.3. "Covered Code" means the Original Code or Modifications or the ++ combination of the Original Code and Modifications, in each case ++ including portions thereof. ++ ++ 1.4. "Electronic Distribution Mechanism" means a mechanism generally ++ accepted in the software development community for the electronic ++ transfer of data. ++ ++ 1.5. "Executable" means Covered Code in any form other than Source ++ Code. ++ ++ 1.6. "Initial Developer" means the individual or entity identified ++ as the Initial Developer in the Source Code notice required by Exhibit ++ A. ++ ++ 1.7. "Larger Work" means a work which combines Covered Code or ++ portions thereof with code not governed by the terms of this License. ++ ++ 1.8. "License" means this document. ++ ++ 1.8.1. "Licensable" means having the right to grant, to the maximum ++ extent possible, whether at the time of the initial grant or ++ subsequently acquired, any and all of the rights conveyed herein. ++ ++ 1.9. "Modifications" means any addition to or deletion from the ++ substance or structure of either the Original Code or any previous ++ Modifications. When Covered Code is released as a series of files, a ++ Modification is: ++ A. Any addition to or deletion from the contents of a file ++ containing Original Code or previous Modifications. ++ ++ B. Any new file that contains any part of the Original Code or ++ previous Modifications. ++ ++ 1.10. "Original Code" means Source Code of computer software code ++ which is described in the Source Code notice required by Exhibit A as ++ Original Code, and which, at the time of its release under this ++ License is not already Covered Code governed by this License. ++ ++ 1.10.1. "Patent Claims" means any patent claim(s), now owned or ++ hereafter acquired, including without limitation, method, process, ++ and apparatus claims, in any patent Licensable by grantor. ++ ++ 1.11. "Source Code" means the preferred form of the Covered Code for ++ making modifications to it, including all modules it contains, plus ++ any associated interface definition files, scripts used to control ++ compilation and installation of an Executable, or source code ++ differential comparisons against either the Original Code or another ++ well known, available Covered Code of the Contributor's choice. The ++ Source Code can be in a compressed or archival form, provided the ++ appropriate decompression or de-archiving software is widely available ++ for no charge. ++ ++ 1.12. "You" (or "Your") means an individual or a legal entity ++ exercising rights under, and complying with all of the terms of, this ++ License or a future version of this License issued under Section 6.1. ++ For legal entities, "You" includes any entity which controls, is ++ controlled by, or is under common control with You. For purposes of ++ this definition, "control" means (a) the power, direct or indirect, ++ to cause the direction or management of such entity, whether by ++ contract or otherwise, or (b) ownership of more than fifty percent ++ (50%) of the outstanding shares or beneficial ownership of such ++ entity. ++ ++2. Source Code License. ++ ++ 2.1. The Initial Developer Grant. ++ The Initial Developer hereby grants You a world-wide, royalty-free, ++ non-exclusive license, subject to third party intellectual property ++ claims: ++ (a) under intellectual property rights (other than patent or ++ trademark) Licensable by Initial Developer to use, reproduce, ++ modify, display, perform, sublicense and distribute the Original ++ Code (or portions thereof) with or without Modifications, and/or ++ as part of a Larger Work; and ++ ++ (b) under Patents Claims infringed by the making, using or ++ selling of Original Code, to make, have made, use, practice, ++ sell, and offer for sale, and/or otherwise dispose of the ++ Original Code (or portions thereof). ++ ++ (c) the licenses granted in this Section 2.1(a) and (b) are ++ effective on the date Initial Developer first distributes ++ Original Code under the terms of this License. ++ ++ (d) Notwithstanding Section 2.1(b) above, no patent license is ++ granted: 1) for code that You delete from the Original Code; 2) ++ separate from the Original Code; or 3) for infringements caused ++ by: i) the modification of the Original Code or ii) the ++ combination of the Original Code with other software or devices. ++ ++ 2.2. Contributor Grant. ++ Subject to third party intellectual property claims, each Contributor ++ hereby grants You a world-wide, royalty-free, non-exclusive license ++ ++ (a) under intellectual property rights (other than patent or ++ trademark) Licensable by Contributor, to use, reproduce, modify, ++ display, perform, sublicense and distribute the Modifications ++ created by such Contributor (or portions thereof) either on an ++ unmodified basis, with other Modifications, as Covered Code ++ and/or as part of a Larger Work; and ++ ++ (b) under Patent Claims infringed by the making, using, or ++ selling of Modifications made by that Contributor either alone ++ and/or in combination with its Contributor Version (or portions ++ of such combination), to make, use, sell, offer for sale, have ++ made, and/or otherwise dispose of: 1) Modifications made by that ++ Contributor (or portions thereof); and 2) the combination of ++ Modifications made by that Contributor with its Contributor ++ Version (or portions of such combination). ++ ++ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are ++ effective on the date Contributor first makes Commercial Use of ++ the Covered Code. ++ ++ (d) Notwithstanding Section 2.2(b) above, no patent license is ++ granted: 1) for any code that Contributor has deleted from the ++ Contributor Version; 2) separate from the Contributor Version; ++ 3) for infringements caused by: i) third party modifications of ++ Contributor Version or ii) the combination of Modifications made ++ by that Contributor with other software (except as part of the ++ Contributor Version) or other devices; or 4) under Patent Claims ++ infringed by Covered Code in the absence of Modifications made by ++ that Contributor. ++ ++3. Distribution Obligations. ++ ++ 3.1. Application of License. ++ The Modifications which You create or to which You contribute are ++ governed by the terms of this License, including without limitation ++ Section 2.2. The Source Code version of Covered Code may be ++ distributed only under the terms of this License or a future version ++ of this License released under Section 6.1, and You must include a ++ copy of this License with every copy of the Source Code You ++ distribute. You may not offer or impose any terms on any Source Code ++ version that alters or restricts the applicable version of this ++ License or the recipients' rights hereunder. However, You may include ++ an additional document offering the additional rights described in ++ Section 3.5. ++ ++ 3.2. Availability of Source Code. ++ Any Modification which You create or to which You contribute must be ++ made available in Source Code form under the terms of this License ++ either on the same media as an Executable version or via an accepted ++ Electronic Distribution Mechanism to anyone to whom you made an ++ Executable version available; and if made available via Electronic ++ Distribution Mechanism, must remain available for at least twelve (12) ++ months after the date it initially became available, or at least six ++ (6) months after a subsequent version of that particular Modification ++ has been made available to such recipients. You are responsible for ++ ensuring that the Source Code version remains available even if the ++ Electronic Distribution Mechanism is maintained by a third party. ++ ++ 3.3. Description of Modifications. ++ You must cause all Covered Code to which You contribute to contain a ++ file documenting the changes You made to create that Covered Code and ++ the date of any change. You must include a prominent statement that ++ the Modification is derived, directly or indirectly, from Original ++ Code provided by the Initial Developer and including the name of the ++ Initial Developer in (a) the Source Code, and (b) in any notice in an ++ Executable version or related documentation in which You describe the ++ origin or ownership of the Covered Code. ++ ++ 3.4. Intellectual Property Matters ++ (a) Third Party Claims. ++ If Contributor has knowledge that a license under a third party's ++ intellectual property rights is required to exercise the rights ++ granted by such Contributor under Sections 2.1 or 2.2, ++ Contributor must include a text file with the Source Code ++ distribution titled "LEGAL" which describes the claim and the ++ party making the claim in sufficient detail that a recipient will ++ know whom to contact. If Contributor obtains such knowledge after ++ the Modification is made available as described in Section 3.2, ++ Contributor shall promptly modify the LEGAL file in all copies ++ Contributor makes available thereafter and shall take other steps ++ (such as notifying appropriate mailing lists or newsgroups) ++ reasonably calculated to inform those who received the Covered ++ Code that new knowledge has been obtained. ++ ++ (b) Contributor APIs. ++ If Contributor's Modifications include an application programming ++ interface and Contributor has knowledge of patent licenses which ++ are reasonably necessary to implement that API, Contributor must ++ also include this information in the LEGAL file. ++ ++ (c) Representations. ++ Contributor represents that, except as disclosed pursuant to ++ Section 3.4(a) above, Contributor believes that Contributor's ++ Modifications are Contributor's original creation(s) and/or ++ Contributor has sufficient rights to grant the rights conveyed by ++ this License. ++ ++ 3.5. Required Notices. ++ You must duplicate the notice in Exhibit A in each file of the Source ++ Code. If it is not possible to put such notice in a particular Source ++ Code file due to its structure, then You must include such notice in a ++ location (such as a relevant directory) where a user would be likely ++ to look for such a notice. If You created one or more Modification(s) ++ You may add your name as a Contributor to the notice described in ++ Exhibit A. You must also duplicate this License in any documentation ++ for the Source Code where You describe recipients' rights or ownership ++ rights relating to Covered Code. You may choose to offer, and to ++ charge a fee for, warranty, support, indemnity or liability ++ obligations to one or more recipients of Covered Code. However, You ++ may do so only on Your own behalf, and not on behalf of the Initial ++ Developer or any Contributor. You must make it absolutely clear than ++ any such warranty, support, indemnity or liability obligation is ++ offered by You alone, and You hereby agree to indemnify the Initial ++ Developer and every Contributor for any liability incurred by the ++ Initial Developer or such Contributor as a result of warranty, ++ support, indemnity or liability terms You offer. ++ ++ 3.6. Distribution of Executable Versions. ++ You may distribute Covered Code in Executable form only if the ++ requirements of Section 3.1-3.5 have been met for that Covered Code, ++ and if You include a notice stating that the Source Code version of ++ the Covered Code is available under the terms of this License, ++ including a description of how and where You have fulfilled the ++ obligations of Section 3.2. The notice must be conspicuously included ++ in any notice in an Executable version, related documentation or ++ collateral in which You describe recipients' rights relating to the ++ Covered Code. You may distribute the Executable version of Covered ++ Code or ownership rights under a license of Your choice, which may ++ contain terms different from this License, provided that You are in ++ compliance with the terms of this License and that the license for the ++ Executable version does not attempt to limit or alter the recipient's ++ rights in the Source Code version from the rights set forth in this ++ License. If You distribute the Executable version under a different ++ license You must make it absolutely clear that any terms which differ ++ from this License are offered by You alone, not by the Initial ++ Developer or any Contributor. You hereby agree to indemnify the ++ Initial Developer and every Contributor for any liability incurred by ++ the Initial Developer or such Contributor as a result of any such ++ terms You offer. ++ ++ 3.7. Larger Works. ++ You may create a Larger Work by combining Covered Code with other code ++ not governed by the terms of this License and distribute the Larger ++ Work as a single product. In such a case, You must make sure the ++ requirements of this License are fulfilled for the Covered Code. ++ ++4. Inability to Comply Due to Statute or Regulation. ++ ++ If it is impossible for You to comply with any of the terms of this ++ License with respect to some or all of the Covered Code due to ++ statute, judicial order, or regulation then You must: (a) comply with ++ the terms of this License to the maximum extent possible; and (b) ++ describe the limitations and the code they affect. Such description ++ must be included in the LEGAL file described in Section 3.4 and must ++ be included with all distributions of the Source Code. Except to the ++ extent prohibited by statute or regulation, such description must be ++ sufficiently detailed for a recipient of ordinary skill to be able to ++ understand it. ++ ++5. Application of this License. ++ ++ This License applies to code to which the Initial Developer has ++ attached the notice in Exhibit A and to related Covered Code. ++ ++6. Versions of the License. ++ ++ 6.1. New Versions. ++ Netscape Communications Corporation ("Netscape") may publish revised ++ and/or new versions of the License from time to time. Each version ++ will be given a distinguishing version number. ++ ++ 6.2. Effect of New Versions. ++ Once Covered Code has been published under a particular version of the ++ License, You may always continue to use it under the terms of that ++ version. You may also choose to use such Covered Code under the terms ++ of any subsequent version of the License published by Netscape. No one ++ other than Netscape has the right to modify the terms applicable to ++ Covered Code created under this License. ++ ++ 6.3. Derivative Works. ++ If You create or use a modified version of this License (which you may ++ only do in order to apply it to code which is not already Covered Code ++ governed by this License), You must (a) rename Your license so that ++ the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", ++ "MPL", "NPL" or any confusingly similar phrase do not appear in your ++ license (except to note that your license differs from this License) ++ and (b) otherwise make it clear that Your version of the license ++ contains terms which differ from the Mozilla Public License and ++ Netscape Public License. (Filling in the name of the Initial ++ Developer, Original Code or Contributor in the notice described in ++ Exhibit A shall not of themselves be deemed to be modifications of ++ this License.) ++ ++7. DISCLAIMER OF WARRANTY. ++ ++ COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, ++ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, ++ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF ++ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. ++ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE ++ IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, ++ YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE ++ COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER ++ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ++ ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. ++ ++8. TERMINATION. ++ ++ 8.1. This License and the rights granted hereunder will terminate ++ automatically if You fail to comply with terms herein and fail to cure ++ such breach within 30 days of becoming aware of the breach. All ++ sublicenses to the Covered Code which are properly granted shall ++ survive any termination of this License. Provisions which, by their ++ nature, must remain in effect beyond the termination of this License ++ shall survive. ++ ++ 8.2. If You initiate litigation by asserting a patent infringement ++ claim (excluding declatory judgment actions) against Initial Developer ++ or a Contributor (the Initial Developer or Contributor against whom ++ You file such action is referred to as "Participant") alleging that: ++ ++ (a) such Participant's Contributor Version directly or indirectly ++ infringes any patent, then any and all rights granted by such ++ Participant to You under Sections 2.1 and/or 2.2 of this License ++ shall, upon 60 days notice from Participant terminate prospectively, ++ unless if within 60 days after receipt of notice You either: (i) ++ agree in writing to pay Participant a mutually agreeable reasonable ++ royalty for Your past and future use of Modifications made by such ++ Participant, or (ii) withdraw Your litigation claim with respect to ++ the Contributor Version against such Participant. If within 60 days ++ of notice, a reasonable royalty and payment arrangement are not ++ mutually agreed upon in writing by the parties or the litigation claim ++ is not withdrawn, the rights granted by Participant to You under ++ Sections 2.1 and/or 2.2 automatically terminate at the expiration of ++ the 60 day notice period specified above. ++ ++ (b) any software, hardware, or device, other than such Participant's ++ Contributor Version, directly or indirectly infringes any patent, then ++ any rights granted to You by such Participant under Sections 2.1(b) ++ and 2.2(b) are revoked effective as of the date You first made, used, ++ sold, distributed, or had made, Modifications made by that ++ Participant. ++ ++ 8.3. If You assert a patent infringement claim against Participant ++ alleging that such Participant's Contributor Version directly or ++ indirectly infringes any patent where such claim is resolved (such as ++ by license or settlement) prior to the initiation of patent ++ infringement litigation, then the reasonable value of the licenses ++ granted by such Participant under Sections 2.1 or 2.2 shall be taken ++ into account in determining the amount or value of any payment or ++ license. ++ ++ 8.4. In the event of termination under Sections 8.1 or 8.2 above, ++ all end user license agreements (excluding distributors and resellers) ++ which have been validly granted by You or any distributor hereunder ++ prior to termination shall survive termination. ++ ++9. LIMITATION OF LIABILITY. ++ ++ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT ++ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL ++ DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, ++ OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ++ ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY ++ CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, ++ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER ++ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN ++ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF ++ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY ++ RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW ++ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE ++ EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO ++ THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. ++ ++10. U.S. GOVERNMENT END USERS. ++ ++ The Covered Code is a "commercial item," as that term is defined in ++ 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer ++ software" and "commercial computer software documentation," as such ++ terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 ++ C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), ++ all U.S. Government End Users acquire Covered Code with only those ++ rights set forth herein. ++ ++11. MISCELLANEOUS. ++ ++ This License represents the complete agreement concerning subject ++ matter hereof. If any provision of this License is held to be ++ unenforceable, such provision shall be reformed only to the extent ++ necessary to make it enforceable. This License shall be governed by ++ California law provisions (except to the extent applicable law, if ++ any, provides otherwise), excluding its conflict-of-law provisions. ++ With respect to disputes in which at least one party is a citizen of, ++ or an entity chartered or registered to do business in the United ++ States of America, any litigation relating to this License shall be ++ subject to the jurisdiction of the Federal Courts of the Northern ++ District of California, with venue lying in Santa Clara County, ++ California, with the losing party responsible for costs, including ++ without limitation, court costs and reasonable attorneys' fees and ++ expenses. The application of the United Nations Convention on ++ Contracts for the International Sale of Goods is expressly excluded. ++ Any law or regulation which provides that the language of a contract ++ shall be construed against the drafter shall not apply to this ++ License. ++ ++12. RESPONSIBILITY FOR CLAIMS. ++ ++ As between Initial Developer and the Contributors, each party is ++ responsible for claims and damages arising, directly or indirectly, ++ out of its utilization of rights under this License and You agree to ++ work with Initial Developer and Contributors to distribute such ++ responsibility on an equitable basis. Nothing herein is intended or ++ shall be deemed to constitute any admission of liability. ++ ++13. MULTIPLE-LICENSED CODE. ++ ++ Initial Developer may designate portions of the Covered Code as ++ "Multiple-Licensed". "Multiple-Licensed" means that the Initial ++ Developer permits you to utilize portions of the Covered Code under ++ Your choice of the NPL or the alternative licenses, if any, specified ++ by the Initial Developer in the file described in Exhibit A. ++ ++EXHIBIT A -Mozilla Public License. ++ ++ ``The contents of this file are subject to the Mozilla Public License ++ Version 1.1 (the "License"); you may not use this file except in ++ compliance with the License. You may obtain a copy of the License at ++ http://www.mozilla.org/MPL/ ++ ++ Software distributed under the License is distributed on an "AS IS" ++ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the ++ License for the specific language governing rights and limitations ++ under the License. ++ ++ The Original Code is ______________________________________. ++ ++ The Initial Developer of the Original Code is ________________________. ++ Portions created by ______________________ are Copyright (C) ______ ++ _______________________. All Rights Reserved. ++ ++ Contributor(s): ______________________________________. ++ ++ Alternatively, the contents of this file may be used under the terms ++ of the _____ license (the "[___] License"), in which case the ++ provisions of [______] License are applicable instead of those ++ above. If you wish to allow use of your version of this file only ++ under the terms of the [____] License and not to allow others to use ++ your version of this file under the MPL, indicate your decision by ++ deleting the provisions above and replace them with the notice and ++ other provisions required by the [___] License. If you do not delete ++ the provisions above, a recipient may use your version of this file ++ under either the MPL or the [___] License." ++ ++ [NOTE: The text of this Exhibit A may differ slightly from the text of ++ the notices in the Source Code files of the Original Code. You should ++ use the text of this Exhibit A rather than the text found in the ++ Original Code Source Code for Your Modifications.] +diff --git a/MPL-1.1.html b/MPL-1.1.html +deleted file mode 100644 +index 7729f6c..0000000 +--- a/MPL-1.1.html ++++ /dev/null +@@ -1,840 +0,0 @@ +- +- +- +- +- +- +- +- +- +- +- Mozilla Public License version 1.1 +- +- +- +- +- +- +- +-
            MOZILLA PUBLIC LICENSE +- +-
            Version 1.1 +- +-

            +- +-


            +- +- +- +-

            1. Definitions. +- +- +-

              1.0.1. "Commercial Use" means distribution or otherwise making +- +-the Covered Code available to a third party. +- +- +-

              1.1. ''Contributor'' means each entity that creates or contributes +- +-to the creation of Modifications. +- +- +-

              1.2. ''Contributor Version'' means the combination of the Original +- +-Code, prior Modifications used by a Contributor, and the Modifications +- +-made by that particular Contributor. +- +- +-

              1.3. ''Covered Code'' means the Original Code or Modifications +- +-or the combination of the Original Code and Modifications, in each case +- +-including portions thereof. +- +- +-

              1.4. ''Electronic Distribution Mechanism'' means a mechanism +- +-generally accepted in the software development community for the electronic +- +-transfer of data. +- +- +-

              1.5. ''Executable'' means Covered Code in any form other than +- +-Source Code. +- +- +-

              1.6. ''Initial Developer'' means the individual or entity identified +- +-as the Initial Developer in the Source Code notice required by Exhibit +- +-A. +- +- +-

              1.7. ''Larger Work'' means a work which combines Covered Code +- +-or portions thereof with code not governed by the terms of this License. +- +- +-

              1.8. ''License'' means this document. +- +- +-

              1.8.1. "Licensable" means having the right to grant, to the maximum +- +-extent possible, whether at the time of the initial grant or subsequently +- +-acquired, any and all of the rights conveyed herein. +- +- +-

              1.9. ''Modifications'' means any addition to or deletion from +- +-the substance or structure of either the Original Code or any previous +- +-Modifications. When Covered Code is released as a series of files, a Modification +- +-is: +- +-

                A. Any addition to or deletion from the contents of a file containing +- +-Original Code or previous Modifications. +- +-

                B. Any new file that contains any part of the Original Code or +- +-previous Modifications. +- +-
                 

              +- +- +-1.10. ''Original Code'' means Source Code of computer software code +- +-which is described in the Source Code notice required by Exhibit A +- +-as Original Code, and which, at the time of its release under this License +- +-is not already Covered Code governed by this License. +- +- +-

              1.10.1. "Patent Claims" means any patent claim(s), now owned +- +-or hereafter acquired, including without limitation,  method, process, +- +-and apparatus claims, in any patent Licensable by grantor. +- +- +-

              1.11. ''Source Code'' means the preferred form of the Covered +- +-Code for making modifications to it, including all modules it contains, +- +-plus any associated interface definition files, scripts used to control +- +-compilation and installation of an Executable, or source code differential +- +-comparisons against either the Original Code or another well known, available +- +-Covered Code of the Contributor's choice. The Source Code can be in a compressed +- +-or archival form, provided the appropriate decompression or de-archiving +- +-software is widely available for no charge. +- +- +-

              1.12. "You'' (or "Your")  means an individual or a legal +- +-entity exercising rights under, and complying with all of the terms of, +- +-this License or a future version of this License issued under Section 6.1. +- +-For legal entities, "You'' includes any entity which controls, is controlled +- +-by, or is under common control with You. For purposes of this definition, +- +-"control'' means (a) the power, direct or indirect, to cause the direction +- +-or management of such entity, whether by contract or otherwise, or (b) +- +-ownership of more than fifty percent (50%) of the outstanding shares or +- +-beneficial ownership of such entity.

            +- +- +-2. Source Code License. +- +- +-
              2.1. The Initial Developer Grant. +- +-
              The Initial Developer hereby grants You a world-wide, royalty-free, +- +-non-exclusive license, subject to third party intellectual property claims: +- +-
                (a)  under intellectual property rights (other than +- +-patent or trademark) Licensable by Initial Developer to use, reproduce, +- +-modify, display, perform, sublicense and distribute the Original Code (or +- +-portions thereof) with or without Modifications, and/or as part of a Larger +- +-Work; and +- +-

                (b) under Patents Claims infringed by the making, using or selling +- +-of Original Code, to make, have made, use, practice, sell, and offer for +- +-sale, and/or otherwise dispose of the Original Code (or portions thereof). +- +-

                  +- +-
                     
                  +- +-
                +- +-(c) the licenses granted in this Section 2.1(a) and (b) are effective +- +-on the date Initial Developer first distributes Original Code under the +- +-terms of this License. +- +-

                (d) Notwithstanding Section 2.1(b) above, no patent license is +- +-granted: 1) for code that You delete from the Original Code; 2) separate +- +-from the Original Code;  or 3) for infringements caused by: i) the +- +-modification of the Original Code or ii) the combination of the Original +- +-Code with other software or devices. +- +-
                 

              +- +- +-2.2. Contributor Grant. +- +-
              Subject to third party intellectual property claims, each Contributor +- +-hereby grants You a world-wide, royalty-free, non-exclusive license +- +-
                  +- +-
                (a)  under intellectual property rights (other than +- +-patent or trademark) Licensable by Contributor, to use, reproduce, modify, +- +-display, perform, sublicense and distribute the Modifications created by +- +-such Contributor (or portions thereof) either on an unmodified basis, with +- +-other Modifications, as Covered Code and/or as part of a Larger Work; and +- +-

                (b) under Patent Claims infringed by the making, using, or selling +- +-of  Modifications made by that Contributor either alone and/or in +- +-combination with its Contributor Version (or portions of such combination), +- +-to make, use, sell, offer for sale, have made, and/or otherwise dispose +- +-of: 1) Modifications made by that Contributor (or portions thereof); and +- +-2) the combination of  Modifications made by that Contributor with +- +-its Contributor Version (or portions of such combination). +- +-

                (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective +- +-on the date Contributor first makes Commercial Use of the Covered Code. +- +-

                (d)    Notwithstanding Section 2.2(b) above, no +- +-patent license is granted: 1) for any code that Contributor has deleted +- +-from the Contributor Version; 2)  separate from the Contributor Version;  +- +-3)  for infringements caused by: i) third party modifications of Contributor +- +-Version or ii)  the combination of Modifications made by that Contributor +- +-with other software  (except as part of the Contributor Version) or +- +-other devices; or 4) under Patent Claims infringed by Covered Code in the +- +-absence of Modifications made by that Contributor.

              +- +-
            +- +- +- +- +-


            3. Distribution Obligations. +- +- +-

              3.1. Application of License. +- +-
              The Modifications which You create or to which You contribute are governed +- +-by the terms of this License, including without limitation Section 2.2. +- +-The Source Code version of Covered Code may be distributed only under the +- +-terms of this License or a future version of this License released under +- +-Section 6.1, and You must include a copy of this License with every +- +-copy of the Source Code You distribute. You may not offer or impose any +- +-terms on any Source Code version that alters or restricts the applicable +- +-version of this License or the recipients' rights hereunder. However, You +- +-may include an additional document offering the additional rights described +- +-in Section 3.5. +- +- +-

              3.2. Availability of Source Code. +- +-
              Any Modification which You create or to which You contribute must be +- +-made available in Source Code form under the terms of this License either +- +-on the same media as an Executable version or via an accepted Electronic +- +-Distribution Mechanism to anyone to whom you made an Executable version +- +-available; and if made available via Electronic Distribution Mechanism, +- +-must remain available for at least twelve (12) months after the date it +- +-initially became available, or at least six (6) months after a subsequent +- +-version of that particular Modification has been made available to such +- +-recipients. You are responsible for ensuring that the Source Code version +- +-remains available even if the Electronic Distribution Mechanism is maintained +- +-by a third party. +- +- +-

              3.3. Description of Modifications. +- +-
              You must cause all Covered Code to which You contribute to contain +- +-a file documenting the changes You made to create that Covered Code and +- +-the date of any change. You must include a prominent statement that the +- +-Modification is derived, directly or indirectly, from Original Code provided +- +-by the Initial Developer and including the name of the Initial Developer +- +-in (a) the Source Code, and (b) in any notice in an Executable version +- +-or related documentation in which You describe the origin or ownership +- +-of the Covered Code. +- +- +-

              3.4. Intellectual Property Matters +- +-

                (a) Third Party Claims. +- +-
                If Contributor has knowledge that a license under a third party's intellectual +- +-property rights is required to exercise the rights granted by such Contributor +- +-under Sections 2.1 or 2.2, Contributor must include a text file with the +- +-Source Code distribution titled "LEGAL'' which describes the claim and +- +-the party making the claim in sufficient detail that a recipient will know +- +-whom to contact. If Contributor obtains such knowledge after the Modification +- +-is made available as described in Section 3.2, Contributor shall promptly +- +-modify the LEGAL file in all copies Contributor makes available thereafter +- +-and shall take other steps (such as notifying appropriate mailing lists +- +-or newsgroups) reasonably calculated to inform those who received the Covered +- +-Code that new knowledge has been obtained. +- +-

                (b) Contributor APIs. +- +-
                If Contributor's Modifications include an application programming interface +- +-and Contributor has knowledge of patent licenses which are reasonably necessary +- +-to implement that API, Contributor must also include this information in +- +-the LEGAL file. +- +-
                 

              +- +-          (c)    +- +-Representations. +- +-
                Contributor represents that, except as disclosed pursuant to Section +- +-3.4(a) above, Contributor believes that Contributor's Modifications are +- +-Contributor's original creation(s) and/or Contributor has sufficient rights +- +-to grant the rights conveyed by this License.
              +- +- +- +- +-


              3.5. Required Notices. +- +-
              You must duplicate the notice in Exhibit A in each file of the +- +-Source Code.  If it is not possible to put such notice in a particular +- +-Source Code file due to its structure, then You must include such notice +- +-in a location (such as a relevant directory) where a user would be likely +- +-to look for such a notice.  If You created one or more Modification(s) +- +-You may add your name as a Contributor to the notice described in Exhibit +- +-A.  You must also duplicate this License in any documentation +- +-for the Source Code where You describe recipients' rights or ownership +- +-rights relating to Covered Code.  You may choose to offer, and to +- +-charge a fee for, warranty, support, indemnity or liability obligations +- +-to one or more recipients of Covered Code. However, You may do so only +- +-on Your own behalf, and not on behalf of the Initial Developer or any Contributor. +- +-You must make it absolutely clear than any such warranty, support, indemnity +- +-or liability obligation is offered by You alone, and You hereby agree to +- +-indemnify the Initial Developer and every Contributor for any liability +- +-incurred by the Initial Developer or such Contributor as a result of warranty, +- +-support, indemnity or liability terms You offer. +- +- +-

              3.6. Distribution of Executable Versions. +- +-
              You may distribute Covered Code in Executable form only if the requirements +- +-of Section 3.1-3.5 have been met for that Covered Code, and if You +- +-include a notice stating that the Source Code version of the Covered Code +- +-is available under the terms of this License, including a description of +- +-how and where You have fulfilled the obligations of Section 3.2. +- +-The notice must be conspicuously included in any notice in an Executable +- +-version, related documentation or collateral in which You describe recipients' +- +-rights relating to the Covered Code. You may distribute the Executable +- +-version of Covered Code or ownership rights under a license of Your choice, +- +-which may contain terms different from this License, provided that You +- +-are in compliance with the terms of this License and that the license for +- +-the Executable version does not attempt to limit or alter the recipient's +- +-rights in the Source Code version from the rights set forth in this License. +- +-If You distribute the Executable version under a different license You +- +-must make it absolutely clear that any terms which differ from this License +- +-are offered by You alone, not by the Initial Developer or any Contributor. +- +-You hereby agree to indemnify the Initial Developer and every Contributor +- +-for any liability incurred by the Initial Developer or such Contributor +- +-as a result of any such terms You offer. +- +- +-

              3.7. Larger Works. +- +-
              You may create a Larger Work by combining Covered Code with other code +- +-not governed by the terms of this License and distribute the Larger Work +- +-as a single product. In such a case, You must make sure the requirements +- +-of this License are fulfilled for the Covered Code.

            +- +- +-4. Inability to Comply Due to Statute or Regulation. +- +-
              If it is impossible for You to comply with any of the terms of this +- +-License with respect to some or all of the Covered Code due to statute, +- +-judicial order, or regulation then You must: (a) comply with the terms +- +-of this License to the maximum extent possible; and (b) describe the limitations +- +-and the code they affect. Such description must be included in the LEGAL +- +-file described in Section 3.4 and must be included with all distributions +- +-of the Source Code. Except to the extent prohibited by statute or regulation, +- +-such description must be sufficiently detailed for a recipient of ordinary +- +-skill to be able to understand it.
            +- +- +-5. Application of this License. +- +-
              This License applies to code to which the Initial Developer has attached +- +-the notice in Exhibit A and to related Covered Code.
            +- +- +-6. Versions of the License. +- +- +-
              6.1. New Versions. +- +-
              Netscape Communications Corporation (''Netscape'') may publish revised +- +-and/or new versions of the License from time to time. Each version will +- +-be given a distinguishing version number. +- +- +-

              6.2. Effect of New Versions. +- +-
              Once Covered Code has been published under a particular version of +- +-the License, You may always continue to use it under the terms of that +- +-version. You may also choose to use such Covered Code under the terms of +- +-any subsequent version of the License published by Netscape. No one other +- +-than Netscape has the right to modify the terms applicable to Covered Code +- +-created under this License. +- +- +-

              6.3. Derivative Works. +- +-
              If You create or use a modified version of this License (which you +- +-may only do in order to apply it to code which is not already Covered Code +- +-governed by this License), You must (a) rename Your license so that the +- +-phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL'' +- +-or any confusingly similar phrase do not appear in your license (except +- +-to note that your license differs from this License) and (b) otherwise +- +-make it clear that Your version of the license contains terms which differ +- +-from the Mozilla Public License and Netscape Public License. (Filling in +- +-the name of the Initial Developer, Original Code or Contributor in the +- +-notice described in Exhibit A shall not of themselves be deemed +- +-to be modifications of this License.)

            +- +- +-7. DISCLAIMER OF WARRANTY. +- +-
              COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT +- +-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, +- +-WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT +- +-FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY +- +-AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE +- +-PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER +- +-CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. +- +-THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. +- +-NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
            +- +- +-8. TERMINATION. +- +- +-
              8.1.  This License and the rights granted hereunder will +- +-terminate automatically if You fail to comply with terms herein and fail +- +-to cure such breach within 30 days of becoming aware of the breach. All +- +-sublicenses to the Covered Code which are properly granted shall survive +- +-any termination of this License. Provisions which, by their nature, must +- +-remain in effect beyond the termination of this License shall survive. +- +- +-

              8.2.  If You initiate litigation by asserting a patent infringement +- +-claim (excluding declatory judgment actions) against Initial Developer +- +-or a Contributor (the Initial Developer or Contributor against whom You +- +-file such action is referred to as "Participant")  alleging that: +- +-

              (a)  such Participant's Contributor Version directly or +- +-indirectly infringes any patent, then any and all rights granted by such +- +-Participant to You under Sections 2.1 and/or 2.2 of this License shall, +- +-upon 60 days notice from Participant terminate prospectively, unless if +- +-within 60 days after receipt of notice You either: (i)  agree in writing +- +-to pay Participant a mutually agreeable reasonable royalty for Your past +- +-and future use of Modifications made by such Participant, or (ii) withdraw +- +-Your litigation claim with respect to the Contributor Version against such +- +-Participant.  If within 60 days of notice, a reasonable royalty and +- +-payment arrangement are not mutually agreed upon in writing by the parties +- +-or the litigation claim is not withdrawn, the rights granted by Participant +- +-to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration +- +-of the 60 day notice period specified above. +- +-

              (b)  any software, hardware, or device, other than such +- +-Participant's Contributor Version, directly or indirectly infringes any +- +-patent, then any rights granted to You by such Participant under Sections +- +-2.1(b) and 2.2(b) are revoked effective as of the date You first made, +- +-used, sold, distributed, or had made, Modifications made by that Participant. +- +- +-

              8.3.  If You assert a patent infringement claim against +- +-Participant alleging that such Participant's Contributor Version directly +- +-or indirectly infringes any patent where such claim is resolved (such as +- +-by license or settlement) prior to the initiation of patent infringement +- +-litigation, then the reasonable value of the licenses granted by such Participant +- +-under Sections 2.1 or 2.2 shall be taken into account in determining the +- +-amount or value of any payment or license. +- +- +-

              8.4.  In the event of termination under Sections 8.1 or +- +-8.2 above,  all end user license agreements (excluding distributors +- +-and resellers) which have been validly granted by You or any distributor +- +-hereunder prior to termination shall survive termination.

            +- +- +-9. LIMITATION OF LIABILITY. +- +-
              UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING +- +-NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, +- +-ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER +- +-OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, +- +-INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT +- +-LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE +- +-OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN +- +-IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. +- +-THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR +- +-PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE +- +-LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +- +-OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION +- +-AND LIMITATION MAY NOT APPLY TO YOU.
            +- +- +-10. U.S. GOVERNMENT END USERS. +- +-
              The Covered Code is a ''commercial item,'' as that term is defined +- +-in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software'' +- +-and ''commercial computer software documentation,'' as such terms are used +- +-in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and +- +-48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government +- +-End Users acquire Covered Code with only those rights set forth herein.
            +- +- +-11. MISCELLANEOUS. +- +-
              This License represents the complete agreement concerning subject matter +- +-hereof. If any provision of this License is held to be unenforceable, such +- +-provision shall be reformed only to the extent necessary to make it enforceable. +- +-This License shall be governed by California law provisions (except to +- +-the extent applicable law, if any, provides otherwise), excluding its conflict-of-law +- +-provisions. With respect to disputes in which at least one party is a citizen +- +-of, or an entity chartered or registered to do business in the United States +- +-of America, any litigation relating to this License shall be subject to +- +-the jurisdiction of the Federal Courts of the Northern District of California, +- +-with venue lying in Santa Clara County, California, with the losing party +- +-responsible for costs, including without limitation, court costs and reasonable +- +-attorneys' fees and expenses. The application of the United Nations Convention +- +-on Contracts for the International Sale of Goods is expressly excluded. +- +-Any law or regulation which provides that the language of a contract shall +- +-be construed against the drafter shall not apply to this License.
            +- +- +-12. RESPONSIBILITY FOR CLAIMS. +- +-
              As between Initial Developer and the Contributors, each party is responsible +- +-for claims and damages arising, directly or indirectly, out of its utilization +- +-of rights under this License and You agree to work with Initial Developer +- +-and Contributors to distribute such responsibility on an equitable basis. +- +-Nothing herein is intended or shall be deemed to constitute any admission +- +-of liability.
            +- +- +-13. MULTIPLE-LICENSED CODE. +- +-
              Initial Developer may designate portions of the Covered Code as “Multiple-Licensed”.  +- +-“Multiple-Licensed” means that the Initial Developer permits you to utilize +- +-portions of the Covered Code under Your choice of the MPL or the alternative +- +-licenses, if any, specified by the Initial Developer in the file described +- +-in Exhibit A.
            +- +- +- +- +-


            EXHIBIT A -Mozilla Public License. +- +-

              ``The contents of this file are subject to the Mozilla Public License +- +-Version 1.1 (the "License"); you may not use this file except in compliance +- +-with the License. You may obtain a copy of the License at +- +-
              http://www.mozilla.org/MPL/ +- +-

              Software distributed under the License is distributed on an "AS IS" +- +-basis, WITHOUT WARRANTY OF +- +-
              ANY KIND, either express or implied. See the License for the specific +- +-language governing rights and +- +-
              limitations under the License. +- +-

              The Original Code is ______________________________________. +- +-

              The Initial Developer of the Original Code is ________________________. +- +-Portions created by +- +-
               ______________________ are Copyright (C) ______ _______________________. +- +-All Rights +- +-
              Reserved. +- +-

              Contributor(s): ______________________________________. +- +-

              Alternatively, the contents of this file may be used under the terms +- +-of the _____ license (the  “[___] License”), in which case the provisions +- +-of [______] License are applicable  instead of those above.  +- +-If you wish to allow use of your version of this file only under the terms +- +-of the [____] License and not to allow others to use your version of this +- +-file under the MPL, indicate your decision by deleting  the provisions +- +-above and replace  them with the notice and other provisions required +- +-by the [___] License.  If you do not delete the provisions above, +- +-a recipient may use your version of this file under either the MPL or the +- +-[___] License." +- +-

              [NOTE: The text of this Exhibit A may differ slightly from the text +- +-of the notices in the Source Code files of the Original Code. You should +- +-use the text of this Exhibit A rather than the text found in the Original +- +-Code Source Code for Your Modifications.] +- +-

              +- +- +- +- +- +diff --git a/Makefile.am b/Makefile.am +index bb89e98..34a01d3 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -7,4 +7,4 @@ pkgconfig_DATA= libgdiplus.pc + + DISTCLEANFILES= libgdiplus.pc + +-EXTRA_DIST = libgdiplus.pc.in LICENSE MPL-1.1.html ++EXTRA_DIST = libgdiplus.pc.in LICENSE +-- +2.19.2 + diff --git a/bsp/buildroot/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch b/bsp/buildroot/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch new file mode 100644 index 00000000..3ddfe7c3 --- /dev/null +++ b/bsp/buildroot/package/libgdiplus/0002-Update-LICENSE-to-match-the-headers-of-the-source-fi.patch @@ -0,0 +1,1018 @@ +From 7ac3970c792ffbbf53e4168e086fae33fab39ce3 Mon Sep 17 00:00:00 2001 +From: Frederik Carlier +Date: Tue, 17 Jul 2018 23:24:51 +0200 +Subject: [PATCH] Update LICENSE to match the headers of the source files + +Upstream: 947e525d1025200623f686d8efe4c0094c5d2380 +Signed-off-by: Thomas Petazzoni +--- + LICENSE | 998 +------------------------------------------------------- + 1 file changed, 14 insertions(+), 984 deletions(-) + +diff --git a/LICENSE b/LICENSE +index b3164bb..2342cc9 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -1,984 +1,14 @@ +-Libgdiplus is licensed under the terms of the GNU Library GPL or the +-Mozilla Public License 1.1. +- +- +-The Licenses +-============ +- +-### GNU Library GPL +- +- GNU LESSER GENERAL PUBLIC LICENSE +- Version 2.1, February 1999 +- +- Copyright (C) 1991, 1999 Free Software Foundation, Inc. +- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +- Everyone is permitted to copy and distribute verbatim copies +- of this license document, but changing it is not allowed. +- +-[This is the first released version of the Lesser GPL. It also counts +- as the successor of the GNU Library Public License, version 2, hence +- the version number 2.1.] +- +- Preamble +- +- The licenses for most software are designed to take away your +-freedom to share and change it. By contrast, the GNU General Public +-Licenses are intended to guarantee your freedom to share and change +-free software--to make sure the software is free for all its users. +- +- This license, the Lesser General Public License, applies to some +-specially designated software packages--typically libraries--of the +-Free Software Foundation and other authors who decide to use it. You +-can use it too, but we suggest you first think carefully about whether +-this license or the ordinary General Public License is the better +-strategy to use in any particular case, based on the explanations below. +- +- When we speak of free software, we are referring to freedom of use, +-not price. Our General Public Licenses are designed to make sure that +-you have the freedom to distribute copies of free software (and charge +-for this service if you wish); that you receive source code or can get +-it if you want it; that you can change the software and use pieces of +-it in new free programs; and that you are informed that you can do +-these things. +- +- To protect your rights, we need to make restrictions that forbid +-distributors to deny you these rights or to ask you to surrender these +-rights. These restrictions translate to certain responsibilities for +-you if you distribute copies of the library or if you modify it. +- +- For example, if you distribute copies of the library, whether gratis +-or for a fee, you must give the recipients all the rights that we gave +-you. You must make sure that they, too, receive or can get the source +-code. If you link other code with the library, you must provide +-complete object files to the recipients, so that they can relink them +-with the library after making changes to the library and recompiling +-it. And you must show them these terms so they know their rights. +- +- We protect your rights with a two-step method: (1) we copyright the +-library, and (2) we offer you this license, which gives you legal +-permission to copy, distribute and/or modify the library. +- +- To protect each distributor, we want to make it very clear that +-there is no warranty for the free library. Also, if the library is +-modified by someone else and passed on, the recipients should know +-that what they have is not the original version, so that the original +-author's reputation will not be affected by problems that might be +-introduced by others. +- +- Finally, software patents pose a constant threat to the existence of +-any free program. We wish to make sure that a company cannot +-effectively restrict the users of a free program by obtaining a +-restrictive license from a patent holder. Therefore, we insist that +-any patent license obtained for a version of the library must be +-consistent with the full freedom of use specified in this license. +- +- Most GNU software, including some libraries, is covered by the +-ordinary GNU General Public License. This license, the GNU Lesser +-General Public License, applies to certain designated libraries, and +-is quite different from the ordinary General Public License. We use +-this license for certain libraries in order to permit linking those +-libraries into non-free programs. +- +- When a program is linked with a library, whether statically or using +-a shared library, the combination of the two is legally speaking a +-combined work, a derivative of the original library. The ordinary +-General Public License therefore permits such linking only if the +-entire combination fits its criteria of freedom. The Lesser General +-Public License permits more lax criteria for linking other code with +-the library. +- +- We call this license the "Lesser" General Public License because it +-does Less to protect the user's freedom than the ordinary General +-Public License. It also provides other free software developers Less +-of an advantage over competing non-free programs. These disadvantages +-are the reason we use the ordinary General Public License for many +-libraries. However, the Lesser license provides advantages in certain +-special circumstances. +- +- For example, on rare occasions, there may be a special need to +-encourage the widest possible use of a certain library, so that it becomes +-a de-facto standard. To achieve this, non-free programs must be +-allowed to use the library. A more frequent case is that a free +-library does the same job as widely used non-free libraries. In this +-case, there is little to gain by limiting the free library to free +-software only, so we use the Lesser General Public License. +- +- In other cases, permission to use a particular library in non-free +-programs enables a greater number of people to use a large body of +-free software. For example, permission to use the GNU C Library in +-non-free programs enables many more people to use the whole GNU +-operating system, as well as its variant, the GNU/Linux operating +-system. +- +- Although the Lesser General Public License is Less protective of the +-users' freedom, it does ensure that the user of a program that is +-linked with the Library has the freedom and the wherewithal to run +-that program using a modified version of the Library. +- +- The precise terms and conditions for copying, distribution and +-modification follow. Pay close attention to the difference between a +-"work based on the library" and a "work that uses the library". The +-former contains code derived from the library, whereas the latter must +-be combined with the library in order to run. +- +- GNU LESSER GENERAL PUBLIC LICENSE +- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +- +- 0. This License Agreement applies to any software library or other +-program which contains a notice placed by the copyright holder or +-other authorized party saying it may be distributed under the terms of +-this Lesser General Public License (also called "this License"). +-Each licensee is addressed as "you". +- +- A "library" means a collection of software functions and/or data +-prepared so as to be conveniently linked with application programs +-(which use some of those functions and data) to form executables. +- +- The "Library", below, refers to any such software library or work +-which has been distributed under these terms. A "work based on the +-Library" means either the Library or any derivative work under +-copyright law: that is to say, a work containing the Library or a +-portion of it, either verbatim or with modifications and/or translated +-straightforwardly into another language. (Hereinafter, translation is +-included without limitation in the term "modification".) +- +- "Source code" for a work means the preferred form of the work for +-making modifications to it. For a library, complete source code means +-all the source code for all modules it contains, plus any associated +-interface definition files, plus the scripts used to control compilation +-and installation of the library. +- +- Activities other than copying, distribution and modification are not +-covered by this License; they are outside its scope. The act of +-running a program using the Library is not restricted, and output from +-such a program is covered only if its contents constitute a work based +-on the Library (independent of the use of the Library in a tool for +-writing it). Whether that is true depends on what the Library does +-and what the program that uses the Library does. +- +- 1. You may copy and distribute verbatim copies of the Library's +-complete source code as you receive it, in any medium, provided that +-you conspicuously and appropriately publish on each copy an +-appropriate copyright notice and disclaimer of warranty; keep intact +-all the notices that refer to this License and to the absence of any +-warranty; and distribute a copy of this License along with the +-Library. +- +- You may charge a fee for the physical act of transferring a copy, +-and you may at your option offer warranty protection in exchange for a +-fee. +- +- 2. You may modify your copy or copies of the Library or any portion +-of it, thus forming a work based on the Library, and copy and +-distribute such modifications or work under the terms of Section 1 +-above, provided that you also meet all of these conditions: +- +- a) The modified work must itself be a software library. +- +- b) You must cause the files modified to carry prominent notices +- stating that you changed the files and the date of any change. +- +- c) You must cause the whole of the work to be licensed at no +- charge to all third parties under the terms of this License. +- +- d) If a facility in the modified Library refers to a function or a +- table of data to be supplied by an application program that uses +- the facility, other than as an argument passed when the facility +- is invoked, then you must make a good faith effort to ensure that, +- in the event an application does not supply such function or +- table, the facility still operates, and performs whatever part of +- its purpose remains meaningful. +- +- (For example, a function in a library to compute square roots has +- a purpose that is entirely well-defined independent of the +- application. Therefore, Subsection 2d requires that any +- application-supplied function or table used by this function must +- be optional: if the application does not supply it, the square +- root function must still compute square roots.) +- +-These requirements apply to the modified work as a whole. If +-identifiable sections of that work are not derived from the Library, +-and can be reasonably considered independent and separate works in +-themselves, then this License, and its terms, do not apply to those +-sections when you distribute them as separate works. But when you +-distribute the same sections as part of a whole which is a work based +-on the Library, the distribution of the whole must be on the terms of +-this License, whose permissions for other licensees extend to the +-entire whole, and thus to each and every part regardless of who wrote +-it. +- +-Thus, it is not the intent of this section to claim rights or contest +-your rights to work written entirely by you; rather, the intent is to +-exercise the right to control the distribution of derivative or +-collective works based on the Library. +- +-In addition, mere aggregation of another work not based on the Library +-with the Library (or with a work based on the Library) on a volume of +-a storage or distribution medium does not bring the other work under +-the scope of this License. +- +- 3. You may opt to apply the terms of the ordinary GNU General Public +-License instead of this License to a given copy of the Library. To do +-this, you must alter all the notices that refer to this License, so +-that they refer to the ordinary GNU General Public License, version 2, +-instead of to this License. (If a newer version than version 2 of the +-ordinary GNU General Public License has appeared, then you can specify +-that version instead if you wish.) Do not make any other change in +-these notices. +- +- Once this change is made in a given copy, it is irreversible for +-that copy, so the ordinary GNU General Public License applies to all +-subsequent copies and derivative works made from that copy. +- +- This option is useful when you wish to copy part of the code of +-the Library into a program that is not a library. +- +- 4. You may copy and distribute the Library (or a portion or +-derivative of it, under Section 2) in object code or executable form +-under the terms of Sections 1 and 2 above provided that you accompany +-it with the complete corresponding machine-readable source code, which +-must be distributed under the terms of Sections 1 and 2 above on a +-medium customarily used for software interchange. +- +- If distribution of object code is made by offering access to copy +-from a designated place, then offering equivalent access to copy the +-source code from the same place satisfies the requirement to +-distribute the source code, even though third parties are not +-compelled to copy the source along with the object code. +- +- 5. A program that contains no derivative of any portion of the +-Library, but is designed to work with the Library by being compiled or +-linked with it, is called a "work that uses the Library". Such a +-work, in isolation, is not a derivative work of the Library, and +-therefore falls outside the scope of this License. +- +- However, linking a "work that uses the Library" with the Library +-creates an executable that is a derivative of the Library (because it +-contains portions of the Library), rather than a "work that uses the +-library". The executable is therefore covered by this License. +-Section 6 states terms for distribution of such executables. +- +- When a "work that uses the Library" uses material from a header file +-that is part of the Library, the object code for the work may be a +-derivative work of the Library even though the source code is not. +-Whether this is true is especially significant if the work can be +-linked without the Library, or if the work is itself a library. The +-threshold for this to be true is not precisely defined by law. +- +- If such an object file uses only numerical parameters, data +-structure layouts and accessors, and small macros and small inline +-functions (ten lines or less in length), then the use of the object +-file is unrestricted, regardless of whether it is legally a derivative +-work. (Executables containing this object code plus portions of the +-Library will still fall under Section 6.) +- +- Otherwise, if the work is a derivative of the Library, you may +-distribute the object code for the work under the terms of Section 6. +-Any executables containing that work also fall under Section 6, +-whether or not they are linked directly with the Library itself. +- +- 6. As an exception to the Sections above, you may also combine or +-link a "work that uses the Library" with the Library to produce a +-work containing portions of the Library, and distribute that work +-under terms of your choice, provided that the terms permit +-modification of the work for the customer's own use and reverse +-engineering for debugging such modifications. +- +- You must give prominent notice with each copy of the work that the +-Library is used in it and that the Library and its use are covered by +-this License. You must supply a copy of this License. If the work +-during execution displays copyright notices, you must include the +-copyright notice for the Library among them, as well as a reference +-directing the user to the copy of this License. Also, you must do one +-of these things: +- +- a) Accompany the work with the complete corresponding +- machine-readable source code for the Library including whatever +- changes were used in the work (which must be distributed under +- Sections 1 and 2 above); and, if the work is an executable linked +- with the Library, with the complete machine-readable "work that +- uses the Library", as object code and/or source code, so that the +- user can modify the Library and then relink to produce a modified +- executable containing the modified Library. (It is understood +- that the user who changes the contents of definitions files in the +- Library will not necessarily be able to recompile the application +- to use the modified definitions.) +- +- b) Use a suitable shared library mechanism for linking with the +- Library. A suitable mechanism is one that (1) uses at run time a +- copy of the library already present on the user's computer system, +- rather than copying library functions into the executable, and (2) +- will operate properly with a modified version of the library, if +- the user installs one, as long as the modified version is +- interface-compatible with the version that the work was made with. +- +- c) Accompany the work with a written offer, valid for at +- least three years, to give the same user the materials +- specified in Subsection 6a, above, for a charge no more +- than the cost of performing this distribution. +- +- d) If distribution of the work is made by offering access to copy +- from a designated place, offer equivalent access to copy the above +- specified materials from the same place. +- +- e) Verify that the user has already received a copy of these +- materials or that you have already sent this user a copy. +- +- For an executable, the required form of the "work that uses the +-Library" must include any data and utility programs needed for +-reproducing the executable from it. However, as a special exception, +-the materials to be distributed need not include anything that is +-normally distributed (in either source or binary form) with the major +-components (compiler, kernel, and so on) of the operating system on +-which the executable runs, unless that component itself accompanies +-the executable. +- +- It may happen that this requirement contradicts the license +-restrictions of other proprietary libraries that do not normally +-accompany the operating system. Such a contradiction means you cannot +-use both them and the Library together in an executable that you +-distribute. +- +- 7. You may place library facilities that are a work based on the +-Library side-by-side in a single library together with other library +-facilities not covered by this License, and distribute such a combined +-library, provided that the separate distribution of the work based on +-the Library and of the other library facilities is otherwise +-permitted, and provided that you do these two things: +- +- a) Accompany the combined library with a copy of the same work +- based on the Library, uncombined with any other library +- facilities. This must be distributed under the terms of the +- Sections above. +- +- b) Give prominent notice with the combined library of the fact +- that part of it is a work based on the Library, and explaining +- where to find the accompanying uncombined form of the same work. +- +- 8. You may not copy, modify, sublicense, link with, or distribute +-the Library except as expressly provided under this License. Any +-attempt otherwise to copy, modify, sublicense, link with, or +-distribute the Library is void, and will automatically terminate your +-rights under this License. However, parties who have received copies, +-or rights, from you under this License will not have their licenses +-terminated so long as such parties remain in full compliance. +- +- 9. You are not required to accept this License, since you have not +-signed it. However, nothing else grants you permission to modify or +-distribute the Library or its derivative works. These actions are +-prohibited by law if you do not accept this License. Therefore, by +-modifying or distributing the Library (or any work based on the +-Library), you indicate your acceptance of this License to do so, and +-all its terms and conditions for copying, distributing or modifying +-the Library or works based on it. +- +- 10. Each time you redistribute the Library (or any work based on the +-Library), the recipient automatically receives a license from the +-original licensor to copy, distribute, link with or modify the Library +-subject to these terms and conditions. You may not impose any further +-restrictions on the recipients' exercise of the rights granted herein. +-You are not responsible for enforcing compliance by third parties with +-this License. +- +- 11. If, as a consequence of a court judgment or allegation of patent +-infringement or for any other reason (not limited to patent issues), +-conditions are imposed on you (whether by court order, agreement or +-otherwise) that contradict the conditions of this License, they do not +-excuse you from the conditions of this License. If you cannot +-distribute so as to satisfy simultaneously your obligations under this +-License and any other pertinent obligations, then as a consequence you +-may not distribute the Library at all. For example, if a patent +-license would not permit royalty-free redistribution of the Library by +-all those who receive copies directly or indirectly through you, then +-the only way you could satisfy both it and this License would be to +-refrain entirely from distribution of the Library. +- +-If any portion of this section is held invalid or unenforceable under any +-particular circumstance, the balance of the section is intended to apply, +-and the section as a whole is intended to apply in other circumstances. +- +-It is not the purpose of this section to induce you to infringe any +-patents or other property right claims or to contest validity of any +-such claims; this section has the sole purpose of protecting the +-integrity of the free software distribution system which is +-implemented by public license practices. Many people have made +-generous contributions to the wide range of software distributed +-through that system in reliance on consistent application of that +-system; it is up to the author/donor to decide if he or she is willing +-to distribute software through any other system and a licensee cannot +-impose that choice. +- +-This section is intended to make thoroughly clear what is believed to +-be a consequence of the rest of this License. +- +- 12. If the distribution and/or use of the Library is restricted in +-certain countries either by patents or by copyrighted interfaces, the +-original copyright holder who places the Library under this License may add +-an explicit geographical distribution limitation excluding those countries, +-so that distribution is permitted only in or among countries not thus +-excluded. In such case, this License incorporates the limitation as if +-written in the body of this License. +- +- 13. The Free Software Foundation may publish revised and/or new +-versions of the Lesser General Public License from time to time. +-Such new versions will be similar in spirit to the present version, +-but may differ in detail to address new problems or concerns. +- +-Each version is given a distinguishing version number. If the Library +-specifies a version number of this License which applies to it and +-"any later version", you have the option of following the terms and +-conditions either of that version or of any later version published by +-the Free Software Foundation. If the Library does not specify a +-license version number, you may choose any version ever published by +-the Free Software Foundation. +- +- 14. If you wish to incorporate parts of the Library into other free +-programs whose distribution conditions are incompatible with these, +-write to the author to ask for permission. For software which is +-copyrighted by the Free Software Foundation, write to the Free +-Software Foundation; we sometimes make exceptions for this. Our +-decision will be guided by the two goals of preserving the free status +-of all derivatives of our free software and of promoting the sharing +-and reuse of software generally. +- +- NO WARRANTY +- +- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +- +- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +-DAMAGES. +- +- END OF TERMS AND CONDITIONS +- +- How to Apply These Terms to Your New Libraries +- +- If you develop a new library, and you want it to be of the greatest +-possible use to the public, we recommend making it free software that +-everyone can redistribute and change. You can do so by permitting +-redistribution under these terms (or, alternatively, under the terms of the +-ordinary General Public License). +- +- To apply these terms, attach the following notices to the library. It is +-safest to attach them to the start of each source file to most effectively +-convey the exclusion of warranty; and each file should have at least the +-"copyright" line and a pointer to where the full notice is found. +- +- +- Copyright (C) +- +- This library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- This library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with this library; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +- +-Also add information on how to contact you by electronic and paper mail. +- +-You should also get your employer (if you work as a programmer) or your +-school, if any, to sign a "copyright disclaimer" for the library, if +-necessary. Here is a sample; alter the names: +- +- Yoyodyne, Inc., hereby disclaims all copyright interest in the +- library `Frob' (a library for tweaking knobs) written by James Random Hacker. +- +- , 1 April 1990 +- Ty Coon, President of Vice +- +-That's all there is to it! +- +- +-### Mozilla Public License 1.1 +- +- MOZILLA PUBLIC LICENSE +- Version 1.1 +- +- --------------- +- +-1. Definitions. +- +- 1.0.1. "Commercial Use" means distribution or otherwise making the +- Covered Code available to a third party. +- +- 1.1. "Contributor" means each entity that creates or contributes to +- the creation of Modifications. +- +- 1.2. "Contributor Version" means the combination of the Original +- Code, prior Modifications used by a Contributor, and the Modifications +- made by that particular Contributor. +- +- 1.3. "Covered Code" means the Original Code or Modifications or the +- combination of the Original Code and Modifications, in each case +- including portions thereof. +- +- 1.4. "Electronic Distribution Mechanism" means a mechanism generally +- accepted in the software development community for the electronic +- transfer of data. +- +- 1.5. "Executable" means Covered Code in any form other than Source +- Code. +- +- 1.6. "Initial Developer" means the individual or entity identified +- as the Initial Developer in the Source Code notice required by Exhibit +- A. +- +- 1.7. "Larger Work" means a work which combines Covered Code or +- portions thereof with code not governed by the terms of this License. +- +- 1.8. "License" means this document. +- +- 1.8.1. "Licensable" means having the right to grant, to the maximum +- extent possible, whether at the time of the initial grant or +- subsequently acquired, any and all of the rights conveyed herein. +- +- 1.9. "Modifications" means any addition to or deletion from the +- substance or structure of either the Original Code or any previous +- Modifications. When Covered Code is released as a series of files, a +- Modification is: +- A. Any addition to or deletion from the contents of a file +- containing Original Code or previous Modifications. +- +- B. Any new file that contains any part of the Original Code or +- previous Modifications. +- +- 1.10. "Original Code" means Source Code of computer software code +- which is described in the Source Code notice required by Exhibit A as +- Original Code, and which, at the time of its release under this +- License is not already Covered Code governed by this License. +- +- 1.10.1. "Patent Claims" means any patent claim(s), now owned or +- hereafter acquired, including without limitation, method, process, +- and apparatus claims, in any patent Licensable by grantor. +- +- 1.11. "Source Code" means the preferred form of the Covered Code for +- making modifications to it, including all modules it contains, plus +- any associated interface definition files, scripts used to control +- compilation and installation of an Executable, or source code +- differential comparisons against either the Original Code or another +- well known, available Covered Code of the Contributor's choice. The +- Source Code can be in a compressed or archival form, provided the +- appropriate decompression or de-archiving software is widely available +- for no charge. +- +- 1.12. "You" (or "Your") means an individual or a legal entity +- exercising rights under, and complying with all of the terms of, this +- License or a future version of this License issued under Section 6.1. +- For legal entities, "You" includes any entity which controls, is +- controlled by, or is under common control with You. For purposes of +- this definition, "control" means (a) the power, direct or indirect, +- to cause the direction or management of such entity, whether by +- contract or otherwise, or (b) ownership of more than fifty percent +- (50%) of the outstanding shares or beneficial ownership of such +- entity. +- +-2. Source Code License. +- +- 2.1. The Initial Developer Grant. +- The Initial Developer hereby grants You a world-wide, royalty-free, +- non-exclusive license, subject to third party intellectual property +- claims: +- (a) under intellectual property rights (other than patent or +- trademark) Licensable by Initial Developer to use, reproduce, +- modify, display, perform, sublicense and distribute the Original +- Code (or portions thereof) with or without Modifications, and/or +- as part of a Larger Work; and +- +- (b) under Patents Claims infringed by the making, using or +- selling of Original Code, to make, have made, use, practice, +- sell, and offer for sale, and/or otherwise dispose of the +- Original Code (or portions thereof). +- +- (c) the licenses granted in this Section 2.1(a) and (b) are +- effective on the date Initial Developer first distributes +- Original Code under the terms of this License. +- +- (d) Notwithstanding Section 2.1(b) above, no patent license is +- granted: 1) for code that You delete from the Original Code; 2) +- separate from the Original Code; or 3) for infringements caused +- by: i) the modification of the Original Code or ii) the +- combination of the Original Code with other software or devices. +- +- 2.2. Contributor Grant. +- Subject to third party intellectual property claims, each Contributor +- hereby grants You a world-wide, royalty-free, non-exclusive license +- +- (a) under intellectual property rights (other than patent or +- trademark) Licensable by Contributor, to use, reproduce, modify, +- display, perform, sublicense and distribute the Modifications +- created by such Contributor (or portions thereof) either on an +- unmodified basis, with other Modifications, as Covered Code +- and/or as part of a Larger Work; and +- +- (b) under Patent Claims infringed by the making, using, or +- selling of Modifications made by that Contributor either alone +- and/or in combination with its Contributor Version (or portions +- of such combination), to make, use, sell, offer for sale, have +- made, and/or otherwise dispose of: 1) Modifications made by that +- Contributor (or portions thereof); and 2) the combination of +- Modifications made by that Contributor with its Contributor +- Version (or portions of such combination). +- +- (c) the licenses granted in Sections 2.2(a) and 2.2(b) are +- effective on the date Contributor first makes Commercial Use of +- the Covered Code. +- +- (d) Notwithstanding Section 2.2(b) above, no patent license is +- granted: 1) for any code that Contributor has deleted from the +- Contributor Version; 2) separate from the Contributor Version; +- 3) for infringements caused by: i) third party modifications of +- Contributor Version or ii) the combination of Modifications made +- by that Contributor with other software (except as part of the +- Contributor Version) or other devices; or 4) under Patent Claims +- infringed by Covered Code in the absence of Modifications made by +- that Contributor. +- +-3. Distribution Obligations. +- +- 3.1. Application of License. +- The Modifications which You create or to which You contribute are +- governed by the terms of this License, including without limitation +- Section 2.2. The Source Code version of Covered Code may be +- distributed only under the terms of this License or a future version +- of this License released under Section 6.1, and You must include a +- copy of this License with every copy of the Source Code You +- distribute. You may not offer or impose any terms on any Source Code +- version that alters or restricts the applicable version of this +- License or the recipients' rights hereunder. However, You may include +- an additional document offering the additional rights described in +- Section 3.5. +- +- 3.2. Availability of Source Code. +- Any Modification which You create or to which You contribute must be +- made available in Source Code form under the terms of this License +- either on the same media as an Executable version or via an accepted +- Electronic Distribution Mechanism to anyone to whom you made an +- Executable version available; and if made available via Electronic +- Distribution Mechanism, must remain available for at least twelve (12) +- months after the date it initially became available, or at least six +- (6) months after a subsequent version of that particular Modification +- has been made available to such recipients. You are responsible for +- ensuring that the Source Code version remains available even if the +- Electronic Distribution Mechanism is maintained by a third party. +- +- 3.3. Description of Modifications. +- You must cause all Covered Code to which You contribute to contain a +- file documenting the changes You made to create that Covered Code and +- the date of any change. You must include a prominent statement that +- the Modification is derived, directly or indirectly, from Original +- Code provided by the Initial Developer and including the name of the +- Initial Developer in (a) the Source Code, and (b) in any notice in an +- Executable version or related documentation in which You describe the +- origin or ownership of the Covered Code. +- +- 3.4. Intellectual Property Matters +- (a) Third Party Claims. +- If Contributor has knowledge that a license under a third party's +- intellectual property rights is required to exercise the rights +- granted by such Contributor under Sections 2.1 or 2.2, +- Contributor must include a text file with the Source Code +- distribution titled "LEGAL" which describes the claim and the +- party making the claim in sufficient detail that a recipient will +- know whom to contact. If Contributor obtains such knowledge after +- the Modification is made available as described in Section 3.2, +- Contributor shall promptly modify the LEGAL file in all copies +- Contributor makes available thereafter and shall take other steps +- (such as notifying appropriate mailing lists or newsgroups) +- reasonably calculated to inform those who received the Covered +- Code that new knowledge has been obtained. +- +- (b) Contributor APIs. +- If Contributor's Modifications include an application programming +- interface and Contributor has knowledge of patent licenses which +- are reasonably necessary to implement that API, Contributor must +- also include this information in the LEGAL file. +- +- (c) Representations. +- Contributor represents that, except as disclosed pursuant to +- Section 3.4(a) above, Contributor believes that Contributor's +- Modifications are Contributor's original creation(s) and/or +- Contributor has sufficient rights to grant the rights conveyed by +- this License. +- +- 3.5. Required Notices. +- You must duplicate the notice in Exhibit A in each file of the Source +- Code. If it is not possible to put such notice in a particular Source +- Code file due to its structure, then You must include such notice in a +- location (such as a relevant directory) where a user would be likely +- to look for such a notice. If You created one or more Modification(s) +- You may add your name as a Contributor to the notice described in +- Exhibit A. You must also duplicate this License in any documentation +- for the Source Code where You describe recipients' rights or ownership +- rights relating to Covered Code. You may choose to offer, and to +- charge a fee for, warranty, support, indemnity or liability +- obligations to one or more recipients of Covered Code. However, You +- may do so only on Your own behalf, and not on behalf of the Initial +- Developer or any Contributor. You must make it absolutely clear than +- any such warranty, support, indemnity or liability obligation is +- offered by You alone, and You hereby agree to indemnify the Initial +- Developer and every Contributor for any liability incurred by the +- Initial Developer or such Contributor as a result of warranty, +- support, indemnity or liability terms You offer. +- +- 3.6. Distribution of Executable Versions. +- You may distribute Covered Code in Executable form only if the +- requirements of Section 3.1-3.5 have been met for that Covered Code, +- and if You include a notice stating that the Source Code version of +- the Covered Code is available under the terms of this License, +- including a description of how and where You have fulfilled the +- obligations of Section 3.2. The notice must be conspicuously included +- in any notice in an Executable version, related documentation or +- collateral in which You describe recipients' rights relating to the +- Covered Code. You may distribute the Executable version of Covered +- Code or ownership rights under a license of Your choice, which may +- contain terms different from this License, provided that You are in +- compliance with the terms of this License and that the license for the +- Executable version does not attempt to limit or alter the recipient's +- rights in the Source Code version from the rights set forth in this +- License. If You distribute the Executable version under a different +- license You must make it absolutely clear that any terms which differ +- from this License are offered by You alone, not by the Initial +- Developer or any Contributor. You hereby agree to indemnify the +- Initial Developer and every Contributor for any liability incurred by +- the Initial Developer or such Contributor as a result of any such +- terms You offer. +- +- 3.7. Larger Works. +- You may create a Larger Work by combining Covered Code with other code +- not governed by the terms of this License and distribute the Larger +- Work as a single product. In such a case, You must make sure the +- requirements of this License are fulfilled for the Covered Code. +- +-4. Inability to Comply Due to Statute or Regulation. +- +- If it is impossible for You to comply with any of the terms of this +- License with respect to some or all of the Covered Code due to +- statute, judicial order, or regulation then You must: (a) comply with +- the terms of this License to the maximum extent possible; and (b) +- describe the limitations and the code they affect. Such description +- must be included in the LEGAL file described in Section 3.4 and must +- be included with all distributions of the Source Code. Except to the +- extent prohibited by statute or regulation, such description must be +- sufficiently detailed for a recipient of ordinary skill to be able to +- understand it. +- +-5. Application of this License. +- +- This License applies to code to which the Initial Developer has +- attached the notice in Exhibit A and to related Covered Code. +- +-6. Versions of the License. +- +- 6.1. New Versions. +- Netscape Communications Corporation ("Netscape") may publish revised +- and/or new versions of the License from time to time. Each version +- will be given a distinguishing version number. +- +- 6.2. Effect of New Versions. +- Once Covered Code has been published under a particular version of the +- License, You may always continue to use it under the terms of that +- version. You may also choose to use such Covered Code under the terms +- of any subsequent version of the License published by Netscape. No one +- other than Netscape has the right to modify the terms applicable to +- Covered Code created under this License. +- +- 6.3. Derivative Works. +- If You create or use a modified version of this License (which you may +- only do in order to apply it to code which is not already Covered Code +- governed by this License), You must (a) rename Your license so that +- the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", +- "MPL", "NPL" or any confusingly similar phrase do not appear in your +- license (except to note that your license differs from this License) +- and (b) otherwise make it clear that Your version of the license +- contains terms which differ from the Mozilla Public License and +- Netscape Public License. (Filling in the name of the Initial +- Developer, Original Code or Contributor in the notice described in +- Exhibit A shall not of themselves be deemed to be modifications of +- this License.) +- +-7. DISCLAIMER OF WARRANTY. +- +- COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, +- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +- WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF +- DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. +- THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE +- IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, +- YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE +- COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER +- OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF +- ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. +- +-8. TERMINATION. +- +- 8.1. This License and the rights granted hereunder will terminate +- automatically if You fail to comply with terms herein and fail to cure +- such breach within 30 days of becoming aware of the breach. All +- sublicenses to the Covered Code which are properly granted shall +- survive any termination of this License. Provisions which, by their +- nature, must remain in effect beyond the termination of this License +- shall survive. +- +- 8.2. If You initiate litigation by asserting a patent infringement +- claim (excluding declatory judgment actions) against Initial Developer +- or a Contributor (the Initial Developer or Contributor against whom +- You file such action is referred to as "Participant") alleging that: +- +- (a) such Participant's Contributor Version directly or indirectly +- infringes any patent, then any and all rights granted by such +- Participant to You under Sections 2.1 and/or 2.2 of this License +- shall, upon 60 days notice from Participant terminate prospectively, +- unless if within 60 days after receipt of notice You either: (i) +- agree in writing to pay Participant a mutually agreeable reasonable +- royalty for Your past and future use of Modifications made by such +- Participant, or (ii) withdraw Your litigation claim with respect to +- the Contributor Version against such Participant. If within 60 days +- of notice, a reasonable royalty and payment arrangement are not +- mutually agreed upon in writing by the parties or the litigation claim +- is not withdrawn, the rights granted by Participant to You under +- Sections 2.1 and/or 2.2 automatically terminate at the expiration of +- the 60 day notice period specified above. +- +- (b) any software, hardware, or device, other than such Participant's +- Contributor Version, directly or indirectly infringes any patent, then +- any rights granted to You by such Participant under Sections 2.1(b) +- and 2.2(b) are revoked effective as of the date You first made, used, +- sold, distributed, or had made, Modifications made by that +- Participant. +- +- 8.3. If You assert a patent infringement claim against Participant +- alleging that such Participant's Contributor Version directly or +- indirectly infringes any patent where such claim is resolved (such as +- by license or settlement) prior to the initiation of patent +- infringement litigation, then the reasonable value of the licenses +- granted by such Participant under Sections 2.1 or 2.2 shall be taken +- into account in determining the amount or value of any payment or +- license. +- +- 8.4. In the event of termination under Sections 8.1 or 8.2 above, +- all end user license agreements (excluding distributors and resellers) +- which have been validly granted by You or any distributor hereunder +- prior to termination shall survive termination. +- +-9. LIMITATION OF LIABILITY. +- +- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT +- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL +- DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, +- OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR +- ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY +- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, +- WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER +- COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN +- INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF +- LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY +- RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW +- PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE +- EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO +- THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. +- +-10. U.S. GOVERNMENT END USERS. +- +- The Covered Code is a "commercial item," as that term is defined in +- 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer +- software" and "commercial computer software documentation," as such +- terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 +- C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), +- all U.S. Government End Users acquire Covered Code with only those +- rights set forth herein. +- +-11. MISCELLANEOUS. +- +- This License represents the complete agreement concerning subject +- matter hereof. If any provision of this License is held to be +- unenforceable, such provision shall be reformed only to the extent +- necessary to make it enforceable. This License shall be governed by +- California law provisions (except to the extent applicable law, if +- any, provides otherwise), excluding its conflict-of-law provisions. +- With respect to disputes in which at least one party is a citizen of, +- or an entity chartered or registered to do business in the United +- States of America, any litigation relating to this License shall be +- subject to the jurisdiction of the Federal Courts of the Northern +- District of California, with venue lying in Santa Clara County, +- California, with the losing party responsible for costs, including +- without limitation, court costs and reasonable attorneys' fees and +- expenses. The application of the United Nations Convention on +- Contracts for the International Sale of Goods is expressly excluded. +- Any law or regulation which provides that the language of a contract +- shall be construed against the drafter shall not apply to this +- License. +- +-12. RESPONSIBILITY FOR CLAIMS. +- +- As between Initial Developer and the Contributors, each party is +- responsible for claims and damages arising, directly or indirectly, +- out of its utilization of rights under this License and You agree to +- work with Initial Developer and Contributors to distribute such +- responsibility on an equitable basis. Nothing herein is intended or +- shall be deemed to constitute any admission of liability. +- +-13. MULTIPLE-LICENSED CODE. +- +- Initial Developer may designate portions of the Covered Code as +- "Multiple-Licensed". "Multiple-Licensed" means that the Initial +- Developer permits you to utilize portions of the Covered Code under +- Your choice of the NPL or the alternative licenses, if any, specified +- by the Initial Developer in the file described in Exhibit A. +- +-EXHIBIT A -Mozilla Public License. +- +- ``The contents of this file are subject to the Mozilla Public License +- Version 1.1 (the "License"); you may not use this file except in +- compliance with the License. You may obtain a copy of the License at +- http://www.mozilla.org/MPL/ +- +- Software distributed under the License is distributed on an "AS IS" +- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the +- License for the specific language governing rights and limitations +- under the License. +- +- The Original Code is ______________________________________. +- +- The Initial Developer of the Original Code is ________________________. +- Portions created by ______________________ are Copyright (C) ______ +- _______________________. All Rights Reserved. +- +- Contributor(s): ______________________________________. +- +- Alternatively, the contents of this file may be used under the terms +- of the _____ license (the "[___] License"), in which case the +- provisions of [______] License are applicable instead of those +- above. If you wish to allow use of your version of this file only +- under the terms of the [____] License and not to allow others to use +- your version of this file under the MPL, indicate your decision by +- deleting the provisions above and replace them with the notice and +- other provisions required by the [___] License. If you do not delete +- the provisions above, a recipient may use your version of this file +- under either the MPL or the [___] License." +- +- [NOTE: The text of this Exhibit A may differ slightly from the text of +- the notices in the Source Code files of the Original Code. You should +- use the text of this Exhibit A rather than the text found in the +- Original Code Source Code for Your Modifications.] ++Permission is hereby granted, free of charge, to any person obtaining a copy of this software ++and associated documentation files (the "Software"), to deal in the Software without restriction, ++including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, ++and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, ++subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in all copies or substantial ++portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT ++NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ++WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE ++OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +\ No newline at end of file +-- +2.19.2 + diff --git a/bsp/buildroot/package/libgdiplus/libgdiplus.hash b/bsp/buildroot/package/libgdiplus/libgdiplus.hash index 740fefd9..d89b352d 100644 --- a/bsp/buildroot/package/libgdiplus/libgdiplus.hash +++ b/bsp/buildroot/package/libgdiplus/libgdiplus.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 ce31da0c6952c8fd160813dfa9bf4a9a871bfe7284e9e3abff9a8ee689acfe58 libgdiplus-5.4.tar.gz +sha256 6a75e4a476695cd6a1475fd6b989423ecf73978fd757673669771d8a6e13f756 libgdiplus-5.6.tar.gz +sha256 81317bf837e02a116dc20b032fa1d0cbf9ec357621f141ff2c2daf26c17cbb5d LICENSE diff --git a/bsp/buildroot/package/libgdiplus/libgdiplus.mk b/bsp/buildroot/package/libgdiplus/libgdiplus.mk index eb185857..d120f6a3 100644 --- a/bsp/buildroot/package/libgdiplus/libgdiplus.mk +++ b/bsp/buildroot/package/libgdiplus/libgdiplus.mk @@ -4,15 +4,11 @@ # ################################################################################ -LIBGDIPLUS_VERSION = 5.4 +LIBGDIPLUS_VERSION = 5.6 LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) -# Although there is a LICENSE file thas specifies LGPL or MPL-1.1, -# looks like it is incorrect. The actual source files specify that -# they're licensed under MIT, and so does the COPYING file (and they -# all predate the addition of the LICENSE file). LIBGDIPLUS_LICENSE = MIT -LIBGDIPLUS_LICENSE_FILES = COPYING src/carbon-private.h +LIBGDIPLUS_LICENSE_FILES = LICENSE LIBGDIPLUS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libgee/libgee.hash b/bsp/buildroot/package/libgee/libgee.hash index 83ac8101..77f39d6b 100644 --- a/bsp/buildroot/package/libgee/libgee.hash +++ b/bsp/buildroot/package/libgee/libgee.hash @@ -1,2 +1,5 @@ -# From http://ftp.acc.umu.se/pub/gnome/sources/libgee/0.18/libgee-0.18.1.sha256sum -sha256 99686bbe5a9c89ba9502c25f61314ee8efa0dd2a1159c9a639afc1458c2839a2 libgee-0.18.1.tar.xz +# From http://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.20.1.sha256sum +sha256 bb2802d29a518e8c6d2992884691f06ccfcc25792a5686178575c7111fea4630 libgee-0.20.1.tar.xz + +# Hash for license file: +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/bsp/buildroot/package/libgee/libgee.mk b/bsp/buildroot/package/libgee/libgee.mk index 9d87169e..264ba989 100644 --- a/bsp/buildroot/package/libgee/libgee.mk +++ b/bsp/buildroot/package/libgee/libgee.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEE_VERSION_MAJOR = 0.18 +LIBGEE_VERSION_MAJOR = 0.20 LIBGEE_VERSION = $(LIBGEE_VERSION_MAJOR).1 LIBGEE_SITE = http://ftp.gnome.org/pub/gnome/sources/libgee/$(LIBGEE_VERSION_MAJOR) LIBGEE_SOURCE = libgee-$(LIBGEE_VERSION).tar.xz diff --git a/bsp/buildroot/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch b/bsp/buildroot/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch new file mode 100644 index 00000000..a8a2d257 --- /dev/null +++ b/bsp/buildroot/package/libgeotiff/0002-fix-GEO_NORMALIZE_DISABLE_TOWGS84-define.patch @@ -0,0 +1,20 @@ +Fix GEO_NORMALIZE_DISABLE_TOWGS84 definition + +Fix "missing template: GEO_NORMALIZE_DISABLE_TOWGS84" error by adding +a non-empty description of GEO_NORMALIZE_DISABLE_TOWGS84 in AC_DEFINE + +Signed-off-by: Fabrice Fontaine + +Index: libgeotiff/configure.ac +=================================================================== +--- libgeotiff/configure.ac (révision 2818) ++++ libgeotiff/configure.ac (copie de travail) +@@ -317,7 +317,7 @@ + AM_CONDITIONAL([CSV_IS_CONFIG], [test ! x$CSV_CONFIG = xno]) + + +-AC_ARG_ENABLE(towgs84, [ --disable-towgs84 Disable WGS84 parameters for binary compatibility with pre-1.4.1], AC_DEFINE(GEO_NORMALIZE_DISABLE_TOWGS84)) ++AC_ARG_ENABLE(towgs84, [ --disable-towgs84 Disable WGS84 parameters for binary compatibility with pre-1.4.1], AC_DEFINE(GEO_NORMALIZE_DISABLE_TOWGS84, [], [Disable WGS84 parameters])) + + dnl ######################################################################### + dnl Doxygen settings diff --git a/bsp/buildroot/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch b/bsp/buildroot/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch new file mode 100644 index 00000000..68082dd0 --- /dev/null +++ b/bsp/buildroot/package/libgeotiff/0003-libgeotiff-configure.ac-do-not-check-for-C.patch @@ -0,0 +1,65 @@ +From edc9ec69b43c27955ee4f24db2e6808bb1a8974d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 23:20:43 +0100 +Subject: [PATCH] libgeotiff/configure.ac: do not check for C++ + +Do not check for C++ compiler as libgeotiff is written in C otherwise +build will fail on toolchains without a working C++ compiler: + +checking how to run the C++ preprocessor... /lib/cpp +configure: error: in `/data/buildroot/buildroot-test/instance-1/output/build/libgeotiff-1.4.2': +configure: error: C++ preprocessor "/lib/cpp" fails sanity check + +Fixes: + - http://autobuild.buildroot.org/results/72f1c5c1b8fc337a1cff4b280abe99afd65f945b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/OSGeo/libgeotiff/pull/9] +--- + libgeotiff/configure.ac | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a334416..4ebbd6f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,6 @@ dnl ######################################################################### + AM_INIT_AUTOMAKE + AM_MAINTAINER_MODE + AC_PROG_CC +-AC_PROG_CXX +-AC_PROG_CXXCPP + AC_PROG_INSTALL + AC_PROG_LN_S + AC_PROG_MAKE_SET +@@ -46,7 +44,6 @@ dnl ######################################################################### + m4_define([debug_default],[no]) + + CFLAGS="$CFLAGS" +-CXXFLAGS="$CXXFLAGS" + + dnl We want to honor the users wishes with regard to linking. + LIBS="$LDFLAGS $LIBS" +@@ -82,11 +79,9 @@ AC_MSG_CHECKING([for debug enabled]) + + if test "x$enable_debug" = "xyes"; then + CFLAGS="$CFLAGS -g -DDEBUG -Wall" +- CXXFLAGS="$CXXFLAGS -g -DDEBUG -Wall" + AC_MSG_RESULT(yes) + else + CFLAGS="$CFLAGS -O3 -DNDEBUG" +- CXXFLAGS="$CXXFLAGS -O3 -DNDEBUG" + AC_MSG_RESULT(no) + fi + +@@ -367,7 +362,6 @@ LOC_MSG() + LOC_MSG([ Version..................: ${RELEASE_VERSION}]) + LOC_MSG([ Installation directory...: ${prefix}]) + LOC_MSG([ C compiler...............: ${CC} ${CFLAGS}]) +-LOC_MSG([ C++ compiler.............: ${CXX} ${CXXFLAGS}]) + + LOC_MSG([ Debugging support........: ${enable_debug}]) + LOC_MSG() +-- +2.14.1 + diff --git a/bsp/buildroot/package/libgeotiff/libgeotiff.hash b/bsp/buildroot/package/libgeotiff/libgeotiff.hash index 66b8cb74..08e8e067 100644 --- a/bsp/buildroot/package/libgeotiff/libgeotiff.hash +++ b/bsp/buildroot/package/libgeotiff/libgeotiff.hash @@ -1,2 +1,3 @@ # Locally computed -sha1 4c6f405869826bb7d9f35f1d69167e3b44a57ef0 libgeotiff-1.4.0.tar.gz +sha256 b8510d9b968b5ee899282cdd5bef13fd02d5a4c19f664553f81e31127bc47265 libgeotiff-1.4.3.tar.gz +sha256 16b83cf7c3bbfd20bffa768b9bfdb16506ca50f5c140a9f3431e740b155359c1 LICENSE diff --git a/bsp/buildroot/package/libgeotiff/libgeotiff.mk b/bsp/buildroot/package/libgeotiff/libgeotiff.mk index 96f04c2e..a4606bc3 100644 --- a/bsp/buildroot/package/libgeotiff/libgeotiff.mk +++ b/bsp/buildroot/package/libgeotiff/libgeotiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGEOTIFF_VERSION = 1.4.0 +LIBGEOTIFF_VERSION = 1.4.3 LIBGEOTIFF_SITE = http://download.osgeo.org/geotiff/libgeotiff LIBGEOTIFF_LICENSE = X11-style, public domain LIBGEOTIFF_LICENSE_FILES = LICENSE @@ -26,4 +26,11 @@ else LIBGEOTIFF_CONF_OPTS += --without-jpeg endif +ifeq ($(BR2_PACKAGE_PROJ),y) +LIBGEOTIFF_DEPENDENCIES += proj +LIBGEOTIFF_CONF_OPTS += --with-proj=$(STAGING_DIR)/usr +else +LIBGEOTIFF_CONF_OPTS += --without-proj +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libgit2/Config.in b/bsp/buildroot/package/libgit2/Config.in new file mode 100644 index 00000000..53ba4d42 --- /dev/null +++ b/bsp/buildroot/package/libgit2/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBGIT2 + bool "libgit2" + select BR2_PACKAGE_ZLIB + help + libgit2 is a portable, pure C implementation of the Git core + methods provided as a linkable library with a solid API, + allowing to build Git functionality into your application. + + https://github.com/libgit2/libgit2 diff --git a/bsp/buildroot/package/libgit2/libgit2.hash b/bsp/buildroot/package/libgit2/libgit2.hash new file mode 100644 index 00000000..41ab87bf --- /dev/null +++ b/bsp/buildroot/package/libgit2/libgit2.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0b7ca31cb959ff1b22afa0da8621782afe61f99242bf716c403802ffbdb21d51 libgit2-v0.27.4.tar.gz +sha256 d9a8038088df84fde493fa33a0f1e537252eeb9642122aa4b862690197152813 COPYING diff --git a/bsp/buildroot/package/libgit2/libgit2.mk b/bsp/buildroot/package/libgit2/libgit2.mk new file mode 100644 index 00000000..551e3dea --- /dev/null +++ b/bsp/buildroot/package/libgit2/libgit2.mk @@ -0,0 +1,51 @@ +################################################################################ +# +# libgit2 +# +################################################################################ + +LIBGIT2_VERSION = v0.27.4 +LIBGIT2_SITE = $(call github,libgit2,libgit2,$(LIBGIT2_VERSION)) +LIBGIT2_LICENSE = GPL-2.0 with linking exception +LIBGIT2_LICENSE_FILES = COPYING +LIBGIT2_INSTALL_STAGING = YES + +LIBGIT2_CONF_OPTS = \ + -DUSE_GSSAPI=OFF \ + -DBUILD_CLAR=OFF \ + -DUSE_ICONV=ON \ + -DTHREADSAFE=$(if $(BR2_TOOLCHAIN_HAS_THREADS),ON,OFF) + +LIBGIT2_DEPENDENCIES = zlib + +# If libiconv is available (for !locale toolchains), then we can use +# it for iconv support. Note that USE_ICONV=ON is still correct even +# without libiconv because (1) most toolchain have iconv support +# without libiconv and (2) even if USE_ICONV=ON but iconv support is +# not available, libgit2 simply avoids using iconv. +ifeq ($(BR2_PACKAGE_LIBICONV),y) +LIBGIT2_DEPENDENCIES += libiconv +endif + +ifeq ($(BR2_PACKAGE_LIBSSH2),y) +LIBGIT2_DEPENDENCIES += libssh2 +LIBGIT2_CONF_OPTS += -DUSE_SSH=ON +else +LIBGIT2_CONF_OPTS += -DUSE_SSH=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +LIBGIT2_DEPENDENCIES += openssl +LIBGIT2_CONF_OPTS += -DUSE_HTTPS=OpenSSL +else +LIBGIT2_CONF_OPTS += -DUSE_HTTPS=OFF +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +LIBGIT2_DEPENDENCIES += libcurl +LIBGIT2_CONF_OPTS += -DCURL=ON +else +LIBGIT2_CONF_OPTS += -DCURL=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libglade/libglade.hash b/bsp/buildroot/package/libglade/libglade.hash index fdcc837e..b96c5814 100644 --- a/bsp/buildroot/package/libglade/libglade.hash +++ b/bsp/buildroot/package/libglade/libglade.hash @@ -1,2 +1,5 @@ # From http://ftp.gnome.org/pub/GNOME/sources/libglade/2.6/libglade-2.6.4.sha256sum sha256 64361e7647839d36ed8336d992fd210d3e8139882269bed47dc4674980165dec libglade-2.6.4.tar.bz2 + +# Hash for license file: +sha256 94b03f1a60a7fd5007149530626a895a6ef5a8b9342abfd56860c5f3956f5d23 COPYING diff --git a/bsp/buildroot/package/libglfw/libglfw.hash b/bsp/buildroot/package/libglfw/libglfw.hash index c0ad2af1..39d6c261 100644 --- a/bsp/buildroot/package/libglfw/libglfw.hash +++ b/bsp/buildroot/package/libglfw/libglfw.hash @@ -1,2 +1,3 @@ # Locally computed sha256 e10f0de1384d75e6fc210c53e91843f6110d6c4f3afbfb588130713c2f9d8fe8 libglfw-3.2.1.tar.gz +sha256 8d85c2fc8de8f3b8c0906e317a2d6423268ef4291a3682d94ac910f65389a441 COPYING.txt diff --git a/bsp/buildroot/package/libglib2/libglib2.hash b/bsp/buildroot/package/libglib2/libglib2.hash index cf1c9557..57403a21 100644 --- a/bsp/buildroot/package/libglib2/libglib2.hash +++ b/bsp/buildroot/package/libglib2/libglib2.hash @@ -1,4 +1,4 @@ -# https://download.gnome.org/sources/glib/2.54/glib-2.54.2.sha256sum -sha256 bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c glib-2.54.2.tar.xz +# https://download.gnome.org/sources/glib/2.56/glib-2.56.3.sha256sum +sha256 a9a4c5b4c81b6c75bc140bdf5e32120ef3ce841b7413214ecf5f987acec74cb2 glib-2.56.3.tar.xz # License files, locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libglib2/libglib2.mk b/bsp/buildroot/package/libglib2/libglib2.mk index ff28ca61..f602c371 100644 --- a/bsp/buildroot/package/libglib2/libglib2.mk +++ b/bsp/buildroot/package/libglib2/libglib2.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBGLIB2_VERSION_MAJOR = 2.54 -LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).2 +LIBGLIB2_VERSION_MAJOR = 2.56 +LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).3 LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz LIBGLIB2_SITE = http://ftp.gnome.org/pub/gnome/sources/glib/$(LIBGLIB2_VERSION_MAJOR) LIBGLIB2_LICENSE = LGPL-2.1+ @@ -112,9 +112,14 @@ HOST_LIBGLIB2_DEPENDENCIES = \ host-util-linux \ host-zlib +# We explicitly specify a giomodule-dir to avoid having a value +# containing ${libdir} in gio-2.0.pc. Indeed, a value depending on +# ${libdir} would be prefixed by the sysroot by pkg-config, causing a +# bogus installation path once combined with $(DESTDIR). LIBGLIB2_CONF_OPTS = \ --with-pcre=system \ - --disable-compile-warnings + --disable-compile-warnings \ + --with-gio-module-dir=/usr/lib/gio/modules ifneq ($(BR2_ENABLE_LOCALE),y) LIBGLIB2_DEPENDENCIES += libiconv diff --git a/bsp/buildroot/package/libglob/libglob.hash b/bsp/buildroot/package/libglob/libglob.hash index 0b394075..2d905368 100644 --- a/bsp/buildroot/package/libglob/libglob.hash +++ b/bsp/buildroot/package/libglob/libglob.hash @@ -1,2 +1,3 @@ # Locally calculated: sha256 4f1b204dad065689941c64828a92441fb316c9c7539b39525fa728125da65e22 libglob-1.0.tar.gz +sha256 4cd4bac6ef90d4a91ee6e52df30f241045fb1a27fb53541ef4a9f8e47e6103ca LICENSE diff --git a/bsp/buildroot/package/libglu/libglu.hash b/bsp/buildroot/package/libglu/libglu.hash index 784386e0..46878786 100644 --- a/bsp/buildroot/package/libglu/libglu.hash +++ b/bsp/buildroot/package/libglu/libglu.hash @@ -1,2 +1,3 @@ # locally computed sha256 3d19cca9b26ec4048dd22e3d294acd43e080a3205a29ff47765bd514571ea8f9 glu-9.0.0.tar.gz +sha256 84187ce0fd0153769675cb7f3301583eb27393f66b57c5604999a1d805a9184c include/GL/glu.h diff --git a/bsp/buildroot/package/libgpg-error/Config.in b/bsp/buildroot/package/libgpg-error/Config.in index 40424e41..dbb55498 100644 --- a/bsp/buildroot/package/libgpg-error/Config.in +++ b/bsp/buildroot/package/libgpg-error/Config.in @@ -6,9 +6,10 @@ config BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS BR2_armeb || BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_mips64 || BR2_mips64el || \ BR2_m68k || BR2_nios2 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || \ - BR2_sh4eb || BR2_sh4a || BR2_sh4aeb || \ - BR2_sparc || BR2_sparc64 || BR2_x86_64 + BR2_powerpc64 || BR2_powerpc64le || BR2_RISCV_64 || \ + BR2_sh4 || BR2_sh4eb || BR2_sh4a || \ + BR2_sh4aeb || BR2_sparc || BR2_sparc64 || \ + BR2_x86_64 config BR2_PACKAGE_LIBGPG_ERROR bool "libgpg-error" @@ -39,11 +40,13 @@ config BR2_PACKAGE_LIBGPG_ERROR_SYSCFG if BR2_powerpc default "powerpc64-unknown-linux-gnu" \ if BR2_powerpc64 || BR2_powerpc64le + default "riscv64-unknown-linux-gnu" \ + if BR2_RISCV_64 default "sh4-unknown-linux-gnu" \ if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb default "sparc-unknown-linux-gnu" \ if BR2_sparc default "sparc64-unknown-linux-gnu" \ if BR2_sparc64 - default "x86_64-pc-linux-gnu" \ + default "x86_64-unknown-linux-gnu" \ if BR2_x86_64 diff --git a/bsp/buildroot/package/libgpg-error/libgpg-error.hash b/bsp/buildroot/package/libgpg-error/libgpg-error.hash index 0e6304de..b18ab7e6 100644 --- a/bsp/buildroot/package/libgpg-error/libgpg-error.hash +++ b/bsp/buildroot/package/libgpg-error/libgpg-error.hash @@ -1,6 +1,7 @@ # Locally calculated after checking pgp signature -# https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.29.tar.bz2.sig -sha256 ece926fa5719d17a7ad8da618712cfa2f8a796ab2f2af9d544c5bb093383b1ea libgpg-error-1.29.tar.bz2 +# https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.33.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 5d38826656e746c936e7742d9cde072b50baa3c4c49daa168a56813612bf03ff libgpg-error-1.33.tar.bz2 # Locally calculated sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/bsp/buildroot/package/libgpg-error/libgpg-error.mk b/bsp/buildroot/package/libgpg-error/libgpg-error.mk index 862cb44e..d26d92fb 100644 --- a/bsp/buildroot/package/libgpg-error/libgpg-error.mk +++ b/bsp/buildroot/package/libgpg-error/libgpg-error.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPG_ERROR_VERSION = 1.29 +LIBGPG_ERROR_VERSION = 1.33 LIBGPG_ERROR_SITE = https://www.gnupg.org/ftp/gcrypt/libgpg-error LIBGPG_ERROR_SOURCE = libgpg-error-$(LIBGPG_ERROR_VERSION).tar.bz2 LIBGPG_ERROR_LICENSE = GPL-2.0+, LGPL-2.1+ @@ -12,14 +12,7 @@ LIBGPG_ERROR_LICENSE_FILES = COPYING COPYING.LIB LIBGPG_ERROR_INSTALL_STAGING = YES LIBGPG_ERROR_CONFIG_SCRIPTS = gpg-error-config LIBGPG_ERROR_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) - -define LIBGPG_ERROR_FIX_CROSS_COMPILATION - cd $(@D)/src/syscfg && \ - ln -s lock-obj-pub.$(call qstrip, $(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG)).h \ - lock-obj-pub.$(GNU_TARGET_NAME).h -endef -LIBGPG_ERROR_PRE_CONFIGURE_HOOKS += LIBGPG_ERROR_FIX_CROSS_COMPILATION - -LIBGPG_ERROR_CONF_OPTS = --disable-tests +LIBGPG_ERROR_CONF_OPTS = --disable-tests \ + --host=$(BR2_PACKAGE_LIBGPG_ERROR_SYSCFG) $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch b/bsp/buildroot/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch deleted file mode 100644 index ae0e9c54..00000000 --- a/bsp/buildroot/package/libgpgme/0001-core-Tweak-STATUS_FAILURE-handling.patch +++ /dev/null @@ -1,51 +0,0 @@ -From b99502274ae5efdf6df0d967900ec3d1e64373d7 Mon Sep 17 00:00:00 2001 -From: Werner Koch -Date: Thu, 12 Apr 2018 20:36:30 +0200 -Subject: [PATCH] core: Tweak STATUS_FAILURE handling. - -* src/op-support.c (_gpgme_parse_failure): Ignore failures with -location "gpg-exit". -* tests/gpg/t-verify.c (main): Adjust for the now working checking of -the second key. - -Signed-off-by: Werner Koch -[baruch: drop test] -Signed-off-by: Baruch Siach ---- -Upstream status: commit b99502274ae - - src/op-support.c | 10 +++++++++- - tests/gpg/t-verify.c | 8 +++++--- - 2 files changed, 14 insertions(+), 4 deletions(-) - -diff --git a/src/op-support.c b/src/op-support.c -index 43cb1c760e0d..e55875f904d0 100644 ---- a/src/op-support.c -+++ b/src/op-support.c -@@ -400,7 +400,13 @@ _gpgme_parse_plaintext (char *args, char **filenamep) - - - /* Parse a FAILURE status line and return the error code. ARGS is -- modified to contain the location part. */ -+ * modified to contain the location part. Note that for now we ignore -+ * failure codes with a location of gpg-exit; they are too trouble -+ * some. Instead we should eventually record that error in the -+ * context and provide a function to return a fuller error -+ * description; this could then also show the location of the error -+ * (e.g. "option- parser") to make it easier for the user to detect -+ * the actual error. */ - gpgme_error_t - _gpgme_parse_failure (char *args) - { -@@ -418,6 +424,8 @@ _gpgme_parse_failure (char *args) - *where = '\0'; - - where = args; -+ if (!strcmp (where, "gpg-exit")) -+ return 0; - - return atoi (which); - } --- -2.17.0 - diff --git a/bsp/buildroot/package/libgpgme/libgpgme.hash b/bsp/buildroot/package/libgpgme/libgpgme.hash index 6bd595c5..1e61fbd8 100644 --- a/bsp/buildroot/package/libgpgme/libgpgme.hash +++ b/bsp/buildroot/package/libgpgme/libgpgme.hash @@ -1,7 +1,8 @@ -# From https://lists.gnupg.org/pipermail/gnupg-announce/2017q4/000418.html -sha1 77d3390887da25ed70b7ac04392360efbdca501f gpgme-1.10.0.tar.bz2 +# From https://lists.gnupg.org/pipermail/gnupg-announce/2018q4/000429.html +sha1 6f1828fcd7de4366ca063e57f35e4ab24bc91baf gpgme-1.12.0.tar.bz2 # Locally calculated after checking pgp signature -# https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.10.0.tar.bz2.sig -sha256 1a8fed1197c3b99c35f403066bb344a26224d292afc048cfdfc4ccd5690a0693 gpgme-1.10.0.tar.bz2 +# https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.12.0.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 b4dc951c3743a60e2e120a77892e9e864fb936b2e58e7c77e8581f4d050e8cd8 gpgme-1.12.0.tar.bz2 # Locally calculated sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LESSER diff --git a/bsp/buildroot/package/libgpgme/libgpgme.mk b/bsp/buildroot/package/libgpgme/libgpgme.mk index 5c46c7c5..85450c83 100644 --- a/bsp/buildroot/package/libgpgme/libgpgme.mk +++ b/bsp/buildroot/package/libgpgme/libgpgme.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPGME_VERSION = 1.10.0 +LIBGPGME_VERSION = 1.12.0 LIBGPGME_SITE = https://gnupg.org/ftp/gcrypt/gpgme LIBGPGME_SOURCE = gpgme-$(LIBGPGME_VERSION).tar.bz2 LIBGPGME_LICENSE = LGPL-2.1+ @@ -12,6 +12,7 @@ LIBGPGME_LICENSE_FILES = COPYING.LESSER LIBGPGME_INSTALL_STAGING = YES LIBGPGME_DEPENDENCIES = libassuan libgpg-error LIBGPGME_LANGUAGE_BINDINGS = cl +LIBGPGME_CONFIG_SCRIPTS = gpgme-config LIBGPGME_CONF_OPTS = \ --with-gpg-error-prefix=$(STAGING_DIR)/usr \ diff --git a/bsp/buildroot/package/libgphoto2/libgphoto2.hash b/bsp/buildroot/package/libgphoto2/libgphoto2.hash index 1afe275c..e0590df8 100644 --- a/bsp/buildroot/package/libgphoto2/libgphoto2.hash +++ b/bsp/buildroot/package/libgphoto2/libgphoto2.hash @@ -1,6 +1,7 @@ -# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.13/ -md5 73bf5b3d94c8c6f5fad9ea6b5e561843 libgphoto2-2.5.13.tar.bz2 -sha1 cef2d2f1930f8ada16a63aca15683188231a626a libgphoto2-2.5.13.tar.bz2 +# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.17/ +md5 ae78e7a7936a6962c3a22b256bee1869 libgphoto2-2.5.17.tar.bz2 +sha1 b55167bbb73518c5b7f67f90e619c46d05005c7d libgphoto2-2.5.17.tar.bz2 # Locally calculated hash -sha256 ceaacbdf187d1cd1aed5336991f46b0100f6960b6c8383f9aeab98f1f64780ef libgphoto2-2.5.13.tar.bz2 +sha256 417464f0a313fa937e8a71cdf18a371cf01e750830195cd63ae31da0d092b555 libgphoto2-2.5.17.tar.bz2 +sha256 ebc385a0b1d477be5177ed6d9129557aa59a3ad0f26ebe7dd97ee942a0fb68ee COPYING diff --git a/bsp/buildroot/package/libgphoto2/libgphoto2.mk b/bsp/buildroot/package/libgphoto2/libgphoto2.mk index f6dadf1f..2828fcb3 100644 --- a/bsp/buildroot/package/libgphoto2/libgphoto2.mk +++ b/bsp/buildroot/package/libgphoto2/libgphoto2.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBGPHOTO2_VERSION = 2.5.13 +LIBGPHOTO2_VERSION = 2.5.17 LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2 # Project is maintained on github but github tarball doesn't have # configure, so use tarballs from SourceForge diff --git a/bsp/buildroot/package/libgpiod/libgpiod.hash b/bsp/buildroot/package/libgpiod/libgpiod.hash index 6baeee23..e68ebdb8 100644 --- a/bsp/buildroot/package/libgpiod/libgpiod.hash +++ b/bsp/buildroot/package/libgpiod/libgpiod.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/libs/libgpiod/sha256sums.asc -sha256 50c7862428ca90b58672e2475aea66d33a6fc86c6bab1928c0660f3aedf44a37 libgpiod-0.3.2.tar.xz +sha256 736d8b511ad247c2acb01b592f2bbe5e757e14e1d8347b2d80683081ab4b31b8 libgpiod-1.2.1.tar.xz # Hash for license file sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING diff --git a/bsp/buildroot/package/libgpiod/libgpiod.mk b/bsp/buildroot/package/libgpiod/libgpiod.mk index bc2e51d2..c46ffa87 100644 --- a/bsp/buildroot/package/libgpiod/libgpiod.mk +++ b/bsp/buildroot/package/libgpiod/libgpiod.mk @@ -4,13 +4,12 @@ # ################################################################################ -LIBGPIOD_VERSION = 0.3.2 +LIBGPIOD_VERSION = 1.2.1 LIBGPIOD_SOURCE = libgpiod-$(LIBGPIOD_VERSION).tar.xz LIBGPIOD_SITE = https://www.kernel.org/pub/software/libs/libgpiod LIBGPIOD_LICENSE = LGPL-2.1+ LIBGPIOD_LICENSE_FILES = COPYING LIBGPIOD_INSTALL_STAGING = YES - LIBGPIOD_DEPENDENCIES = host-pkgconf ifeq ($(BR2_PACKAGE_LIBGPIOD_TOOLS),y) @@ -19,4 +18,21 @@ else LIBGPIOD_CONF_OPTS += --disable-tools endif +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) +LIBGPIOD_CONF_OPTS += --enable-bindings-cxx +else +LIBGPIOD_CONF_OPTS += --disable-bindings-cxx +endif + +ifeq ($(BR2_PACKAGE_PYTHON3),y) +LIBGPIOD_CONF_OPTS += --enable-bindings-python +LIBGPIOD_DEPENDENCIES += python3 +LIBGPIOD_CONF_ENV += \ + PYTHON=$(HOST_DIR)/bin/python3 \ + PYTHON_CPPFLAGS="`$(STAGING_DIR)/usr/bin/python3-config --includes`" \ + PYTHON_LIBS="`$(STAGING_DIR)/usr/bin/python3-config --ldflags`" +else +LIBGPIOD_CONF_OPTS += --disable-bindings-python +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libgsasl/Config.in b/bsp/buildroot/package/libgsasl/Config.in index 51813862..228f8823 100644 --- a/bsp/buildroot/package/libgsasl/Config.in +++ b/bsp/buildroot/package/libgsasl/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBGSASL bool "libgsasl" + depends on BR2_USE_WCHAR help Simple Authentication and Security Layer framework Library. GNU SASL is an implementation of the Simple Authentication and @@ -9,3 +10,6 @@ config BR2_PACKAGE_LIBGSASL against servers. http://www.gnu.org/software/gsasl + +comment "libgsasl needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/libgsasl/libgsasl.hash b/bsp/buildroot/package/libgsasl/libgsasl.hash index 42059271..82bfe339 100644 --- a/bsp/buildroot/package/libgsasl/libgsasl.hash +++ b/bsp/buildroot/package/libgsasl/libgsasl.hash @@ -1,2 +1,7 @@ # Locally calculated after checking pgp signature sha256 3adfb49f9c92a719dea855fd1840d698cde55d4648d332a69032ba8bea207720 libgsasl-1.8.0.tar.gz + +# Hash for license files: +sha256 4eb54155afd4684d7e9423f6037e5cc887ae4d8818e83d3af93350ebd4a8e6eb README +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/libgsm/libgsm.hash b/bsp/buildroot/package/libgsm/libgsm.hash index a73359d6..523e629d 100644 --- a/bsp/buildroot/package/libgsm/libgsm.hash +++ b/bsp/buildroot/package/libgsm/libgsm.hash @@ -1,2 +1,3 @@ # Locally computed sha256 855a57d1694941ddf3c73cb79b8d0b3891e9c9e7870b4981613b734e1ad07601 gsm-1.0.17.tar.gz +sha256 81c68a3374937ed9b5e4929c709e81a2c4b35b5d1f450ecf8c473e2daea46ff6 COPYRIGHT diff --git a/bsp/buildroot/package/libgtk2/libgtk2.hash b/bsp/buildroot/package/libgtk2/libgtk2.hash index 3388c5cd..49bec78d 100644 --- a/bsp/buildroot/package/libgtk2/libgtk2.hash +++ b/bsp/buildroot/package/libgtk2/libgtk2.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.31.sha256sum -sha256 68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658 gtk+-2.24.31.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-2.24.32.sha256sum +sha256 b6c8a93ddda5eabe3bfee1eb39636c9a03d2a56c7b62828b359bf197943c582e gtk+-2.24.32.tar.xz + +# Hash for license file: +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/bsp/buildroot/package/libgtk2/libgtk2.mk b/bsp/buildroot/package/libgtk2/libgtk2.mk index 0b26d720..8f60573a 100644 --- a/bsp/buildroot/package/libgtk2/libgtk2.mk +++ b/bsp/buildroot/package/libgtk2/libgtk2.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGTK2_VERSION_MAJOR = 2.24 -LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).31 +LIBGTK2_VERSION = $(LIBGTK2_VERSION_MAJOR).32 LIBGTK2_SOURCE = gtk+-$(LIBGTK2_VERSION).tar.xz LIBGTK2_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK2_VERSION_MAJOR) LIBGTK2_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libgtk3/libgtk3.hash b/bsp/buildroot/package/libgtk3/libgtk3.hash index 0f259e9a..b7a89901 100644 --- a/bsp/buildroot/package/libgtk3/libgtk3.hash +++ b/bsp/buildroot/package/libgtk3/libgtk3.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.15.sha256sum -sha256 c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb gtk+-3.22.15.tar.xz +# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.30.sha256sum +sha256 a1a4a5c12703d4e1ccda28333b87ff462741dc365131fbc94c218ae81d9a6567 gtk+-3.22.30.tar.xz + +# Hash for license file: +sha256 b7993225104d90ddd8024fd838faf300bea5e83d91203eab98e29512acebd69c COPYING diff --git a/bsp/buildroot/package/libgtk3/libgtk3.mk b/bsp/buildroot/package/libgtk3/libgtk3.mk index b4a8b8c5..bdf820de 100644 --- a/bsp/buildroot/package/libgtk3/libgtk3.mk +++ b/bsp/buildroot/package/libgtk3/libgtk3.mk @@ -5,7 +5,7 @@ ################################################################################ LIBGTK3_VERSION_MAJOR = 3.22 -LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).15 +LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).30 LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_LICENSE = LGPL-2.0+ @@ -151,8 +151,8 @@ HOST_LIBGTK3_DEPENDENCIES = \ host-librsvg HOST_LIBGTK3_CFLAGS = \ - `$(HOST_DIR)/bin/pkgconf --cflags --libs gdk-pixbuf-2.0` \ - `$(HOST_DIR)/bin/pkgconf --cflags --libs gio-2.0` + `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gdk-pixbuf-2.0` \ + `$(HOST_MAKE_ENV) $(PKG_CONFIG_HOST_BINARY) --cflags --libs gio-2.0` define HOST_LIBGTK3_CONFIGURE_CMDS echo "#define GETTEXT_PACKAGE \"gtk30\"" >> $(@D)/gtk/config.h diff --git a/bsp/buildroot/package/libgudev/libgudev.hash b/bsp/buildroot/package/libgudev/libgudev.hash index a6c1d6b5..138ae93d 100644 --- a/bsp/buildroot/package/libgudev/libgudev.hash +++ b/bsp/buildroot/package/libgudev/libgudev.hash @@ -1,2 +1,5 @@ -# From: http://ftp.gnome.org/pub/GNOME/sources/libgudev/230/libgudev-230.sha256sum -sha256 a2e77faced0c66d7498403adefcc0707105e03db71a2b2abd620025b86347c18 libgudev-230.tar.xz +# From: http://ftp.gnome.org/pub/GNOME/sources/libgudev/232/libgudev-232.sha256sum +sha256 ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860 libgudev-232.tar.xz + +# Hash for license file: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libgudev/libgudev.mk b/bsp/buildroot/package/libgudev/libgudev.mk index fce710a1..50432c46 100644 --- a/bsp/buildroot/package/libgudev/libgudev.mk +++ b/bsp/buildroot/package/libgudev/libgudev.mk @@ -4,12 +4,13 @@ # ################################################################################ -LIBGUDEV_VERSION = 230 +LIBGUDEV_VERSION = 232 LIBGUDEV_SOURCE = libgudev-$(LIBGUDEV_VERSION).tar.xz LIBGUDEV_SITE = http://ftp.gnome.org/pub/GNOME/sources/libgudev/$(LIBGUDEV_VERSION) LIBGUDEV_INSTALL_STAGING = YES LIBGUDEV_DEPENDENCIES = host-pkgconf udev libglib2 LIBGUDEV_LICENSE = LGPL-2.1+ LIBGUDEV_LICENSE_FILES = COPYING +LIBGUDEV_CONF_OPTS = --disable-umockdev $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libhdhomerun/libhdhomerun.hash b/bsp/buildroot/package/libhdhomerun/libhdhomerun.hash index 0938889d..b7ad5b52 100644 --- a/bsp/buildroot/package/libhdhomerun/libhdhomerun.hash +++ b/bsp/buildroot/package/libhdhomerun/libhdhomerun.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 0cb392231961fab6c226c69012503e2ebe46ac0f13512689bd37d6cf9ee838a1 libhdhomerun_20170930.tgz +sha256 437888b27206f526827ee7a4c57c1c167a36483b0445232e07fb7bb7ee854b42 libhdhomerun_20180817.tgz +sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE diff --git a/bsp/buildroot/package/libhdhomerun/libhdhomerun.mk b/bsp/buildroot/package/libhdhomerun/libhdhomerun.mk index 10aff88e..96be54a7 100644 --- a/bsp/buildroot/package/libhdhomerun/libhdhomerun.mk +++ b/bsp/buildroot/package/libhdhomerun/libhdhomerun.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHDHOMERUN_VERSION = 20170930 +LIBHDHOMERUN_VERSION = 20180817 LIBHDHOMERUN_SOURCE = libhdhomerun_$(LIBHDHOMERUN_VERSION).tgz LIBHDHOMERUN_SITE = http://download.silicondust.com/hdhomerun LIBHDHOMERUN_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/libhid/libhid.hash b/bsp/buildroot/package/libhid/libhid.hash index 7a843b60..933ba22a 100644 --- a/bsp/buildroot/package/libhid/libhid.hash +++ b/bsp/buildroot/package/libhid/libhid.hash @@ -1,2 +1,3 @@ # locally computed sha256 f6809ab3b9c907cbb05ceba9ee6ca23a705f85fd71588518e14b3a7d9f2550e5 libhid-0.2.16.tar.gz +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/bsp/buildroot/package/libhttpparser/libhttpparser.hash b/bsp/buildroot/package/libhttpparser/libhttpparser.hash index 8ffceb24..b7df9ca6 100644 --- a/bsp/buildroot/package/libhttpparser/libhttpparser.hash +++ b/bsp/buildroot/package/libhttpparser/libhttpparser.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 7277c6f99bf6fc272eb5d8fc3dca01e7cc1d4ae609b5d2c5d5e18added98479d libhttpparser-v2.8.0.tar.gz +sha256 ef26268c54c8084d17654ba2ed5140bffeffd2a040a895ffb22a6cca3f6c613f libhttpparser-v2.9.0.tar.gz +sha256 79e6ba8b687cb54786207342b9b6fcee0ac10218453ed9009b84d949b2233cc0 LICENSE-MIT diff --git a/bsp/buildroot/package/libhttpparser/libhttpparser.mk b/bsp/buildroot/package/libhttpparser/libhttpparser.mk index 5f50d877..8c0afe28 100644 --- a/bsp/buildroot/package/libhttpparser/libhttpparser.mk +++ b/bsp/buildroot/package/libhttpparser/libhttpparser.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBHTTPPARSER_VERSION = v2.8.0 +LIBHTTPPARSER_VERSION = v2.9.0 LIBHTTPPARSER_SITE = $(call github,nodejs,http-parser,$(LIBHTTPPARSER_VERSION)) LIBHTTPPARSER_INSTALL_STAGING = YES LIBHTTPPARSER_LICENSE = MIT @@ -28,7 +28,7 @@ define HOST_LIBHTTPPARSER_BUILD_CMDS endef define HOST_LIBHTTPPARSER_INSTALL_CMDS - $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) PREFIX=$(HOST_DIR)/usr install + $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) PREFIX=$(HOST_DIR) install endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/libical/libical.hash b/bsp/buildroot/package/libical/libical.hash index 5c42cdcc..7edb29bd 100644 --- a/bsp/buildroot/package/libical/libical.hash +++ b/bsp/buildroot/package/libical/libical.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 089ce3c42d97fbd7a5d4b3c70adbdd82115dd306349c1f5c46a8fb3f8c949592 libical-1.0.1.tar.gz +sha256 c393726f82e6f21df5262110215f6a4382b32046d10afdcfcc49338aa7a191f2 LICENSE diff --git a/bsp/buildroot/package/libiconv/libiconv.hash b/bsp/buildroot/package/libiconv/libiconv.hash index 440daee5..93ad555e 100644 --- a/bsp/buildroot/package/libiconv/libiconv.hash +++ b/bsp/buildroot/package/libiconv/libiconv.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature sha256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178 libiconv-1.15.tar.gz + +# Hash for license files: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 56bdea73b6145ef6ac5259b3da390b981d840c24cb03b8e1cbc678de7ecfa18d COPYING.LIB diff --git a/bsp/buildroot/package/libid3tag/0001-configure-automake-foreign.patch b/bsp/buildroot/package/libid3tag/0001-configure-automake-foreign.patch new file mode 100644 index 00000000..8521d559 --- /dev/null +++ b/bsp/buildroot/package/libid3tag/0001-configure-automake-foreign.patch @@ -0,0 +1,16 @@ +configure: don't require GNU-specific files when running automake + +Signed-off-by: "Yann E. MORIN" + +diff -durN libid3tag-0.15.1b.orig/configure.ac libid3tag-0.15.1b/configure.ac +--- libid3tag-0.15.1b.orig/configure.ac 2004-01-24 00:22:46.000000000 +0100 ++++ libid3tag-0.15.1b/configure.ac 2018-11-25 15:31:04.184342212 +0100 +@@ -26,7 +26,7 @@ + + AC_CONFIG_SRCDIR([id3tag.h]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER([config.h]) + diff --git a/bsp/buildroot/package/libid3tag/id3tag.pc b/bsp/buildroot/package/libid3tag/id3tag.pc new file mode 100644 index 00000000..63d09eee --- /dev/null +++ b/bsp/buildroot/package/libid3tag/id3tag.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: id3tag +Description: ID3 tag reading library +Version: 0.15.1b +Requires: +Libs: -L${libdir} -lid3tag +Libs.private: -lz +Cflags: -I${includedir} diff --git a/bsp/buildroot/package/libid3tag/libid3tag.hash b/bsp/buildroot/package/libid3tag/libid3tag.hash index fb02882d..82ad59d9 100644 --- a/bsp/buildroot/package/libid3tag/libid3tag.hash +++ b/bsp/buildroot/package/libid3tag/libid3tag.hash @@ -1,2 +1,4 @@ # Locally computed: sha256 63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151 libid3tag-0.15.1b.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 7f12ad28dc075763e91b91bfa60fad04062380011ddad8f6bac21dd7b1f44367 COPYRIGHT diff --git a/bsp/buildroot/package/libid3tag/libid3tag.mk b/bsp/buildroot/package/libid3tag/libid3tag.mk index 951ae09c..3ec14572 100644 --- a/bsp/buildroot/package/libid3tag/libid3tag.mk +++ b/bsp/buildroot/package/libid3tag/libid3tag.mk @@ -10,6 +10,16 @@ LIBID3TAG_LICENSE = GPL-2.0+ LIBID3TAG_LICENSE_FILES = COPYING COPYRIGHT LIBID3TAG_INSTALL_STAGING = YES LIBID3TAG_DEPENDENCIES = zlib -LIBID3TAG_LIBTOOL_PATCH = NO + +# Force autoreconf to be able to use a more recent libtool script, that +# is able to properly behave in the face of a missing C++ compiler. +LIBID3TAG_AUTORECONF = YES + +define LIBID3TAG_INSTALL_STAGING_PC + $(INSTALL) -D package/libid3tag/id3tag.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/id3tag.pc +endef + +LIBID3TAG_POST_INSTALL_STAGING_HOOKS += LIBID3TAG_INSTALL_STAGING_PC $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch b/bsp/buildroot/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch deleted file mode 100644 index 8a8ca47a..00000000 --- a/bsp/buildroot/package/libidn/0001-lib-punycode.c-decode_digit-Fix-integer-overflow.patch +++ /dev/null @@ -1,36 +0,0 @@ -From e9e81b8063b095b02cf104bb992fa9bf9515b9d8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim=20R=C3=BChsen?= -Date: Fri, 1 Sep 2017 10:04:48 +0200 -Subject: [PATCH] lib/punycode.c (decode_digit): Fix integer overflow - -This fix is a backport from libidn2 and addresses -CVE-2017-14062. - -Signed-off-by: Baruch Siach ---- -Upstream status: commit e9e81b8063b095 - - lib/punycode.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/lib/punycode.c b/lib/punycode.c -index 86819a7deb85..49250a13e2cc 100644 ---- a/lib/punycode.c -+++ b/lib/punycode.c -@@ -88,10 +88,10 @@ enum - /* point (for use in representing integers) in the range 0 to */ - /* base-1, or base if cp does not represent a value. */ - --static punycode_uint --decode_digit (punycode_uint cp) -+static unsigned -+decode_digit (int cp) - { -- return cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 : -+ return (unsigned) cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 : - cp - 97 < 26 ? cp - 97 : base; - } - --- -2.14.1 - diff --git a/bsp/buildroot/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch b/bsp/buildroot/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch deleted file mode 100644 index 89720442..00000000 --- a/bsp/buildroot/package/libidn/0002-Update-intprops.h-for-gcc-7-compatibility.patch +++ /dev/null @@ -1,333 +0,0 @@ -From bd705da12e244dda18474a54a2942591e5ef5148 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim=20R=C3=BChsen?= -Date: Wed, 1 Feb 2017 10:44:36 +0100 -Subject: [PATCH] Update intprops.h for gcc-7 compatibility - -[Backport from upstream commit 230930b3bc3e431b819eb45420cb42475d83ca93.] -Signed-off-by: Thomas Petazzoni ---- - gl/intprops.h | 65 ++++++++++++++++++++++++++++++-------------------- - lib/gltests/intprops.h | 65 ++++++++++++++++++++++++++++++-------------------- - 2 files changed, 78 insertions(+), 52 deletions(-) - -diff --git a/gl/intprops.h b/gl/intprops.h -index e1fce5c9..eb06b691 100644 ---- a/gl/intprops.h -+++ b/gl/intprops.h -@@ -1,18 +1,18 @@ - /* intprops.h -- properties of integer types - -- Copyright (C) 2001-2016 Free Software Foundation, Inc. -+ Copyright (C) 2001-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it -- under the terms of the GNU General Public License as published -- by the Free Software Foundation; either version 3 of the License, or -+ under the terms of the GNU Lesser General Public License as published -+ by the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -+ GNU Lesser General Public License for more details. - -- You should have received a copy of the GNU General Public License -+ You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - - /* Written by Paul Eggert. */ -@@ -47,12 +47,16 @@ - - /* Minimum and maximum values for integer types and expressions. */ - -+/* The width in bits of the integer type or expression T. -+ Padding bits are not supported; this is checked at compile-time below. */ -+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) -+ - /* The maximum and minimum values for the integer type T. */ - #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) - #define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ -- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) - - /* The maximum and minimum values for the type of the expression E, - after integer promotion. E should not have side effects. */ -@@ -65,7 +69,13 @@ - ? _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_NEGATE_CONVERT (e, 1)) - #define _GL_SIGNED_INT_MAXIMUM(e) \ -- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) -+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) -+ -+/* Work around OpenVMS incompatibility with C99. */ -+#if !defined LLONG_MAX && defined __INT64_MAX -+# define LLONG_MAX __INT64_MAX -+# define LLONG_MIN __INT64_MIN -+#endif - - /* This include file assumes that signed types are two's complement without - padding bits; the above macros have undefined behavior otherwise. -@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX); - verify (TYPE_MINIMUM (long long int) == LLONG_MIN); - verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #endif -+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ -+#ifdef UINT_WIDTH -+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); -+#endif - - /* Does the __typeof__ keyword work? This could be done by - 'configure', but for now it's easier to do it by hand. */ --#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ -+#if (2 <= __GNUC__ \ -+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) - # define _GL_HAVE___TYPEOF__ 1 - #else -@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - signed, this macro may overestimate the true bound by one byte when - applied to unsigned types of size 2, 4, 16, ... bytes. */ - #define INT_STRLEN_BOUND(t) \ -- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ -- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ -+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ - + _GL_SIGNED_TYPE_OR_EXPR (t)) - - /* Bound on buffer size needed to represent an integer type or expression T, -@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - ? (a) < (min) >> (b) \ - : (max) >> (b) < (a)) - --/* True if __builtin_add_overflow (A, B, P) works when P is null. */ --#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) -+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) -+ -+/* True if __builtin_add_overflow_p (A, B, C) works. */ -+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) - - /* The _GL*_OVERFLOW macros have the same restrictions as the - *_RANGE_OVERFLOW macros, except that they do not assume that operands - (e.g., A and B) have the same type as MIN and MAX. Instead, they assume - that the result (e.g., A + B) has that type. */ --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL --# define _GL_ADD_OVERFLOW(a, b, min, max) -- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) --# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) -- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) --# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) -- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) -+#if _GL_HAS_BUILTIN_OVERFLOW_P -+# define _GL_ADD_OVERFLOW(a, b, min, max) \ -+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) -+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ -+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) -+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ -+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) - #else - # define _GL_ADD_OVERFLOW(a, b, min, max) \ - ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ -@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) - #define INT_SUBTRACT_OVERFLOW(a, b) \ - _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL -+#if _GL_HAS_BUILTIN_OVERFLOW_P - # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) - #else - # define INT_NEGATE_OVERFLOW(a) \ -@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) - --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- - /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 - https://llvm.org/bugs/show_bug.cgi?id=25390 -@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - the operation. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ --#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) -+#if _GL_HAS_BUILTIN_OVERFLOW - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) - #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ -@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - # else - # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ -- long int, LONG_MIN, LONG_MAX)) -+ long int, LONG_MIN, LONG_MAX) - # endif - #endif - -diff --git a/lib/gltests/intprops.h b/lib/gltests/intprops.h -index e1fce5c9..eb06b691 100644 ---- a/lib/gltests/intprops.h -+++ b/lib/gltests/intprops.h -@@ -1,18 +1,18 @@ - /* intprops.h -- properties of integer types - -- Copyright (C) 2001-2016 Free Software Foundation, Inc. -+ Copyright (C) 2001-2017 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify it -- under the terms of the GNU General Public License as published -- by the Free Software Foundation; either version 3 of the License, or -+ under the terms of the GNU Lesser General Public License as published -+ by the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -+ GNU Lesser General Public License for more details. - -- You should have received a copy of the GNU General Public License -+ You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - - /* Written by Paul Eggert. */ -@@ -47,12 +47,16 @@ - - /* Minimum and maximum values for integer types and expressions. */ - -+/* The width in bits of the integer type or expression T. -+ Padding bits are not supported; this is checked at compile-time below. */ -+#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT) -+ - /* The maximum and minimum values for the integer type T. */ - #define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t)) - #define TYPE_MAXIMUM(t) \ - ((t) (! TYPE_SIGNED (t) \ - ? (t) -1 \ -- : ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1))) -+ : ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1))) - - /* The maximum and minimum values for the type of the expression E, - after integer promotion. E should not have side effects. */ -@@ -65,7 +69,13 @@ - ? _GL_SIGNED_INT_MAXIMUM (e) \ - : _GL_INT_NEGATE_CONVERT (e, 1)) - #define _GL_SIGNED_INT_MAXIMUM(e) \ -- (((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1) -+ (((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1) -+ -+/* Work around OpenVMS incompatibility with C99. */ -+#if !defined LLONG_MAX && defined __INT64_MAX -+# define LLONG_MAX __INT64_MAX -+# define LLONG_MIN __INT64_MIN -+#endif - - /* This include file assumes that signed types are two's complement without - padding bits; the above macros have undefined behavior otherwise. -@@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX); - verify (TYPE_MINIMUM (long long int) == LLONG_MIN); - verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #endif -+/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */ -+#ifdef UINT_WIDTH -+verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH); -+#endif - - /* Does the __typeof__ keyword work? This could be done by - 'configure', but for now it's easier to do it by hand. */ --#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \ -+#if (2 <= __GNUC__ \ -+ || (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \ - || (0x5110 <= __SUNPRO_C && !__STDC__)) - # define _GL_HAVE___TYPEOF__ 1 - #else -@@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - signed, this macro may overestimate the true bound by one byte when - applied to unsigned types of size 2, 4, 16, ... bytes. */ - #define INT_STRLEN_BOUND(t) \ -- (INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \ -- - _GL_SIGNED_TYPE_OR_EXPR (t)) \ -+ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ - + _GL_SIGNED_TYPE_OR_EXPR (t)) - - /* Bound on buffer size needed to represent an integer type or expression T, -@@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - ? (a) < (min) >> (b) \ - : (max) >> (b) < (a)) - --/* True if __builtin_add_overflow (A, B, P) works when P is null. */ --#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__) -+/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */ -+#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__) -+ -+/* True if __builtin_add_overflow_p (A, B, C) works. */ -+#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__) - - /* The _GL*_OVERFLOW macros have the same restrictions as the - *_RANGE_OVERFLOW macros, except that they do not assume that operands - (e.g., A and B) have the same type as MIN and MAX. Instead, they assume - that the result (e.g., A + B) has that type. */ --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL --# define _GL_ADD_OVERFLOW(a, b, min, max) -- __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0) --# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) -- __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0) --# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) -- __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0) -+#if _GL_HAS_BUILTIN_OVERFLOW_P -+# define _GL_ADD_OVERFLOW(a, b, min, max) \ -+ __builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0) -+# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \ -+ __builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0) -+# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \ -+ __builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0) - #else - # define _GL_ADD_OVERFLOW(a, b, min, max) \ - ((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \ -@@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - _GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW) - #define INT_SUBTRACT_OVERFLOW(a, b) \ - _GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW) --#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL -+#if _GL_HAS_BUILTIN_OVERFLOW_P - # define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a) - #else - # define INT_NEGATE_OVERFLOW(a) \ -@@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - #define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) - --#ifndef __has_builtin --# define __has_builtin(x) 0 --#endif -- - /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 - https://llvm.org/bugs/show_bug.cgi?id=25390 -@@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - the operation. BUILTIN is the builtin operation, and OVERFLOW the - overflow predicate. Return 1 if the result overflows. See above - for restrictions. */ --#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow) -+#if _GL_HAS_BUILTIN_OVERFLOW - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r) - #elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS - # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ -@@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX); - # else - # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ -- long int, LONG_MIN, LONG_MAX)) -+ long int, LONG_MIN, LONG_MAX) - # endif - #endif - --- -2.13.6 - diff --git a/bsp/buildroot/package/libidn/libidn.hash b/bsp/buildroot/package/libidn/libidn.hash index 4658a3e8..f5ba311e 100644 --- a/bsp/buildroot/package/libidn/libidn.hash +++ b/bsp/buildroot/package/libidn/libidn.hash @@ -1,4 +1,7 @@ -# From http://lists.nongnu.org/archive/html/help-libidn/2016-07/msg00009.html -sha1 57872fdc665dcc585e16f4ac0bb35374b1103f7e libidn-1.33.tar.gz -# Calculated based on the hash above -sha256 44a7aab635bb721ceef6beecc4d49dfd19478325e1b47f3196f7d2acc4930e19 libidn-1.33.tar.gz +# Locally computed: +sha256 f11af1005b46b7b15d057d7f107315a1ad46935c7fcdf243c16e46ec14f0fe1e libidn-1.35.tar.gz + +# Hash for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYINGv3 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3 diff --git a/bsp/buildroot/package/libidn/libidn.mk b/bsp/buildroot/package/libidn/libidn.mk index b50a8b62..601edcb5 100644 --- a/bsp/buildroot/package/libidn/libidn.mk +++ b/bsp/buildroot/package/libidn/libidn.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIDN_VERSION = 1.33 +LIBIDN_VERSION = 1.35 LIBIDN_SITE = $(BR2_GNU_MIRROR)/libidn LIBIDN_INSTALL_STAGING = YES LIBIDN_CONF_ENV = EMACS="no" MAKEINFO=true @@ -12,8 +12,6 @@ LIBIDN_CONF_OPTS = --disable-java --enable-csharp=no LIBIDN_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) $(if $(BR2_PACKAGE_LIBICONV),libiconv) LIBIDN_LICENSE = GPL-2.0+, GPL-3.0+, LGPL-3.0+ LIBIDN_LICENSE_FILES = COPYINGv2 COPYINGv3 COPYING.LESSERv3 -# lib/punycode.c patch triggers reconf in doc/ -LIBIDN_AUTORECONF = YES define LIBIDN_REMOVE_BINARY rm -f $(TARGET_DIR)/usr/bin/idn diff --git a/bsp/buildroot/package/libidn2/Config.in b/bsp/buildroot/package/libidn2/Config.in new file mode 100644 index 00000000..38b13789 --- /dev/null +++ b/bsp/buildroot/package/libidn2/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_LIBIDN2 + bool "libidn2" + help + Libidn2 is an implementation of the IDNA2008 + TR46 + specifications (RFC 5890, RFC 5891, RFC 5892, RFC 5893, + TR 46). + + http://www.gnu.org/software/libidn/ + +if BR2_PACKAGE_LIBIDN2 + +config BR2_PACKAGE_LIBIDN2_BINARY + bool "idn2 binary" + help + Install idn2 command line tool + +endif diff --git a/bsp/buildroot/package/libidn2/libidn2.hash b/bsp/buildroot/package/libidn2/libidn2.hash new file mode 100644 index 00000000..300cedb4 --- /dev/null +++ b/bsp/buildroot/package/libidn2/libidn2.hash @@ -0,0 +1,8 @@ +# Calculated locally after checking signature +sha256 032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32 libidn2-2.1.0.tar.gz + +# Hash for license files: +sha256 73483f797a83373fca1b968c11785b98c4fc4803cdc7d3210811ca8b075d6d76 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LESSERv3 +sha256 01d621eef165cf4d3d3dbb737aa0699178d94c6f18cf87e9dde6db3ca7790f46 COPYING.unicode diff --git a/bsp/buildroot/package/libidn2/libidn2.mk b/bsp/buildroot/package/libidn2/libidn2.mk new file mode 100644 index 00000000..7112553f --- /dev/null +++ b/bsp/buildroot/package/libidn2/libidn2.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# libidn2 +# +################################################################################ + +LIBIDN2_VERSION = 2.1.0 +LIBIDN2_SITE = $(BR2_GNU_MIRROR)/libidn +LIBIDN2_LICENSE := GPL-2.0+ or LGPL-3.0+ (library) +LIBIDN2_LICENSE_FILES = COPYING COPYINGv2 COPYING.LESSERv3 COPYING.unicode +LIBIDN2_DEPENDENCIES = \ + host-pkgconf \ + $(TARGET_NLS_DEPENDENCIES) \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) +LIBIDN2_INSTALL_STAGING = YES + +ifeq ($(BR2_PACKAGE_LIBUNISTRING),y) +LIBIDN2_DEPENDENCIES += libunistring +endif + +ifeq ($(BR2_PACKAGE_LIBIDN2_BINARY),) +define LIBIDN2_REMOVE_BINARY + rm -f $(TARGET_DIR)/usr/bin/idn2 +endef +LIBIDN2_POST_INSTALL_TARGET_HOOKS += LIBIDN2_REMOVE_BINARY +else +LIBIDN2_LICENSE := $(LIBIDN2_LICENSE), GPL-3.0+ (program) +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libiio/Config.in b/bsp/buildroot/package/libiio/Config.in index b58ac7fd..dcc7c79d 100644 --- a/bsp/buildroot/package/libiio/Config.in +++ b/bsp/buildroot/package/libiio/Config.in @@ -60,16 +60,14 @@ config BR2_PACKAGE_LIBIIO_IIOD config BR2_PACKAGE_LIBIIO_IIOD_USBD bool "USB support in the IIO Daemon (FunctionFS)" depends on BR2_PACKAGE_LIBIIO_IIOD - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # usb_functionfs_descs_head_v2 select BR2_PACKAGE_LIBAIO help Add support for USB through FunctionFS with IIOD. -comment "USB support in the IIO Daemon requires libaio, headers >= 3.18" +comment "USB support in the IIO Daemon requires headers >= 3.18" depends on BR2_PACKAGE_LIBIIO_IIOD - depends on !BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 comment "IIO Daemon needs a toolchain w/ threads" depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/libiio/libiio.hash b/bsp/buildroot/package/libiio/libiio.hash index 027e2a07..fbb4bccb 100644 --- a/bsp/buildroot/package/libiio/libiio.hash +++ b/bsp/buildroot/package/libiio/libiio.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 002d57f35715821efae66479859bc5357b4d8d33bfff1446b4e17b02ae2c10d2 libiio-0.10.tar.gz +sha256 12063db7a9366aa00bfd789db30afaddb29686bc29b3ce1e5d4adfe1c3b42527 libiio-0.14.tar.gz +sha256 102900208eef27b766380135906d431dba87edaa7ec6aa72e6ebd3dd67f3a97b COPYING.txt diff --git a/bsp/buildroot/package/libiio/libiio.mk b/bsp/buildroot/package/libiio/libiio.mk index 3fbd3918..d2376bca 100644 --- a/bsp/buildroot/package/libiio/libiio.mk +++ b/bsp/buildroot/package/libiio/libiio.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBIIO_VERSION = 0.10 +LIBIIO_VERSION = 0.14 LIBIIO_SITE = $(call github,analogdevicesinc,libiio,v$(LIBIIO_VERSION)) LIBIIO_INSTALL_STAGING = YES LIBIIO_LICENSE = LGPL-2.1+ diff --git a/bsp/buildroot/package/libilbc/libilbc.hash b/bsp/buildroot/package/libilbc/libilbc.hash index e6789c5e..81a0c4e0 100644 --- a/bsp/buildroot/package/libilbc/libilbc.hash +++ b/bsp/buildroot/package/libilbc/libilbc.hash @@ -1,2 +1,3 @@ # Locally computed sha256 70cd6a4f6bbe6dcebfc4293eea7b6200f883d1bf0affa1efba819d44d274e35f libilbc-829b08c7902ceb87a261279fabb36b6d523c6e07.tar.gz +sha256 b7f4cbb4a12cd11a3d1aeda9bd17c99f59b054de4b3ee53045531cd2fa74dd2a gips_iLBClicense.pdf diff --git a/bsp/buildroot/package/libimxvpuapi/libimxvpuapi.hash b/bsp/buildroot/package/libimxvpuapi/libimxvpuapi.hash index cd0c8f1f..6e0e5d60 100644 --- a/bsp/buildroot/package/libimxvpuapi/libimxvpuapi.hash +++ b/bsp/buildroot/package/libimxvpuapi/libimxvpuapi.hash @@ -1,2 +1,3 @@ # locally computed hash sha256 7151e10a24929935bada1d3d87626f17e411575b3a4ac0d86440999ad0100a55 libimxvpuapi-0.10.3.tar.gz +sha256 4bb33cc4cd956b56b779b501f18cae46a9e26f8c8500cca86ed758b8bc5e1788 LICENSE diff --git a/bsp/buildroot/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch b/bsp/buildroot/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch new file mode 100644 index 00000000..c9a0652e --- /dev/null +++ b/bsp/buildroot/package/libinput/0001-meson.build-enable-CPP-include-check-only-in-case-CP.patch @@ -0,0 +1,49 @@ +From 57383dc900e76e65ce5e5dc95f776e086100344d Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 12 Jan 2019 10:22:38 +0100 +Subject: [PATCH] meson.build: enable CPP include check only in case CPP + compiler is available + +Drop hard meson C++/CPP dependency, only needed for the build-time +header inclusion test, build the test only in case C++/CPP compiler +is available. + +Signed-off-by: Peter Seiderer +--- + meson.build | 16 +++++++++------- + 1 file changed, 9 insertions(+), 7 deletions(-) + +diff --git a/meson.build b/meson.build +index a9c7c185..8183822e 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,4 @@ +-project('libinput', 'c', 'cpp', ++project('libinput', 'c', + version : '1.12.5', + license : 'MIT/Expat', + default_options : [ 'c_std=gnu99', 'warning_level=2' ], +@@ -641,12 +641,14 @@ executable('test-build-linker', + include_directories : [includes_src, includes_include], + dependencies : [ dep_libinput, dep_libinput_util ], + install : false) +-# test including from C++ +-executable('test-build-cxx', +- 'test/build-cxx.cc', +- dependencies : [dep_udev], +- include_directories : [includes_src, includes_include], +- install : false) ++# test including from C++ (in case CPP compiler is available) ++if add_languages('cpp', required: false) ++ executable('test-build-cxx', ++ 'test/build-cxx.cc', ++ dependencies : [dep_udev], ++ include_directories : [includes_src, includes_include], ++ install : false) ++endif + + # This is the test suite runner, we allow disabling that one because of + # dependencies +-- +2.20.1 + diff --git a/bsp/buildroot/package/libinput/libinput.hash b/bsp/buildroot/package/libinput/libinput.hash index 4e64568c..3ca3fd67 100644 --- a/bsp/buildroot/package/libinput/libinput.hash +++ b/bsp/buildroot/package/libinput/libinput.hash @@ -1,5 +1,8 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-September/034949.html -md5 e94e9aa765da9533c23b80b440638de9 libinput-1.8.2.tar.xz -sha1 1c55462eb598b91c9c360f31170a408fb8d38d22 libinput-1.8.2.tar.xz -sha256 013518ee0adb2287e6e1f08412efba2137320738cadb5399b783738f04cbab38 libinput-1.8.2.tar.xz -sha512 555a7680cc8aaf62c5370a865f3aff0a933d42d94a3d8861c072666b02c9e1be45ea39de9a749a9575cdfb613b6150e412e18559d94d4919f21ca4680a3c76a7 libinput-1.8.2.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2019-January/039804.html +md5 40dcc044443c9314537f605b6f30bf17 libinput-1.12.5.tar.xz +sha1 7c0b75e8cf2f1747fb8ae69300acabd46f7a7f0d libinput-1.12.5.tar.xz +sha256 7d4b6831010ef3bf69df4b41170047fa4325edef8ff5d2d28e78281af0687123 libinput-1.12.5.tar.xz +sha512 9365b91b3ac2c4ff0f9927913242afac7677979682dd7b541001b13d09d7982acd854f6d348101cfa4b0854c6a92b4c683f62593a97870e32ae3d607eaeae3ff libinput-1.12.5.tar.xz + +# License files +sha256 70d5b1dfe5a9c50a1f2ea91b1c2b1c85d876c5c92339585edbb85cf69e945e14 COPYING diff --git a/bsp/buildroot/package/libinput/libinput.mk b/bsp/buildroot/package/libinput/libinput.mk index f904b796..bc4cc898 100644 --- a/bsp/buildroot/package/libinput/libinput.mk +++ b/bsp/buildroot/package/libinput/libinput.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBINPUT_VERSION = 1.8.2 +LIBINPUT_VERSION = 1.12.5 LIBINPUT_SOURCE = libinput-$(LIBINPUT_VERSION).tar.xz LIBINPUT_SITE = http://www.freedesktop.org/software/libinput LIBINPUT_DEPENDENCIES = host-pkgconf libevdev mtdev udev @@ -12,13 +12,13 @@ LIBINPUT_INSTALL_STAGING = YES LIBINPUT_LICENSE = MIT LIBINPUT_LICENSE_FILES = COPYING # Tests need fork, so just disable them everywhere. -LIBINPUT_CONF_OPTS = --disable-tests --disable-libwacom +LIBINPUT_CONF_OPTS = -Dtests=false -Dlibwacom=false -Ddocumentation=false ifeq ($(BR2_PACKAGE_LIBGTK3),y) -LIBINPUT_CONF_OPTS += --enable-debug-gui +LIBINPUT_CONF_OPTS += -Ddebug-gui=true LIBINPUT_DEPENDENCIES += libgtk3 else -LIBINPUT_CONF_OPTS += --disable-debug-gui +LIBINPUT_CONF_OPTS += -Ddebug-gui=false endif -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/libiscsi/libiscsi.mk b/bsp/buildroot/package/libiscsi/libiscsi.mk index 6c860082..2b26a142 100644 --- a/bsp/buildroot/package/libiscsi/libiscsi.mk +++ b/bsp/buildroot/package/libiscsi/libiscsi.mk @@ -11,6 +11,12 @@ LIBISCSI_LICENSE_FILES = COPYING LICENCE-GPL-2.txt LICENCE-LGPL-2.1.txt LIBISCSI_INSTALL_STAGING = YES LIBISCSI_AUTORECONF = YES +ifeq ($(BR2_PACKAGE_CUNIT),y) +LIBISCSI_DEPENDENCIES += cunit +endif + +LIBISCSI_CONF_OPTS = --disable-werror --disable-manpages + # We need to create the m4 directory to make autoreconf work properly. define LIBISCSI_CREATE_M4_DIR mkdir -p $(@D)/m4 diff --git a/bsp/buildroot/package/libite/libite.hash b/bsp/buildroot/package/libite/libite.hash index ec894c5e..aac01fd3 100644 --- a/bsp/buildroot/package/libite/libite.hash +++ b/bsp/buildroot/package/libite/libite.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 18c087123f02cc3cfb612bf53b12dc8a94d4d3ebf015ed5937b1f9203eef72f8 libite-v1.9.2.tar.gz +sha256 bd5d08066f3e53cc8967beb6f0620286aad7a24d49fb730caa1c6d09a26bb705 libite-v2.0.2.tar.gz sha256 0e97ab27b60e20a7ddb8e9638189ad159124e51d2c12e12735b05423df224da5 LICENSE -sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 chomp.c -sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d pidfile.c +sha256 9e0fb98d251dddf5ba81a355f6b4d89835ec53bc5d7f5fcd2c866b54ec5ccec8 src/chomp.c +sha256 a7d29c148e057fae11a87febc3a51970a26433c35a08fc710be689394442d32d src/pidfile.c diff --git a/bsp/buildroot/package/libite/libite.mk b/bsp/buildroot/package/libite/libite.mk index e88060d1..bcda5f3f 100644 --- a/bsp/buildroot/package/libite/libite.mk +++ b/bsp/buildroot/package/libite/libite.mk @@ -4,10 +4,10 @@ # ################################################################################ -LIBITE_VERSION = v1.9.2 +LIBITE_VERSION = v2.0.2 LIBITE_SITE = $(call github,troglobit,libite,$(LIBITE_VERSION)) LIBITE_LICENSE = MIT, X11, ISC, BSD-2-Clause -LIBITE_LICENSE_FILES = LICENSE chomp.c pidfile.c +LIBITE_LICENSE_FILES = LICENSE src/chomp.c src/pidfile.c LIBITE_INSTALL_STAGING = YES LIBITE_AUTORECONF = YES diff --git a/bsp/buildroot/package/libjpeg/libjpeg.hash b/bsp/buildroot/package/libjpeg/libjpeg.hash index 2ad7dda6..7d47f550 100644 --- a/bsp/buildroot/package/libjpeg/libjpeg.hash +++ b/bsp/buildroot/package/libjpeg/libjpeg.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 240fd398da741669bf3c90366f58452ea59041cacc741a489b99f2f6a0bad052 jpegsrc.v9b.tar.gz +sha256 650250979303a649e21f87b5ccd02672af1ea6954b911342ea491f351ceb7122 jpegsrc.v9c.tar.gz +sha256 31f366acfb6259456d9046eb7f16875e387f8bf029d37ac4c4397bf63f22fd6b README diff --git a/bsp/buildroot/package/libjpeg/libjpeg.mk b/bsp/buildroot/package/libjpeg/libjpeg.mk index 36f084bf..ab09881f 100644 --- a/bsp/buildroot/package/libjpeg/libjpeg.mk +++ b/bsp/buildroot/package/libjpeg/libjpeg.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBJPEG_VERSION = 9b +LIBJPEG_VERSION = 9c LIBJPEG_SITE = http://www.ijg.org/files LIBJPEG_SOURCE = jpegsrc.v$(LIBJPEG_VERSION).tar.gz LIBJPEG_LICENSE = IJG diff --git a/bsp/buildroot/package/libjson/libjson.hash b/bsp/buildroot/package/libjson/libjson.hash index f3447ee7..3d9b26a5 100644 --- a/bsp/buildroot/package/libjson/libjson.hash +++ b/bsp/buildroot/package/libjson/libjson.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 07267a3951038ee2e02d26cc41bf8e275668c38f751240d3e78dc979182e7376 libjson_7.6.1.zip +sha256 bd62d605bef39ab7ae39f6fa333ba513edb93cfcd56c9c966f1d34e31ff7c69b License.txt diff --git a/bsp/buildroot/package/libjson/libjson.mk b/bsp/buildroot/package/libjson/libjson.mk index 74224ba6..d04ddc40 100644 --- a/bsp/buildroot/package/libjson/libjson.mk +++ b/bsp/buildroot/package/libjson/libjson.mk @@ -23,7 +23,7 @@ endif LIBJSON_MAKE_OPTS += BUILD_TYPE= CXXFLAGS="$(LIBJSON_CXXFLAGS)" define LIBJSON_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(LIBJSON_SOURCE) + $(UNZIP) -d $(@D) $(LIBJSON_DL_DIR)/$(LIBJSON_SOURCE) mv $(@D)/libjson/* $(@D) $(RM) -r $(@D)/libjson $(SED) '/ldconfig/d' $(@D)/makefile diff --git a/bsp/buildroot/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch b/bsp/buildroot/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch deleted file mode 100644 index 39e683f5..00000000 --- a/bsp/buildroot/package/libkcapi/0001-Have-sufficient-memory-size-for-message.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b56deda7c13c257050fdbdd71c1a5a47b78aa63e Mon Sep 17 00:00:00 2001 -From: Stephan Mueller -Date: Thu, 3 Aug 2017 17:50:51 +0200 -Subject: [PATCH] Have sufficient memory size for message - -With GCC 7, the size of the buffer in snprintf is checked. The -occurrence here is found to be too small. - -Signed-off-by: Stephan Mueller -[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/b56deda7c13c257050fdbdd71c1a5a47b78aa63e] -Signed-off-by: Marcin Nowakowski ---- - speed-test/cryptoperf-base.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/speed-test/cryptoperf-base.c b/speed-test/cryptoperf-base.c -index 8766ca7..07384ae 100644 ---- a/speed-test/cryptoperf-base.c -+++ b/speed-test/cryptoperf-base.c -@@ -172,7 +172,7 @@ char *cp_print_status(struct cp_test *test, int raw) - (unsigned long)(processed_bytes/totaltime), - (unsigned long)ops); - } else { -- #define VALLEN 10 -+ #define VALLEN 23 - char byteseconds[VALLEN + 1]; - - memset(byteseconds, 0, sizeof(byteseconds)); --- -2.7.4 - diff --git a/bsp/buildroot/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch b/bsp/buildroot/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch new file mode 100644 index 00000000..a4c352d3 --- /dev/null +++ b/bsp/buildroot/package/libkcapi/0001-apps-kcapi-hasher.c-fix-build-with-gcc-8.2.x.patch @@ -0,0 +1,54 @@ +From dcb02c1639c2ff05938c01eaa41286a2e2f8d698 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 20 Jan 2019 20:04:13 +0100 +Subject: [PATCH] apps/kcapi-hasher.c: fix build with gcc 8.2.x + +Fixes: + - http://autobuild.buildroot.org/results/8355bc42238e885f7f11ed3d9d37fc55ebdead2b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/smuellerDD/libkcapi/pull/76] +--- + apps/kcapi-hasher.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/apps/kcapi-hasher.c b/apps/kcapi-hasher.c +index d6be685..7172b12 100644 +--- a/apps/kcapi-hasher.c ++++ b/apps/kcapi-hasher.c +@@ -357,16 +357,20 @@ out: + } + + /* +- * GCC v8.1.0 introduced -Wstringop-truncation but it is not smart enough to +- * find that cursor string will be NULL-terminated after all paste() calls and +- * warns with: ++ * GCC v8.1.0 introduced -Wstringop-truncation and GCC v8.2.0 introduced ++ * -Wstringop-overflow but it is not smart enough to find that cursor string ++ * will be NULL-terminated after all paste() calls and warns with: + * error: 'strncpy' destination unchanged after copying no bytes [-Werror=stringop-truncation] + * error: 'strncpy' output truncated before terminating nul copying 5 bytes from a string of the same length [-Werror=stringop-truncation] ++ * error: 'strncpy' specified bound depends on the length of the source argument [-Werror=stringop-overflow=] + */ + #pragma GCC diagnostic push + #if GCC_VERSION >= 80100 + #pragma GCC diagnostic ignored "-Wstringop-truncation" + #endif ++#if GCC_VERSION >= 80200 ++#pragma GCC diagnostic ignored "-Wstringop-overflow" ++#endif + static char *paste(char *dst, const char *src, size_t size) + { + strncpy(dst, src, size); +@@ -417,7 +421,7 @@ static char *get_hmac_file(const char *filename, const char *checkdir) + strncpy(cursor, "\0", 1); + return checkfile; + } +-#pragma GCC diagnostic pop /* -Wstringop-truncation */ ++#pragma GCC diagnostic pop /* -Wstringop-truncation -Wstringop-overflow */ + + static int hash_files(const struct hash_params *params, + char *filenames[], uint32_t files, +-- +2.14.1 + diff --git a/bsp/buildroot/package/libkcapi/0002-Do-not-compile-unused-functions.patch b/bsp/buildroot/package/libkcapi/0002-Do-not-compile-unused-functions.patch deleted file mode 100644 index 97ab7fc5..00000000 --- a/bsp/buildroot/package/libkcapi/0002-Do-not-compile-unused-functions.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 217b154a5f65d46064ceb69ce69664105e703a74 Mon Sep 17 00:00:00 2001 -From: Stephan Mueller -Date: Thu, 3 Aug 2017 17:52:48 +0200 -Subject: [PATCH] Do not compile unused functions - -GCC 7 now rightfully complains about unused functions. - -Signed-off-by: Stephan Mueller - -[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/217b154a5f65d46064ceb69ce69664105e703a74] -Signed-off-by: Marcin Nowakowski ---- - apps/kcapi-rng.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/apps/kcapi-rng.c b/apps/kcapi-rng.c -index df7decf..e15edf9 100644 ---- a/apps/kcapi-rng.c -+++ b/apps/kcapi-rng.c -@@ -45,6 +45,7 @@ struct kcapi_handle *rng = NULL; - unsigned int Verbosity = 0; - char *rng_name = NULL; - -+#ifndef HAVE_GETRANDOM - static int read_complete(int fd, uint8_t *buf, uint32_t buflen) - { - ssize_t ret; -@@ -76,6 +77,7 @@ static int read_random(uint8_t *buf, uint32_t buflen) - close(fd); - return ret; - } -+#endif - - static int get_random(uint8_t *buf, uint32_t buflen) - { diff --git a/bsp/buildroot/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch b/bsp/buildroot/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch deleted file mode 100644 index b636ffe9..00000000 --- a/bsp/buildroot/package/libkcapi/0003-Unify-code-to-read-from-seed-sources.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 450dfb09ee72ffedea8f2a25fdce17295f01f62f Mon Sep 17 00:00:00 2001 -From: Stephan Mueller -Date: Tue, 8 Aug 2017 10:04:06 +0200 -Subject: [PATCH] Unify code to read from seed sources - -Remove the code duplication for FD reads and syscall reads. - -This patch also fixes the use of __NR_getrandom resolution. - -[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/450dfb09ee72ffedea8f2a25fdce17295f01f62f] -Signed-off-by: Marcin Nowakowski - ---- - apps/kcapi-rng.c | 71 +++++++++++++++++++++++++------------------------------- - 1 file changed, 32 insertions(+), 39 deletions(-) - -diff --git a/apps/kcapi-rng.c b/apps/kcapi-rng.c -index e15edf9..96da111 100644 ---- a/apps/kcapi-rng.c -+++ b/apps/kcapi-rng.c -@@ -17,7 +17,9 @@ - * DAMAGE. - */ - -+#define _GNU_SOURCE - #include -+#include - #include - #include - #include -@@ -41,56 +43,48 @@ - /* Minimum seed is 256 bits. */ - #define KCAPI_RNG_MINSEEDSIZE 32 - --struct kcapi_handle *rng = NULL; --unsigned int Verbosity = 0; --char *rng_name = NULL; -+static struct kcapi_handle *rng = NULL; -+static unsigned int Verbosity = 0; -+static char *rng_name = NULL; - --#ifndef HAVE_GETRANDOM --static int read_complete(int fd, uint8_t *buf, uint32_t buflen) -+#if !defined(HAVE_GETRANDOM) && !defined(__NR_getrandom) -+static int random_fd = -1; -+static int open_random(void) - { -- ssize_t ret; -+ random_fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); -+ if (0 > random_fd) -+ return random_fd; - -- do { -- ret = read(fd, buf, buflen); -- if (0 < ret) { -- buflen -= ret; -- buf += ret; -- } -- } while ((0 < ret || EINTR == errno || ERESTART == errno) -- && buflen > 0); -- -- if (buflen == 0) -- return 0; -- return 1; -+ return 0; - } - --static int read_random(uint8_t *buf, uint32_t buflen) -+static void close_random(void) - { -- int fd; -- int ret = 0; -- -- fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); -- if (0 > fd) -- return fd; -- -- ret = read_complete(fd, buf, buflen); -- close(fd); -- return ret; -+ close(random_fd); - } - #endif - - static int get_random(uint8_t *buf, uint32_t buflen) - { -+ ssize_t ret; -+ - if (buflen > INT_MAX) - return 1; - -+#if (!defined(HAVE_GETRANDOM) && !defined(__NR_getrandom)) -+ ret = open_random(); -+ if (ret) -+ return ret; -+#endif -+ -+ do { - #ifdef HAVE_GETRANDOM -- return getrandom(buf, buflen, 0); -+ ret = getrandom(buf, buflen, 0); -+#elif defined __NR_getrandom -+ ret = syscall(__NR_getrandom, buf, buflen, 0); - #else --# ifdef __NR_getrandom -- do { -- int ret = syscall(__NR_getrandom, buf, buflen, 0); -- -+ ret = read(random_fd, buf, buflen); -+#endif - if (0 < ret) { - buflen -= ret; - buf += ret; -@@ -98,14 +92,13 @@ static int get_random(uint8_t *buf, uint32_t buflen) - } while ((0 < ret || EINTR == errno || ERESTART == errno) - && buflen > 0); - -+#if (!defined(HAVE_GETRANDOM) && !defined(__NR_getrandom)) -+ close_random(); -+#endif -+ - if (buflen == 0) - return 0; -- - return 1; --# else -- return read_random(buf, buflen); --# endif --#endif - } - - static void usage(void) diff --git a/bsp/buildroot/package/libkcapi/0004-internal.h-make-inline-functions-static.patch b/bsp/buildroot/package/libkcapi/0004-internal.h-make-inline-functions-static.patch deleted file mode 100644 index a0501739..00000000 --- a/bsp/buildroot/package/libkcapi/0004-internal.h-make-inline-functions-static.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 2b9e01ee31c1b7596b19f0c89954e93e217b0479 Mon Sep 17 00:00:00 2001 -From: Marcin Nowakowski -Date: Thu, 21 Sep 2017 10:16:33 +0200 -Subject: [PATCH] internal.h: make inline functions static - -With some GCC configurations/build options it is possible for gcc to -ignore the inline hint. As the methods are not declared static, gcc -expects a definition to be provided elsewhere, which is not the case -here resulting in the following linker error: - -libtool: link: /home/marcin/br-test-pkg/br-arm-cortex-a9-glibc/host/bin/arm-linux-gcc --fstack-protector-strong -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE --D_FILE_OFFSET_BITS=64 -Os -Wl,-z -Wl,relro -Wl,-z -Wl,now -o bin/kcapi -test/bin_kcapi-kcapi-main.o ./.libs/libkcapi.so -Wl,-rpath --Wl,/home/marcin/br-test-pkg/br-arm-cortex-a9-glibc/build/libkcapi-0.14.0/.libs -./.libs/libkcapi.so: undefined reference to `_kcapi_common_vmsplice_iov' -./.libs/libkcapi.so: undefined reference to `_kcapi_common_read_data' -./.libs/libkcapi.so: undefined reference to `_kcapi_aio_read_iov' -./.libs/libkcapi.so: undefined reference to `_kcapi_common_recv_data' -./.libs/libkcapi.so: undefined reference to `_kcapi_common_send_data' -./.libs/libkcapi.so: undefined reference to `_kcapi_common_vmsplice_chunk' -./.libs/libkcapi.so: undefined reference to `_kcapi_common_send_meta' -collect2: error: ld returned 1 exit status - -$ arm-linux-gcc --version -arm-linux-gcc.br_real (Buildroot 2017.08-git-01078-g95b1dae) 7.1.0 - -Signed-off-by: Marcin Nowakowski -Signed-off-by: Stephan Mueller - -[Upstream commit: https://github.com/smuellerDD/libkcapi/commit/2b9e01ee31c1b7596b19f0c89954e93e217b0479] -Signed-off-by: Marcin Nowakowski ---- - lib/internal.h | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/lib/internal.h b/lib/internal.h -index 0d98f24..addf450 100644 ---- a/lib/internal.h -+++ b/lib/internal.h -@@ -233,7 +233,7 @@ void kcapi_dolog(int severity, const char *fmt, ...); - int32_t _kcapi_common_send_meta_fd(struct kcapi_handle *handle, int *fdptr, - struct iovec *iov, uint32_t iovlen, - uint32_t enc, uint32_t flags); --inline int32_t _kcapi_common_send_meta(struct kcapi_handle *handle, -+static inline int32_t _kcapi_common_send_meta(struct kcapi_handle *handle, - struct iovec *iov, uint32_t iovlen, - uint32_t enc, uint32_t flags) - { -@@ -244,7 +244,7 @@ inline int32_t _kcapi_common_send_meta(struct kcapi_handle *handle, - int32_t _kcapi_common_vmsplice_iov_fd(struct kcapi_handle *handle, int *fdptr, - struct iovec *iov, unsigned long iovlen, - uint32_t flags); --inline int32_t _kcapi_common_vmsplice_iov(struct kcapi_handle *handle, -+static inline int32_t _kcapi_common_vmsplice_iov(struct kcapi_handle *handle, - struct iovec *iov, unsigned long iovlen, - uint32_t flags) - { -@@ -255,7 +255,7 @@ inline int32_t _kcapi_common_vmsplice_iov(struct kcapi_handle *handle, - int32_t _kcapi_common_send_data_fd(struct kcapi_handle *handle, int *fdprt, - struct iovec *iov, uint32_t iovlen, - uint32_t flags); --inline int32_t _kcapi_common_send_data(struct kcapi_handle *handle, -+static inline int32_t _kcapi_common_send_data(struct kcapi_handle *handle, - struct iovec *iov, uint32_t iovlen, - uint32_t flags) - { -@@ -265,7 +265,7 @@ inline int32_t _kcapi_common_send_data(struct kcapi_handle *handle, - - int32_t _kcapi_common_recv_data_fd(struct kcapi_handle *handle, int *fdptr, - struct iovec *iov, uint32_t iovlen); --inline int32_t _kcapi_common_recv_data(struct kcapi_handle *handle, -+static inline int32_t _kcapi_common_recv_data(struct kcapi_handle *handle, - struct iovec *iov, uint32_t iovlen) - { - return _kcapi_common_recv_data_fd(handle, &handle->opfd, iov, iovlen); -@@ -273,7 +273,7 @@ inline int32_t _kcapi_common_recv_data(struct kcapi_handle *handle, - - int32_t _kcapi_common_read_data_fd(struct kcapi_handle *handle, int *fdptr, - uint8_t *out, uint32_t outlen); --inline int32_t _kcapi_common_read_data(struct kcapi_handle *handle, -+static inline int32_t _kcapi_common_read_data(struct kcapi_handle *handle, - uint8_t *out, uint32_t outlen) - { - return _kcapi_common_read_data_fd(handle, &handle->opfd, out, outlen); -@@ -285,7 +285,7 @@ int _kcapi_common_close(struct kcapi_handle *handle, int fdptr); - int32_t _kcapi_common_vmsplice_chunk_fd(struct kcapi_handle *handle, int *fdptr, - const uint8_t *in, uint32_t inlen, - uint32_t flags); --inline int32_t _kcapi_common_vmsplice_chunk(struct kcapi_handle *handle, -+static inline int32_t _kcapi_common_vmsplice_chunk(struct kcapi_handle *handle, - const uint8_t *in, uint32_t inlen, - uint32_t flags) - { -@@ -315,7 +315,7 @@ int _kcapi_aio_send_iov(struct kcapi_handle *handle, struct iovec *iov, - - int32_t _kcapi_aio_read_iov_fd(struct kcapi_handle *handle, int *fdptr, - struct iovec *iov, uint32_t iovlen); --inline int32_t _kcapi_aio_read_iov(struct kcapi_handle *handle, -+static inline int32_t _kcapi_aio_read_iov(struct kcapi_handle *handle, - struct iovec *iov, uint32_t iovlen) - { - return _kcapi_aio_read_iov_fd(handle, &handle->opfd, iov, iovlen); diff --git a/bsp/buildroot/package/libkcapi/Config.in b/bsp/buildroot/package/libkcapi/Config.in index 2b981777..1dbcdc38 100644 --- a/bsp/buildroot/package/libkcapi/Config.in +++ b/bsp/buildroot/package/libkcapi/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_LIBKCAPI bool "libkcapi" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 help Linux Kernel Crypto API userspace interface library @@ -7,11 +8,21 @@ config BR2_PACKAGE_LIBKCAPI if BR2_PACKAGE_LIBKCAPI -config BR2_PACKAGE_LIBKCAPI_APPS - bool "build test applications" +config BR2_PACKAGE_LIBKCAPI_HASHER + bool "build hasher application" + depends on !BR2_STATIC_LIBS # dlfcn.h + +comment "hasher application needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +config BR2_PACKAGE_LIBKCAPI_RNGAPP + bool "build rng read application" + +config BR2_PACKAGE_LIBKCAPI_SPEED + bool "build speed-test program" + +config BR2_PACKAGE_LIBKCAPI_TEST + bool "build test program" depends on BR2_USE_MMU # fork() - help - Build additional test applications that can provide - performance or algorithm tests. endif diff --git a/bsp/buildroot/package/libkcapi/libkcapi.hash b/bsp/buildroot/package/libkcapi/libkcapi.hash index 9873e662..a9b42bf6 100644 --- a/bsp/buildroot/package/libkcapi/libkcapi.hash +++ b/bsp/buildroot/package/libkcapi/libkcapi.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 411fc32b3e36ac0268837a8d4538eb8aef487b3a3e9b21a2b88b8ed2f926edf3 libkcapi-0.14.0.tar.xz +sha256 9197f35aca270f97c544fe94dab379b44a2879a07eb78acd5d02c55924902763 libkcapi-1.1.4.tar.xz +sha256 c6b8402a68999b0f84560ab43cdf60f9ff33c4a9a8ced6a40db9d3b787ba5b4a COPYING +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING.gplv2 +sha256 13aa749a5b0a454917a944ed8fffc530b784f5ead522b1aacaf4ec8aa55a6239 COPYING.bsd diff --git a/bsp/buildroot/package/libkcapi/libkcapi.mk b/bsp/buildroot/package/libkcapi/libkcapi.mk index 1e273717..48d34ffc 100644 --- a/bsp/buildroot/package/libkcapi/libkcapi.mk +++ b/bsp/buildroot/package/libkcapi/libkcapi.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBKCAPI_VERSION = 0.14.0 +LIBKCAPI_VERSION = 1.1.4 LIBKCAPI_SOURCE = libkcapi-$(LIBKCAPI_VERSION).tar.xz LIBKCAPI_SITE = http://www.chronox.de/libkcapi LIBKCAPI_AUTORECONF = YES @@ -16,18 +16,28 @@ LIBKCAPI_CONF_ENV = \ ac_cv_path_DB2PS="" \ ac_cv_path_XMLTO="" -ifeq ($(BR2_PACKAGE_LIBKCAPI_APPS),y) -LIBKCAPI_CONF_OPTS += \ - --enable-kcapi-speed \ - --enable-kcapi-test \ - --enable-kcapi-hasher \ - --enable-kcapi-rngapp +ifeq ($(BR2_PACKAGE_LIBKCAPI_HASHER),y) +LIBKCAPI_CONF_OPTS += --enable-kcapi-hasher else -LIBKCAPI_CONF_OPTS += \ - --disable-kcapi-speed \ - --disable-kcapi-test \ - --disable-kcapi-hasher \ - --disable-kcapi-rngapp +LIBKCAPI_CONF_OPTS += --disable-kcapi-hasher +endif + +ifeq ($(BR2_PACKAGE_LIBKCAPI_RNGAPP),y) +LIBKCAPI_CONF_OPTS += --enable-kcapi-rngapp +else +LIBKCAPI_CONF_OPTS += --disable-kcapi-rngapp +endif + +ifeq ($(BR2_PACKAGE_LIBKCAPI_SPEED),y) +LIBKCAPI_CONF_OPTS += --enable-kcapi-speed +else +LIBKCAPI_CONF_OPTS += --disable-kcapi-speed +endif + +ifeq ($(BR2_PACKAGE_LIBKCAPI_TEST),y) +LIBKCAPI_CONF_OPTS += --enable-kcapi-test +else +LIBKCAPI_CONF_OPTS += --disable-kcapi-test endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libkrb5/Config.in b/bsp/buildroot/package/libkrb5/Config.in new file mode 100644 index 00000000..2e24c872 --- /dev/null +++ b/bsp/buildroot/package/libkrb5/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_LIBKRB5 + bool "libkrb5" + # needs fork() + depends on BR2_USE_MMU + depends on !BR2_STATIC_LIBS + help + Kerberos is a system for authenticating users and services + on a network. Kerberos is a trusted third-party service. + That means that there is a third party (the Kerberos server) + that is trusted by all the entities on the network (users + and services, usually called "principals"). This is the MIT + reference implementation of Kerberos V5. + + https://web.mit.edu/kerberos/ + +comment "libkrb5 needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/libkrb5/libkrb5.hash b/bsp/buildroot/package/libkrb5/libkrb5.hash new file mode 100644 index 00000000..733c6c9d --- /dev/null +++ b/bsp/buildroot/package/libkrb5/libkrb5.hash @@ -0,0 +1,5 @@ +# Locally calculated after checking pgp signature +sha256 9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027 krb5-1.16.2.tar.gz + +# Hash for license file: +sha256 58534f00ed877fd32936fcab094f49d399aeef7716393204d8028c4b89050c82 NOTICE diff --git a/bsp/buildroot/package/libkrb5/libkrb5.mk b/bsp/buildroot/package/libkrb5/libkrb5.mk new file mode 100644 index 00000000..5ba0ab18 --- /dev/null +++ b/bsp/buildroot/package/libkrb5/libkrb5.mk @@ -0,0 +1,59 @@ +################################################################################ +# +# libkrb5 +# +################################################################################ + +LIBKRB5_VERSION_MAJOR = 1.16 +LIBKRB5_VERSION = $(LIBKRB5_VERSION_MAJOR).2 +LIBKRB5_SITE = https://web.mit.edu/kerberos/dist/krb5/$(LIBKRB5_VERSION_MAJOR) +LIBKRB5_SOURCE = krb5-$(LIBKRB5_VERSION).tar.gz +LIBKRB5_SUBDIR = src +LIBKRB5_LICENSE = MIT +LIBKRB5_LICENSE_FILES = NOTICE +LIBKRB5_DEPENDENCIES = host-bison +LIBKRB5_INSTALL_STAGING = YES + +# The configure script uses AC_TRY_RUN tests to check for those values, +# which doesn't work in a cross-compilation scenario. Therefore, +# we feed the configure script with the correct answer for those tests +LIBKRB5_CONF_ENV = \ + ac_cv_printf_positional=yes \ + ac_cv_func_regcomp=yes \ + krb5_cv_attr_constructor_destructor=yes,yes + +# Never use the host packages +LIBKRB5_CONF_OPTS = \ + --without-system-db \ + --without-system-et \ + --without-system-ss \ + --without-system-verto \ + --without-tcl \ + --disable-rpath + +ifeq ($(BR2_PACKAGE_OPENLDAP),y) +LIBKRB5_CONF_OPTS += --with-ldap +LIBKRB5_DEPENDENCIES += openldap +else +LIBKRB5_CONF_OPTS += --without-ldap +endif + +ifeq ($(BR2_PACKAGE_LIBEDIT),y) +LIBKRB5_CONF_OPTS += --with-libedit +LIBKRB5_DEPENDENCIES += libedit +else +LIBKRB5_CONF_OPTS += --without-libedit +endif + +ifeq ($(BR2_PACKAGE_READLINE),y) +LIBKRB5_CONF_OPTS += --with-readline +LIBKRB5_DEPENDENCIES += readline +else +LIBKRB5_CONF_OPTS += --without-readline +endif + +ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +LIBKRB5_CONF_OPTS += --disable-thread-support +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libksba/libksba.hash b/bsp/buildroot/package/libksba/libksba.hash index f0a38f3d..8ab7e6ef 100644 --- a/bsp/buildroot/package/libksba/libksba.hash +++ b/bsp/buildroot/package/libksba/libksba.hash @@ -1,2 +1,9 @@ # Locally calculated after checking pgp signature sha256 41444fd7a6ff73a79ad9728f985e71c9ba8cd3e5e53358e70d5f066d35c1a340 libksba-1.3.5.tar.bz2 + +# Hash for license files: +sha256 240908e1356ffeb5d0730227b6198dcc8e878375d28632fd813e0ed75b35ccc2 AUTHORS +sha256 6197b98c6bf69838c624809c509d84333de1bc847155168c0e84527446a27076 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPLv2 +sha256 0abbff814cd00e2b0b6d08395af2b419c1a92026c4b4adacbb65ccda45fa58cf COPYING.GPLv3 +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 COPYING.LGPLv3 diff --git a/bsp/buildroot/package/libldns/libldns.hash b/bsp/buildroot/package/libldns/libldns.hash index dc6b1a34..f20bb4be 100644 --- a/bsp/buildroot/package/libldns/libldns.hash +++ b/bsp/buildroot/package/libldns/libldns.hash @@ -2,3 +2,6 @@ sha1 ceeeccf8a27e61a854762737f6ee02f44662c1b8 ldns-1.7.0.tar.gz # From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha256 sha256 c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc ldns-1.7.0.tar.gz + +# Hash for license file: +sha256 9e0b1505c358d1a7c79555ee8bd1acbe2985dbc74dd81f3697cebf2161e922e6 LICENSE diff --git a/bsp/buildroot/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch b/bsp/buildroot/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch index 5d1ef3f5..0c13e35c 100644 --- a/bsp/buildroot/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch +++ b/bsp/buildroot/package/liblinear/0001-blas-don-t-overwrite-ar-options.patch @@ -7,6 +7,7 @@ ar's rcv options get lost when AR is passed on the command line. Signed-off-by: Romain Naour +Signed-off-by: Fabrice Fontaine --- blas/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -18,14 +19,14 @@ index 895fd24..78cec9a 100644 @@ -1,4 +1,4 @@ -AR = ar rcv +AR = ar - RANLIB = ranlib + RANLIB = ranlib HEADERS = blas.h blasp.h @@ -8,7 +8,7 @@ CFLAGS = $(OPTFLAGS) FFLAGS = $(OPTFLAGS) blas: $(FILES) $(HEADERS) -- $(AR) blas.a $(FILES) +- $(AR) blas.a $(FILES) + $(AR) rcv blas.a $(FILES) $(RANLIB) blas.a diff --git a/bsp/buildroot/package/liblinear/liblinear.hash b/bsp/buildroot/package/liblinear/liblinear.hash index 4f03fa4a..9644bc02 100644 --- a/bsp/buildroot/package/liblinear/liblinear.hash +++ b/bsp/buildroot/package/liblinear/liblinear.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 fa5c12dedc76ffca12f1681de7073b03af68163c4e4be65194217c99e55a7d68 liblinear-2.1.tar.gz +sha256 3f9fef20e76267bed1b817c9dc96d561ab5ee487828109bd44ed268fbf42048f liblinear-2.20.tar.gz +sha256 2ad9363447d0afeca34d53619163cffd502ec172bdb44d8d112c7acb99ae2558 COPYRIGHT diff --git a/bsp/buildroot/package/liblinear/liblinear.mk b/bsp/buildroot/package/liblinear/liblinear.mk index 84527ab8..e1a0d109 100644 --- a/bsp/buildroot/package/liblinear/liblinear.mk +++ b/bsp/buildroot/package/liblinear/liblinear.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBLINEAR_VERSION = 2.1 +LIBLINEAR_VERSION = 2.20 LIBLINEAR_SITE = http://www.csie.ntu.edu.tw/~cjlin/liblinear LIBLINEAR_LICENSE = BSD-3-Clause LIBLINEAR_LICENSE_FILES = COPYRIGHT diff --git a/bsp/buildroot/package/libllcp/libllcp.hash b/bsp/buildroot/package/libllcp/libllcp.hash index 47c909f1..e6f63017 100644 --- a/bsp/buildroot/package/libllcp/libllcp.hash +++ b/bsp/buildroot/package/libllcp/libllcp.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 4336533304a11ecb3041d211ccecd7759b7c7aad4f44037721803e2da1094d22 libllcp-05dfa8003433a7070bfd8ae02efdb0203bbf34aa.tar.gz +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING diff --git a/bsp/buildroot/package/liblo/0001-server-use-correct-poll.h-header.patch b/bsp/buildroot/package/liblo/0001-server-use-correct-poll.h-header.patch new file mode 100644 index 00000000..04c04455 --- /dev/null +++ b/bsp/buildroot/package/liblo/0001-server-use-correct-poll.h-header.patch @@ -0,0 +1,32 @@ +From d59f2e6f42a9e4f8a9184d7ed75546f47dc50123 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Sun, 8 Apr 2018 11:09:02 +0200 +Subject: [PATCH] server: use correct poll.h header + +Fixes build with the musl C library: + http://autobuild.buildroot.net/results/000a46954d0c6d3dbc4b4634a0d3a3c955fac679 + +Signed-off-by: "Yann E. MORIN" +--- +Upstream status: + PR sent: https://github.com/radarsat1/liblo/pull/66 +--- + src/server.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/server.c b/src/server.c +index 01fa08f..11c62d2 100644 +--- a/src/server.c ++++ b/src/server.c +@@ -51,7 +51,7 @@ + #include + #include + #ifdef HAVE_POLL +-#include ++#include + #endif + #include + #include +-- +2.14.1 + diff --git a/bsp/buildroot/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch b/bsp/buildroot/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch new file mode 100644 index 00000000..3f3bf86c --- /dev/null +++ b/bsp/buildroot/package/liblo/0002-src-server.c-fix-stringop-truncation-error.patch @@ -0,0 +1,30 @@ +From c1b2fbd8d96d9b668a0b5e3c49c75c13cfe7d4ba Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 15 Dec 2018 21:55:08 +0100 +Subject: [PATCH] src/server.c: fix stringop-truncation error + +Fixes: + - http://autobuild.buildroot.org/results/62896bd6a1a30facaffd07a7a763831996dc8ea0 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/radarsat1/liblo/pull/70] +--- + src/server.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/server.c b/src/server.c +index 6d1a9de..72aecc9 100644 +--- a/src/server.c ++++ b/src/server.c +@@ -377,7 +377,7 @@ void lo_server_resolve_hostname(lo_server s) + gethostname(hostname, sizeof(hostname)); + he = gethostbyname(hostname); + if (he) { +- strncpy(hostname, he->h_name, sizeof(hostname)); ++ strncpy(hostname, he->h_name, sizeof(hostname) - 1); + } + } + +-- +2.14.1 + diff --git a/bsp/buildroot/package/liblo/liblo.hash b/bsp/buildroot/package/liblo/liblo.hash index a4e01a6d..fe61f82e 100644 --- a/bsp/buildroot/package/liblo/liblo.hash +++ b/bsp/buildroot/package/liblo/liblo.hash @@ -1,3 +1,6 @@ -# From http://sourceforge.net/projects/liblo/files/liblo/0.26/ -sha1 21942c8f19e9829b5842cb85352f98c49dfbc823 liblo-0.26.tar.gz -md5 5351de14262560e15e7f23865293b16f liblo-0.26.tar.gz +# From http://sourceforge.net/projects/liblo/files/liblo/0.29/ +sha1 6aa69456787d3d6ef915281b4a0f8f2c79548ce3 liblo-0.29.tar.gz +md5 b0e70bc0fb2254addf94adddf85cffd3 liblo-0.29.tar.gz + +# Locally computed +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING diff --git a/bsp/buildroot/package/liblo/liblo.mk b/bsp/buildroot/package/liblo/liblo.mk index 3c852be7..e28e5280 100644 --- a/bsp/buildroot/package/liblo/liblo.mk +++ b/bsp/buildroot/package/liblo/liblo.mk @@ -4,11 +4,20 @@ # ################################################################################ -LIBLO_VERSION = 0.26 +LIBLO_VERSION = 0.29 LIBLO_SITE = http://downloads.sourceforge.net/project/liblo/liblo/$(LIBLO_VERSION) LIBLO_LICENSE = LGPL-2.1+ LIBLO_LICENSE_FILES = COPYING LIBLO_INSTALL_STAGING = YES +# IPv6 support broken, issue known upstream +LIBLO_CONF_OPTS = --disable-ipv6 + +# Liblo uses atomic builtins, so we need to link with libatomic for +# the architectures who explicitly need libatomic. +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +LIBLO_CONF_ENV += LIBS="-latomic" +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/liblog4c-localtime/liblog4c-localtime.hash b/bsp/buildroot/package/liblog4c-localtime/liblog4c-localtime.hash index 2e4e6417..c638d732 100644 --- a/bsp/buildroot/package/liblog4c-localtime/liblog4c-localtime.hash +++ b/bsp/buildroot/package/liblog4c-localtime/liblog4c-localtime.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 a1f68d8251509c0171f8bfea42f9e2a5255a4185f7dcbe67f584aa09709b2496 liblog4c-localtime-v1.0.tar.gz +sha256 a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7 COPYING diff --git a/bsp/buildroot/package/liblogging/liblogging.hash b/bsp/buildroot/package/liblogging/liblogging.hash index f5674a1c..618689b4 100644 --- a/bsp/buildroot/package/liblogging/liblogging.hash +++ b/bsp/buildroot/package/liblogging/liblogging.hash @@ -1,2 +1,5 @@ # From http://www.liblogging.org/ -sha256 310dc1691279b7a669d383581fe4b0babdc7bf75c9b54a24e51e60428624890b liblogging-1.0.5.tar.gz +sha256 338c6174e5c8652eaa34f956be3451f7491a4416ab489aef63151f802b00bf93 liblogging-1.0.6.tar.gz + +# Hash for license file: +sha256 a5626f700d3ee92513673b5f43733af5b651d9e7a9157d4bd81ceb9c89ec04b0 COPYING diff --git a/bsp/buildroot/package/liblogging/liblogging.mk b/bsp/buildroot/package/liblogging/liblogging.mk index ec57a0ac..c756891a 100644 --- a/bsp/buildroot/package/liblogging/liblogging.mk +++ b/bsp/buildroot/package/liblogging/liblogging.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBLOGGING_VERSION = 1.0.5 +LIBLOGGING_VERSION = 1.0.6 LIBLOGGING_SITE = http://download.rsyslog.com/liblogging LIBLOGGING_LICENSE = BSD-2-Clause LIBLOGGING_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libmad/0006-configure-ac-automake-foreign.patch b/bsp/buildroot/package/libmad/0006-configure-ac-automake-foreign.patch new file mode 100644 index 00000000..828ad0c1 --- /dev/null +++ b/bsp/buildroot/package/libmad/0006-configure-ac-automake-foreign.patch @@ -0,0 +1,16 @@ +configure.ac: don't require GNU-specific files when running automake + +Signed-off-by: Fabrice Fontaine + +diff -ur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac +--- libmad-0.15.1b-orig/configure.ac 2019-01-17 21:24:52.259194527 +0100 ++++ libmad-0.15.1b/configure.ac 2019-01-17 21:25:32.779481058 +0100 +@@ -26,7 +26,7 @@ + + AC_CONFIG_SRCDIR([decoder.h]) + +-AM_INIT_AUTOMAKE ++AM_INIT_AUTOMAKE([foreign]) + + AM_CONFIG_HEADER([config.h]) + diff --git a/bsp/buildroot/package/libmad/libmad.hash b/bsp/buildroot/package/libmad/libmad.hash index 173399f7..8b785939 100644 --- a/bsp/buildroot/package/libmad/libmad.hash +++ b/bsp/buildroot/package/libmad/libmad.hash @@ -1,3 +1,4 @@ # Locally computed: sha256 bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690 libmad-0.15.1b.tar.gz sha256 0e21f2c6b19337d0b237dacc04f7b90a56be7f359f4c9a2ee0b202d9af0cfa69 frame_length.diff +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libmad/libmad.mk b/bsp/buildroot/package/libmad/libmad.mk index 7175eaa3..108c4f64 100644 --- a/bsp/buildroot/package/libmad/libmad.mk +++ b/bsp/buildroot/package/libmad/libmad.mk @@ -13,17 +13,15 @@ LIBMAD_LICENSE_FILES = COPYING LIBMAD_PATCH = \ https://sources.debian.net/data/main/libm/libmad/0.15.1b-8/debian/patches/frame_length.diff -define LIBMAD_PREVENT_AUTOMAKE - # Prevent automake from running. - (cd $(@D); touch -c config* aclocal.m4 Makefile*); -endef +# Force autoreconf to be able to use a more recent libtool script, that +# is able to properly behave in the face of a missing C++ compiler. +LIBMAD_AUTORECONF = YES define LIBMAD_INSTALL_STAGING_PC $(INSTALL) -D package/libmad/mad.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/mad.pc endef -LIBMAD_POST_PATCH_HOOKS += LIBMAD_PREVENT_AUTOMAKE LIBMAD_POST_INSTALL_STAGING_HOOKS += LIBMAD_INSTALL_STAGING_PC LIBMAD_CONF_OPTS = \ diff --git a/bsp/buildroot/package/libmatroska/libmatroska.hash b/bsp/buildroot/package/libmatroska/libmatroska.hash index 275af639..e42a9b28 100644 --- a/bsp/buildroot/package/libmatroska/libmatroska.hash +++ b/bsp/buildroot/package/libmatroska/libmatroska.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d3efaa9f6d3964351a05bea0f848a8d5dc570e4791f179816ce9a93730296bd7 libmatroska-1.4.4.tar.bz2 +sha256 38a61dd5d87c070928b5deb3922b63b2b83c09e2e4a10f9393eecb6afa9795c8 libmatroska-1.4.9.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL diff --git a/bsp/buildroot/package/libmatroska/libmatroska.mk b/bsp/buildroot/package/libmatroska/libmatroska.mk index 18ea505a..b8d0d84d 100644 --- a/bsp/buildroot/package/libmatroska/libmatroska.mk +++ b/bsp/buildroot/package/libmatroska/libmatroska.mk @@ -4,12 +4,12 @@ # ################################################################################ -LIBMATROSKA_VERSION = 1.4.4 -LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.bz2 +LIBMATROSKA_VERSION = 1.4.9 +LIBMATROSKA_SOURCE = libmatroska-$(LIBMATROSKA_VERSION).tar.xz LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska LIBMATROSKA_INSTALL_STAGING = YES LIBMATROSKA_LICENSE = LGPL-2.1+ LIBMATROSKA_LICENSE_FILES = LICENSE.LGPL LIBMATROSKA_DEPENDENCIES = libebml host-pkgconf -$(eval $(autotools-package)) +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch b/bsp/buildroot/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch deleted file mode 100644 index 1a72b618..00000000 --- a/bsp/buildroot/package/libmbim/0001-mbim-device-prefer-realpath-to-canonicalize_file_nam.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 6b043b9b676e88a80e3d4013863c5e970fdde1df Mon Sep 17 00:00:00 2001 -From: Aleksander Morgado -Date: Mon, 11 Sep 2017 09:31:03 +0200 -Subject: [PATCH] mbim-device: prefer realpath() to canonicalize_file_name() - -Usually the canonicalize_file_name() GNU extension is preferred to the -POSIX realpath(), as it covers some of the limitations the latter has. -But this extension isn't available in lots of platforms or in other -c library implementations (e.g. musl), so just default to the POSIX -method to improve portability. - -Note that the check for canonicalize_file_name() availability during -configure isn't as trivial as adding a new AC_CHECK_FUNCS(), and -importing a gnulib module seems overkill just for this one liner. - -(cherry picked from commit 417b0b80023dc30d61c111ec0a54da2884d3a541) -Signed-off-by: Aleksander Morgado ---- - src/libmbim-glib/mbim-device.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c -index e1f32a6..20e64af 100644 ---- a/src/libmbim-glib/mbim-device.c -+++ b/src/libmbim-glib/mbim-device.c -@@ -867,7 +867,7 @@ get_descriptors_filepath (MbimDevice *self) - * /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:2.0 - */ - tmp = g_strdup_printf ("/sys/class/%s/%s/device", subsystems[i], device_basename); -- path = canonicalize_file_name (tmp); -+ path = realpath (tmp, NULL); - g_free (tmp); - - if (g_file_test (path, G_FILE_TEST_EXISTS)) { --- -2.13.1 - diff --git a/bsp/buildroot/package/libmbim/libmbim.hash b/bsp/buildroot/package/libmbim/libmbim.hash index 664513e5..9e8629f3 100644 --- a/bsp/buildroot/package/libmbim/libmbim.hash +++ b/bsp/buildroot/package/libmbim/libmbim.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 22cafe6b8432433aa58bedcf7db71111522ce6531bfe24e8e9b6058412cd31cf libmbim-1.14.2.tar.xz +sha256 6cf40128d83d087946a7d8577e735526202e034d52f90047735329609097b282 libmbim-1.18.0.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/bsp/buildroot/package/libmbim/libmbim.mk b/bsp/buildroot/package/libmbim/libmbim.mk index b67905a7..748d2155 100644 --- a/bsp/buildroot/package/libmbim/libmbim.mk +++ b/bsp/buildroot/package/libmbim/libmbim.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBMBIM_VERSION = 1.14.2 -LIBMBIM_SITE = http://www.freedesktop.org/software/libmbim +LIBMBIM_VERSION = 1.18.0 +LIBMBIM_SITE = https://www.freedesktop.org/software/libmbim LIBMBIM_SOURCE = libmbim-$(LIBMBIM_VERSION).tar.xz LIBMBIM_LICENSE = LGPL-2.0+ (library), GPL-2.0+ (programs) LIBMBIM_LICENSE_FILES = COPYING COPYING.LIB diff --git a/bsp/buildroot/package/libmbus/libmbus.hash b/bsp/buildroot/package/libmbus/libmbus.hash index faf6a27a..91fe15ce 100644 --- a/bsp/buildroot/package/libmbus/libmbus.hash +++ b/bsp/buildroot/package/libmbus/libmbus.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 9fca42592da0ba75df66c6f885a4dbfa916d23e65e3d1ce6e38d940d2a2719a4 libmbus-0.8.0.tar.gz +sha256 ea171a4ae443eca7186f564db2c3cc8b84c1ac343f227f92cd52ec6a948f4a74 COPYING diff --git a/bsp/buildroot/package/libmcrypt/libmcrypt.hash b/bsp/buildroot/package/libmcrypt/libmcrypt.hash index d0d3a9c9..30b57522 100644 --- a/bsp/buildroot/package/libmcrypt/libmcrypt.hash +++ b/bsp/buildroot/package/libmcrypt/libmcrypt.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e libmcrypt-2.5.8.tar.gz +sha256 ca0061fc1381a3ab242310e4b3f56389f28e3d460eb2fd822ed7a21c6f030532 COPYING.LIB diff --git a/bsp/buildroot/package/libmediaart/Config.in b/bsp/buildroot/package/libmediaart/Config.in index e5e770d4..c11d6f49 100644 --- a/bsp/buildroot/package/libmediaart/Config.in +++ b/bsp/buildroot/package/libmediaart/Config.in @@ -20,25 +20,24 @@ choice prompt "media art backend" default BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE -config BR2_PACKAGE_MEDIAART_BACKEND_NONE +config BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE bool "none" help With no backend, libmediaart will not be able to process MP3 album art. -config BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF +config BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF bool "gdk-pixbuf" select BR2_PACKAGE_GDK_PIXBUF -config BR2_PACKAGE_MEDIAART_BACKEND_QT +config BR2_PACKAGE_LIBMEDIAART_BACKEND_QT bool "Qt" - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE_GUI -comment "Qt backend depends on Qt or Qt5" - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 +comment "Qt backend depends on Qt5" + depends on !BR2_PACKAGE_QT5 endchoice -endif # BR2_PACKAGE_MEDIAART +endif # BR2_PACKAGE_LIBMEDIAART diff --git a/bsp/buildroot/package/libmediaart/libmediaart.mk b/bsp/buildroot/package/libmediaart/libmediaart.mk index db4f1fa2..a81542ac 100644 --- a/bsp/buildroot/package/libmediaart/libmediaart.mk +++ b/bsp/buildroot/package/libmediaart/libmediaart.mk @@ -15,23 +15,21 @@ LIBMEDIAART_INSTALL_STAGING = YES LIBMEDIAART_DEPENDENCIES = libglib2 LIBMEDIAART_CONF_OPTS = --disable-unit-tests -ifeq ($(BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF),y) +ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_GDK_PIXBUF),y) LIBMEDIAART_DEPENDENCIES += gdk-pixbuf LIBMEDIAART_CONF_OPTS += \ --enable-gdkpixbuf \ --disable-qt -else ifeq ($(BR2_PACKAGE_MEDIAART_BACKEND_QT),y) +else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_QT),y) # qt5 needs c++11 (since qt-5.7) ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) LIBMEDIAART_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" endif -LIBMEDIAART_DEPENDENCIES += \ - $(if $(BR2_PACKAGE_QT),qt) \ - $(if $(BR2_PACKAGE_QT5),qt5base) +LIBMEDIAART_DEPENDENCIES += qt5base LIBMEDIAART_CONF_OPTS += \ --disable-gdkpixbuf \ --enable-qt -else ifeq ($(BR2_PACKAGE_MEDIAART_BACKEND_NONE),y) +else ifeq ($(BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE),y) LIBMEDIAART_CONF_OPTS += \ --disable-gdkpixbuf \ --disable-qt diff --git a/bsp/buildroot/package/libmemcached/libmemcached.hash b/bsp/buildroot/package/libmemcached/libmemcached.hash index 85df58f0..77d7c478 100644 --- a/bsp/buildroot/package/libmemcached/libmemcached.hash +++ b/bsp/buildroot/package/libmemcached/libmemcached.hash @@ -1,2 +1,5 @@ # From https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz/+md5 md5 b3958716b4e53ddc5992e6c49d97e819 libmemcached-1.0.18.tar.gz + +# Hash for license file: +sha256 4e9032d0f539276db05519ee3d09ca6167d2134ec91c556e8c80ef3efe633fd2 COPYING diff --git a/bsp/buildroot/package/libmhash/libmhash.hash b/bsp/buildroot/package/libmhash/libmhash.hash index 5ae56866..06c1fe48 100644 --- a/bsp/buildroot/package/libmhash/libmhash.hash +++ b/bsp/buildroot/package/libmhash/libmhash.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 56521c52a9033779154432d0ae47ad7198914785265e1f570cee21ab248dfef0 mhash-0.9.9.9.tar.bz2 +sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING diff --git a/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.hash b/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.hash index e628cb2c..d54d2bbc 100644 --- a/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.hash +++ b/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 dec1a76487d7e48ad74b468a888bfda1c05731f185ff950f1e363ca9d39caf4e libmicrohttpd-0.9.57.tar.gz +sha256 cd0e5d3f95a9e55ef7cdf4d0530e997ba00b8411af9149d9287db785d729c471 libmicrohttpd-0.9.60.tar.gz sha256 70e12e2a60151b9ed1a4c94a5ffeb99cd086fa94542b5a92fec581506e8d3121 COPYING diff --git a/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.mk b/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.mk index 62fb7fc2..fd7c3708 100644 --- a/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.mk +++ b/bsp/buildroot/package/libmicrohttpd/libmicrohttpd.mk @@ -4,21 +4,13 @@ # ################################################################################ -LIBMICROHTTPD_VERSION = 0.9.57 +LIBMICROHTTPD_VERSION = 0.9.60 LIBMICROHTTPD_SITE = $(BR2_GNU_MIRROR)/libmicrohttpd LIBMICROHTTPD_LICENSE_FILES = COPYING LIBMICROHTTPD_INSTALL_STAGING = YES LIBMICROHTTPD_CONF_OPTS = --disable-curl --disable-examples LIBMICROHTTPD_CFLAGS = $(TARGET_CFLAGS) -std=c99 -# gcc on arc and bfin doesn't define _REENTRANT when -pthread is -# passed while it should. Compensate this deficiency here otherwise -# libmicrohttpd configure script doesn't find that thread support is -# enabled. -ifeq ($(BR2_arc)$(BR2_bfin),y) -LIBMICROHTTPD_CFLAGS += -D_REENTRANT -endif - LIBMICROHTTPD_CONF_ENV += CFLAGS="$(LIBMICROHTTPD_CFLAGS)" ifeq ($(BR2_PACKAGE_LIBMICROHTTPD_SSL),y) diff --git a/bsp/buildroot/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch b/bsp/buildroot/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch deleted file mode 100644 index 25591fc4..00000000 --- a/bsp/buildroot/package/libminiupnpc/0001-miniupnpc-Fix-CVE-2017-8798.patch +++ /dev/null @@ -1,59 +0,0 @@ -From f0f1f4b22d6a98536377a1bb07e7c20e4703d229 Mon Sep 17 00:00:00 2001 -From: Thomas Bernard -Date: Tue, 9 May 2017 12:00:47 +0200 -Subject: [PATCH] miniupnpc: Fix CVE-2017-8798 - -Thanks to tin/Team OSTStrom - -[Peter: drop Changelog.txt modification, convert to -p1 format] -Signed-off-by: Peter Korsgaard ---- - miniupnpc/miniwget.c | 12 +++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/miniwget.c b/miniwget.c -index 37cb47b7..1eda57c5 100644 ---- a/miniwget.c -+++ b/miniwget.c -@@ -284,11 +284,12 @@ getHTTPResponse(int s, int * size, int * status_code) - goto end_of_stream; - } - } -- bytestocopy = ((int)chunksize < (n - i))?chunksize:(unsigned int)(n - i); -+ /* it is guaranteed that (n >= i) */ -+ bytestocopy = (chunksize < (unsigned int)(n - i))?chunksize:(unsigned int)(n - i); - if((content_buf_used + bytestocopy) > content_buf_len) - { - char * tmp; -- if(content_length >= (int)(content_buf_used + bytestocopy)) { -+ if((content_length >= 0) && ((unsigned int)content_length >= (content_buf_used + bytestocopy))) { - content_buf_len = content_length; - } else { - content_buf_len = content_buf_used + bytestocopy; -@@ -313,14 +314,15 @@ getHTTPResponse(int s, int * size, int * status_code) - { - /* not chunked */ - if(content_length > 0 -- && (int)(content_buf_used + n) > content_length) { -+ && (content_buf_used + n) > (unsigned int)content_length) { - /* skipping additional bytes */ - n = content_length - content_buf_used; - } - if(content_buf_used + n > content_buf_len) - { - char * tmp; -- if(content_length >= (int)(content_buf_used + n)) { -+ if(content_length >= 0 -+ && (unsigned int)content_length >= (content_buf_used + n)) { - content_buf_len = content_length; - } else { - content_buf_len = content_buf_used + n; -@@ -340,7 +342,7 @@ getHTTPResponse(int s, int * size, int * status_code) - } - } - /* use the Content-Length header value if available */ -- if(content_length > 0 && (int)content_buf_used >= content_length) -+ if(content_length > 0 && content_buf_used >= (unsigned int)content_length) - { - #ifdef DEBUG - printf("End of HTTP content\n"); diff --git a/bsp/buildroot/package/libminiupnpc/libminiupnpc.hash b/bsp/buildroot/package/libminiupnpc/libminiupnpc.hash index c83b38aa..556d8cc4 100644 --- a/bsp/buildroot/package/libminiupnpc/libminiupnpc.hash +++ b/bsp/buildroot/package/libminiupnpc/libminiupnpc.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d434ceb8986efbe199c5ca53f90ed53eab290b1e6d0530b717eb6fa49d61f93b miniupnpc-2.0.tar.gz -sha256 4025f2214fa46ad40c156605b83d66e8faf45823e67eb3337af3869716e6d7dd LICENSE +sha256 e19fb5e01ea5a707e2a8cb96f537fbd9f3a913d53d804a3265e3aeab3d2064c6 miniupnpc-2.1.tar.gz +sha256 e2df21b3d4b1a84a0ac31d808a3ff330fdf3602e0839a526d3df2fcfba287ac4 LICENSE diff --git a/bsp/buildroot/package/libminiupnpc/libminiupnpc.mk b/bsp/buildroot/package/libminiupnpc/libminiupnpc.mk index 66b08b4e..5a4c8fc6 100644 --- a/bsp/buildroot/package/libminiupnpc/libminiupnpc.mk +++ b/bsp/buildroot/package/libminiupnpc/libminiupnpc.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMINIUPNPC_VERSION = 2.0 +LIBMINIUPNPC_VERSION = 2.1 LIBMINIUPNPC_SOURCE = miniupnpc-$(LIBMINIUPNPC_VERSION).tar.gz LIBMINIUPNPC_SITE = http://miniupnp.free.fr/files LIBMINIUPNPC_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libmms/libmms.hash b/bsp/buildroot/package/libmms/libmms.hash index 69865f7c..f424e3af 100644 --- a/bsp/buildroot/package/libmms/libmms.hash +++ b/bsp/buildroot/package/libmms/libmms.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 01931b62172d7d7050fc9ef9b1b64162f3b6e9f6cc4415170192a32a0b7ea432 libmms-0.6.2.tar.gz +sha256 3c05e05aebcbfcc044d9e8c2d4646cd8359be39a3f0ba8ce4e72a9094bee704f libmms-0.6.4.tar.gz +sha256 d80c9d084ebfb50ea1ed91bfbc2410d6ce542097a32c43b00781b83adcb8c77f COPYING.LIB diff --git a/bsp/buildroot/package/libmms/libmms.mk b/bsp/buildroot/package/libmms/libmms.mk index dd0b1df5..236fe137 100644 --- a/bsp/buildroot/package/libmms/libmms.mk +++ b/bsp/buildroot/package/libmms/libmms.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBMMS_VERSION = 0.6.2 +LIBMMS_VERSION = 0.6.4 LIBMMS_SITE = http://downloads.sourceforge.net/project/libmms/libmms/$(LIBMMS_VERSION) LIBMMS_INSTALL_STAGING = YES LIBMMS_DEPENDENCIES = host-pkgconf libglib2 diff --git a/bsp/buildroot/package/libmng/libmng.hash b/bsp/buildroot/package/libmng/libmng.hash index a695cc37..02a493f4 100644 --- a/bsp/buildroot/package/libmng/libmng.hash +++ b/bsp/buildroot/package/libmng/libmng.hash @@ -1,3 +1,6 @@ # From http://sourceforge.net/projects/libmng/files/libmng-devel/2.0.3/ md5 e9e899adb1b681b17f14d91e261878c5 libmng-2.0.3.tar.xz sha1 0f141482ffcef6f8cd4413f945a59310ac2e49af libmng-2.0.3.tar.xz + +# Hash for license file: +sha256 ba280734838eb3f22a85b92a7e62de357d4d4c325029dce723b0cb125c417c35 LICENSE diff --git a/bsp/buildroot/package/libmnl/libmnl.hash b/bsp/buildroot/package/libmnl/libmnl.hash index 98385b85..e5bb2fa6 100644 --- a/bsp/buildroot/package/libmnl/libmnl.hash +++ b/bsp/buildroot/package/libmnl/libmnl.hash @@ -1,3 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libmnl/libmnl-1.0.4.tar.bz2.{md5sum,sha1sum} md5 be9b4b5328c6da1bda565ac5dffadb2d libmnl-1.0.4.tar.bz2 sha1 2db40dea612e88c62fd321906be40ab5f8f1685a libmnl-1.0.4.tar.bz2 + +# Hash for license file: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libmodbus/libmodbus.hash b/bsp/buildroot/package/libmodbus/libmodbus.hash index b5c4450d..2d65e28a 100644 --- a/bsp/buildroot/package/libmodbus/libmodbus.hash +++ b/bsp/buildroot/package/libmodbus/libmodbus.hash @@ -1,2 +1,3 @@ # Locally computed sha256 c8c862b0e9a7ba699a49bc98f62bdffdfafd53a5716c0e162696b4bf108d3637 libmodbus-3.1.4.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/bsp/buildroot/package/libmodplug/libmodplug.hash b/bsp/buildroot/package/libmodplug/libmodplug.hash index 0077e26c..d50a56ee 100644 --- a/bsp/buildroot/package/libmodplug/libmodplug.hash +++ b/bsp/buildroot/package/libmodplug/libmodplug.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 77462d12ee99476c8645cb5511363e3906b88b33a6b54362b4dbc0f39aa2daad libmodplug-0.8.8.5.tar.gz +sha256 49942e7b3b175f549e751feb08b5270ca6f6c5fb7a1be9f9517db275ec32c92e COPYING diff --git a/bsp/buildroot/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch b/bsp/buildroot/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch new file mode 100644 index 00000000..be16eb97 --- /dev/null +++ b/bsp/buildroot/package/libmpd/0001-Fix-build-on-archlinux-missing-include.patch @@ -0,0 +1,24 @@ +From 4f946c01000fd97100e4a534b47f9c7ace0403df Mon Sep 17 00:00:00 2001 +From: QC +Date: Thu, 9 Oct 2014 19:51:50 +0200 +Subject: [PATCH] Fix build on archlinux (missing include) + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/DaveDavenport/libmpd/commit/4f946c01000fd97100e4a534b47f9c7ace0403df] +--- + src/libmpd-internal.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/libmpd-internal.h b/src/libmpd-internal.h +index c84c3a4..30cdc85 100644 +--- a/src/libmpd-internal.h ++++ b/src/libmpd-internal.h +@@ -21,6 +21,7 @@ + #define __MPD_INTERNAL_LIB_ + + #include "libmpdclient.h" ++#include + struct _MpdData_real; + + typedef struct _MpdData_real { diff --git a/bsp/buildroot/package/libmpd/libmpd.hash b/bsp/buildroot/package/libmpd/libmpd.hash index ca06c754..c0e5c6b3 100644 --- a/bsp/buildroot/package/libmpd/libmpd.hash +++ b/bsp/buildroot/package/libmpd/libmpd.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 fe20326b0d10641f71c4673fae637bf9222a96e1712f71f170fca2fc34bf7a83 libmpd-11.8.17.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/libmpdclient/libmpdclient.hash b/bsp/buildroot/package/libmpdclient/libmpdclient.hash index 2fd20a41..f268e876 100644 --- a/bsp/buildroot/package/libmpdclient/libmpdclient.hash +++ b/bsp/buildroot/package/libmpdclient/libmpdclient.hash @@ -1,2 +1,3 @@ -# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.10.tar.xz.sig, sha256 locally computed -sha256 4f08cde82dae70895f8e4532a6e9b54b201efd5591c6b5d6834895807ed2ff82 libmpdclient-2.10.tar.xz +# Verified against http://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.16.tar.xz.sig, sha256 locally computed +sha256 fa6bdab67c0e0490302b38f00c27b4959735c3ec8aef7a88327adb1407654464 libmpdclient-2.16.tar.xz +sha256 9574c3b0a9c31723cc3d5f32af4655a015fff5ec6ec8115b7906cd7d9623cf32 COPYING diff --git a/bsp/buildroot/package/libmpdclient/libmpdclient.mk b/bsp/buildroot/package/libmpdclient/libmpdclient.mk index 691aba9f..dc206c72 100644 --- a/bsp/buildroot/package/libmpdclient/libmpdclient.mk +++ b/bsp/buildroot/package/libmpdclient/libmpdclient.mk @@ -5,12 +5,11 @@ ################################################################################ LIBMPDCLIENT_VERSION_MAJOR = 2 -LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).10 +LIBMPDCLIENT_VERSION = $(LIBMPDCLIENT_VERSION_MAJOR).16 LIBMPDCLIENT_SOURCE = libmpdclient-$(LIBMPDCLIENT_VERSION).tar.xz LIBMPDCLIENT_SITE = http://www.musicpd.org/download/libmpdclient/$(LIBMPDCLIENT_VERSION_MAJOR) -LIBMPDCLIENT_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBMPDCLIENT_INSTALL_STAGING = YES LIBMPDCLIENT_LICENSE = BSD-3-Clause LIBMPDCLIENT_LICENSE_FILES = COPYING -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/libmpeg2/libmpeg2.hash b/bsp/buildroot/package/libmpeg2/libmpeg2.hash index c2adb67d..615d0ea6 100644 --- a/bsp/buildroot/package/libmpeg2/libmpeg2.hash +++ b/bsp/buildroot/package/libmpeg2/libmpeg2.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 dee22e893cb5fc2b2b6ebd60b88478ab8556cb3b93f9a0d7ce8f3b61851871d4 libmpeg2-0.5.1.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/libnatpmp/libnatpmp.hash b/bsp/buildroot/package/libnatpmp/libnatpmp.hash index a5cab3ce..baf9b353 100644 --- a/bsp/buildroot/package/libnatpmp/libnatpmp.hash +++ b/bsp/buildroot/package/libnatpmp/libnatpmp.hash @@ -1,2 +1,3 @@ # Locally computed sha256 e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0 libnatpmp-20150609.tar.gz +sha256 e8d8277e1a101fcfedb0cd5a1cc76646522c0da69f3490dd5a4055fc87ea96a2 LICENSE diff --git a/bsp/buildroot/package/libndp/libndp.hash b/bsp/buildroot/package/libndp/libndp.hash index 51e312dd..1861e0b4 100644 --- a/bsp/buildroot/package/libndp/libndp.hash +++ b/bsp/buildroot/package/libndp/libndp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 42c0a8938d4302c72a42e2d954deef7e4903bb3974da6804a929a3cd0b5b6aa7 libndp-v1.5.tar.gz +sha256 565d6c4167f83ec697c762ea002f23e8f0b00828d0749b1ce928f068543e5aad libndp-v1.6.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libndp/libndp.mk b/bsp/buildroot/package/libndp/libndp.mk index 4fa1d333..3fd8ac7b 100644 --- a/bsp/buildroot/package/libndp/libndp.mk +++ b/bsp/buildroot/package/libndp/libndp.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNDP_VERSION = v1.5 +LIBNDP_VERSION = v1.6 LIBNDP_SITE = $(call github,jpirko,libndp,$(LIBNDP_VERSION)) LIBNDP_LICENSE = LGPL-2.1+ LIBNDP_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libnetfilter_acct/libnetfilter_acct.hash b/bsp/buildroot/package/libnetfilter_acct/libnetfilter_acct.hash index 7c386646..0d37c436 100644 --- a/bsp/buildroot/package/libnetfilter_acct/libnetfilter_acct.hash +++ b/bsp/buildroot/package/libnetfilter_acct/libnetfilter_acct.hash @@ -1,3 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_acct/libnetfilter_acct-1.0.3.tar.bz2.{md5sum,sha1sum} md5 814b2972b2f5c740ff87510bc109168b libnetfilter_acct-1.0.3.tar.bz2 sha1 4b9073e4aa989b0f000c8da1ab01b22fceed52b2 libnetfilter_acct-1.0.3.tar.bz2 + +# Hash for license file: +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash b/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash index de9d1d3f..dd236cd3 100644 --- a/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash +++ b/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.hash @@ -1,3 +1,5 @@ -# From ftp://ftp.netfilter.org/pub/libnetfilter_conntrack/libnetfilter_conntrack-1.0.6.tar.bz2.{md5sum,sha1sum} -md5 7139c5f408dd9606ffecfd5dcda8175b libnetfilter_conntrack-1.0.6.tar.bz2 -sha1 015f985a8e171889a67769ba02d070eca53bac07 libnetfilter_conntrack-1.0.6.tar.bz2 +# From ftp://ftp.netfilter.org/pub/libnetfilter_conntrack/libnetfilter_conntrack-1.0.7.tar.bz2.sha256sum +sha256 33685351e29dff93cc21f5344b6e628e41e32b9f9e567f4bec0478eb41f989b6 libnetfilter_conntrack-1.0.7.tar.bz2 + +# Hash for license file: +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk b/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk index 2e9f6b7a..40b74fe9 100644 --- a/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk +++ b/bsp/buildroot/package/libnetfilter_conntrack/libnetfilter_conntrack.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNETFILTER_CONNTRACK_VERSION = 1.0.6 +LIBNETFILTER_CONNTRACK_VERSION = 1.0.7 LIBNETFILTER_CONNTRACK_SOURCE = libnetfilter_conntrack-$(LIBNETFILTER_CONNTRACK_VERSION).tar.bz2 LIBNETFILTER_CONNTRACK_SITE = http://www.netfilter.org/projects/libnetfilter_conntrack/files LIBNETFILTER_CONNTRACK_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libnetfilter_cthelper/libnetfilter_cthelper.hash b/bsp/buildroot/package/libnetfilter_cthelper/libnetfilter_cthelper.hash index 51086526..42deade7 100644 --- a/bsp/buildroot/package/libnetfilter_cthelper/libnetfilter_cthelper.hash +++ b/bsp/buildroot/package/libnetfilter_cthelper/libnetfilter_cthelper.hash @@ -1,3 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_cthelper/libnetfilter_cthelper-1.0.0.tar.bz2.{md5sum,sha1sum} md5 b2efab1a3a198a5add448960ba011acd libnetfilter_cthelper-1.0.0.tar.bz2 sha1 5d0a82794bd46aafde20c16800edca23d563de66 libnetfilter_cthelper-1.0.0.tar.bz2 + +# Hash for license file: +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash b/bsp/buildroot/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash index 7749f96e..af5a281e 100644 --- a/bsp/buildroot/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash +++ b/bsp/buildroot/package/libnetfilter_cttimeout/libnetfilter_cttimeout.hash @@ -1,3 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_cttimeout/libnetfilter_cttimeout-1.0.0.tar.bz2.{md5sum,sha1sum} md5 7697437fc9ebb6f6b83df56a633db7f9 libnetfilter_cttimeout-1.0.0.tar.bz2 sha1 24cba24b0371e80007be4ea0fa9d872df63b8a7a libnetfilter_cttimeout-1.0.0.tar.bz2 + +# Hash for license file: +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/libnetfilter_log/libnetfilter_log.hash b/bsp/buildroot/package/libnetfilter_log/libnetfilter_log.hash index 4fe6a9b8..292538db 100644 --- a/bsp/buildroot/package/libnetfilter_log/libnetfilter_log.hash +++ b/bsp/buildroot/package/libnetfilter_log/libnetfilter_log.hash @@ -1,3 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnetfilter_log/libnetfilter_log-1.0.1.tar.bz2.{md5sum,sha1sum} md5 2a4bb0654ae675a52d2e8d1c06090b94 libnetfilter_log-1.0.1.tar.bz2 sha1 0b95bcb1ad15eea906fa3607cd6c2290bd48d5bd libnetfilter_log-1.0.1.tar.bz2 + +# Hash for license file: +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/libnetfilter_queue/0001-uclinux.patch b/bsp/buildroot/package/libnetfilter_queue/0001-uclinux.patch deleted file mode 100644 index 21895d9b..00000000 --- a/bsp/buildroot/package/libnetfilter_queue/0001-uclinux.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 311b60655761f6f3c4fe44cf6eff63427283f25e Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 10 Sep 2013 16:13:58 -0300 -Subject: [PATCH] configure: uclinux is also linux - -Signed-off-by: Gustavo Zacarias ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 07747a6..289868f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -21,7 +21,7 @@ AC_PROG_INSTALL - CHECK_GCC_FVISIBILITY - - case "$host" in --*-*-linux*) ;; -+*-*-linux* | *-*-uclinux*) ;; - *) AC_MSG_ERROR([Linux only, dude!]);; - esac - --- -1.8.1.5 - diff --git a/bsp/buildroot/package/libnetfilter_queue/0002-musl.patch b/bsp/buildroot/package/libnetfilter_queue/0002-musl.patch deleted file mode 100644 index 3765d58a..00000000 --- a/bsp/buildroot/package/libnetfilter_queue/0002-musl.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 5348da83403383a60831f4c297841afb98692887 Mon Sep 17 00:00:00 2001 -From: Felix Janda -Date: Sat, 16 May 2015 14:45:46 +0200 -Subject: [PATCH] extra: Define _GNU_SOURCE to get members of tcphdr&ucphdr - -The source uses linux names for members of tcphdr. For example -"source" instead of "th_sport", ... musl libc's headers need -_GNU_SOURCE defined in order to expose these. - -Signed-off-by: Felix Janda -Signed-off-by: Pablo Neira Ayuso -[yann.morin.1998@free.fr: backported from upstream] -Signed-off-by: "Yann E. MORIN" ---- - src/extra/tcp.c | 1 + - src/extra/udp.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/extra/tcp.c b/src/extra/tcp.c -index bf161aa..d1cd79d 100644 ---- a/src/extra/tcp.c -+++ b/src/extra/tcp.c -@@ -15,6 +15,7 @@ - #include - #include - #include -+#define _GNU_SOURCE - #include - - #include -diff --git a/src/extra/udp.c b/src/extra/udp.c -index 6e6baed..8c44a66 100644 ---- a/src/extra/udp.c -+++ b/src/extra/udp.c -@@ -14,6 +14,7 @@ - #include - #include - #include -+#define _GNU_SOURCE - #include - - #include --- -1.9.1 - diff --git a/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash b/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash index 4ea37216..1425d41b 100644 --- a/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash +++ b/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.hash @@ -1,3 +1,6 @@ -# From ftp://ftp.netfilter.org/pub/libnetfilter_queue/libnetfilter_queue-1.0.2.tar.bz2.{md5sum,sha1sum} -md5 df09befac35cb215865b39a36c96a3fa libnetfilter_queue-1.0.2.tar.bz2 -sha1 8cc0b8ed33162281bc9fa8bcfa8c9dcb08848ff9 libnetfilter_queue-1.0.2.tar.bz2 +# From ftp://ftp.netfilter.org/pub/libnetfilter_queue/libnetfilter_queue-1.0.3.tar.bz2.{md5sum,sha1sum} +md5 700ce0ae4784257ab5abe6fd1802f366 libnetfilter_queue-1.0.3.tar.bz2 +sha1 3d182e3211b633d0a0f8a2b12ef80dc2621f53cb libnetfilter_queue-1.0.2.tar.bz2 + +# Hash for license file: +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk b/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk index 75910c59..302f9a25 100644 --- a/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk +++ b/bsp/buildroot/package/libnetfilter_queue/libnetfilter_queue.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNETFILTER_QUEUE_VERSION = 1.0.2 +LIBNETFILTER_QUEUE_VERSION = 1.0.3 LIBNETFILTER_QUEUE_SOURCE = libnetfilter_queue-$(LIBNETFILTER_QUEUE_VERSION).tar.bz2 LIBNETFILTER_QUEUE_SITE = http://www.netfilter.org/projects/libnetfilter_queue/files LIBNETFILTER_QUEUE_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/libnfc/libnfc.hash b/bsp/buildroot/package/libnfc/libnfc.hash index 307e0492..32decf2d 100644 --- a/bsp/buildroot/package/libnfc/libnfc.hash +++ b/bsp/buildroot/package/libnfc/libnfc.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 945e74d8e27683f9b8a6f6e529557b305d120df347a960a6a7ead6cb388f4072 libnfc-1.7.1.tar.bz2 +sha256 9ccf26cfe845e0eb8bb58053e47366e7ab6b697ae010f7650978d4b71b7d1fc1 COPYING diff --git a/bsp/buildroot/package/libnfnetlink/libnfnetlink.hash b/bsp/buildroot/package/libnfnetlink/libnfnetlink.hash index 93844f22..3392d239 100644 --- a/bsp/buildroot/package/libnfnetlink/libnfnetlink.hash +++ b/bsp/buildroot/package/libnfnetlink/libnfnetlink.hash @@ -1,3 +1,6 @@ # From ftp://ftp.netfilter.org/pub/libnfnetlink/libnfnetlink-1.0.1.tar.bz2.{md5sum,sha1sum} md5 98927583d2016a9fb1936fed992e2c5e libnfnetlink-1.0.1.tar.bz2 sha1 27ae2dfbd976e28cb7a417f9e946c901f512dd9a libnfnetlink-1.0.1.tar.bz2 + +# Hash for license file: +sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch b/bsp/buildroot/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch new file mode 100644 index 00000000..34e58401 --- /dev/null +++ b/bsp/buildroot/package/libnfs/0002-libnfs.c-include-time.h-in-libnfs.c.patch @@ -0,0 +1,35 @@ +From b56bd3d99f67a3273fec3c0c5d9560413465a1db Mon Sep 17 00:00:00 2001 +From: Anna Lyons +Date: Thu, 12 Jul 2018 17:45:23 +1000 +Subject: [PATCH] libnfs.c: include in libnfs.c +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +time() is used in this file, which is from time.h. Fixes a warning. + +Note, that building with musl breaks otherwise, as it is more strict regarding +missing header inclusions. + +Backported from: 794a29f01f8e5961adc5c79d5ba5ac1062877e6c + +Signed-off-by: Jörg Krause +--- + lib/libnfs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/libnfs.c b/lib/libnfs.c +index d89d84d..43c17b9 100755 +--- a/lib/libnfs.c ++++ b/lib/libnfs.c +@@ -70,6 +70,7 @@ + #include + #include + #include ++#include + #include "slist.h" + #include "libnfs.h" + #include "libnfs-raw.h" +-- +2.19.1 + diff --git a/bsp/buildroot/package/libnfs/libnfs.hash b/bsp/buildroot/package/libnfs/libnfs.hash index 2bd8caf2..0e4dc6fb 100644 --- a/bsp/buildroot/package/libnfs/libnfs.hash +++ b/bsp/buildroot/package/libnfs/libnfs.hash @@ -1,6 +1,6 @@ # Locally calculated -sha256 7ea6cd8fa6c461d01091e584d424d28e137d23ff4b65b95d01a3fd0ef95d120e libnfs-libnfs-2.0.0.tar.gz -sha256 2d152e3a2f31ef0fe14d4908377277f8215fb5c82ec9329d1eed081c845fc85f COPYING +sha256 445d92c5fc55e4a5b115e358e60486cf8f87ee50e0103d46a02e7fb4618566a5 libnfs-libnfs-3.0.0.tar.gz +sha256 edd960c0142b8ada98b43b6396b78f4e557b0bc70ac601a51e397ad04070e2c5 COPYING sha256 d9406ced95457941032aa11d04623b8ab71f2827a3395ebef137aec475be35b1 LICENCE-BSD.txt sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENCE-LGPL-2.1.txt sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENCE-GPL-3.txt diff --git a/bsp/buildroot/package/libnfs/libnfs.mk b/bsp/buildroot/package/libnfs/libnfs.mk index 0cf07d21..3a84e0aa 100644 --- a/bsp/buildroot/package/libnfs/libnfs.mk +++ b/bsp/buildroot/package/libnfs/libnfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNFS_VERSION = libnfs-2.0.0 +LIBNFS_VERSION = libnfs-3.0.0 LIBNFS_SITE = $(call github,sahlberg,libnfs,$(LIBNFS_VERSION)) LIBNFS_INSTALL_STAGING = YES LIBNFS_AUTORECONF = YES diff --git a/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch b/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch index 1062f2b0..213aab79 100644 --- a/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch +++ b/bsp/buildroot/package/libnftnl/0001-Rename-xfree-to-libnftnl_xfree-to-avoid-symbol-namin.patch @@ -1,4 +1,4 @@ -From a51cdce6fd271a5cc393c5e56996846d9c453d6a Mon Sep 17 00:00:00 2001 +From 90a0152c224fa90f648b27187859bd84f6426e1b Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Thu, 2 Jun 2016 23:03:27 -0300 Subject: [PATCH] Rename xfree() to libnftnl_xfree() to avoid symbol naming @@ -22,31 +22,33 @@ libnftnl_xfree(). Signed-off-by: Thomas Petazzoni [Gustavo: update for version 1.0.7] Signed-off-by: Gustavo Zacarias -[baruch: update for version 1.0.9] +[baruch: update for versions 1.0.9, 1.1.2] Signed-off-by: Baruch Siach --- - include/utils.h | 2 +- - src/chain.c | 36 ++++++++++++++++++------------------ - src/common.c | 2 +- - src/expr.c | 4 ++-- - src/expr/data_reg.c | 2 +- - src/expr/dynset.c | 2 +- - src/expr/immediate.c | 2 +- - src/expr/log.c | 6 +++--- - src/expr/lookup.c | 2 +- - src/expr/match.c | 6 +++--- - src/expr/target.c | 6 +++--- - src/gen.c | 2 +- - src/object.c | 14 +++++++------- - src/rule.c | 32 ++++++++++++++++---------------- - src/ruleset.c | 2 +- - src/set.c | 28 ++++++++++++++-------------- - src/set_elem.c | 28 ++++++++++++++-------------- - src/table.c | 14 +++++++------- - src/trace.c | 14 +++++++------- - src/udata.c | 2 +- - src/utils.c | 2 +- - 21 files changed, 104 insertions(+), 104 deletions(-) + include/utils.h | 2 +- + src/chain.c | 36 ++++++++++++++++++------------------ + src/common.c | 2 +- + src/expr.c | 4 ++-- + src/expr/data_reg.c | 2 +- + src/expr/dynset.c | 2 +- + src/expr/flow_offload.c | 2 +- + src/expr/immediate.c | 2 +- + src/expr/log.c | 6 +++--- + src/expr/lookup.c | 2 +- + src/expr/match.c | 6 +++--- + src/expr/target.c | 6 +++--- + src/flowtable.c | 32 ++++++++++++++++---------------- + src/gen.c | 2 +- + src/object.c | 14 +++++++------- + src/rule.c | 32 ++++++++++++++++---------------- + src/ruleset.c | 2 +- + src/set.c | 28 ++++++++++++++-------------- + src/set_elem.c | 28 ++++++++++++++-------------- + src/table.c | 14 +++++++------- + src/trace.c | 14 +++++++------- + src/udata.c | 2 +- + src/utils.c | 2 +- + 23 files changed, 121 insertions(+), 121 deletions(-) diff --git a/include/utils.h b/include/utils.h index 3cc659652fe2..820556715013 100644 @@ -62,7 +64,7 @@ index 3cc659652fe2..820556715013 100644 #define div_round_up(n, d) (((n) + (d) - 1) / (d)) diff --git a/src/chain.c b/src/chain.c -index eff518680873..03033bbcb93b 100644 +index 01d62c84f140..93e193955934 100644 --- a/src/chain.c +++ b/src/chain.c @@ -97,14 +97,14 @@ EXPORT_SYMBOL(nftnl_chain_free); @@ -176,7 +178,7 @@ index eff518680873..03033bbcb93b 100644 c->type = strdup(mnl_attr_get_str(tb[NFTA_CHAIN_TYPE])); if (!c->type) return -1; -@@ -902,7 +902,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) +@@ -711,7 +711,7 @@ void nftnl_chain_list_free(struct nftnl_chain_list *list) list_del(&r->head); nftnl_chain_free(r); } @@ -185,7 +187,7 @@ index eff518680873..03033bbcb93b 100644 } EXPORT_SYMBOL(nftnl_chain_list_is_empty); -@@ -988,5 +988,5 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite +@@ -797,5 +797,5 @@ struct nftnl_chain *nftnl_chain_list_iter_next(struct nftnl_chain_list_iter *ite EXPORT_SYMBOL(nftnl_chain_list_iter_destroy); void nftnl_chain_list_iter_destroy(struct nftnl_chain_list_iter *iter) { @@ -193,7 +195,7 @@ index eff518680873..03033bbcb93b 100644 + nftnl_xfree(iter); } diff --git a/src/common.c b/src/common.c -index 561c95439114..d0124134ea29 100644 +index feb13b2aa836..de7e9d08b9e2 100644 --- a/src/common.c +++ b/src/common.c @@ -68,7 +68,7 @@ struct nftnl_parse_err *nftnl_parse_err_alloc(void) @@ -206,7 +208,7 @@ index 561c95439114..d0124134ea29 100644 EXPORT_SYMBOL(nftnl_parse_perror); diff --git a/src/expr.c b/src/expr.c -index 62565e046996..97f16275f44f 100644 +index 80c4c36a9bd7..f5e44cd16349 100644 --- a/src/expr.c +++ b/src/expr.c @@ -51,7 +51,7 @@ void nftnl_expr_free(const struct nftnl_expr *expr) @@ -218,7 +220,7 @@ index 62565e046996..97f16275f44f 100644 } EXPORT_SYMBOL(nftnl_expr_is_set); -@@ -270,7 +270,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) +@@ -260,7 +260,7 @@ struct nftnl_expr *nftnl_expr_parse(struct nlattr *attr) return expr; err2: @@ -228,10 +230,10 @@ index 62565e046996..97f16275f44f 100644 return NULL; } diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c -index 1b28b291617b..8c7abdb91d21 100644 +index 67165feb931f..c6f3cec48caf 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c -@@ -379,7 +379,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) +@@ -225,7 +225,7 @@ void nftnl_free_verdict(const union nftnl_data_reg *data) switch(data->verdict) { case NFT_JUMP: case NFT_GOTO: @@ -241,10 +243,10 @@ index 1b28b291617b..8c7abdb91d21 100644 default: break; diff --git a/src/expr/dynset.c b/src/expr/dynset.c -index 160d0e15c151..614124d841c7 100644 +index 68115ba50c94..4e8093b7e9db 100644 --- a/src/expr/dynset.c +++ b/src/expr/dynset.c -@@ -330,7 +330,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) +@@ -276,7 +276,7 @@ static void nftnl_expr_dynset_free(const struct nftnl_expr *e) { struct nftnl_expr_dynset *dynset = nftnl_expr_data(e); @@ -252,9 +254,22 @@ index 160d0e15c151..614124d841c7 100644 + nftnl_xfree(dynset->set_name); } - static bool nftnl_expr_dynset_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_dynset = { +diff --git a/src/expr/flow_offload.c b/src/expr/flow_offload.c +index 6ccec9a13396..877ad072ba53 100644 +--- a/src/expr/flow_offload.c ++++ b/src/expr/flow_offload.c +@@ -122,7 +122,7 @@ static void nftnl_expr_flow_free(const struct nftnl_expr *e) + { + struct nftnl_expr_flow *flow = nftnl_expr_data(e); + +- xfree(flow->table_name); ++ nftnl_xfree(flow->table_name); + } + + struct expr_ops expr_ops_flow = { diff --git a/src/expr/immediate.c b/src/expr/immediate.c -index b0570bd539a4..6a0732c38ebd 100644 +index 47106ae86675..b0289f9397fb 100644 --- a/src/expr/immediate.c +++ b/src/expr/immediate.c @@ -44,7 +44,7 @@ nftnl_expr_immediate_set(struct nftnl_expr *e, uint16_t type, @@ -267,7 +282,7 @@ index b0570bd539a4..6a0732c38ebd 100644 imm->data.chain = strdup(data); if (!imm->data.chain) diff --git a/src/expr/log.c b/src/expr/log.c -index 86d965136cd4..0624a7712237 100644 +index bbe43d2dc6bc..a5952ce10ccc 100644 --- a/src/expr/log.c +++ b/src/expr/log.c @@ -39,7 +39,7 @@ static int nftnl_expr_log_set(struct nftnl_expr *e, uint16_t type, @@ -288,7 +303,7 @@ index 86d965136cd4..0624a7712237 100644 log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX])); if (!log->prefix) -@@ -317,7 +317,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) +@@ -255,7 +255,7 @@ static void nftnl_expr_log_free(const struct nftnl_expr *e) { struct nftnl_expr_log *log = nftnl_expr_data(e); @@ -296,12 +311,12 @@ index 86d965136cd4..0624a7712237 100644 + nftnl_xfree(log->prefix); } - static bool nftnl_expr_log_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_log = { diff --git a/src/expr/lookup.c b/src/expr/lookup.c -index 5fcb81f3a7a2..45f5dfefd33f 100644 +index a495ac0fdcfc..4fce24288c57 100644 --- a/src/expr/lookup.c +++ b/src/expr/lookup.c -@@ -258,7 +258,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) +@@ -209,7 +209,7 @@ static void nftnl_expr_lookup_free(const struct nftnl_expr *e) { struct nftnl_expr_lookup *lookup = nftnl_expr_data(e); @@ -309,9 +324,9 @@ index 5fcb81f3a7a2..45f5dfefd33f 100644 + nftnl_xfree(lookup->set_name); } - static bool nftnl_expr_lookup_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_lookup = { diff --git a/src/expr/match.c b/src/expr/match.c -index dd09e1e85192..09e35c528aca 100644 +index 4fa74b2da893..7ee706753b68 100644 --- a/src/expr/match.c +++ b/src/expr/match.c @@ -50,7 +50,7 @@ nftnl_expr_match_set(struct nftnl_expr *e, uint16_t type, @@ -332,7 +347,7 @@ index dd09e1e85192..09e35c528aca 100644 match_data = calloc(1, len); if (match_data == NULL) -@@ -217,7 +217,7 @@ static void nftnl_expr_match_free(const struct nftnl_expr *e) +@@ -186,7 +186,7 @@ static void nftnl_expr_match_free(const struct nftnl_expr *e) { struct nftnl_expr_match *match = nftnl_expr_data(e); @@ -340,9 +355,9 @@ index dd09e1e85192..09e35c528aca 100644 + nftnl_xfree(match->data); } - static bool nftnl_expr_match_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_match = { diff --git a/src/expr/target.c b/src/expr/target.c -index ed4bf7df6328..5e28925debeb 100644 +index 91000386704a..5d0763edf63f 100644 --- a/src/expr/target.c +++ b/src/expr/target.c @@ -50,7 +50,7 @@ nftnl_expr_target_set(struct nftnl_expr *e, uint16_t type, @@ -363,7 +378,7 @@ index ed4bf7df6328..5e28925debeb 100644 target_data = calloc(1, len); if (target_data == NULL) -@@ -217,7 +217,7 @@ static void nftnl_expr_target_free(const struct nftnl_expr *e) +@@ -186,7 +186,7 @@ static void nftnl_expr_target_free(const struct nftnl_expr *e) { struct nftnl_expr_target *target = nftnl_expr_data(e); @@ -371,9 +386,115 @@ index ed4bf7df6328..5e28925debeb 100644 + nftnl_xfree(target->data); } - static bool nftnl_expr_target_cmp(const struct nftnl_expr *e1, + struct expr_ops expr_ops_target = { +diff --git a/src/flowtable.c b/src/flowtable.c +index c939306b56c4..f1b3eef48b73 100644 +--- a/src/flowtable.c ++++ b/src/flowtable.c +@@ -45,16 +45,16 @@ void nftnl_flowtable_free(const struct nftnl_flowtable *c) + int i; + + if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) +- xfree(c->name); ++ nftnl_xfree(c->name); + if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) +- xfree(c->table); ++ nftnl_xfree(c->table); + if (c->flags & (1 << NFTNL_FLOWTABLE_DEVICES)) { + for (i = 0; i < c->dev_array_len; i++) +- xfree(c->dev_array[i]); ++ nftnl_xfree(c->dev_array[i]); + +- xfree(c->dev_array); ++ nftnl_xfree(c->dev_array); + } +- xfree(c); ++ nftnl_xfree(c); + } + EXPORT_SYMBOL(nftnl_flowtable_free); + +@@ -73,10 +73,10 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) + + switch (attr) { + case NFTNL_FLOWTABLE_NAME: +- xfree(c->name); ++ nftnl_xfree(c->name); + break; + case NFTNL_FLOWTABLE_TABLE: +- xfree(c->table); ++ nftnl_xfree(c->table); + break; + case NFTNL_FLOWTABLE_HOOKNUM: + case NFTNL_FLOWTABLE_PRIO: +@@ -86,8 +86,8 @@ void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr) + break; + case NFTNL_FLOWTABLE_DEVICES: + for (i = 0; i < c->dev_array_len; i++) { +- xfree(c->dev_array[i]); +- xfree(c->dev_array); ++ nftnl_xfree(c->dev_array[i]); ++ nftnl_xfree(c->dev_array); + } + break; + default: +@@ -117,7 +117,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + switch(attr) { + case NFTNL_FLOWTABLE_NAME: + if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) +- xfree(c->name); ++ nftnl_xfree(c->name); + + c->name = strdup(data); + if (!c->name) +@@ -125,7 +125,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + break; + case NFTNL_FLOWTABLE_TABLE: + if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) +- xfree(c->table); ++ nftnl_xfree(c->table); + + c->table = strdup(data); + if (!c->table) +@@ -147,8 +147,8 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr, + + if (c->flags & (1 << NFTNL_FLOWTABLE_DEVICES)) { + for (i = 0; i < c->dev_array_len; i++) { +- xfree(c->dev_array[i]); +- xfree(c->dev_array); ++ nftnl_xfree(c->dev_array[i]); ++ nftnl_xfree(c->dev_array); + } + } + +@@ -423,7 +423,7 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab + + if (tb[NFTA_FLOWTABLE_NAME]) { + if (c->flags & (1 << NFTNL_FLOWTABLE_NAME)) +- xfree(c->name); ++ nftnl_xfree(c->name); + c->name = strdup(mnl_attr_get_str(tb[NFTA_FLOWTABLE_NAME])); + if (!c->name) + return -1; +@@ -431,7 +431,7 @@ int nftnl_flowtable_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_flowtab + } + if (tb[NFTA_FLOWTABLE_TABLE]) { + if (c->flags & (1 << NFTNL_FLOWTABLE_TABLE)) +- xfree(c->table); ++ nftnl_xfree(c->table); + c->table = strdup(mnl_attr_get_str(tb[NFTA_FLOWTABLE_TABLE])); + if (!c->table) + return -1; +@@ -635,7 +635,7 @@ void nftnl_flowtable_list_free(struct nftnl_flowtable_list *list) + list_del(&s->head); + nftnl_flowtable_free(s); + } +- xfree(list); ++ nftnl_xfree(list); + } + EXPORT_SYMBOL(nftnl_flowtable_list_free); + diff --git a/src/gen.c b/src/gen.c -index f92180c7baf6..4fe078d3832c 100644 +index 1fc909930d86..c69f6f87deae 100644 --- a/src/gen.c +++ b/src/gen.c @@ -38,7 +38,7 @@ struct nftnl_gen *nftnl_gen_alloc(void) @@ -386,10 +507,10 @@ index f92180c7baf6..4fe078d3832c 100644 EXPORT_SYMBOL(nftnl_gen_is_set); diff --git a/src/object.c b/src/object.c -index 30000f748da4..1b5965d7abdc 100644 +index e88203a82441..28e04486c76c 100644 --- a/src/object.c +++ b/src/object.c -@@ -50,11 +50,11 @@ EXPORT_SYMBOL(nftnl_obj_free); +@@ -53,11 +53,11 @@ EXPORT_SYMBOL(nftnl_obj_free); void nftnl_obj_free(const struct nftnl_obj *obj) { if (obj->flags & (1 << NFTNL_OBJ_TABLE)) @@ -404,7 +525,7 @@ index 30000f748da4..1b5965d7abdc 100644 } EXPORT_SYMBOL(nftnl_obj_is_set); -@@ -77,11 +77,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, +@@ -81,11 +81,11 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr, switch (attr) { case NFTNL_OBJ_TABLE: @@ -418,7 +539,7 @@ index 30000f748da4..1b5965d7abdc 100644 obj->name = strdup(data); break; case NFTNL_OBJ_TYPE: -@@ -523,7 +523,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) +@@ -452,7 +452,7 @@ void nftnl_obj_list_free(struct nftnl_obj_list *list) list_del(&r->head); nftnl_obj_free(r); } @@ -427,7 +548,7 @@ index 30000f748da4..1b5965d7abdc 100644 } EXPORT_SYMBOL(nftnl_obj_list_is_empty); -@@ -610,5 +610,5 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) +@@ -539,5 +539,5 @@ struct nftnl_obj *nftnl_obj_list_iter_next(struct nftnl_obj_list_iter *iter) EXPORT_SYMBOL(nftnl_obj_list_iter_destroy); void nftnl_obj_list_iter_destroy(struct nftnl_obj_list_iter *iter) { @@ -435,7 +556,7 @@ index 30000f748da4..1b5965d7abdc 100644 + nftnl_xfree(iter); } diff --git a/src/rule.c b/src/rule.c -index e4cba1f7a352..911f327a6f9f 100644 +index 9af8fae2a803..0fce46e5c944 100644 --- a/src/rule.c +++ b/src/rule.c @@ -75,13 +75,13 @@ void nftnl_rule_free(const struct nftnl_rule *r) @@ -532,7 +653,7 @@ index e4cba1f7a352..911f327a6f9f 100644 r->user.len = mnl_attr_get_payload_len(tb[NFTA_RULE_USERDATA]); -@@ -910,7 +910,7 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) +@@ -737,7 +737,7 @@ struct nftnl_expr *nftnl_expr_iter_next(struct nftnl_expr_iter *iter) EXPORT_SYMBOL(nftnl_expr_iter_destroy); void nftnl_expr_iter_destroy(struct nftnl_expr_iter *iter) { @@ -540,8 +661,8 @@ index e4cba1f7a352..911f327a6f9f 100644 + nftnl_xfree(iter); } - EXPORT_SYMBOL(nftnl_rule_cmp); -@@ -971,7 +971,7 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) + struct nftnl_rule_list { +@@ -767,7 +767,7 @@ void nftnl_rule_list_free(struct nftnl_rule_list *list) list_del(&r->head); nftnl_rule_free(r); } @@ -550,7 +671,7 @@ index e4cba1f7a352..911f327a6f9f 100644 } EXPORT_SYMBOL(nftnl_rule_list_is_empty); -@@ -1063,5 +1063,5 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) +@@ -865,5 +865,5 @@ struct nftnl_rule *nftnl_rule_list_iter_next(struct nftnl_rule_list_iter *iter) EXPORT_SYMBOL(nftnl_rule_list_iter_destroy); void nftnl_rule_list_iter_destroy(const struct nftnl_rule_list_iter *iter) { @@ -558,10 +679,10 @@ index e4cba1f7a352..911f327a6f9f 100644 + nftnl_xfree(iter); } diff --git a/src/ruleset.c b/src/ruleset.c -index eb49fde582c2..1639cae68c61 100644 +index 2468bd46cd5d..16059a305309 100644 --- a/src/ruleset.c +++ b/src/ruleset.c -@@ -72,7 +72,7 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) +@@ -70,7 +70,7 @@ void nftnl_ruleset_free(const struct nftnl_ruleset *r) nftnl_set_list_free(r->set_list); if (r->flags & (1 << NFTNL_RULESET_RULELIST)) nftnl_rule_list_free(r->rule_list); @@ -571,7 +692,7 @@ index eb49fde582c2..1639cae68c61 100644 EXPORT_SYMBOL(nftnl_ruleset_is_set); diff --git a/src/set.c b/src/set.c -index ac24eae6bb16..2b758c4ec89a 100644 +index d1bdb165ab4b..53e54715d4b8 100644 --- a/src/set.c +++ b/src/set.c @@ -46,17 +46,17 @@ void nftnl_set_free(const struct nftnl_set *s) @@ -607,9 +728,9 @@ index ac24eae6bb16..2b758c4ec89a 100644 - xfree(s->name); + nftnl_xfree(s->name); break; + case NFTNL_SET_HANDLE: case NFTNL_SET_FLAGS: - case NFTNL_SET_KEY_TYPE: -@@ -92,7 +92,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) +@@ -93,7 +93,7 @@ void nftnl_set_unset(struct nftnl_set *s, uint16_t attr) case NFTNL_SET_GC_INTERVAL: break; case NFTNL_SET_USERDATA: @@ -618,7 +739,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 break; default: return; -@@ -125,7 +125,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -127,7 +127,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, switch(attr) { case NFTNL_SET_TABLE: if (s->flags & (1 << NFTNL_SET_TABLE)) @@ -627,7 +748,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->table = strdup(data); if (!s->table) -@@ -133,7 +133,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -135,7 +135,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, break; case NFTNL_SET_NAME: if (s->flags & (1 << NFTNL_SET_NAME)) @@ -636,7 +757,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->name = strdup(data); if (!s->name) -@@ -177,7 +177,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, +@@ -182,7 +182,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data, break; case NFTNL_SET_USERDATA: if (s->flags & (1 << NFTNL_SET_USERDATA)) @@ -645,7 +766,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->user.data = malloc(data_len); if (!s->user.data) -@@ -478,7 +478,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -492,7 +492,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) if (tb[NFTA_SET_TABLE]) { if (s->flags & (1 << NFTNL_SET_TABLE)) @@ -654,7 +775,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_TABLE])); if (!s->table) return -1; -@@ -486,7 +486,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -500,7 +500,7 @@ int nftnl_set_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) } if (tb[NFTA_SET_NAME]) { if (s->flags & (1 << NFTNL_SET_NAME)) @@ -663,7 +784,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_NAME])); if (!s->name) return -1; -@@ -982,7 +982,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) +@@ -742,7 +742,7 @@ void nftnl_set_list_free(struct nftnl_set_list *list) list_del(&s->head); nftnl_set_free(s); } @@ -672,7 +793,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 } EXPORT_SYMBOL(nftnl_set_list_is_empty); -@@ -1074,7 +1074,7 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) +@@ -834,7 +834,7 @@ struct nftnl_set *nftnl_set_list_iter_next(struct nftnl_set_list_iter *iter) EXPORT_SYMBOL(nftnl_set_list_iter_destroy); void nftnl_set_list_iter_destroy(const struct nftnl_set_list_iter *iter) { @@ -682,7 +803,7 @@ index ac24eae6bb16..2b758c4ec89a 100644 static struct nftnl_set *nftnl_set_lookup(const char *this_set_name, diff --git a/src/set_elem.c b/src/set_elem.c -index e02a38791c9a..100ccda699c6 100644 +index ff983a67d62a..fac96cd368f1 100644 --- a/src/set_elem.c +++ b/src/set_elem.c @@ -43,18 +43,18 @@ EXPORT_SYMBOL(nftnl_set_elem_free); @@ -760,7 +881,7 @@ index e02a38791c9a..100ccda699c6 100644 s->objref = strdup(data); if (!s->objref) -@@ -431,7 +431,7 @@ static int nftnl_set_elems_parse2(struct nftnl_set *s, const struct nlattr *nest +@@ -436,7 +436,7 @@ static int nftnl_set_elems_parse2(struct nftnl_set *s, const struct nlattr *nest mnl_attr_get_payload(tb[NFTA_SET_ELEM_USERDATA]); if (e->flags & (1 << NFTNL_RULE_USERDATA)) @@ -769,7 +890,7 @@ index e02a38791c9a..100ccda699c6 100644 e->user.len = mnl_attr_get_payload_len(tb[NFTA_SET_ELEM_USERDATA]); e->user.data = malloc(e->user.len); -@@ -516,7 +516,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -521,7 +521,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) if (tb[NFTA_SET_ELEM_LIST_TABLE]) { if (s->flags & (1 << NFTNL_SET_TABLE)) @@ -778,7 +899,7 @@ index e02a38791c9a..100ccda699c6 100644 s->table = strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_TABLE])); if (!s->table) -@@ -525,7 +525,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) +@@ -530,7 +530,7 @@ int nftnl_set_elems_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_set *s) } if (tb[NFTA_SET_ELEM_LIST_SET]) { if (s->flags & (1 << NFTNL_SET_NAME)) @@ -787,7 +908,7 @@ index e02a38791c9a..100ccda699c6 100644 s->name = strdup(mnl_attr_get_str(tb[NFTA_SET_ELEM_LIST_SET])); if (!s->name) -@@ -816,7 +816,7 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it +@@ -729,7 +729,7 @@ struct nftnl_set_elem *nftnl_set_elems_iter_next(struct nftnl_set_elems_iter *it EXPORT_SYMBOL(nftnl_set_elems_iter_destroy); void nftnl_set_elems_iter_destroy(struct nftnl_set_elems_iter *iter) { @@ -797,10 +918,10 @@ index e02a38791c9a..100ccda699c6 100644 static bool nftnl_attr_nest_overflow(struct nlmsghdr *nlh, diff --git a/src/table.c b/src/table.c -index 7f97ca4e5807..7ac57c33021b 100644 +index 54259eec7d06..888991b1b80d 100644 --- a/src/table.c +++ b/src/table.c -@@ -46,9 +46,9 @@ EXPORT_SYMBOL(nftnl_table_free); +@@ -47,9 +47,9 @@ EXPORT_SYMBOL(nftnl_table_free); void nftnl_table_free(const struct nftnl_table *t) { if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -812,7 +933,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 } EXPORT_SYMBOL(nftnl_table_is_set); -@@ -65,7 +65,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) +@@ -66,7 +66,7 @@ void nftnl_table_unset(struct nftnl_table *t, uint16_t attr) switch (attr) { case NFTNL_TABLE_NAME: @@ -820,8 +941,8 @@ index 7f97ca4e5807..7ac57c33021b 100644 + nftnl_xfree(t->name); break; case NFTNL_TABLE_FLAGS: - case NFTNL_TABLE_FAMILY: -@@ -91,7 +91,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, + case NFTNL_TABLE_HANDLE: +@@ -94,7 +94,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr, switch (attr) { case NFTNL_TABLE_NAME: if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -830,7 +951,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 t->name = strdup(data); if (!t->name) -@@ -230,7 +230,7 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) +@@ -258,7 +258,7 @@ int nftnl_table_nlmsg_parse(const struct nlmsghdr *nlh, struct nftnl_table *t) if (tb[NFTA_TABLE_NAME]) { if (t->flags & (1 << NFTNL_TABLE_NAME)) @@ -839,7 +960,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 t->name = strdup(mnl_attr_get_str(tb[NFTA_TABLE_NAME])); if (!t->name) return -1; -@@ -452,7 +452,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) +@@ -395,7 +395,7 @@ void nftnl_table_list_free(struct nftnl_table_list *list) list_del(&r->head); nftnl_table_free(r); } @@ -848,7 +969,7 @@ index 7f97ca4e5807..7ac57c33021b 100644 } EXPORT_SYMBOL(nftnl_table_list_is_empty); -@@ -538,5 +538,5 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite +@@ -481,5 +481,5 @@ struct nftnl_table *nftnl_table_list_iter_next(struct nftnl_table_list_iter *ite EXPORT_SYMBOL(nftnl_table_list_iter_destroy); void nftnl_table_list_iter_destroy(const struct nftnl_table_list_iter *iter) { @@ -881,7 +1002,7 @@ index f4264377508e..8a18391d83d1 100644 EXPORT_SYMBOL(nftnl_trace_is_set); diff --git a/src/udata.c b/src/udata.c -index 6bd965161c43..049819304ef5 100644 +index b5a47295b40d..3b3be548036d 100644 --- a/src/udata.c +++ b/src/udata.c @@ -33,7 +33,7 @@ struct nftnl_udata_buf *nftnl_udata_buf_alloc(uint32_t data_size) @@ -894,10 +1015,10 @@ index 6bd965161c43..049819304ef5 100644 EXPORT_SYMBOL(nftnl_udata_buf_len); diff --git a/src/utils.c b/src/utils.c -index 3e449609395e..08f668f56a95 100644 +index f641bf93ec68..02e7476a0ced 100644 --- a/src/utils.c +++ b/src/utils.c -@@ -264,7 +264,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, +@@ -304,7 +304,7 @@ int nftnl_fprintf(FILE *fp, const void *obj, uint32_t cmd, uint32_t type, out: if (buf != _buf) @@ -907,5 +1028,5 @@ index 3e449609395e..08f668f56a95 100644 return ret; } -- -2.15.1 +2.19.1 diff --git a/bsp/buildroot/package/libnftnl/Config.in b/bsp/buildroot/package/libnftnl/Config.in index d4c9a1bb..347223ce 100644 --- a/bsp/buildroot/package/libnftnl/Config.in +++ b/bsp/buildroot/package/libnftnl/Config.in @@ -22,14 +22,4 @@ config BR2_PACKAGE_LIBNFTNL_JSON help Enable JSON parsing support -config BR2_PACKAGE_LIBNFTNL_XML - bool "enable XML support" - depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_MXML - help - Enable XML parsing support - -comment "libnftnl XML parsing support needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS - endif diff --git a/bsp/buildroot/package/libnftnl/libnftnl.hash b/bsp/buildroot/package/libnftnl/libnftnl.hash index c798dd2b..3ecaeb8a 100644 --- a/bsp/buildroot/package/libnftnl/libnftnl.hash +++ b/bsp/buildroot/package/libnftnl/libnftnl.hash @@ -1,6 +1,3 @@ # From http://www.netfilter.org/projects/libnftnl/downloads.html -sha1 90b70f52a26f88ab1106671e797faac21265fa6a libnftnl-1.0.9.tar.bz2 -# Locally calculated after checking pgp signature -# http://www.netfilter.org/projects/libnftnl/files/libnftnl-1.0.9.tar.bz2.sig -sha256 fec1d824aee301e59a11aeaae2a2d429cb99ead81e6bafab791a4dd6569b3635 libnftnl-1.0.9.tar.bz2 +sha256 a5c7b7a6c13c9c5898b13fcb1126fefce2015d5a96d7c354b19aaa40b6aece5d libnftnl-1.1.2.tar.bz2 sha256 98193898c663001eff2fdcfb676e210c13042bc1a05e8d570c363efa396f8e24 COPYING diff --git a/bsp/buildroot/package/libnftnl/libnftnl.mk b/bsp/buildroot/package/libnftnl/libnftnl.mk index 8c8b3f82..b8e015ba 100644 --- a/bsp/buildroot/package/libnftnl/libnftnl.mk +++ b/bsp/buildroot/package/libnftnl/libnftnl.mk @@ -4,8 +4,8 @@ # ################################################################################ -LIBNFTNL_VERSION = 1.0.9 -LIBNFTNL_SITE = http://netfilter.org/projects/libnftnl/files +LIBNFTNL_VERSION = 1.1.2 +LIBNFTNL_SITE = https://netfilter.org/projects/libnftnl/files LIBNFTNL_SOURCE = libnftnl-$(LIBNFTNL_VERSION).tar.bz2 LIBNFTNL_LICENSE = GPL-2.0+ LIBNFTNL_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/libnice/0001-configure-Fix-configure-failure-when-building-without-.patch b/bsp/buildroot/package/libnice/0001-configure-Fix-configure-failure-when-building-without-.patch deleted file mode 100644 index f6b2eb4c..00000000 --- a/bsp/buildroot/package/libnice/0001-configure-Fix-configure-failure-when-building-without-.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 81a929ac141aae66b6450e8ce93cb357ed404cda Mon Sep 17 00:00:00 2001 -From: Timo Gurr -Date: Mon, 1 Jun 2015 16:10:16 +0200 -Subject: [PATCH] configure: Fix configure failure when building without - gstreamer support - -Error introduced in 20ea22e0a11a9bdfe4d8125b68083249b694338a, resulting in a -configure/build error when building without gstreamer: - -configure: error: conditional "HAVE_GST_CHECK" was never defined. -Usually this means the macro was only invoked conditionally. - -https://bugs.freedesktop.org/show_bug.cgi?id=90801 -Signed-off-by: Gustavo Zacarias ---- -Patch status: upstream - - configure.ac | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 6031cec..64a571f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -231,9 +231,6 @@ AS_IF([test "$with_gstreamer" != no], [ - [ - have_gst_check=no - ]) -- -- AM_CONDITIONAL(HAVE_GST_CHECK, test "$have_gst_check" = yes) -- - ]) - - AS_IF([test "$with_gstreamer010" != no], [ -@@ -260,6 +257,7 @@ AC_SUBST(gstplugindir) - AC_SUBST(gstplugin010dir) - - AM_CONDITIONAL(WITH_GSTREAMER, test "$with_gstreamer" = yes) -+AM_CONDITIONAL(HAVE_GST_CHECK, test "$have_gst_check" = yes) - AM_CONDITIONAL(WITH_GSTREAMER010, test "$with_gstreamer010" = yes) - - GUPNP_IGD_REQUIRED=0.2.4 --- -2.10.2 - diff --git a/bsp/buildroot/package/libnice/Config.in b/bsp/buildroot/package/libnice/Config.in index c803a317..af8e8146 100644 --- a/bsp/buildroot/package/libnice/Config.in +++ b/bsp/buildroot/package/libnice/Config.in @@ -1,8 +1,10 @@ config BR2_PACKAGE_LIBNICE bool "libnice" + depends on !BR2_STATIC_LIBS # gnutls depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_GNUTLS select BR2_PACKAGE_LIBGLIB2 help Libnice is an implementation of the IETF's Interactive @@ -15,6 +17,7 @@ config BR2_PACKAGE_LIBNICE http://nice.freedesktop.org/wiki/ -comment "libnice needs a toolchain w/ wchar, threads" +comment "libnice needs a toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/libnice/libnice.hash b/bsp/buildroot/package/libnice/libnice.hash index d08c2d78..3c1f0d84 100644 --- a/bsp/buildroot/package/libnice/libnice.hash +++ b/bsp/buildroot/package/libnice/libnice.hash @@ -1,2 +1,7 @@ # Locally computed after checking pgp signature -sha256 61112d9f3be933a827c8365f20551563953af6718057928f51f487bfe88419e1 libnice-0.1.13.tar.gz +sha256 be120ba95d4490436f0da077ffa8f767bf727b82decf2bf499e39becc027809c libnice-0.1.14.tar.gz + +# Hash for license files: +sha256 9246b2ee8b1db30cf03d5d9719ad8bb5edce1cadc85f8cfef319c23d24d950b5 COPYING +sha256 3b3c75ae6c663c4f93987647eb5463d33dc1602a1aded3ac479773f2c3928e3a COPYING.MPL +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LGPL diff --git a/bsp/buildroot/package/libnice/libnice.mk b/bsp/buildroot/package/libnice/libnice.mk index 6afcb763..49c29f9a 100644 --- a/bsp/buildroot/package/libnice/libnice.mk +++ b/bsp/buildroot/package/libnice/libnice.mk @@ -4,16 +4,25 @@ # ################################################################################ -LIBNICE_VERSION = 0.1.13 +LIBNICE_VERSION = 0.1.14 LIBNICE_SITE = http://nice.freedesktop.org/releases LIBNICE_LICENSE = MPL-1.1 or LGPL-2.1 LIBNICE_LICENSE_FILES = COPYING COPYING.MPL COPYING.LGPL -LIBNICE_DEPENDENCIES = libglib2 host-pkgconf +LIBNICE_DEPENDENCIES = gnutls libglib2 host-pkgconf LIBNICE_INSTALL_STAGING = YES -# For 0001-configure-Fix-configure-failure-when-building-without-.patch -LIBNICE_AUTORECONF = YES -LIBNICE_CONF_OPTS = \ - --without-gstreamer \ - --without-gstreamer-0.10 + +ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE),y) +LIBNICE_CONF_OPTS += --with-gstreamer-0.10 +LIBNICE_DEPENDENCIES += gst-plugins-base +else +LIBNICE_CONF_OPTS += --without-gstreamer-0.10 +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) +LIBNICE_CONF_OPTS += --with-gstreamer +LIBNICE_DEPENDENCIES += gst1-plugins-base +else +LIBNICE_CONF_OPTS += --without-gstreamer +endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/libnpth/libnpth.hash b/bsp/buildroot/package/libnpth/libnpth.hash index f8cfefa4..8d0b6bd5 100644 --- a/bsp/buildroot/package/libnpth/libnpth.hash +++ b/bsp/buildroot/package/libnpth/libnpth.hash @@ -1,2 +1,7 @@ # Locally calculated after checking signature -sha256 294a690c1f537b92ed829d867bee537e46be93fbd60b16c04630fbbfcd9db3c2 npth-1.5.tar.bz2 +# https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2.sig +# using key D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 +sha256 1393abd9adcf0762d34798dc34fdcf4d0d22a8410721e76f1e3afcd1daa4e2d1 npth-1.6.tar.bz2 + +# Hash for license file: +sha256 ce64d5f7b49ea6d80fdb6d4cdee6839d1a94274f7493dc797c3b55b65ec8e9ed COPYING.LIB diff --git a/bsp/buildroot/package/libnpth/libnpth.mk b/bsp/buildroot/package/libnpth/libnpth.mk index 7b2eb2ae..ecfef863 100644 --- a/bsp/buildroot/package/libnpth/libnpth.mk +++ b/bsp/buildroot/package/libnpth/libnpth.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNPTH_VERSION = 1.5 +LIBNPTH_VERSION = 1.6 LIBNPTH_SOURCE = npth-$(LIBNPTH_VERSION).tar.bz2 LIBNPTH_SITE = https://www.gnupg.org/ftp/gcrypt/npth LIBNPTH_LICENSE = LGPL-2.0+ diff --git a/bsp/buildroot/package/libnspr/Config.in b/bsp/buildroot/package/libnspr/Config.in index ba1ea559..1d951552 100644 --- a/bsp/buildroot/package/libnspr/Config.in +++ b/bsp/buildroot/package/libnspr/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT def_bool y - depends on !BR2_arc && !BR2_xtensa && !BR2_bfin + depends on !BR2_arc && !BR2_xtensa if BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT diff --git a/bsp/buildroot/package/libnspr/libnspr.mk b/bsp/buildroot/package/libnspr/libnspr.mk index c87947e5..763c5393 100644 --- a/bsp/buildroot/package/libnspr/libnspr.mk +++ b/bsp/buildroot/package/libnspr/libnspr.mk @@ -49,4 +49,7 @@ LIBNSPR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) LIBRARY= install LIBNSPR_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LIBRARY= install endif +HOST_LIBNSPR_CONF_OPTS += --$(if $(filter %64,$(HOSTARCH)),en,dis)able-64bit + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/libnss/0002-add-zlib-include-dir-variable.patch b/bsp/buildroot/package/libnss/0002-add-zlib-include-dir-variable.patch new file mode 100644 index 00000000..cd0bdeec --- /dev/null +++ b/bsp/buildroot/package/libnss/0002-add-zlib-include-dir-variable.patch @@ -0,0 +1,49 @@ +Add ZLIB_INCLUDE_DIR variable + +On Linux platform[1], the build system forces to use zlib from the +system instead of compiling the one located intree. + +The following error is raised when the zlib header is installed +somewhere else than in the default system include path: + + ssl3con.c:39:18: fatal error: zlib.h: No such file or directory + #include "zlib.h" + +The same trick setup for sqlite include directory is reproduced for +zlib. The build system disallows in any manner to give arguments to the +compiler explicity. + +The variable ZLIB_INCLUDE_DIR point to the directory where the zlib +header is located. + +[1]: https://hg.mozilla.org/projects/nss/file/NSS_3_33_BRANCH/coreconf/Linux.mk#l180 +[2]: https://hg.mozilla.org/projects/nss/file/NSS_3_33_BRANCH/lib/softoken/manifest.mn#l17 + +Signed-off-by: Gaël PORTAY + +--- libnss-3.33.orig/nss/lib/ssl/manifest.mn 2017-09-20 02:47:27.000000000 -0400 ++++ libnss-3.33/nss/lib/ssl/manifest.mn 2018-02-16 16:45:41.512709898 -0500 +@@ -6,6 +6,10 @@ + + # DEFINES = -DTRACE + ++ifdef ZLIB_INCLUDE_DIR ++INCLUDES += -I$(ZLIB_INCLUDE_DIR) ++endif ++ + EXPORTS = \ + ssl.h \ + sslt.h \ +--- host-libnss-3.33.orig/nss/cmd/signtool/manifest.mn.orig 2018-02-16 17:08:58.474777871 -0500 ++++ host-libnss-3.33/nss/cmd/signtool/manifest.mn 2018-02-16 17:09:22.603710963 -0500 +@@ -6,6 +6,10 @@ + + MODULE = nss + ++ifdef ZLIB_INCLUDE_DIR ++INCLUDES += -I$(ZLIB_INCLUDE_DIR) ++endif ++ + EXPORTS = + + CSRCS = signtool.c \ diff --git a/bsp/buildroot/package/libnss/Config.in b/bsp/buildroot/package/libnss/Config.in index 599c9a65..34ddb91d 100644 --- a/bsp/buildroot/package/libnss/Config.in +++ b/bsp/buildroot/package/libnss/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBNSS depends on BR2_TOOLCHAIN_HAS_THREADS # libnspr depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnspr depends on !BR2_STATIC_LIBS + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85862 select BR2_PACKAGE_LIBNSPR select BR2_PACKAGE_SQLITE select BR2_PACKAGE_ZLIB @@ -18,3 +19,6 @@ config BR2_PACKAGE_LIBNSS comment "libnss needs a toolchain w/ threads, dynamic library" depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS + +comment "libnss needs a toolchain not affected by GCC bug 85862" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85862 diff --git a/bsp/buildroot/package/libnss/libnss.mk b/bsp/buildroot/package/libnss/libnss.mk index e3558718..73c9b08f 100644 --- a/bsp/buildroot/package/libnss/libnss.mk +++ b/bsp/buildroot/package/libnss/libnss.mk @@ -98,4 +98,52 @@ define LIBNSS_INSTALL_TARGET_CMDS $(TARGET_DIR)/usr/lib/pkgconfig/nss.pc endef +HOST_LIBNSS_BUILD_VARS = \ + MOZILLA_CLIENT=1 \ + NSPR_INCLUDE_DIR=$(HOST_DIR)/include/nspr \ + NSPR_LIB_DIR=$(HOST_DIR)/lib \ + BUILD_OPT=1 \ + NS_USE_GCC=1 \ + NSS_DISABLE_GTESTS=1 \ + NSS_USE_SYSTEM_SQLITE=1 \ + SQLITE_INCLUDE_DIR=$(HOST_DIR)/include \ + ZLIB_INCLUDE_DIR=$(HOST_DIR)/include \ + NSS_ENABLE_ECC=1 + +HOST_LIBNSS_DEPENDENCIES = host-libnspr host-sqlite host-zlib + +ifneq ($(filter %64,$(HOSTARCH)),) +HOST_LIBNSS_BUILD_VARS += USE_64=1 +endif + +define HOST_LIBNSS_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss coreconf \ + SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ + DIST=$(@D)/$(LIBNSS_DISTDIR) \ + CHECKLOC= \ + $(HOST_LIBNSS_BUILD_VARS) + $(HOST_CONFIGURE_OPTS) $(MAKE1) -C $(@D)/nss lib/dbm all \ + SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \ + DIST=$(@D)/$(LIBNSS_DISTDIR) \ + CHECKLOC= \ + $(HOST_LIBNSS_BUILD_VARS) +endef + +define HOST_LIBNSS_INSTALL_CMDS + $(INSTALL) -m 755 -t $(HOST_DIR)/lib/ \ + $(@D)/$(LIBNSS_DISTDIR)/lib/*.so + $(INSTALL) -m 755 -d $(HOST_DIR)/include/nss + $(INSTALL) -m 644 -t $(HOST_DIR)/include/nss \ + $(@D)/$(LIBNSS_DISTDIR)/public/nss/* + $(INSTALL) -m 755 -t $(HOST_DIR)/lib/ \ + $(@D)/$(LIBNSS_DISTDIR)/lib/*.a + $(INSTALL) -D -m 0644 $(TOPDIR)/package/libnss/nss.pc.in \ + $(HOST_DIR)/lib/pkgconfig/nss.pc + $(SED) 's/@VERSION@/$(LIBNSS_VERSION)/g;' \ + $(HOST_DIR)/lib/pkgconfig/nss.pc + $(SED) '/^prefix/s,=.*,=$(HOST_DIR),g;' \ + $(HOST_DIR)/lib/pkgconfig/nss.pc +endef + $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch b/bsp/buildroot/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch new file mode 100644 index 00000000..945307bb --- /dev/null +++ b/bsp/buildroot/package/liboauth/0001-Fixes-build-issue-with-OpenSSL-1.1.0.patch @@ -0,0 +1,156 @@ +From 5f1c949b1703367f7f06454fcff650bdb7bac840 Mon Sep 17 00:00:00 2001 +From: DJ Lucas +Date: Sun, 9 Sep 2018 15:46:15 +0200 +Subject: [PATCH] Fixes build issue with OpenSSL-1.1.0 + +Downloaded from +http://www.linuxfromscratch.org/patches/blfs/svn/liboauth-1.0.3-openssl-1.1.0-2.patch + +Patch was sent upstream: https://github.com/x42/liboauth/issues/9 + +Signed-off-by: Bernd Kuhls +--- + src/hash.c | 65 ++++++++++++++++++++++++++++++++++++++++++-------------------- + 1 file changed, 44 insertions(+), 21 deletions(-) + +diff --git a/src/hash.c b/src/hash.c +index 17ff5c8..b7958f7 100644 +--- a/src/hash.c ++++ b/src/hash.c +@@ -362,6 +362,11 @@ looser: + #include "oauth.h" // base64 encode fn's. + #include + ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++#define EVP_MD_CTX_new EVP_MD_CTX_create ++#define EVP_MD_CTX_free EVP_MD_CTX_destroy ++#endif ++ + char *oauth_sign_hmac_sha1 (const char *m, const char *k) { + return(oauth_sign_hmac_sha1_raw (m, strlen(m), k, strlen(k))); + } +@@ -386,7 +391,7 @@ char *oauth_sign_rsa_sha1 (const char *m, const char *k) { + unsigned char *sig = NULL; + unsigned char *passphrase = NULL; + unsigned int len=0; +- EVP_MD_CTX md_ctx; ++ EVP_MD_CTX *md_ctx; + + EVP_PKEY *pkey; + BIO *in; +@@ -399,24 +404,31 @@ char *oauth_sign_rsa_sha1 (const char *m, const char *k) { + return xstrdup("liboauth/OpenSSL: can not read private key"); + } + ++ md_ctx = EVP_MD_CTX_new(); ++ if (md_ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ + len = EVP_PKEY_size(pkey); + sig = (unsigned char*)xmalloc((len+1)*sizeof(char)); + +- EVP_SignInit(&md_ctx, EVP_sha1()); +- EVP_SignUpdate(&md_ctx, m, strlen(m)); +- if (EVP_SignFinal (&md_ctx, sig, &len, pkey)) { ++ EVP_SignInit(md_ctx, EVP_sha1()); ++ EVP_SignUpdate(md_ctx, m, strlen(m)); ++ if (EVP_SignFinal (md_ctx, sig, &len, pkey)) { + char *tmp; + sig[len] = '\0'; + tmp = oauth_encode_base64(len,sig); + OPENSSL_free(sig); + EVP_PKEY_free(pkey); ++ EVP_MD_CTX_free(md_ctx); + return tmp; + } ++ EVP_MD_CTX_free(md_ctx); + return xstrdup("liboauth/OpenSSL: rsa-sha1 signing failed"); + } + + int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { +- EVP_MD_CTX md_ctx; ++ EVP_MD_CTX *md_ctx; + EVP_PKEY *pkey; + BIO *in; + X509 *cert = NULL; +@@ -437,13 +449,18 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { + return -2; + } + ++ md_ctx = EVP_MD_CTX_new(); ++ if (md_ctx == NULL) { ++ return -2; ++ } ++ + b64d= (unsigned char*) xmalloc(sizeof(char)*strlen(s)); + slen = oauth_decode_base64(b64d, s); + +- EVP_VerifyInit(&md_ctx, EVP_sha1()); +- EVP_VerifyUpdate(&md_ctx, m, strlen(m)); +- err = EVP_VerifyFinal(&md_ctx, b64d, slen, pkey); +- EVP_MD_CTX_cleanup(&md_ctx); ++ EVP_VerifyInit(md_ctx, EVP_sha1()); ++ EVP_VerifyUpdate(md_ctx, m, strlen(m)); ++ err = EVP_VerifyFinal(md_ctx, b64d, slen, pkey); ++ EVP_MD_CTX_free(pkey); + EVP_PKEY_free(pkey); + xfree(b64d); + return (err); +@@ -455,35 +472,41 @@ int oauth_verify_rsa_sha1 (const char *m, const char *c, const char *s) { + */ + char *oauth_body_hash_file(char *filename) { + unsigned char fb[BUFSIZ]; +- EVP_MD_CTX ctx; ++ EVP_MD_CTX *ctx; + size_t len=0; + unsigned char *md; + FILE *F= fopen(filename, "r"); + if (!F) return NULL; + +- EVP_MD_CTX_init(&ctx); +- EVP_DigestInit(&ctx,EVP_sha1()); ++ ctx = EVP_MD_CTX_new(); ++ if (ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ EVP_DigestInit(ctx,EVP_sha1()); + while (!feof(F) && (len=fread(fb,sizeof(char),BUFSIZ, F))>0) { +- EVP_DigestUpdate(&ctx, fb, len); ++ EVP_DigestUpdate(ctx, fb, len); + } + fclose(F); + len=0; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); +- EVP_DigestFinal(&ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(&ctx); ++ EVP_DigestFinal(ctx, md,(unsigned int*) &len); ++ EVP_MD_CTX_free(ctx); + return oauth_body_hash_encode(len, md); + } + + char *oauth_body_hash_data(size_t length, const char *data) { +- EVP_MD_CTX ctx; ++ EVP_MD_CTX *ctx; + size_t len=0; + unsigned char *md; + md=(unsigned char*) xcalloc(EVP_MD_size(EVP_sha1()),sizeof(unsigned char)); +- EVP_MD_CTX_init(&ctx); +- EVP_DigestInit(&ctx,EVP_sha1()); +- EVP_DigestUpdate(&ctx, data, length); +- EVP_DigestFinal(&ctx, md,(unsigned int*) &len); +- EVP_MD_CTX_cleanup(&ctx); ++ ctx = EVP_MD_CTX_new(); ++ if (ctx == NULL) { ++ return xstrdup("liboauth/OpenSSL: failed to allocate EVP_MD_CTX"); ++ } ++ EVP_DigestInit(ctx,EVP_sha1()); ++ EVP_DigestUpdate(ctx, data, length); ++ EVP_DigestFinal(ctx, md,(unsigned int*) &len); ++ EVP_MD_CTX_free(ctx); + return oauth_body_hash_encode(len, md); + } + +-- +2.14.4 + diff --git a/bsp/buildroot/package/liboauth/liboauth.hash b/bsp/buildroot/package/liboauth/liboauth.hash index 6806a08f..5fa0353d 100644 --- a/bsp/buildroot/package/liboauth/liboauth.hash +++ b/bsp/buildroot/package/liboauth/liboauth.hash @@ -1,2 +1,3 @@ # Locally computed: sha256 0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f liboauth-1.0.3.tar.gz +sha256 c30608672733bf3abd2ccf6f3206be8d91b7ee58b007b2fdbcfbc61c655e7fb7 COPYING.MIT diff --git a/bsp/buildroot/package/libogg/libogg.hash b/bsp/buildroot/package/libogg/libogg.hash index 0c65b8e1..d6962a55 100644 --- a/bsp/buildroot/package/libogg/libogg.hash +++ b/bsp/buildroot/package/libogg/libogg.hash @@ -1,2 +1,5 @@ # From: http://www.xiph.org/downloads/ sha256 4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08 libogg-1.3.3.tar.xz + +# Hash for license file: +sha256 d2ab5758336489da61c12cc5bb757da5339c4ae9001f9bb0562b4370249af814 COPYING diff --git a/bsp/buildroot/package/libopenh264/libopenh264.hash b/bsp/buildroot/package/libopenh264/libopenh264.hash index 2fc76ecc..b9cd9ed5 100644 --- a/bsp/buildroot/package/libopenh264/libopenh264.hash +++ b/bsp/buildroot/package/libopenh264/libopenh264.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 65d307bf312543ad6e98ec02abb7c27d8fd2c9740fd069d7249844612674a2c7 libopenh264-v1.6.0.tar.gz +sha256 9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f6895738653f libopenh264-v1.7.0.tar.gz +sha256 dd5c1c9668512530fa5a96e4c29ac4033d70a7eeb0eed7a42fddb6dd794ebdbb LICENSE diff --git a/bsp/buildroot/package/libopenh264/libopenh264.mk b/bsp/buildroot/package/libopenh264/libopenh264.mk index feead5b8..233e7971 100644 --- a/bsp/buildroot/package/libopenh264/libopenh264.mk +++ b/bsp/buildroot/package/libopenh264/libopenh264.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBOPENH264_VERSION = v1.6.0 +LIBOPENH264_VERSION = v1.7.0 LIBOPENH264_SITE = $(call github,cisco,openh264,$(LIBOPENH264_VERSION)) LIBOPENH264_LICENSE = BSD-2-Clause LIBOPENH264_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch b/bsp/buildroot/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch index 10d2b752..f20b6f08 100644 --- a/bsp/buildroot/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch +++ b/bsp/buildroot/package/libopenssl/0001-Dont-waste-time-building-manpages-if-we-re-not-going.patch @@ -1,27 +1,31 @@ -From 389efb564fa1453a9da835393eec9006bfae2a52 Mon Sep 17 00:00:00 2001 +From d8f104bffb0c4acb8c5fcdf49628f7d02ed48f7f Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 16 May 2015 18:53:51 +0200 -Subject: Dont waste time building manpages if we're not going to use em. +Subject: [PATCH] Dont waste time building manpages if we're not going to use + em. Signed-off-by: Ryan Barnett [Gustavo: update for parallel-build] + +[rebased on openssl-1.1.0h] +Signed-off-by: Peter Seiderer --- - Makefile.org | 2 +- + Configurations/unix-Makefile.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Makefile.org b/Makefile.org -index 60f07cc..976ceaf 100644 ---- a/Makefile.org -+++ b/Makefile.org -@@ -527,7 +527,7 @@ dist: - dist_pem_h: - (cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) +diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl +index 40cf2c3..777d9ca 100644 +--- a/Configurations/unix-Makefile.tmpl ++++ b/Configurations/unix-Makefile.tmpl +@@ -268,7 +268,7 @@ list-tests: + @echo "Tests are not supported with your chosen Configure options" + @ : {- output_on() if !$disabled{tests}; "" -} --install: install_docs install_sw -+install: install_sw +-install: install_sw install_ssldirs install_docs ++install: install_sw install_ssldirs + + uninstall: uninstall_docs uninstall_sw - install_sw: - @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ -- -1.9.1 +2.16.3 diff --git a/bsp/buildroot/package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch b/bsp/buildroot/package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch new file mode 100644 index 00000000..820c2add --- /dev/null +++ b/bsp/buildroot/package/libopenssl/0002-Reproducible-build-do-not-leak-compiler-path.patch @@ -0,0 +1,29 @@ +From b70be8c65365a8fc564226360d45adbbb29fc0af Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Tue, 24 Oct 2017 16:58:32 +0200 +Subject: [PATCH] Reproducible build: do not leak compiler path + +Signed-off-by: Peter Seiderer + +[Rebased on openssl-1.1.1.a] +Signed-off-by: Peter Seiderer +--- + crypto/build.info | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/crypto/build.info b/crypto/build.info +index 2c619c6..49ca6ab 100644 +--- a/crypto/build.info ++++ b/crypto/build.info +@@ -10,7 +10,7 @@ EXTRA= ../ms/uplink-x86.pl ../ms/uplink.c ../ms/applink.c \ + ppccpuid.pl pariscid.pl alphacpuid.pl arm64cpuid.pl armv4cpuid.pl + + DEPEND[cversion.o]=buildinf.h +-GENERATE[buildinf.h]=../util/mkbuildinf.pl "$(CC) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)" ++GENERATE[buildinf.h]=../util/mkbuildinf.pl "$$(basename $(CC)) $(LIB_CFLAGS) $(CPPFLAGS_Q)" "$(PLATFORM)" + DEPEND[buildinf.h]=../configdata.pm + + GENERATE[uplink-x86.s]=../ms/uplink-x86.pl $(PERLASM_SCHEME) +-- +2.20.1 + diff --git a/bsp/buildroot/package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch b/bsp/buildroot/package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch deleted file mode 100644 index 47295500..00000000 --- a/bsp/buildroot/package/libopenssl/0002-cryptodev-Fix-issue-with-signature-generation.patch +++ /dev/null @@ -1,450 +0,0 @@ -From 90fd7e8f1a316cda86ee442b43fcd7d5e5baeede Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Sat, 16 May 2015 18:55:08 +0200 -Subject: cryptodev: Fix issue with signature generation - -Forward port of 0001-cryptodev-Fix-issue-with-signature-generation.patch -from http://rt.openssl.org/Ticket/Display.html?id=2770&user=guest&pass=guest -It was originally targetted at 1.0.2-beta3. - -Without this patch digest acceleration via cryptodev is broken. - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Ryan Barnett ---- - crypto/engine/eng_cryptodev.c | 195 +++++++++++++++++++++++++++++++----------- - 1 file changed, 146 insertions(+), 49 deletions(-) - -diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c -index 926d95c..7021d9a 100644 ---- a/crypto/engine/eng_cryptodev.c -+++ b/crypto/engine/eng_cryptodev.c -@@ -2,6 +2,7 @@ - * Copyright (c) 2002 Bob Beck - * Copyright (c) 2002 Theo de Raadt - * Copyright (c) 2002 Markus Friedl -+ * Copyright (c) 2012 Nikos Mavrogiannopoulos - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -72,7 +73,6 @@ struct dev_crypto_state { - struct session_op d_sess; - int d_fd; - # ifdef USE_CRYPTODEV_DIGESTS -- char dummy_mac_key[HASH_MAX_LEN]; - unsigned char digest_res[HASH_MAX_LEN]; - char *mac_data; - int mac_len; -@@ -189,8 +189,10 @@ static struct { - static struct { - int id; - int nid; -- int keylen; -+ int digestlen; - } digests[] = { -+#if 0 -+ /* HMAC is not supported */ - { - CRYPTO_MD5_HMAC, NID_hmacWithMD5, 16 - }, -@@ -198,15 +200,15 @@ static struct { - CRYPTO_SHA1_HMAC, NID_hmacWithSHA1, 20 - }, - { -- CRYPTO_RIPEMD160_HMAC, NID_ripemd160, 16 -- /* ? */ -+ CRYPTO_SHA2_256_HMAC, NID_hmacWithSHA256, 32 - }, - { -- CRYPTO_MD5_KPDK, NID_undef, 0 -+ CRYPTO_SHA2_384_HMAC, NID_hmacWithSHA384, 48 - }, - { -- CRYPTO_SHA1_KPDK, NID_undef, 0 -+ CRYPTO_SHA2_512_HMAC, NID_hmacWithSHA512, 64 - }, -+#endif - { - CRYPTO_MD5, NID_md5, 16 - }, -@@ -214,6 +216,15 @@ static struct { - CRYPTO_SHA1, NID_sha1, 20 - }, - { -+ CRYPTO_SHA2_256, NID_sha256, 32 -+ }, -+ { -+ CRYPTO_SHA2_384, NID_sha384, 48 -+ }, -+ { -+ CRYPTO_SHA2_512, NID_sha512, 64 -+ }, -+ { - 0, NID_undef, 0 - }, - }; -@@ -288,13 +299,14 @@ static int get_cryptodev_ciphers(const int **cnids) - static int nids[CRYPTO_ALGORITHM_MAX]; - struct session_op sess; - int fd, i, count = 0; -+ unsigned char fake_key[CRYPTO_CIPHER_MAX_KEY_LEN]; - - if ((fd = get_dev_crypto()) < 0) { - *cnids = NULL; - return (0); - } - memset(&sess, 0, sizeof(sess)); -- sess.key = (caddr_t) "123456789abcdefghijklmno"; -+ sess.key = (void*)fake_key; - - for (i = 0; ciphers[i].id && count < CRYPTO_ALGORITHM_MAX; i++) { - if (ciphers[i].nid == NID_undef) -@@ -327,18 +339,19 @@ static int get_cryptodev_digests(const int **cnids) - static int nids[CRYPTO_ALGORITHM_MAX]; - struct session_op sess; - int fd, i, count = 0; -+ unsigned char fake_key[CRYPTO_CIPHER_MAX_KEY_LEN]; - - if ((fd = get_dev_crypto()) < 0) { - *cnids = NULL; - return (0); - } - memset(&sess, 0, sizeof(sess)); -- sess.mackey = (caddr_t) "123456789abcdefghijklmno"; -+ sess.mackey = fake_key; - for (i = 0; digests[i].id && count < CRYPTO_ALGORITHM_MAX; i++) { - if (digests[i].nid == NID_undef) - continue; - sess.mac = digests[i].id; -- sess.mackeylen = digests[i].keylen; -+ sess.mackeylen = 8; - sess.cipher = 0; - if (ioctl(fd, CIOCGSESSION, &sess) != -1 && - ioctl(fd, CIOCFSESSION, &sess.ses) != -1) -@@ -424,14 +437,14 @@ cryptodev_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, - cryp.ses = sess->ses; - cryp.flags = 0; - cryp.len = inl; -- cryp.src = (caddr_t) in; -- cryp.dst = (caddr_t) out; -+ cryp.src = (void*) in; -+ cryp.dst = (void*) out; - cryp.mac = 0; - - cryp.op = ctx->encrypt ? COP_ENCRYPT : COP_DECRYPT; - - if (ctx->cipher->iv_len) { -- cryp.iv = (caddr_t) ctx->iv; -+ cryp.iv = (void*) ctx->iv; - if (!ctx->encrypt) { - iiv = in + inl - ctx->cipher->iv_len; - memcpy(save_iv, iiv, ctx->cipher->iv_len); -@@ -483,7 +496,7 @@ cryptodev_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, - if ((state->d_fd = get_dev_crypto()) < 0) - return (0); - -- sess->key = (caddr_t) key; -+ sess->key = (void*)key; - sess->keylen = ctx->key_len; - sess->cipher = cipher; - -@@ -749,16 +762,6 @@ static int digest_nid_to_cryptodev(int nid) - return (0); - } - --static int digest_key_length(int nid) --{ -- int i; -- -- for (i = 0; digests[i].id; i++) -- if (digests[i].nid == nid) -- return digests[i].keylen; -- return (0); --} -- - static int cryptodev_digest_init(EVP_MD_CTX *ctx) - { - struct dev_crypto_state *state = ctx->md_data; -@@ -769,7 +772,6 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx) - printf("cryptodev_digest_init: Can't get digest \n"); - return (0); - } -- - memset(state, 0, sizeof(struct dev_crypto_state)); - - if ((state->d_fd = get_dev_crypto()) < 0) { -@@ -777,8 +779,8 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx) - return (0); - } - -- sess->mackey = state->dummy_mac_key; -- sess->mackeylen = digest_key_length(ctx->digest->type); -+ sess->mackey = NULL; -+ sess->mackeylen = 0; - sess->mac = digest; - - if (ioctl(state->d_fd, CIOCGSESSION, sess) < 0) { -@@ -794,8 +796,8 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx) - static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data, - size_t count) - { -- struct crypt_op cryp; - struct dev_crypto_state *state = ctx->md_data; -+ struct crypt_op cryp; - struct session_op *sess = &state->d_sess; - - if (!data || state->d_fd < 0) { -@@ -804,7 +806,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data, - } - - if (!count) { -- return (0); -+ return (1); - } - - if (!(ctx->flags & EVP_MD_CTX_FLAG_ONESHOT)) { -@@ -828,9 +830,9 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data, - cryp.ses = sess->ses; - cryp.flags = 0; - cryp.len = count; -- cryp.src = (caddr_t) data; -+ cryp.src = (void*) data; - cryp.dst = NULL; -- cryp.mac = (caddr_t) state->digest_res; -+ cryp.mac = (void*) state->digest_res; - if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) { - printf("cryptodev_digest_update: digest failed\n"); - return (0); -@@ -844,8 +846,6 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md) - struct dev_crypto_state *state = ctx->md_data; - struct session_op *sess = &state->d_sess; - -- int ret = 1; -- - if (!md || state->d_fd < 0) { - printf("cryptodev_digest_final: illegal input\n"); - return (0); -@@ -859,7 +859,7 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md) - cryp.len = state->mac_len; - cryp.src = state->mac_data; - cryp.dst = NULL; -- cryp.mac = (caddr_t) md; -+ cryp.mac = (void*)md; - if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) { - printf("cryptodev_digest_final: digest failed\n"); - return (0); -@@ -870,7 +870,7 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md) - - memcpy(md, state->digest_res, ctx->digest->md_size); - -- return (ret); -+ return 1; - } - - static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx) -@@ -921,8 +921,8 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from) - - digest = digest_nid_to_cryptodev(to->digest->type); - -- sess->mackey = dstate->dummy_mac_key; -- sess->mackeylen = digest_key_length(to->digest->type); -+ sess->mackey = NULL; -+ sess->mackeylen = 0; - sess->mac = digest; - - dstate->d_fd = get_dev_crypto(); -@@ -947,32 +947,116 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from) - - const EVP_MD cryptodev_sha1 = { - NID_sha1, -- NID_undef, -+ NID_sha1WithRSAEncryption, - SHA_DIGEST_LENGTH, -+#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT) -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE| -+ EVP_MD_FLAG_DIGALGID_ABSENT| -+#endif - EVP_MD_FLAG_ONESHOT, - cryptodev_digest_init, - cryptodev_digest_update, - cryptodev_digest_final, - cryptodev_digest_copy, - cryptodev_digest_cleanup, -- EVP_PKEY_NULL_method, -+ EVP_PKEY_RSA_method, - SHA_CBLOCK, -- sizeof(struct dev_crypto_state), -+ sizeof(EVP_MD *)+sizeof(struct dev_crypto_state), - }; - --const EVP_MD cryptodev_md5 = { -+static const EVP_MD cryptodev_sha256 = { -+ NID_sha256, -+ NID_sha256WithRSAEncryption, -+ SHA256_DIGEST_LENGTH, -+#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT) -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE| -+ EVP_MD_FLAG_DIGALGID_ABSENT| -+#endif -+ EVP_MD_FLAG_ONESHOT, -+ cryptodev_digest_init, -+ cryptodev_digest_update, -+ cryptodev_digest_final, -+ cryptodev_digest_copy, -+ cryptodev_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA256_CBLOCK, -+ sizeof(EVP_MD *)+sizeof(struct dev_crypto_state), -+}; -+ -+static const EVP_MD cryptodev_sha224 = { -+ NID_sha224, -+ NID_sha224WithRSAEncryption, -+ SHA224_DIGEST_LENGTH, -+#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT) -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE| -+ EVP_MD_FLAG_DIGALGID_ABSENT| -+#endif -+ EVP_MD_FLAG_ONESHOT, -+ cryptodev_digest_init, -+ cryptodev_digest_update, -+ cryptodev_digest_final, -+ cryptodev_digest_copy, -+ cryptodev_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA256_CBLOCK, -+ sizeof(EVP_MD *)+sizeof(struct dev_crypto_state), -+}; -+ -+static const EVP_MD cryptodev_sha384 = { -+ NID_sha384, -+ NID_sha384WithRSAEncryption, -+ SHA384_DIGEST_LENGTH, -+#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT) -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE| -+ EVP_MD_FLAG_DIGALGID_ABSENT| -+#endif -+ EVP_MD_FLAG_ONESHOT, -+ cryptodev_digest_init, -+ cryptodev_digest_update, -+ cryptodev_digest_final, -+ cryptodev_digest_copy, -+ cryptodev_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA512_CBLOCK, -+ sizeof(EVP_MD *)+sizeof(struct dev_crypto_state), -+}; -+ -+static const EVP_MD cryptodev_sha512 = { -+ NID_sha512, -+ NID_sha512WithRSAEncryption, -+ SHA512_DIGEST_LENGTH, -+#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT) -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE| -+ EVP_MD_FLAG_DIGALGID_ABSENT| -+#endif -+ EVP_MD_FLAG_ONESHOT, -+ cryptodev_digest_init, -+ cryptodev_digest_update, -+ cryptodev_digest_final, -+ cryptodev_digest_copy, -+ cryptodev_digest_cleanup, -+ EVP_PKEY_RSA_method, -+ SHA512_CBLOCK, -+ sizeof(EVP_MD *)+sizeof(struct dev_crypto_state), -+}; -+ -+static const EVP_MD cryptodev_md5 = { - NID_md5, -- NID_undef, -+ NID_md5WithRSAEncryption, - 16 /* MD5_DIGEST_LENGTH */ , -+#if defined(EVP_MD_FLAG_PKEY_METHOD_SIGNATURE) && defined(EVP_MD_FLAG_DIGALGID_ABSENT) -+ EVP_MD_FLAG_PKEY_METHOD_SIGNATURE| -+ EVP_MD_FLAG_DIGALGID_ABSENT| -+#endif - EVP_MD_FLAG_ONESHOT, - cryptodev_digest_init, - cryptodev_digest_update, - cryptodev_digest_final, - cryptodev_digest_copy, - cryptodev_digest_cleanup, -- EVP_PKEY_NULL_method, -+ EVP_PKEY_RSA_method, - 64 /* MD5_CBLOCK */ , -- sizeof(struct dev_crypto_state), -+ sizeof(EVP_MD *)+sizeof(struct dev_crypto_state), - }; - - # endif /* USE_CRYPTODEV_DIGESTS */ -@@ -992,6 +1076,18 @@ cryptodev_engine_digests(ENGINE *e, const EVP_MD **digest, - case NID_sha1: - *digest = &cryptodev_sha1; - break; -+ case NID_sha224: -+ *digest = &cryptodev_sha224; -+ break; -+ case NID_sha256: -+ *digest = &cryptodev_sha256; -+ break; -+ case NID_sha384: -+ *digest = &cryptodev_sha384; -+ break; -+ case NID_sha512: -+ *digest = &cryptodev_sha512; -+ break; - default: - # endif /* USE_CRYPTODEV_DIGESTS */ - *digest = NULL; -@@ -1022,7 +1118,7 @@ static int bn2crparam(const BIGNUM *a, struct crparam *crp) - return (1); - memset(b, 0, bytes); - -- crp->crp_p = (caddr_t) b; -+ crp->crp_p = (void*) b; - crp->crp_nbits = bits; - - for (i = 0, j = 0; i < a->top; i++) { -@@ -1277,7 +1373,7 @@ static DSA_SIG *cryptodev_dsa_do_sign(const unsigned char *dgst, int dlen, - kop.crk_op = CRK_DSA_SIGN; - - /* inputs: dgst dsa->p dsa->q dsa->g dsa->priv_key */ -- kop.crk_param[0].crp_p = (caddr_t) dgst; -+ kop.crk_param[0].crp_p = (void*)dgst; - kop.crk_param[0].crp_nbits = dlen * 8; - if (bn2crparam(dsa->p, &kop.crk_param[1])) - goto err; -@@ -1317,7 +1413,7 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen, - kop.crk_op = CRK_DSA_VERIFY; - - /* inputs: dgst dsa->p dsa->q dsa->g dsa->pub_key sig->r sig->s */ -- kop.crk_param[0].crp_p = (caddr_t) dgst; -+ kop.crk_param[0].crp_p = (void*)dgst; - kop.crk_param[0].crp_nbits = dlen * 8; - if (bn2crparam(dsa->p, &kop.crk_param[1])) - goto err; -@@ -1398,9 +1494,10 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh) - goto err; - kop.crk_iparams = 3; - -- kop.crk_param[3].crp_p = (caddr_t) key; -- kop.crk_param[3].crp_nbits = keylen * 8; -+ kop.crk_param[3].crp_p = (void*) key; -+ kop.crk_param[3].crp_nbits = keylen; - kop.crk_oparams = 1; -+ dhret = keylen / 8; - - if (ioctl(fd, CIOCKEY, &kop) == -1) { - const DH_METHOD *meth = DH_OpenSSL(); -@@ -1470,7 +1567,7 @@ void ENGINE_load_cryptodev(void) - put_dev_crypto(fd); - - if (!ENGINE_set_id(engine, "cryptodev") || -- !ENGINE_set_name(engine, "BSD cryptodev engine") || -+ !ENGINE_set_name(engine, "cryptodev engine") || - !ENGINE_set_ciphers(engine, cryptodev_engine_ciphers) || - !ENGINE_set_digests(engine, cryptodev_engine_digests) || - !ENGINE_set_ctrl_function(engine, cryptodev_ctrl) || --- -1.9.1 - diff --git a/bsp/buildroot/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch b/bsp/buildroot/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch new file mode 100644 index 00000000..c51a3cd6 --- /dev/null +++ b/bsp/buildroot/package/libopenssl/0003-Introduce-the-OPENSSL_NO_MADVISE-to-disable-call-to-.patch @@ -0,0 +1,27 @@ +From 1281ffc7959bd2070563e17a52ee4424196d885c Mon Sep 17 00:00:00 2001 +From: Patrick Havelange +Date: Wed, 23 Jan 2019 12:21:21 +0100 +Subject: [PATCH] Introduce the OPENSSL_NO_MADVISE to disable call to madvise() + +Upstream: https://github.com/openssl/openssl/pull/8089 +Signed-off-by: Patrick Havelange +--- + crypto/mem_sec.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/crypto/mem_sec.c b/crypto/mem_sec.c +index 9e0f670..32c7282 100644 +--- a/crypto/mem_sec.c ++++ b/crypto/mem_sec.c +@@ -485,7 +485,7 @@ static int sh_init(size_t size, int minsize) + if (mlock(sh.arena, sh.arena_size) < 0) + ret = 2; + #endif +-#ifdef MADV_DONTDUMP ++#if defined(MADV_DONTDUMP) && !defined(OPENSSL_NO_MADVISE) + if (madvise(sh.arena, sh.arena_size, MADV_DONTDUMP) < 0) + ret = 2; + #endif +-- +2.17.1 + diff --git a/bsp/buildroot/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch b/bsp/buildroot/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch deleted file mode 100644 index eff72c54..00000000 --- a/bsp/buildroot/package/libopenssl/0003-Reproducible-build-do-not-leak-compiler-path.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 875fcad2ad84877763cba86c1265b57679b878b0 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Tue, 24 Oct 2017 16:58:32 +0200 -Subject: [PATCH] Reproducible build: do not leak compiler path - -Signed-off-by: Peter Seiderer ---- - crypto/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/crypto/Makefile b/crypto/Makefile -index 7869996..7e63291 100644 ---- a/crypto/Makefile -+++ b/crypto/Makefile -@@ -55,7 +55,7 @@ top: - all: shared - - buildinf.h: ../Makefile -- $(PERL) $(TOP)/util/mkbuildinf.pl "$(CC) $(CFLAGS)" "$(PLATFORM)" >buildinf.h -+ $(PERL) $(TOP)/util/mkbuildinf.pl "$$(basename $(CC)) $(CFLAGS)" "$(PLATFORM)" >buildinf.h - - x86cpuid.s: x86cpuid.pl perlasm/x86asm.pl - $(PERL) x86cpuid.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@ --- -2.11.0 - diff --git a/bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch b/bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch new file mode 100644 index 00000000..83989fe7 --- /dev/null +++ b/bsp/buildroot/package/libopenssl/0004-apps-ocsp.c-Use-the-same-HAVE_FORK-NO_FORK-as-in-spe.patch @@ -0,0 +1,46 @@ +From 4c992673890f1d1ecb9aa46112b2ca80db016b67 Mon Sep 17 00:00:00 2001 +From: Richard Levitte +Date: Mon, 12 Nov 2018 18:16:27 +0100 +Subject: [PATCH] apps/ocsp.c Use the same HAVE_FORK / NO_FORK as in speed.c + +This allows the user to override our defaults if needed, and in a +consistent manner. + +Partial fix for #7607 + +Upstream: https://github.com/openssl/openssl/pull/7624 +Signed-off-by: Patrick Havelange +--- + apps/ocsp.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/apps/ocsp.c b/apps/ocsp.c +index 7fd78624bb..315b072932 100644 +--- a/apps/ocsp.c ++++ b/apps/ocsp.c +@@ -36,7 +36,21 @@ NON_EMPTY_TRANSLATION_UNIT + # include + # include + +-# if defined(OPENSSL_SYS_UNIX) && !defined(OPENSSL_NO_SOCK) \ ++#ifndef HAVE_FORK ++# if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS) ++# define HAVE_FORK 0 ++# else ++# define HAVE_FORK 1 ++# endif ++#endif ++ ++#if HAVE_FORK ++# undef NO_FORK ++#else ++# define NO_FORK ++#endif ++ ++# if !defined(NO_FORK) && !defined(OPENSSL_NO_SOCK) \ + && !defined(OPENSSL_NO_POSIX_IO) + # define OCSP_DAEMON + # include +-- +2.17.1 + diff --git a/bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch b/bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch new file mode 100644 index 00000000..104fa476 --- /dev/null +++ b/bsp/buildroot/package/libopenssl/0005-Revert-Reduce-stack-usage-in-tls13_hkdf_expand.patch @@ -0,0 +1,62 @@ +From 56e0f123dc17cb99f50efbae4bbbab77f360818f Mon Sep 17 00:00:00 2001 +From: Matt Caswell +Date: Mon, 3 Dec 2018 18:14:57 +0000 +Subject: [PATCH] Revert "Reduce stack usage in tls13_hkdf_expand" + +This reverts commit ec0c5f5693e39c5a013f81e6dd9dfd09ec65162d. + +SSL_export_keying_material() may use longer label lengths. + +Fixes #7712 + +Reviewed-by: Tim Hudson +(Merged from https://github.com/openssl/openssl/pull/7755) + +(cherry picked from commit ed371b8cbac0d0349667558c061c1ae380cf75eb) +Signed-off-by: Bernd Kuhls +--- + ssl/tls13_enc.c | 16 ++++------------ + 1 file changed, 4 insertions(+), 12 deletions(-) + +diff --git a/ssl/tls13_enc.c b/ssl/tls13_enc.c +index b6825d20c2..f7ab0fa470 100644 +--- a/ssl/tls13_enc.c ++++ b/ssl/tls13_enc.c +@@ -13,14 +13,7 @@ + #include + #include + +-/* +- * RFC 8446, 7.1 Key Schedule, says: +- * Note: With common hash functions, any label longer than 12 characters +- * requires an additional iteration of the hash function to compute. +- * The labels in this specification have all been chosen to fit within +- * this limit. +- */ +-#define TLS13_MAX_LABEL_LEN 12 ++#define TLS13_MAX_LABEL_LEN 246 + + /* Always filled with zeros */ + static const unsigned char default_zeros[EVP_MAX_MD_SIZE]; +@@ -36,15 +29,14 @@ int tls13_hkdf_expand(SSL *s, const EVP_MD *md, const unsigned char *secret, + const unsigned char *data, size_t datalen, + unsigned char *out, size_t outlen) + { +- static const unsigned char label_prefix[] = "tls13 "; ++ const unsigned char label_prefix[] = "tls13 "; + EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_HKDF, NULL); + int ret; + size_t hkdflabellen; + size_t hashlen; + /* +- * 2 bytes for length of derived secret + 1 byte for length of combined +- * prefix and label + bytes for the label itself + 1 byte length of hash +- * + bytes for the hash itself ++ * 2 bytes for length of whole HkdfLabel + 1 byte for length of combined ++ * prefix and label + bytes for the label itself + bytes for the hash + */ + unsigned char hkdflabel[sizeof(uint16_t) + sizeof(uint8_t) + + + sizeof(label_prefix) + TLS13_MAX_LABEL_LEN +-- +2.20.1 + diff --git a/bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch b/bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch new file mode 100644 index 00000000..242ec7a8 --- /dev/null +++ b/bsp/buildroot/package/libopenssl/0006-Fix-some-SSL_export_keying_material-issues.patch @@ -0,0 +1,426 @@ +From db860ea3dcf56a1993c66da22bd44460d7ac4914 Mon Sep 17 00:00:00 2001 +From: Matt Caswell +Date: Tue, 4 Dec 2018 08:37:04 +0000 +Subject: [PATCH] Fix some SSL_export_keying_material() issues + +Fix some issues in tls13_hkdf_expand() which impact the above function +for TLSv1.3. In particular test that we can use the maximum label length +in TLSv1.3. + +Reviewed-by: Tim Hudson +(Merged from https://github.com/openssl/openssl/pull/7755) + +(cherry picked from commit 0fb2815b873304d145ed00283454fc9f3bd35e6b) +Signed-off-by: Bernd Kuhls +--- + doc/man3/SSL_export_keying_material.pod | 3 +- + ssl/ssl_locl.h | 2 +- + ssl/statem/extensions.c | 2 +- + ssl/statem/statem_clnt.c | 2 +- + ssl/statem/statem_srvr.c | 2 +- + ssl/tls13_enc.c | 73 +++++++++++++++++-------- + test/sslapitest.c | 48 ++++++++++++---- + test/tls13secretstest.c | 2 +- + 8 files changed, 92 insertions(+), 42 deletions(-) + +diff --git a/doc/man3/SSL_export_keying_material.pod b/doc/man3/SSL_export_keying_material.pod +index abebf911fc..4c81a60ffb 100644 +--- a/doc/man3/SSL_export_keying_material.pod ++++ b/doc/man3/SSL_export_keying_material.pod +@@ -59,7 +59,8 @@ B

              .]) + ]) + +-AC_CHECK_LIB(id3tag, id3_tag_parse, :, [ ++PKG_CHECK_MODULES(ID3TAG, id3tag, [ ++ CFLAGS="$CFLAGS $ID3TAG_CFLAGS" LIBS="$LIBS $ID3TAG_LIBS"], [ + AC_MSG_ERROR([libid3tag was not found + *** You must first install libid3tag before you can build this package. + *** If libid3tag is already installed, you may need to use the LDFLAGS + *** environment variable to specify its installed location, e.g. -L.]) +-], [-lz]) ++]) + + AC_FUNC_VPRINTF + AC_CHECK_FUNCS(madvise localeconv) diff --git a/bsp/buildroot/package/madplay/madplay.hash b/bsp/buildroot/package/madplay/madplay.hash index 99487b5e..22770297 100644 --- a/bsp/buildroot/package/madplay/madplay.hash +++ b/bsp/buildroot/package/madplay/madplay.hash @@ -1,2 +1,4 @@ # Locally computed: sha256 5a79c7516ff7560dffc6a14399a389432bc619c905b13d3b73da22fa65acede0 madplay-0.15.2b.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 915bfd70548f31d11f9b4ffb21f343d1196af96c79d6aaac5663ea46c39dd3a3 COPYRIGHT diff --git a/bsp/buildroot/package/madplay/madplay.mk b/bsp/buildroot/package/madplay/madplay.mk index e72e2f81..e1a78bd7 100644 --- a/bsp/buildroot/package/madplay/madplay.mk +++ b/bsp/buildroot/package/madplay/madplay.mk @@ -8,14 +8,18 @@ MADPLAY_VERSION = 0.15.2b MADPLAY_SITE = http://downloads.sourceforge.net/project/mad/madplay/$(MADPLAY_VERSION) MADPLAY_LICENSE = GPL-2.0+ MADPLAY_LICENSE_FILES = COPYING COPYRIGHT -MADPLAY_LIBTOOL_PATCH = NO -MADPLAY_DEPENDENCIES = libmad libid3tag $(TARGET_NLS_DEPENDENCIES) +MADPLAY_DEPENDENCIES = host-pkgconf libmad libid3tag $(TARGET_NLS_DEPENDENCIES) + +# Force autoreconf to be able to use a more recent libtool script, that +# is able to properly behave in the face of a missing C++ compiler. +# Also 0003-configure-ac-use-pkg-config-to-find-id3tag.patch +MADPLAY_AUTORECONF = YES # Check if ALSA is built, then we should configure after alsa-lib so # ./configure can find alsa-lib. ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y) MADPLAY_CONF_OPTS += --with-alsa -MADPLAY_DEPENDENCIES += host-pkgconf alsa-lib +MADPLAY_DEPENDENCIES += alsa-lib MADPLAY_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs alsa`" endif diff --git a/bsp/buildroot/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch b/bsp/buildroot/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch new file mode 100644 index 00000000..62e67f85 --- /dev/null +++ b/bsp/buildroot/package/make/0001-configure.ac-Support-GLIBC-glob-interface-version-2.patch @@ -0,0 +1,31 @@ +From 48c8a116a914a325a0497721f5d8b58d5bba34d4 Mon Sep 17 00:00:00 2001 +From: Paul Smith +Date: Sun, 19 Nov 2017 15:09:16 -0500 +Subject: [PATCH] * configure.ac: Support GLIBC glob interface version 2 + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 48c8a116a914a3 + + configure.ac | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 8c72568cf276..4710832ae568 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -404,10 +404,9 @@ AC_CACHE_CHECK([if system libc has GNU glob], [make_cv_sys_gnu_glob], + #include + #include + +-#define GLOB_INTERFACE_VERSION 1 + #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 + # include +-# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION ++# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 + gnu glob + # endif + #endif], +-- +2.16.2 + diff --git a/bsp/buildroot/package/make/make.mk b/bsp/buildroot/package/make/make.mk index 5717628f..10082353 100644 --- a/bsp/buildroot/package/make/make.mk +++ b/bsp/buildroot/package/make/make.mk @@ -7,9 +7,11 @@ MAKE_VERSION = 4.2.1 MAKE_SOURCE = make-$(MAKE_VERSION).tar.bz2 MAKE_SITE = $(BR2_GNU_MIRROR)/make -MAKE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) +MAKE_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-pkgconf MAKE_LICENSE = GPL-3.0+ MAKE_LICENSE_FILES = COPYING +# Patching configure.ac +MAKE_AUTORECONF = YES MAKE_CONF_OPTS = --without-guile @@ -18,4 +20,12 @@ ifeq ($(BR2_STATIC_LIBS),y) MAKE_CONF_OPTS += --disable-load endif +HOST_MAKE_DEPENDENCIES = host-pkgconf +HOST_MAKE_CONF_OPTS = --without-guile + +# Configure host-make binary to be 'host-make' to ensure it isn't +# accidently used by packages when they invoke recursive / sub-make. +HOST_MAKE_CONF_OPTS += --program-prefix=host- + $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/mariadb/mariadb.hash b/bsp/buildroot/package/mariadb/mariadb.hash index 7730ae0c..f68eb402 100644 --- a/bsp/buildroot/package/mariadb/mariadb.hash +++ b/bsp/buildroot/package/mariadb/mariadb.hash @@ -1,9 +1,9 @@ -# From https://downloads.mariadb.org/mariadb/10.1.37/ -md5 123b37bec63ddca19260e45f0f2276bb mariadb-10.1.37.tar.gz -sha1 35e9c15b5532c2e7c746b1e7452952053d7d5b5a mariadb-10.1.37.tar.gz -sha256 8cd516b0a7f7aa36a7c1d6e687dbbad8c0b08c92d5fd60c6e691b19a6cab4d46 mariadb-10.1.37.tar.gz -sha512 b7c35cd67ad265ce2e3a4db20a2ae2b78745db96dc70a211f027a39b6dbb3dc900991c2ee1021ee6a97d12489c3e2a70252e2adf348a458af38b99c3de5a4f25 mariadb-10.1.37.tar.gz +# From https://downloads.mariadb.org/mariadb/10.3.11 +md5 e13ab133060886cda814d68ebd1dc27b mariadb-10.3.11.tar.gz +sha1 7b75d7ec06642f26ce197e07f5ba16283061cc87 mariadb-10.3.11.tar.gz +sha256 211655b794c9d5397ba3be6c90737eac02e882f296268299239db47ba328f1b2 mariadb-10.3.11.tar.gz +sha512 1adc1f9bbabf848726c669a7a0ab01257ba31882758b53fbf3b1316f2295670dba1c3d1f3292d7c1a749c701504588694a55d020839e690595897b0e20435298 mariadb-10.3.11.tar.gz # Hash for license files -sha256 d89f09a82da1666d389916bba8c21278d3ef5ac43c2139587234576a128428d4 README +sha256 a298aaf95cb7e594d15b29ae6b5a9ee22a2be4344379fd29304df4e0f19f695a README.md sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/mariadb/mariadb.mk b/bsp/buildroot/package/mariadb/mariadb.mk index 4e1c4add..e1764920 100644 --- a/bsp/buildroot/package/mariadb/mariadb.mk +++ b/bsp/buildroot/package/mariadb/mariadb.mk @@ -4,12 +4,12 @@ # ################################################################################ -MARIADB_VERSION = 10.1.37 +MARIADB_VERSION = 10.3.11 MARIADB_SITE = https://downloads.mariadb.org/interstitial/mariadb-$(MARIADB_VERSION)/source MARIADB_LICENSE = GPL-2.0 (server), GPL-2.0 with FLOSS exception (GPL client library), LGPL-2.0 (LGPL client library) # Tarball no longer contains LGPL license text # https://jira.mariadb.org/browse/MDEV-12297 -MARIADB_LICENSE_FILES = README COPYING +MARIADB_LICENSE_FILES = README.md COPYING MARIADB_INSTALL_STAGING = YES MARIADB_PROVIDES = mysql @@ -41,6 +41,14 @@ MARIADB_CONF_OPTS += -DSTACK_DIRECTION=-1 # when it comes to cross-compilation we shall disable it and also disable TokuDB. MARIADB_CONF_OPTS += -DWITH_JEMALLOC=no -DWITHOUT_TOKUDB=1 +# RocksDB fails to build in some configurations with the following build error: +# ./output/build/mariadb-10.2.17/storage/rocksdb/rocksdb/utilities/backupable/backupable_db.cc:327:38: +# error: field 'result' has incomplete type 'std::promise' +# std::promise result; +# +# To work around the issue, we disable RocksDB +MARIADB_CONF_OPTS += -DWITHOUT_ROCKSDB=1 + # Make it explicit that we are cross-compiling MARIADB_CONF_OPTS += -DCMAKE_CROSSCOMPILING=1 @@ -57,7 +65,14 @@ else MARIADB_CONF_OPTS += -DWITHOUT_SERVER=ON endif +MARIADB_CXXFLAGS = $(TARGET_CXXFLAGS) + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +MARIADB_CXXFLAGS += -latomic +endif + MARIADB_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="$(MARIADB_CXXFLAGS)" \ -DINSTALL_DOCDIR=share/doc/mariadb-$(MARIADB_VERSION) \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb-$(MARIADB_VERSION) \ -DINSTALL_MANDIR=share/man \ @@ -71,7 +86,7 @@ MARIADB_CONF_OPTS += \ -DMYSQL_DATADIR=/var/lib/mysql \ -DMYSQL_UNIX_ADDR=$(MYSQL_SOCKET) -HOST_MARIADB_CONF_OPTS += -DWITH_SSL=bundled +HOST_MARIADB_CONF_OPTS += -DWITH_SSL=OFF # Some helpers must be compiled for host in order to crosscompile mariadb for # the target. They are then included by import_executables.cmake which is diff --git a/bsp/buildroot/package/mbedtls/mbedtls.hash b/bsp/buildroot/package/mbedtls/mbedtls.hash index 47e446dd..57a5aeff 100644 --- a/bsp/buildroot/package/mbedtls/mbedtls.hash +++ b/bsp/buildroot/package/mbedtls/mbedtls.hash @@ -1,5 +1,5 @@ -# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.12.0-2.7.5-and-2.1.14-released -sha1 180ca49e2bb6df3826113781b793529a81427ce3 mbedtls-2.7.5-apache.tgz -sha256 a1302ad9094aabb9880d2755927b466a6bac8e02b68e04dee77321f3859e9b40 mbedtls-2.7.5-apache.tgz +# From https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.0-2.7.9-and-2.1.18-released +sha1 70dc65f3f6f6b2392b821163be7f1f634f0012c8 mbedtls-2.7.9-apache.tgz +sha256 18e57260b46579245744adb79c2924194dad36aac38c2d0be9e749b9181c706f mbedtls-2.7.9-apache.tgz # Locally calculated sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 apache-2.0.txt diff --git a/bsp/buildroot/package/mbedtls/mbedtls.mk b/bsp/buildroot/package/mbedtls/mbedtls.mk index e07cc3d7..4a5a731d 100644 --- a/bsp/buildroot/package/mbedtls/mbedtls.mk +++ b/bsp/buildroot/package/mbedtls/mbedtls.mk @@ -5,7 +5,7 @@ ################################################################################ MBEDTLS_SITE = https://tls.mbed.org/code/releases -MBEDTLS_VERSION = 2.7.5 +MBEDTLS_VERSION = 2.7.9 MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION)-apache.tgz MBEDTLS_CONF_OPTS = \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/bsp/buildroot/package/mdadm/mdadm.mk b/bsp/buildroot/package/mdadm/mdadm.mk index 207b0be6..b2ed5049 100644 --- a/bsp/buildroot/package/mdadm/mdadm.mk +++ b/bsp/buildroot/package/mdadm/mdadm.mk @@ -10,14 +10,23 @@ MDADM_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/raid/mdadm MDADM_LICENSE = GPL-2.0+ MDADM_LICENSE_FILES = COPYING -MDADM_MAKE_OPTS = \ - CFLAGS="$(TARGET_CFLAGS) -DNO_COROSYNC -DNO_DLM" CC="$(TARGET_CC)" CHECK_RUN_DIR=0 -C $(MDADM_DIR) mdadm +MDADM_BUILD_OPTS = $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS) -DNO_COROSYNC -DNO_DLM" \ + CPPFLAGS="$(TARGET_CPPFLAGS) -DBINDIR=\\\"/sbin\\\"" \ + CHECK_RUN_DIR=0 -MDADM_INSTALL_TARGET_OPTS = \ - DESTDIR=$(TARGET_DIR)/usr -C $(MDADM_DIR) install-mdadm +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) +MDADM_BUILD_OPTS += USE_PTHREADS= +endif -define MDADM_CONFIGURE_CMDS - # Do nothing +define MDADM_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(MDADM_BUILD_OPTS) mdadm mdmon endef -$(eval $(autotools-package)) +define MDADM_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + DESTDIR=$(TARGET_DIR) \ + install-mdadm install-mdmon +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch b/bsp/buildroot/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch new file mode 100644 index 00000000..792c3eeb --- /dev/null +++ b/bsp/buildroot/package/mediastreamer/0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch @@ -0,0 +1,64 @@ +From 84b1919124884232e0fa30b30458470db27c73fc Mon Sep 17 00:00:00 2001 +From: James Cowgill +Date: Sat, 18 Aug 2018 12:56:38 +0200 +Subject: [PATCH] Use AV_INPUT_BUFFER_PADDING_SIZE to determine padding + size + +Hardcoding the value for FF_INPUT_BUFFER_PADDING_SIZE is not safe +because upstream FFmpeg might change it (as they did in FFmpeg 4.0). + +Instead, use FFmpeg's AV_INPUT_BUFFER_PADDING_SIZE if available and +only hardcode a value if FFmpeg is disabled (in which case the value +doesn't particularly matter anyway). For compatibility with older +FFmpeg versions, define AV_INPUT_BUFFER_PADDING_SIZE if hasn't been +defined yet. + +Downloaded from +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901735 + +Signed-off-by: Bernd Kuhls +--- + src/utils/ffmpeg-priv.h | 4 ++++ + src/videofilters/nowebcam.c | 4 ++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/utils/ffmpeg-priv.h b/src/utils/ffmpeg-priv.h +index c0745a9a..d59ea0e1 100644 +--- a/src/utils/ffmpeg-priv.h ++++ b/src/utils/ffmpeg-priv.h +@@ -102,6 +102,10 @@ static inline int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, + #endif + #endif + ++#ifndef AV_INPUT_BUFFER_PADDING_SIZE ++#define AV_INPUT_BUFFER_PADDING_SIZE FF_INPUT_BUFFER_PADDING_SIZE ++#endif ++ + #ifndef HAVE_FUN_avcodec_encode_video2 + int avcodec_encode_video2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr); + #endif +diff --git a/src/videofilters/nowebcam.c b/src/videofilters/nowebcam.c +index bd2ca838..4783de05 100644 +--- a/src/videofilters/nowebcam.c ++++ b/src/videofilters/nowebcam.c +@@ -32,7 +32,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + #ifndef NO_FFMPEG + #include "ffmpeg-priv.h" + #else +-#define FF_INPUT_BUFFER_PADDING_SIZE 32 ++#define AV_INPUT_BUFFER_PADDING_SIZE 32 + #endif + + #if TARGET_OS_IPHONE +@@ -248,7 +248,7 @@ static mblk_t *_ms_load_jpeg_as_yuv(const char *jpgpath, MSVideoSize *reqsize){ + ms_error("Cannot load %s",jpgpath); + return NULL; + } +- jpgbuf=(uint8_t*)ms_malloc0(statbuf.st_size + FF_INPUT_BUFFER_PADDING_SIZE); ++ jpgbuf=(uint8_t*)ms_malloc0(statbuf.st_size + AV_INPUT_BUFFER_PADDING_SIZE); + if (jpgbuf==NULL) + { + close(fd); +-- +2.18.0 + diff --git a/bsp/buildroot/package/mediastreamer/mediastreamer.hash b/bsp/buildroot/package/mediastreamer/mediastreamer.hash index 5f26b54b..8ebf64af 100644 --- a/bsp/buildroot/package/mediastreamer/mediastreamer.hash +++ b/bsp/buildroot/package/mediastreamer/mediastreamer.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 1144849c0c96abafb1153adf56109f0f195a9e4a53cf28cb611bbca7a9012c1a mediastreamer-2.14.0.tar.gz +sha256 ba9ed2269151ad63b922598f3c5c19ddf781b2bbb6cb843ed9f085ecd1679c5d COPYING diff --git a/bsp/buildroot/package/mediastreamer/mediastreamer.mk b/bsp/buildroot/package/mediastreamer/mediastreamer.mk index 1276cfae..3c975693 100644 --- a/bsp/buildroot/package/mediastreamer/mediastreamer.mk +++ b/bsp/buildroot/package/mediastreamer/mediastreamer.mk @@ -46,7 +46,7 @@ MEDIASTREAMER_CONF_OPTS += --disable-opus endif # portaudio backend needs speex as well -ifeq ($(BR2_PACKAGE_PORTAUDIO)$(BR2_PACKAGE_SPEEX),yy) +ifeq ($(BR2_PACKAGE_PORTAUDIO)$(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yyy) MEDIASTREAMER_CONF_OPTS += --enable-portaudio MEDIASTREAMER_DEPENDENCIES += portaudio speex else @@ -60,7 +60,7 @@ else MEDIASTREAMER_CONF_OPTS += --disable-pulseaudio endif -ifeq ($(BR2_PACKAGE_SPEEX),y) +ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy) MEDIASTREAMER_CONF_OPTS += --enable-speex MEDIASTREAMER_DEPENDENCIES += speex else diff --git a/bsp/buildroot/package/memcached/memcached.hash b/bsp/buildroot/package/memcached/memcached.hash index 82789338..df430cf4 100644 --- a/bsp/buildroot/package/memcached/memcached.hash +++ b/bsp/buildroot/package/memcached/memcached.hash @@ -1,3 +1,6 @@ -# From http://www.memcached.org/files/memcached-1.5.6.tar.gz.sha1 -sha1 ca35929e74b132c2495a6957cfdc80556337fb90 memcached-1.5.6.tar.gz -sha256 9675ee859d7d81f7a950f190a6812720b26f08228d356044ec517d4d5af25f03 memcached-1.5.6.tar.gz +# From http://www.memcached.org/files/memcached-1.5.12.tar.gz.sha1 +sha1 f67096ba64b0c47668bcad5b680010c4f8987d4c memcached-1.5.12.tar.gz + +# Locally computed +sha256 c02f97d5685617b209fbe25f3464317b234d765b427d254c2413410a5c095b29 memcached-1.5.12.tar.gz +sha256 bc887c4ad8051fe690ace9528fe37a2e0bb362e6d963331d82e845ca9b585a0c COPYING diff --git a/bsp/buildroot/package/memcached/memcached.mk b/bsp/buildroot/package/memcached/memcached.mk index c15abc79..b7c36ec1 100644 --- a/bsp/buildroot/package/memcached/memcached.mk +++ b/bsp/buildroot/package/memcached/memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEMCACHED_VERSION = 1.5.6 +MEMCACHED_VERSION = 1.5.12 MEMCACHED_SITE = http://www.memcached.org/files MEMCACHED_DEPENDENCIES = libevent MEMCACHED_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' diff --git a/bsp/buildroot/package/mender/Config.in b/bsp/buildroot/package/mender/Config.in new file mode 100644 index 00000000..aeb0b269 --- /dev/null +++ b/bsp/buildroot/package/mender/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_MENDER + bool "mender" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_UBOOT_TOOLS # runtime + select BR2_PACKAGE_UBOOT_TOOLS_FWPRINTENV # runtime + help + Mender is an open source over-the-air (OTA) software updater + for embedded Linux devices. Mender comprises a client + running at the embedded device, as well as a server that + manages deployments across many devices. + + https://github.com/mendersoftware/mender + +comment "mender needs a toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/mender/S42mender b/bsp/buildroot/package/mender/S42mender new file mode 100644 index 00000000..108fecfe --- /dev/null +++ b/bsp/buildroot/package/mender/S42mender @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Starts mender service. +# + +start() { + # If /var/lib/mender is a symlink to /var/run/mender, and + # - the filesystem is RO (i.e. we can not rm the symlink), + # create the directory pointed to by the symlink. + # - the filesystem is RW (i.e. we can rm the symlink), + # replace the symlink with an actual directory + if [ -L /var/lib/mender \ + -a "$(readlink /var/lib/mender)" = "/var/run/mender" ] + then + if rm -f /var/lib/mender >/dev/null 2>&1; then + mkdir -p /var/lib/mender + else + echo "No persistent location to store mender data. Data will be lost" + echo "at reboot. Are you sure this is what you want to do?" + mkdir -p "$(readlink /var/lib/mender)" + fi + fi + + printf "Starting mender service: " + umask 077 + + start-stop-daemon -S -q -b -m -p /var/run/mender.pid \ + --exec /usr/bin/mender -- -daemon + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +stop() { + printf "Stopping mender service: " + start-stop-daemon -K -q -p /var/run/mender.pid + [ $? = 0 ] && echo "OK" || echo "FAIL" +} +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? diff --git a/bsp/buildroot/package/mender/artifact_info b/bsp/buildroot/package/mender/artifact_info new file mode 100644 index 00000000..1c84b088 --- /dev/null +++ b/bsp/buildroot/package/mender/artifact_info @@ -0,0 +1 @@ +artifact_name=BUILDROOT_ARTIFACT diff --git a/bsp/buildroot/package/mender/device_type b/bsp/buildroot/package/mender/device_type new file mode 100644 index 00000000..a097ef2b --- /dev/null +++ b/bsp/buildroot/package/mender/device_type @@ -0,0 +1 @@ +device_type=BUILDROOT_DEVICE diff --git a/bsp/buildroot/package/mender/mender.conf b/bsp/buildroot/package/mender/mender.conf new file mode 100644 index 00000000..979f16aa --- /dev/null +++ b/bsp/buildroot/package/mender/mender.conf @@ -0,0 +1,10 @@ +{ + "InventoryPollIntervalSeconds": 1800, + "UpdatePollIntervalSeconds": 1800, + "RetryPollIntervalSeconds": 300, + "RootfsPartA": "mmcblk0p2", + "RootfsPartB": "mmcblk0p3", + "ServerCertificate": "/etc/mender/server.crt", + "ServerURL": "https://docker.mender.io", + "TenantToken": "dummy" +} diff --git a/bsp/buildroot/package/mender/mender.hash b/bsp/buildroot/package/mender/mender.hash new file mode 100644 index 00000000..89aec239 --- /dev/null +++ b/bsp/buildroot/package/mender/mender.hash @@ -0,0 +1,41 @@ +# Locally computed: +sha256 caee18d1b8446df0cbb9a9c5a1c040d7eb1924332da94c3489494443a8077eb8 1.7.0.tar.gz + +# Apache-2.0 license, locally computed +sha256 98ed35b5a138f58164b5c0dbccd9d7f01ef4d84b9dba01e896f0a3241c50c0f7 LICENSE + +# Vendor licenses +# Generated with sed '/^[A-Za-z0-9_]/s/^/sha256 /' LIC_FILES_CHKSUM.sha256 + +# Apache-2.0 license. +sha256 98ed35b5a138f58164b5c0dbccd9d7f01ef4d84b9dba01e896f0a3241c50c0f7 vendor/github.com/mendersoftware/mendertesting/LICENSE +sha256 3591f687e2d6f49c83b1ec69577e8110afbde80be5ec81791bd86d2838ccd3de vendor/github.com/mendersoftware/log/LICENSE +sha256 bbb303820971c294a9a8e5eba5affcf1379036e877ea61c11cbf9400b2949483 vendor/github.com/mendersoftware/log/COPYING +sha256 3591f687e2d6f49c83b1ec69577e8110afbde80be5ec81791bd86d2838ccd3de vendor/github.com/mendersoftware/scopestack/LICENSE +sha256 bbb303820971c294a9a8e5eba5affcf1379036e877ea61c11cbf9400b2949483 vendor/github.com/mendersoftware/scopestack/COPYING +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 vendor/github.com/mendersoftware/mender-artifact/LICENSE + +# BSD 2 Clause license. +sha256 8d427fd87bc9579ea368fde3d49f9ca22eac857f91a9dec7e3004bdfab7dee86 vendor/github.com/pkg/errors/LICENSE + +# BSD 3 Clause license. +sha256 2eb550be6801c1ea434feba53bf6d12e7c71c90253e0a9de4a4f46cf88b56477 vendor/github.com/pmezard/go-difflib/LICENSE +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 vendor/golang.org/x/sys/LICENSE +sha256 2d36597f7117c38b006835ae7f537487207d8ec407aa9d9980794b2030cbc067 vendor/golang.org/x/net/LICENSE +sha256 0634b008cee55ca01f0888d2f5aba2d34e66c3f52c31a4e16a5d5d33d0c2a03e vendor/github.com/bmatsuo/lmdb-go/LICENSE.md + +# ISC license. +sha256 3525392c6db3b804af76980b2c560ee9ec1abdadd907d76a26091df7c78f3a25 vendor/github.com/davecgh/go-spew/LICENSE + +# MIT license. +sha256 51a0c9ec7f8b7634181b8d4c03e5b5d204ac21d6e72f46c313973424664b2e6b vendor/github.com/Sirupsen/logrus/LICENSE +sha256 402f39eed8a1851385d0703999aa9f23d067c2ea3e15c63c074e389cbf8f8f8f vendor/github.com/stretchr/testify/LICENSE +sha256 402f39eed8a1851385d0703999aa9f23d067c2ea3e15c63c074e389cbf8f8f8f vendor/github.com/stretchr/testify/LICENCE.txt +sha256 fde7d610b9b95fc5a6304055c4dae951025b630aaa42a24e95ebf76675ae832c vendor/github.com/stretchr/objx/LICENSE.md +sha256 ffa15bdce332058a03a1d923910864fb6e58bf6df66a0e3914284725b327183e vendor/github.com/ungerik/go-sysfs/LICENSE + +# OpenLDAP Public License +sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 vendor/github.com/bmatsuo/lmdb-go/LICENSE.mdb.md + +# sha256 of all the vendor licenses combined +sha256 b84b543cab0505452982422783c0e68b7bfa0a1de4a625753d325e0a8b2dacb1 LIC_FILES_CHKSUM.sha256 diff --git a/bsp/buildroot/package/mender/mender.mk b/bsp/buildroot/package/mender/mender.mk new file mode 100644 index 00000000..07f6e5e5 --- /dev/null +++ b/bsp/buildroot/package/mender/mender.mk @@ -0,0 +1,79 @@ +################################################################################ +# +# mender +# +################################################################################ + +MENDER_VERSION = 1.7.0 +MENDER_SITE = https://github.com/mendersoftware/mender/archive +MENDER_SOURCE = $(MENDER_VERSION).tar.gz +MENDER_LICENSE = Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC, MIT, OLDAP-2.8 + +# Vendor license paths generated with: +# awk '{print $2}' LIC_FILES_CHKSUM.sha256 | grep vendor +MENDER_LICENSE_FILES = \ + LICENSE \ + LIC_FILES_CHKSUM.sha256 \ + vendor/github.com/mendersoftware/mendertesting/LICENSE \ + vendor/github.com/mendersoftware/log/LICENSE \ + vendor/github.com/mendersoftware/log/COPYING \ + vendor/github.com/mendersoftware/scopestack/LICENSE \ + vendor/github.com/mendersoftware/scopestack/COPYING \ + vendor/github.com/mendersoftware/mender-artifact/LICENSE \ + vendor/github.com/pkg/errors/LICENSE \ + vendor/github.com/pmezard/go-difflib/LICENSE \ + vendor/golang.org/x/sys/LICENSE \ + vendor/golang.org/x/net/LICENSE \ + vendor/github.com/bmatsuo/lmdb-go/LICENSE.md \ + vendor/github.com/davecgh/go-spew/LICENSE \ + vendor/github.com/Sirupsen/logrus/LICENSE \ + vendor/github.com/stretchr/testify/LICENSE \ + vendor/github.com/stretchr/testify/LICENCE.txt \ + vendor/github.com/stretchr/objx/LICENSE.md \ + vendor/github.com/ungerik/go-sysfs/LICENSE \ + vendor/github.com/bmatsuo/lmdb-go/LICENSE.mdb.md + +MENDER_LDFLAGS = -X main.Version=$(MENDER_VERSION) + +define MENDER_INSTALL_CONFIG_FILES + $(INSTALL) -d -m 755 $(TARGET_DIR)/etc/mender/scripts + echo -n "2" > $(TARGET_DIR)/etc/mender/scripts/version + + $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender.conf \ + $(TARGET_DIR)/etc/mender/mender.conf + $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/server.crt \ + $(TARGET_DIR)/etc/mender/server.crt + + $(INSTALL) -D -m 0755 $(@D)/support/mender-device-identity \ + $(TARGET_DIR)/usr/share/mender/identity/mender-device-identity + $(foreach f,hostinfo network, \ + $(INSTALL) -D -m 0755 $(@D)/support/mender-inventory-$(f) \ + $(TARGET_DIR)/usr/share/mender/inventory/mender-inventory-$(f) + ) + + $(INSTALL) -D -m 0755 package/mender/artifact_info \ + $(TARGET_DIR)/etc/mender/artifact_info + + $(INSTALL) -D -m 0755 package/mender/device_type \ + $(TARGET_DIR)/etc/mender/device_type + + mkdir -p $(TARGET_DIR)/var/lib + ln -snf /var/run/mender $(TARGET_DIR)/var/lib/mender +endef + +MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES + +define MENDER_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mender.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -fs ../../../../usr/lib/systemd/system/mender.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mender.service +endef + +define MENDER_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/mender/S42mender \ + $(TARGET_DIR)/etc/init.d/S42mender +endef + +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/mender/mender.service b/bsp/buildroot/package/mender/mender.service new file mode 100644 index 00000000..8b60a4f1 --- /dev/null +++ b/bsp/buildroot/package/mender/mender.service @@ -0,0 +1,24 @@ +[Unit] +Description=Mender OTA update service +After=systemd-resolved.service + +[Service] +Type=idle +User=root +Group=root +ExecStartPre=/bin/sh -c '\ +if [ -L /var/lib/mender \ + -a "$(readlink /var/lib/mender)" = "/var/run/mender" ]; then \ + if rm -f /var/lib/mender >/dev/null 2>&1; then \ + mkdir -p /var/lib/mender; \ + else \ + echo "No persistent location to store mender data. Data will be lost\ + echo "at reboot. Are you sure this is what you want to do?"; \ + mkdir -p "$(readlink /var/lib/mender)"; \ + fi; \ +fi' +ExecStart=/usr/bin/mender -daemon +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/bsp/buildroot/package/mender/readme.txt b/bsp/buildroot/package/mender/readme.txt new file mode 100644 index 00000000..329b2a42 --- /dev/null +++ b/bsp/buildroot/package/mender/readme.txt @@ -0,0 +1,18 @@ +=== Notes on using Mender on Buildroot +====================================== +Default configurations files +---------------------------- + +Buildroot comes with a default artifact_info and device_type configuration files +in /etc/mender. They contain default values, and thus they should be overridden +on a production system. + +The simplest way to do it is to change these files in an overlay or in a post +build script. + +Configuring mender with certificates +------------------------------------ + +Mender uses TLS to communicate with the management server, and if you use a +CA-signed certificate on the server, you should select the ca-certificates +package otherwise it doesn't work. diff --git a/bsp/buildroot/package/mender/server.crt b/bsp/buildroot/package/mender/server.crt new file mode 100644 index 00000000..79a57e15 --- /dev/null +++ b/bsp/buildroot/package/mender/server.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIBfTCCASOgAwIBAgIJAJOS76a0qWuZMAoGCCqGSM49BAMCMBsxGTAXBgNVBAMM +EGRvY2tlci5tZW5kZXIuaW8wHhcNMTYxMjE0MTk1MjQ2WhcNMjYxMjEyMTk1MjQ2 +WjAbMRkwFwYDVQQDDBBkb2NrZXIubWVuZGVyLmlvMFkwEwYHKoZIzj0CAQYIKoZI +zj0DAQcDQgAE7AVYis6MWGPGQYU1/tlLEnskRifDIhvkRb8Y4nQPekRkLkiBYYT3 +iJ46wHrnejbHaLstU9GRdKWOmOuU6HGdO6NQME4wHQYDVR0OBBYEFGOIU4q++Vz8 +9HuT1jg9V+wFeJcyMB8GA1UdIwQYMBaAFGOIU4q++Vz89HuT1jg9V+wFeJcyMAwG +A1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSAAwRQIhAPLnEeWPNeN7eDCEYRitBfyO +X1yf2kzOm4ohBE5GY9gzAiBCq7HOSkzQDkelmQCCCpGXf/UwYNgQJjSoeGfk0j1a +TQ== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIBhDCCASmgAwIBAgIJALQrf4QDot4IMAoGCCqGSM49BAMCMB4xHDAaBgNVBAMM +E3MzLmRvY2tlci5tZW5kZXIuaW8wHhcNMTYxMjE0MTk1MjQ2WhcNMjYxMjEyMTk1 +MjQ2WjAeMRwwGgYDVQQDDBNzMy5kb2NrZXIubWVuZGVyLmlvMFkwEwYHKoZIzj0C +AQYIKoZIzj0DAQcDQgAEEc/Y3T+l3DvINePkpvVZORMIdHVs29jgsl48ia7z/NRX +HlKtKxVGJyFN5Y7sBZeLgBYH3F4Bo3KfmxI7ad0tI6NQME4wHQYDVR0OBBYEFIUm +cip00QZYpe4ULflbGNJan+Y9MB8GA1UdIwQYMBaAFIUmcip00QZYpe4ULflbGNJa +n+Y9MAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0EAwIDSQAwRgIhANHij9VZBDHOUPaC +pFiagnWnYL2HBR72W1xTKQbrLLTXAiEAvpwA4HzSnGmLd3010+jqQuMRHArN5WaX +h0fy7niBbIQ= +-----END CERTIFICATE----- diff --git a/bsp/buildroot/package/menu-cache/menu-cache.hash b/bsp/buildroot/package/menu-cache/menu-cache.hash index 1b30fcc1..a46a7070 100644 --- a/bsp/buildroot/package/menu-cache/menu-cache.hash +++ b/bsp/buildroot/package/menu-cache/menu-cache.hash @@ -1,3 +1,6 @@ -# From https://sourceforge.net/projects/lxde/files/menu-cache/1.0/ -md5 a856ba860b16fdc8c69ee784bc4ade36 menu-cache-1.0.1.tar.xz -sha1 58862c665f2ae56870a9937cdcd643674b2ac8ba menu-cache-1.0.1.tar.xz +# From https://sourceforge.net/projects/lxde/files/menu-cache/1.1/ +md5 99999a0bca48b980105208760c8fd893 menu-cache-1.1.0.tar.xz +sha1 01e6035aa1fe76d7047bdec235254aa5ce17394a menu-cache-1.1.0.tar.xz + +# Hash for license file: +sha256 7459fbad62653e4061dbfde3b0cad7c72777838beb10d2d11d969fac6226e7de COPYING diff --git a/bsp/buildroot/package/menu-cache/menu-cache.mk b/bsp/buildroot/package/menu-cache/menu-cache.mk index b5fde990..c2b8c3b7 100644 --- a/bsp/buildroot/package/menu-cache/menu-cache.mk +++ b/bsp/buildroot/package/menu-cache/menu-cache.mk @@ -4,8 +4,8 @@ # ################################################################################ -MENU_CACHE_VERSION_MAJOR = 1.0 -MENU_CACHE_VERSION = $(MENU_CACHE_VERSION_MAJOR).1 +MENU_CACHE_VERSION_MAJOR = 1.1 +MENU_CACHE_VERSION = $(MENU_CACHE_VERSION_MAJOR).0 MENU_CACHE_SOURCE = menu-cache-$(MENU_CACHE_VERSION).tar.xz MENU_CACHE_SITE = http://sourceforge.net/projects/lxde/files/menu-cache/$(MENU_CACHE_VERSION_MAJOR) MENU_CACHE_DEPENDENCIES = libfm-extra libglib2 diff --git a/bsp/buildroot/package/mesa3d-demos/0001-demos-optional-gl.patch b/bsp/buildroot/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch similarity index 52% rename from bsp/buildroot/package/mesa3d-demos/0001-demos-optional-gl.patch rename to bsp/buildroot/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch index 6470e9d8..b328fca8 100644 --- a/bsp/buildroot/package/mesa3d-demos/0001-demos-optional-gl.patch +++ b/bsp/buildroot/package/mesa3d-demos/0001-demos-makes-opengl-an-optional-component.patch @@ -1,12 +1,22 @@ -This patches makes opengl an optional component. +From bb0ffae7164d296d32da24fa5499534de259169a Mon Sep 17 00:00:00 2001 +From: Spenser Gilliland +Date: Sat, 24 Feb 2018 11:36:17 +0100 +Subject: [PATCH] demos: makes opengl an optional component Signed-off-by: Spenser Gilliland +[Romain: convert to git patch, rebase on 8.4.0] +Signed-off-by: Romain Naour --- -Index: mesa3d-demos-8.1.0/configure.ac -=================================================================== ---- mesa3d-demos-8.1.0.orig/configure.ac -+++ mesa3d-demos-8.1.0/configure.ac -@@ -51,6 +51,14 @@ + configure.ac | 12 +++++++++++- + src/egl/opengl/Makefile.am | 2 ++ + src/util/Makefile.am | 2 ++ + 3 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0b5e9a76..24298c44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -51,6 +51,14 @@ m4_ifndef([PKG_PROG_PKG_CONFIG], ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])]) PKG_PROG_PKG_CONFIG() @@ -21,7 +31,7 @@ Index: mesa3d-demos-8.1.0/configure.ac dnl Get the pkg-config definitions for libGL. We include a fallback dnl path for GL implementation that don't provide a .pc file PKG_CHECK_MODULES(GL, [gl], [], [ -@@ -113,6 +121,8 @@ +@@ -112,6 +120,8 @@ PKG_CHECK_MODULES(GLU, [glu], [], DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" @@ -30,7 +40,7 @@ Index: mesa3d-demos-8.1.0/configure.ac AC_ARG_ENABLE([egl], [AS_HELP_STRING([--enable-egl], [enable EGL library @<:@default=auto@:>@])], -@@ -303,7 +313,7 @@ +@@ -302,7 +312,7 @@ AC_SUBST([MESA_GLAPI]) AC_SUBST([WAYLAND_CFLAGS]) AC_SUBST([WAYLAND_LIBS]) @@ -39,29 +49,30 @@ Index: mesa3d-demos-8.1.0/configure.ac AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes") AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") -Index: mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am -=================================================================== ---- mesa3d-demos-8.1.0.orig/src/egl/opengl/Makefile.am -+++ mesa3d-demos-8.1.0/src/egl/opengl/Makefile.am -@@ -50,12 +50,14 @@ +diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am +index 6d184ff6..219ab850 100644 +--- a/src/egl/opengl/Makefile.am ++++ b/src/egl/opengl/Makefile.am +@@ -56,6 +56,7 @@ endif endif if HAVE_EGL +if HAVE_GL + bin_PROGRAMS = \ + eglinfo noinst_PROGRAMS = \ - eglinfo \ - peglgears \ - $(EGL_DRM_DEMOS) \ - $(EGL_X11_DEMOS) +@@ -64,6 +65,7 @@ noinst_PROGRAMS = \ + $(EGL_X11_DEMOS) \ + $(EGL_WL_DEMOS) endif +endif egltri_x11_SOURCES = egltri.c eglgears_x11_SOURCES = eglgears.c -Index: mesa3d-demos-8.1.0/src/util/Makefile.am -=================================================================== ---- mesa3d-demos-8.1.0.orig/src/util/Makefile.am -+++ mesa3d-demos-8.1.0/src/util/Makefile.am +diff --git a/src/util/Makefile.am b/src/util/Makefile.am +index 759a293a..012b9c75 100644 +--- a/src/util/Makefile.am ++++ b/src/util/Makefile.am @@ -27,7 +27,9 @@ AM_CFLAGS = \ AM_LDFLAGS = \ $(DEMO_LIBS) @@ -72,3 +83,6 @@ Index: mesa3d-demos-8.1.0/src/util/Makefile.am if HAVE_GLUT AM_CFLAGS += \ +-- +2.14.3 + diff --git a/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.hash b/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.hash index a50a3a1e..8a771df2 100644 --- a/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.hash +++ b/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.hash @@ -1,2 +1,5 @@ -# From http://lists.freedesktop.org/archives/mesa-announce/2015-December/000191.html -sha256 c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef mesa-demos-8.3.0.tar.bz2 +# From https://lists.freedesktop.org/archives/mesa-dev/2018-February/186542.html +md5 6b65a02622765522176d00f553086fa3 mesa-demos-8.4.0.tar.bz2 +sha1 57ba892e919fa22ce3db9f25e7331a6fa33c652c mesa-demos-8.4.0.tar.bz2 +sha256 01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d mesa-demos-8.4.0.tar.bz2 +sha512 b72d03cad36e0535ff18dcfb222ec4200064b9264f6da51a6e5f03b0dd912abe188bc1d600b6698de3ce6f63b28d2ce01565886ca8e7079edc4967fbf2fb0957 mesa-demos-8.4.0.tar.bz2 diff --git a/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.mk b/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.mk index 91828037..ddff9b9e 100644 --- a/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.mk +++ b/bsp/buildroot/package/mesa3d-demos/mesa3d-demos.mk @@ -4,9 +4,10 @@ # ################################################################################ -MESA3D_DEMOS_VERSION = 8.3.0 +MESA3D_DEMOS_VERSION = 8.4.0 MESA3D_DEMOS_SOURCE = mesa-demos-$(MESA3D_DEMOS_VERSION).tar.bz2 -MESA3D_DEMOS_SITE = ftp://ftp.freedesktop.org/pub/mesa/demos/$(MESA3D_DEMOS_VERSION) +MESA3D_DEMOS_SITE = ftp://ftp.freedesktop.org/pub/mesa/demos +# 0001-demos-makes-opengl-an-optional-component.patch MESA3D_DEMOS_AUTORECONF = YES MESA3D_DEMOS_DEPENDENCIES = host-pkgconf MESA3D_DEMOS_LICENSE = MIT diff --git a/bsp/buildroot/package/mesa3d-headers/mesa3d-headers.mk b/bsp/buildroot/package/mesa3d-headers/mesa3d-headers.mk index 90f5c3cf..4730463e 100644 --- a/bsp/buildroot/package/mesa3d-headers/mesa3d-headers.mk +++ b/bsp/buildroot/package/mesa3d-headers/mesa3d-headers.mk @@ -12,9 +12,10 @@ endif # Not possible to directly refer to mesa3d variables, because of # first/second expansion trickery... -MESA3D_HEADERS_VERSION = 17.3.6 +MESA3D_HEADERS_VERSION = 18.3.3 MESA3D_HEADERS_SOURCE = mesa-$(MESA3D_HEADERS_VERSION).tar.xz MESA3D_HEADERS_SITE = https://mesa.freedesktop.org/archive +MESA3D_HEADERS_DL_SUBDIR = mesa3d MESA3D_HEADERS_LICENSE = MIT, SGI, Khronos MESA3D_HEADERS_LICENSE_FILES = docs/license.html @@ -62,6 +63,10 @@ ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) MESA3D_HEADERS_DIRS += GLES GLES2 endif +ifeq ($(BR2_PACKAGE_HAS_LIBOPENCL),y) +MESA3D_HEADERS_DIRS += CL +endif + define MESA3D_HEADERS_BUILD_CMDS $(MESA3D_HEADERS_BUILD_DRI_PC) endef diff --git a/bsp/buildroot/package/mesa3d/0001-musl.patch b/bsp/buildroot/package/mesa3d/0001-musl.patch index 8f7ba773..44c7f5b9 100644 --- a/bsp/buildroot/package/mesa3d/0001-musl.patch +++ b/bsp/buildroot/package/mesa3d/0001-musl.patch @@ -1,12 +1,29 @@ -Fix musl build +From 25e20c2e288e1d482f479eca863bc4aaa374b782 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 22 Apr 2018 15:58:38 +0200 +Subject: [PATCH] Fix musl build + +Fix musl build when svga gallium driver is enabled. + +In file included from vmw_fence.c:34:0: +vmw_screen.h:100:4: error: unknown type name ‘dev_t’ + dev_t device; + ^~~~~ Downloaded from http://git.alpinelinux.org/cgit/aports/plain/main/mesa/musl-fixes.patch Signed-off-by: Bernd Kuhls +[Romain: rebase on 18.1] +Signed-off-by: Romain Naour +--- + src/gallium/winsys/svga/drm/vmw_screen.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) ---- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig -+++ ./src/gallium/winsys/svga/drm/vmw_screen.h +diff --git a/src/gallium/winsys/svga/drm/vmw_screen.h b/src/gallium/winsys/svga/drm/vmw_screen.h +index f21cabb51f..20d03f8b53 100644 +--- a/src/gallium/winsys/svga/drm/vmw_screen.h ++++ b/src/gallium/winsys/svga/drm/vmw_screen.h @@ -34,7 +34,7 @@ #ifndef VMW_SCREEN_H_ #define VMW_SCREEN_H_ @@ -16,3 +33,6 @@ Signed-off-by: Bernd Kuhls #include "pipe/p_compiler.h" #include "pipe/p_state.h" +-- +2.14.3 + diff --git a/bsp/buildroot/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch b/bsp/buildroot/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch deleted file mode 100644 index 4846b34c..00000000 --- a/bsp/buildroot/package/mesa3d/0002-Fix-endianess-detection-with-musl-based-toolchains.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 4135bd2e13880866deb0440855d1a869397e5024 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Fri, 4 Nov 2016 19:44:37 +0100 -Subject: [PATCH] Fix endianess detection with musl-based toolchains - -Musl does not define __GLIBC__ and will not provide a __MUSL__ macro: -http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_there_no_MUSL_macro_.3F - -This patch checks for the presence of endian.h and promotes the result -to src/amd/Makefile.addrlib.am which executes the broken build command. -Fixes compile errors detected by the autobuilder infrastructure of the -buildroot project: - -http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fcfee/ -http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fcfee/ - -Patch sent upstream: https://patchwork.freedesktop.org/patch/119961/ - -Signed-off-by: Bernd Kuhls -[Romain: rebase on mesa 17.3.1] -Signed-off-by: Romain Naour ---- - configure.ac | 1 + - src/amd/Makefile.addrlib.am | 1 + - src/util/u_endian.h | 2 +- - 3 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a02173f244..ee03d6f582 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -791,6 +791,7 @@ fi - AC_HEADER_MAJOR - AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) - AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) -+AC_CHECK_HEADER([endian.h], [DEFINES="$DEFINES -DHAVE_ENDIAN_H"]) - AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) - AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"]) - AC_CHECK_FUNC([memfd_create], [DEFINES="$DEFINES -DHAVE_MEMFD_CREATE"]) -diff --git a/src/amd/Makefile.addrlib.am b/src/amd/Makefile.addrlib.am -index 46689637f9..508edfd0d5 100644 ---- a/src/amd/Makefile.addrlib.am -+++ b/src/amd/Makefile.addrlib.am -@@ -30,6 +30,7 @@ addrlib_libamdgpu_addrlib_la_CPPFLAGS = \ - -I$(srcdir)/addrlib/inc/chip/r800 \ - -I$(srcdir)/addrlib/gfx9/chip \ - -I$(srcdir)/addrlib/r800/chip \ -+ $(DEFINES) \ - -DBRAHMA_BUILD=1 - - addrlib_libamdgpu_addrlib_la_CXXFLAGS = \ -diff --git a/src/util/u_endian.h b/src/util/u_endian.h -index 9e09f80181..038a28fac9 100644 ---- a/src/util/u_endian.h -+++ b/src/util/u_endian.h -@@ -27,7 +27,7 @@ - #ifndef U_ENDIAN_H - #define U_ENDIAN_H - --#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__) -+#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__) || defined(HAVE_ENDIAN_H) - #include - - #if __BYTE_ORDER == __LITTLE_ENDIAN --- -2.14.3 - diff --git a/bsp/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch b/bsp/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch new file mode 100644 index 00000000..51355287 --- /dev/null +++ b/bsp/buildroot/package/mesa3d/0002-configure.ac-invert-order-for-wayland-scanner-check.patch @@ -0,0 +1,51 @@ +From ef96bac7cbbb11b98606864ead0f731dd5b71d5a Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias +Date: Thu, 17 Nov 2016 15:36:54 -0300 +Subject: [PATCH] configure.ac: invert order for wayland-scanner check + +When cross-compiling the .pc file might point to the wrong +wayland-scanner binary (target rather than host) resulting in a +non-executable and wrong scanner. +Try searching the PATH first, and if that fails fall back into +pkg-config. + +[Vincent: tweak patch for 17.1.1 version] + +Signed-off-by: Gustavo Zacarias +Signed-off-by: Vicente Olivert Riera +[Romain: rebase on 18.1] +Signed-off-by: Romain Naour +[Bernd rebase on 18.3] +Signed-off-by: Bernd Kuhls +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f1fbdcc6c7..dcf87e7dd6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1841,17 +1841,16 @@ + fi + WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` + +- PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], ++ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) ++ if test "x$WAYLAND_SCANNER" = x; then ++ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], + WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, + WAYLAND_SCANNER='') ++ fi + PKG_CHECK_EXISTS([wayland-scanner >= 1.15], + AC_SUBST(SCANNER_ARG, 'private-code'), + AC_SUBST(SCANNER_ARG, 'code')) + +- if test "x$WAYLAND_SCANNER" = x; then +- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) +- fi +- + if test "x$WAYLAND_SCANNER" = "x:"; then + AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) + fi +-- +2.14.3 diff --git a/bsp/buildroot/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch b/bsp/buildroot/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch deleted file mode 100644 index bfb63765..00000000 --- a/bsp/buildroot/package/mesa3d/0003-configure.ac-invert-order-for-wayland-scanner-check.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 11a759c33160db6e887e7640071ba84482e6164f Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Thu, 17 Nov 2016 15:36:54 -0300 -Subject: [PATCH] configure.ac: invert order for wayland-scanner check - -When cross-compiling the .pc file might point to the wrong -wayland-scanner binary (target rather than host) resulting in a -non-executable and wrong scanner. -Try searching the PATH first, and if that fails fall back into -pkg-config. - -[Vincent: tweak patch for 17.1.1 version] - -Signed-off-by: Gustavo Zacarias -Signed-off-by: Vicente Olivert Riera -[Romain: rebase on 17.3.1] -Signed-off-by: Romain Naour ---- - configure.ac | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ee03d6f582..786b7214b9 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1695,11 +1695,11 @@ if test "x$with_platforms" = xauto; then - with_platforms=$with_egl_platforms - fi - --PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -- WAYLAND_SCANNER='') -+AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) - if test "x$WAYLAND_SCANNER" = x; then -- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) -+ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], -+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, -+ WAYLAND_SCANNER='') - fi - - PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no]) --- -2.14.3 - diff --git a/bsp/buildroot/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch b/bsp/buildroot/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch new file mode 100644 index 00000000..42ae826a --- /dev/null +++ b/bsp/buildroot/package/mesa3d/0003-set-LIBCLC_INCLUDEDIR.patch @@ -0,0 +1,37 @@ +From 94bceeb621e36f3188c6246a763def8695526578 Mon Sep 17 00:00:00 2001 +From: Valentin Korenblit +Date: Sat, 20 Oct 2018 10:56:23 +0200 +Subject: [PATCH] Set proper value for LIBCLC_INCLUDEDIR + +LIBCLC_INCLUDEDIR is the location where mesa3d OpenCL implementation +will look for OpenCL "headers" on the target, when building the OpenCL +kernels. + +The value returned by pkg-config for includedir is relevant when +cross-compiling, on the build machine. But in this specific case, we +really need a value that is valid on the target. + +Those headers are installed by the libclc package in /usr/share so +that they are not removed by Buildroot target-finalize logic. + +Signed-off-by: Valentin Korenblit +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 864dcae..cc2390b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2429,7 +2429,7 @@ if test "x$enable_opencl" = xyes; then + PKG_CONFIG_PATH environment variable. + By default libclc.pc is installed to /usr/local/share/pkgconfig/]) + else +- LIBCLC_INCLUDEDIR=`$PKG_CONFIG --variable=includedir libclc` ++ LIBCLC_INCLUDEDIR="/usr/share" + LIBCLC_LIBEXECDIR=`$PKG_CONFIG --variable=libexecdir libclc` + AC_SUBST([LIBCLC_INCLUDEDIR]) + AC_SUBST([LIBCLC_LIBEXECDIR]) +-- +2.7.4 + diff --git a/bsp/buildroot/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch b/bsp/buildroot/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch new file mode 100644 index 00000000..04621eea --- /dev/null +++ b/bsp/buildroot/package/mesa3d/0004-egl-add-missing-include-stddef.h-in-egldevice.h.patch @@ -0,0 +1,47 @@ +From eb44c36cf1729e7e200b77cf8ea755dff72d1639 Mon Sep 17 00:00:00 2001 +From: Gurchetan Singh +Date: Wed, 28 Nov 2018 08:39:34 -0800 +Subject: [PATCH] egl: add missing #include in egldevice.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise, I get this error: + +main/egldevice.h:54:13: error: ‘NULL’ undeclared (first use in this function) + dev = NULL; + ^~~~ +with this config: + +./autogen.sh --enable-gles1 --enable-gles2 --with-platforms='surfaceless' --disable-glx + --with-dri-drivers="i965" --with-gallium-drivers="" --enable-gbm + +v3: Use stddef.h (Matt) +v4: Modify commit message (Eric) + +Reviewed-by: Matt Turner +Reviewed-by: Eric Engestrom +Backported from upstream commit eb44c36cf1729e7e200b77cf8ea755dff72d1639 +Signed-off-by: James Hilliard +--- + src/egl/main/egldevice.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/egl/main/egldevice.h b/src/egl/main/egldevice.h +index ddcdcd1..83a47d5 100644 +--- a/src/egl/main/egldevice.h ++++ b/src/egl/main/egldevice.h +@@ -31,9 +31,9 @@ + + + #include ++#include + #include "egltypedefs.h" + +- + #ifdef __cplusplus + extern "C" { + #endif +-- +2.7.4 + diff --git a/bsp/buildroot/package/mesa3d/Config.in b/bsp/buildroot/package/mesa3d/Config.in index f141587c..5019f268 100644 --- a/bsp/buildroot/package/mesa3d/Config.in +++ b/bsp/buildroot/package/mesa3d/Config.in @@ -8,13 +8,13 @@ menuconfig BR2_PACKAGE_MESA3D select BR2_PACKAGE_EXPAT select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7 select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND - select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XPROTO_GLPROTO if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBXXF86VM if BR2_PACKAGE_XORG7 select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 select BR2_PACKAGE_ZLIB help @@ -25,6 +25,43 @@ menuconfig BR2_PACKAGE_MESA3D if BR2_PACKAGE_MESA3D +# Some Gallium driver needs libelf when built with LLVM support +config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS + bool + +config BR2_PACKAGE_MESA3D_LLVM + bool "llvm support" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on BR2_HOST_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # std::wstring + select BR2_PACKAGE_LLVM + +comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, host gcc >= 4.8, dynamic library" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ + || BR2_STATIC_LIBS || !BR2_USE_WCHAR + +comment "llvm support needs a toolchain not affected by GCC bug 64735" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + +# clang and libclc dependencies are satisfied by +# BR2_PACKAGE_MESA3D_LLVM +config BR2_PACKAGE_MESA3D_OPENCL + bool "OpenCL support" + depends on BR2_PACKAGE_MESA3D_LLVM + depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \ + BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI + select BR2_PACKAGE_CLANG + select BR2_PACKAGE_LIBCLC + select BR2_PACKAGE_HAS_LIBOPENCL + # inform the .mk file of gallium, dri or vulkan driver selection config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER bool @@ -33,15 +70,8 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER bool select BR2_PACKAGE_MESA3D_DRIVER - # xlib-libxshmfence needs sync_4, so we cannot select it if - # BR2_TOOLCHAIN_HAS_SYNC_4 is false. xproto-presentproto - # doesn't need sync_4, but it is only needed in conjunction - # with xlib-libxshmfence and dri3proto to provide dri3 - # support, so we also only select it if sync_4 is available. select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ - (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) - select BR2_PACKAGE_XPROTO_PRESENTPROTO if \ - (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) + (BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4) config BR2_PACKAGE_MESA3D_VULKAN_DRIVER bool @@ -75,12 +105,45 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 bool "Gallium Radeon R600 driver" depends on BR2_i386 || BR2_x86_64 + depends on !BR2_PACKAGE_MESA3D_LLVM || \ + (BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \ + BR2_TOOLCHAIN_USES_GLIBC)) # elfutils select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER select BR2_PACKAGE_LIBDRM_RADEON + select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM + select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM + select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM select BR2_PACKAGE_MESA3D_NEEDS_XA help Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs. +# R600 needs libelf when Mesa3D is built with LLVM support +# musl is not currently compatible with elfutils +comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled" + depends on BR2_PACKAGE_MESA3D_LLVM + depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + +config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI + bool "Gallium Radeon SI driver" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_MESA3D_LLVM + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils + select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER + select BR2_PACKAGE_LIBDRM_AMDGPU + select BR2_PACKAGE_LIBDRM_RADEON + select BR2_PACKAGE_LLVM_AMDGPU + select BR2_PACKAGE_ELFUTILS + select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS + select BR2_PACKAGE_MESA3D_NEEDS_XA + help + Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs. + +# Radeon SI needs libelf +# musl is not currently compatible with elfutils +comment "Radeon SI driver needs a uClibc or glibc toolchain" + depends on BR2_PACKAGE_MESA3D_LLVM + depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) + config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA bool "Gallium vmware svga driver" depends on BR2_i386 || BR2_x86_64 @@ -136,11 +199,16 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 bool "DRI i965 driver" depends on BR2_i386 || BR2_x86_64 + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h select BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_LIBDRM_INTEL help Support for i965-based Intel GPUs. +comment "DRI i965 driver needs a toolchain w/ headers >= 3.17" + depends on BR2_i386 || BR2_x86_64 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU bool "DRI nouveau driver" select BR2_PACKAGE_MESA3D_DRI_DRIVER @@ -160,17 +228,20 @@ comment "Vulkan drivers" config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL bool "Vulkan Intel driver" depends on BR2_i386 || BR2_x86_64 - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert - depends on BR2_PACKAGE_XORG7 # xproto_dri3proto + depends on BR2_PACKAGE_XORG7 # xorgproto select BR2_PACKAGE_MESA3D_VULKAN_DRIVER - select BR2_PACKAGE_XPROTO_DRI3PROTO + select BR2_PACKAGE_XORGPROTO + select BR2_PACKAGE_XLIB_LIBXSHMFENCE help Vulkan driver for Intel hardware from Ivy Bridge onward. -comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.18" +comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.17" depends on BR2_i386 || BR2_x86_64 - depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \ + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \ !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7 comment "Off-screen Rendering" @@ -200,29 +271,6 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES Use the Khronos OpenGL ES APIs. This is commonly used on embedded systems and represents a subset of the OpenGL API. -config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT - bool "OpenGL texture float (patented format)" - help - GL_ARB_texture_float is required to enable GLX core profile - (OpenGL3.x) otherwise the compat profile is used - (OpenGL2.1). - - The source code to implement ARB_texture_float extension is - included and can be toggled on at compile time, for those - who purchased a license from SGI, or are in a country where - the patent does not apply, etc. - - Please consult docs/patents.txt with your lawyer before - building Mesa. - - Also, note that this option doesn't affect all drivers. Some - drivers have support for texture float enabled - unconditionally. - - If unsure, say N. - - http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327 - endif # BR2_PACKAGE_MESA3D_DRIVER config BR2_PACKAGE_PROVIDES_LIBGL @@ -234,6 +282,9 @@ config BR2_PACKAGE_PROVIDES_LIBEGL config BR2_PACKAGE_PROVIDES_LIBGLES default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES +config BR2_PACKAGE_PROVIDES_LIBOPENCL + default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL + endif # BR2_PACKAGE_MESA3D comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library" diff --git a/bsp/buildroot/package/mesa3d/mesa3d.hash b/bsp/buildroot/package/mesa3d/mesa3d.hash index a61fe02b..b0774ff4 100644 --- a/bsp/buildroot/package/mesa3d/mesa3d.hash +++ b/bsp/buildroot/package/mesa3d/mesa3d.hash @@ -1,8 +1,7 @@ -# From https://lists.freedesktop.org/archives/mesa-announce/2018-February/000403.html -md5 ba66ae0f09b9b84482268608557cd175 mesa-17.3.6.tar.xz -sha1 eff29cb8c284a813977d4201dd646d949b1d8fc4 mesa-17.3.6.tar.xz -sha256 e5915680d44ac9d05defdec529db7459ac9edd441c9845266eff2e2d3e57fbf8 mesa-17.3.6.tar.xz -sha512 5164ed5a1d3d25031b712a9f443f0e467a29b2bca0a1aa11324ed5c10279411979c9c7482825053926a813e76c58b78a3439c7c81fcd51a7808f53977080828f mesa-17.3.6.tar.xz +# From https://lists.freedesktop.org/archives/mesa-announce/2019-February/000492.html +md5 e9d1a24dbd5ca20efa75b9a29eb4566f mesa-18.3.3.tar.xz +sha1 abb067204ae31493dba7710c378b2b90245108ca mesa-18.3.3.tar.xz +sha256 2ab6886a6966c532ccbcc3b240925e681464b658244f0cbed752615af3936299 mesa-18.3.3.tar.xz +sha512 cd6214b8bbeb3e3d187139ae1e949684f32f90152e1d7ba8d81222bd088770e28cff7ff165f2ccc41c068950561fe952420c6e54472f7204532a8d8700ff18bb mesa-18.3.3.tar.xz # License sha256 630e75b4fdeb75ee2bf9e55db54dd1e3ff7353d52d9314ca8512bfd460f8e24c docs/license.html -sha256 a75ee0cec909515ff80a3ec07155b7fb0aafe8051abe1f0e45d5c4c5e2539366 docs/patents.txt diff --git a/bsp/buildroot/package/mesa3d/mesa3d.mk b/bsp/buildroot/package/mesa3d/mesa3d.mk index 5f4832c0..c3469f77 100644 --- a/bsp/buildroot/package/mesa3d/mesa3d.mk +++ b/bsp/buildroot/package/mesa3d/mesa3d.mk @@ -5,11 +5,13 @@ ################################################################################ # When updating the version, please also update mesa3d-headers -MESA3D_VERSION = 17.3.6 +MESA3D_VERSION = 18.3.3 MESA3D_SOURCE = mesa-$(MESA3D_VERSION).tar.xz MESA3D_SITE = https://mesa.freedesktop.org/archive MESA3D_LICENSE = MIT, SGI, Khronos MESA3D_LICENSE_FILES = docs/license.html +# 0002-configure.ac-invert-order-for-wayland-scanner-check.patch +# 0003-set-LIBCLC_INCLUDEDIR.patch MESA3D_AUTORECONF = YES MESA3D_INSTALL_STAGING = YES @@ -32,6 +34,33 @@ ifeq ($(BR2_SHARED_STATIC_LIBS),y) MESA3D_CONF_OPTS += --disable-static endif +ifeq ($(BR2_PACKAGE_MESA3D_LLVM),y) +MESA3D_DEPENDENCIES += host-llvm llvm +MESA3D_CONF_OPTS += \ + --with-llvm-prefix=$(STAGING_DIR)/usr \ + --enable-llvm-shared-libs \ + --enable-llvm +else +# Avoid automatic search of llvm-config +MESA3D_CONF_OPTS += --disable-llvm +endif + +# Disable opencl-icd: OpenCL lib will be named libOpenCL instead of +# libMesaOpenCL and CL headers are installed +ifeq ($(BR2_PACKAGE_MESA3D_OPENCL),y) +MESA3D_PROVIDES += libopencl +MESA3D_DEPENDENCIES += clang libclc +MESA3D_CONF_OPTS += --enable-opencl \ + --disable-opencl-icd \ + --with-clang-libdir=$(STAGING_DIR)/usr/lib +else +MESA3D_CONF_OPTS += --disable-opencl +endif + +ifeq ($(BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS),y) +MESA3D_DEPENDENCIES += elfutils +endif + # The Sourcery MIPS toolchain has a special (non-upstream) feature to # have "compact exception handling", which unfortunately breaks with # mesa3d, so we disable it here by passing -mno-compact-eh. @@ -42,13 +71,13 @@ endif ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_DEPENDENCIES += \ - xproto_xf86driproto \ - xproto_dri2proto \ - xproto_glproto \ xlib_libX11 \ xlib_libXext \ xlib_libXdamage \ xlib_libXfixes \ + xlib_libXrandr \ + xlib_libXxf86vm \ + xorgproto \ libxcb MESA3D_CONF_OPTS += --enable-glx --disable-mangling # quote from mesa3d configure "Building xa requires at least one non swrast gallium driver." @@ -69,6 +98,7 @@ endif MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV) += etnaviv imx MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU) += nouveau MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600) += r600 +MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI) += radeonsi MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA) += svga MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST) += swrast MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4) += vc4 @@ -97,18 +127,16 @@ ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) MESA3D_CONF_OPTS += \ --without-dri-drivers --disable-dri3 else -ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy) -MESA3D_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto xproto_presentproto +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) +MESA3D_DEPENDENCIES += xlib_libxshmfence MESA3D_CONF_OPTS += --enable-dri3 else MESA3D_CONF_OPTS += --disable-dri3 endif -ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y) -MESA3D_DEPENDENCIES += xlib_libXxf86vm -endif MESA3D_CONF_OPTS += \ --enable-shared-glapi \ --enable-driglx-direct \ + --with-dri-driverdir=/usr/lib/dri \ --with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y)) endif @@ -116,7 +144,9 @@ ifeq ($(BR2_PACKAGE_MESA3D_VULKAN_DRIVER),) MESA3D_CONF_OPTS += \ --without-vulkan-drivers else +MESA3D_DEPENDENCIES += xlib_libxshmfence MESA3D_CONF_OPTS += \ + --enable-dri3 \ --with-vulkan-drivers=$(subst $(space),$(comma),$(MESA3D_VULKAN_DRIVERS-y)) endif @@ -155,6 +185,8 @@ else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV),y) MESA3D_PLATFORMS = drm else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y) MESA3D_PLATFORMS = drm +else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI),y) +MESA3D_PLATFORMS = drm endif ifeq ($(BR2_PACKAGE_WAYLAND),y) MESA3D_DEPENDENCIES += wayland wayland-protocols @@ -184,13 +216,6 @@ else MESA3D_CONF_OPTS += --disable-gles1 --disable-gles2 endif -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT),y) -MESA3D_CONF_OPTS += --enable-texture-float -MESA3D_LICENSE_FILES += docs/patents.txt -else -MESA3D_CONF_OPTS += --disable-texture-float -endif - ifeq ($(BR2_PACKAGE_XLIB_LIBXVMC),y) MESA3D_DEPENDENCIES += xlib_libXvMC MESA3D_CONF_OPTS += --enable-xvmc @@ -219,7 +244,4 @@ else MESA3D_CONF_OPTS += --disable-lmsensors endif -# Avoid automatic search of llvm-config -MESA3D_CONF_OPTS += --with-llvm-prefix=$(STAGING_DIR)/usr/bin - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch b/bsp/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch new file mode 100644 index 00000000..a7b66c10 --- /dev/null +++ b/bsp/buildroot/package/meson/0001-Only-fix-RPATH-if-install_rpath-is-not-empty.patch @@ -0,0 +1,36 @@ +From 4db4fd79d9bb2b98cea1117f22b6c97942ab2ecd Mon Sep 17 00:00:00 2001 +From: Eric Le Bihan +Date: Sat, 14 Jul 2018 11:18:45 +0200 +Subject: [PATCH] Only fix RPATH if install_rpath is not empty + +Signed-off-by: Eric Le Bihan +[Fix: remove leftover from original/unconditional code] +Signed-off-by: Peter Seiderer +--- + mesonbuild/minstall.py | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py +index 8ac6aab1..7ef04116 100644 +--- a/mesonbuild/minstall.py ++++ b/mesonbuild/minstall.py +@@ -478,8 +478,14 @@ class Installer: + printed_symlink_error = True + if os.path.isfile(outname): + try: +- depfixer.fix_rpath(outname, install_rpath, final_path, +- install_name_mappings, verbose=False) ++ # Buildroot check-host-rpath script expects RPATH ++ # But if install_rpath is empty, it will stripped. ++ # So, preserve it in this case ++ if install_rpath: ++ depfixer.fix_rpath(outname, install_rpath, final_path, ++ install_name_mappings, verbose=False) ++ else: ++ print("Skipping RPATH fixing") + except SystemExit as e: + if isinstance(e.code, int) and e.code == 0: + pass +-- +2.20.1 + diff --git a/bsp/buildroot/package/meson/cross-compilation.conf.in b/bsp/buildroot/package/meson/cross-compilation.conf.in index 0eec7408..fc8e27f7 100644 --- a/bsp/buildroot/package/meson/cross-compilation.conf.in +++ b/bsp/buildroot/package/meson/cross-compilation.conf.in @@ -11,6 +11,7 @@ strip = '@TARGET_CROSS@strip' pkgconfig = '@HOST_DIR@/usr/bin/pkg-config' [properties] +needs_exe_wrapper = true c_args = [@TARGET_CFLAGS@] c_link_args = [@TARGET_LDFLAGS@] cpp_args = [@TARGET_CXXFLAGS@] diff --git a/bsp/buildroot/package/meson/meson.hash b/bsp/buildroot/package/meson/meson.hash index 279dd93a..3a5c7dd4 100644 --- a/bsp/buildroot/package/meson/meson.hash +++ b/bsp/buildroot/package/meson/meson.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://github.com/mesonbuild/meson/releases/download/0.44.0/meson-0.44.0.tar.gz.asc -sha256 50f9b12b77272ef6ab064d26b7e06667f07fa9f931e6a20942bba2216ba4281b meson-0.44.0.tar.gz -sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING +# https://github.com/mesonbuild/meson/releases/download/0.49.0/meson-0.49.0.tar.gz.asc +sha256 fb0395c4ac208eab381cd1a20571584bdbba176eb562a7efa9cb17cace0e1551 meson-0.49.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/bsp/buildroot/package/meson/meson.mk b/bsp/buildroot/package/meson/meson.mk index 764c187e..d76541cc 100644 --- a/bsp/buildroot/package/meson/meson.mk +++ b/bsp/buildroot/package/meson/meson.mk @@ -4,7 +4,7 @@ # ################################################################################ -MESON_VERSION = 0.44.0 +MESON_VERSION = 0.49.0 MESON_SITE = https://github.com/mesonbuild/meson/releases/download/$(MESON_VERSION) MESON_LICENSE = Apache-2.0 MESON_LICENSE_FILES = COPYING @@ -14,16 +14,47 @@ HOST_MESON_DEPENDENCIES = host-ninja HOST_MESON_NEEDS_HOST_PYTHON = python3 HOST_MESON_TARGET_ENDIAN = $(call LOWERCASE,$(BR2_ENDIAN)) -HOST_MESON_TARGET_CPU = $(call qstrip,$(BR2_GCC_TARGET_CPU)) +HOST_MESON_TARGET_CPU = $(GCC_TARGET_CPU) + +# https://mesonbuild.com/Reference-tables.html#cpu-families +ifeq ($(BR2_arcle)$(BR2_arceb),y) +HOST_MESON_TARGET_CPU_FAMILY = arc +else ifeq ($(BR2_arm)$(BR2_armeb),y) +HOST_MESON_TARGET_CPU_FAMILY = arm +else ifeq ($(BR2_aarch64)$(BR2_aarch64_be),y) +HOST_MESON_TARGET_CPU_FAMILY = aarch64 +else ifeq ($(BR2_i386),y) +HOST_MESON_TARGET_CPU_FAMILY = x86 +else ifeq ($(BR2_mips)$(BR2_mipsel),y) +HOST_MESON_TARGET_CPU_FAMILY = mips +else ifeq ($(BR2_mips64)$(BR2_mips64el),y) +HOST_MESON_TARGET_CPU_FAMILY = mips64 +else ifeq ($(BR2_powerpc),y) +HOST_MESON_TARGET_CPU_FAMILY = ppc +else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) +HOST_MESON_TARGET_CPU_FAMILY = ppc64 +else ifeq ($(BR2_riscv),y) +HOST_MESON_TARGET_CPU_FAMILY = riscv64 +else ifeq ($(BR2_sparc),y) +HOST_MESON_TARGET_CPU_FAMILY = sparc +else ifeq ($(BR2_sparc64),y) +HOST_MESON_TARGET_CPU_FAMILY = sparc64 +else ifeq ($(BR2_x86_64),y) +HOST_MESON_TARGET_CPU_FAMILY = x86_64 +else +HOST_MESON_TARGET_CPU_FAMILY = $(ARCH) +endif HOST_MESON_SED_CFLAGS = $(if $(TARGET_CFLAGS),`printf '"%s"$(comma) ' $(TARGET_CFLAGS)`) HOST_MESON_SED_LDFLAGS = $(if $(TARGET_LDFLAGS),`printf '"%s"$(comma) ' $(TARGET_LDFLAGS)`) HOST_MESON_SED_CXXFLAGS = $(if $(TARGET_CXXFLAGS),`printf '"%s"$(comma) ' $(TARGET_CXXFLAGS)`) +# Generate a Meson cross-compilation.conf suitable for use with the +# SDK define HOST_MESON_INSTALL_CROSS_CONF mkdir -p $(HOST_DIR)/etc/meson sed -e "s%@TARGET_CROSS@%$(TARGET_CROSS)%g" \ - -e "s%@TARGET_ARCH@%$(ARCH)%g" \ + -e "s%@TARGET_ARCH@%$(HOST_MESON_TARGET_CPU_FAMILY)%g" \ -e "s%@TARGET_CPU@%$(HOST_MESON_TARGET_CPU)%g" \ -e "s%@TARGET_ENDIAN@%$(HOST_MESON_TARGET_ENDIAN)%g" \ -e "s%@TARGET_CFLAGS@%$(HOST_MESON_SED_CFLAGS)%g" \ @@ -34,6 +65,6 @@ define HOST_MESON_INSTALL_CROSS_CONF > $(HOST_DIR)/etc/meson/cross-compilation.conf endef -HOST_MESON_POST_INSTALL_HOOKS += HOST_MESON_INSTALL_CROSS_CONF +TARGET_FINALIZE_HOOKS += HOST_MESON_INSTALL_CROSS_CONF $(eval $(host-python-package)) diff --git a/bsp/buildroot/package/micropython-lib/micropython-lib.hash b/bsp/buildroot/package/micropython-lib/micropython-lib.hash index bc0c22ef..f63c52cf 100644 --- a/bsp/buildroot/package/micropython-lib/micropython-lib.hash +++ b/bsp/buildroot/package/micropython-lib/micropython-lib.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 eb696009ff8c33004211e484649b34edb14f3efb2ff618942bc8888716757a55 micropython-lib-v1.8.6.tar.gz +sha256 66e15380eb109613263beb6825b8eecb9191088270c1a59e8c7d922dd57183c7 micropython-lib-v1.9.3.tar.gz diff --git a/bsp/buildroot/package/micropython-lib/micropython-lib.mk b/bsp/buildroot/package/micropython-lib/micropython-lib.mk index c9423fea..3c46b924 100644 --- a/bsp/buildroot/package/micropython-lib/micropython-lib.mk +++ b/bsp/buildroot/package/micropython-lib/micropython-lib.mk @@ -4,7 +4,7 @@ # ################################################################################ -MICROPYTHON_LIB_VERSION = v1.8.6 +MICROPYTHON_LIB_VERSION = v1.9.3 MICROPYTHON_LIB_SITE = $(call github,micropython,micropython-lib,$(MICROPYTHON_LIB_VERSION)) MICROPYTHON_LIB_LICENSE = Python-2.0 (some modules), MIT (everything else) MICROPYTHON_LIB_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/micropython/Config.in b/bsp/buildroot/package/micropython/Config.in index 00649d4f..b5dc4727 100644 --- a/bsp/buildroot/package/micropython/Config.in +++ b/bsp/buildroot/package/micropython/Config.in @@ -2,8 +2,6 @@ config BR2_PACKAGE_MICROPYTHON bool "micropython" depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS - # libffi doesn't provide the closure implementation on Blackfin - depends on !BR2_bfin select BR2_PACKAGE_LIBFFI help Micro Python is a lean and fast implementation of the Python @@ -14,4 +12,3 @@ config BR2_PACKAGE_MICROPYTHON comment "micropython needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - depends on !BR2_bfin diff --git a/bsp/buildroot/package/micropython/micropython.hash b/bsp/buildroot/package/micropython/micropython.hash index 6ab7b10b..88068a60 100644 --- a/bsp/buildroot/package/micropython/micropython.hash +++ b/bsp/buildroot/package/micropython/micropython.hash @@ -1,2 +1,2 @@ #locally computed -sha256 55dd751c4c812809841fd06f4729b8341171c4b6c1dc28a9412455282554f8a5 micropython-v1.8.7.tar.gz +sha256 9a66205d0ba3dff6dcc98119f104cd59c15855c6c030a190ca02354be52836c1 micropython-v1.9.4.tar.gz diff --git a/bsp/buildroot/package/micropython/micropython.mk b/bsp/buildroot/package/micropython/micropython.mk index 8336fb43..cff8b17b 100644 --- a/bsp/buildroot/package/micropython/micropython.mk +++ b/bsp/buildroot/package/micropython/micropython.mk @@ -4,7 +4,7 @@ # ################################################################################ -MICROPYTHON_VERSION = v1.8.7 +MICROPYTHON_VERSION = v1.9.4 MICROPYTHON_SITE = $(call github,micropython,micropython,$(MICROPYTHON_VERSION)) MICROPYTHON_LICENSE = MIT MICROPYTHON_LICENSE_FILES = LICENSE @@ -22,14 +22,15 @@ MICROPYTHON_MAKE_OPTS = MICROPY_PY_BTREE=0 MICROPYTHON_MAKE_OPTS += MICROPY_PY_USSL=0 define MICROPYTHON_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/unix \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/mpy-cross + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \ $(MICROPYTHON_MAKE_OPTS) \ CROSS_COMPILE=$(TARGET_CROSS) \ CFLAGS_EXTRA=$(MICROPYTHON_CFLAGS) endef define MICROPYTHON_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/unix \ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/ports/unix \ $(MICROPYTHON_MAKE_OPTS) \ CROSS_COMPILE=$(TARGET_CROSS) \ CFLAGS_EXTRA=$(MICROPYTHON_CFLAGS) \ diff --git a/bsp/buildroot/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch b/bsp/buildroot/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch deleted file mode 100644 index e484e50a..00000000 --- a/bsp/buildroot/package/minetest-game/0001-Default-Revert-Default-Shorter-and-better-ABMs.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 626cd8e9c7c2a5d5c907a12abbaa6066b6d5f2ff Mon Sep 17 00:00:00 2001 -From: "vorunbekannt75@web.de" -Date: Tue, 6 Jun 2017 19:20:58 +0200 -Subject: [PATCH] Default: Revert "Default: Shorter and better ABMs" - -This reverts commit e523c3a2965afe76b9102b67992e15fafba1594a to re-enable -the overriding and redefinition of these global functions. - -[Romain backport from upstream] -Signed-off-by: Romain Naour ---- - mods/default/functions.lua | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/mods/default/functions.lua b/mods/default/functions.lua -index 5dc22ca..327e0c8 100644 ---- a/mods/default/functions.lua -+++ b/mods/default/functions.lua -@@ -139,7 +139,9 @@ if minetest.settings:get_bool("enable_lavacooling") ~= false then - interval = 1, - chance = 2, - catch_up = false, -- action = default.cool_lava, -+ action = function(...) -+ default.cool_lava(...) -+ end, - }) - end - -@@ -222,7 +224,9 @@ minetest.register_abm({ - neighbors = {"group:sand"}, - interval = 12, - chance = 83, -- action = default.grow_cactus -+ action = function(...) -+ default.grow_cactus(...) -+ end - }) - - minetest.register_abm({ -@@ -231,7 +235,9 @@ minetest.register_abm({ - neighbors = {"default:dirt", "default:dirt_with_grass"}, - interval = 14, - chance = 71, -- action = default.grow_papyrus -+ action = function(...) -+ default.grow_papyrus(...) -+ end - }) - - --- -2.9.4 - diff --git a/bsp/buildroot/package/minetest-game/minetest-game.hash b/bsp/buildroot/package/minetest-game/minetest-game.hash index 1a2fe78a..52aa10d5 100644 --- a/bsp/buildroot/package/minetest-game/minetest-game.hash +++ b/bsp/buildroot/package/minetest-game/minetest-game.hash @@ -1,5 +1,5 @@ # Locally calculated -sha256 ea914555949b4faccda5e13143cb021d2f9a5fa19abd1f5e4b7b65004cbd2b5a minetest-game-0.4.16.tar.gz +sha256 f0ab07cb47c1540b2016bf76a36e2eec28b0ea7827bf66fc5447e0c5e5d4495d minetest-game-0.4.17.tar.gz sha256 f8a254e8d5f6b3ca3873f990986e86c864f943aa5dc9bf56808c5f4bfa509db0 LICENSE.txt sha256 3382f3bf99566089543621ee3256f7f98bf9364d3b852c5ed08202d435215d7d mods/beds/license.txt @@ -8,7 +8,7 @@ sha256 e642798b595fb41901ae695326da9a167b0bd6b4055edec2396672f5f01bb16c mods/bon sha256 baf438bc48b7da1b8fc03d37d134473e1c1f33ffe2e926fa650e6d0c64872785 mods/bucket/license.txt sha256 6196d390ee0b6331766219aa82f31613fffb62476c03cf960190ab8c232b8822 mods/carts/license.txt sha256 c0eca35bf446b1b9c8a0d1eefa0613bf2996187cd1f9382e7424b3d0b0dd7851 mods/creative/license.txt -sha256 0542a1ff8212197bf350b6135fb4d29f8a2341d9ddc1407ec812d7fb609a5c0f mods/default/license.txt +sha256 6972a14d2cea9362cda1293284c5a472b1912056e2da215ce43e9c54c80da334 mods/default/license.txt sha256 c0c652890fc80af8eefedbcfe1cd0d16b13b14cd1c7105c9c2bc9abe8cf1620c mods/doors/license.txt sha256 011ebc82e96df3b825777e7531cb5d34cfce1f6ca27b7d3c80793c033d7c4f4e mods/dye/license.txt sha256 163ad77a427a21a900a8fe2333dfc82d115e8e799b7e13ca71f6bd47dcf0ec13 mods/farming/license.txt diff --git a/bsp/buildroot/package/minetest-game/minetest-game.mk b/bsp/buildroot/package/minetest-game/minetest-game.mk index 2386944a..bef7a63b 100644 --- a/bsp/buildroot/package/minetest-game/minetest-game.mk +++ b/bsp/buildroot/package/minetest-game/minetest-game.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINETEST_GAME_VERSION = 0.4.16 +MINETEST_GAME_VERSION = 0.4.17 MINETEST_GAME_SITE = $(call github,minetest,minetest_game,$(MINETEST_GAME_VERSION)) MINETEST_GAME_LICENSE = LGPL-2.1+ (code), CC-BY-SA-2.0, CC-BY-SA-3.0, \ CC-BY-SA-4.0, MIT, CC0 1.0, CC-BY-2.0 (mods) diff --git a/bsp/buildroot/package/minetest/minetest.hash b/bsp/buildroot/package/minetest/minetest.hash index 5e6aeffa..e8b8bf2f 100644 --- a/bsp/buildroot/package/minetest/minetest.hash +++ b/bsp/buildroot/package/minetest/minetest.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 0ef3793de9f569746ea78af7a66fe96ef65400019e5e64a04a5c3fa26a707655 minetest-0.4.16.tar.gz +sha256 cd25d40c53f492325edabd2f6397250f40a61cb9fe4a1d4dd6eb030e0d1ceb59 minetest-0.4.17.1.tar.gz sha256 e48121374512b8f2fada00ac1c8e100a767e2a2edd2853557ccf1995e35a4be0 README.txt diff --git a/bsp/buildroot/package/minetest/minetest.mk b/bsp/buildroot/package/minetest/minetest.mk index a813a0db..8b573a0f 100644 --- a/bsp/buildroot/package/minetest/minetest.mk +++ b/bsp/buildroot/package/minetest/minetest.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINETEST_VERSION = 0.4.16 +MINETEST_VERSION = 0.4.17.1 MINETEST_SITE = $(call github,minetest,minetest,$(MINETEST_VERSION)) MINETEST_LICENSE = LGPL-2.1+ (code), CC-BY-SA-3.0 (textures and sounds) MINETEST_LICENSE_FILES = README.txt diff --git a/bsp/buildroot/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch b/bsp/buildroot/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch new file mode 100644 index 00000000..36ddee42 --- /dev/null +++ b/bsp/buildroot/package/mini-snmpd/0001-Prepend-zero-byte-before-unsigned-integers.patch @@ -0,0 +1,31 @@ +From 949ae648bf7c654b8fae607a0988bfa672607156 Mon Sep 17 00:00:00 2001 +From: Patrick Rauscher +Date: Fri, 18 Aug 2017 17:31:23 +0200 +Subject: [PATCH] Prepend zero-byte before unsigned integers + +fixes #8 + +Signed-off-by: Alexander Sverdlin +--- + mib.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/mib.c b/mib.c +index 7d2e513..a9ffbe2 100644 +--- a/mib.c ++++ b/mib.c +@@ -207,6 +207,11 @@ static int encode_unsigned(data_t *data, int type, unsigned int ticks_value) + else + length = 1; + ++ /* check if the integer could be interpreted negative during a signed decode and prepend a zero-byte if necessary */ ++ if ((ticks_value >> (8 * (length - 1))) & 0x80) { ++ length++; ++ } ++ + *buffer++ = type; + *buffer++ = length; + while (length--) +-- +2.13.2 + diff --git a/bsp/buildroot/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch b/bsp/buildroot/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch new file mode 100644 index 00000000..045d2969 --- /dev/null +++ b/bsp/buildroot/package/mini-snmpd/0002-mib.c-allow-unsigned-integers-to-have-an-extra-byte.patch @@ -0,0 +1,28 @@ +From 556c8a406c9e08dd9444222e072f7eb9c82a81e8 Mon Sep 17 00:00:00 2001 +From: Patrick Rauscher +Date: Fri, 18 Aug 2017 17:44:32 +0200 +Subject: [PATCH] mib.c: allow unsigned integers to have an extra byte + +The extra byte can be needed when encoding huge unsigned numbers (i.e. 0x80000000 or higher). In this case, during encoding we need an extra byte to make sure clients decoding as signed int do not get negative numbers. For further details, see commit 949ae648 + +Signed-off-by: Alexander Sverdlin +--- + mib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mib.c b/mib.c +index a9ffbe2..83cc20d 100644 +--- a/mib.c ++++ b/mib.c +@@ -372,7 +372,7 @@ static int data_alloc(data_t *data, int type) + case BER_TYPE_COUNTER: + case BER_TYPE_GAUGE: + case BER_TYPE_TIME_TICKS: +- data->max_length = sizeof(unsigned int) + 2; ++ data->max_length = sizeof(unsigned int) + 3; + data->encoded_length = 0; + data->buffer = allocate(data->max_length); + break; +-- +2.13.2 + diff --git a/bsp/buildroot/package/mini-snmpd/Config.in b/bsp/buildroot/package/mini-snmpd/Config.in new file mode 100644 index 00000000..1f61cddb --- /dev/null +++ b/bsp/buildroot/package/mini-snmpd/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_MINI_SNMPD + bool "mini-snmpd" + help + Mini SNMPd is a minimal implementation targeted at small or + embedded UNIX systems with limited resources + + http://troglobit.com/mini-snmpd.html diff --git a/bsp/buildroot/package/mini-snmpd/mini-snmpd.hash b/bsp/buildroot/package/mini-snmpd/mini-snmpd.hash new file mode 100644 index 00000000..19118b7f --- /dev/null +++ b/bsp/buildroot/package/mini-snmpd/mini-snmpd.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 59f84e94ef7c9ff36d243c7974a100903a4a9a0bb529b67cf6f0d3352138a86b mini-snmpd-v1.4.tar.gz +sha256 8a43b895972a24567297f44f35dab0f5f9ed3b7db6dac0bf6094075b27ab9d56 COPYING diff --git a/bsp/buildroot/package/mini-snmpd/mini-snmpd.mk b/bsp/buildroot/package/mini-snmpd/mini-snmpd.mk new file mode 100644 index 00000000..ebcbcce1 --- /dev/null +++ b/bsp/buildroot/package/mini-snmpd/mini-snmpd.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# mini-snmpd +# +################################################################################ + +MINI_SNMPD_VERSION = v1.4 +MINI_SNMPD_SITE = $(call github,troglobit,mini-snmpd,$(MINI_SNMPD_VERSION)) +MINI_SNMPD_LICENSE = GPL-2.0 +MINI_SNMPD_LICENSE_FILES = COPYING +MINI_SNMPD_AUTORECONF = YES + +define MINI_SNMPD_INSTALL_INIT_SYSTEMD + $(INSTALL) -D -m 644 package/mini-snmpd/mini-snmpd.service \ + $(TARGET_DIR)/usr/lib/systemd/system/mini-snmpd.service + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/mini-snmpd.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mini-snmpd.service +endef + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/mini-snmpd/mini-snmpd.service b/bsp/buildroot/package/mini-snmpd/mini-snmpd.service new file mode 100644 index 00000000..8a15585e --- /dev/null +++ b/bsp/buildroot/package/mini-snmpd/mini-snmpd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Mini SNMP Daemon +StartLimitIntervalSec=0 + +[Service] +Environment='COMMUNITY=public' +ExecStart=/sbin/mini_snmpd -a -n -c ${COMMUNITY} $EXTRA_PARAMS +Restart=always +RestartSec=1 + +[Install] +WantedBy=multi-user.target diff --git a/bsp/buildroot/package/minicom/0001-musl-libc-compile-fix.patch b/bsp/buildroot/package/minicom/0001-musl-libc-compile-fix.patch deleted file mode 100644 index 94c0da06..00000000 --- a/bsp/buildroot/package/minicom/0001-musl-libc-compile-fix.patch +++ /dev/null @@ -1,28 +0,0 @@ -# HG changeset patch -# User Adam Lackorzynski -# Date 1432407431 -7200 -# Sat May 23 20:57:11 2015 +0200 -# Node ID 8bf81e6a8e60e37c2dec9577a1be6357b8d56165 -# Parent 8c784c80c17aa7a346d982db23bca5df67302cda -musl-libc compile fix - -By Felix Janda : -VC_MUSIC is enabled by default on linux and in dial.c the -necessary header are only included for glibc. (The wrong conditional -include has likely been introduced by the 2003-03-30 GNU/Hurd patch.) - -Signed-off-by: Bernd Kuhls -[Taken from upstream Mercurial commit 8bf81e6a8e60] - -diff -r 8c784c80c17a -r 8bf81e6a8e60 src/dial.c ---- a/src/dial.c Sat May 23 20:56:29 2015 +0200 -+++ b/src/dial.c Sat May 23 20:57:11 2015 +0200 -@@ -39,7 +39,7 @@ - #include "intl.h" - - #ifdef VC_MUSIC --# if defined(__GLIBC__) -+# if defined(__linux__) || defined(__GLIBC__) - # include - # include - # include diff --git a/bsp/buildroot/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch b/bsp/buildroot/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch new file mode 100644 index 00000000..39f68350 --- /dev/null +++ b/bsp/buildroot/package/minicom/0001-sysdep1-check-if-RS485-is-support-before-setting-its.patch @@ -0,0 +1,36 @@ +From 238bbe98558bcd5ed9ab73ef03db82b57ab056ab Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Fri, 31 Aug 2018 15:18:22 +0200 +Subject: [PATCH] sysdep1: check if RS485 is support before setting its + parameters + +Not every kernel supports RS485, so better check it before setting its +parameters. + +Test if RS485 is supported by checking if these 3 macros are defined: +- SER_RS485_ENABLED +- TIOCGRS485 +- TIOCSRS485 +If they're not defined m_set485parms becomes a dummy function. + +Signed-off-by: Giulio Benetti +--- + src/sysdep1.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sysdep1.c b/src/sysdep1.c +index 798b006..b03b442 100644 +--- a/src/sysdep1.c ++++ b/src/sysdep1.c +@@ -599,7 +599,7 @@ void m_set485parms(int fd, int en, int rts_on_snd, int rts_aft_snd, + int rx_dur_tx, int term_bus, char *del_rts_bef_snd, + char *del_rts_aft_snd) + { +-#ifdef SER_RS485_ENABLED ++#if defined (SER_RS485_ENABLED) && defined (TIOCGRS485) && defined (TIOCSRS485) + struct serial_rs485 rs485conf; + + if (ioctl(fd, TIOCGRS485, &rs485conf)) +-- +2.17.1 + diff --git a/bsp/buildroot/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch b/bsp/buildroot/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch deleted file mode 100644 index 83e15306..00000000 --- a/bsp/buildroot/package/minicom/0002-change-maxnamlen-to-posixs-name-max.patch +++ /dev/null @@ -1,51 +0,0 @@ -# HG changeset patch -# User Adam Lackorzynski -# Date 1432407475 -7200 -# Sat May 23 20:57:55 2015 +0200 -# Node ID 93e5dd955c8bd944fd64bb04fd117c963c3758bc -# Parent 8bf81e6a8e60e37c2dec9577a1be6357b8d56165 -Change MAXNAMLEN to POSIX's NAME_MAX - -By Felix Janda : -MAXNAMLEN is usually defined in but it is -better to use the equivalent POSIX NAME_MAX. - -Signed-off-by: Bernd Kuhls -[Taken from upstream Mercurial commit 93e5dd955c8b] - -diff -r 8bf81e6a8e60 -r 93e5dd955c8b src/getsdir.c ---- a/src/getsdir.c Sat May 23 20:57:11 2015 +0200 -+++ b/src/getsdir.c Sat May 23 20:57:55 2015 +0200 -@@ -145,7 +145,7 @@ - * - * The data will be in the form: - * typedef struct dirEntry { -- * char fname[MAXNAMLEN + 1]; -+ * char fname[NAME_MAX + 1]; - * time_t time; - * mode_t mode; - * } GETSDIR_ENTRY; -@@ -232,7 +232,7 @@ - } - - /* copy the filename */ -- strncpy((*datptr)[cnt].fname, dp->d_name, MAXNAMLEN); -+ strncpy((*datptr)[cnt].fname, dp->d_name, NAME_MAX); - - /* get information about the directory entry */ - snprintf(fpath, sizeof(fpath), "%s/%s", dirpath, dp->d_name); -diff -r 8bf81e6a8e60 -r 93e5dd955c8b src/getsdir.h ---- a/src/getsdir.h Sat May 23 20:57:11 2015 +0200 -+++ b/src/getsdir.h Sat May 23 20:57:55 2015 +0200 -@@ -23,9 +23,10 @@ - */ - - #include -+#include - - typedef struct dirEntry { /* structure of data item */ -- char fname[MAXNAMLEN + 1]; /* filename + terminating null */ -+ char fname[NAME_MAX + 1]; /* filename + terminating null */ - time_t time; /* last modification date */ - mode_t mode; /* file mode (dir? etc.) */ - ushort cflags; /* caller field for convenience */ diff --git a/bsp/buildroot/package/minicom/Config.in b/bsp/buildroot/package/minicom/Config.in index c41c1885..efc4f1b7 100644 --- a/bsp/buildroot/package/minicom/Config.in +++ b/bsp/buildroot/package/minicom/Config.in @@ -9,7 +9,7 @@ config BR2_PACKAGE_MINICOM ANSI and VT102 terminals. It has a dialing directory and auto zmodem download. - http://alioth.debian.org/projects/minicom/ + https://salsa.debian.org/minicom-team/minicom comment "minicom needs a toolchain w/ wchar" depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/minicom/minicom.hash b/bsp/buildroot/package/minicom/minicom.hash index f49e430c..c566f4be 100644 --- a/bsp/buildroot/package/minicom/minicom.hash +++ b/bsp/buildroot/package/minicom/minicom.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 532f836b7a677eb0cb1dca8d70302b73729c3d30df26d58368d712e5cca041f1 minicom-2.7.1.tar.gz +sha256 3bd58b594ac66545649c13ab2b728a4df0f78612eb030680d4152f7627d1f177 minicom-19ab49422f3431102c31fea01549121385113f80.tar.gz sha256 cf80a758014eefbf068afffe3d462fc34ff4f528527524d8e100329c42094e15 COPYING diff --git a/bsp/buildroot/package/minicom/minicom.mk b/bsp/buildroot/package/minicom/minicom.mk index cb064823..000597f8 100644 --- a/bsp/buildroot/package/minicom/minicom.mk +++ b/bsp/buildroot/package/minicom/minicom.mk @@ -4,10 +4,12 @@ # ################################################################################ -MINICOM_VERSION = 2.7.1 -MINICOM_SITE = https://alioth.debian.org/frs/download.php/file/4215 +MINICOM_VERSION = 19ab49422f3431102c31fea01549121385113f80 +MINICOM_SITE = https://salsa.debian.org/minicom-team/minicom.git +MINICOM_SITE_METHOD = git MINICOM_LICENSE = GPL-2.0+ MINICOM_LICENSE_FILES = COPYING +MINICOM_AUTORECONF = YES # pkg-config is only used to check for liblockdev, which we don't have # in BR, so instead of adding host-pkgconf as a dependency, simply make @@ -15,6 +17,15 @@ MINICOM_LICENSE_FILES = COPYING # people have liblockdev1-dev installed MINICOM_CONF_ENV = PKG_CONFIG=/bin/false -MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) +MINICOM_DEPENDENCIES = ncurses $(if $(BR2_ENABLE_LOCALE),,libiconv) \ + $(TARGET_NLS_DEPENDENCIES) +# add host-gettext for AM_ICONV macro +MINICOM_DEPENDENCIES += host-gettext + +# Autoreconf requires an existing m4 directory +define MINICOM_MKDIR_M4 + mkdir -p $(@D)/m4 +endef +MINICOM_POST_PATCH_HOOKS += MINICOM_MKDIR_M4 $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/minissdpd/minissdpd.hash b/bsp/buildroot/package/minissdpd/minissdpd.hash index dd166775..a1729d68 100644 --- a/bsp/buildroot/package/minissdpd/minissdpd.hash +++ b/bsp/buildroot/package/minissdpd/minissdpd.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 dfd637b185731e1acb412a86faa9718eb93c04ca08280541a6d22d14d1fb890f minissdpd-1.5.tar.gz -sha256 c432d6ee83deb6a0c105a2c3ebd11e3855ab91498b0847a8657e68ce8e4491a5 LICENSE +sha256 bba94209b40755b32022db9450ee3f4446896a16912915fbb292001a7f8087b0 minissdpd-1.5.20180223.tar.gz +sha256 8801b32567ec20015c7d31668602a3a7f4a4785b7e17468360146b6003713cba LICENSE diff --git a/bsp/buildroot/package/minissdpd/minissdpd.mk b/bsp/buildroot/package/minissdpd/minissdpd.mk index f3f383b1..31d942ea 100644 --- a/bsp/buildroot/package/minissdpd/minissdpd.mk +++ b/bsp/buildroot/package/minissdpd/minissdpd.mk @@ -4,7 +4,7 @@ # ################################################################################ -MINISSDPD_VERSION = 1.5 +MINISSDPD_VERSION = 1.5.20180223 MINISSDPD_SITE = http://miniupnp.free.fr/files MINISSDPD_LICENSE = BSD-3-Clause MINISSDPD_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/minizip/Config.in b/bsp/buildroot/package/minizip/Config.in index 7205e000..5a0c52b3 100644 --- a/bsp/buildroot/package/minizip/Config.in +++ b/bsp/buildroot/package/minizip/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_MINIZIP bool "minizip" - select BR2_PACKAGE_ZLIB + depends on BR2_USE_WCHAR help Enables to extract files from a .zip archive file. It is compatible with PKZip 2.04g, WinZip, InfoZip, @@ -9,7 +9,10 @@ config BR2_PACKAGE_MINIZIP https://github.com/nmoinvaz/minizip config BR2_PACKAGE_MINIZIP_DEMOS - bool "miniunzip/minizip" + bool "minizip" depends on BR2_PACKAGE_MINIZIP help - Enable miniunzip/minizip binary tools. + Enable minizip binary tool. + +comment "minizip needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/minizip/minizip.hash b/bsp/buildroot/package/minizip/minizip.hash index 718026c1..d9473581 100644 --- a/bsp/buildroot/package/minizip/minizip.hash +++ b/bsp/buildroot/package/minizip/minizip.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5666b5ee3e85dfd2dd119970613c12e6267d31813f07d3ffa5d359fe272cb6d1 minizip-1.1.tar.gz +sha256 b01607d219ed40d817404947dd5339d64242a083df6372c37b0387b5501d84f5 minizip-2.8.2.tar.gz +sha256 87642305968765a4030fd202ff7006afa67274da7f9bde84506e51ae58ecc2b4 LICENSE diff --git a/bsp/buildroot/package/minizip/minizip.mk b/bsp/buildroot/package/minizip/minizip.mk index bcd6cc92..a9eea1b1 100644 --- a/bsp/buildroot/package/minizip/minizip.mk +++ b/bsp/buildroot/package/minizip/minizip.mk @@ -4,13 +4,38 @@ # ################################################################################ -MINIZIP_VERSION = 1.1 +MINIZIP_VERSION = 2.8.2 MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION)) -MINIZIP_DEPENDENCIES = zlib -MINIZIP_AUTORECONF = YES +MINIZIP_DEPENDENCIES = \ + host-pkgconf \ + $(if $(BR2_PACKAGE_LIBBSD),libbsd) \ + $(if $(BR2_PACKAGE_LIBICONV),libiconv) MINIZIP_INSTALL_STAGING = YES -MINIZIP_CONF_OPTS = $(if $(BR2_PACKAGE_MINIZIP_DEMOS),--enable-demos) +MINIZIP_CONF_OPTS = \ + $(if $(BR2_PACKAGE_MINIZIP_DEMOS),-DBUILD_TEST=ON) \ + -DUSE_COMPAT=OFF MINIZIP_LICENSE = Zlib MINIZIP_LICENSE_FILES = LICENSE -$(eval $(autotools-package)) +ifeq ($(BR2_PACKAGE_BZIP2),y) +MINIZIP_DEPENDENCIES += bzip2 +MINIZIP_CONF_OPTS += -DUSE_BZIP2=ON +else +MINIZIP_CONF_OPTS += -DUSE_BZIP2=OFF +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +MINIZIP_DEPENDENCIES += openssl +MINIZIP_CONF_OPTS += -DUSE_OPENSSL=ON +else +MINIZIP_CONF_OPTS += -DUSE_OPENSSL=OFF +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +MINIZIP_DEPENDENCIES += zlib +MINIZIP_CONF_OPTS += -DUSE_ZLIB=ON +else +MINIZIP_CONF_OPTS += -DUSE_ZLIB=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/mjpegtools/Config.in b/bsp/buildroot/package/mjpegtools/Config.in index c486361a..968f9e7d 100644 --- a/bsp/buildroot/package/mjpegtools/Config.in +++ b/bsp/buildroot/package/mjpegtools/Config.in @@ -12,6 +12,11 @@ config BR2_PACKAGE_MJPEGTOOLS http://mjpeg.sourceforge.net +config BR2_PACKAGE_MJPEGTOOLS_SIMD_SUPPORT + bool + default y if BR2_X86_CPU_HAS_MMX + default y if BR2_POWERPC_CPU_HAS_ALTIVEC + comment "mjpegtools needs a toolchain w/ C++, threads" depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/mjpegtools/mjpegtools.mk b/bsp/buildroot/package/mjpegtools/mjpegtools.mk index c7392fa2..14713c86 100644 --- a/bsp/buildroot/package/mjpegtools/mjpegtools.mk +++ b/bsp/buildroot/package/mjpegtools/mjpegtools.mk @@ -10,6 +10,12 @@ MJPEGTOOLS_DEPENDENCIES = host-pkgconf jpeg MJPEGTOOLS_LICENSE = GPL-2.0+ MJPEGTOOLS_LICENSE_FILES = COPYING +ifeq ($(BR2_PACKAGE_MJPEGTOOLS_SIMD_SUPPORT),y) +MJPEGTOOLS_CONF_OPTS += --enable-simd-accel +else +MJPEGTOOLS_CONF_OPTS += --disable-simd-accel +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) MJPEGTOOLS_CONF_OPTS += --with-libpng MJPEGTOOLS_DEPENDENCIES += libpng diff --git a/bsp/buildroot/package/mjpg-streamer/0001-musl-pthread.patch b/bsp/buildroot/package/mjpg-streamer/0001-musl-pthread.patch deleted file mode 100644 index 9e76e760..00000000 --- a/bsp/buildroot/package/mjpg-streamer/0001-musl-pthread.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix musl build - -Patch written by Thomas Petazzoni: -http://patchwork.ozlabs.org/patch/572309/ - -Signed-off-by: Bernd Kuhls - -diff -uNr mjpg-streamer-bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b.org/plugins/input.h mjpg-streamer-bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b/plugins/input.h ---- mjpg-streamer-bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b.org/plugins/input.h 2015-11-09 15:56:47.000000000 +0100 -+++ mjpg-streamer-bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b/plugins/input.h 2016-01-26 20:19:05.884349502 +0100 -@@ -20,6 +20,7 @@ - # # - *******************************************************************************/ - -+#include - #include - #include "../mjpg_streamer.h" - #define INPUT_PLUGIN_PREFIX " i: " diff --git a/bsp/buildroot/package/mjpg-streamer/Config.in b/bsp/buildroot/package/mjpg-streamer/Config.in index f42c2a50..59f4208c 100644 --- a/bsp/buildroot/package/mjpg-streamer/Config.in +++ b/bsp/buildroot/package/mjpg-streamer/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_MJPG_STREAMER bool "mjpg-streamer" - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # linux/uvcvideo.h + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 # V4L2_EVENT_SOURCE_CHANGE depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # plugins need dlopen() @@ -10,9 +10,9 @@ config BR2_PACKAGE_MJPG_STREAMER filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software. - http://mjpg-streamer.sourceforge.net + https://github.com/jacksonliam/mjpg-streamer -comment "mjpg-streamer needs a toolchain w/ threads, headers >= 3.0, dynamic library" +comment "mjpg-streamer needs a toolchain w/ threads, headers >= 3.16, dynamic library" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 || BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.hash b/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.hash index 8bbac29e..76716266 100644 --- a/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.hash +++ b/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 756a60cbc3404ac21109bb66091774ac8e1d64ebf60e2bf2c0d08a06d1abb9be mjpg-streamer-bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b.tar.gz +sha256 d2c2c9dbc95332245f34247f4a0791d741d1ae875084f9886442f48a01b01d81 mjpg-streamer-ddb69b7b4f114f3c2ca01adf55712792ca8aed43.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 mjpg-streamer-experimental/LICENSE diff --git a/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.mk b/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.mk index 4fecf69e..4077a3dc 100644 --- a/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.mk +++ b/bsp/buildroot/package/mjpg-streamer/mjpg-streamer.mk @@ -4,27 +4,43 @@ # ################################################################################ -# Original source is located at -# http://sourceforge.net/p/mjpg-streamer/code/commit_browser -# oliv3r forked the repo to add support for 3.16 and 3.17 kernels: -# http://sourceforge.net/p/mjpg-streamer/patches/14/ -MJPG_STREAMER_VERSION = bbf32fddfd02a9e072e89e83a5b33e6ca0a7bd4b -MJPG_STREAMER_SITE = $(call github,oliv3r,mjpg-streamer,$(MJPG_STREAMER_VERSION)) +MJPG_STREAMER_VERSION = ddb69b7b4f114f3c2ca01adf55712792ca8aed43 +MJPG_STREAMER_SITE = $(call github,jacksonliam,mjpg-streamer,$(MJPG_STREAMER_VERSION)) +MJPG_STREAMER_SUBDIR = mjpg-streamer-experimental MJPG_STREAMER_LICENSE = GPL-2.0+ -MJPG_STREAMER_LICENSE_FILES = LICENSE +MJPG_STREAMER_LICENSE_FILES = $(MJPG_STREAMER_SUBDIR)/LICENSE MJPG_STREAMER_DEPENDENCIES = jpeg +ifeq ($(BR2_PACKAGE_LIBGPHOTO2),y) +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_INPUT_PTP2=ON +MJPG_STREAMER_DEPENDENCIES += host-pkgconf libgphoto2 +else +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_INPUT_PTP2=OFF +endif + ifeq ($(BR2_PACKAGE_LIBV4L),y) MJPG_STREAMER_DEPENDENCIES += libv4l -MJPG_STREAMER_USE_LIBV4L += USE_LIBV4L2=true endif -define MJPG_STREAMER_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" -C $(@D) $(MJPG_STREAMER_USE_LIBV4L) -endef +ifeq ($(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI)$(BR2_PACKAGE_OPENCV3_LIB_IMGPROC)$(BR2_PACKAGE_OPENCV3_LIB_VIDEOIO),yyy) +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_INPUT_OPENCV=ON +MJPG_STREAMER_DEPENDENCIES += host-pkgconf opencv3 +else +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_INPUT_OPENCV=OFF +endif -define MJPG_STREAMER_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR)/usr install -endef +ifeq ($(BR2_PACKAGE_PROTOBUF_C)$(BR2_PACKAGE_ZEROMQ),yy) +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_OUTPUT_ZMQSERVER=ON +MJPG_STREAMER_DEPENDENCIES += host-pkgconf protobuf-c zeromq +else +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_OUTPUT_ZMQSERVER=OFF +endif -$(eval $(generic-package)) +ifeq ($(BR2_PACKAGE_SDL),y) +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_OUTPUT_VIEWER=ON +MJPG_STREAMER_DEPENDENCIES += host-pkgconf sdl +else +MJPG_STREAMER_CONF_OPTS += -DPLUGIN_OUTPUT_VIEWER=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/mksh/mksh.mk b/bsp/buildroot/package/mksh/mksh.mk index b5706dbe..4fa0e020 100644 --- a/bsp/buildroot/package/mksh/mksh.mk +++ b/bsp/buildroot/package/mksh/mksh.mk @@ -21,4 +21,12 @@ define MKSH_INSTALL_TARGET_CMDS $(INSTALL) -m 0755 -D $(@D)/mksh $(TARGET_DIR)/bin/mksh endef +# Add /bin/mksh to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define MKSH_ADD_MKSH_TO_SHELLS + grep -qsE '^/bin/mksh$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/mksh" >> $(TARGET_DIR)/etc/shells +endef +MKSH_TARGET_FINALIZE_HOOKS += MKSH_ADD_MKSH_TO_SHELLS + $(eval $(generic-package)) diff --git a/bsp/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch b/bsp/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch index a134dd3c..a562845f 100644 --- a/bsp/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch +++ b/bsp/buildroot/package/mmc-utils/0002-fix-overlapping-with-strncpy.patch @@ -1,7 +1,7 @@ From 1c90a7534658056b884d71ef82dc7ca8bad4271b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= Date: Wed, 24 Oct 2018 13:00:47 +0200 -Subject: [PATCH 1/1] mmc-utils: fix overlapping with strncpy +Subject: [PATCH] mmc-utils: fix overlapping with strncpy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/bsp/buildroot/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch b/bsp/buildroot/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch new file mode 100644 index 00000000..4af4d326 --- /dev/null +++ b/bsp/buildroot/package/moarvm/0001-Fix-Name-Collision-With-LibTomMath-Funcs.patch @@ -0,0 +1,65 @@ +From ead5f4da759465cf6fc2ceab7c431d3550a3323f Mon Sep 17 00:00:00 2001 +From: Timo Paulssen +Date: Tue, 15 Jan 2019 12:35:56 +0100 +Subject: [PATCH] Fix Name Collision With Existing LibTomMath Function + +fixes #1032 + +Upstream: https://github.com/MoarVM/MoarVM/commit/f7204a3ee5199dd70f26d6fe133008cc86c63bbe +(backported mp_get_double() as other functions weren't yet used) + +Signed-off-by: Matthew Weber +--- + src/math/bigintops.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/math/bigintops.c b/src/math/bigintops.c +index 2275593..8ab7ed6 100644 +--- a/src/math/bigintops.c ++++ b/src/math/bigintops.c +@@ -45,7 +45,7 @@ int MVM_bigint_mp_set_uint64(mp_int * a, MVMuint64 b) { + return MP_OKAY; + } + +-static MVMnum64 mp_get_double(mp_int *a) { ++static MVMnum64 MVM_mp_get_double(mp_int *a) { + MVMnum64 d = 0.0; + MVMnum64 sign = SIGN(a) == MP_NEG ? -1.0 : 1.0; + int i; +@@ -680,8 +680,8 @@ MVMObject * MVM_bigint_pow(MVMThreadContext *tc, MVMObject *a, MVMObject *b, + } + } + else { +- MVMnum64 f_base = mp_get_double(base); +- MVMnum64 f_exp = mp_get_double(exponent); ++ MVMnum64 f_base = MVM_mp_get_double(base); ++ MVMnum64 f_exp = MVM_mp_get_double(exponent); + r = MVM_repr_box_num(tc, num_type, pow(f_base, f_exp)); + } + clear_temp_bigints(tmp, 2); +@@ -880,7 +880,7 @@ MVMnum64 MVM_bigint_to_num(MVMThreadContext *tc, MVMObject *a) { + + if (MVM_BIGINT_IS_BIG(ba)) { + mp_int *ia = ba->u.bigint; +- return mp_get_double(ia); ++ return MVM_mp_get_double(ia); + } else { + return (double)ba->u.smallint.value; + } +@@ -913,11 +913,11 @@ MVMnum64 MVM_bigint_div_num(MVMThreadContext *tc, MVMObject *a, MVMObject *b) { + mp_init(&reduced_b); + mp_div_2d(ia, max_size - 1023, &reduced_a, NULL); + mp_div_2d(ib, max_size - 1023, &reduced_b, NULL); +- c = mp_get_double(&reduced_a) / mp_get_double(&reduced_b); ++ c = MVM_mp_get_double(&reduced_a) / MVM_mp_get_double(&reduced_b); + mp_clear(&reduced_a); + mp_clear(&reduced_b); + } else { +- c = mp_get_double(ia) / mp_get_double(ib); ++ c = MVM_mp_get_double(ia) / MVM_mp_get_double(ib); + } + clear_temp_bigints(tmp, 2); + } else { +-- +1.9.1 + diff --git a/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash b/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash index 5ab2e318..632fc935 100644 --- a/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash +++ b/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.hash @@ -1,2 +1,4 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/mobile-broadband-provider-info/20151214/mobile-broadband-provider-info-20151214.sha256sum -sha256 8ae45d6f10fed9750e259935804c4f40a4372bb119f0504187e4221896b205a4 mobile-broadband-provider-info-20151214.tar.xz +# http://ftp.acc.umu.se/pub/GNOME/sources/mobile-broadband-provider-info/20190116/mobile-broadband-provider-info-20190116.sha256sum +sha256 2cba10f82b8e6aec46b871c1f7d20086ecc17e1168f18e588a6a37770fa3c59b mobile-broadband-provider-info-20190116.tar.xz +# Locally computed +sha256 3d510b215a33087b9ceb9592da21575ea1f9f98bd4d983a38e65fe851a552174 COPYING diff --git a/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk b/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk index 1a68708d..ed741f6f 100644 --- a/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk +++ b/bsp/buildroot/package/mobile-broadband-provider-info/mobile-broadband-provider-info.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOBILE_BROADBAND_PROVIDER_INFO_VERSION = 20151214 +MOBILE_BROADBAND_PROVIDER_INFO_VERSION = 20190116 MOBILE_BROADBAND_PROVIDER_INFO_SITE = http://ftp.gnome.org/pub/GNOME/sources/mobile-broadband-provider-info/$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION) MOBILE_BROADBAND_PROVIDER_INFO_SOURCE = mobile-broadband-provider-info-$(MOBILE_BROADBAND_PROVIDER_INFO_VERSION).tar.xz MOBILE_BROADBAND_PROVIDER_INFO_LICENSE = Public domain diff --git a/bsp/buildroot/package/modem-manager/0001-kerneldevice-fix-build-with-musl-libc.patch b/bsp/buildroot/package/modem-manager/0001-kerneldevice-fix-build-with-musl-libc.patch new file mode 100644 index 00000000..68181cb5 --- /dev/null +++ b/bsp/buildroot/package/modem-manager/0001-kerneldevice-fix-build-with-musl-libc.patch @@ -0,0 +1,67 @@ +From ed40ac76b125b1c3b2e2f8522d283b073c23bd3b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 15 Jun 2018 06:25:46 +0300 +Subject: [PATCH] kerneldevice: fix build with musl libc + +musl libc does not implement the canonicalize_file_name() GNU extension. +Use the POSIX standard realpath() instead. + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to modemmanager-devel@lists.freedesktop.org + + src/kerneldevice/mm-kernel-device-generic.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/kerneldevice/mm-kernel-device-generic.c b/src/kerneldevice/mm-kernel-device-generic.c +index 6b0f072402ff..885bef171f5d 100644 +--- a/src/kerneldevice/mm-kernel-device-generic.c ++++ b/src/kerneldevice/mm-kernel-device-generic.c +@@ -120,7 +120,7 @@ preload_sysfs_path (MMKernelDeviceGeneric *self) + mm_kernel_event_properties_get_subsystem (self->priv->properties), + mm_kernel_event_properties_get_name (self->priv->properties)); + +- self->priv->sysfs_path = canonicalize_file_name (tmp); ++ self->priv->sysfs_path = realpath (tmp, NULL); + if (!self->priv->sysfs_path || !g_file_test (self->priv->sysfs_path, G_FILE_TEST_EXISTS)) { + mm_warn ("Invalid sysfs path read for %s/%s", + mm_kernel_event_properties_get_subsystem (self->priv->properties), +@@ -163,7 +163,7 @@ preload_interface_sysfs_path (MMKernelDeviceGeneric *self) + * The correct parent dir we want to have is the first one with "usb" subsystem. + */ + aux = g_strdup_printf ("%s/device", self->priv->sysfs_path); +- dirpath = canonicalize_file_name (aux); ++ dirpath = realpath (aux, NULL); + g_free (aux); + + while (dirpath) { +@@ -179,7 +179,7 @@ preload_interface_sysfs_path (MMKernelDeviceGeneric *self) + gchar *canonicalized_subsystem; + gchar *subsystem_name; + +- canonicalized_subsystem = canonicalize_file_name (subsystem_filepath); ++ canonicalized_subsystem = realpath (subsystem_filepath, NULL); + g_free (subsystem_filepath); + + subsystem_name = g_path_get_basename (canonicalized_subsystem); +@@ -239,7 +239,7 @@ preload_driver (MMKernelDeviceGeneric *self) + gchar *tmp2; + + tmp = g_strdup_printf ("%s/driver", self->priv->interface_sysfs_path); +- tmp2 = canonicalize_file_name (tmp); ++ tmp2 = realpath (tmp, NULL); + if (tmp2 && g_file_test (tmp2, G_FILE_TEST_EXISTS)) + self->priv->driver = g_path_get_basename (tmp2); + g_free (tmp2); +@@ -308,7 +308,7 @@ preload_physdev_subsystem (MMKernelDeviceGeneric *self) + gchar *subsyspath; + + aux = g_strdup_printf ("%s/subsystem", self->priv->physdev_sysfs_path); +- subsyspath = canonicalize_file_name (aux); ++ subsyspath = realpath (aux, NULL); + self->priv->physdev_subsystem = g_path_get_dirname (subsyspath); + g_free (subsyspath); + g_free (aux); +-- +2.17.1 + diff --git a/bsp/buildroot/package/modem-manager/Config.in b/bsp/buildroot/package/modem-manager/Config.in index 8e995b41..c4c72377 100644 --- a/bsp/buildroot/package/modem-manager/Config.in +++ b/bsp/buildroot/package/modem-manager/Config.in @@ -1,12 +1,11 @@ config BR2_PACKAGE_MODEM_MANAGER - bool "modemmanager" - depends on BR2_PACKAGE_HAS_UDEV + bool "modem-manager" depends on BR2_USE_WCHAR # libglib2 and gnutls depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus select BR2_PACKAGE_DBUS # runtime dependency select BR2_PACKAGE_LIBGLIB2 - select BR2_PACKAGE_LIBGUDEV + select BR2_PACKAGE_LIBGUDEV if BR2_PACKAGE_HAS_UDEV help ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections. @@ -28,7 +27,6 @@ config BR2_PACKAGE_MODEM_MANAGER_LIBQMI This option enables support for QMI protocol endif -comment "modemmanager needs udev /dev management and a toolchain w/ wchar, threads" - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_PACKAGE_HAS_UDEV +comment "modemmanager needs a toolchain w/ wchar, threads" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/modem-manager/S44modem-manager b/bsp/buildroot/package/modem-manager/S44modem-manager old mode 100755 new mode 100644 index cf6d8960..416c1e2e --- a/bsp/buildroot/package/modem-manager/S44modem-manager +++ b/bsp/buildroot/package/modem-manager/S44modem-manager @@ -3,15 +3,16 @@ # Starts ModemManager # -PIDFILE=/var/run/ModemManager.pid +# Allow a few customizations from a config file +test -r /etc/default/ModemManager && . /etc/default/ModemManager -[ -x $MODEMMANAGER_BIN ] || exit 0 +PIDFILE=/var/run/ModemManager.pid start() { printf "Starting ModemManager: " umask 077 start-stop-daemon -S -q -b -m -p $PIDFILE \ - --exec /usr/sbin/ModemManager + --exec /usr/sbin/ModemManager -- $MODEMMANAGER_ARGS [ $? = 0 ] && echo "OK" || echo "FAIL" } stop() { diff --git a/bsp/buildroot/package/modem-manager/modem-manager.hash b/bsp/buildroot/package/modem-manager/modem-manager.hash index bc080448..77a8c2dc 100644 --- a/bsp/buildroot/package/modem-manager/modem-manager.hash +++ b/bsp/buildroot/package/modem-manager/modem-manager.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 bc74326fa69ae8012f806e235f3d296144922669b952d4d4987dd0af645d5f68 ModemManager-1.6.10.tar.xz +sha256 18abe34421aa3b52ff47d4ba93aa282f8f8944717dd644a5c0c81eeeac9c7eb1 ModemManager-1.8.0.tar.xz sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/bsp/buildroot/package/modem-manager/modem-manager.mk b/bsp/buildroot/package/modem-manager/modem-manager.mk index b741acf0..e2f89d9d 100644 --- a/bsp/buildroot/package/modem-manager/modem-manager.mk +++ b/bsp/buildroot/package/modem-manager/modem-manager.mk @@ -4,13 +4,14 @@ # ################################################################################ -MODEM_MANAGER_VERSION = 1.6.10 +MODEM_MANAGER_VERSION = 1.8.0 MODEM_MANAGER_SOURCE = ModemManager-$(MODEM_MANAGER_VERSION).tar.xz MODEM_MANAGER_SITE = http://www.freedesktop.org/software/ModemManager MODEM_MANAGER_LICENSE = GPL-2.0+ (programs, plugins), LGPL-2.0+ (libmm-glib) MODEM_MANAGER_LICENSE_FILES = COPYING COPYING.LIB -MODEM_MANAGER_DEPENDENCIES = host-pkgconf host-intltool libglib2 libgudev +MODEM_MANAGER_DEPENDENCIES = host-pkgconf host-intltool libglib2 MODEM_MANAGER_INSTALL_STAGING = YES +MODEM_MANAGER_CONF_OPTS = --disable-more-warnings ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBQMI),y) MODEM_MANAGER_DEPENDENCIES += libqmi @@ -19,6 +20,13 @@ else MODEM_MANAGER_CONF_OPTS += --without-qmi endif +ifeq ($(BR2_PACKAGE_LIBGUDEV),y) +MODEM_MANAGER_DEPENDENCIES += libgudev +MODEM_MANAGER_CONF_OPTS += --with-udev +else +MODEM_MANAGER_CONF_OPTS += --without-udev +endif + ifeq ($(BR2_PACKAGE_MODEM_MANAGER_LIBMBIM),y) MODEM_MANAGER_DEPENDENCIES += libmbim MODEM_MANAGER_CONF_OPTS += --with-mbim diff --git a/bsp/buildroot/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch b/bsp/buildroot/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch new file mode 100644 index 00000000..b4b17466 --- /dev/null +++ b/bsp/buildroot/package/mongodb/0001-ssl_manager.cpp-fix-build-with-gcc-7-and-fpermissive.patch @@ -0,0 +1,55 @@ +From 362be06fc16a5ad0f9e9aa90cc763c5242e8e35c Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 9 Feb 2019 12:41:45 +0100 +Subject: [PATCH] ssl_manager.cpp: fix build with gcc 7 and -fpermissive + +Change prototype of DERToken::parse function from +parse(ConstDataRange cdr, size_t* outLength); +to parse(ConstDataRange cdr, uint64_t* outLength); + +Otherwise, we got the following error: + +src/mongo/util/net/ssl_manager.cpp: In static member function 'static mongo::StatusWith mongo::{anonymous}::DERToken::parse(mongo::ConstDataRange, size_t*)': +src/mongo/util/net/ssl_manager.cpp:575:79: error: invalid conversion from 'size_t* {aka unsigned int*}' to 'long unsigned int*' [-fpermissive] + if (mongoUnsignedAddOverflow64(tagAndLengthByteCount, derLength, outLength) || + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/mongodb/mongo/pull/1296] +--- + src/mongo/util/net/ssl_manager.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/mongo/util/net/ssl_manager.cpp b/src/mongo/util/net/ssl_manager.cpp +index b93ebe84a4..3511eb5d99 100644 +--- a/src/mongo/util/net/ssl_manager.cpp ++++ b/src/mongo/util/net/ssl_manager.cpp +@@ -782,7 +782,7 @@ public: + * + * Returns a DERToken which consists of the (tag, length, value) tuple. + */ +- static StatusWith parse(ConstDataRange cdr, size_t* outLength); ++ static StatusWith parse(ConstDataRange cdr, uint64_t* outLength); + + private: + DERType _type{DERType::EndOfContent}; +@@ -799,7 +799,7 @@ struct DataType::Handler { + size_t length, + size_t* advanced, + std::ptrdiff_t debug_offset) { +- size_t outLength; ++ uint64_t outLength; + + auto swPair = DERToken::parse(ConstDataRange(ptr, length), &outLength); + +@@ -844,7 +844,7 @@ StatusWith readDERString(ConstDataRangeCursor& cdc) { + } + + +-StatusWith DERToken::parse(ConstDataRange cdr, size_t* outLength) { ++StatusWith DERToken::parse(ConstDataRange cdr, uint64_t* outLength) { + const size_t kTagLength = 1; + const size_t kTagLengthAndInitialLengthByteLength = kTagLength + 1; + +-- +2.14.1 + diff --git a/bsp/buildroot/package/mongodb/Config.in b/bsp/buildroot/package/mongodb/Config.in index ed3ad569..969b8e06 100644 --- a/bsp/buildroot/package/mongodb/Config.in +++ b/bsp/buildroot/package/mongodb/Config.in @@ -1,9 +1,9 @@ -# from src/mongo/platform/bits.h +# from https://docs.mongodb.com/manual/installation/#supported-platforms config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS bool # ARM needs LDREX/STREX, so ARMv6+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 - default y if BR2_aarch64 || BR2_i386 || BR2_powerpc64 || BR2_x86_64 + default y if BR2_aarch64 || BR2_powerpc64 || BR2_x86_64 config BR2_PACKAGE_MONGODB bool "mongodb" @@ -12,7 +12,17 @@ config BR2_PACKAGE_MONGODB depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_IOSTREAMS + select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_SNAPPY + select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_YAML_CPP + select BR2_PACKAGE_ZLIB help MongoDB is a cross-platform document-oriented database (NoSQL). @@ -23,8 +33,8 @@ config BR2_PACKAGE_MONGODB https://www.mongodb.org/ -comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 4.8" +comment "mongodb needs a glibc toolchain w/ wchar, threads, C++, gcc >= 6" depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 depends on BR2_PACKAGE_MONGODB_ARCH_SUPPORTS diff --git a/bsp/buildroot/package/mongodb/mongodb.hash b/bsp/buildroot/package/mongodb/mongodb.hash index b01ad53a..916323d7 100644 --- a/bsp/buildroot/package/mongodb/mongodb.hash +++ b/bsp/buildroot/package/mongodb/mongodb.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 4764945631bca4ac5c2b239e04e91db00e39716915204349170c37cb7897c564 mongodb-r3.3.4.tar.gz +sha256 5db85f06b2a0b2ae393339a4aed1366928aaef2b46c7c32826fa87c3217dc6f7 mongodb-r4.0.6.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 APACHE-2.0.txt +sha256 09d99ca61eb07873d5334077acba22c33e7f7d0a9fa08c92734e0ac8430d6e27 LICENSE-Community.txt diff --git a/bsp/buildroot/package/mongodb/mongodb.mk b/bsp/buildroot/package/mongodb/mongodb.mk index 54c904e5..e420ecb4 100644 --- a/bsp/buildroot/package/mongodb/mongodb.mk +++ b/bsp/buildroot/package/mongodb/mongodb.mk @@ -4,21 +4,38 @@ # ################################################################################ -MONGODB_VERSION_BASE = 3.3.4 +MONGODB_VERSION_BASE = 4.0.6 MONGODB_VERSION = r$(MONGODB_VERSION_BASE) MONGODB_SITE = $(call github,mongodb,mongo,$(MONGODB_VERSION)) -MONGODB_LICENSE = AGPL-3.0, Apache-2.0 -MONGODB_LICENSE_FILES = GNU-AGPL-3.0.txt APACHE-2.0.txt +MONGODB_LICENSE = Apache-2.0 (drivers), SSPL (database) +MONGODB_LICENSE_FILES = APACHE-2.0.txt LICENSE-Community.txt -MONGODB_DEPENDENCIES = host-scons +MONGODB_DEPENDENCIES = \ + boost \ + host-python-cheetah \ + host-python-pyyaml \ + host-python-typing \ + host-scons \ + pcre \ + snappy \ + sqlite \ + yaml-cpp \ + zlib MONGODB_SCONS_TARGETS = mongod mongos MONGODB_SCONS_ENV = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \ -j"$(PARALLEL_JOBS)" -MONGODB_SCONS_OPTS = --disable-warnings-as-errors +MONGODB_SCONS_OPTS = \ + --disable-warnings-as-errors \ + --use-system-boost \ + --use-system-pcre \ + --use-system-snappy \ + --use-system-sqlite \ + --use-system-yaml \ + --use-system-zlib # need to pass mongo version when not building from git repo MONGODB_SCONS_OPTS += MONGO_VERSION=$(MONGODB_VERSION_BASE)- @@ -41,9 +58,18 @@ else MONGODB_SCONS_OPTS += --js-engine=none --allocator=system endif +ifeq ($(BR2_PACKAGE_LIBCURL),y) +MONGODB_DEPENDENCIES += libcurl +MONGODB_SCONS_OPTS += --enable-free-mon=on +else +MONGODB_SCONS_OPTS += --enable-free-mon=off +endif + ifeq ($(BR2_PACKAGE_OPENSSL),y) MONGODB_DEPENDENCIES += openssl -MONGODB_SCONS_OPTS += --ssl=SSL +MONGODB_SCONS_OPTS += \ + --ssl \ + --ssl-provider=openssl endif define MONGODB_BUILD_CMDS diff --git a/bsp/buildroot/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch b/bsp/buildroot/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch deleted file mode 100644 index a6960424..00000000 --- a/bsp/buildroot/package/mongoose/0001-Fix-body-length-calculation-in-mg_handle_cgi.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 9e93f71556f8d5ba62fccec46ee5689e385d6d37 Mon Sep 17 00:00:00 2001 -From: Deomid Ryabkov -Date: Mon, 13 Aug 2018 15:50:01 +0300 -Subject: [PATCH] Fix body length calculation in mg_handle_cgi - -Fixes https://nvd.nist.gov/vuln/detail/CVE-2018-10945 - -CL: mg: Fix body length calculation in mg_handle_cgi - -PUBLISHED_FROM=0c30cf36fdb67c75f6148468701e23d6ee72d953 - -[Thomas: backported from upstream commit -f33d3a4e0225d6e009b90193402141025e9ea74d, dropping the changes in -src/mg_http_cgi.c, because back in 6.7, the initial mongoose sources -were not in the tree, only the amalgamated version.] -Signed-off-by: Thomas Petazzoni ---- - mongoose.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/mongoose.c b/mongoose.c -index 7e55896..f5b0177 100644 ---- a/mongoose.c -+++ b/mongoose.c -@@ -8308,7 +8308,6 @@ MG_INTERNAL void mg_handle_cgi(struct mg_connection *nc, const char *prog, - - if (mg_start_process(opts->cgi_interpreter, prog, blk.buf, blk.vars, dir, - fds[1]) != 0) { -- size_t n = nc->recv_mbuf.len - (hm->message.len - hm->body.len); - struct mg_connection *cgi_nc = - mg_add_sock(nc->mgr, fds[0], mg_cgi_ev_handler); - struct mg_http_proto_data *cgi_pd = mg_http_get_proto_data(cgi_nc); -@@ -8316,8 +8315,8 @@ MG_INTERNAL void mg_handle_cgi(struct mg_connection *nc, const char *prog, - cgi_pd->cgi.cgi_nc->user_data = nc; - nc->flags |= MG_F_USER_1; - /* Push POST data to the CGI */ -- if (n > 0 && n < nc->recv_mbuf.len) { -- mg_send(cgi_pd->cgi.cgi_nc, hm->body.p, n); -+ if (hm->body.len > 0) { -+ mg_send(cgi_pd->cgi.cgi_nc, hm->body.p, hm->body.len); - } - mbuf_remove(&nc->recv_mbuf, nc->recv_mbuf.len); - } else { --- -2.14.4 - diff --git a/bsp/buildroot/package/mongoose/mongoose.hash b/bsp/buildroot/package/mongoose/mongoose.hash index d5252eb6..86ebe8ef 100644 --- a/bsp/buildroot/package/mongoose/mongoose.hash +++ b/bsp/buildroot/package/mongoose/mongoose.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 ccc971298db70963d3f13766c3246a3c36ae7e388acfab7ba2180149d9c8c64f mongoose-6.7.tar.gz +sha256 ec7956b8f2845f6c22e19ab38a0c32c9b379087f0038c7db661b34812f225911 mongoose-6.13.tar.gz +sha256 fdc34eeea97327d75c83492abd34f1a3200c53dec04422ecda8071dc60a36d10 LICENSE diff --git a/bsp/buildroot/package/mongoose/mongoose.mk b/bsp/buildroot/package/mongoose/mongoose.mk index e2149e06..653c83c7 100644 --- a/bsp/buildroot/package/mongoose/mongoose.mk +++ b/bsp/buildroot/package/mongoose/mongoose.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONGOOSE_VERSION = 6.7 +MONGOOSE_VERSION = 6.13 MONGOOSE_SITE = $(call github,cesanta,mongoose,$(MONGOOSE_VERSION)) MONGOOSE_LICENSE = GPL-2.0 MONGOOSE_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/monit/monit.hash b/bsp/buildroot/package/monit/monit.hash index 611d3e18..d1c09f13 100644 --- a/bsp/buildroot/package/monit/monit.hash +++ b/bsp/buildroot/package/monit/monit.hash @@ -1,2 +1,4 @@ -# From https://mmonit.com/monit/dist/monit-5.24.0.tar.gz.sha256: -sha256 754d1f0e165e5a26d4639a6a83f44ccf839e381f2622e0946d5302fa1f2d2414 monit-5.24.0.tar.gz +# From https://mmonit.com/monit/dist/monit-5.25.2.tar.gz.sha256: +sha256 aa0ce6361d1155e43e30a86dcff00b2003d434f221c360981ced830275abc64a monit-5.25.2.tar.gz +# Locally computed +sha256 d5a4f52b1a5e1e7fe14e01a76aac8b08dc6bbea15466058f271456c97aac1ada COPYING diff --git a/bsp/buildroot/package/monit/monit.mk b/bsp/buildroot/package/monit/monit.mk index 260bb5b7..906ed842 100644 --- a/bsp/buildroot/package/monit/monit.mk +++ b/bsp/buildroot/package/monit/monit.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONIT_VERSION = 5.24.0 +MONIT_VERSION = 5.25.2 MONIT_SITE = http://mmonit.com/monit/dist MONIT_LICENSE = AGPL-3.0 with OpenSSL exception MONIT_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/monkey/Config.in b/bsp/buildroot/package/monkey/Config.in index 9054aa05..32a95ee6 100644 --- a/bsp/buildroot/package/monkey/Config.in +++ b/bsp/buildroot/package/monkey/Config.in @@ -11,11 +11,11 @@ config BR2_PACKAGE_MONKEY if BR2_PACKAGE_MONKEY -config BR2_PACKAGE_MONKEY_SHARED - bool "install shared library" +config BR2_PACKAGE_MONKEY_SSL + bool "enable SSL/TLS" + select BR2_PACKAGE_MBEDTLS help - Build Monkey as a shared library in addition to stand-alone - server + Enable build of the SSL/TLS plugin. endif diff --git a/bsp/buildroot/package/monkey/monkey.hash b/bsp/buildroot/package/monkey/monkey.hash index 6c7eada8..83fc0def 100644 --- a/bsp/buildroot/package/monkey/monkey.hash +++ b/bsp/buildroot/package/monkey/monkey.hash @@ -1,3 +1,4 @@ -# md5 from http://monkey-project.com/releases/1.5/monkey-1.5.6.tar.gz.md5, sha256 locally computed: -md5 9699e4c9ea6ce6b989907c252ae80254 monkey-1.5.6.tar.gz -sha256 7c3d845306aa74ee6effd7ab6169d16ac4e6450e564954d0d0baa2d1e9be1a22 monkey-1.5.6.tar.gz +# md5 from http://monkey-project.com/releases/1.6/monkey-1.6.9.tar.gz.md5, sha256 locally computed: +md5 c401734985a936ee07dbff5eca7d176a monkey-1.6.9.tar.gz +sha256 f1122e89cda627123286542b0a18fcaa131cbe9d4f5dd897d9455157289148fb monkey-1.6.9.tar.gz +sha256 0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594 LICENSE diff --git a/bsp/buildroot/package/monkey/monkey.mk b/bsp/buildroot/package/monkey/monkey.mk index 02c26c99..6159f552 100644 --- a/bsp/buildroot/package/monkey/monkey.mk +++ b/bsp/buildroot/package/monkey/monkey.mk @@ -4,8 +4,8 @@ # ################################################################################ -MONKEY_VERSION_MAJOR = 1.5 -MONKEY_VERSION = $(MONKEY_VERSION_MAJOR).6 +MONKEY_VERSION_MAJOR = 1.6 +MONKEY_VERSION = $(MONKEY_VERSION_MAJOR).9 MONKEY_SITE = http://monkey-project.com/releases/$(MONKEY_VERSION_MAJOR) MONKEY_LICENSE = Apache-2.0 MONKEY_LICENSE_FILES = LICENSE @@ -15,54 +15,25 @@ MONKEY_LICENSE_FILES = LICENSE # infrastructure. MONKEY_CONF_OPTS = \ - --prefix=/usr \ - --sysconfdir=/etc/monkey \ - --datadir=/var/www \ - --mandir=/usr/share/man \ - --logdir=/var/log \ - --pidfile=/var/run \ - --plugdir=/usr/lib/monkey \ - --malloc-libc + -DINSTALL_SYSCONFDIR=/etc/monkey \ + -DINSTALL_WEBROOTDIR=/var/www \ + -DWITH_SYSTEM_MALLOC=1 -# --uclib-mode is not a typo ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) -MONKEY_CONF_OPTS += --uclib-mode --no-backtrace +MONKEY_CONF_OPTS += -DWITH_UCLIB=1 -DWITH_BACKTRACE=0 endif ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -MONKEY_CONF_OPTS += --musl-mode --no-backtrace -endif - -ifeq ($(BR2_PACKAGE_MONKEY_SHARED),y) -MONKEY_CONF_OPTS += --enable-shared -MONKEY_INSTALL_STAGING = YES -else -# Even without --enable-shared, the monkey build system leaves a -# broken libmonkey.so symbolic link. -define MONKEY_REMOVE_DANGLING_SYMLINK - $(RM) -f $(TARGET_DIR)/usr/lib/libmonkey.so -endef -MONKEY_POST_INSTALL_TARGET_HOOKS += MONKEY_REMOVE_DANGLING_SYMLINK +MONKEY_CONF_OPTS += -DWITH_MUSL=1 -DWITH_BACKTRACE=0 endif ifeq ($(BR2_ENABLE_DEBUG),y) -MONKEY_CONF_OPTS += --debug +MONKEY_CONF_OPTS += -DWITH_DEBUG=1 endif -define MONKEY_CONFIGURE_CMDS - (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(MONKEY_CONF_OPTS)) -endef +ifeq ($(BR2_PACKAGE_MONKEY_SSL),y) +MONKEY_CONF_OPTS += -DWITH_PLUGINS=tls -DWITH_MBEDTLS_SHARED=1 +MONKEY_DEPENDENCIES += mbedtls +endif -define MONKEY_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -endef - -define MONKEY_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install -endef - -define MONKEY_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/mono/0004-fixing-initialization-of-have-vasprintf.patch b/bsp/buildroot/package/mono/0004-fixing-initialization-of-have-vasprintf.patch deleted file mode 100644 index 55648593..00000000 --- a/bsp/buildroot/package/mono/0004-fixing-initialization-of-have-vasprintf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1c3d615d93b20d10c2729478d5104977dd9af23f Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Wed, 5 Aug 2015 12:59:45 +0200 -Subject: [PATCH] Fixing initialization of have_vasprintf - -This patch initialize properly have_vasprintf in case vasprint function is found. -Solves multiple definition of `vasprintf' error in case vasprint is not properly detected. - -Patch is upstream: - - https://github.com/mono/mono/commit/40c171799b671718969ee28a02f92884d7fd181e - -Signed-off-by: Angelo Compagnucci ---- - eglib/configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/eglib/configure.ac b/eglib/configure.ac -index 5281419..4bf91e5 100644 ---- a/eglib/configure.ac -+++ b/eglib/configure.ac -@@ -135,6 +135,7 @@ AC_CHECK_SIZEOF(void *) - AC_CHECK_SIZEOF(long) - AC_CHECK_SIZEOF(long long) - AC_CHECK_FUNCS(strlcpy stpcpy strtok_r rewinddir vasprintf) -+AC_CHECK_FUNC(vasprintf, have_vasprintf=yes) - AC_CHECK_FUNCS(getrlimit) - - # diff --git a/bsp/buildroot/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch b/bsp/buildroot/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch deleted file mode 100644 index a3e88e73..00000000 --- a/bsp/buildroot/package/mono/0006-Remove-unit-tests-from-mono-compilation.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 26e31fc54af591bdd88d6a4a79b7fa91c57f4b0c Mon Sep 17 00:00:00 2001 -From: Angelo Compagnucci -Date: Thu, 10 Aug 2017 23:30:05 +0200 -Subject: [PATCH] Remove unit-tests from mono compilation - -This patch fixes compiling errors with unit-tests under linux. - -Signed-off-by: Angelo Compagnucci ---- - mono/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/mono/Makefile.am b/mono/Makefile.am -index 8c9c2cb..7af36ec 100644 ---- a/mono/Makefile.am -+++ b/mono/Makefile.am -@@ -34,7 +34,7 @@ monotouch-do-clean: - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$target); \ - done; - else --SUBDIRS = $(btls_dirs) arch utils cil metadata $(sgen_dirs) mini dis tests unit-tests benchmark profiler -+SUBDIRS = $(btls_dirs) arch utils cil metadata $(sgen_dirs) mini dis tests benchmark profiler - endif - endif --DIST_SUBDIRS = btls arch utils cil metadata $(sgen_dirs) mini dis tests unit-tests benchmark profiler -+DIST_SUBDIRS = btls arch utils cil metadata $(sgen_dirs) mini dis tests benchmark profiler --- -2.7.4 - diff --git a/bsp/buildroot/package/mono/Config.in b/bsp/buildroot/package/mono/Config.in index d1622370..a375a984 100644 --- a/bsp/buildroot/package/mono/Config.in +++ b/bsp/buildroot/package/mono/Config.in @@ -5,9 +5,9 @@ config BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS config BR2_PACKAGE_MONO_ARCH_SUPPORTS bool + default y if (BR2_arm || BR2_armeb || BR2_i386 || \ + BR2_powerpc || BR2_x86_64) depends on BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS - default y if (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || \ - BR2_mipsel || BR2_powerpc || BR2_x86_64) config BR2_PACKAGE_MONO bool "mono" diff --git a/bsp/buildroot/package/mono/mono.hash b/bsp/buildroot/package/mono/mono.hash index 85039502..db7ce52c 100644 --- a/bsp/buildroot/package/mono/mono.hash +++ b/bsp/buildroot/package/mono/mono.hash @@ -1,2 +1,5 @@ # sha256 locally computed -sha256 2a2f5c2a214a9980c086ac7561a5dd106f13d823a630de218eabafe1d995c5b4 mono-5.4.0.201.tar.bz2 +sha256 d4f5fa2e8188d66fbc8054f4145711e45c1faa6d070e63600efab93d1d189498 mono-5.14.0.177.tar.bz2 +sha256 3b40a54878b5ac2767a764bd082f8772ab27c03b9da9c7328c4c4935725556f7 LICENSE +sha256 fc488f3ec9f36856bea8cce5cdde1449176341ef93a3962b691970f8981799f4 mcs/COPYING +sha256 2c3c3ef532828bcd42bb3127349625a25291ff5ae7e6f8d42e0fe9b5be836a99 external/Newtonsoft.Json/Tools/7-zip/copying.txt diff --git a/bsp/buildroot/package/mono/mono.mk b/bsp/buildroot/package/mono/mono.mk index 802c1d44..62eaeaf8 100644 --- a/bsp/buildroot/package/mono/mono.mk +++ b/bsp/buildroot/package/mono/mono.mk @@ -4,11 +4,11 @@ # ################################################################################ -MONO_VERSION = 5.4.0.201 +MONO_VERSION = 5.14.0.177 MONO_SITE = http://download.mono-project.com/sources/mono MONO_SOURCE = mono-$(MONO_VERSION).tar.bz2 MONO_LICENSE = GPL-2.0 or MIT (compiler, tools), MIT (libs) or commercial -MONO_LICENSE_FILES = LICENSE mcs/COPYING eglib/COPYING \ +MONO_LICENSE_FILES = LICENSE mcs/COPYING \ external/Newtonsoft.Json/Tools/7-zip/copying.txt MONO_INSTALL_STAGING = YES @@ -17,13 +17,15 @@ MONO_INSTALL_STAGING = YES # patching configure.ac MONO_AUTORECONF = YES -# Disable managed code (mcs folder) from building -MONO_CONF_OPTS = --with-mcs-docs=no \ +MONO_COMMON_CONF_OPTS = --with-mcs-docs=no \ --with-ikvm-native=no \ - --enable-minimal=profiler,debug,aot \ - --disable-mcs-build \ + --enable-minimal=profiler,debug \ --enable-static \ - --disable-btls + --disable-btls \ + --disable-system-aot + +# Disable managed code (mcs folder) from building +MONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-mcs-build # The libraries have been built by the host-mono build. Since they are # architecture-independent, we simply copy them to the target. @@ -42,12 +44,7 @@ MONO_DEPENDENCIES += host-mono ## Mono managed -HOST_MONO_CONF_OPTS = --with-mcs-docs=no \ - --disable-libraries \ - --with-ikvm-native=no \ - --enable-minimal=profiler,debug,aot \ - --enable-static \ - --disable-btls +HOST_MONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-libraries # ensure monolite is used HOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false diff --git a/bsp/buildroot/package/monolite/monolite.hash b/bsp/buildroot/package/monolite/monolite.hash index 76f54678..cf729168 100644 --- a/bsp/buildroot/package/monolite/monolite.hash +++ b/bsp/buildroot/package/monolite/monolite.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 8c893c3eb3efb5006e19fb45a878860265c3f47fbaf2470be47612e84725d9fd monolite-linux-1050400003-latest.tar.gz +sha256 bb4b3b12b9ff04b219ad00dcea78145475d756a1c22ad84e0db978a8eee8c654 monolite-linux-1051400005-latest.tar.gz diff --git a/bsp/buildroot/package/monolite/monolite.mk b/bsp/buildroot/package/monolite/monolite.mk index 80b2af95..2e1e54a5 100644 --- a/bsp/buildroot/package/monolite/monolite.mk +++ b/bsp/buildroot/package/monolite/monolite.mk @@ -4,7 +4,7 @@ # ################################################################################ -MONOLITE_VERSION = 1050400003 +MONOLITE_VERSION = 1051400005 MONOLITE_SITE = http://download.mono-project.com/monolite MONOLITE_SOURCE = monolite-linux-$(MONOLITE_VERSION)-latest.tar.gz MONOLITE_LICENSE = LGPL-2.0 or commercial diff --git a/bsp/buildroot/package/mosh/Config.in b/bsp/buildroot/package/mosh/Config.in index da8a305a..00da41c7 100644 --- a/bsp/buildroot/package/mosh/Config.in +++ b/bsp/buildroot/package/mosh/Config.in @@ -1,7 +1,7 @@ -comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar, host and target gcc >= 4.5" +comment "mosh needs a toolchain w/ C++, threads, dynamic library, wchar, host and target gcc >= 4.8" depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || !BR2_HOST_GCC_AT_LEAST_4_5 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + || !BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS config BR2_PACKAGE_MOSH @@ -9,8 +9,8 @@ config BR2_PACKAGE_MOSH depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS depends on BR2_INSTALL_LIBSTDCPP # protobuf depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf - depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 # protobuf + depends on BR2_HOST_GCC_AT_LEAST_4_8 # protobuf + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf depends on !BR2_STATIC_LIBS # protobuf depends on BR2_USE_WCHAR select BR2_PACKAGE_PROTOBUF diff --git a/bsp/buildroot/package/mosh/mosh.mk b/bsp/buildroot/package/mosh/mosh.mk index fa6ab170..f9e33579 100644 --- a/bsp/buildroot/package/mosh/mosh.mk +++ b/bsp/buildroot/package/mosh/mosh.mk @@ -10,6 +10,9 @@ MOSH_DEPENDENCIES = zlib ncurses protobuf host-pkgconf MOSH_LICENSE = GPL-3.0+ with exception MOSH_LICENSE_FILES = COPYING COPYING.iOS +# protobuf needs c++11 (since 3.6.0) +MOSH_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + ifeq ($(BR2_PACKAGE_OPENSSL),y) MOSH_CONF_OPTS += --with-crypto-library=openssl MOSH_DEPENDENCIES += openssl diff --git a/bsp/buildroot/package/mosquitto/Config.in b/bsp/buildroot/package/mosquitto/Config.in index 1e6418a4..11b6d789 100644 --- a/bsp/buildroot/package/mosquitto/Config.in +++ b/bsp/buildroot/package/mosquitto/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_MOSQUITTO bool "mosquitto" - depends on BR2_USE_MMU # fork() - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_STATIC_LIBS # builds .so help Mosquitto is an open source message broker that implements @@ -14,7 +12,16 @@ config BR2_PACKAGE_MOSQUITTO http://mosquitto.org/ +config BR2_PACKAGE_MOSQUITTO_BROKER + bool "install the mosquitto broker" + default y + depends on BR2_USE_MMU # fork() + depends on BR2_PACKAGE_MOSQUITTO + help + Build and install the mosquitto broker onto target. + +comment "mosquitto broker needs a system with MMU" + depends on BR2_PACKAGE_MOSQUTTO && !BR2_USE_MMU + comment "mosquitto needs a toolchain w/ dynamic library" - depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/mosquitto/mosquitto.hash b/bsp/buildroot/package/mosquitto/mosquitto.hash index 96e2ae93..17a467a7 100644 --- a/bsp/buildroot/package/mosquitto/mosquitto.hash +++ b/bsp/buildroot/package/mosquitto/mosquitto.hash @@ -1,5 +1,5 @@ # Locally calculated after checking gpg signature -sha256 5fd7f3454fd6d286645d032bc07f44a1c8583cec02ef2422c9eb32e0a89a9b2f mosquitto-1.5.4.tar.gz +sha256 d4024c3388502d50be4192991e90d66dfb344376104df3f63846c9f201779955 mosquitto-1.5.7.tar.gz # License files sha256 cc77e25bafd40637b7084f04086d606f0a200051b61806f97c93405926670bc1 LICENSE.txt diff --git a/bsp/buildroot/package/mosquitto/mosquitto.mk b/bsp/buildroot/package/mosquitto/mosquitto.mk index d01811e5..d17fae5d 100644 --- a/bsp/buildroot/package/mosquitto/mosquitto.mk +++ b/bsp/buildroot/package/mosquitto/mosquitto.mk @@ -4,7 +4,7 @@ # ################################################################################ -MOSQUITTO_VERSION = 1.5.4 +MOSQUITTO_VERSION = 1.5.7 MOSQUITTO_SITE = https://mosquitto.org/files/source MOSQUITTO_LICENSE = EPL-1.0 or EDLv1.0 MOSQUITTO_LICENSE_FILES = LICENSE.txt epl-v10 edl-v10 @@ -17,13 +17,6 @@ MOSQUITTO_MAKE_OPTS = \ WITH_WRAP=no \ WITH_DOCS=no -# uses malloc_usable_size which was only added in uClibc-ng 1.0.29 -ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) -MOSQUITTO_MAKE_OPTS += WITH_MEMORY_TRACKING=no -else -MOSQUITTO_MAKE_OPTS += WITH_MEMORY_TRACKING=yes -endif - # adns uses getaddrinfo_a ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) MOSQUITTO_MAKE_OPTS += WITH_ADNS=yes @@ -74,24 +67,30 @@ endef MOSQUITTO_POST_PATCH_HOOKS += MOSQUITTO_DISABLE_CPP endif +MOSQUITTO_MAKE_DIRS = lib client +ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y) +MOSQUITTO_MAKE_DIRS += src +endif + define MOSQUITTO_BUILD_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ $(MOSQUITTO_MAKE_OPTS) endef define MOSQUITTO_INSTALL_STAGING_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install endef define MOSQUITTO_INSTALL_TARGET_CMDS - $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) DIRS="$(MOSQUITTO_MAKE_DIRS)" \ $(MOSQUITTO_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install rm -f $(TARGET_DIR)/etc/mosquitto/*.example $(INSTALL) -D -m 0644 $(@D)/mosquitto.conf \ $(TARGET_DIR)/etc/mosquitto/mosquitto.conf endef +ifeq ($(BR2_PACKAGE_MOSQUITTO_BROKER),y) define MOSQUITTO_INSTALL_INIT_SYSV $(INSTALL) -D -m 0755 package/mosquitto/S50mosquitto \ $(TARGET_DIR)/etc/init.d/S50mosquitto @@ -108,5 +107,6 @@ endef define MOSQUITTO_USERS mosquitto -1 nogroup -1 * - - - Mosquitto user endef +endif $(eval $(generic-package)) diff --git a/bsp/buildroot/package/motion/Config.in b/bsp/buildroot/package/motion/Config.in index a27e7f9f..7a2e5dbe 100644 --- a/bsp/buildroot/package/motion/Config.in +++ b/bsp/buildroot/package/motion/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_MOTION depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBMICROHTTPD help Motion is a program that monitors the video signal from cameras. It is able to detect if a significant part of diff --git a/bsp/buildroot/package/motion/motion.hash b/bsp/buildroot/package/motion/motion.hash index 5b67755e..679defa3 100644 --- a/bsp/buildroot/package/motion/motion.hash +++ b/bsp/buildroot/package/motion/motion.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 2074b935bdfe28f84c2c3233274b06908336778f303bb13530d4299c3f8aa4e2 motion-release-4.1.1.tar.gz +sha256 d97ec6ae766adfd478b6f7f9cc0da5f2fe21faa9366d98664be255714c1cf81d motion-release-4.2.1.tar.gz sha256 91df39d1816bfb17a4dda2d3d2c83b1f6f2d38d53e53e41e8f97ad5ac46a0cad COPYING diff --git a/bsp/buildroot/package/motion/motion.mk b/bsp/buildroot/package/motion/motion.mk index 0f489867..6dfc5a56 100644 --- a/bsp/buildroot/package/motion/motion.mk +++ b/bsp/buildroot/package/motion/motion.mk @@ -4,11 +4,11 @@ # ################################################################################ -MOTION_VERSION = release-4.1.1 +MOTION_VERSION = release-4.2.1 MOTION_SITE = $(call github,Motion-Project,motion,$(MOTION_VERSION)) MOTION_LICENSE = GPL-2.0 MOTION_LICENSE_FILES = COPYING -MOTION_DEPENDENCIES = host-pkgconf jpeg +MOTION_DEPENDENCIES = host-pkgconf jpeg libmicrohttpd $(TARGET_NLS_DEPENDENCIES) # From git MOTION_AUTORECONF = YES diff --git a/bsp/buildroot/package/mpd-mpc/mpd-mpc.hash b/bsp/buildroot/package/mpd-mpc/mpd-mpc.hash index 83368937..b1f262fc 100644 --- a/bsp/buildroot/package/mpd-mpc/mpd-mpc.hash +++ b/bsp/buildroot/package/mpd-mpc/mpd-mpc.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 a4337d06c85dc81a638821d30fce8a137a58d13d510be34a11c1cce95cabc547 mpc-0.28.tar.xz +sha256 62373e83a8a165b2ed43967975efecd3feee530f4557d6b861dd08aa89d52b2d mpc-0.31.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/mpd-mpc/mpd-mpc.mk b/bsp/buildroot/package/mpd-mpc/mpd-mpc.mk index 6c15c0d9..05c70ba0 100644 --- a/bsp/buildroot/package/mpd-mpc/mpd-mpc.mk +++ b/bsp/buildroot/package/mpd-mpc/mpd-mpc.mk @@ -5,12 +5,11 @@ ################################################################################ MPD_MPC_VERSION_MAJOR = 0 -MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).28 +MPD_MPC_VERSION = $(MPD_MPC_VERSION_MAJOR).31 MPD_MPC_SITE = http://www.musicpd.org/download/mpc/$(MPD_MPC_VERSION_MAJOR) MPD_MPC_SOURCE = mpc-$(MPD_MPC_VERSION).tar.xz MPD_MPC_LICENSE = GPL-2.0+ MPD_MPC_LICENSE_FILES = COPYING MPD_MPC_DEPENDENCIES = host-pkgconf libmpdclient -MPD_MPC_CONF_ENV = ac_cv_prog_cc_c99='-std=c99' -$(eval $(autotools-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/mpd/Config.in b/bsp/buildroot/package/mpd/Config.in index 31afb496..d3844391 100644 --- a/bsp/buildroot/package/mpd/Config.in +++ b/bsp/buildroot/package/mpd/Config.in @@ -7,8 +7,6 @@ menuconfig BR2_PACKAGE_MPD depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr - # ARC toolchain issue - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC select BR2_PACKAGE_BOOST select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG) @@ -174,12 +172,24 @@ config BR2_PACKAGE_MPD_TWOLAME comment "Input plugins" +config BR2_PACKAGE_MPD_CDIO_PARANOIA + bool "cdio-paranoia" + select BR2_PACKAGE_LIBCDIO_PARANOIA + help + Enable cdio-paranoia support. + config BR2_PACKAGE_MPD_CURL bool "curl" select BR2_PACKAGE_LIBCURL help Enable curl streaming (http) support. +config BR2_PACKAGE_MPD_LIBMMS + bool "mms" + select BR2_PACKAGE_LIBMMS + help + Enable MMS support. + config BR2_PACKAGE_MPD_LIBNFS bool "nfs" # libnfs -> libtirpc @@ -291,6 +301,12 @@ config BR2_PACKAGE_MPD_AVAHI_SUPPORT comment "avahi support needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS +config BR2_PACKAGE_MPD_LIBMPDCLIENT + bool "libmpdclient" + select BR2_PACKAGE_LIBMPDCLIENT + help + Enable libmpdclient support. + config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT bool "neighbor discovery support" depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP @@ -315,7 +331,7 @@ config BR2_PACKAGE_MPD_TCP config BR2_PACKAGE_MPD_UPNP bool "UPnP" select BR2_PACKAGE_EXPAT - select BR2_PACKAGE_LIBUPNP + select BR2_PACKAGE_LIBUPNP18 if !BR2_PACKAGE_LIBUPNP help Enable MPD UPnP client support. @@ -326,7 +342,6 @@ comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9" depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC comment "mpd needs a toolchain not affected by GCC bug 64735" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/mpd/S95mpd b/bsp/buildroot/package/mpd/S95mpd index 9f68b458..a258930b 100644 --- a/bsp/buildroot/package/mpd/S95mpd +++ b/bsp/buildroot/package/mpd/S95mpd @@ -1,7 +1,6 @@ #!/bin/sh # Sanity checks -test -f /usr/bin/mpd || exit 0 test -f /etc/mpd.conf || exit 0 start() { diff --git a/bsp/buildroot/package/mpd/mpd.hash b/bsp/buildroot/package/mpd/mpd.hash index 735ea700..b80bfc82 100644 --- a/bsp/buildroot/package/mpd/mpd.hash +++ b/bsp/buildroot/package/mpd/mpd.hash @@ -1,2 +1,3 @@ # Locally calculated after checking pgp signature -sha256 c69c4f67e665380ea3bbde6cff8958edc85f7cd40e7918ae5ce0a2184ca9eb40 mpd-0.20.15.tar.xz +sha256 503e5f9f237290f568ff7956ab2f9aed563594bf749f19b8fe994fb21434afea mpd-0.20.23.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/mpd/mpd.mk b/bsp/buildroot/package/mpd/mpd.mk index 48285951..f410c1fd 100644 --- a/bsp/buildroot/package/mpd/mpd.mk +++ b/bsp/buildroot/package/mpd/mpd.mk @@ -5,7 +5,7 @@ ################################################################################ MPD_VERSION_MAJOR = 0.20 -MPD_VERSION = $(MPD_VERSION_MAJOR).15 +MPD_VERSION = $(MPD_VERSION_MAJOR).23 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR) MPD_DEPENDENCIES = host-pkgconf boost @@ -59,6 +59,13 @@ else MPD_CONF_OPTS += --disable-bzip2 endif +ifeq ($(BR2_PACKAGE_MPD_CDIO_PARANOIA),y) +MPD_DEPENDENCIES += libcdio-paranoia +MPD_CONF_OPTS += --enable-cdio-paranoia +else +MPD_CONF_OPTS += --disable-cdio-paranoia +endif + ifeq ($(BR2_PACKAGE_MPD_CURL),y) MPD_DEPENDENCIES += libcurl MPD_CONF_OPTS += --enable-curl @@ -113,6 +120,20 @@ else MPD_CONF_OPTS += --disable-lame-encoder endif +ifeq ($(BR2_PACKAGE_MPD_LIBMPDCLIENT),y) +MPD_DEPENDENCIES += libmpdclient +MPD_CONF_OPTS += --enable-libmpdclient +else +MPD_CONF_OPTS += --disable-libmpdclient +endif + +ifeq ($(BR2_PACKAGE_MPD_LIBMMS),y) +MPD_DEPENDENCIES += libmms +MPD_CONF_OPTS += --enable-mms +else +MPD_CONF_OPTS += --disable-mms +endif + ifeq ($(BR2_PACKAGE_MPD_LIBNFS),y) MPD_DEPENDENCIES += libnfs MPD_CONF_OPTS += --enable-nfs @@ -236,7 +257,9 @@ MPD_CONF_OPTS += --disable-twolame-encoder endif ifeq ($(BR2_PACKAGE_MPD_UPNP),y) -MPD_DEPENDENCIES += expat libupnp +MPD_DEPENDENCIES += \ + expat \ + $(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18) MPD_CONF_OPTS += --enable-upnp else MPD_CONF_OPTS += --disable-upnp diff --git a/bsp/buildroot/package/mplayer/0001-disable-install-strip.patch b/bsp/buildroot/package/mplayer/0001-disable-install-strip.patch deleted file mode 100644 index 1bd1dc00..00000000 --- a/bsp/buildroot/package/mplayer/0001-disable-install-strip.patch +++ /dev/null @@ -1,23 +0,0 @@ -Disable stripping on installation - -Using the -s option of install does not work, as it uses the host -strip instead of the cross strip. So, get rid of it, and let Buildroot -handle the stripping. - -[Vincent: tweak patch for version 1.2] - -Signed-off-by: Thomas Petazzoni -Signed-off-by: Vicente Olivert Riera - -diff -Nrua a/configure b/configure ---- a/configure 2015-10-02 21:29:04.000000000 +0100 -+++ b/configure 2015-10-06 13:28:37.245349592 +0100 -@@ -2780,7 +2780,7 @@ - - - # Checking for CFLAGS --_install_strip="-s" -+_install_strip= - if test -z "$CFLAGS" || test "$_profile" != "" || test "$_debug" != ""; then - if test "$cc_vendor" = "intel" ; then - CFLAGS="-O2 $_march $_mcpu $_pipe -fomit-frame-pointer" diff --git a/bsp/buildroot/package/mplayer/0002-mpdemux-live555-async-interface.patch b/bsp/buildroot/package/mplayer/0002-mpdemux-live555-async-interface.patch deleted file mode 100644 index 5a62a187..00000000 --- a/bsp/buildroot/package/mplayer/0002-mpdemux-live555-async-interface.patch +++ /dev/null @@ -1,126 +0,0 @@ -From d3195ea13f4a9aae546ff996e53681349a1a3cdb Mon Sep 17 00:00:00 2001 -From: sherpya -Date: Fri, 14 Jun 2013 05:25:38 +0200 -Subject: [PATCH 25/27] mpdemux: live555 async interface - -From: https://raw.github.com/sherpya/mplayer-be/master/patches/mp/0025-mpdemux-live555-async-interface.patch - -Adjust live555 interface code for modern versions of live555. - -Signed-off-by: Peter Korsgaard ---- - libmpdemux/demux_rtp.cpp | 51 ++++++++++++++++++++++++++++++++---------------- - 2 files changed, 35 insertions(+), 22 deletions(-) - -diff --git a/libmpdemux/demux_rtp.cpp b/libmpdemux/demux_rtp.cpp -index ad7a7f1..05d06e0 100644 ---- a/libmpdemux/demux_rtp.cpp -+++ b/libmpdemux/demux_rtp.cpp -@@ -19,8 +19,6 @@ - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - --#define RTSPCLIENT_SYNCHRONOUS_INTERFACE 1 -- - extern "C" { - // on MinGW, we must include windows.h before the things it conflicts - #ifdef __MINGW32__ // with. they are each protected from -@@ -94,15 +92,6 @@ struct RTPState { - - extern "C" char* network_username; - extern "C" char* network_password; --static char* openURL_rtsp(RTSPClient* client, char const* url) { -- // If we were given a user name (and optional password), then use them: -- if (network_username != NULL) { -- char const* password = network_password == NULL ? "" : network_password; -- return client->describeWithPassword(url, network_username, password); -- } else { -- return client->describeURL(url); -- } --} - - static char* openURL_sip(SIPClient* client, char const* url) { - // If we were given a user name (and optional password), then use them: -@@ -118,6 +107,19 @@ static char* openURL_sip(SIPClient* client, char const* url) { - extern AVCodecContext *avcctx; - #endif - -+static char fWatchVariableForSyncInterface; -+static char* fResultString; -+static int fResultCode; -+ -+static void responseHandlerForSyncInterface(RTSPClient* rtspClient, int responseCode, char* responseString) { -+ // Set result values: -+ fResultCode = responseCode; -+ fResultString = responseString; -+ -+ // Signal a break from the event loop (thereby returning from the blocking command): -+ fWatchVariableForSyncInterface = ~0; -+} -+ - extern "C" int audio_id, video_id, dvdsub_id; - extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - Boolean success = False; -@@ -146,13 +148,19 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - rtsp_transport_http = demuxer->stream->streaming_ctrl->url->port; - rtsp_transport_tcp = 1; - } -- rtspClient = RTSPClient::createNew(*env, verbose, "MPlayer", rtsp_transport_http); -+ rtspClient = RTSPClient::createNew(*env, url, verbose, "MPlayer", rtsp_transport_http); - if (rtspClient == NULL) { - fprintf(stderr, "Failed to create RTSP client: %s\n", - env->getResultMsg()); - break; - } -- sdpDescription = openURL_rtsp(rtspClient, url); -+ fWatchVariableForSyncInterface = 0; -+ rtspClient->sendDescribeCommand(responseHandlerForSyncInterface); -+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); -+ if (fResultCode == 0) -+ sdpDescription = fResultString; -+ else -+ delete[] fResultString; - } else { // SIP - unsigned char desiredAudioType = 0; // PCMU (use 3 for GSM) - sipClient = SIPClient::createNew(*env, desiredAudioType, NULL, -@@ -236,8 +244,12 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - - if (rtspClient != NULL) { - // Issue a RTSP "SETUP" command on the chosen subsession: -- if (!rtspClient->setupMediaSubsession(*subsession, False, -- rtsp_transport_tcp)) break; -+ fWatchVariableForSyncInterface = 0; -+ rtspClient->sendSetupCommand(*subsession, responseHandlerForSyncInterface, False, rtsp_transport_tcp); -+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); -+ delete[] fResultString; -+ if (fResultCode != 0) break; -+ - if (!strcmp(subsession->mediumName(), "audio")) - audiofound = 1; - if (!strcmp(subsession->mediumName(), "video")) -@@ -248,7 +260,11 @@ extern "C" demuxer_t* demux_open_rtp(demuxer_t* demuxer) { - - if (rtspClient != NULL) { - // Issue a RTSP aggregate "PLAY" command on the whole session: -- if (!rtspClient->playMediaSession(*mediaSession)) break; -+ fWatchVariableForSyncInterface = 0; -+ rtspClient->sendPlayCommand(*mediaSession, responseHandlerForSyncInterface); -+ env->taskScheduler().doEventLoop(&fWatchVariableForSyncInterface); -+ delete[] fResultString; -+ if (fResultCode != 0) break; - } else if (sipClient != NULL) { - sipClient->sendACK(); // to start the stream flowing - } -@@ -637,7 +653,8 @@ static void teardownRTSPorSIPSession(RTPState* rtpState) { - MediaSession* mediaSession = rtpState->mediaSession; - if (mediaSession == NULL) return; - if (rtpState->rtspClient != NULL) { -- rtpState->rtspClient->teardownMediaSession(*mediaSession); -+ fWatchVariableForSyncInterface = 0; -+ rtpState->rtspClient->sendTeardownCommand(*mediaSession, NULL); - } else if (rtpState->sipClient != NULL) { - rtpState->sipClient->sendBYE(); - } --- -1.8.5.2 - diff --git a/bsp/buildroot/package/mplayer/0003-configure-armv8.patch b/bsp/buildroot/package/mplayer/0003-configure-armv8.patch deleted file mode 100644 index 98686433..00000000 --- a/bsp/buildroot/package/mplayer/0003-configure-armv8.patch +++ /dev/null @@ -1,43 +0,0 @@ -Fix aarch64 compile by adding HAVE_ARMV8 define - -Fixes build errors seen on the buildroot autobuilders: -http://autobuild.buildroot.net/results/5f8/5f85c32eb89aac48ae8da892d9800bd13274cd3e/build-end.log - -libavutil/aarch64/cpu.c: In function 'ff_get_cpu_flags_aarch64': -libavutil/aarch64/cpu.c:25:32: error: 'HAVE_ARMV8' undeclared (first use in this function) - return AV_CPU_FLAG_ARMV8 * HAVE_ARMV8 | - -Signed-off-by: Bernd Kuhls -(patch sent upstream: - http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-May/073496.html) - -Index: configure -=================================================================== ---- a/configure (revision 37871) -+++ b/configure (working copy) -@@ -1445,6 +1445,8 @@ - --disable-armv6) _armv6=no ;; - --enable-armv6t2) _armv6t2=yes ;; - --disable-armv6t2) _armv6t2=no ;; -+ --enable-armv8) _armv8=yes ;; -+ --disable-armv8) _armv8=no ;; - --enable-armvfp) _armvfp=yes ;; - --disable-armvfp) _armvfp=no ;; - --enable-vfpv3) vfpv3=yes ;; -@@ -3261,7 +3263,7 @@ - echores "$_iwmmxt" - fi - --cpuexts_all='ALTIVEC XOP AVX AVX2 FMA3 FMA4 MMX MMX2 MMXEXT AMD3DNOW AMD3DNOWEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 FAST_CMOV I686 FAST_CLZ ARMV5TE ARMV6 ARMV6T2 VFP VFPV3 SETEND NEON IWMMXT MMI VIS MVI' -+cpuexts_all='ALTIVEC XOP AVX AVX2 FMA3 FMA4 MMX MMX2 MMXEXT AMD3DNOW AMD3DNOWEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 FAST_CMOV I686 FAST_CLZ ARMV5TE ARMV6 ARMV6T2 ARMV8 VFP VFPV3 SETEND NEON IWMMXT MMI VIS MVI' - test "$_altivec" = yes && cpuexts="ALTIVEC $cpuexts" - test "$_mmx" = yes && cpuexts="MMX $cpuexts" - test "$_mmxext" = yes && cpuexts="MMX2 $cpuexts" -@@ -3285,6 +3287,7 @@ - test "$_armv5te" = yes && cpuexts="ARMV5TE $cpuexts" - test "$_armv6" = yes && cpuexts="ARMV6 $cpuexts" - test "$_armv6t2" = yes && cpuexts="ARMV6T2 $cpuexts" -+test "$_armv8" = yes && cpuexts="ARMV8 $cpuexts" - test "$_armvfp" = yes && cpuexts="VFP $cpuexts" - test "$vfpv3" = yes && cpuexts="VFPV3 $cpuexts" - test "$setend" = yes && cpuexts="SETEND $cpuexts" diff --git a/bsp/buildroot/package/mplayer/0004-configure-zlib.patch b/bsp/buildroot/package/mplayer/0004-configure-zlib.patch deleted file mode 100644 index 7c1b2c8e..00000000 --- a/bsp/buildroot/package/mplayer/0004-configure-zlib.patch +++ /dev/null @@ -1,30 +0,0 @@ -configure: Fix compilation when zlib is missing. - -Downloaded from upstream commit: - -$ LC_ALL=C svn log -r 37816 ------------------------------------------------------------------------- -r37816 | reimar | 2016-02-28 14:39:42 +0100 (Sun, 28 Feb 2016) | 3 lines - -configure: Fix compilation when zlib is missing. - -APNG and a few other decoders also cannot be enabled without it. ------------------------------------------------------------------------- - -Signed-off-by: Bernd Kuhls - -Index: configure -=================================================================== ---- a/configure (revision 37795) -+++ b/configure (revision 37816) -@@ -6464,8 +6464,8 @@ - mplayer_encoders="$mplayer_encoders PNG_ENCODER" - else - def_zlib='#define CONFIG_ZLIB 0' -- libavdecoders=$(filter_out_component decoder 'FLASHSV FLASHSV2 PNG ZMBV ZLIB DXA EXR G2M TSCC ZEROCODEC') -- libavencoders=$(filter_out_component encoder 'FLASHSV FLASHSV2 PNG ZMBV ZLIB') -+ libavdecoders=$(filter_out_component decoder 'APNG FLASHSV FLASHSV2 PNG ZMBV ZLIB DXA EXR G2M RSCC SCREENPRESSO TDSC TSCC ZEROCODEC') -+ libavencoders=$(filter_out_component encoder 'APNG FLASHSV FLASHSV2 PNG ZMBV ZLIB') - fi - echores "$_zlib" - diff --git a/bsp/buildroot/package/mplayer/0005-tremor-ogg.patch b/bsp/buildroot/package/mplayer/0005-tremor-ogg.patch deleted file mode 100644 index b4d65052..00000000 --- a/bsp/buildroot/package/mplayer/0005-tremor-ogg.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix static linking with tremor & libogg - -The order of the libraries needs to be changed to fix a bug during -static linking caught by buildroot autobuilders: - -http://autobuild.buildroot.net/results/bc9/bc98fa585399b53ea181dbaf392b93424145911d/ - -/home/test/autobuild/instance-3/output/host/usr/powerpc-buildroot-linux-uclibc/sysroot/usr/lib/libvorbisidec.a(synthesis.o): In function `_vorbis_synthesis1': -synthesis.c:(.text+0x90): undefined reference to `oggpack_readinit' -synthesis.c:(.text+0x9c): undefined reference to `oggpack_read' -[...] - -Signed-off-by: Bernd Kuhls -(patch sent upstream: - http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-July/073501.html) - -Index: configure -=================================================================== ---- a/configure (revision 37873) -+++ b/configure (working copy) -@@ -6629,7 +6629,7 @@ - def_tremor='#define CONFIG_TREMOR 1' - codecmodules="tremor $codecmodules" - res_comment="integer libvorbis" -- extra_ldflags="$extra_ldflags -logg -lvorbisidec" -+ extra_ldflags="$extra_ldflags -lvorbisidec -logg" - elif test "$_libvorbis" = yes ; then - _vorbis=yes - def_vorbis='#define CONFIG_OGGVORBIS 1' diff --git a/bsp/buildroot/package/mplayer/0006-musl-ldt.patch b/bsp/buildroot/package/mplayer/0006-musl-ldt.patch deleted file mode 100644 index 8165f6f5..00000000 --- a/bsp/buildroot/package/mplayer/0006-musl-ldt.patch +++ /dev/null @@ -1,22 +0,0 @@ -Fixes musl build error - -loader/ldt_keeper.o: In function `Setup_LDT_Keeper': -ldt_keeper.c:(.text+0xab): undefined reference to `modify_ldt' - -Downloaded from -https://github.com/dimkr/rlsd2/blob/master/rules/mplayer/musl.patch - -Signed-off-by: Bernd Kuhls - -diff -rup MPlayer-1.1.1-orig/loader/ldt_keeper.c MPlayer-1.1.1/loader/ldt_keeper.c ---- MPlayer-1.1.1-orig/loader/ldt_keeper.c 2015-04-23 15:07:09.580805888 +0300 -+++ MPlayer-1.1.1/loader/ldt_keeper.c 2015-04-23 15:08:07.736807270 +0300 -@@ -47,7 +47,7 @@ - #if defined(__GLIBC__) && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 0)) - _syscall3( int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount ); - #else --int modify_ldt(int func, void *ptr, unsigned long bytecount); -+#define modify_ldt(func, ptr, bytecount) syscall(__NR_modify_ldt, func, ptr, bytecount) - #endif - #else - #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) diff --git a/bsp/buildroot/package/mplayer/0007-fixmmx.patch b/bsp/buildroot/package/mplayer/0007-fixmmx.patch deleted file mode 100644 index 9634a3b6..00000000 --- a/bsp/buildroot/package/mplayer/0007-fixmmx.patch +++ /dev/null @@ -1,77 +0,0 @@ -fix compilation failure with MMX - -Fixes -libmpcodecs/vf_fspp.c: In function 'column_fidct_c': -libmpcodecs/vf_fspp.c:750:5: error: unknown type name 'int_simd16_t' -libmpcodecs/vf_fspp.c:751:5: error: unknown type name 'int_simd16_t' -libmpcodecs/vf_fspp.c:752:5: error: unknown type name 'int_simd16_t' -libmpcodecs/vf_fspp.c:753:5: error: unknown type name 'int_simd16_t' -libmpcodecs/vf_fspp.c:789:18: error: 'FIX_0_707106781' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:789:18: note: each undeclared identifier is reported only once for each function it appears in -libmpcodecs/vf_fspp.c:804:21: error: 'FIX_1_414213562_A' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:817:18: error: 'FIX_0_382683433' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:818:18: error: 'FIX_0_541196100' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:819:18: error: 'FIX_1_306562965' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:844:21: error: 'FIX_1_414213562' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:845:21: error: 'FIX_1_847759065' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:846:21: error: 'FIX_1_082392200' undeclared (first use in this function) -libmpcodecs/vf_fspp.c:847:21: error: 'FIX_2_613125930' undeclared (first use in this function) - -found using this defconfig after fixing the original bug: -http://autobuild.buildroot.net/results/642/6422adeef19ec547c7bc3f8ad3b0d51702015240/ - -Downloaded from upstream mailinglist: -http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-May/073488.html - -Signed-off-by: Bernd Kuhls - -diff -uNr MPlayer-1.3.0.org/libmpcodecs/vf_fspp.c MPlayer-1.3.0/libmpcodecs/vf_fspp.c ---- MPlayer-1.3.0.org/libmpcodecs/vf_fspp.c 2015-10-17 21:44:31.000000000 +0200 -+++ MPlayer-1.3.0/libmpcodecs/vf_fspp.c 2017-04-10 21:26:57.771819064 +0200 -@@ -173,7 +173,6 @@ - #define store_slice_s store_slice_c - #define store_slice2_s store_slice2_c - #define mul_thrmat_s mul_thrmat_c --#define column_fidct_s column_fidct_c - #define row_idct_s row_idct_c - #define row_fdct_s row_fdct_c - -@@ -393,7 +392,6 @@ - ); - } - --static void column_fidct_mmx(int16_t* thr_adr, int16_t *data, int16_t *output, int cnt); - static void row_idct_mmx(int16_t* workspace, - int16_t* output_adr, int output_stride, int cnt); - static void row_fdct_mmx(int16_t *data, const uint8_t *pixels, int line_size, int cnt); -@@ -401,11 +399,18 @@ - #define store_slice_s store_slice_mmx - #define store_slice2_s store_slice2_mmx - #define mul_thrmat_s mul_thrmat_mmx --#define column_fidct_s column_fidct_mmx - #define row_idct_s row_idct_mmx - #define row_fdct_s row_fdct_mmx - #endif // HAVE_MMX_INLINE - -+#if !HAVE_MMXEXT_INLINE -+static void column_fidct_c(int16_t* thr_adr, int16_t *data, int16_t *output, int cnt); -+#define column_fidct_s column_fidct_c -+#else -+static void column_fidct_mmx(int16_t* thr_adr, int16_t *data, int16_t *output, int cnt); -+#define column_fidct_s column_fidct_mmx -+#endif -+ - static void filter(struct vf_priv_s *p, uint8_t *dst, uint8_t *src, - int dst_stride, int src_stride, - int width, int height, -@@ -728,7 +733,9 @@ - DECLARE_ASM_CONST(8, uint64_t, MM_DESCALE_RND)=C64(4); - DECLARE_ASM_CONST(8, uint64_t, MM_2)=C64(2); - --#else /* !HAVE_MMXEXT_INLINE */ -+#endif /* !HAVE_MMX_INLINE */ -+ -+#if !HAVE_MMX_INLINE || !HAVE_MMXEXT_INLINE - - typedef int32_t int_simd16_t; - static const int16_t FIX_0_382683433=FIX(0.382683433, 14); diff --git a/bsp/buildroot/package/mplayer/Config.in b/bsp/buildroot/package/mplayer/Config.in deleted file mode 100644 index 15c903ae..00000000 --- a/bsp/buildroot/package/mplayer/Config.in +++ /dev/null @@ -1,42 +0,0 @@ -config BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS - bool - default y - # Those architectures are not supported by MPlayer - depends on !(BR2_bfin || BR2_sh2a || BR2_sh4a || BR2_sh4aeb \ - || BR2_m68k || BR2_microblaze || BR2_nios2 || BR2_or1k) - # Broken support for = 4.5" depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 depends on !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC diff --git a/bsp/buildroot/package/mpv/mpv.mk b/bsp/buildroot/package/mpv/mpv.mk index f38a6b91..3ab26737 100644 --- a/bsp/buildroot/package/mpv/mpv.mk +++ b/bsp/buildroot/package/mpv/mpv.mk @@ -20,7 +20,6 @@ MPV_CONF_OPTS = \ --prefix=/usr \ --disable-android \ --disable-caca \ - --disable-cdda \ --disable-cocoa \ --disable-coreaudio \ --disable-cuda-hwaccel \ @@ -99,6 +98,14 @@ else MPV_CONF_OPTS += --disable-libbluray endif +# libcdio-paranoia +ifeq ($(BR2_PACKAGE_LIBCDIO_PARANOIA),y) +MPV_CONF_OPTS += --enable-cdda +MPV_DEPENDENCIES += libcdio-paranoia +else +MPV_CONF_OPTS += --disable-cdda +endif + # libdvdnav ifeq ($(BR2_PACKAGE_LIBDVDNAV),y) MPV_CONF_OPTS += --enable-dvdnav @@ -125,7 +132,7 @@ endif # LUA support, only for lua51/lua52/luajit # This enables the controller (OSD) together with libass -ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUA_5_2)$(BR2_PACKAGE_LUAJIT),y) +ifeq ($(BR2_PACKAGE_LUA_5_1)$(BR2_PACKAGE_LUAJIT),y) MPV_CONF_OPTS += --enable-lua MPV_DEPENDENCIES += luainterpreter else diff --git a/bsp/buildroot/package/msgpack/msgpack.hash b/bsp/buildroot/package/msgpack/msgpack.hash index f1033ade..df4e54b1 100644 --- a/bsp/buildroot/package/msgpack/msgpack.hash +++ b/bsp/buildroot/package/msgpack/msgpack.hash @@ -1,2 +1,4 @@ # Locally computed: -sha256 9c87f80fc651b900772deaef0ab154b63160c74d292529b5be6d06d6485d4640 msgpack-2.1.5.tar.gz +sha256 bda49f996a73d2c6080ff0523e7b535917cd28c8a79c3a5da54fc29332d61d1e msgpack-3.1.1.tar.gz +sha256 664550b43996452a5a2c7471bb0ff77185a58c69ccafa60f983dc4c162e1ee22 COPYING +sha256 c9bff75738922193e67fa726fa225535870d2aa1059f91452c411736284ad566 LICENSE_1_0.txt diff --git a/bsp/buildroot/package/msgpack/msgpack.mk b/bsp/buildroot/package/msgpack/msgpack.mk index 38df8f53..781e67e3 100644 --- a/bsp/buildroot/package/msgpack/msgpack.mk +++ b/bsp/buildroot/package/msgpack/msgpack.mk @@ -4,12 +4,12 @@ # ################################################################################ -MSGPACK_VERSION = 2.1.5 +MSGPACK_VERSION = 3.1.1 MSGPACK_SITE = $(call github,msgpack,msgpack-c,cpp-$(MSGPACK_VERSION)) MSGPACK_LICENSE = BSL-1.0 MSGPACK_LICENSE_FILES = COPYING LICENSE_1_0.txt MSGPACK_INSTALL_STAGING = YES -MSGPACK_CONF_OPTS = -DMSGPACK_BUILD_EXAMPLES=OFF +MSGPACK_CONF_OPTS = -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF ifeq ($(BR2_STATIC_LIBS),y) MSGPACK_CONF_OPTS += -DMSGPACK_ENABLE_SHARED=OFF diff --git a/bsp/buildroot/package/msmtp/Config.in b/bsp/buildroot/package/msmtp/Config.in index 46bb1985..c83525d5 100644 --- a/bsp/buildroot/package/msmtp/Config.in +++ b/bsp/buildroot/package/msmtp/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_MSMTP mail to an SMTP server (for example at a free mail provider) which takes care of further delivery. - http://msmtp.sourceforge.net/ + https://marlam.de/msmtp/ diff --git a/bsp/buildroot/package/msmtp/msmtp.hash b/bsp/buildroot/package/msmtp/msmtp.hash index 10d6cea6..f966e5d6 100644 --- a/bsp/buildroot/package/msmtp/msmtp.hash +++ b/bsp/buildroot/package/msmtp/msmtp.hash @@ -1,6 +1,6 @@ -# From http://sourceforge.net/projects/msmtp/files/msmtp/1.6.6/ -md5 82b0520b57db4b2cf05333d11fb5974d msmtp-1.6.6.tar.xz -sha1 f997f40dfb3f882df837cfd9a63bd4d271dcdc41 msmtp-1.6.6.tar.xz # Locally calculated after checking signature -# http://downloads.sourceforge.net/project/msmtp/msmtp/1.6.6/msmtp-1.6.6.tar.xz.sig -sha256 da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e msmtp-1.6.6.tar.xz +# https://marlam.de/msmtp/releases/msmtp-1.8.0.tar.xz.sig +sha256 bd730cbf000d1b8382849ea21d569a387e63f936be00dc07c569f67915e53ccd msmtp-1.8.0.tar.xz + +# Hash for license file: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/msmtp/msmtp.mk b/bsp/buildroot/package/msmtp/msmtp.mk index a1bd9e14..079c7c23 100644 --- a/bsp/buildroot/package/msmtp/msmtp.mk +++ b/bsp/buildroot/package/msmtp/msmtp.mk @@ -4,17 +4,35 @@ # ################################################################################ -MSMTP_VERSION = 1.6.6 -MSMTP_SITE = http://downloads.sourceforge.net/project/msmtp/msmtp/$(MSMTP_VERSION) +MSMTP_VERSION = 1.8.0 +MSMTP_SITE = https://marlam.de/msmtp/releases MSMTP_SOURCE = msmtp-$(MSMTP_VERSION).tar.xz MSMTP_DEPENDENCIES = host-pkgconf -MSMTP_CONF_OPTS = \ - --without-libidn \ - --disable-gai-idn \ - --without-libgsasl +MSMTP_CONF_OPTS = --disable-gai-idn MSMTP_LICENSE = GPL-3.0+ MSMTP_LICENSE_FILES = COPYING +# msmtpd needs fork +ifeq ($(BR2_USE_MMU),y) +MSMTP_CONF_OPTS += --with-msmtpd +else +MSMTP_CONF_OPTS += --without-msmtpd +endif + +ifeq ($(BR2_PACKAGE_LIBGSASL),y) +MSMTP_CONF_OPTS += --with-libgsasl +MSMTP_DEPENDENCIES += libgsasl +else +MSMTP_CONF_OPTS += --without-libgsasl +endif + +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +MSMTP_CONF_OPTS += --with-libidn +MSMTP_DEPENDENCIES += libidn2 +else +MSMTP_CONF_OPTS += --without-libidn +endif + ifeq ($(BR2_PACKAGE_LIBSECRET),y) MSMTP_CONF_OPTS += --with-libsecret MSMTP_DEPENDENCIES += libsecret @@ -22,18 +40,18 @@ else MSMTP_CONF_OPTS += --without-libsecret endif -ifeq ($(BR2_PACKAGE_OPENSSL),y) -MSMTP_CONF_OPTS += --with-ssl=openssl +ifeq ($(BR2_PACKAGE_GNUTLS),y) +MSMTP_CONF_OPTS += --with-tls=gnutls +MSMTP_DEPENDENCIES += gnutls +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +MSMTP_CONF_OPTS += --with-tls=openssl MSMTP_DEPENDENCIES += openssl ifeq ($(BR2_STATIC_LIBS),y) # openssl uses zlib, so we need to explicitly link with it when static MSMTP_CONF_ENV += LIBS=-lz endif -else ifeq ($(BR2_PACKAGE_GNUTLS),y) -MSMTP_CONF_OPTS += --with-ssl=gnutls -MSMTP_DEPENDENCIES += gnutls else -MSMTP_CONF_OPTS += --with-ssl=no +MSMTP_CONF_OPTS += --with-tls=no endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/mtd/mtd.mk b/bsp/buildroot/package/mtd/mtd.mk index 83bd6a6a..13e501fc 100644 --- a/bsp/buildroot/package/mtd/mtd.mk +++ b/bsp/buildroot/package/mtd/mtd.mk @@ -31,10 +31,6 @@ else MTD_CONF_OPTS += --disable-tests --disable-install-tests endif -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -MTD_DEPENDENCIES += busybox -endif - # If extended attributes are required, the acl package must # also be enabled which will also include the attr package. ifeq ($(BR2_PACKAGE_ACL),y) diff --git a/bsp/buildroot/package/multicat/0001-Fix-missing-pthread.patch b/bsp/buildroot/package/multicat/0001-Fix-missing-pthread.patch deleted file mode 100644 index 1ad2c987..00000000 --- a/bsp/buildroot/package/multicat/0001-Fix-missing-pthread.patch +++ /dev/null @@ -1,20 +0,0 @@ -Makefile: link with pthread - -Otherwise building multicat in a static context fails: - aggregartp.c:381: undefined reference to `pthread_self' - -Signed-off-by: Jörg Krause -Sent upstream: https://mailman.videolan.org/pipermail/multicat-devel/2016-March/000125.html - -diff -purN multicat-2.1.orig/Makefile multicat-2.1/Makefile ---- multicat-2.1.orig/Makefile 2015-10-05 18:36:29.000000000 +0200 -+++ multicat-2.1/Makefile 2016-03-19 21:47:59.467745127 +0100 -@@ -4,7 +4,7 @@ VERSION = 2.1 - CFLAGS += -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE - CFLAGS += -g - # Comment out the following line for Mac OS X build --LDLIBS += -lrt -+LDLIBS += -lrt -pthread - - OBJ_MULTICAT = multicat.o util.o - OBJ_INGESTS = ingests.o util.o diff --git a/bsp/buildroot/package/multicat/0002-Fix-musl-build.patch b/bsp/buildroot/package/multicat/0002-Fix-musl-build.patch deleted file mode 100644 index 07e15a35..00000000 --- a/bsp/buildroot/package/multicat/0002-Fix-musl-build.patch +++ /dev/null @@ -1,47 +0,0 @@ -Fix musl build - -Defining _GNU_SOURCE is required to get proper member names in `struct udphdr` -when building against musl. Build error: - - util.c: In function 'RawFillHeaders': - util.c:481:9: error: 'struct udphdr' has no member named 'source' - udph->source = htons(portsrc); - ^ - util.c:482:9: error: 'struct udphdr' has no member named 'dest' - udph->dest = htons(portdst); - ^ - util.c:483:9: error: 'struct udphdr' has no member named 'len' - udph->len = htons(sizeof(struct udphdr) + len); - ^ - util.c:484:9: error: 'struct udphdr' has no member named 'check' - udph->check = 0; - -Including in needed for mode_t, otherwise musl build fails: - util.h:91:1: error: unknown type name 'mode_t' - -Signed-off-by: Jörg Krause -Sent upstream: https://mailman.videolan.org/pipermail/multicat-devel/2016-March/000126.html - -diff -purN multicat-2.1.orig/util.c multicat-2.1/util.c ---- multicat-2.1.orig/util.c 2015-07-17 18:03:17.000000000 +0200 -+++ multicat-2.1/util.c 2016-03-19 22:21:01.110178772 +0100 -@@ -21,6 +21,8 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. - *****************************************************************************/ - -+#define _GNU_SOURCE -+ - #include - #include - #include -diff -purN multicat-2.1.orig/util.h multicat-2.1/util.h ---- multicat-2.1.orig/util.h 2015-07-15 22:47:39.000000000 +0200 -+++ multicat-2.1/util.h 2016-03-19 22:21:58.649834990 +0100 -@@ -21,6 +21,7 @@ - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. - *****************************************************************************/ - -+#include - #include - #include - diff --git a/bsp/buildroot/package/multicat/0003-Fix-have-clock-nanosleep-with-uclibc.patch b/bsp/buildroot/package/multicat/0003-Fix-have-clock-nanosleep-with-uclibc.patch deleted file mode 100644 index 108fb0b8..00000000 --- a/bsp/buildroot/package/multicat/0003-Fix-have-clock-nanosleep-with-uclibc.patch +++ /dev/null @@ -1,24 +0,0 @@ -uClibc may be configured without support for clock_nanosleep(). The function is -only available with uClibc if the C library is build with NPTL support (sets -__UCLIBC_HAS_THREADS_NATIVE__) and __UCLIBC_HAS_ADVANCED_REALTIME__ set. - -Upstream status: Pending -https://mailman.videolan.org/pipermail/multicat-devel/2016-March/000129.html - -Signed-off-by: Jörg Krause - -diff -purN multicat-2.1.orig/util.h multicat-2.1/util.h ---- multicat-2.1.orig/util.h 2015-07-15 22:47:39.000000000 +0200 -+++ multicat-2.1/util.h 2016-03-20 18:13:51.899780405 +0100 -@@ -26,7 +26,10 @@ - - #ifdef __APPLE__ - #define POLLRDHUP 0 --#else -+/* uClibc may not have clock_nanosleep() available */ -+#elif !defined (__UCLIBC__) || \ -+ defined (__UCLIBC__) && defined (__UCLIBC_HAS_THREADS_NATIVE__) \ -+ && defined (__UCLIBC_HAS_ADVANCED_REALTIME__) - #define HAVE_CLOCK_NANOSLEEP - #endif - diff --git a/bsp/buildroot/package/multicat/multicat.hash b/bsp/buildroot/package/multicat/multicat.hash index 38cf9d7d..9cf84bc5 100644 --- a/bsp/buildroot/package/multicat/multicat.hash +++ b/bsp/buildroot/package/multicat/multicat.hash @@ -1,4 +1,6 @@ -# from https://get.videolan.org/multicat/2.1/multicat-2.1.tar.bz2.md5 -md5 2e3ecd8dee64f5bd32a61733d4cc2226 multicat-2.1.tar.bz2 +# From https://get.videolan.org/multicat/2.3/multicat-2.3.tar.bz2.md5 +md5 cf4e4bc07d72eda110050d755db14620 multicat-2.3.tar.bz2 +# From https://get.videolan.org/multicat/2.3/multicat-2.3.tar.bz2.sha256 +sha256 2be162e9e8b2e6f6aa7686431f102db6c72c8288bd82dbc67ffed631f4a3361e multicat-2.3.tar.bz2 # locally calculated -sha256 5eabe8d9a3dde452b2d348683cc7da213680551a9d4059c356f7319c6aa9b3d1 multicat-2.1.tar.bz2 +sha256 94f68aec169fb6c9937eade757251714d38a56812be5dbfc3973914a71ad8d2d COPYING diff --git a/bsp/buildroot/package/multicat/multicat.mk b/bsp/buildroot/package/multicat/multicat.mk index 6f882667..1d31ec86 100644 --- a/bsp/buildroot/package/multicat/multicat.mk +++ b/bsp/buildroot/package/multicat/multicat.mk @@ -4,7 +4,7 @@ # ################################################################################ -MULTICAT_VERSION = 2.1 +MULTICAT_VERSION = 2.3 MULTICAT_SOURCE = multicat-$(MULTICAT_VERSION).tar.bz2 MULTICAT_SITE = https://get.videolan.org/multicat/$(MULTICAT_VERSION) MULTICAT_LICENSE = GPL-2.0+ @@ -12,7 +12,9 @@ MULTICAT_LICENSE_FILES = COPYING MULTICAT_DEPENDENCIES = bitstream -MULTICAT_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) +# Makefile does not use LDFLAGS. Use LDLIBS for that instead. +MULTICAT_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \ + LDLIBS="$(TARGET_LDFLAGS)" define MULTICAT_BUILD_CMDS $(MULTICAT_MAKE_ENV) $(MAKE) -C $(@D) diff --git a/bsp/buildroot/package/musl-compat-headers/musl-compat-headers.mk b/bsp/buildroot/package/musl-compat-headers/musl-compat-headers.mk index 91f5074e..1cfa8948 100644 --- a/bsp/buildroot/package/musl-compat-headers/musl-compat-headers.mk +++ b/bsp/buildroot/package/musl-compat-headers/musl-compat-headers.mk @@ -20,7 +20,7 @@ MUSL_COMPAT_HEADERS_INSTALL_STAGING = YES # Copying both headers so legal-info finds them (they are _LICENSE_FILES) define MUSL_COMPAT_HEADERS_EXTRACT_CMDS - $(INSTALL) -m 0644 -D $(DL_DIR)/$(notdir $(MUSL_COMPAT_HEADERS_QUEUE_H)) $(@D)/queue.h + $(INSTALL) -m 0644 -D $(MUSL_COMPAT_HEADERS_DL_DIR)/$(notdir $(MUSL_COMPAT_HEADERS_QUEUE_H)) $(@D)/queue.h $(INSTALL) -m 0644 -D $(MUSL_COMPAT_HEADERS_PKGDIR)/cdefs.h $(@D)/cdefs.h endef diff --git a/bsp/buildroot/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch b/bsp/buildroot/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch deleted file mode 100644 index cbfc9b66..00000000 --- a/bsp/buildroot/package/musl/0002-add-additional-uapi-guards-for-Linux-kernel-header-f.patch +++ /dev/null @@ -1,69 +0,0 @@ -From b583c5d3b4cc2c54c68eef5eb7855ecfacee8bfc Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sat, 6 Jan 2018 23:32:52 +0100 -Subject: [PATCH] add additional uapi guards for Linux kernel header files - -With Linux kernel 4.16 it will be possible to guard more parts of the -Linux header files from a libc. Make use of this in musl to guard all -the structures and other definitions from the Linux header files which -are also defined by the header files provided by musl. This will make -it possible to compile source files which include both the libc -headers and the kernel userspace headers. - -This extends the definitions done in commit 04983f227238 ("make -netinet/in.h suppress clashing definitions from kernel headers") - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit b583c5d3b4cc - - include/net/if.h | 7 +++++++ - include/netinet/if_ether.h | 1 + - include/sys/xattr.h | 2 ++ - 3 files changed, 10 insertions(+) - -diff --git a/include/net/if.h b/include/net/if.h -index 2f2fcc10e484..774cbff0b506 100644 ---- a/include/net/if.h -+++ b/include/net/if.h -@@ -125,6 +125,13 @@ struct ifconf { - #define ifc_req ifc_ifcu.ifcu_req - #define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) - -+#define __UAPI_DEF_IF_IFCONF 0 -+#define __UAPI_DEF_IF_IFMAP 0 -+#define __UAPI_DEF_IF_IFNAMSIZ 0 -+#define __UAPI_DEF_IF_IFREQ 0 -+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 -+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0 -+ - #endif - - #ifdef __cplusplus -diff --git a/include/netinet/if_ether.h b/include/netinet/if_ether.h -index d9a131aa2d1d..97134d75b480 100644 ---- a/include/netinet/if_ether.h -+++ b/include/netinet/if_ether.h -@@ -133,5 +133,6 @@ do { \ - (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \ - } while(0) - -+#define __UAPI_DEF_ETHHDR 0 - - #endif -diff --git a/include/sys/xattr.h b/include/sys/xattr.h -index 6479fcc62e5f..eeeaafc44f09 100644 ---- a/include/sys/xattr.h -+++ b/include/sys/xattr.h -@@ -24,6 +24,8 @@ int removexattr(const char *, const char *); - int lremovexattr(const char *, const char *); - int fremovexattr(int, const char *); - -+#define __UAPI_DEF_XATTR 0 -+ - #ifdef __cplusplus - } - #endif --- -2.15.1 - diff --git a/bsp/buildroot/package/musl/musl.hash b/bsp/buildroot/package/musl/musl.hash index 68e6aab1..91214246 100644 --- a/bsp/buildroot/package/musl/musl.hash +++ b/bsp/buildroot/package/musl/musl.hash @@ -1,3 +1,4 @@ # Locally calculated after checking pgp signature from -# http://www.musl-libc.org/releases/musl-1.1.18.tar.gz.asc -sha256 d017ee5d01aec0c522a1330fdff06b1e428cb409e1db819cc4935d5da4a5a118 musl-1.1.18.tar.gz +# http://www.musl-libc.org/releases/musl-1.1.21.tar.gz.asc +sha256 c742b66f6f49c9e5f52f64d8b79fecb5a0f6e0203fca176c70ca20f6be285f44 musl-1.1.21.tar.gz +sha256 a3ae1b9fc5d4938f5734734383b9813d27a5652df23010c6f9d4c5419b239a41 COPYRIGHT diff --git a/bsp/buildroot/package/musl/musl.mk b/bsp/buildroot/package/musl/musl.mk index b1aace04..90c75392 100644 --- a/bsp/buildroot/package/musl/musl.mk +++ b/bsp/buildroot/package/musl/musl.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUSL_VERSION = 1.1.18 +MUSL_VERSION = 1.1.21 MUSL_SITE = http://www.musl-libc.org/releases MUSL_LICENSE = MIT MUSL_LICENSE_FILES = COPYRIGHT diff --git a/bsp/buildroot/package/mutt/mutt.hash b/bsp/buildroot/package/mutt/mutt.hash index f6dc472d..476773c2 100644 --- a/bsp/buildroot/package/mutt/mutt.hash +++ b/bsp/buildroot/package/mutt/mutt.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9b81746d67ffeca5ea44f60893b70dc93c86d4bc10187d4dd360185e4d42ed42 mutt-1.8.3.tar.gz +sha256 da5cd4c39f228914d3933d8cf3a017c8271fdd9b9d81c6e4fc42ad22e1a28723 mutt-1.11.2.tar.gz +sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL diff --git a/bsp/buildroot/package/mutt/mutt.mk b/bsp/buildroot/package/mutt/mutt.mk index b0bf5a7b..a336839c 100644 --- a/bsp/buildroot/package/mutt/mutt.mk +++ b/bsp/buildroot/package/mutt/mutt.mk @@ -4,7 +4,7 @@ # ################################################################################ -MUTT_VERSION = 1.8.3 +MUTT_VERSION = 1.11.2 MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads MUTT_LICENSE = GPL-2.0+ MUTT_LICENSE_FILES = GPL @@ -16,11 +16,15 @@ MUTT_DEPENDENCIES += libiconv MUTT_CONF_OPTS += --enable-iconv endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) +# Both options can't be selected at the same time so prefer libidn2 +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +MUTT_DEPENDENCIES += libidn2 +MUTT_CONF_OPTS += --with-idn2 --without-idn +else ifeq ($(BR2_PACKAGE_LIBIDN),y) MUTT_DEPENDENCIES += libidn -MUTT_CONF_OPTS += --with-idn +MUTT_CONF_OPTS += --with-idn --without-idn2 else -MUTT_CONF_OPTS += --without-idn +MUTT_CONF_OPTS += --without-idn --without-idn2 endif ifeq ($(BR2_PACKAGE_MUTT_IMAP),y) diff --git a/bsp/buildroot/package/mysql/Config.in b/bsp/buildroot/package/mysql/Config.in index b4e49e47..30a82cc9 100644 --- a/bsp/buildroot/package/mysql/Config.in +++ b/bsp/buildroot/package/mysql/Config.in @@ -16,8 +16,8 @@ choice config BR2_PACKAGE_MARIADB bool "mariadb" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on !BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 select BR2_PACKAGE_LIBAIO select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_NCURSES @@ -32,8 +32,8 @@ config BR2_PACKAGE_MARIADB http://www.mariadb.org/ comment "mariadb needs a toolchain w/ dynamic library" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 config BR2_PACKAGE_ORACLE_MYSQL bool "oracle mysql" diff --git a/bsp/buildroot/package/nano/nano.hash b/bsp/buildroot/package/nano/nano.hash index c09f0313..eae648d1 100644 --- a/bsp/buildroot/package/nano/nano.hash +++ b/bsp/buildroot/package/nano/nano.hash @@ -1,3 +1,5 @@ # Locally calculated after checking pgp signature -sha256 d2d30c39caef53aba1ec1b4baff4186d4496f35d2411b0848242a5f2e27e129e nano-2.9.0.tar.xz +# https://www.nano-editor.org/dist/v3/nano-3.2.tar.xz.asc +# using key BFD009061E535052AD0DF2150D28D4D2A0ACE884 +sha256 d12773af3589994b2e4982c5792b07c6240da5b86c5aef2103ab13b401fe6349 nano-3.2.tar.xz sha256 fc82ca8b6fdb18d4e3e85cfd8ab58d1bcd3f1b29abe782895abd91d64763f8e7 COPYING diff --git a/bsp/buildroot/package/nano/nano.mk b/bsp/buildroot/package/nano/nano.mk index 458174a4..206d210a 100644 --- a/bsp/buildroot/package/nano/nano.mk +++ b/bsp/buildroot/package/nano/nano.mk @@ -4,8 +4,8 @@ # ################################################################################ -NANO_VERSION_MAJOR = 2.9 -NANO_VERSION = $(NANO_VERSION_MAJOR).0 +NANO_VERSION_MAJOR = 3 +NANO_VERSION = $(NANO_VERSION_MAJOR).2 NANO_SITE = https://www.nano-editor.org/dist/v$(NANO_VERSION_MAJOR) NANO_SOURCE = nano-$(NANO_VERSION).tar.xz NANO_LICENSE = GPL-3.0+ diff --git a/bsp/buildroot/package/ncdu/ncdu.hash b/bsp/buildroot/package/ncdu/ncdu.hash index 8a0c1d16..7326a159 100644 --- a/bsp/buildroot/package/ncdu/ncdu.hash +++ b/bsp/buildroot/package/ncdu/ncdu.hash @@ -1,3 +1,6 @@ -# From http://dev.yorhel.nl/download/ncdu-1.12.tar.gz.{md5,sha1} -md5 7365ac46c420bc511621216b1747984f ncdu-1.12.tar.gz -sha1 b79b1c44784f334dca74d89a49f49274f14cfeef ncdu-1.12.tar.gz +# From http://dev.yorhel.nl/download/ncdu-1.13.tar.gz.{md5,sha1} +md5 67239592ac41f42290f52ab89ff198be ncdu-1.13.tar.gz +sha1 3233c4185208d9989ac528a94817ed92dd59c773 ncdu-1.13.tar.gz + +# computed locally +sha256 0ee47c3742a867ace26eb429cce593b54ab4ccb4c4a97d62e41363cbf80c8a24 COPYING diff --git a/bsp/buildroot/package/ncdu/ncdu.mk b/bsp/buildroot/package/ncdu/ncdu.mk index d45e62d9..9a7170d6 100644 --- a/bsp/buildroot/package/ncdu/ncdu.mk +++ b/bsp/buildroot/package/ncdu/ncdu.mk @@ -4,7 +4,7 @@ # ################################################################################ -NCDU_VERSION = 1.12 +NCDU_VERSION = 1.13 NCDU_SITE = http://dev.yorhel.nl/download NCDU_DEPENDENCIES = ncurses diff --git a/bsp/buildroot/package/ncmpc/0001-Fix-unique_ptr-error-with-some-old-toolchains.patch b/bsp/buildroot/package/ncmpc/0001-Fix-unique_ptr-error-with-some-old-toolchains.patch new file mode 100644 index 00000000..47905d71 --- /dev/null +++ b/bsp/buildroot/package/ncmpc/0001-Fix-unique_ptr-error-with-some-old-toolchains.patch @@ -0,0 +1,54 @@ +From 63c0c47106007f7b2a791e3e4b062a5424d3dfe8 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 12 Aug 2018 09:02:50 +0200 +Subject: [PATCH] Fix unique_ptr error with some old toolchains + +With some "old" toolchains (glibc, uclibc in version 4.9.4, 5.3, 5.4, +5.5 ...), the following error is raised by the compiler: + +../src/screen.cxx:60:29: required from here +/usr/lfs/v0/rc-buildroot-test/scripts/instance-1/output/host/opt/ext-toolchain/mips-linux-gnu/include/c++/5.3.0/ext/new_allocator.h:120:4: +error: no matching function for call to 'std::pair >::pair(const screen_functions*, Page*)' + +[...] + +/usr/lfs/v0/rc-buildroot-test/scripts/instance-1/output/host/opt/ext-toolchain/mips-linux-gnu/include/c++/5.3.0/bits/stl_pair.h:112:26: +note: candidate: constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = const screen_functions* const; _T2 = std::unique_ptr] + _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b) + ^ +/usr/lfs/v0/rc-buildroot-test/scripts/instance-1/output/host/opt/ext-toolchain/mips-linux-gnu/include/c++/5.3.0/bits/stl_pair.h:112:26: +note: no known conversion for argument 2 from 'Page*' to 'const +std::unique_ptr&' + +This is due to the fact that init function of screen_functions +structure returns Page* but PageMap wants a std::unique_ptr + +To fix this, cast raw pointer into a unique_ptr with an explicit cast + +Fixes: + - http://autobuild.buildroot.net/results/d8a7339d8bdd5cdc6bd1716585d4bcf15a2e8015 + +Signed-off-by: Fabrice Fontaine +--- + src/screen.cxx | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/screen.cxx b/src/screen.cxx +index dd42b25..56afd11 100644 +--- a/src/screen.cxx ++++ b/src/screen.cxx +@@ -56,8 +56,9 @@ ScreenManager::MakePage(const struct screen_functions &sf) + return i; + + auto j = pages.emplace(&sf, +- sf.init(*this, main_window.w, +- main_window.size)); ++ std::unique_ptr(sf.init(*this, ++ main_window.w, ++ main_window.size))); + assert(j.second); + return j.first; + } +-- +2.14.1 + diff --git a/bsp/buildroot/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch b/bsp/buildroot/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch new file mode 100644 index 00000000..217fa9b5 --- /dev/null +++ b/bsp/buildroot/package/ncmpc/0002-Global-Bindings-add-KeyBindings-constructor-to-simplify-initializers.patch @@ -0,0 +1,217 @@ +From da27fcc39e187671b5e4373848f701a3d910446c Mon Sep 17 00:00:00 2001 +From: Max Kellermann +Date: Wed, 26 Sep 2018 09:51:09 +0200 +Subject: [PATCH] {Global,}Bindings: add KeyBindings constructor to simplify + initializers + +As a side effect, this works around a build failure with GCC 4.9. + +Signed-off-by: Fabrice Fontaine +[Retrieved from +https://github.com/MusicPlayerDaemon/ncmpc/commit/da27fcc39e187671b5e4373848f701a3d910446c +and updated for 0.31 (remove NEWS update)] +--- + src/Bindings.hxx | 3 + + src/GlobalBindings.cxx | 142 ++++++++++++++++++++--------------------- + 3 files changed, 75 insertions(+), 71 deletions(-) + +diff --git a/src/Bindings.hxx b/src/Bindings.hxx +index 342d951..0c630dc 100644 +--- a/src/Bindings.hxx ++++ b/src/Bindings.hxx +@@ -42,6 +42,9 @@ struct KeyBinding { + bool modified = false; + #endif + ++ constexpr KeyBinding(int a, int b=0, int c=0) noexcept ++ :keys{{a, b, c}} {} ++ + gcc_pure + bool HasKey(int key) const { + return std::find(keys.begin(), keys.end(), key) != keys.end(); +diff --git a/src/GlobalBindings.cxx b/src/GlobalBindings.cxx +index b565848..8049ed2 100644 +--- a/src/GlobalBindings.cxx ++++ b/src/GlobalBindings.cxx +@@ -51,110 +51,110 @@ + + static KeyBindings global_key_bindings{{{ + #ifdef ENABLE_KEYDEF_SCREEN +- { {'K', 0, 0 } }, ++ {'K'}, + #endif +- { { 'q', 'Q', C('C') } }, ++ {'q', 'Q', C('C')}, + + /* movement */ +- { { UP, 'k', 0 } }, +- { { DWN, 'j', 0 } }, +- { { 'H', 0, 0 } }, +- { { 'M', 0, 0 } }, +- { { 'L', 0, 0 } }, +- { { HOME, C('A'), 0 } }, +- { { END, C('E'), 0 } }, +- { { PGUP, 0, 0 } }, +- { { PGDN, 0, 0 } }, +- { { 'v', 0, 0 } }, +- { { C('N'), 0, 0 } }, +- { { C('B'), 0, 0 } }, +- { { 'N', 0, 0 } }, +- { { 'B', 0, 0 } }, +- { { 'l', 0, 0 } }, ++ {UP, 'k'}, ++ {DWN, 'j'}, ++ {'H'}, ++ {'M'}, ++ {'L'}, ++ {HOME, C('A')}, ++ {END, C('E')}, ++ {PGUP}, ++ {PGDN}, ++ {'v', 0}, ++ {C('N'), 0}, ++ {C('B'), 0}, ++ {'N', 0}, ++ {'B', 0}, ++ {'l'}, + + /* basic screens */ +- { { '1', F1, 'h' } }, +- { { '2', F2, 0 } }, +- { { '3', F3, 0 } }, ++ {'1', F1, 'h'}, ++ {'2', F2}, ++ {'3', F3}, + + /* player commands */ +- { { RET, 0, 0 } }, +- { { 'P', 0, 0 } }, +- { { 's', BS, 0 } }, +- { { 'o', 0, 0 } }, +- { { '>', 0, 0 } }, +- { { '<', 0, 0 } }, +- { { 'f', 0, 0 } }, +- { { 'b', 0, 0 } }, +- { { '+', RGHT, 0 } }, +- { { '-', LEFT, 0 } }, +- { { ' ', 0, 0 } }, +- { { 't', 0, 0 } }, +- { { DEL, 'd', 0 } }, +- { { 'Z', 0, 0 } }, +- { { 'c', 0, 0 } }, +- { { 'r', 0, 0 } }, +- { { 'z', 0, 0 } }, +- { { 'y', 0, 0 } }, +- { { 'C', 0, 0 } }, +- { { 'x', 0, 0 } }, +- { { C('U'), 0, 0 } }, +- { { 'S', 0, 0 } }, +- { { 'a', 0, 0 } }, +- +- { { '!', 0, 0 } }, +- { { '"', 0, 0 } }, +- +- { { 'G', 0, 0 } }, ++ {RET}, ++ {'P'}, ++ {'s', BS}, ++ {'o'}, ++ {'>'}, ++ {'<'}, ++ {'f'}, ++ {'b'}, ++ {'+', RGHT}, ++ {'-', LEFT}, ++ {' '}, ++ {'t'}, ++ {DEL, 'd'}, ++ {'Z'}, ++ {'c'}, ++ {'r'}, ++ {'z'}, ++ {'y'}, ++ {'C'}, ++ {'x'}, ++ {C('U')}, ++ {'S'}, ++ {'a'}, ++ ++ {'!'}, ++ {'"'}, ++ ++ {'G'}, + + /* lists */ +- { { C('K'), 0, 0 } }, +- { { C('J'), 0, 0 } }, +- { { C('L'), 0, 0 } }, ++ {C('K')}, ++ {C('J')}, ++ {C('L')}, + + + /* ncmpc options */ +- { { 'w', 0, 0 } }, +- { { 'U', 0, 0 } }, ++ {'w'}, ++ {'U'}, + + /* change screen */ +- { { TAB, 0, 0 } }, +- { { STAB, 0, 0 } }, +- { { '`', 0, 0 } }, ++ {TAB}, ++ {STAB}, ++ {'`'}, + + + /* find */ +- { { '/', 0, 0 } }, +- { { 'n', 0, 0 } }, +- { { '?', 0, 0 } }, +- { { 'p', 0, 0 } }, +- { { '.', 0, 0 } }, ++ {'/'}, ++ {'n'}, ++ {'?'}, ++ {'p'}, ++ {'.'}, + + + /* extra screens */ + #ifdef ENABLE_ARTIST_SCREEN +- { {'4', F4, 0 } }, ++ {'4', F4}, + #endif + #ifdef ENABLE_SEARCH_SCREEN +- { {'5', F5, 0 } }, +- { {'m', 0, 0 } }, ++ {'5', F5}, ++ {'m'}, + #endif + #ifdef ENABLE_SONG_SCREEN +- { { 'i', 0, 0 } }, ++ {'i'}, + #endif + #ifdef ENABLE_LYRICS_SCREEN +- { {'7', F7, 0 } }, +- { {ESC, 0, 0 } }, +- { {'u', 0, 0 } }, +- { {'e', 0, 0 } }, ++ {'7', F7}, ++ {ESC}, ++ {'u'}, ++ {'e'}, + #endif + + #ifdef ENABLE_OUTPUTS_SCREEN +- { {'8', F8, 0 } }, ++ {'8', F8}, + #endif + + #ifdef ENABLE_CHAT_SCREEN +- { {'9', F9, 0} }, ++ {'9', F9}, + #endif + }}}; + diff --git a/bsp/buildroot/package/ncmpc/Config.in b/bsp/buildroot/package/ncmpc/Config.in index 324d8f7c..d22ea368 100644 --- a/bsp/buildroot/package/ncmpc/Config.in +++ b/bsp/buildroot/package/ncmpc/Config.in @@ -1,8 +1,10 @@ config BR2_PACKAGE_NCMPC bool "ncmpc" depends on BR2_USE_MMU # fork() + depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR # libglib2 -> gettext depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBMPDCLIENT select BR2_PACKAGE_NCURSES @@ -13,6 +15,7 @@ config BR2_PACKAGE_NCMPC http://www.musicpd.org/clients/ncmpc/ -comment "ncmpc needs a toolchain w/ wchar, threads" +comment "ncmpc needs a toolchain w/ C++, wchar, threads, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/bsp/buildroot/package/ncmpc/ncmpc.hash b/bsp/buildroot/package/ncmpc/ncmpc.hash index 82fae1d7..afa5260b 100644 --- a/bsp/buildroot/package/ncmpc/ncmpc.hash +++ b/bsp/buildroot/package/ncmpc/ncmpc.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 f9a26a3fc869cfdf0a16b0ea3e6512c2fe28a031bbc71b1d24a2bf0bbd3e15d9 ncmpc-0.27.tar.xz +sha256 8d3416c5b99ec21527b506f75bd7e536ddff60e61695b05989e791a751611bcc ncmpc-0.31.tar.xz + +# Hash for license file: +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/ncmpc/ncmpc.mk b/bsp/buildroot/package/ncmpc/ncmpc.mk index 31b4f08d..787f5820 100644 --- a/bsp/buildroot/package/ncmpc/ncmpc.mk +++ b/bsp/buildroot/package/ncmpc/ncmpc.mk @@ -5,11 +5,22 @@ ################################################################################ NCMPC_VERSION_MAJOR = 0 -NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).27 +NCMPC_VERSION = $(NCMPC_VERSION_MAJOR).31 NCMPC_SOURCE = ncmpc-$(NCMPC_VERSION).tar.xz NCMPC_SITE = http://www.musicpd.org/download/ncmpc/$(NCMPC_VERSION_MAJOR) NCMPC_DEPENDENCIES = host-pkgconf libglib2 libmpdclient ncurses NCMPC_LICENSE = GPL-2.0+ NCMPC_LICENSE_FILES = COPYING -$(eval $(autotools-package)) +NCMPC_CONF_OPTS = \ + -Dcurses=ncurses \ + -Ddocumentation=false + +ifeq ($(BR2_PACKAGE_LIRC_TOOLS),y) +NCMPC_DEPENDENCIES += lirc-tools +NCMPC_CONF_OPTS += -Dlirc=true +else +NCMPC_CONF_OPTS += -Dlirc=false +endif + +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/ncurses/0001-gcc-5.x-MKlib_gen.patch b/bsp/buildroot/package/ncurses/0001-gcc-5.x-MKlib_gen.patch index df7c15fe..0106e807 100644 --- a/bsp/buildroot/package/ncurses/0001-gcc-5.x-MKlib_gen.patch +++ b/bsp/buildroot/package/ncurses/0001-gcc-5.x-MKlib_gen.patch @@ -11,10 +11,11 @@ http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commit;h=97bb4678dc03e753290b39b Original author: Thomas E. Dickey Signed-off-by: Mikhail Peselnik - +[Adam Duskett: Refresh for 6.1] +Signed-off-by: Adam Duskett --- a/ncurses/base/MKlib_gen.sh 2015-08-06 20:48:24.000000000 -0400 +++ b/ncurses/base/MKlib_gen.sh 2017-02-07 10:09:01.293962392 -0500 -@@ -491,11 +491,22 @@ +@@ -505,11 +505,22 @@ -e 's/gen_$//' \ -e 's/ / /g' >>$TMP diff --git a/bsp/buildroot/package/ncurses/0002-recognise-uclinux.patch b/bsp/buildroot/package/ncurses/0002-recognise-uclinux.patch deleted file mode 100644 index 57dd4cf3..00000000 --- a/bsp/buildroot/package/ncurses/0002-recognise-uclinux.patch +++ /dev/null @@ -1,29 +0,0 @@ -aclocal: fix detection for uclinux hosts -uclinux is just a linux like the others... - -Signed-off-by: "Yann E. MORIN" -Signed-off-by: "Adam Duskett" - ---- a/aclocal.m4 2015-08-05 20:46:34.000000000 -0400 -+++ b/aclocal.m4 2017-02-07 09:58:17.770056849 -0500 -@@ -7656,7 +7656,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*|gnu*|mint*|k*bsd*-gnu) -+(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) - CF_GNU_SOURCE - ;; - (minix*) -diff -durN a/configure b/configure ---- a/configure 2015-08-05 05:20:32.000000000 -0400 -+++ b/configure 2017-02-07 09:58:52.883886426 -0500 -@@ -7869,7 +7869,7 @@ - cf_xopen_source="-D_SGI_SOURCE" - cf_XOPEN_SOURCE= - ;; --(linux*|gnu*|mint*|k*bsd*-gnu) -+(linux*|uclinux*|gnu*|mint*|k*bsd*-gnu) - - echo "$as_me:7874: checking if we must define _GNU_SOURCE" >&5 - echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 diff --git a/bsp/buildroot/package/ncurses/Config.in b/bsp/buildroot/package/ncurses/Config.in index bb45bd8d..9f7753b0 100644 --- a/bsp/buildroot/package/ncurses/Config.in +++ b/bsp/buildroot/package/ncurses/Config.in @@ -13,8 +13,6 @@ if BR2_PACKAGE_NCURSES config BR2_PACKAGE_NCURSES_WCHAR bool "enable wide char support" depends on BR2_USE_WCHAR - # Build broken @ curses.priv.h with bad declarations - depends on !(BR2_bfin && BR2_BINFMT_FLAT) help Enable wide char & UTF-8 support in ncurses libraries @@ -23,4 +21,14 @@ config BR2_PACKAGE_NCURSES_TARGET_PROGS help Include ncurses programs in target (clear, reset, tput, ...) +config BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO + string "additional terminfo files to install" + help + Whitespace separated list of terminfo files to install on the + target. A small number of vital terminfo files are always + installed. This list is in addition to the vital ones. + + The terminfo filenames should have the single letter path + prefix. e.g. t/tmux. + endif diff --git a/bsp/buildroot/package/ncurses/ncurses.hash b/bsp/buildroot/package/ncurses/ncurses.hash index 6bca1438..045625ae 100644 --- a/bsp/buildroot/package/ncurses/ncurses.hash +++ b/bsp/buildroot/package/ncurses/ncurses.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 f551c24b30ce8bfb6e96d9f59b42fbea30fa3a6123384172f9e7284bcf647260 ncurses-6.0.tar.gz +sha256 aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17 ncurses-6.1.tar.gz diff --git a/bsp/buildroot/package/ncurses/ncurses.mk b/bsp/buildroot/package/ncurses/ncurses.mk index 7552cc25..e27598bd 100644 --- a/bsp/buildroot/package/ncurses/ncurses.mk +++ b/bsp/buildroot/package/ncurses/ncurses.mk @@ -4,7 +4,7 @@ # ################################################################################ -NCURSES_VERSION = 6.0 +NCURSES_VERSION = 6.1 NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses NCURSES_INSTALL_STAGING = YES NCURSES_DEPENDENCIES = host-ncurses @@ -25,6 +25,7 @@ NCURSES_CONF_OPTS = \ --enable-const \ --enable-overwrite \ --enable-pc-files \ + --disable-stripping \ --with-pkg-config-libdir="/usr/lib/pkgconfig" \ $(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \ --without-manpages @@ -63,7 +64,8 @@ NCURSES_TERMINFO_FILES = \ x/xterm+256color \ x/xterm-256color \ x/xterm-color \ - x/xterm-xfree86 + x/xterm-xfree86 \ + $(call qstrip,$(BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO)) ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) NCURSES_CONF_OPTS += --enable-widec diff --git a/bsp/buildroot/package/neard/S53neard b/bsp/buildroot/package/neard/S53neard old mode 100755 new mode 100644 index f5156683..4fd4e0aa --- a/bsp/buildroot/package/neard/S53neard +++ b/bsp/buildroot/package/neard/S53neard @@ -4,15 +4,11 @@ # NAME=neard -DAEMON=/usr/libexec/nfc/$NAME - -# Exit gracefully if the package has been removed -[ -x $DAEMON ] || exit 0 case "$1" in start) printf "Starting $NAME: " - start-stop-daemon -S -q -p /var/run/${NAME}.pid -x $DAEMON -- -d '*' + start-stop-daemon -S -q -p /var/run/${NAME}.pid -x /usr/libexec/nfc/neard -- -d '*' echo "OK" ;; stop) diff --git a/bsp/buildroot/package/net-tools/net-tools.mk b/bsp/buildroot/package/net-tools/net-tools.mk index adab475b..985fe2e3 100644 --- a/bsp/buildroot/package/net-tools/net-tools.mk +++ b/bsp/buildroot/package/net-tools/net-tools.mk @@ -10,11 +10,6 @@ NET_TOOLS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) NET_TOOLS_LICENSE = GPL-2.0+ NET_TOOLS_LICENSE_FILES = COPYING -# Install after busybox for the full-blown versions -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -NET_TOOLS_DEPENDENCIES += busybox -endif - define NET_TOOLS_CONFIGURE_CMDS (cd $(@D); yes "" | ./configure.sh config.in ) endef @@ -40,7 +35,8 @@ define NET_TOOLS_BUILD_CMDS endef # install renames conflicting binaries, update does not -# ifconfig & route reside in /sbin for busybox +# ifconfig & route reside in /sbin for busybox, so ensure we don't end +# up with two versions of those. define NET_TOOLS_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) update mv -f $(TARGET_DIR)/bin/ifconfig $(TARGET_DIR)/sbin/ifconfig diff --git a/bsp/buildroot/package/netatalk/S50netatalk b/bsp/buildroot/package/netatalk/S50netatalk old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/netatalk/netatalk.hash b/bsp/buildroot/package/netatalk/netatalk.hash index ce78373a..762fcd46 100644 --- a/bsp/buildroot/package/netatalk/netatalk.hash +++ b/bsp/buildroot/package/netatalk/netatalk.hash @@ -1,3 +1,3 @@ -# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.11/ -md5 8f79ce2a275b128ebb07188766f088fc netatalk-3.1.11.tar.bz2 -sha1 5aa7900e6f7de3c7ee812aa1130c1245d1974586 netatalk-3.1.11.tar.bz2 +# From http://sourceforge.net/projects/netatalk/files/netatalk/3.1.12/ +md5 021d2330cb7f7cd2977aec46299dcc1b netatalk-3.1.12.tar.bz2 +sha1 cc1fe1ebdbdb4da9cf82835c440e82ba28a832c5 netatalk-3.1.12.tar.bz2 diff --git a/bsp/buildroot/package/netatalk/netatalk.mk b/bsp/buildroot/package/netatalk/netatalk.mk index 28a87509..1214fc3b 100644 --- a/bsp/buildroot/package/netatalk/netatalk.mk +++ b/bsp/buildroot/package/netatalk/netatalk.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETATALK_VERSION = 3.1.11 +NETATALK_VERSION = 3.1.12 NETATALK_SITE = http://downloads.sourceforge.net/project/netatalk/netatalk/$(NETATALK_VERSION) NETATALK_SOURCE = netatalk-$(NETATALK_VERSION).tar.bz2 # For 0001-Fix-setting-of-LD_LIBRARY_FLAGS-shlibpath_var.patch diff --git a/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.hash b/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.hash index 1bf62bbc..2cf47134 100644 --- a/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.hash +++ b/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 63d72b4e5ea629af148d6d655125dcbe48f4996a8a2a8c5e234c62eba2856b5f netcat-openbsd-debian_1.187-1.tar.gz +sha256 06b04b163e8c923943b9fc276eea555625f615a530d5bd8fbdbc1af9b2b0d5db netcat-openbsd-debian_1.190-1.tar.gz sha256 e2e86d58c38f044a49f51e45515747585db58a2305419c73323eaad88fcaef5c debian/copyright diff --git a/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.mk b/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.mk index 6d3be500..e98b479c 100644 --- a/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.mk +++ b/bsp/buildroot/package/netcat-openbsd/netcat-openbsd.mk @@ -4,18 +4,12 @@ # ################################################################################ -NETCAT_OPENBSD_VERSION = debian/1.187-1 +NETCAT_OPENBSD_VERSION = debian/1.190-1 NETCAT_OPENBSD_SITE = git://anonscm.debian.org/collab-maint/netcat-openbsd NETCAT_OPENBSD_LICENSE = BSD-3-Clause NETCAT_OPENBSD_LICENSE_FILES = debian/copyright NETCAT_OPENBSD_DEPENDENCIES = host-pkgconf libbsd -# Ensure Busybox gets built/installed before, so that this package -# overrides Busybox nc. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -NETCAT_OPENBSD_DEPENDENCIES += busybox -endif - define NETCAT_OPENBSD_APPLY_DEBIAN_PATCHES if [ -d $(@D)/debian/patches ]; then \ $(APPLY_PATCHES) $(@D) $(@D)/debian/patches *.dpatch; \ diff --git a/bsp/buildroot/package/netplug/S29netplug b/bsp/buildroot/package/netplug/S29netplug old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/netsniff-ng/netsniff-ng.hash b/bsp/buildroot/package/netsniff-ng/netsniff-ng.hash index 576e0008..706c9461 100644 --- a/bsp/buildroot/package/netsniff-ng/netsniff-ng.hash +++ b/bsp/buildroot/package/netsniff-ng/netsniff-ng.hash @@ -1,2 +1,2 @@ # Locally calculated after checking signature -sha256 fd67150e0954b7079b6d0c72fb0ef1f34091357ad559b45c68e8752376bdc307 netsniff-ng-0.6.4.tar.xz +sha256 4966821510079bb13722b9fbb4b7567e44b1b4c3e1b1e7ad95f417a89be5d795 netsniff-ng-0.6.5.tar.xz diff --git a/bsp/buildroot/package/netsniff-ng/netsniff-ng.mk b/bsp/buildroot/package/netsniff-ng/netsniff-ng.mk index fb1c2c7a..77d89214 100644 --- a/bsp/buildroot/package/netsniff-ng/netsniff-ng.mk +++ b/bsp/buildroot/package/netsniff-ng/netsniff-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETSNIFF_NG_VERSION = 0.6.4 +NETSNIFF_NG_VERSION = 0.6.5 NETSNIFF_NG_SITE = http://pub.netsniff-ng.org/netsniff-ng NETSNIFF_NG_SOURCE = netsniff-ng-$(NETSNIFF_NG_VERSION).tar.xz NETSNIFF_NG_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/netsnmp/S59snmpd b/bsp/buildroot/package/netsnmp/S59snmpd old mode 100755 new mode 100644 index 4ff844ee..96ed8237 --- a/bsp/buildroot/package/netsnmp/S59snmpd +++ b/bsp/buildroot/package/netsnmp/S59snmpd @@ -14,9 +14,6 @@ export PATH=/sbin:/usr/sbin:/bin:/usr/bin -test -x /usr/sbin/snmpd || exit 0 -test -x /usr/sbin/snmptrapd || exit 0 - # Defaults export MIBDIRS=/usr/share/snmp/mibs SNMPDRUN=yes diff --git a/bsp/buildroot/package/netsnmp/netsnmp.mk b/bsp/buildroot/package/netsnmp/netsnmp.mk index 65a3f16a..4bd65ef1 100644 --- a/bsp/buildroot/package/netsnmp/netsnmp.mk +++ b/bsp/buildroot/package/netsnmp/netsnmp.mk @@ -106,12 +106,4 @@ define NETSNMP_INSTALL_INIT_SYSV endef endif -define NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP - $(SED) "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" \ - -e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \ - $(STAGING_DIR)/usr/bin/net-snmp-config -endef - -NETSNMP_POST_INSTALL_STAGING_HOOKS += NETSNMP_STAGING_NETSNMP_CONFIG_FIXUP - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/netsurf/0001-avoid-system-perl-dependencies.patch b/bsp/buildroot/package/netsurf/0001-avoid-system-perl-dependencies.patch new file mode 100644 index 00000000..979ddafc --- /dev/null +++ b/bsp/buildroot/package/netsurf/0001-avoid-system-perl-dependencies.patch @@ -0,0 +1,29 @@ +From b42e4b5bfca030965dcfca993a47a6ddaa941287 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 25 Nov 2018 18:27:54 +0100 +Subject: [PATCH] avoid system perl dependencies + +this subroutine format is used for android target. +with eval the load of HTML::Entities is deferred. + +Signed-off-by: Francois Perrad +--- + netsurf/utils/split-messages.pl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/netsurf/utils/split-messages.pl b/netsurf/utils/split-messages.pl +index 4b50dde..e47dded 100644 +--- a/netsurf/utils/split-messages.pl ++++ b/netsurf/utils/split-messages.pl +@@ -311,7 +311,7 @@ TXT + sub footer { qq|| } + sub format + { +- use HTML::Entities qw(encode_entities); ++ eval q|use HTML::Entities qw(encode_entities);|; + my $escaped = encode_entities( $_[1], '<>&"' ); + qq| $escaped\n|; + } +-- +2.17.1 + diff --git a/bsp/buildroot/package/netsurf/0002-fix-freetype-detection.patch b/bsp/buildroot/package/netsurf/0002-fix-freetype-detection.patch new file mode 100644 index 00000000..27e3a6a1 --- /dev/null +++ b/bsp/buildroot/package/netsurf/0002-fix-freetype-detection.patch @@ -0,0 +1,32 @@ +From 85336f2404b9583267019650ea0112ebf1bb571a Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Wed, 28 Nov 2018 17:59:44 +0100 +Subject: [PATCH] fix freetype detection + +Using freetype-config doesn't work well, because it's going to use the +system freetype-config instead of the one installed in the +cross-compilation sysroot. So, let's use pkg-config instead. + +Signed-off-by: Francois Perrad +--- + netsurf/frontends/framebuffer/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/netsurf/frontends/framebuffer/Makefile b/netsurf/frontends/framebuffer/Makefile +index bdedd90..249c7c4 100644 +--- a/netsurf/frontends/framebuffer/Makefile ++++ b/netsurf/frontends/framebuffer/Makefile +@@ -35,8 +35,8 @@ LDFLAGS += -Wl,--no-whole-archive + + # freetype is optional but does not use pkg-config + ifeq ($(NETSURF_FB_FONTLIB),freetype) +- CFLAGS += -DFB_USE_FREETYPE $(shell freetype-config --cflags) +- LDFLAGS += $(shell freetype-config --libs) ++ CFLAGS += -DFB_USE_FREETYPE $(shell $(PKG_CONFIG) --cflags freetype2) ++ LDFLAGS += $(shell $(PKG_CONFIG) --libs freetype2) + endif + + +-- +2.17.1 + diff --git a/bsp/buildroot/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch b/bsp/buildroot/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch new file mode 100644 index 00000000..01e77e97 --- /dev/null +++ b/bsp/buildroot/package/netsurf/0003-do-not-cross-compile-nsgenbind.patch @@ -0,0 +1,30 @@ +From 2419ad79b25fcc1746178aba609fddbb0aa8c9e0 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 1 Dec 2018 16:10:13 +0100 +Subject: [PATCH] build nsgenbind for the build machine + +The nsgenbind tool is meant to be executed on the build machine during +the build, so it should not be built with the cross-compiler, but with +the native compiler. + +Signed-off-by: Francois Perrad +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f279f01..5698c87 100644 +--- a/Makefile ++++ b/Makefile +@@ -109,7 +109,7 @@ endef + + # prefixed install macro for each host sub target + define do_build_prefix_install +- $(MAKE) install --directory=$1 HOST=$(BUILD) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= ++ $(MAKE) install --directory=$1 HOST=$(BUILD) CC=$(BUILD_CC) PREFIX=$(TMP_PREFIX) Q=$(Q) DESTDIR= + + endef + +-- +2.17.1 + diff --git a/bsp/buildroot/package/netsurf/0004-fix-compilation-without-curl.patch b/bsp/buildroot/package/netsurf/0004-fix-compilation-without-curl.patch new file mode 100644 index 00000000..2300ae5f --- /dev/null +++ b/bsp/buildroot/package/netsurf/0004-fix-compilation-without-curl.patch @@ -0,0 +1,27 @@ +From 7d7c59dbfc92fcbcd0eac2c84e0fb98662c4bd71 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sat, 8 Dec 2018 09:43:40 +0100 +Subject: [PATCH] fix compilation without curl + +Signed-off-by: Francois Perrad +--- + netsurf/content/fetch.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/netsurf/content/fetch.c b/netsurf/content/fetch.c +index 7665029..0f41c49 100644 +--- a/netsurf/content/fetch.c ++++ b/netsurf/content/fetch.c +@@ -54,7 +54,9 @@ + #include "content/fetchers.h" + #include "content/fetchers/resource.h" + #include "content/fetchers/about.h" ++#ifdef WITH_CURL + #include "content/fetchers/curl.h" ++#endif + #include "content/fetchers/data.h" + #include "content/fetchers/file.h" + #include "javascript/fetcher.h" +-- +2.17.1 + diff --git a/bsp/buildroot/package/netsurf/Config.in b/bsp/buildroot/package/netsurf/Config.in new file mode 100644 index 00000000..8a301e62 --- /dev/null +++ b/bsp/buildroot/package/netsurf/Config.in @@ -0,0 +1,41 @@ +config BR2_PACKAGE_NETSURF + bool "netsurf" + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE + select BR2_PACKAGE_LIBPNG + select BR2_PACKAGE_OPENSSL if BR2_PACKAGE_LIBCURL + help + NetSurf is a compact graphical web browser which aims for + HTML5, CSS and JavaScript support. + Frontends: GTK (X11), SDL 1.2 (framebuffer) + + http://www.netsurf-browser.org/ + +if BR2_PACKAGE_NETSURF + +choice + prompt "Netsurf frontend" + default BR2_PACKAGE_NETSURF_SDL + +config BR2_PACKAGE_NETSURF_SDL + bool "sdl frontend" + select BR2_PACKAGE_SDL + help + Select SDL 1.2 frontend. + +config BR2_PACKAGE_NETSURF_GTK + bool "gtk2 frontend" + depends on BR2_PACKAGE_LIBGTK2 + help + Select GTK+ 2 frontend. + +config BR2_PACKAGE_NETSURF_GTK3 + bool "gtk3 frontend" + depends on BR2_PACKAGE_LIBGTK3 + help + Select GTK+ 3 frontend. + +endchoice + +endif diff --git a/bsp/buildroot/package/netsurf/netsurf.hash b/bsp/buildroot/package/netsurf/netsurf.hash new file mode 100644 index 00000000..26e8c76f --- /dev/null +++ b/bsp/buildroot/package/netsurf/netsurf.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 eb4864d4459d6f9958dd10a3301c272ea7f5df72667a7db0aad5bc5ae06c0e10 netsurf-all-3.8.tar.gz +sha256 55c4a7ae3953d720a462e69d1f128a20004933d12538be5314a33f8821675378 netsurf/COPYING diff --git a/bsp/buildroot/package/netsurf/netsurf.mk b/bsp/buildroot/package/netsurf/netsurf.mk new file mode 100644 index 00000000..e617707a --- /dev/null +++ b/bsp/buildroot/package/netsurf/netsurf.mk @@ -0,0 +1,96 @@ +################################################################################ +# +# netsurf +# +################################################################################ + +NETSURF_VERSION = 3.8 +NETSURF_SOURCE = netsurf-all-$(NETSURF_VERSION).tar.gz +NETSURF_SITE = http://download.netsurf-browser.org/netsurf/releases/source-full +NETSURF_LICENSE = GPL-2.0 +NETSURF_LICENSE_FILES = netsurf/COPYING +NETSURF_DEPENDENCIES = expat jpeg libpng \ + host-bison host-flex host-gperf host-pkgconf + +ifeq ($(BR2_PACKAGE_NETSURF_GTK),y) +NETSURF_DEPENDENCIES += libgtk2 +NETSURF_FRONTEND = gtk +endif + +ifeq ($(BR2_PACKAGE_NETSURF_GTK3),y) +NETSURF_DEPENDENCIES += libgtk3 +NETSURF_FRONTEND = gtk3 +endif + +ifeq ($(BR2_PACKAGE_NETSURF_GTK)$(BR2_PACKAGE_NETSURF_GTK3),y) +ifeq ($(BR2_PACKAGE_LIBRSVG),y) +NETSURF_DEPENDENCIES += librsvg +define NETSURF_SVG_CONFIGURE_CMDS + echo "override NETSURF_USE_RSVG := YES" >> $(@D)/netsurf/Makefile.config + echo "override NETSURF_USE_NSSVG := NO" >> $(@D)/netsurf/Makefile.config +endef +endif +endif + +ifeq ($(BR2_PACKAGE_NETSURF_SDL),y) +NETSURF_DEPENDENCIES += sdl host-libpng +NETSURF_FRONTEND = framebuffer +NETSURF_CONFIG = \ + HOST_CFLAGS='$(HOST_CFLAGS)' \ + HOST_LDFLAGS='$(HOST_LDFLAGS) -lpng' +ifeq ($(BR2_PACKAGE_FREETYPE),y) +NETSURF_DEPENDENCIES += freetype +define NETSURF_FONTLIB_CONFIGURE_CMDS + echo "override NETSURF_FB_FONTLIB := freetype" >> $(@D)/netsurf/Makefile.config +endef +endif +endif + +ifeq ($(BR2_PACKAGE_LIBICONV),y) +NETSURF_DEPENDENCIES += libiconv +define NETSURF_ICONV_CONFIGURE_CMDS + echo "CFLAGS += -DWITH_ICONV_FILTER" >> $(@D)/libparserutils/Makefile.config.override + echo "override NETSURF_USE_LIBICONV_PLUG := NO" >> $(@D)/netsurf/Makefile.config +endef +endif + +ifeq ($(BR2_PACKAGE_LIBCURL),y) +NETSURF_DEPENDENCIES += libcurl openssl +else +define NETSURF_CURL_CONFIGURE_CMDS + echo "override NETSURF_USE_CURL := NO" >> $(@D)/netsurf/Makefile.config + echo "override NETSURF_USE_OPENSSL := NO" >> $(@D)/netsurf/Makefile.config +endef +endif + +define NETSURF_CONFIGURE_CMDS + $(NETSURF_ICONV_CONFIGURE_CMDS) + $(NETSURF_SVG_CONFIGURE_CMDS) + $(NETSURF_FONTLIB_CONFIGURE_CMDS) + $(NETSURF_CURL_CONFIGURE_CMDS) +endef + +NETSURF_MAKE_OPTS = \ + TARGET=$(NETSURF_FRONTEND) \ + BISON="$(HOST_DIR)/bin/bison" \ + FLEX="$(HOST_DIR)/bin/flex" \ + PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ + BUILD_CC="$(HOSTCC)" \ + CC="$(TARGET_CC) -I$(@D)/tmpusr/include -L$(@D)/tmpusr/lib" \ + AR="$(TARGET_AR)" \ + TMP_PREFIX=$(@D)/tmpusr \ + NETSURF_CONFIG="$(NETSURF_CONFIG)" \ + PREFIX=/usr + +define NETSURF_BUILD_CMDS + mkdir -p $(@D)/tmpusr + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(NETSURF_MAKE_OPTS) \ + build +endef + +define NETSURF_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(NETSURF_MAKE_OPTS) \ + DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch b/bsp/buildroot/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch new file mode 100644 index 00000000..e03af7a4 --- /dev/null +++ b/bsp/buildroot/package/nettle/0001-Fix-accidental-use-of-C99-for-loop.patch @@ -0,0 +1,71 @@ +From f5a3a224bf00bef5669366d2ae23c2b2b13b8016 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Niels=20M=C3=B6ller?= +Date: Wed, 26 Dec 2018 11:04:31 +0100 +Subject: [PATCH] Fix accidental use of C99 for loop. + +* rsa-sign-tr.c (sec_equal): Fix accidental use of C99 for loop. +Reported by Andreas Gustafsson. +* testsuite/rsa-sec-decrypt-test.c (test_main): Likewise. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://git.lysator.liu.se/nettle/nettle/commit/f5a3a224bf00bef5669366d2ae23c2b2b13b8016] +--- + ChangeLog | 6 ++++++ + rsa-sign-tr.c | 3 ++- + testsuite/rsa-sec-decrypt-test.c | 3 ++- + 3 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/ChangeLog b/ChangeLog +index 4c7338a1..079d0153 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,9 @@ ++2018-12-26 Niels Möller ++ ++ * rsa-sign-tr.c (sec_equal): Fix accidental use of C99 for loop. ++ Reported by Andreas Gustafsson. ++ * testsuite/rsa-sec-decrypt-test.c (test_main): Likewise. ++ + 2018-12-04 Niels Möller + + * Released nettle-3.4.1. +diff --git a/rsa-sign-tr.c b/rsa-sign-tr.c +index 59c9bd07..f824c4ca 100644 +--- a/rsa-sign-tr.c ++++ b/rsa-sign-tr.c +@@ -239,8 +239,9 @@ static int + sec_equal(const mp_limb_t *a, const mp_limb_t *b, size_t limbs) + { + volatile mp_limb_t z = 0; ++ size_t i; + +- for (size_t i = 0; i < limbs; i++) ++ for (i = 0; i < limbs; i++) + { + z |= (a[i] ^ b[i]); + } +diff --git a/testsuite/rsa-sec-decrypt-test.c b/testsuite/rsa-sec-decrypt-test.c +index 64f0b13c..fb0ed3a1 100644 +--- a/testsuite/rsa-sec-decrypt-test.c ++++ b/testsuite/rsa-sec-decrypt-test.c +@@ -68,6 +68,7 @@ test_main(void) + unsigned n_size = 1024; + mpz_t gibberish; + mpz_t garbage; ++ size_t size; + + rsa_private_key_init(&key); + rsa_public_key_init(&pub); +@@ -78,7 +79,7 @@ test_main(void) + + memset(verifybad, 'A', PAYLOAD_SIZE); + +- for (size_t size = 1; size < 51; size++) ++ for (size = 1; size < 51; size++) + { + ASSERT (rsa_generate_keypair(&pub, &key, &random_ctx, + (nettle_random_func *) knuth_lfib_random, +-- +2.18.1 + diff --git a/bsp/buildroot/package/nettle/nettle.hash b/bsp/buildroot/package/nettle/nettle.hash index 473be1c2..32ed22c6 100644 --- a/bsp/buildroot/package/nettle/nettle.hash +++ b/bsp/buildroot/package/nettle/nettle.hash @@ -1,6 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/nettle/nettle-3.4.tar.gz.sig -sha256 ae7a42df026550b85daca8389b6a60ba6313b0567f374392e54918588a411e94 nettle-3.4.tar.gz +# https://ftp.gnu.org/gnu/nettle/nettle-3.4.1.tar.gz.sig +sha256 f941cf1535cd5d1819be5ccae5babef01f6db611f9b5a777bae9c7604b8a92ad nettle-3.4.1.tar.gz # Locally calculated sha256 a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c COPYING.LESSERv3 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYINGv2 diff --git a/bsp/buildroot/package/nettle/nettle.mk b/bsp/buildroot/package/nettle/nettle.mk index 95828150..6a1144ed 100644 --- a/bsp/buildroot/package/nettle/nettle.mk +++ b/bsp/buildroot/package/nettle/nettle.mk @@ -4,7 +4,7 @@ # ################################################################################ -NETTLE_VERSION = 3.4 +NETTLE_VERSION = 3.4.1 NETTLE_SITE = http://www.lysator.liu.se/~nisse/archive NETTLE_DEPENDENCIES = gmp NETTLE_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/network-manager/S45network-manager b/bsp/buildroot/package/network-manager/S45network-manager old mode 100755 new mode 100644 index f39e20d7..bc775d3b --- a/bsp/buildroot/package/network-manager/S45network-manager +++ b/bsp/buildroot/package/network-manager/S45network-manager @@ -1,12 +1,7 @@ #!/bin/sh -prefix=/usr -exec_prefix=/usr -sbindir=${exec_prefix}/sbin - -NETWORKMANAGER_BIN=${sbindir}/NetworkManager - -[ -x $NETWORKMANAGER_BIN ] || exit 0 +# Allow a few customizations from a config file +test -r /etc/default/NetworkManager && . /etc/default/NetworkManager PID=`pidof NetworkManager` case "$1" in @@ -14,7 +9,7 @@ case "$1" in printf "Starting NetworkManager ... " [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager if [ -z "$PID" ]; then - $NETWORKMANAGER_BIN + /usr/sbin/NetworkManager $NETWORKMANAGER_ARGS fi if [ ! -z "$PID" -o $? -gt 0 ]; then echo "failed!" diff --git a/bsp/buildroot/package/network-manager/network-manager.hash b/bsp/buildroot/package/network-manager/network-manager.hash index 8fedc647..34394391 100644 --- a/bsp/buildroot/package/network-manager/network-manager.hash +++ b/bsp/buildroot/package/network-manager/network-manager.hash @@ -1,2 +1,5 @@ -# From http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.10/NetworkManager-1.10.2.sha256sum -sha256 169c34f50770e3c96b431f7d2cff654455246f2e6ccd46eccfb4454d4595625b NetworkManager-1.10.2.tar.xz +# From https://download.gnome.org/sources/NetworkManager/1.10/NetworkManager-1.10.8.sha256sum +sha256 eb4ac8ce75fed5ec804f409caec7b54342d4e01512baf7d7fc119fd40ac8a938 NetworkManager-1.10.8.tar.xz +# Locally computed +sha256 49d9659a4f9a09747c320d51d3cf9dfde210de67b70862acf849890f6477b00d COPYING +sha256 3a2968e3abb4fea464cd8dc1146d71996f9544af91a5f687bc4f3a2932df49b4 libnm-util/COPYING diff --git a/bsp/buildroot/package/network-manager/network-manager.mk b/bsp/buildroot/package/network-manager/network-manager.mk index a520aad9..2b9f68a0 100644 --- a/bsp/buildroot/package/network-manager/network-manager.mk +++ b/bsp/buildroot/package/network-manager/network-manager.mk @@ -5,7 +5,7 @@ ################################################################################ NETWORK_MANAGER_VERSION_MAJOR = 1.10 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).2 +NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).8 NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/nfs-utils/S60nfs b/bsp/buildroot/package/nfs-utils/S60nfs old mode 100755 new mode 100644 index 893b1e49..4183ff62 --- a/bsp/buildroot/package/nfs-utils/S60nfs +++ b/bsp/buildroot/package/nfs-utils/S60nfs @@ -3,11 +3,6 @@ # nfs This shell script takes care of starting and stopping # the NFS services. Stolen from RedHat FC5. -[ -x /usr/sbin/rpc.statd ] || exit 0 -[ -x /usr/sbin/rpc.nfsd ] || exit 0 -[ -x /usr/sbin/rpc.mountd ] || exit 0 -[ -x /usr/sbin/exportfs ] || exit 0 - mkdir -p /var/lock/subsys mkdir -p /run/nfs/sm mkdir -p /run/nfs/sm.bak diff --git a/bsp/buildroot/package/nftables/0001-src-fix-build-with-older-glibc.patch b/bsp/buildroot/package/nftables/0001-src-fix-build-with-older-glibc.patch deleted file mode 100644 index d1ba2953..00000000 --- a/bsp/buildroot/package/nftables/0001-src-fix-build-with-older-glibc.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 381eaa40735385a1a60e5ab0a7daf4bb847fc2ab Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Fri, 9 Feb 2018 14:42:31 +0200 -Subject: [PATCH] src: fix build with older glibc - -glibc before 2.19 missed the definition of IPPROTO_MH. This leads to -build failure: - -parser_bison.y: In function 'nft_parse': -parser_bison.y:3793:21: error: 'IPPROTO_MH' undeclared (first use in this function) - | MH { $$ = IPPROTO_MH; } - ^ - -Since we have a local definition of IPPROTO_MH in headers.h use that to -fix the build. - -Signed-off-by: Baruch Siach ---- -Upstream status: https://marc.info/?l=netfilter-devel&m=151818061103886&w=2 - - src/parser_bison.y | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/parser_bison.y b/src/parser_bison.y -index 2e79109f4da3..578bfdc10429 100644 ---- a/src/parser_bison.y -+++ b/src/parser_bison.y -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.15.1 - diff --git a/bsp/buildroot/package/nftables/nftables.hash b/bsp/buildroot/package/nftables/nftables.hash index d6ccf7b4..a0e0d5e7 100644 --- a/bsp/buildroot/package/nftables/nftables.hash +++ b/bsp/buildroot/package/nftables/nftables.hash @@ -1,6 +1,3 @@ -# From http://www.netfilter.org/projects/nftables/downloads.html -sha1 51fd436845718f1221ee198128656ef9055c2588 nftables-0.8.1.tar.bz2 -# Locally calculated after checking pgp signature -# http://www.netfilter.org/projects/nftables/files/nftables-0.8.1.tar.bz2.sig -sha256 8aead66cce70d68c70e4be917813abcbcf62811ee6de4c7761d0e34391772fc4 nftables-0.8.1.tar.bz2 +# From https://netfilter.org/projects/nftables/downloads.html +sha256 ad8181b5fcb9ca572f444bed54018749588522ee97e4c21922648bb78d7e7e91 nftables-0.9.0.tar.bz2 sha256 c17bc4fa5b2434c6f283ffcb2312e5bf3c7cdf5787b79505f094d8de734ac53e COPYING diff --git a/bsp/buildroot/package/nftables/nftables.mk b/bsp/buildroot/package/nftables/nftables.mk index 329b9871..9f12e42c 100644 --- a/bsp/buildroot/package/nftables/nftables.mk +++ b/bsp/buildroot/package/nftables/nftables.mk @@ -4,13 +4,14 @@ # ################################################################################ -NFTABLES_VERSION = 0.8.1 +NFTABLES_VERSION = 0.9.0 NFTABLES_SOURCE = nftables-$(NFTABLES_VERSION).tar.bz2 -NFTABLES_SITE = http://www.netfilter.org/projects/nftables/files +NFTABLES_SITE = https://www.netfilter.org/projects/nftables/files NFTABLES_DEPENDENCIES = gmp libmnl libnftnl host-bison host-flex \ host-pkgconf $(TARGET_NLS_DEPENDENCIES) NFTABLES_LICENSE = GPL-2.0 NFTABLES_LICENSE_FILES = COPYING +NFTABLES_CONF_OPTS = --disable-man-doc --disable-pdf-doc ifeq ($(BR2_PACKAGE_READLINE),y) NFTABLES_DEPENDENCIES += readline @@ -19,16 +20,17 @@ else NFTABLES_CONF_OPTS += --without-cli endif +ifeq ($(BR2_PACKAGE_JANSSON),y) +NFTABLES_DEPENDENCIES += jansson +NFTABLES_CONF_OPTS += --with-json +else +NFTABLES_CONF_OPTS += --without-json +endif + ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_LIBNFTNL_JSON),yy) NFTABLES_LIBS += -ljansson -lm endif -NFTABLES_CONF_ENV = \ - ac_cv_prog_CONFIG_PDF=no \ - LIBS="$(NFTABLES_LIBS)" \ - DBLATEX=no \ - DOCBOOK2X_MAN=no \ - DOCBOOK2MAN=no \ - DB2X_DOCBOOK2MAN=no +NFTABLES_CONF_ENV = LIBS="$(NFTABLES_LIBS)" $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/nghttp2/Config.in b/bsp/buildroot/package/nghttp2/Config.in new file mode 100644 index 00000000..03fe71d0 --- /dev/null +++ b/bsp/buildroot/package/nghttp2/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_NGHTTP2 + bool "nghttp2" + help + nghttp2 is an implementation of HTTP/2 and its header + compression algorithm HPACK in C. + + https://nghttp2.org/ diff --git a/bsp/buildroot/package/nghttp2/nghttp2.hash b/bsp/buildroot/package/nghttp2/nghttp2.hash new file mode 100644 index 00000000..d000fd56 --- /dev/null +++ b/bsp/buildroot/package/nghttp2/nghttp2.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 f75e8f228217f23aa5eabfbab140e061cda00b7c21e34c891ecfb248d663303f nghttp2-1.32.0.tar.gz +sha256 6b94f3abc1aabd0c72a7c7d92a77f79dda7c8a0cb3df839a97890b4116a2de2a COPYING diff --git a/bsp/buildroot/package/nghttp2/nghttp2.mk b/bsp/buildroot/package/nghttp2/nghttp2.mk new file mode 100644 index 00000000..20bfee75 --- /dev/null +++ b/bsp/buildroot/package/nghttp2/nghttp2.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# nghttp2 +# +################################################################################ + +NGHTTP2_VERSION = 1.32.0 +NGHTTP2_SITE = https://github.com/nghttp2/nghttp2/releases/download/v$(NGHTTP2_VERSION) +NGHTTP2_LICENSE = MIT +NGHTTP2_LICENSE_FILES = COPYING +NGHTTP2_INSTALL_STAGING = YES +NGHTTP2_DEPENDENCIES = host-pkgconf +NGHTTP2_CONF_OPTS = --enable-lib-only + +define NGHTTP2_INSTALL_CLEAN_HOOK + # Remove fetch-ocsp-response script unused by library + $(Q)$(RM) -rf $(TARGET_DIR)/usr/share/nghttp2 +endef + +NGHTTP2_POST_INSTALL_TARGET_HOOKS += NGHTTP2_INSTALL_CLEAN_HOOK + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/nginx/S50nginx b/bsp/buildroot/package/nginx/S50nginx old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/nginx/nginx.hash b/bsp/buildroot/package/nginx/nginx.hash index c3e6b6a7..40dba402 100644 --- a/bsp/buildroot/package/nginx/nginx.hash +++ b/bsp/buildroot/package/nginx/nginx.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 a3d8c67c2035808c7c0d475fffe263db8c353b11521aa7ade468b780ed826cc6 nginx-1.15.6.tar.gz +sha256 8f22ea2f6c0e0a221b6ddc02b6428a3ff708e2ad55f9361102b1c9f4142bdf93 nginx-1.15.7.tar.gz # License files, locally calculated sha256 e18f05bcaad47528f8b21861d4a0fb9815ca1bbb4be946c51a51d36623758bcc LICENSE diff --git a/bsp/buildroot/package/nginx/nginx.mk b/bsp/buildroot/package/nginx/nginx.mk index 52531744..3bdd92b3 100644 --- a/bsp/buildroot/package/nginx/nginx.mk +++ b/bsp/buildroot/package/nginx/nginx.mk @@ -4,7 +4,7 @@ # ################################################################################ -NGINX_VERSION = 1.15.6 +NGINX_VERSION = 1.15.7 NGINX_SITE = http://nginx.org/download NGINX_LICENSE = BSD-2-Clause NGINX_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch b/bsp/buildroot/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch new file mode 100644 index 00000000..69c5c887 --- /dev/null +++ b/bsp/buildroot/package/ngrep/0001-Fix-typo-in-configure-in-when-testing-for-use_pcre.patch @@ -0,0 +1,25 @@ +From b8b1e9751e1d074af0dd77c2554c1b25fd8f7abe Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Mon, 1 Jan 2018 18:00:34 +0100 +Subject: [PATCH] Fix typo in configure.in when testing for use_pcre + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/jpr5/ngrep/commit/b8b1e9751e1d074af0dd77c2554c1b25fd8f7abe] +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index cff37e9..06c050a 100644 +--- a/configure.in ++++ b/configure.in +@@ -146,7 +146,7 @@ AC_ARG_ENABLE(pcre, + [ use_pcre="$enableval" ], + [ use_pcre="no" ]) + +-if test use_pcre = yes; then ++if test $use_pcre = yes; then + USE_PCRE="1" + EXTRA_LIBS="$EXTRA_LIBS -lpcre" + else diff --git a/bsp/buildroot/package/ngrep/0001-make-objs.patch b/bsp/buildroot/package/ngrep/0001-make-objs.patch deleted file mode 100644 index 8b55e3f4..00000000 --- a/bsp/buildroot/package/ngrep/0001-make-objs.patch +++ /dev/null @@ -1,23 +0,0 @@ -ngrep: don't include regex objects since we're using pcre - -Signed-off-by: Wade Berrier - ---- ngrep-1.45/Makefile.in.orig 2006-11-28 06:35:37.000000000 -0700 -+++ ngrep-1.45/Makefile.in 2011-06-29 14:05:27.000000000 -0600 -@@ -32,13 +32,13 @@ - - INSTALL = ./install-sh - --REGEX_DIR=@REGEX_DIR@ --REGEX_OBJS=@REGEX_OBJS@ -+REGEX_DIR= -+REGEX_OBJS= - - - all: $(TARGET) - --$(TARGET): $(REGEX_OBJS) $(OBJS) -+$(TARGET): $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(STRIPFLAG) -o $(TARGET) $(OBJS) $(REGEX_OBJS) $(LIBS) - - debug: $(REGEX_OBJS) $(OBJS) diff --git a/bsp/buildroot/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch b/bsp/buildroot/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch new file mode 100644 index 00000000..22b18ab7 --- /dev/null +++ b/bsp/buildroot/package/ngrep/0002-Check-for-libnet_init-in-configure-in.patch @@ -0,0 +1,28 @@ +From 0a51c8bc62c7b49b8d67a360daa6b1957256f4f5 Mon Sep 17 00:00:00 2001 +From: Romain Francoise +Date: Mon, 1 Jan 2018 18:01:13 +0100 +Subject: [PATCH] Check for libnet_init in configure.in + +libnet_init_packet was the old libnet 1.0 function which is now long +deprecated. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/jpr5/ngrep/commit/0a51c8bc62c7b49b8d67a360daa6b1957256f4f5] +--- + configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index 06c050a..dbef39b 100644 +--- a/configure.in ++++ b/configure.in +@@ -174,7 +174,7 @@ dnl + AC_ARG_ENABLE(tcpkill, + [ --enable-tcpkill enable connection killing support (default off)], + [ +- AC_CHECK_LIB(net, libnet_init_packet,,echo !!! error: tcpkill feature enabled but no libnet found; exit) ++ AC_CHECK_LIB(net, libnet_init,,echo !!! error: tcpkill feature enabled but no libnet found; exit) + use_tcpkill="$enableval" + ], + [ use_tcpkill="no" ]) diff --git a/bsp/buildroot/package/ngrep/0002-pcre-header.patch b/bsp/buildroot/package/ngrep/0002-pcre-header.patch deleted file mode 100644 index 40b9234d..00000000 --- a/bsp/buildroot/package/ngrep/0002-pcre-header.patch +++ /dev/null @@ -1,16 +0,0 @@ -ngrep: don't use versioned header - -Signed-off-by: Wade Berrier - -diff -ur ngrep-1.45/ngrep.c ngrep-1.45.mod/ngrep.c ---- ngrep-1.45/ngrep.c Tue Nov 28 15:38:43 2006 -+++ ngrep-1.45.mod/ngrep.c Sat May 19 10:21:27 2007 -@@ -92,7 +92,7 @@ - #endif - - #if USE_PCRE --#include "pcre-5.0/pcre.h" -+#include "pcre.h" - #else - #include "regex-0.12/regex.h" - #endif diff --git a/bsp/buildroot/package/ngrep/0003-fix-disable-tcpkill.patch b/bsp/buildroot/package/ngrep/0003-fix-disable-tcpkill.patch new file mode 100644 index 00000000..1264fd7e --- /dev/null +++ b/bsp/buildroot/package/ngrep/0003-fix-disable-tcpkill.patch @@ -0,0 +1,39 @@ +From e8522284ef326bd9f222e04c4a970ffafa56fba6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 3 Nov 2018 23:23:36 +0100 +Subject: [PATCH] fix --disable-tcpkill + +If the user uses --disable-tcpkill, build can fail if libnet is not +found on the system. + +To fix this, move AC_CHECK_LIB to found libnet outside AC_ARG_ENABLE + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/jpr5/ngrep/pull/15] +--- + configure.in | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index dbef39b..7c3dd43 100644 +--- a/configure.in ++++ b/configure.in +@@ -173,13 +173,11 @@ dnl + + AC_ARG_ENABLE(tcpkill, + [ --enable-tcpkill enable connection killing support (default off)], +-[ +- AC_CHECK_LIB(net, libnet_init,,echo !!! error: tcpkill feature enabled but no libnet found; exit) +- use_tcpkill="$enableval" +-], ++[ use_tcpkill="$enableval" ], + [ use_tcpkill="no" ]) + + if test $use_tcpkill = yes; then ++ AC_CHECK_LIB(net, libnet_init,,echo !!! error: tcpkill feature enabled but no libnet found; exit) + USE_TCPKILL="1" + EXTRA_OBJS="$EXTRA_OBJS tcpkill.o" + EXTRA_DEFINES="$EXTRA_DEFINES $(libnet-config --defines)" +-- +2.17.1 + diff --git a/bsp/buildroot/package/ngrep/0003-fix-static-link.patch b/bsp/buildroot/package/ngrep/0003-fix-static-link.patch deleted file mode 100644 index 98c26269..00000000 --- a/bsp/buildroot/package/ngrep/0003-fix-static-link.patch +++ /dev/null @@ -1,25 +0,0 @@ -ngrep: fix static link with pcre - -Libraries must be placed after object files. - -Signed-off-by: Romain Naour ---- - Makefile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.in b/Makefile.in -index 2ae4506..761d7d9 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -11,7 +11,7 @@ CFLAGS=@CFLAGS@ -D@OS@ @DEFS@ @EXTRA_DEFINES@ - INCLUDES=-I@srcdir@ @PCAP_INCLUDE@ @EXTRA_INCLUDES@ - - LDFLAGS=@LDFLAGS@ @PCAP_LINK@ --LIBS=-lpcap @EXTRA_LIBS@ -+LIBS=@LIBS@ @EXTRA_LIBS@ - - STRIPFLAG=@STRIPFLAG@ - --- -1.8.1.4 - diff --git a/bsp/buildroot/package/ngrep/Config.in b/bsp/buildroot/package/ngrep/Config.in index cd912257..5f87f2f7 100644 --- a/bsp/buildroot/package/ngrep/Config.in +++ b/bsp/buildroot/package/ngrep/Config.in @@ -5,4 +5,4 @@ config BR2_PACKAGE_NGREP help Network grep. - http://ngrep.sourceforge.net/ + https://github.com/jpr5/ngrep/ diff --git a/bsp/buildroot/package/ngrep/ngrep.hash b/bsp/buildroot/package/ngrep/ngrep.hash index e0a6a258..bf9e621a 100644 --- a/bsp/buildroot/package/ngrep/ngrep.hash +++ b/bsp/buildroot/package/ngrep/ngrep.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 aea6dd337da8781847c75b3b5b876e4de9c58520e0d77310679a979fc6402fa7 ngrep-1.45.tar.bz2 +sha256 dc4dbe20991cc36bac5e97e99475e2a1522fd88c59ee2e08f813432c04c5fff3 ngrep-1_47.tar.gz +sha256 d46e593e048e0b9fc803561ed4c283f37a2d5447e4dcfa10cad29b394c2b8b9e LICENSE diff --git a/bsp/buildroot/package/ngrep/ngrep.mk b/bsp/buildroot/package/ngrep/ngrep.mk index 3f569374..d17792cd 100644 --- a/bsp/buildroot/package/ngrep/ngrep.mk +++ b/bsp/buildroot/package/ngrep/ngrep.mk @@ -4,26 +4,31 @@ # ################################################################################ -NGREP_VERSION = 1.45 -NGREP_SOURCE = ngrep-$(NGREP_VERSION).tar.bz2 -NGREP_SITE = http://downloads.sourceforge.net/project/ngrep/ngrep/$(NGREP_VERSION) -NGREP_LICENSE = BSD-4-Clause-like -NGREP_LICENSE_FILES = LICENSE.txt +NGREP_VERSION = 1_47 +NGREP_SITE = $(call github,jpr5,ngrep,V$(NGREP_VERSION)) +NGREP_LICENSE = BSD-4-Clause-like, BSD-3-Clause (tcpkill) +NGREP_LICENSE_FILES = LICENSE NGREP_INSTALL_STAGING = YES +# We're patching configure.in +NGREP_AUTORECONF = YES -NGREP_LIBS = -lpcap -lpcre ifeq ($(BR2_STATIC_LIBS),y) -NGREP_LIBS += `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` +NGREP_CONF_ENV += LIBS=`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` endif -NGREP_CONF_ENV += LIBS+="$(NGREP_LIBS)" NGREP_CONF_OPTS = \ --with-pcap-includes=$(STAGING_DIR)/usr/include/pcap \ --enable-pcre \ - --with-pcre=$(STAGING_DIR)/usr \ --disable-dropprivs \ --disable-pcap-restart NGREP_DEPENDENCIES = libpcap pcre +ifeq ($(BR2_PACKAGE_LIBNET),y) +NGREP_DEPENDENCIES += libnet +NGREP_CONF_OPTS += --enable-tcpkill +else +NGREP_CONF_OPTS += --disable-tcpkill +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/nilfs-utils/Config.in b/bsp/buildroot/package/nilfs-utils/Config.in index e245dc46..7b239b1a 100644 --- a/bsp/buildroot/package/nilfs-utils/Config.in +++ b/bsp/buildroot/package/nilfs-utils/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_NILFS_UTILS bool "nilfs-utils" depends on BR2_USE_MMU # util-linux libmount, libblkid depends on BR2_TOOLCHAIN_HAS_THREADS # sem_open() - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # clock_nanosleep() select BR2_PACKAGE_UTIL_LINUX_LIBUUID select BR2_PACKAGE_UTIL_LINUX_LIBBLKID select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT @@ -12,7 +11,6 @@ config BR2_PACKAGE_NILFS_UTILS https://github.com/nilfs-dev/nilfs-utils -comment "nilfs-utils needs a toolchain w/ threads, NPTL" +comment "nilfs-utils needs a toolchain w/ threads" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS || \ - !BR2_TOOLCHAIN_HAS_THREADS_NPTL + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch b/bsp/buildroot/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch deleted file mode 100644 index ed5cae25..00000000 --- a/bsp/buildroot/package/nmap/0002-configure.ac-fix-AC_CHECK_HEADER-call-to-test-for-li.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ff629766dbd3b5e179330ba4f07fd7e3d8384ec0 Mon Sep 17 00:00:00 2001 -From: Max Filippov -Date: Wed, 1 Nov 2017 15:30:40 +0100 -Subject: [PATCH] configure.ac: fix AC_CHECK_HEADER call to test for libssh2 - -The -lm argument is passed as an argument to AC_CHECK_HEADER(), which -doesn't make sense. The intention was to pass it as the fifth -argument of AC_CHECK_LIB(). - -Signed-off-by: Max Filippov ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 3d00e164e..67db42e08 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -674,7 +674,7 @@ AC_HELP_STRING([--without-libssh2], [Compile without libssh2]), - AC_CHECK_LIB(ssh2, libssh2_version, - [have_libssh2=yes - LIBSSH2_INC=$with_libssh2/include -- LIBSSH2_LIB=$with_libssh2/lib])],,[-lm]) -+ LIBSSH2_LIB=$with_libssh2/lib],,[-lm])]) - - LDFLAGS=$_ldflags - CPPFLAGS=$_cppflags --- -2.13.6 - diff --git a/bsp/buildroot/package/nmap/Config.in b/bsp/buildroot/package/nmap/Config.in index 1f2f996a..51dd3423 100644 --- a/bsp/buildroot/package/nmap/Config.in +++ b/bsp/buildroot/package/nmap/Config.in @@ -5,13 +5,56 @@ config BR2_PACKAGE_NMAP depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_LIBLINEAR select BR2_PACKAGE_LIBPCAP - select BR2_PACKAGE_PCRE + select BR2_PACKAGE_NMAP_NMAP \ + if !BR2_PACKAGE_NMAP_NCAT && !BR2_PACKAGE_NMAP_NPING && !BR2_PACKAGE_NMAP_NDIFF help Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing. http://nmap.org -comment "nmap needs a toolchain w/ C++, threads" +if BR2_PACKAGE_NMAP + +config BR2_PACKAGE_NMAP_NCAT + bool "install ncat" + depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS + help + Ncat is a feature-packed networking utility which reads and + writes data across networks from the command line. Ncat was + written for the Nmap Project as a much-improved + reimplementation of the venerable Netcat. + + If symlink to "nc" is installed if neither netcat or + netcat-openbsd is selected. + +comment "a symlink from ncat to 'nc' will be installed" + depends on BR2_PACKAGE_NMAP_NCAT + depends on !BR2_PACKAGE_NETCAT + depends on !BR2_PACKAGE_NETCAT_OPENBSD + +config BR2_PACKAGE_NMAP_NDIFF + bool "install ndiff" + # ndiff only works with python2.x + depends on BR2_PACKAGE_PYTHON + help + This option installs the 'ndiff' tool. + +comment "ndiff needs Python 2.x" + depends on !BR2_PACKAGE_PYTHON + +config BR2_PACKAGE_NMAP_NMAP + bool "install nmap" + select BR2_PACKAGE_PCRE + help + This option installs 'nmap' itself. + +config BR2_PACKAGE_NMAP_NPING + bool "install nping" + help + This option installs the 'nping' tool. + +endif + +comment "nmap-nmap needs a toolchain w/ C++, threads" depends on BR2_USE_MMU depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/bsp/buildroot/package/nmap/nmap.hash b/bsp/buildroot/package/nmap/nmap.hash index 740ec7a0..349f98d4 100644 --- a/bsp/buildroot/package/nmap/nmap.hash +++ b/bsp/buildroot/package/nmap/nmap.hash @@ -1,2 +1,4 @@ -# From https://nmap.org/dist/sigs/nmap-7.60.tar.bz2.digest.txt -sha256 a8796ecc4fa6c38aad6139d9515dc8113023a82e9d787e5a5fb5fa1b05516f21 nmap-7.60.tar.bz2 +# From https://nmap.org/dist/sigs/nmap-7.70.tar.bz2.digest.txt +sha256 847b068955f792f4cc247593aca6dc3dc4aae12976169873247488de147a6e18 nmap-7.70.tar.bz2 +# Locally calculated +sha256 e013006fbdb7a7923e456e72272b115a5d722a3c6a372f27b5e8fcd282104651 COPYING diff --git a/bsp/buildroot/package/nmap/nmap.mk b/bsp/buildroot/package/nmap/nmap.mk index 3110dfeb..761df3ff 100644 --- a/bsp/buildroot/package/nmap/nmap.mk +++ b/bsp/buildroot/package/nmap/nmap.mk @@ -4,24 +4,15 @@ # ################################################################################ -NMAP_VERSION = 7.60 +NMAP_VERSION = 7.70 NMAP_SITE = https://nmap.org/dist NMAP_SOURCE = nmap-$(NMAP_VERSION).tar.bz2 -NMAP_DEPENDENCIES = libpcap liblinear pcre host-autoconf +NMAP_DEPENDENCIES = liblinear libpcap NMAP_CONF_OPTS = --without-liblua --without-zenmap \ - --with-libdnet=included \ - --with-libpcre="$(STAGING_DIR)/usr" --without-ncat + --with-libdnet=included NMAP_LICENSE = nmap license NMAP_LICENSE_FILES = COPYING -# nmap doesn't autoreconf properly, so we just re-generate the -# top-level configure script, since we are patching configure.ac. -define NMAP_DO_AUTOCONF - (cd $(@D); $(HOST_DIR)/bin/autoconf) -endef - -NMAP_PRE_CONFIGURE_HOOKS += NMAP_DO_AUTOCONF - # needed by libpcap NMAP_LIBS_FOR_STATIC_LINK += `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs` @@ -51,11 +42,46 @@ else NMAP_CONF_OPTS += --without-openssl endif -# ndiff only works with python2.x -ifeq ($(BR2_PACKAGE_PYTHON),y) +NMAP_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) + +ifeq ($(BR2_PACKAGE_NMAP_NCAT),y) +NMAP_CONF_OPTS += --with-ncat +NMAP_MAKE_OPTS += build-ncat +NMAP_INSTALL_TARGET_OPTS += install-ncat +else +NMAP_CONF_OPTS += --without-ncat +endif + +ifeq ($(BR2_PACKAGE_NMAP_NDIFF),y) NMAP_DEPENDENCIES += python +NMAP_CONF_OPTS += --with-ndiff +NMAP_MAKE_OPTS += build-ndiff +NMAP_INSTALL_TARGET_OPTS += install-ndiff else NMAP_CONF_OPTS += --without-ndiff endif +ifeq ($(BR2_PACKAGE_NMAP_NMAP),y) +NMAP_DEPENDENCIES += pcre +NMAP_CONF_OPTS += --with-libpcre="$(STAGING_DIR)/usr" +NMAP_MAKE_OPTS += nmap +NMAP_INSTALL_TARGET_OPTS += install-nmap +endif + +ifeq ($(BR2_PACKAGE_NMAP_NPING),y) +NMAP_CONF_OPTS += --with-nping +NMAP_MAKE_OPTS += build-nping +NMAP_INSTALL_TARGET_OPTS += install-nping +else +NMAP_CONF_OPTS += --without-nping +endif + +# Add a symlink to "nc" if none of the competing netcats is selected +ifeq ($(BR2_PACKAGE_NMAP_NCAT):$(BR2_PACKAGE_NETCAT)$(BR2_PACKAGE_NETCAT_OPENBSD),y:) +define NMAP_INSTALL_NCAT_SYMLINK + ln -fs ncat $(TARGET_DIR)/usr/bin/nc +endef +NMAP_POST_INSTALL_TARGET_HOOKS += NMAP_INSTALL_NCAT_SYMLINK +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/nmon/nmon.mk b/bsp/buildroot/package/nmon/nmon.mk index f561d6dc..f7edd66a 100644 --- a/bsp/buildroot/package/nmon/nmon.mk +++ b/bsp/buildroot/package/nmon/nmon.mk @@ -13,7 +13,7 @@ NMON_DEPENDENCIES = ncurses NMON_CFLAGS = $(TARGET_CFLAGS) -D JFS -D GETUSER -D LARGEMEM -D DEBIAN define NMON_EXTRACT_CMDS - cp $(DL_DIR)/$(NMON_SOURCE) $(@D) + cp $(NMON_DL_DIR)/$(NMON_SOURCE) $(@D) endef define NMON_BUILD_CMDS diff --git a/bsp/buildroot/package/nodejs/nodejs.hash b/bsp/buildroot/package/nodejs/nodejs.hash index 82851722..5a06e532 100644 --- a/bsp/buildroot/package/nodejs/nodejs.hash +++ b/bsp/buildroot/package/nodejs/nodejs.hash @@ -1,5 +1,5 @@ -# From http://nodejs.org/dist/v8.11.4/SHASUMS256.txt -sha256 fbce7de6d96b0bcb0db0bf77f0e6ea999b6755e6930568aedaab06847552a609 node-v8.11.4.tar.xz +# From https://nodejs.org/dist/v8.15.0/SHASUMS256.txt +sha256 968523333947cc3f769d73dedc6c9c60580826d8714bc0e62ca4589de6a7c633 node-v8.15.0.tar.xz # Hash for license file sha256 b87be6c1479ed977481115869c2dd8b6d59e5ea55aa09939d6c898242121b2f5 LICENSE diff --git a/bsp/buildroot/package/nodejs/nodejs.mk b/bsp/buildroot/package/nodejs/nodejs.mk index 3c5e40a4..446cb77d 100644 --- a/bsp/buildroot/package/nodejs/nodejs.mk +++ b/bsp/buildroot/package/nodejs/nodejs.mk @@ -4,13 +4,13 @@ # ################################################################################ -NODEJS_VERSION = 8.11.4 +NODEJS_VERSION = 8.15.0 NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.xz NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) NODEJS_DEPENDENCIES = host-python host-nodejs c-ares \ libhttpparser libuv zlib \ $(call qstrip,$(BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL_DEPS)) -HOST_NODEJS_DEPENDENCIES = host-python host-zlib +HOST_NODEJS_DEPENDENCIES = host-libopenssl host-python host-zlib NODEJS_LICENSE = MIT (core code); MIT, Apache and BSD family licenses (Bundled components) NODEJS_LICENSE_FILES = LICENSE @@ -50,10 +50,6 @@ define HOST_NODEJS_CONFIGURE_CMDS mkdir -p $(@D)/bin ln -sf $(HOST_DIR)/bin/python2 $(@D)/bin/python - # Build with the static, built-in OpenSSL which is supplied as part of - # the nodejs source distribution. This is needed on the host because - # NPM is non-functional without it, and host-openssl isn't part of - # buildroot. (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ PATH=$(@D)/bin:$(BR_PATH) \ @@ -63,6 +59,9 @@ define HOST_NODEJS_CONFIGURE_CMDS --without-snapshot \ --without-dtrace \ --without-etw \ + --shared-openssl \ + --shared-openssl-includes=$(HOST_DIR)/include/openssl \ + --shared-openssl-libpath=$(HOST_DIR)/lib \ --shared-zlib \ --with-intl=none \ ) @@ -97,7 +96,7 @@ NODEJS_CPU = arm else ifeq ($(BR2_aarch64),y) NODEJS_CPU = arm64 # V8 needs to know what floating point ABI the target is using. -NODEJS_ARM_FP = $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) +NODEJS_ARM_FP = $(GCC_TARGET_FLOAT_ABI) endif # MIPS architecture specific options diff --git a/bsp/buildroot/package/nodm/S90nodm b/bsp/buildroot/package/nodm/S90nodm old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/nss-mdns/nss-mdns.mk b/bsp/buildroot/package/nss-mdns/nss-mdns.mk index 407b9426..1512ea2e 100644 --- a/bsp/buildroot/package/nss-mdns/nss-mdns.mk +++ b/bsp/buildroot/package/nss-mdns/nss-mdns.mk @@ -9,14 +9,12 @@ NSS_MDNS_SITE = http://0pointer.de/lennart/projects/nss-mdns NSS_MDNS_LICENSE = LGPL-2.1+ NSS_MDNS_LICENSE_FILES = LICENSE +# add mdns4_minimal / mdns around the dns provider if missing define NSS_MDNS_INSTALL_CONFIG - if [ ! -f "$(TARGET_DIR)/etc/nsswitch.conf" ]; then \ - $(INSTALL) -D -m 0644 package/glibc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf ; \ - fi - sed -r -i -e 's/^(hosts:[[:space:]]+).*/\1files mdns4_minimal [NOTFOUND=return] dns mdns4/' \ + $(SED) '/^hosts:/ {/mdns4/! s/dns/mdns4_minimal [NOTFOUND=return] dns mdns4/}' \ $(TARGET_DIR)/etc/nsswitch.conf endef -NSS_MDNS_POST_INSTALL_TARGET_HOOKS += NSS_MDNS_INSTALL_CONFIG +NSS_MDNS_TARGET_FINALIZE_HOOKS += NSS_MDNS_INSTALL_CONFIG $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/nss-myhostname/Config.in b/bsp/buildroot/package/nss-myhostname/Config.in new file mode 100644 index 00000000..bdd9830e --- /dev/null +++ b/bsp/buildroot/package/nss-myhostname/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_NSS_MYHOSTNAME + bool "nss-myhostname" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_PACKAGE_SYSTEMD_MYHOSTNAME + help + Name Service Switch module for resolving the local hostname + + http://0pointer.de/lennart/projects/nss-myhostname + +comment "nss-myhostname needs a glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_PACKAGE_SYSTEMD_MYHOSTNAME diff --git a/bsp/buildroot/package/nss-myhostname/nss-myhostname.hash b/bsp/buildroot/package/nss-myhostname/nss-myhostname.hash new file mode 100644 index 00000000..dfa531c9 --- /dev/null +++ b/bsp/buildroot/package/nss-myhostname/nss-myhostname.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67e7caf2 nss-myhostname-0.3.tar.gz +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LICENSE diff --git a/bsp/buildroot/package/nss-myhostname/nss-myhostname.mk b/bsp/buildroot/package/nss-myhostname/nss-myhostname.mk new file mode 100644 index 00000000..08683a54 --- /dev/null +++ b/bsp/buildroot/package/nss-myhostname/nss-myhostname.mk @@ -0,0 +1,20 @@ +################################################################################ +# +## nss-myhostname +# +################################################################################ + +NSS_MYHOSTNAME_VERSION = 0.3 +NSS_MYHOSTNAME_SITE = http://0pointer.de/lennart/projects/nss-myhostname +NSS_MYHOSTNAME_LICENSE = LGPL-2.1+ +NSS_MYHOSTNAME_LICENSE_FILES = LICENSE + +# add myhostname after files if missing +define MYHOSTNAME_SET_NSSWITCH + $(SED) '/^hosts:/ {/myhostname/! s/files/files myhostname/}' \ + $(TARGET_DIR)/etc/nsswitch.conf +endef + +NSS_MYHOSTNAME_TARGET_FINALIZE_HOOKS += MYHOSTNAME_SET_NSSWITCH + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/ntp/Config.in b/bsp/buildroot/package/ntp/Config.in index efd47e18..97d933b5 100644 --- a/bsp/buildroot/package/ntp/Config.in +++ b/bsp/buildroot/package/ntp/Config.in @@ -12,7 +12,12 @@ if BR2_PACKAGE_NTP config BR2_PACKAGE_NTP_SNTP bool "sntp" help - Simple network time protocol program + Simple network time protocol program (a replacement + for the ntpdate tool) + + A script is installed as S48sntp which will retrieve and + step the time if there is a large difference before ntpd + takes over the necessary slew adjustments in S49ntp. config BR2_PACKAGE_NTP_NTP_KEYGEN bool "ntp-keygen" diff --git a/bsp/buildroot/package/ntp/S48sntp b/bsp/buildroot/package/ntp/S48sntp new file mode 100644 index 00000000..96d8d507 --- /dev/null +++ b/bsp/buildroot/package/ntp/S48sntp @@ -0,0 +1,55 @@ +#!/bin/sh + +DAEMON="sntp" +# sntp uses all the IPs resolved for the hostname (i.e. pool.ntp.org has 4). +# It will try each until they either all timeout or time has been set. Thus +# default to only providing one NTP pool host. +SNTP_SERVERS="pool.ntp.org" +# Step if time delta is greater then 128ms, otherwise slew +SNTP_ARGS="-Ss -M 128" +SNTP_KEY_CACHE="/tmp/kod" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # Create key cache file to prevents warning that file is missing + touch $SNTP_KEY_CACHE + # shellcheck disable=SC2086 # we need the word splitting + /usr/bin/$DAEMON $SNTP_ARGS -K $SNTP_KEY_CACHE $SNTP_SERVERS + # sntp behavior + # - Does not background + # - Does not infinitely block + # - Time-out w/o network = ~2 sec + # - Time-out w/ network = ~5sec * # of servers + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + echo "Nothing to do, $DAEMON is not a daemon." +} + +restart() { + stop + sleep 1 + start +} + +reload() { + echo "Nothing to do, $DAEMON does not support reload." +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/ntp/S49ntp b/bsp/buildroot/package/ntp/S49ntp old mode 100755 new mode 100644 index b4047fce..35e58746 --- a/bsp/buildroot/package/ntp/S49ntp +++ b/bsp/buildroot/package/ntp/S49ntp @@ -1,10 +1,6 @@ #! /bin/sh NAME=ntpd -DAEMON=/usr/sbin/$NAME - -# Gracefully exit if the package has been removed. -test -x $DAEMON || exit 0 # Read config file if it is present. if [ -r /etc/default/$NAME ] @@ -15,7 +11,7 @@ fi case "$1" in start) printf "Starting $NAME: " - start-stop-daemon -S -q -x $DAEMON -- -g + start-stop-daemon -S -q -x /usr/sbin/ntpd -- -g [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) diff --git a/bsp/buildroot/package/ntp/ntp.mk b/bsp/buildroot/package/ntp/ntp.mk index edd3d521..c62d59e8 100644 --- a/bsp/buildroot/package/ntp/ntp.mk +++ b/bsp/buildroot/package/ntp/ntp.mk @@ -7,7 +7,7 @@ NTP_VERSION_MAJOR = 4.2 NTP_VERSION = $(NTP_VERSION_MAJOR).8p12 NTP_SITE = https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-$(NTP_VERSION_MAJOR) -NTP_DEPENDENCIES = host-pkgconf libevent $(if $(BR2_PACKAGE_BUSYBOX),busybox) +NTP_DEPENDENCIES = host-pkgconf libevent NTP_LICENSE = NTP NTP_LICENSE_FILES = COPYRIGHT NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no @@ -22,7 +22,7 @@ NTP_CONF_OPTS = \ # 0002-ntp-syscalls-fallback.patch NTP_AUTORECONF = YES -ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +ifeq ($(BR2_PACKAGE_OPENSSL),y) NTP_CONF_OPTS += --with-crypto --enable-openssl-random NTP_DEPENDENCIES += openssl else @@ -93,8 +93,16 @@ define NTP_INSTALL_TARGET_CMDS $(INSTALL) -m 644 package/ntp/ntpd.etc.conf $(TARGET_DIR)/etc/ntp.conf endef +# This script will step the time if there is a large difference +# before ntpd takes over the necessary slew adjustments +ifeq ($(BR2_PACKAGE_NTP_SNTP),y) +define NTP_INSTALL_INIT_SYSV_SNTP + $(INSTALL) -D -m 755 package/ntp/S48sntp $(TARGET_DIR)/etc/init.d/S48sntp +endef +endif + ifeq ($(BR2_PACKAGE_NTP_NTPD),y) -define NTP_INSTALL_INIT_SYSV +define NTP_INSTALL_INIT_SYSV_NTPD $(INSTALL) -D -m 755 package/ntp/S49ntp $(TARGET_DIR)/etc/init.d/S49ntp endef @@ -106,4 +114,9 @@ define NTP_INSTALL_INIT_SYSTEMD endef endif +define NTP_INSTALL_INIT_SYSV + $(NTP_INSTALL_INIT_SYSV_NTPD) + $(NTP_INSTALL_INIT_SYSV_SNTP) +endef + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/numactl/numactl.hash b/bsp/buildroot/package/numactl/numactl.hash index c36e24d6..d93af1a7 100644 --- a/bsp/buildroot/package/numactl/numactl.hash +++ b/bsp/buildroot/package/numactl/numactl.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 450c091235f891ee874a8651b179c30f57a1391ca5c4673354740ba65e527861 numactl-2.0.11.tar.gz +sha256 7c3e819c2bdeb883de68bafe88776a01356f7ef565e75ba866c4b49a087c6bdf numactl-v2.0.12.tar.gz +sha256 e2b738b1303c088421b09933a78c1326fe43692e2c05a7c510a2eb7e7a8eb575 README.md diff --git a/bsp/buildroot/package/numactl/numactl.mk b/bsp/buildroot/package/numactl/numactl.mk index d37ee9e8..9efbcb5f 100644 --- a/bsp/buildroot/package/numactl/numactl.mk +++ b/bsp/buildroot/package/numactl/numactl.mk @@ -4,10 +4,11 @@ # ################################################################################ -NUMACTL_VERSION = 2.0.11 -NUMACTL_SITE = ftp://oss.sgi.com/www/projects/libnuma/download +NUMACTL_VERSION = v2.0.12 +NUMACTL_SITE = $(call github,numactl,numactl,$(NUMACTL_VERSION)) NUMACTL_LICENSE = LGPL-2.1 (libnuma), GPL-2.0 (programs) -NUMACTL_LICENSE_FILES = README +NUMACTL_LICENSE_FILES = README.md NUMACTL_INSTALL_STAGING = YES +NUMACTL_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch b/bsp/buildroot/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch new file mode 100644 index 00000000..5a0031ac --- /dev/null +++ b/bsp/buildroot/package/nut/0003-Add-compatibility-with-openssl-1.1.0.patch @@ -0,0 +1,76 @@ +From fcbf18c92918ce5e81d0aab62a7aed5c2245ea4d Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Fri, 1 Jun 2018 11:17:28 -0300 +Subject: [PATCH] Add compatibility with openssl 1.1.0 + +Minor adjustments were needed: +* Openssl 1.1 libs do not need to be initialized. +* TLSv*_method became TLS_*_method. + +Signed-off-by: Eneas U de Queiroz +Upstream: https://github.com/networkupstools/nut/pull/558/ +[added check for libressl] +Signed-off-by: Patrick Havelange +--- + clients/upsclient.c | 5 ++++- + m4/nut_check_libopenssl.m4 | 2 +- + server/netssl.c | 7 +++++-- + 3 files changed, 10 insertions(+), 4 deletions(-) + +diff --git a/clients/upsclient.c b/clients/upsclient.c +index b90587b0..053d60fb 100644 +--- a/clients/upsclient.c ++++ b/clients/upsclient.c +@@ -316,10 +316,13 @@ int upscli_init(int certverify, const char *certpath, + + #ifdef WITH_OPENSSLdefined(LIBRESSL_VERSION_NUMBER) + ++# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_library_init(); + SSL_load_error_strings(); ++# define TLS_client_method TLSv1_client_method ++# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + +- ssl_method = TLSv1_client_method(); ++ ssl_method = TLS_client_method(); + + if (!ssl_method) { + return 0; +diff --git a/m4/nut_check_libopenssl.m4 b/m4/nut_check_libopenssl.m4 +index 1b875077..7eb401cd 100644 +--- a/m4/nut_check_libopenssl.m4 ++++ b/m4/nut_check_libopenssl.m4 +@@ -58,7 +58,7 @@ if test -z "${nut_have_libopenssl_seen}"; then + + dnl check if openssl is usable + AC_CHECK_HEADERS(openssl/ssl.h, [nut_have_openssl=yes], [nut_have_openssl=no], [AC_INCLUDES_DEFAULT]) +- AC_CHECK_FUNCS(SSL_library_init, [], [nut_have_openssl=no]) ++ AC_CHECK_FUNCS(SSL_CTX_new, [], [nut_have_openssl=no]) + + if test "${nut_have_openssl}" = "yes"; then + nut_with_ssl="yes" +diff --git a/server/netssl.c b/server/netssl.c +index c2f40989..0289e296 100644 +--- a/server/netssl.c ++++ b/server/netssl.c +@@ -387,12 +387,15 @@ void ssl_init(void) + + #ifdef WITH_OPENSSL + ++# if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_load_error_strings(); + SSL_library_init(); ++# define TLS_server_method TLSv1_server_method ++# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ + +- if ((ssl_method = TLSv1_server_method()) == NULL) { ++ if ((ssl_method = TLS_server_method()) == NULL) { + ssl_debug(); +- fatalx(EXIT_FAILURE, "TLSv1_server_method failed"); ++ fatalx(EXIT_FAILURE, "TLS_server_method failed"); + } + + if ((ssl_ctx = SSL_CTX_new(ssl_method)) == NULL) { +-- +2.16.1 + diff --git a/bsp/buildroot/package/nvidia-driver/Config.in b/bsp/buildroot/package/nvidia-driver/Config.in index 732d9255..9631b3e7 100644 --- a/bsp/buildroot/package/nvidia-driver/Config.in +++ b/bsp/buildroot/package/nvidia-driver/Config.in @@ -60,6 +60,11 @@ if BR2_PACKAGE_NVIDIA_DRIVER_CUDA config BR2_PACKAGE_NVIDIA_DRIVER_OPENCL bool "OpenCL support" + select BR2_PACKAGE_MESA3D_HEADERS + select BR2_PACKAGE_HAS_LIBOPENCL + +config BR2_PACKAGE_PROVIDES_LIBOPENCL + default "nvidia-driver" if BR2_PACKAGE_NVIDIA_DRIVER_OPENCL config BR2_PACKAGE_NVIDIA_DRIVER_CUDA_PROGS bool "CUDA MPS server and control" diff --git a/bsp/buildroot/package/nvidia-driver/nvidia-driver.hash b/bsp/buildroot/package/nvidia-driver/nvidia-driver.hash index e05b8f04..79ac0526 100644 --- a/bsp/buildroot/package/nvidia-driver/nvidia-driver.hash +++ b/bsp/buildroot/package/nvidia-driver/nvidia-driver.hash @@ -1,3 +1,4 @@ # Locally computed -sha256 3b70587582220ab1102bcb8386f206f89e6b146856af41f16eaa5910e54ef8fd NVIDIA-Linux-x86-384.69.run -sha256 a7b7984fc532be17c262bc4353e279824ae63625d8ae9f1016cb66d199b97650 NVIDIA-Linux-x86_64-384.69.run +sha256 6f4af70ee3d03ed31c497a5d555164c56057b53ecedfc0d2c8de4b0b90728805 NVIDIA-Linux-x86-390.67.run +sha256 6df2ca1a7420b6751bcaf257d321b14f4e5f7ca54d77a43514912a3792ece65a NVIDIA-Linux-x86_64-390.67.run +sha256 bd28b0c5aeeb00eb11d3ec6f6f3449d4b3a40100914258332734a53527997526 LICENSE diff --git a/bsp/buildroot/package/nvidia-driver/nvidia-driver.mk b/bsp/buildroot/package/nvidia-driver/nvidia-driver.mk index e5666105..baf2ba2b 100644 --- a/bsp/buildroot/package/nvidia-driver/nvidia-driver.mk +++ b/bsp/buildroot/package/nvidia-driver/nvidia-driver.mk @@ -4,7 +4,7 @@ # ################################################################################ -NVIDIA_DRIVER_VERSION = 384.69 +NVIDIA_DRIVER_VERSION = 390.67 NVIDIA_DRIVER_SUFFIX = $(if $(BR2_x86_64),_64) NVIDIA_DRIVER_SITE = http://download.nvidia.com/XFree86/Linux-x86$(NVIDIA_DRIVER_SUFFIX)/$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_SOURCE = NVIDIA-Linux-x86$(NVIDIA_DRIVER_SUFFIX)-$(NVIDIA_DRIVER_VERSION).run @@ -20,8 +20,8 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_XORG),y) # are build dependencies of packages that depend on nvidia-driver, so # they should be built prior to those packages, and the only simple # way to do so is to make nvidia-driver depend on them. -NVIDIA_DRIVER_DEPENDENCIES = mesa3d-headers xlib_libX11 xlib_libXext -NVIDIA_DRIVER_PROVIDES = libgl libegl libgles +NVIDIA_DRIVER_DEPENDENCIES += mesa3d-headers xlib_libX11 xlib_libXext +NVIDIA_DRIVER_PROVIDES += libgl libegl libgles # libGL.so.$(NVIDIA_DRIVER_VERSION) is the legacy libGL.so library; it # has been replaced with libGL.so.1.0.0. Installing both is technically @@ -46,26 +46,26 @@ NVIDIA_DRIVER_LIBS_GL = \ libGLX_nvidia.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS_EGL = \ - libEGL.so.1 \ + libEGL.so.1.1.0 \ libGLdispatch.so.0 \ libEGL_nvidia.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS_GLES = \ - libGLESv1_CM.so.1 \ - libGLESv2.so.2 \ + libGLESv1_CM.so.1.2.0 \ + libGLESv2.so.2.1.0 \ libGLESv1_CM_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ libGLESv2_nvidia.so.$(NVIDIA_DRIVER_VERSION) NVIDIA_DRIVER_LIBS_MISC = \ libnvidia-eglcore.so.$(NVIDIA_DRIVER_VERSION) \ - libnvidia-egl-wayland.so.1.0.1 \ + libnvidia-egl-wayland.so.1.0.2 \ libnvidia-glcore.so.$(NVIDIA_DRIVER_VERSION) \ libnvidia-glsi.so.$(NVIDIA_DRIVER_VERSION) \ tls/libnvidia-tls.so.$(NVIDIA_DRIVER_VERSION) \ libvdpau_nvidia.so.$(NVIDIA_DRIVER_VERSION) \ libnvidia-ml.so.$(NVIDIA_DRIVER_VERSION) -NVIDIA_DRIVER_LIBS = \ +NVIDIA_DRIVER_LIBS += \ $(NVIDIA_DRIVER_LIBS_GL) \ $(NVIDIA_DRIVER_LIBS_EGL) \ $(NVIDIA_DRIVER_LIBS_GLES) \ @@ -116,6 +116,8 @@ ifeq ($(BR2_PACKAGE_NVIDIA_DRIVER_OPENCL),y) NVIDIA_DRIVER_LIBS += \ libOpenCL.so.1.0.0 \ libnvidia-opencl.so.$(NVIDIA_DRIVER_VERSION) +NVIDIA_DRIVER_DEPENDENCIES += mesa3d-headers +NVIDIA_DRIVER_PROVIDES += libopencl endif # Build and install the kernel modules if needed @@ -144,7 +146,7 @@ endif # BR2_PACKAGE_NVIDIA_DRIVER_MODULE == y # virtually everywhere, and it is fine enough to provide useful options. # Except it can't extract into an existing (even empty) directory. define NVIDIA_DRIVER_EXTRACT_CMDS - $(SHELL) $(DL_DIR)/$(NVIDIA_DRIVER_SOURCE) --extract-only --target \ + $(SHELL) $(NVIDIA_DRIVER_DL_DIR)/$(NVIDIA_DRIVER_SOURCE) --extract-only --target \ $(@D)/tmp-extract chmod u+w -R $(@D) mv $(@D)/tmp-extract/* $(@D)/tmp-extract/.manifest $(@D) diff --git a/bsp/buildroot/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk b/bsp/buildroot/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk index 55146434..2885021c 100644 --- a/bsp/buildroot/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk +++ b/bsp/buildroot/package/nvidia-tegra23/nvidia-tegra23-codecs/nvidia-tegra23-codecs.mk @@ -15,7 +15,7 @@ NVIDIA_TEGRA23_CODECS_REDISTRIBUTE = NO define NVIDIA_TEGRA23_CODECS_EXTRACT_CMDS $(INSTALL) -d $(@D) $(call suitable-extractor,$(NVIDIA_TEGRA23_CODECS_SOURCE)) \ - $(DL_DIR)/$(NVIDIA_TEGRA23_CODECS_SOURCE) | \ + $(NVIDIA_TEGRA23_CODECS_DL_DIR)/$(NVIDIA_TEGRA23_CODECS_SOURCE) | \ $(TAR) --strip-components=0 -C $(@D) $(TAR_OPTIONS) - $(INSTALL) -d $(@D)/restricted_codecs $(call suitable-extractor,$(@D)/restricted_codecs.tbz2) \ diff --git a/bsp/buildroot/package/ocrad/ocrad.hash b/bsp/buildroot/package/ocrad/ocrad.hash index 5cde4d3a..7ae38c30 100644 --- a/bsp/buildroot/package/ocrad/ocrad.hash +++ b/bsp/buildroot/package/ocrad/ocrad.hash @@ -1,3 +1,3 @@ # Locally calculated after checking pgp signature -sha256 c383d37869baa0990d38d38836d4d567e9e2862aa0cd704868b62dafeac18e3c ocrad-0.26.tar.lz +sha256 a9bfe67e9a040907aff5640dca56392476b6a89e48e37dc94ba846c5b6733b36 ocrad-0.27.tar.lz sha256 3d77c1a58fbde5ddba612d1fe09965e20a3804953eca12e8c1892298bb8a5eef COPYING diff --git a/bsp/buildroot/package/ocrad/ocrad.mk b/bsp/buildroot/package/ocrad/ocrad.mk index 94020d2d..e037a081 100644 --- a/bsp/buildroot/package/ocrad/ocrad.mk +++ b/bsp/buildroot/package/ocrad/ocrad.mk @@ -4,7 +4,7 @@ # ################################################################################ -OCRAD_VERSION = 0.26 +OCRAD_VERSION = 0.27 OCRAD_SOURCE = ocrad-$(OCRAD_VERSION).tar.lz OCRAD_SITE = $(BR2_GNU_MIRROR)/ocrad OCRAD_LICENSE = GPL-3.0+ diff --git a/bsp/buildroot/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch b/bsp/buildroot/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch new file mode 100644 index 00000000..abf51915 --- /dev/null +++ b/bsp/buildroot/package/odhcp6c/0001-dhcpv6-fix-strncpy-bounds.patch @@ -0,0 +1,28 @@ +From 327f73dd7093d04c2dbea13ee30fc3dfafc5e944 Mon Sep 17 00:00:00 2001 +From: Hans Dedecker +Date: Sat, 21 Apr 2018 13:40:29 +0200 +Subject: [PATCH] dhcpv6: fix strncpy bounds + +Fixes dhcpv6.c:138:2: error: 'strncpy' specified bound 16 equals destination size [-Werror=stringop-truncation] strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); + +Signed-off-by: Khem Raj +Signed-off-by: Hans Dedecker +[Retrieved (and backported) from: +https://github.com/openwrt/odhcp6c/commit/327f73dd7093d04c2dbea13ee30fc3dfafc5e944] +Signed-off-by: Fabrice Fontaine +--- + src/dhcpv6.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/dhcpv6.c b/src/dhcpv6.c +index 0b3585c..d70d533 100644 +--- a/src/dhcpv6.c ++++ b/src/dhcpv6.c +@@ -135,7 +135,7 @@ int init_dhcpv6(const char *ifname, unsigned int options, int sol_timeout) + // Detect interface + struct ifreq ifr; +- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); ++ strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name) - 1); + if (ioctl(sock, SIOCGIFINDEX, &ifr) < 0) + return -1; + diff --git a/bsp/buildroot/package/ofono/0002-fix-musl-compile.patch b/bsp/buildroot/package/ofono/0002-fix-musl-compile.patch new file mode 100644 index 00000000..369fb717 --- /dev/null +++ b/bsp/buildroot/package/ofono/0002-fix-musl-compile.patch @@ -0,0 +1,37 @@ +From 4a1d114fa3a5d6bef1f71222787c1f6c3a952284 Mon Sep 17 00:00:00 2001 +From: Nicolas Serafini +Date: Thu, 24 Jan 2019 10:11:42 +0100 +Subject: [PATCH] mbim: add optional copy of TEMP_FAILURE_RETRY macro (fix musl + compile) + +TEMP_FAILURE_RETRY is not available on musl. + +Signed-off-by: Nicolas Serafini +--- + drivers/mbimmodem/mbim.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/mbimmodem/mbim.c b/drivers/mbimmodem/mbim.c +index 54b18acf..4b040528 100644 +--- a/drivers/mbimmodem/mbim.c ++++ b/drivers/mbimmodem/mbim.c +@@ -37,6 +37,16 @@ + #include "mbim-message.h" + #include "mbim-private.h" + ++/* taken from glibc unistd.h for musl support */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ + #define MAX_CONTROL_TRANSFER 4096 + #define HEADER_SIZE (sizeof(struct mbim_message_header) + \ + sizeof(struct mbim_fragment_header)) +-- +2.20.1 + diff --git a/bsp/buildroot/package/ofono/S46ofono b/bsp/buildroot/package/ofono/S46ofono old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/ofono/ofono.hash b/bsp/buildroot/package/ofono/ofono.hash index 37933f12..2dbb9986 100644 --- a/bsp/buildroot/package/ofono/ofono.hash +++ b/bsp/buildroot/package/ofono/ofono.hash @@ -1,2 +1,4 @@ # From https://www.kernel.org/pub/linux/network/ofono/sha256sums.asc -sha256 a6b021cda0b444b772897cd637d5f455857fb5819b62c279a8302b44f9c7f2c3 ofono-1.21.tar.xz +sha256 93bb2cedef54f897dd5200e22b072a6e38b5d9b44be57eebbbe8d513f0beb0e4 ofono-1.28.tar.xz +# Locally computed +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING diff --git a/bsp/buildroot/package/ofono/ofono.mk b/bsp/buildroot/package/ofono/ofono.mk index b4b7915a..0552a181 100644 --- a/bsp/buildroot/package/ofono/ofono.mk +++ b/bsp/buildroot/package/ofono/ofono.mk @@ -4,7 +4,7 @@ # ################################################################################ -OFONO_VERSION = 1.21 +OFONO_VERSION = 1.28 OFONO_SOURCE = ofono-$(OFONO_VERSION).tar.xz OFONO_SITE = $(BR2_KERNEL_MIRROR)/linux/network/ofono OFONO_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/olsr/S50olsr b/bsp/buildroot/package/olsr/S50olsr old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/openal/openal.hash b/bsp/buildroot/package/openal/openal.hash index aead6e15..cb41dc4e 100644 --- a/bsp/buildroot/package/openal/openal.hash +++ b/bsp/buildroot/package/openal/openal.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 2d51a6529526ef22484f51567e31a5c346a599767991a3dc9d4dcd9d9cec71dd openal-soft-1.18.1.tar.bz2 +sha256 9f8ac1e27fba15a59758a13f0c7f6540a0605b6c3a691def9d420570506d7e82 openal-soft-1.18.2.tar.bz2 diff --git a/bsp/buildroot/package/openal/openal.mk b/bsp/buildroot/package/openal/openal.mk index 439f5f10..c687c08b 100644 --- a/bsp/buildroot/package/openal/openal.mk +++ b/bsp/buildroot/package/openal/openal.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENAL_VERSION = 1.18.1 +OPENAL_VERSION = 1.18.2 OPENAL_SOURCE = openal-soft-$(OPENAL_VERSION).tar.bz2 OPENAL_SITE = http://kcat.strangesoft.net/openal-releases OPENAL_LICENSE = LGPL-2.0+ diff --git a/bsp/buildroot/package/openblas/0001-Complete-support-for-MIPS-n32-ABI.patch b/bsp/buildroot/package/openblas/0001-Complete-support-for-MIPS-n32-ABI.patch deleted file mode 100644 index 6e6c5a68..00000000 --- a/bsp/buildroot/package/openblas/0001-Complete-support-for-MIPS-n32-ABI.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 7f28cd1f88145a701e5dbbf50558bb65fce79f61 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Thu, 14 Jul 2016 17:20:51 +0100 -Subject: [PATCH] Complete support for MIPS n32 ABI - -Pull request: https://github.com/xianyi/OpenBLAS/pull/926 - -Signed-off-by: Vicente Olivert Riera ---- - Makefile.system | 27 +++++++++------------------ - c_check | 9 +++++++-- - f_check | 7 ++++++- - 3 files changed, 22 insertions(+), 21 deletions(-) - -diff --git a/Makefile.system b/Makefile.system -index 24a7a64..bbcdb82 100644 ---- a/Makefile.system -+++ b/Makefile.system -@@ -502,13 +502,16 @@ endif - - ifdef NO_BINARY_MODE - --ifeq ($(ARCH), $(filter $(ARCH),mips64 mips)) -+ifeq ($(ARCH), $(filter $(ARCH),mips64)) - ifdef BINARY64 - CCOMMON_OPT += -mabi=64 - else --CCOMMON_OPT += -mabi=32 -+CCOMMON_OPT += -mabi=n32 - endif - BINARY_DEFINED = 1 -+else ifeq ($(ARCH), $(filter $(ARCH),mips)) -+CCOMMON_OPT += -mabi=32 -+BINARY_DEFINED = 1 - endif - - ifeq ($(CORE), LOONGSON3A) -@@ -599,12 +602,14 @@ ifneq ($(NO_LAPACK), 1) - EXTRALIB += -lgfortran - endif - ifdef NO_BINARY_MODE --ifeq ($(ARCH), $(filter $(ARCH),mips64 mips)) -+ifeq ($(ARCH), $(filter $(ARCH),mips64)) - ifdef BINARY64 - FCOMMON_OPT += -mabi=64 - else --FCOMMON_OPT += -mabi=32 -+FCOMMON_OPT += -mabi=n32 - endif -+else ifeq ($(ARCH), $(filter $(ARCH),mips)) -+FCOMMON_OPT += -mabi=32 - endif - else - ifdef BINARY64 -@@ -688,20 +693,6 @@ endif - endif - endif - --ifeq ($(filter $(ARCH),mips64 mips)) --ifndef BINARY64 --FCOMMON_OPT += -m32 --else --FCOMMON_OPT += -m64 --endif --else --ifdef BINARY64 --FCOMMON_OPT += -mabi=64 --else --FCOMMON_OPT += -mabi=32 --endif --endif -- - ifeq ($(USE_OPENMP), 1) - FCOMMON_OPT += -mp - endif -diff --git a/c_check b/c_check -index 50ff360..9f457df 100644 ---- a/c_check -+++ b/c_check -@@ -79,8 +79,13 @@ if ($os eq "AIX") { - $defined = 1; - } - --if (($architecture eq "mips") || ($architecture eq "mips64")) { -- $compiler_name .= " -mabi=32" if ($binary eq "32"); -+if ($architecture eq "mips") { -+ $compiler_name .= " -mabi=32"; -+ $defined = 1; -+} -+ -+if ($architecture eq "mips64") { -+ $compiler_name .= " -mabi=n32" if ($binary eq "32"); - $compiler_name .= " -mabi=64" if ($binary eq "64"); - $defined = 1; - } -diff --git a/f_check b/f_check -index 4c03ac7..3520e8b 100644 ---- a/f_check -+++ b/f_check -@@ -223,7 +223,12 @@ if (!$?) { - } - #For gfortran MIPS - if ($?) { -- $link = `$compiler $openmp -mabi=32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; -+ $mips_data = `$compiler_bin -E -dM - < /dev/null`; -+ if ($mips_data =~ /_MIPS_ISA_MIPS64/) { -+ $link = `$compiler $openmp -mabi=n32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; -+ } else { -+ $link = `$compiler $openmp -mabi=32 -v ftest2.f 2>&1 && rm -f a.out a.exe`; -+ } - } - $binary = "" if ($?); - } --- -2.7.3 - diff --git a/bsp/buildroot/package/openblas/0001-Makefile.arm-remove-march-flags.patch b/bsp/buildroot/package/openblas/0001-Makefile.arm-remove-march-flags.patch new file mode 100644 index 00000000..db975de5 --- /dev/null +++ b/bsp/buildroot/package/openblas/0001-Makefile.arm-remove-march-flags.patch @@ -0,0 +1,55 @@ +From e6c498f68b61057fb5505e41c3858c2b5d223227 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 7 Aug 2016 23:20:00 +0200 +Subject: [PATCH] Makefile.arm: remove -march flags + +The provided -march flags, especially for ARMv5 and ARMv6 may not +necessarily match the needed ones: for ARMv5, it might be armv5, +armv5te, armv5t, etc. If the wrong one is used, the incorrect toolchain +sysroot can be used in a multilib toolchain. + +Therefore, let the user building OpenBLAS pass the appropriate -march +flag. + +The other flags, such as -mfpu=vfp or -mfloat-abi=hard are kept, as they +are actually required for the build to proceed (OpenBLAS uses VFP +instructions, and assume an EABIhf ABI). + +[Peter: update for v0.2.20] +Signed-off-by: Thomas Petazzoni +Signed-off-by: Peter Korsgaard +--- + Makefile.arm | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/Makefile.arm b/Makefile.arm +index eedd39b7..b5d80f8e 100644 +--- a/Makefile.arm ++++ b/Makefile.arm +@@ -1,7 +1,7 @@ + ifeq ($(CORE), $(filter $(CORE),ARMV7 CORTEXA9 CORTEXA15)) + ifeq ($(OSNAME), Android) +-CCOMMON_OPT += -mfpu=neon -march=armv7-a +-FCOMMON_OPT += -mfpu=neon -march=armv7-a ++CCOMMON_OPT += -mfpu=neon ++FCOMMON_OPT += -mfpu=neon + else + CCOMMON_OPT += -mfpu=vfpv3 -march=armv7-a + FCOMMON_OPT += -mfpu=vfpv3 -march=armv7-a +@@ -9,11 +9,6 @@ endif + endif + + ifeq ($(CORE), ARMV6) +-CCOMMON_OPT += -mfpu=vfp -march=armv6 +-FCOMMON_OPT += -mfpu=vfp -march=armv6 +-endif +- +-ifeq ($(CORE), ARMV5) +-CCOMMON_OPT += -march=armv5 +-FCOMMON_OPT += -march=armv5 ++CCOMMON_OPT += -mfpu=vfp ++FCOMMON_OPT += -mfpu=vfp + endif +-- +2.11.0 + diff --git a/bsp/buildroot/package/openblas/0002-Makefile.arm-remove-march-flags.patch b/bsp/buildroot/package/openblas/0002-Makefile.arm-remove-march-flags.patch deleted file mode 100644 index 39058f7d..00000000 --- a/bsp/buildroot/package/openblas/0002-Makefile.arm-remove-march-flags.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 71b9e9b7f080c464777d07bd1a917a1c449d2ef8 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 7 Aug 2016 23:20:00 +0200 -Subject: [PATCH] Makefile.arm: remove -march flags - -The provided -march flags, especially for ARMv5 and ARMv6 may not -necessarily match the needed ones: for ARMv5, it might be armv5, -armv5te, armv5t, etc. If the wrong one is used, the incorrect toolchain -sysroot can be used in a multilib toolchain. - -Therefore, let the user building OpenBLAS pass the appropriate -march -flag. - -The other flags, such as -mfpu=vfp or -mfloat-abi=hard are kept, as they -are actually required for the build to proceed (OpenBLAS uses VFP -instructions, and assume an EABIhf ABI). - -Signed-off-by: Thomas Petazzoni ---- - Makefile.arm | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/Makefile.arm b/Makefile.arm -index 62bf275..c0d6ab8 100644 ---- a/Makefile.arm -+++ b/Makefile.arm -@@ -1,31 +1,31 @@ - # ifeq logical or - ifeq ($(CORE), $(filter $(CORE),CORTEXA9 CORTEXA15)) - ifeq ($(OSNAME), Android) --CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a --FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a -+CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -+FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard - else --CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a --FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a -+CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -+FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard - endif - endif - - ifeq ($(CORE), ARMV7) - ifeq ($(OSNAME), Android) --CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a -Wl,--no-warn-mismatch --FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -march=armv7-a -Wl,--no-warn-mismatch -+CCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -Wl,--no-warn-mismatch -+FCOMMON_OPT += -marm -mfpu=neon -mfloat-abi=hard -Wl,--no-warn-mismatch - else --CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a --FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -march=armv7-a -+CCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard -+FCOMMON_OPT += -marm -mfpu=vfpv3 -mfloat-abi=hard - endif - endif - - ifeq ($(CORE), ARMV6) --CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6 --FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6 -+CCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard -+FCOMMON_OPT += -marm -mfpu=vfp -mfloat-abi=hard - endif - - - ifeq ($(CORE), ARMV5) --CCOMMON_OPT += -marm -march=armv5 --FCOMMON_OPT += -marm -march=armv5 -+CCOMMON_OPT += -marm -+FCOMMON_OPT += -marm - endif --- -2.7.4 - diff --git a/bsp/buildroot/package/openblas/0002-Rework-__GLIBC_PREREQ-checks-to-avoid-breaking-non-g.patch b/bsp/buildroot/package/openblas/0002-Rework-__GLIBC_PREREQ-checks-to-avoid-breaking-non-g.patch new file mode 100644 index 00000000..7659ee08 --- /dev/null +++ b/bsp/buildroot/package/openblas/0002-Rework-__GLIBC_PREREQ-checks-to-avoid-breaking-non-g.patch @@ -0,0 +1,73 @@ +From ad0f270ed32635d8ef9a7446ae280db415cf78ac Mon Sep 17 00:00:00 2001 +From: Martin Kroeker +Date: Mon, 31 Jul 2017 21:02:43 +0200 +Subject: [PATCH] Rework __GLIBC_PREREQ checks to avoid breaking non-glibc + builds + +[baruch: backported to v0.2.20 +Signed-off-by: Baruch Siach +--- +Upstream status: commit 63cfa32691680 + + driver/others/memory.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/driver/others/memory.c b/driver/others/memory.c +index 38d063715602..79d6988e08a4 100644 +--- a/driver/others/memory.c ++++ b/driver/others/memory.c +@@ -155,7 +155,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #ifdef DYNAMIC_ARCH + gotoblas_t *gotoblas = NULL; + #endif +- + extern void openblas_warning(int verbose, const char * msg); + + #ifndef SMP +@@ -187,25 +186,24 @@ int i,n; + + #if !defined(__GLIBC_PREREQ) + return nums; +-#endif +-#if !__GLIBC_PREREQ(2, 3) ++#else ++ #if !__GLIBC_PREREQ(2, 3) + return nums; +-#endif ++ #endif + +-#if !__GLIBC_PREREQ(2, 7) ++ #if !__GLIBC_PREREQ(2, 7) + ret = sched_getaffinity(0,sizeof(cpu_set_t), cpusetp); + if (ret!=0) return nums; + n=0; +-#if !__GLIBC_PREREQ(2, 6) ++ #if !__GLIBC_PREREQ(2, 6) + for (i=0;i +Date: Tue, 17 Apr 2018 18:46:29 +0300 +Subject: [PATCH] Fix build when __GLIBC_PREREQ is not defined + +Rearrange the code so that __GLIBC_PREREQ is not used when not defined. +This fixes build with musl libc. + +[baruch: backport to v0.2.20] +Signed-off-by: Baruch Siach +--- +Upstream status: combines upstream commits 480e69768176 and c4af196a2d +--- + driver/others/init.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/driver/others/init.c b/driver/others/init.c +index 4c75d72e4075..adce075f0ac0 100644 +--- a/driver/others/init.c ++++ b/driver/others/init.c +@@ -838,7 +838,11 @@ void gotoblas_affinity_init(void) { + + nums = sysconf(_SC_NPROCESSORS_CONF); + +-#if !defined(__GLIBC_PREREQ) || !__GLIBC_PREREQ(2, 3) ++#if !defined(__GLIBC_PREREQ) ++ common->num_procs = nums; ++#else ++ ++#if !__GLIBC_PREREQ(2, 3) + common->num_procs = nums; + #elif __GLIBC_PREREQ(2, 7) + cpusetp = CPU_ALLOC(nums); +@@ -872,6 +876,8 @@ void gotoblas_affinity_init(void) { + + #endif + ++#endif ++ + if(common -> num_procs > MAX_CPUS) { + fprintf(stderr, "\nOpenBLAS Warning : The number of CPU/Cores(%d) is beyond the limit(%d). Terminated.\n", common->num_procs, MAX_CPUS); + exit(1); +-- +2.17.0 + diff --git a/bsp/buildroot/package/openblas/openblas.hash b/bsp/buildroot/package/openblas/openblas.hash index b402cac5..e4a3989f 100644 --- a/bsp/buildroot/package/openblas/openblas.hash +++ b/bsp/buildroot/package/openblas/openblas.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2ad0270a39dbaf891b439baacf198ea4ab149cd6ed39a5f50c494723f1936be5 openblas-f04af36ad0e85b64f12a7c38095383192cc52345.tar.gz +sha256 5ef38b15d9c652985774869efd548b8e3e972e1e99475c673b25537ed7bcf394 openblas-v0.2.20.tar.gz +sha256 190b5a9c8d9723fe958ad33916bd7346d96fab3c5ea90832bb02d854f620fcff LICENSE diff --git a/bsp/buildroot/package/openblas/openblas.mk b/bsp/buildroot/package/openblas/openblas.mk index 93dbc1f9..e9a87b02 100644 --- a/bsp/buildroot/package/openblas/openblas.mk +++ b/bsp/buildroot/package/openblas/openblas.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENBLAS_VERSION = f04af36ad0e85b64f12a7c38095383192cc52345 +OPENBLAS_VERSION = v0.2.20 OPENBLAS_SITE = $(call github,xianyi,OpenBLAS,$(OPENBLAS_VERSION)) OPENBLAS_LICENSE = BSD-3-Clause OPENBLAS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch b/bsp/buildroot/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch deleted file mode 100644 index 9a81d930..00000000 --- a/bsp/buildroot/package/opencv/0003-Update-OpenCVCompilerOptions.cmake.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 126de0cd95418811e302996161e03195bf7e631a Mon Sep 17 00:00:00 2001 -From: neok-m4700 -Date: Tue, 25 Jul 2017 10:25:20 +0200 -Subject: [PATCH] Update OpenCVCompilerOptions.cmake - -misplaced else - -[Upstream commit: https://github.com/opencv/opencv/commit/126de0cd95418811e302996161e03195bf7e631a] -Signed-off-by: Samuel Martin ---- - cmake/OpenCVCompilerOptions.cmake | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake -index 9b2a4e42e..7b079c5f9 100644 ---- a/cmake/OpenCVCompilerOptions.cmake -+++ b/cmake/OpenCVCompilerOptions.cmake -@@ -18,9 +18,9 @@ if(ENABLE_CCACHE AND NOT CMAKE_COMPILER_IS_CCACHE) - message(STATUS "Unable to compile program with enabled ccache, reverting...") - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${__OLD_RULE_LAUNCH_COMPILE}") - endif() -- else() -- message(STATUS "Looking for ccache - not found") - endif() -+ else() -+ message(STATUS "Looking for ccache - not found") - endif() - endif() - --- -2.15.0 - diff --git a/bsp/buildroot/package/opencv/Config.in b/bsp/buildroot/package/opencv/Config.in index b7c8c416..54094b29 100644 --- a/bsp/buildroot/package/opencv/Config.in +++ b/bsp/buildroot/package/opencv/Config.in @@ -266,18 +266,6 @@ config BR2_PACKAGE_OPENCV_WITH_PNG help Use shared libpng from the target system. -config BR2_PACKAGE_OPENCV_WITH_QT - bool "qt backend support" - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_USE_MMU # qt - depends on BR2_PACKAGE_OPENCV_LIB_HIGHGUI - select BR2_PACKAGE_QT - select BR2_PACKAGE_QT_STL - select BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_TEST - help - Use Qt with QtTest module and STL support - config BR2_PACKAGE_OPENCV_WITH_TIFF bool "tiff support" select BR2_PACKAGE_TIFF diff --git a/bsp/buildroot/package/opencv/opencv.hash b/bsp/buildroot/package/opencv/opencv.hash index 5b4b80d0..dfb3b285 100644 --- a/bsp/buildroot/package/opencv/opencv.hash +++ b/bsp/buildroot/package/opencv/opencv.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 fb4769d0119c35426c3754b7fb079b407911e863958db53bdec83c7794582e41 opencv-2.4.13.3.tar.gz +sha256 192d903588ae2cdceab3d7dc5a5636b023132c8369f184ca89ccec0312ae33d0 opencv-2.4.13.7.tar.gz sha256 46e42877dfc3ac65769292cb4dc1a04b204ad9e40859a390f4c035d6179fbcc4 LICENSE diff --git a/bsp/buildroot/package/opencv/opencv.mk b/bsp/buildroot/package/opencv/opencv.mk index d170aec5..ccc2d820 100644 --- a/bsp/buildroot/package/opencv/opencv.mk +++ b/bsp/buildroot/package/opencv/opencv.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENCV_VERSION = 2.4.13.3 +OPENCV_VERSION = 2.4.13.7 OPENCV_SITE = $(call github,itseez,opencv,$(OPENCV_VERSION)) OPENCV_INSTALL_STAGING = YES OPENCV_LICENSE = BSD-3-Clause @@ -160,6 +160,7 @@ OPENCV_CONF_OPTS += \ -DWITH_OPENGL=OFF \ -DWITH_OPENMP=OFF \ -DWITH_OPENNI=OFF \ + -DWITH_QT=OFF \ -DWITH_UNICAP=OFF \ -DWITH_XINE=OFF @@ -215,13 +216,6 @@ else OPENCV_CONF_OPTS += -DWITH_PNG=OFF endif -ifeq ($(BR2_PACKAGE_OPENCV_WITH_QT),y) -OPENCV_CONF_OPTS += -DWITH_QT=4 -OPENCV_DEPENDENCIES += qt -else -OPENCV_CONF_OPTS += -DWITH_QT=OFF -endif - ifeq ($(BR2_PACKAGE_OPENCV_WITH_TIFF),y) OPENCV_CONF_OPTS += -DWITH_TIFF=ON OPENCV_DEPENDENCIES += tiff diff --git a/bsp/buildroot/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch b/bsp/buildroot/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch new file mode 100644 index 00000000..7743eae5 --- /dev/null +++ b/bsp/buildroot/package/opencv3/0001-3rdparty-protobuf-fix-compilation-issue-on-s390.patch @@ -0,0 +1,38 @@ +From ac9ec55b37b2dd3b224144b4f20857a80719b750 Mon Sep 17 00:00:00 2001 +From: Loic Devulder +Date: Fri, 28 Sep 2018 15:33:18 +0200 +Subject: [PATCH] 3rdparty/protobuf: fix compilation issue on s390 + +This commit fixes an issue while trying to compile +on s390x architecture. + +This is simply a backport of a fixe already applied +in official protobuf code: +- https://github.com/protocolbuffers/protobuf/pull/3955 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/opencv/opencv/commit/ac9ec55b37b2dd3b224144b4f20857a80719b750] +--- + .../protobuf/stubs/atomicops_internals_generic_gcc.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/3rdparty/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h b/3rdparty/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +index 0b0b06ce6cf..075c406abab 100644 +--- a/3rdparty/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h ++++ b/3rdparty/protobuf/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +@@ -146,6 +146,14 @@ inline Atomic64 NoBarrier_Load(volatile const Atomic64* ptr) { + return __atomic_load_n(ptr, __ATOMIC_RELAXED); + } + ++inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr, ++ Atomic64 old_value, ++ Atomic64 new_value) { ++ __atomic_compare_exchange_n(ptr, &old_value, new_value, false, ++ __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); ++ return old_value; ++} ++ + #endif // defined(__LP64__) + + } // namespace internal diff --git a/bsp/buildroot/package/opencv3/Config.in b/bsp/buildroot/package/opencv3/Config.in index 80a297a9..61405a7c 100644 --- a/bsp/buildroot/package/opencv3/Config.in +++ b/bsp/buildroot/package/opencv3/Config.in @@ -82,20 +82,6 @@ comment "gtk3 support needs libgtk3" depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_PACKAGE_LIBGTK3 -config BR2_PACKAGE_OPENCV3_WITH_QT - bool "qt4" - depends on BR2_PACKAGE_QT - select BR2_PACKAGE_QT_STL - select BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_TEST - help - Use Qt4 with QtTest and QtGui modules and STL support, as - GUI toolkit. - -comment "qt4 support needs qt" - depends on BR2_USE_MMU # qt - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 - config BR2_PACKAGE_OPENCV3_WITH_QT5 bool "qt5" depends on BR2_PACKAGE_QT5 @@ -108,7 +94,7 @@ config BR2_PACKAGE_OPENCV3_WITH_QT5 components, as GUI toolkit. comment "qt5 support needs qt5" - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 + depends on !BR2_PACKAGE_QT5 endchoice diff --git a/bsp/buildroot/package/opencv3/opencv3.hash b/bsp/buildroot/package/opencv3/opencv3.hash index de15bc8c..34baf260 100644 --- a/bsp/buildroot/package/opencv3/opencv3.hash +++ b/bsp/buildroot/package/opencv3/opencv3.hash @@ -1,4 +1,3 @@ # Locally calculated -sha256 8bb312b9d9fd17336dc1f8b3ac82f021ca50e2034afc866098866176d985adc6 opencv3-3.3.0.tar.gz -# License files, locally calculated -sha256 e974db937899a2505f0eb43ece9d2f2eb36e8580ad88785e3ffac0d697ebaf5d LICENSE +sha256 4eef85759d5450b183459ff216b4c0fa43e87a4f6aa92c8af649f89336f002ec opencv3-3.4.3.tar.gz +sha256 fea311907cb6271b05ff5843b238e0f2edb6f204a3432975211030d20704b321 LICENSE diff --git a/bsp/buildroot/package/opencv3/opencv3.mk b/bsp/buildroot/package/opencv3/opencv3.mk index 15e4eadf..3a2594b5 100644 --- a/bsp/buildroot/package/opencv3/opencv3.mk +++ b/bsp/buildroot/package/opencv3/opencv3.mk @@ -4,20 +4,28 @@ # ################################################################################ -OPENCV3_VERSION = 3.3.0 +OPENCV3_VERSION = 3.4.3 OPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION)) OPENCV3_INSTALL_STAGING = YES OPENCV3_LICENSE = BSD-3-Clause OPENCV3_LICENSE_FILES = LICENSE OPENCV3_SUPPORTS_IN_SOURCE_BUILD = NO +OPENCV3_CXXFLAGS = $(TARGET_CXXFLAGS) + # Uses __atomic_fetch_add_4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) -OPENCV3_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +OPENCV3_CXXFLAGS += -latomic +endif + +# Fix c++11 build with missing std::exception_ptr +ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y) +OPENCV3_CXXFLAGS += -DCV__EXCEPTION_PTR=0 endif # OpenCV component options OPENCV3_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="$(OPENCV3_CXXFLAGS)" \ -DBUILD_DOCS=OFF \ -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),ON,OFF) \ -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_TESTS),ON,OFF) \ @@ -99,7 +107,14 @@ OPENCV3_CONF_OPTS += \ # * PowerPC support is turned off since its only effect is altering CFLAGS, # adding '-mcpu=G3 -mtune=G5' to them, which is already handled by Buildroot. OPENCV3_CONF_OPTS += \ - -DENABLE_POWERPC=OFF + -DENABLE_POWERPC=OFF \ + -DENABLE_NEON=$(if $(BR2_ARM_CPU_HAS_NEON),ON,OFF) + +ifeq ($(BR2_ARCH_IS_64):$(BR2_ARM_CPU_HAS_VFPV3),:y) +OPENCV3_CONF_OPTS += -DENABLE_VFPV3=ON +else +OPENCV3_CONF_OPTS += -DENABLE_VFPV3=OFF +endif # Cuda stuff OPENCV3_CONF_OPTS += \ @@ -273,18 +288,11 @@ else OPENCV3_CONF_OPTS += -DWITH_PNG=OFF endif -ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT)$(BR2_PACKAGE_OPENCV3_WITH_QT5),) -OPENCV3_CONF_OPTS += -DWITH_QT=OFF -endif - -ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT),y) -OPENCV3_CONF_OPTS += -DWITH_QT=4 -OPENCV3_DEPENDENCIES += qt -endif - ifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT5),y) OPENCV3_CONF_OPTS += -DWITH_QT=5 OPENCV3_DEPENDENCIES += qt5base +else +OPENCV3_CONF_OPTS += -DWITH_QT=OFF endif ifeq ($(BR2_PACKAGE_OPENCV3_WITH_TIFF),y) diff --git a/bsp/buildroot/package/opengl/Config.in b/bsp/buildroot/package/opengl/Config.in index 20ee28b0..cbc00142 100644 --- a/bsp/buildroot/package/opengl/Config.in +++ b/bsp/buildroot/package/opengl/Config.in @@ -1,5 +1,6 @@ source "package/opengl/libgl/Config.in" source "package/opengl/libegl/Config.in" source "package/opengl/libgles/Config.in" +source "package/opengl/libopencl/Config.in" source "package/opengl/libopenvg/Config.in" source "package/opengl/libopenmax/Config.in" diff --git a/bsp/buildroot/package/opengl/libopencl/Config.in b/bsp/buildroot/package/opengl/libopencl/Config.in new file mode 100644 index 00000000..57a3ad7d --- /dev/null +++ b/bsp/buildroot/package/opengl/libopencl/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HAS_LIBOPENCL + bool + +config BR2_PACKAGE_PROVIDES_LIBOPENCL + string + depends on BR2_PACKAGE_HAS_LIBOPENCL diff --git a/bsp/buildroot/package/opengl/libopencl/libopencl.mk b/bsp/buildroot/package/opengl/libopencl/libopencl.mk new file mode 100644 index 00000000..e1c71f82 --- /dev/null +++ b/bsp/buildroot/package/opengl/libopencl/libopencl.mk @@ -0,0 +1,7 @@ +################################################################################ +# +# libopencl +# +################################################################################ + +$(eval $(virtual-package)) diff --git a/bsp/buildroot/package/openldap/openldap.hash b/bsp/buildroot/package/openldap/openldap.hash index aec4aaeb..37e2673c 100644 --- a/bsp/buildroot/package/openldap/openldap.hash +++ b/bsp/buildroot/package/openldap/openldap.hash @@ -1,4 +1,7 @@ -# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.45.md5 -md5 00ff8301277cdfd0af728a6927042a13 openldap-2.4.45.tgz -# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.45.sha1 -sha1 c98437385d3eaee80c9e2c09f3f0d4b7c140233d openldap-2.4.45.tgz +# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.46.md5 +md5 829016c5a9f45c51adc50073ac6f9fd7 openldap-2.4.46.tgz +# From http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.46.sha1 +sha1 a9ae2273eb9bdd70090dafe0d018a3132606bef6 openldap-2.4.46.tgz +# Locally computed +sha256 9a90dcb86b99ae790ccab93b7585a31fbcbeec8c94bf0f7ab0ca0a87ea0c4b2d openldap-2.4.46.tgz +sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/bsp/buildroot/package/openldap/openldap.mk b/bsp/buildroot/package/openldap/openldap.mk index 2bf6fc3f..3f00f2b7 100644 --- a/bsp/buildroot/package/openldap/openldap.mk +++ b/bsp/buildroot/package/openldap/openldap.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENLDAP_VERSION = 2.4.45 +OPENLDAP_VERSION = 2.4.46 OPENLDAP_SOURCE = openldap-$(OPENLDAP_VERSION).tgz OPENLDAP_SITE = http://www.openldap.org/software/download/OpenLDAP/openldap-release OPENLDAP_LICENSE = OpenLDAP Public License @@ -12,9 +12,9 @@ OPENLDAP_LICENSE_FILES = LICENSE OPENLDAP_INSTALL_STAGING = YES OPENLDAP_DEPENDENCIES = host-pkgconf -ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) +ifeq ($(BR2_PACKAGE_OPENSSL),y) OPENLDAP_TLS = openssl -OPENLDAP_DEPENDENCIES += libopenssl +OPENLDAP_DEPENDENCIES += openssl else ifeq ($(BR2_PACKAGE_GNUTLS),y) OPENLDAP_TLS = gnutls OPENLDAP_DEPENDENCIES += gnutls diff --git a/bsp/buildroot/package/openmpi/openmpi.hash b/bsp/buildroot/package/openmpi/openmpi.hash index 4e967e65..4e76951c 100644 --- a/bsp/buildroot/package/openmpi/openmpi.hash +++ b/bsp/buildroot/package/openmpi/openmpi.hash @@ -1,5 +1,6 @@ -# From: https://www.open-mpi.org/software/ompi/v1.10/ -md5 c87c613f9acb1a4eee21fa1ac8042579 openmpi-1.10.7.tar.bz2 -sha1 fe359d8caa4888625308cf03343d913dd5ac6198 openmpi-1.10.7.tar.bz2 +# From: https://www.open-mpi.org/software/ompi/v4.0/ +md5 e3da67df1e968c8798827e0e5fe9a510 openmpi-4.0.0.tar.bz2 +sha1 fee1d0287abfb150bae16957de342752c9bdd4e8 openmpi-4.0.0.tar.bz2 # Locally computed -sha256 a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90 openmpi-1.10.7.tar.bz2 +sha256 2f0b8a36cfeb7354b45dda3c5425ef8393c9b04115570b615213faaa3f97366b openmpi-4.0.0.tar.bz2 +sha256 8298a80ed5f09cfd007bae1c0e7d67d1c2810c6389876778dad070c31a691dac LICENSE diff --git a/bsp/buildroot/package/openmpi/openmpi.mk b/bsp/buildroot/package/openmpi/openmpi.mk index df3270f5..8d9eafd6 100644 --- a/bsp/buildroot/package/openmpi/openmpi.mk +++ b/bsp/buildroot/package/openmpi/openmpi.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENMPI_VERSION_MAJOR = 1.10 -OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).7 +OPENMPI_VERSION_MAJOR = 4.0 +OPENMPI_VERSION = $(OPENMPI_VERSION_MAJOR).0 OPENMPI_SITE = https://www.open-mpi.org/software/ompi/v$(OPENMPI_VERSION_MAJOR)/downloads OPENMPI_SOURCE = openmpi-$(OPENMPI_VERSION).tar.bz2 OPENMPI_LICENSE = BSD-3-Clause diff --git a/bsp/buildroot/package/openntpd/S49ntp b/bsp/buildroot/package/openntpd/S49ntp old mode 100755 new mode 100644 index c211ac83..7ce46eba --- a/bsp/buildroot/package/openntpd/S49ntp +++ b/bsp/buildroot/package/openntpd/S49ntp @@ -1,6 +1,5 @@ #!/bin/sh -[ -x /usr/sbin/ntpd ] || exit 0 [ -f /etc/ntpd.conf ] || exit 0 case "$1" in diff --git a/bsp/buildroot/package/openocd/Config.in b/bsp/buildroot/package/openocd/Config.in index 6cba7a04..abba07e8 100644 --- a/bsp/buildroot/package/openocd/Config.in +++ b/bsp/buildroot/package/openocd/Config.in @@ -9,6 +9,17 @@ if BR2_PACKAGE_OPENOCD comment "Adapters" +config BR2_PACKAGE_OPENOCD_CMSIS_DAP + bool "CMSIS-DAP compliant debuggers" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + depends on BR2_PACKAGE_HAS_UDEV # hidapi + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # hidapi + select BR2_PACKAGE_LIBUSB + select BR2_PACKAGE_HIDAPI + help + Enable support for CMSIS-DAP compliant debuggers (i.e + Atmel/Microchip EDBG, etc.) + config BR2_PACKAGE_OPENOCD_FTDI bool "MPSSE mode of FTDI based devices" depends on BR2_TOOLCHAIN_HAS_THREADS # libusb diff --git a/bsp/buildroot/package/openocd/openocd.mk b/bsp/buildroot/package/openocd/openocd.mk index ca13d993..d35ed77c 100644 --- a/bsp/buildroot/package/openocd/openocd.mk +++ b/bsp/buildroot/package/openocd/openocd.mk @@ -35,7 +35,8 @@ OPENOCD_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBFTDI1),libftdi1) \ $(if $(BR2_PACKAGE_LIBUSB),libusb) \ $(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \ - $(if $(BR2_PACKAGE_LIBHID),libhid) + $(if $(BR2_PACKAGE_LIBHID),libhid) \ + $(if $(BR2_PACKAGE_HIDAPI),hidapi) # Adapters OPENOCD_CONF_OPTS += \ diff --git a/bsp/buildroot/package/openpowerlink/openpowerlink.hash b/bsp/buildroot/package/openpowerlink/openpowerlink.hash index f69950dd..13b5e935 100644 --- a/bsp/buildroot/package/openpowerlink/openpowerlink.hash +++ b/bsp/buildroot/package/openpowerlink/openpowerlink.hash @@ -1,5 +1,5 @@ -# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.6.2/ -md5 bbb268e33e55424de563cb677703d8f7 openPOWERLINK_V2.6.2.tar.gz -sha1 bf6a8b202c1192b531ce6d6c4c6254e5689c65fe openPOWERLINK_V2.6.2.tar.gz +# From https://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.1/ +md5 04524d1b1f9946176dce0ccb0eecf537 openPOWERLINK_V2.7.1.tar.gz +sha1 4ee9c6e26bbc729fdbbb272155b093ffa0d9cefd openPOWERLINK_V2.7.1.tar.gz # sha256 locally computed -sha256 38d7a93c05cc0167be5c498e625d1efddeac2616ceb1bc8c3c6679552ae6da15 openPOWERLINK_V2.6.2.tar.gz +sha256 d0d65f4fb8f2ad209cf9575714f88f33168a1cf71e8f1801e1e1ac4df6a37ffd openPOWERLINK_V2.7.1.tar.gz diff --git a/bsp/buildroot/package/openpowerlink/openpowerlink.mk b/bsp/buildroot/package/openpowerlink/openpowerlink.mk index e2958b30..f8697808 100644 --- a/bsp/buildroot/package/openpowerlink/openpowerlink.mk +++ b/bsp/buildroot/package/openpowerlink/openpowerlink.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENPOWERLINK_VERSION = V2.6.2 -OPENPOWERLINK_SITE = http://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) +OPENPOWERLINK_VERSION = V2.7.1 +OPENPOWERLINK_SITE = https://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION) OPENPOWERLINK_SOURCE = openPOWERLINK_$(OPENPOWERLINK_VERSION).tar.gz OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0 OPENPOWERLINK_LICENSE_FILES = license.md diff --git a/bsp/buildroot/package/openresolv/Config.in b/bsp/buildroot/package/openresolv/Config.in new file mode 100644 index 00000000..835fbf29 --- /dev/null +++ b/bsp/buildroot/package/openresolv/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_OPENRESOLV + bool "openresolv" + help + openresolv is a resolvconf implementation which + manages resolv.conf. This tool provides a dns management + framework to track currently available nameservers. + + https://roy.marples.name/projects/openresolv diff --git a/bsp/buildroot/package/openresolv/openresolv.hash b/bsp/buildroot/package/openresolv/openresolv.hash new file mode 100644 index 00000000..e1a1fb54 --- /dev/null +++ b/bsp/buildroot/package/openresolv/openresolv.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 96b3f84435a183426c622db7097a930fb0d48a99e82cd87ce83bd343b8c20574 openresolv-fe4e1ec4e2be2adfc1530ade94ebb30aa6f51540.tar.gz +sha256 d1f9dcd2dac4e095b14caab517cfe791a6e0785346164b7d0cafc13c714f8aa5 LICENSE diff --git a/bsp/buildroot/package/openresolv/openresolv.mk b/bsp/buildroot/package/openresolv/openresolv.mk new file mode 100644 index 00000000..3f9d603d --- /dev/null +++ b/bsp/buildroot/package/openresolv/openresolv.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# openresolv +# +################################################################################ + +OPENRESOLV_VERSION = fe4e1ec4e2be2adfc1530ade94ebb30aa6f51540 +OPENRESOLV_SITE = $(call github,rsmarples,openresolv,$(OPENRESOLV_VERSION)) +OPENRESOLV_LICENSE = BSD-2-Clause +OPENRESOLV_LICENSE_FILES = LICENSE + +define OPENRESOLV_CONFIGURE_CMDS + cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure --sysconfdir=/etc +endef + +define OPENRESOLV_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) +endef + +define OPENRESOLV_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch b/bsp/buildroot/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch deleted file mode 100644 index d9bc6e5d..00000000 --- a/bsp/buildroot/package/openssh/0001-fix-pam-uclibc-pthreads-clash.patch +++ /dev/null @@ -1,44 +0,0 @@ -When PAM is enabled, openssh makes its own static versions of pthreads -functions. But when built with a uclibc toolchain, pthreads.h gets -indirectly included. The clashing exported and static definitions of -the pthreads functions then cause a compile error. This patch fixes -the problem by changing the static pthread function names with macros -when the static functions are defined. - -Signed-off-by: Danomi Manchego - -diff -urN openssh-6.1p1.orig/auth-pam.c openssh-6.1p1/auth-pam.c ---- openssh-6.1p1.orig/auth-pam.c 2009-07-12 08:07:21.000000000 -0400 -+++ openssh-6.1p1/auth-pam.c 2012-09-15 19:49:47.677288199 -0400 -@@ -166,6 +166,7 @@ - sigdie("PAM: authentication thread exited uncleanly"); - } - -+#define pthread_exit pthread_exit_AVOID_UCLIBC_PTHREAD_CLASH - /* ARGSUSED */ - static void - pthread_exit(void *value) -@@ -173,6 +174,7 @@ - _exit(0); - } - -+#define pthread_create pthread_create_AVOID_UCLIBC_PTHREAD_CLASH - /* ARGSUSED */ - static int - pthread_create(sp_pthread_t *thread, const void *attr, -@@ -200,6 +202,7 @@ - } - } - -+#define pthread_cancel pthread_cancel_AVOID_UCLIBC_PTHREAD_CLASH - static int - pthread_cancel(sp_pthread_t thread) - { -@@ -207,6 +210,7 @@ - return (kill(thread, SIGTERM)); - } - -+#define pthread_join pthread_join_AVOID_UCLIBC_PTHREAD_CLASH - /* ARGSUSED */ - static int - pthread_join(sp_pthread_t thread, void **value) diff --git a/bsp/buildroot/package/openssh/0001-upstream-disallow-empty-incoming-filename-or-ones-th.patch b/bsp/buildroot/package/openssh/0001-upstream-disallow-empty-incoming-filename-or-ones-th.patch new file mode 100644 index 00000000..2b5a958d --- /dev/null +++ b/bsp/buildroot/package/openssh/0001-upstream-disallow-empty-incoming-filename-or-ones-th.patch @@ -0,0 +1,39 @@ +From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001 +From: "djm@openbsd.org" +Date: Fri, 16 Nov 2018 03:03:10 +0000 +Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer + to the + +current directory; based on report/patch from Harry Sintonen + +OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 +Signed-off-by: Baruch Siach +--- +Upstream status (openssh-portable): commit 6010c0303a422 + + scp.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/scp.c b/scp.c +index 60682c68769b..4f3fdcd3db89 100644 +--- a/scp.c ++++ b/scp.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */ ++/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */ + /* + * scp - secure remote copy. This is basically patched BSD rcp which + * uses ssh to do the data transfer (instead of using rcmd). +@@ -1106,7 +1106,8 @@ sink(int argc, char **argv) + SCREWUP("size out of range"); + size = (off_t)ull; + +- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { ++ if (*cp == '\0' || strchr(cp, '/') != NULL || ++ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { + run_err("error: unexpected filename: %s", cp); + exit(1); + } +-- +2.20.1 + diff --git a/bsp/buildroot/package/openssh/0002-fix-howmany-include.patch b/bsp/buildroot/package/openssh/0002-fix-howmany-include.patch deleted file mode 100644 index 7a2a8e32..00000000 --- a/bsp/buildroot/package/openssh/0002-fix-howmany-include.patch +++ /dev/null @@ -1,49 +0,0 @@ -Update patch from 2fea21799223d41605556858a95b55e69e9960ca to openssh -version 6.8p1 - -Signed-off-by: Gustavo Zacarias - -diff -Nura openssh-6.8p1.orig/openbsd-compat/bsd-poll.c openssh-6.8p1/openbsd-compat/bsd-poll.c ---- openssh-6.8p1.orig/openbsd-compat/bsd-poll.c 2015-03-18 07:11:46.184620677 -0300 -+++ openssh-6.8p1/openbsd-compat/bsd-poll.c 2015-03-18 07:12:29.120094555 -0300 -@@ -19,6 +19,7 @@ - #include "includes.h" - #if !defined(HAVE_POLL) - -+#include - #include - #include - #ifdef HAVE_SYS_SELECT_H -diff -Nura openssh-6.8p1.orig/sshd.c openssh-6.8p1/sshd.c ---- openssh-6.8p1.orig/sshd.c 2015-03-18 07:11:46.187620780 -0300 -+++ openssh-6.8p1/sshd.c 2015-03-18 07:13:11.889562735 -0300 -@@ -44,6 +44,7 @@ - - #include "includes.h" - -+#include - #include - #include - #include -diff -Nura openssh-6.8p1.orig/ssh-keyscan.c openssh-6.8p1/ssh-keyscan.c ---- openssh-6.8p1.orig/ssh-keyscan.c 2015-03-18 07:11:46.180620539 -0300 -+++ openssh-6.8p1/ssh-keyscan.c 2015-03-18 07:13:32.092256248 -0300 -@@ -9,6 +9,7 @@ - - #include "includes.h" - -+#include - #include - #include "openbsd-compat/sys-queue.h" - #include -diff -Nura openssh-6.8p1.orig/ssh-pkcs11-helper.c openssh-6.8p1/ssh-pkcs11-helper.c ---- openssh-6.8p1.orig/ssh-pkcs11-helper.c 2015-03-18 07:11:46.182620608 -0300 -+++ openssh-6.8p1/ssh-pkcs11-helper.c 2015-03-18 07:13:43.620651993 -0300 -@@ -17,6 +17,7 @@ - - #include "includes.h" - -+#include - #include - #ifdef HAVE_SYS_TIME_H - # include diff --git a/bsp/buildroot/package/openssh/0002-upstream-Sanitize-scp-filenames-via-snmprintf.-To-do.patch b/bsp/buildroot/package/openssh/0002-upstream-Sanitize-scp-filenames-via-snmprintf.-To-do.patch new file mode 100644 index 00000000..e5d137ef --- /dev/null +++ b/bsp/buildroot/package/openssh/0002-upstream-Sanitize-scp-filenames-via-snmprintf.-To-do.patch @@ -0,0 +1,275 @@ +From 5979bdfeca813dd7e997a1edb0f928d77ce70304 Mon Sep 17 00:00:00 2001 +From: "dtucker@openbsd.org" +Date: Wed, 23 Jan 2019 08:01:46 +0000 +Subject: [PATCH] upstream: Sanitize scp filenames via snmprintf. To do this we + move + +the progressmeter formatting outside of signal handler context and have the +atomicio callback called for EINTR too. bz#2434 with contributions from djm +and jjelen at redhat.com, ok djm@ + +OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8 +Signed-off-by: Baruch Siach +--- +Upstream status (openssh-portable): backported from commit 8976f1c4b27 +--- + atomicio.c | 20 ++++++++++++++----- + progressmeter.c | 53 ++++++++++++++++++++++--------------------------- + progressmeter.h | 3 ++- + scp.c | 1 + + sftp-client.c | 16 ++++++++------- + 5 files changed, 51 insertions(+), 42 deletions(-) + +diff --git a/atomicio.c b/atomicio.c +index f854a06f5f50..d91bd7621c12 100644 +--- a/atomicio.c ++++ b/atomicio.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */ ++/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */ + /* + * Copyright (c) 2006 Damien Miller. All rights reserved. + * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved. +@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n, + res = (f) (fd, s + pos, n - pos); + switch (res) { + case -1: +- if (errno == EINTR) ++ if (errno == EINTR) { ++ /* possible SIGALARM, update callback */ ++ if (cb != NULL && cb(cb_arg, 0) == -1) { ++ errno = EINTR; ++ return pos; ++ } + continue; +- if (errno == EAGAIN || errno == EWOULDBLOCK) { ++ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { + #ifndef BROKEN_READ_COMPARISON + (void)poll(&pfd, 1, -1); + #endif +@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd, + res = (f) (fd, iov, iovcnt); + switch (res) { + case -1: +- if (errno == EINTR) ++ if (errno == EINTR) { ++ /* possible SIGALARM, update callback */ ++ if (cb != NULL && cb(cb_arg, 0) == -1) { ++ errno = EINTR; ++ return pos; ++ } + continue; +- if (errno == EAGAIN || errno == EWOULDBLOCK) { ++ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { + #ifndef BROKEN_READV_COMPARISON + (void)poll(&pfd, 1, -1); + #endif +diff --git a/progressmeter.c b/progressmeter.c +index fe9bf52e4c90..add462dde500 100644 +--- a/progressmeter.c ++++ b/progressmeter.c +@@ -1,4 +1,4 @@ +-/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */ ++/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ + /* + * Copyright (c) 2003 Nils Nordman. All rights reserved. + * +@@ -31,6 +31,7 @@ + + #include + #include ++#include + #include + #include + #include +@@ -39,6 +40,7 @@ + #include "progressmeter.h" + #include "atomicio.h" + #include "misc.h" ++#include "utf8.h" + + #define DEFAULT_WINSIZE 80 + #define MAX_WINSIZE 512 +@@ -61,7 +63,7 @@ static void setscreensize(void); + void refresh_progress_meter(void); + + /* signal handler for updating the progress meter */ +-static void update_progress_meter(int); ++static void sig_alarm(int); + + static double start; /* start progress */ + static double last_update; /* last progress update */ +@@ -74,6 +76,7 @@ static long stalled; /* how long we have been stalled */ + static int bytes_per_second; /* current speed in bytes per second */ + static int win_size; /* terminal window size */ + static volatile sig_atomic_t win_resized; /* for window resizing */ ++static volatile sig_atomic_t alarm_fired; + + /* units for format_size */ + static const char unit[] = " KMGT"; +@@ -126,9 +129,17 @@ refresh_progress_meter(void) + off_t bytes_left; + int cur_speed; + int hours, minutes, seconds; +- int i, len; + int file_len; + ++ if ((!alarm_fired && !win_resized) || !can_output()) ++ return; ++ alarm_fired = 0; ++ ++ if (win_resized) { ++ setscreensize(); ++ win_resized = 0; ++ } ++ + transferred = *counter - (cur_pos ? cur_pos : start_pos); + cur_pos = *counter; + now = monotime_double(); +@@ -158,16 +169,11 @@ refresh_progress_meter(void) + + /* filename */ + buf[0] = '\0'; +- file_len = win_size - 35; ++ file_len = win_size - 36; + if (file_len > 0) { +- len = snprintf(buf, file_len + 1, "\r%s", file); +- if (len < 0) +- len = 0; +- if (len >= file_len + 1) +- len = file_len; +- for (i = len; i < file_len; i++) +- buf[i] = ' '; +- buf[file_len] = '\0'; ++ buf[0] = '\r'; ++ snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s", ++ file_len * -1, file); + } + + /* percent of transfer done */ +@@ -228,22 +234,11 @@ refresh_progress_meter(void) + + /*ARGSUSED*/ + static void +-update_progress_meter(int ignore) ++sig_alarm(int ignore) + { +- int save_errno; +- +- save_errno = errno; +- +- if (win_resized) { +- setscreensize(); +- win_resized = 0; +- } +- if (can_output()) +- refresh_progress_meter(); +- +- signal(SIGALRM, update_progress_meter); ++ signal(SIGALRM, sig_alarm); ++ alarm_fired = 1; + alarm(UPDATE_INTERVAL); +- errno = save_errno; + } + + void +@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) + bytes_per_second = 0; + + setscreensize(); +- if (can_output()) +- refresh_progress_meter(); ++ refresh_progress_meter(); + +- signal(SIGALRM, update_progress_meter); ++ signal(SIGALRM, sig_alarm); + signal(SIGWINCH, sig_winch); + alarm(UPDATE_INTERVAL); + } +@@ -286,6 +280,7 @@ stop_progress_meter(void) + static void + sig_winch(int sig) + { ++ signal(SIGWINCH, sig_winch); + win_resized = 1; + } + +diff --git a/progressmeter.h b/progressmeter.h +index bf179dca6518..8f6678060195 100644 +--- a/progressmeter.h ++++ b/progressmeter.h +@@ -1,4 +1,4 @@ +-/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */ ++/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ + /* + * Copyright (c) 2002 Nils Nordman. All rights reserved. + * +@@ -24,4 +24,5 @@ + */ + + void start_progress_meter(const char *, off_t, off_t *); ++void refresh_progress_meter(void); + void stop_progress_meter(void); +diff --git a/scp.c b/scp.c +index 4f3fdcd3db89..4a342a63873c 100644 +--- a/scp.c ++++ b/scp.c +@@ -585,6 +585,7 @@ scpio(void *_cnt, size_t s) + off_t *cnt = (off_t *)_cnt; + + *cnt += s; ++ refresh_progress_meter(); + if (limit_kbps > 0) + bandwidth_limit(&bwlimit, s); + return 0; +diff --git a/sftp-client.c b/sftp-client.c +index 4986d6d8d291..2bc698f868bc 100644 +--- a/sftp-client.c ++++ b/sftp-client.c +@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount) + { + struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; + +- bandwidth_limit(bwlimit, amount); ++ refresh_progress_meter(); ++ if (bwlimit != NULL) ++ bandwidth_limit(bwlimit, amount); + return 0; + } + +@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m) + iov[1].iov_base = (u_char *)sshbuf_ptr(m); + iov[1].iov_len = sshbuf_len(m); + +- if (atomiciov6(writev, conn->fd_out, iov, 2, +- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) != ++ if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio, ++ conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) != + sshbuf_len(m) + sizeof(mlen)) + fatal("Couldn't send packet: %s", strerror(errno)); + +@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) + + if ((r = sshbuf_reserve(m, 4, &p)) != 0) + fatal("%s: buffer error: %s", __func__, ssh_err(r)); +- if (atomicio6(read, conn->fd_in, p, 4, +- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) { ++ if (atomicio6(read, conn->fd_in, p, 4, sftpio, ++ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) { + if (errno == EPIPE || errno == ECONNRESET) + fatal("Connection closed"); + else +@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) + + if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) + fatal("%s: buffer error: %s", __func__, ssh_err(r)); +- if (atomicio6(read, conn->fd_in, p, msg_len, +- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) ++ if (atomicio6(read, conn->fd_in, p, msg_len, sftpio, ++ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) + != msg_len) { + if (errno == EPIPE) + fatal("Connection closed"); +-- +2.20.1 + diff --git a/bsp/buildroot/package/openssh/0003-upstream-check-in-scp-client-that-filenames-sent-dur.patch b/bsp/buildroot/package/openssh/0003-upstream-check-in-scp-client-that-filenames-sent-dur.patch new file mode 100644 index 00000000..98ce5cd8 --- /dev/null +++ b/bsp/buildroot/package/openssh/0003-upstream-check-in-scp-client-that-filenames-sent-dur.patch @@ -0,0 +1,186 @@ +From f853123eda6b279a87be48e18bbea8dec82a94f2 Mon Sep 17 00:00:00 2001 +From: "djm@openbsd.org" +Date: Sat, 26 Jan 2019 22:41:28 +0000 +Subject: [PATCH] upstream: check in scp client that filenames sent during + +remote->local directory copies satisfy the wildcard specified by the user. + +This checking provides some protection against a malicious server +sending unexpected filenames, but it comes at a risk of rejecting wanted +files due to differences between client and server wildcard expansion rules. + +For this reason, this also adds a new -T flag to disable the check. + +reported by Harry Sintonen +fix approach suggested by markus@; +has been in snaps for ~1wk courtesy deraadt@ + +OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda +Signed-off-by: Baruch Siach +--- +Upstream status (openssh-portable): backported from commit 8976f1c4b2 +--- + scp.1 | 12 +++++++++++- + scp.c | 37 +++++++++++++++++++++++++++++-------- + 2 files changed, 40 insertions(+), 9 deletions(-) + +diff --git a/scp.1 b/scp.1 +index 0e5cc1b2d675..397e7709195a 100644 +--- a/scp.1 ++++ b/scp.1 +@@ -18,7 +18,7 @@ + .Nd secure copy (remote file copy program) + .Sh SYNOPSIS + .Nm scp +-.Op Fl 346BCpqrv ++.Op Fl 346BCpqrTv + .Op Fl c Ar cipher + .Op Fl F Ar ssh_config + .Op Fl i Ar identity_file +@@ -208,6 +208,16 @@ to use for the encrypted connection. + The program must understand + .Xr ssh 1 + options. ++.It Fl T ++Disable strict filename checking. ++By default when copying files from a remote host to a local directory ++.Nm ++checks that the received filenames match those requested on the command-line ++to prevent the remote end from sending unexpected or unwanted files. ++Because of differences in how various operating systems and shells interpret ++filename wildcards, these checks may cause wanted files to be rejected. ++This option disables these checks at the expense of fully trusting that ++the server will not send unexpected filenames. + .It Fl v + Verbose mode. + Causes +diff --git a/scp.c b/scp.c +index 4a342a63873c..7b0a08efb274 100644 +--- a/scp.c ++++ b/scp.c +@@ -94,6 +94,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -375,14 +376,14 @@ void verifydir(char *); + struct passwd *pwd; + uid_t userid; + int errs, remin, remout; +-int pflag, iamremote, iamrecursive, targetshouldbedirectory; ++int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory; + + #define CMDNEEDS 64 + char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */ + + int response(void); + void rsource(char *, struct stat *); +-void sink(int, char *[]); ++void sink(int, char *[], const char *); + void source(int, char *[]); + void tolocal(int, char *[]); + void toremote(int, char *[]); +@@ -421,8 +422,9 @@ main(int argc, char **argv) + addargs(&args, "-oRemoteCommand=none"); + addargs(&args, "-oRequestTTY=no"); + +- fflag = tflag = 0; +- while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1) ++ fflag = Tflag = tflag = 0; ++ while ((ch = getopt(argc, argv, ++ "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) { + switch (ch) { + /* User-visible flags. */ + case '1': +@@ -501,9 +503,13 @@ main(int argc, char **argv) + setmode(0, O_BINARY); + #endif + break; ++ case 'T': ++ Tflag = 1; ++ break; + default: + usage(); + } ++ } + argc -= optind; + argv += optind; + +@@ -534,7 +540,7 @@ main(int argc, char **argv) + } + if (tflag) { + /* Receive data. */ +- sink(argc, argv); ++ sink(argc, argv, NULL); + exit(errs != 0); + } + if (argc < 2) +@@ -792,7 +798,7 @@ tolocal(int argc, char **argv) + continue; + } + free(bp); +- sink(1, argv + argc - 1); ++ sink(1, argv + argc - 1, src); + (void) close(remin); + remin = remout = -1; + } +@@ -968,7 +974,7 @@ rsource(char *name, struct stat *statp) + (sizeof(type) != 4 && sizeof(type) != 8)) + + void +-sink(int argc, char **argv) ++sink(int argc, char **argv, const char *src) + { + static BUF buffer; + struct stat stb; +@@ -984,6 +990,7 @@ sink(int argc, char **argv) + unsigned long long ull; + int setimes, targisdir, wrerrno = 0; + char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048]; ++ char *src_copy = NULL, *restrict_pattern = NULL; + struct timeval tv[2]; + + #define atime tv[0] +@@ -1008,6 +1015,17 @@ sink(int argc, char **argv) + (void) atomicio(vwrite, remout, "", 1); + if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode)) + targisdir = 1; ++ if (src != NULL && !iamrecursive && !Tflag) { ++ /* ++ * Prepare to try to restrict incoming filenames to match ++ * the requested destination file glob. ++ */ ++ if ((src_copy = strdup(src)) == NULL) ++ fatal("strdup failed"); ++ if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) { ++ *restrict_pattern++ = '\0'; ++ } ++ } + for (first = 1;; first = 0) { + cp = buf; + if (atomicio(read, remin, cp, 1) != 1) +@@ -1112,6 +1130,9 @@ sink(int argc, char **argv) + run_err("error: unexpected filename: %s", cp); + exit(1); + } ++ if (restrict_pattern != NULL && ++ fnmatch(restrict_pattern, cp, 0) != 0) ++ SCREWUP("filename does not match request"); + if (targisdir) { + static char *namebuf; + static size_t cursize; +@@ -1149,7 +1170,7 @@ sink(int argc, char **argv) + goto bad; + } + vect[0] = xstrdup(np); +- sink(1, vect); ++ sink(1, vect, src); + if (setimes) { + setimes = 0; + if (utimes(vect[0], tv) < 0) +-- +2.20.1 + diff --git a/bsp/buildroot/package/openssh/openssh.hash b/bsp/buildroot/package/openssh/openssh.hash index 0b31f70e..26b143c0 100644 --- a/bsp/buildroot/package/openssh/openssh.hash +++ b/bsp/buildroot/package/openssh/openssh.hash @@ -1,4 +1,4 @@ -# From http://www.openssh.com/txt/release-7.8 (base64 encoded) -sha256 1a484bb15152c183bb2514e112aa30dd34138c3cfb032eee5490a66c507144ca openssh-7.8p1.tar.gz +# From http://www.openssh.com/txt/release-7.9 (base64 encoded) +sha256 6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad openssh-7.9p1.tar.gz # Locally calculated sha256 05a4c25ef464e19656c5259bd4f4da8428efab01044f3541b79fbb3ff209350f LICENCE diff --git a/bsp/buildroot/package/openssh/openssh.mk b/bsp/buildroot/package/openssh/openssh.mk index 45a11ee6..4fef5cae 100644 --- a/bsp/buildroot/package/openssh/openssh.mk +++ b/bsp/buildroot/package/openssh/openssh.mk @@ -4,13 +4,14 @@ # ################################################################################ -OPENSSH_VERSION = 7.8p1 +OPENSSH_VERSION = 7.9p1 OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain OPENSSH_LICENSE_FILES = LICENCE OPENSSH_CONF_ENV = LD="$(TARGET_CC)" LDFLAGS="$(TARGET_CFLAGS)" OPENSSH_CONF_OPTS = \ --sysconfdir=/etc/ssh \ + --with-default-path=$(BR2_SYSTEM_DEFAULT_PATH) \ --disable-lastlog \ --disable-utmp \ --disable-utmpx \ @@ -18,8 +19,8 @@ OPENSSH_CONF_OPTS = \ --disable-wtmpx \ --disable-strip -define OPENSSH_USERS - sshd -1 sshd -1 * - - - SSH drop priv user +define OPENSSH_PERMISSIONS + /var/empty d 755 root root - - - - - endef ifeq ($(BR2_TOOLCHAIN_SUPPORTS_PIE),) @@ -56,12 +57,24 @@ else OPENSSH_CONF_OPTS += --without-selinux endif +ifeq ($(BR2_PACKAGE_SYSTEMD_SYSUSERS),y) +define OPENSSH_INSTALL_SYSTEMD_SYSUSERS + $(INSTALL) -m 0644 -D package/openssh/sshd-sysusers.conf \ + $(TARGET_DIR)/usr/lib/sysusers.d/sshd.conf +endef +else +define OPENSSH_USERS + sshd -1 sshd -1 * /var/empty - - SSH drop priv user +endef +endif + define OPENSSH_INSTALL_INIT_SYSTEMD $(INSTALL) -D -m 644 package/openssh/sshd.service \ $(TARGET_DIR)/usr/lib/systemd/system/sshd.service mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants ln -fs ../../../../usr/lib/systemd/system/sshd.service \ $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/sshd.service + $(OPENSSH_INSTALL_SYSTEMD_SYSUSERS) endef define OPENSSH_INSTALL_INIT_SYSV diff --git a/bsp/buildroot/package/openssh/sshd-sysusers.conf b/bsp/buildroot/package/openssh/sshd-sysusers.conf new file mode 100644 index 00000000..ac77aec0 --- /dev/null +++ b/bsp/buildroot/package/openssh/sshd-sysusers.conf @@ -0,0 +1 @@ +u sshd - "SSH drop priv user" /var/empty diff --git a/bsp/buildroot/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/bsp/buildroot/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch deleted file mode 100644 index 90a945bb..00000000 --- a/bsp/buildroot/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001 -From: Jan Heylen -Date: Fri, 22 Dec 2017 22:04:29 +0100 -Subject: [PATCH] CMake: make shared/static target a configurable option - -Signed-off-by: Jan Heylen ---- - CMakeLists.txt | 40 ++++++++++++++++++++++++++++------------ - 1 file changed, 28 insertions(+), 12 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index aadf2f9..d03bd00 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,18 +70,36 @@ endif() - include_directories(include) - include_directories(SYSTEM 3rd_party/include) - -+option(BUILD_SHARED_LIBS "Build as a shared library" ON) -+option(BUILD_STATIC_LIBS "Build as a static library" ON) -+ -+if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) -+ message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build") -+endif() -+ - set(SRCS src/propagation.cpp src/noop.cpp src/tracer.cpp) --add_library(opentracing SHARED ${SRCS}) --target_include_directories(opentracing INTERFACE "$") --set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING} -+ -+if (BUILD_SHARED_LIBS) -+ add_library(opentracing SHARED ${SRCS}) -+ target_include_directories(opentracing INTERFACE "$") -+ set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING} - SOVERSION ${OPENTRACING_VERSION_MAJOR}) --add_library(opentracing-static STATIC ${SRCS}) --set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing) --target_include_directories(opentracing-static INTERFACE "$") --if (CLANG_TIDY_EXE) -- set_target_properties(opentracing PROPERTIES -+ install(TARGETS opentracing EXPORT OpenTracingTargets -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) -+ if (CLANG_TIDY_EXE) -+ set_target_properties(opentracing PROPERTIES - CXX_CLANG_TIDY "${DO_CLANG_TIDY}") --endif() -+ endif() -+endif(BUILD_SHARED_LIBS) -+ -+if (BUILD_STATIC_LIBS) -+ add_library(opentracing-static STATIC ${SRCS}) -+ set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing) -+ target_include_directories(opentracing-static INTERFACE "$") -+ install(TARGETS opentracing-static EXPORT OpenTracingTargets -+ ARCHIVE DESTINATION lib) -+endif(BUILD_STATIC_LIBS) - - - install(DIRECTORY 3rd_party/include/opentracing DESTINATION include -@@ -89,9 +107,7 @@ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include - PATTERN "*.h") - install(DIRECTORY include/opentracing DESTINATION include - FILES_MATCHING PATTERN "*.h") --install(TARGETS opentracing opentracing-static EXPORT OpenTracingTargets -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib) -+ - - # ============================================================================== - # Package configuration setup --- -2.7.4 - diff --git a/bsp/buildroot/package/opentracing-cpp/Config.in b/bsp/buildroot/package/opentracing-cpp/Config.in index 4ee7b29d..ff3067b7 100644 --- a/bsp/buildroot/package/opentracing-cpp/Config.in +++ b/bsp/buildroot/package/opentracing-cpp/Config.in @@ -1,6 +1,8 @@ config BR2_PACKAGE_OPENTRACING_CPP bool "opentracing-cpp" depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr help @@ -8,8 +10,9 @@ config BR2_PACKAGE_OPENTRACING_CPP http://opentracing.io -comment "opentracing-cpp needs a toolchain w/ C++, gcc >= 4.8" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 +comment "opentracing-cpp needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ + || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 comment "opentracing-cpp needs exception_ptr" depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.hash b/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.hash index d25dbafe..c5085ba9 100644 --- a/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.hash +++ b/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz -sha256 b80bffcfee825a69645f7ca97ddba48714031ea5c845198d184714d5490798b6 COPYING +sha256 015c4187f7a6426a2b5196f0ccd982aa87f010cf61f507ae3ce5c90523f92301 opentracing-cpp-v1.5.1.tar.gz +sha256 076d03156735d5ff2df2ea0f8b12351ef65e5e9222b5c8c6a35101dadb41e717 LICENSE diff --git a/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.mk b/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.mk index 4e296fc9..a61993f7 100644 --- a/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.mk +++ b/bsp/buildroot/package/opentracing-cpp/opentracing-cpp.mk @@ -4,10 +4,10 @@ # ################################################################################ -OPENTRACING_CPP_VERSION = v1.2.0 +OPENTRACING_CPP_VERSION = v1.5.1 OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION)) -OPENTRACING_CPP_LICENSE = MIT -OPENTRACING_CPP_LICENSE_FILES = COPYING +OPENTRACING_CPP_LICENSE = Apache-2.0 +OPENTRACING_CPP_LICENSE_FILES = LICENSE OPENTRACING_CPP_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/opentyrian-data/opentyrian-data.mk b/bsp/buildroot/package/opentyrian-data/opentyrian-data.mk index 4b879df1..9e38b61b 100644 --- a/bsp/buildroot/package/opentyrian-data/opentyrian-data.mk +++ b/bsp/buildroot/package/opentyrian-data/opentyrian-data.mk @@ -10,7 +10,7 @@ OPENTYRIAN_DATA_SOURCE = tyrian21.zip OPENTYRIAN_DATA_LICENSE = Freeware define OPENTYRIAN_DATA_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(OPENTYRIAN_DATA_SOURCE) + $(UNZIP) -d $(@D) $(OPENTYRIAN_DATA_DL_DIR)/$(OPENTYRIAN_DATA_SOURCE) endef define OPENTYRIAN_DATA_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/openvmtools/0001-has_bsd_printf.patch b/bsp/buildroot/package/openvmtools/0001-has_bsd_printf.patch deleted file mode 100644 index df23f004..00000000 --- a/bsp/buildroot/package/openvmtools/0001-has_bsd_printf.patch +++ /dev/null @@ -1,26 +0,0 @@ -lib/misc/msgList.c: missing #ifdef - -This macro checks for BSD style printf(), which is not present -when compiling for uClibc. The linked functions are unnecessary in -this case, and they break compilation. - -Signed-off-by: Karoly Kasza - ---- openvmtools-stable-9.10.0.orig/open-vm-tools/lib/misc/msgList.c 2015-06-17 10:01:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/lib/misc/msgList.c 2015-06-17 10:01:00.000000000 +0200 -@@ -487,6 +487,7 @@ - return messages->id; - } - -+#ifdef HAS_BSD_PRINTF - - /* - *---------------------------------------------------------------------- -@@ -566,6 +567,7 @@ - } - } - -+#endif - - /* - *---------------------------------------------------------------------- diff --git a/bsp/buildroot/package/openvmtools/0002-no_cflags_werror.patch b/bsp/buildroot/package/openvmtools/0001-no_cflags_werror.patch similarity index 65% rename from bsp/buildroot/package/openvmtools/0002-no_cflags_werror.patch rename to bsp/buildroot/package/openvmtools/0001-no_cflags_werror.patch index 1621574f..3378cb8e 100644 --- a/bsp/buildroot/package/openvmtools/0002-no_cflags_werror.patch +++ b/bsp/buildroot/package/openvmtools/0001-no_cflags_werror.patch @@ -4,8 +4,8 @@ Disable the mandatory flag -Werror in configure.ac. Signed-off-by: Karoly Kasza ---- openvmtools-stable-9.10.0.orig/open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 +--- open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 ++++ open-vm-tools/configure.ac 2015-06-17 10:02:00.000000000 +0200 @@ -935,7 +935,7 @@ ### General flags / actions diff --git a/bsp/buildroot/package/openvmtools/0003-dont-force-cppflags.patch b/bsp/buildroot/package/openvmtools/0002-dont-force-cppflags.patch similarity index 73% rename from bsp/buildroot/package/openvmtools/0003-dont-force-cppflags.patch rename to bsp/buildroot/package/openvmtools/0002-dont-force-cppflags.patch index c8fa6b17..eb2fe16b 100644 --- a/bsp/buildroot/package/openvmtools/0003-dont-force-cppflags.patch +++ b/bsp/buildroot/package/openvmtools/0002-dont-force-cppflags.patch @@ -4,8 +4,8 @@ This is so horribly broken for cross-compilation. :-( Signed-off-by: "Yann E. MORIN" ---- openvmtools-stable-9.10.0.orig/open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 +--- open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 ++++ open-vm-tools/m4/vmtools.m4 2015-06-17 10:03:00.000000000 +0200 @@ -281,10 +281,10 @@ if test "$os" = freebsd; then CUSTOM_$1_CPPFLAGS="-I/usr/local/include" diff --git a/bsp/buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch b/bsp/buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch deleted file mode 100644 index 6fb9ebd7..00000000 --- a/bsp/buildroot/package/openvmtools/0004-uclibc_secure_getenv.patch +++ /dev/null @@ -1,18 +0,0 @@ -lib/misc/idLinux.c: add uClibc support - -uClibc does not have a secure_getenv function, so we use the -Android method. - -Signed-off-by: Karoly Kasza - ---- openvmtools-stable-9.10.0.orig/open-vm-tools/lib/misc/idLinux.c 2015-06-17 10:04:00.000000000 +0200 -+++ openvmtools-stable-9.10.0/open-vm-tools/lib/misc/idLinux.c 2015-06-17 10:04:00.000000000 +0200 -@@ -997,7 +997,7 @@ - static Bool - IdIsSetUGid(void) - { --#if defined(__ANDROID__) -+#if defined(__ANDROID__) || defined(__UCLIBC__) - /* Android does not have a secure_getenv, so be conservative. */ - return TRUE; - #else diff --git a/bsp/buildroot/package/openvmtools/Config.in b/bsp/buildroot/package/openvmtools/Config.in index 66d4f1b1..72c0293d 100644 --- a/bsp/buildroot/package/openvmtools/Config.in +++ b/bsp/buildroot/package/openvmtools/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_OPENVMTOOLS depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC depends on BR2_ENABLE_LOCALE - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_USES_UCLIBC select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_LIBDNET help @@ -47,9 +47,9 @@ comment "PAM support needs a glibc toolchain w/ dynamic library" endif -comment "openvmtools needs a glibc toolchain w/ wchar, threads, RPC, locale" +comment "openvmtools needs a glibc or musl toolchain w/ wchar, threads, RPC, locale" depends on BR2_i386 || BR2_x86_64 depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_HAS_NATIVE_RPC || !BR2_ENABLE_LOCALE || \ - !BR2_TOOLCHAIN_USES_GLIBC + BR2_TOOLCHAIN_USES_UCLIBC diff --git a/bsp/buildroot/package/openvmtools/openvmtools.hash b/bsp/buildroot/package/openvmtools/openvmtools.hash index bf344e50..bd81d1f0 100644 --- a/bsp/buildroot/package/openvmtools/openvmtools.hash +++ b/bsp/buildroot/package/openvmtools/openvmtools.hash @@ -1,2 +1,3 @@ # locally computed -sha256 ff384ab0c11e19db0fd6ddab60e8ae48a4591b141fb3a8e8f1d4e1a489dd293f openvmtools-5a9033ddfa95786d867e4d02bbb9a29bac8fb64f.tar.gz +sha256 364cd0fdfa5a05e872d08609659e6231ec99788669f7ebba24bfb8c94168daef open-vm-tools-10.3.5-10430147.tar.gz +sha256 f734933bd7d49aef25aaf897ed7281ee822e8635056e69b895a7d2e668937fc5 COPYING diff --git a/bsp/buildroot/package/openvmtools/openvmtools.mk b/bsp/buildroot/package/openvmtools/openvmtools.mk index 9501ef33..0dc2956d 100644 --- a/bsp/buildroot/package/openvmtools/openvmtools.mk +++ b/bsp/buildroot/package/openvmtools/openvmtools.mk @@ -4,13 +4,14 @@ # ################################################################################ -OPENVMTOOLS_VERSION = 5a9033ddfa95786d867e4d02bbb9a29bac8fb64f -OPENVMTOOLS_SITE = $(call github,vmware,open-vm-tools,$(OPENVMTOOLS_VERSION)) -OPENVMTOOLS_SUBDIR = open-vm-tools +OPENVMTOOLS_VERSION_MAJOR = 10.3.5 +OPENVMTOOLS_VERSION = $(OPENVMTOOLS_VERSION_MAJOR)-10430147 +OPENVMTOOLS_SITE = https://github.com/vmware/open-vm-tools/releases/download/stable-$(OPENVMTOOLS_VERSION_MAJOR) +OPENVMTOOLS_SOURCE = open-vm-tools-$(OPENVMTOOLS_VERSION).tar.gz OPENVMTOOLS_LICENSE = LGPL-2.1 -OPENVMTOOLS_LICENSE_FILES = $(OPENVMTOOLS_SUBDIR)/COPYING +OPENVMTOOLS_LICENSE_FILES = COPYING -# Autoreconf needed or config/missing will run configure again at buildtime +# configure.ac is patched OPENVMTOOLS_AUTORECONF = YES OPENVMTOOLS_CONF_OPTS = --with-dnet \ --without-icu --without-x --without-gtk2 \ diff --git a/bsp/buildroot/package/openvpn/S60openvpn b/bsp/buildroot/package/openvpn/S60openvpn old mode 100755 new mode 100644 index de82a509..bc1ab01c --- a/bsp/buildroot/package/openvpn/S60openvpn +++ b/bsp/buildroot/package/openvpn/S60openvpn @@ -7,13 +7,11 @@ test $DEBIAN_SCRIPT_DEBUG && set -v -x -DAEMON=/usr/sbin/openvpn CONFIG_DIR=/etc/openvpn -test -x $DAEMON || exit 0 test -d $CONFIG_DIR || exit 0 start_vpn () { - $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \ + /usr/sbin/openvpn --daemon --writepid /var/run/openvpn.$NAME.pid \ --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || printf " FAILED->" printf " $NAME" } @@ -79,8 +77,6 @@ reload|force-reload) printf "(restarted)" else kill -HUP `cat $PIDFILE` || true -# start-stop-daemon --stop --signal HUP --quiet --oknodo \ -# --exec $DAEMON --pidfile $PIDFILE printf " $NAME" fi done diff --git a/bsp/buildroot/package/openvpn/openvpn.hash b/bsp/buildroot/package/openvpn/openvpn.hash index 318f9edb..b740ea9a 100644 --- a/bsp/buildroot/package/openvpn/openvpn.hash +++ b/bsp/buildroot/package/openvpn/openvpn.hash @@ -1,2 +1,3 @@ # Locally calculated after checking signature -sha256 96cd1b8fe1e8cb2920f07c3fd3985faea756e16fdeebd11d3e146d5bd2b04a80 openvpn-2.4.4.tar.xz +sha256 4f6434fa541cc9e363434ea71a16a62cf2615fb2f16af5b38f43ab5939998c26 openvpn-2.4.6.tar.xz +sha256 1fcb78d7e478bb8a9408010bdc91b36e213b1facfad093df3f7ce7e28af19043 COPYRIGHT.GPL diff --git a/bsp/buildroot/package/openvpn/openvpn.mk b/bsp/buildroot/package/openvpn/openvpn.mk index 086f99bf..858398a3 100644 --- a/bsp/buildroot/package/openvpn/openvpn.mk +++ b/bsp/buildroot/package/openvpn/openvpn.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPENVPN_VERSION = 2.4.4 +OPENVPN_VERSION = 2.4.6 OPENVPN_SOURCE = openvpn-$(OPENVPN_VERSION).tar.xz OPENVPN_SITE = http://swupdate.openvpn.net/community/releases OPENVPN_DEPENDENCIES = host-pkgconf openssl @@ -17,7 +17,8 @@ OPENVPN_CONF_OPTS = \ $(if $(BR2_STATIC_LIBS),--disable-plugins) OPENVPN_CONF_ENV = IFCONFIG=/sbin/ifconfig \ NETSTAT=/bin/netstat \ - ROUTE=/sbin/route + ROUTE=/sbin/route \ + IPROUTE=/sbin/ip ifeq ($(BR2_PACKAGE_OPENVPN_SMALL),y) OPENVPN_CONF_OPTS += \ @@ -25,16 +26,6 @@ OPENVPN_CONF_OPTS += \ --disable-plugins endif -# BusyBox 1.21+ places the ip applet in the "correct" place -# but previous versions didn't. -ifeq ($(BR2_PACKAGE_IPROUTE2),y) -OPENVPN_CONF_ENV += IPROUTE=/sbin/ip -else ifeq ($(BR2_BUSYBOX_VERSION_1_19_X)$(BR2_BUSYBOX_VERSION_1_20_X),y) -OPENVPN_CONF_ENV += IPROUTE=/bin/ip -else -OPENVPN_CONF_ENV += IPROUTE=/sbin/ip -endif - ifeq ($(BR2_PACKAGE_OPENVPN_LZ4),y) OPENVPN_DEPENDENCIES += lz4 else diff --git a/bsp/buildroot/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch b/bsp/buildroot/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch new file mode 100644 index 00000000..b3dbd8f8 --- /dev/null +++ b/bsp/buildroot/package/openzwave/0004-Fix-compilation-error-in-regards-to-Werror-restrict.patch @@ -0,0 +1,39 @@ +From 14164e9920ce3482747483fc16654c82d3ce445f Mon Sep 17 00:00:00 2001 +From: pipiche38 +Date: Fri, 8 Jun 2018 15:13:39 +0200 +Subject: [PATCH] Fix compilation error in regards to -Werror=restrict +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/usr/share/domoticz/open-zwave/cpp/src/command_classes/DoorLockLogging.cpp: In member function �virtual bool OpenZWave::DoorLockLogging::HandleMsg(const uint8*, uint32, uint32)�: +/usr/share/domoticz/open-zwave/cpp/src/command_classes/DoorLockLogging.cpp:312:15: error: passing argument 1 to restrict-qualified parameter aliases with argument 4 [-Werror=restrict] + snprintf(usercode, sizeof(usercode), "%s %d", usercode, (int)_data[12+i]); + ^~~~~~~~ ~~~~~~~~ +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/OpenZWave/open-zwave/commit/14164e9920ce3482747483fc16654c82d3ce445f] +--- + cpp/src/command_classes/DoorLockLogging.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/cpp/src/command_classes/DoorLockLogging.cpp b/cpp/src/command_classes/DoorLockLogging.cpp +index c235a8497..418f61b7d 100644 +--- a/cpp/src/command_classes/DoorLockLogging.cpp ++++ b/cpp/src/command_classes/DoorLockLogging.cpp +@@ -304,12 +304,13 @@ bool DoorLockLogging::HandleMsg + } + uint8 userid = (_data[10]); + uint8 usercodelength = (_data[11]); +- char usercode[254]; ++ char usercode[254], tmpusercode[254]; + snprintf(usercode, sizeof(usercode), "UserCode:"); + if (usercodelength > 0) + for (int i = 0; i < usercodelength; i++ ) + { +- snprintf(usercode, sizeof(usercode), "%s %d", usercode, (int)_data[12+i]); ++ strncpy(tmpusercode, usercode, sizeof(tmpusercode)); ++ snprintf(usercode, sizeof(usercode), "%s %d", tmpusercode, (int)_data[12+i]); + } + + if (valid) { diff --git a/bsp/buildroot/package/opkg/opkg.hash b/bsp/buildroot/package/opkg/opkg.hash index 80f3f0d1..321c41db 100644 --- a/bsp/buildroot/package/opkg/opkg.hash +++ b/bsp/buildroot/package/opkg/opkg.hash @@ -1,2 +1,2 @@ -# Locally computed -sha256 2ec7157ccf866e49ca139e3632ba1ca9d61dc24382606b55062e423161a530b0 opkg-v0.3.1.tar.gz +# From http://downloads.yoctoproject.org/releases/opkg/SHA256SUMS +sha256 f607f0e61be8cf8a3bbd0d2dccd9ec9e9b6c21dd4307b671c600d6eeaf84d30b opkg-0.3.6.tar.gz diff --git a/bsp/buildroot/package/opkg/opkg.mk b/bsp/buildroot/package/opkg/opkg.mk index 0c7e15ea..4d34c6d4 100644 --- a/bsp/buildroot/package/opkg/opkg.mk +++ b/bsp/buildroot/package/opkg/opkg.mk @@ -4,15 +4,14 @@ # ################################################################################ -OPKG_VERSION = v0.3.1 -OPKG_SITE = http://git.yoctoproject.org/git/opkg -OPKG_SITE_METHOD = git -# Uses PKG_CHECK_MODULES() in configure.ac +OPKG_VERSION = 0.3.6 +OPKG_SITE = http://downloads.yoctoproject.org/releases/opkg OPKG_DEPENDENCIES = host-pkgconf libarchive OPKG_LICENSE = GPL-2.0+ OPKG_LICENSE_FILES = COPYING OPKG_INSTALL_STAGING = YES OPKG_CONF_OPTS = --disable-curl +# Populate the conf/ directory OPKG_AUTORECONF = YES # Ensure directory for lockfile exists @@ -20,6 +19,14 @@ define OPKG_CREATE_LOCKDIR mkdir -p $(TARGET_DIR)/usr/lib/opkg endef +# The conf/ directory contains symlinks to host automake and libtool provided +# scripts. Don't rely on them being present. +define OPKG_REMOVE_AUTOTOOLS_SYMLINKS + rm $(@D)/conf/* +endef + +OPKG_POST_EXTRACT_HOOKS += OPKG_REMOVE_AUTOTOOLS_SYMLINKS + ifeq ($(BR2_PACKAGE_OPKG_GPG_SIGN),y) OPKG_CONF_OPTS += --enable-gpg OPKG_CONF_ENV += \ diff --git a/bsp/buildroot/package/oprofile/0002-Fix-FTBFS-problem-with-GCC-6.patch b/bsp/buildroot/package/oprofile/0002-Fix-FTBFS-problem-with-GCC-6.patch deleted file mode 100644 index 34bf3652..00000000 --- a/bsp/buildroot/package/oprofile/0002-Fix-FTBFS-problem-with-GCC-6.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 39d4d46a0bd504ac708ffe72df87bf74cd12ad30 Mon Sep 17 00:00:00 2001 -From: William Cohen -Date: Fri, 5 Feb 2016 17:30:19 -0500 -Subject: [PATCH] Fix FTBFS problem with GCC-6 - -GCC-6 is pickier about some of the type conversions causing the Fedora -24 mass rebuild the build of oprofile failed with: - -make[3]: Entering directory '/builddir/build/BUILD/oprofile-1.1.0/libutil++' -g++ -DHAVE_CONFIG_H -I. -I.. -I ../libutil -I ../libop -I ../libpp -W -Wall -fno-common -ftemplate-depth-50 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o op_bfd.o op_bfd.cpp -op_bfd.cpp: In member function 'void op_bfd::get_symbol_range(symbol_index_t, long long unsigned int&, long long unsigned int&) const': -op_bfd.cpp:538:47: error: cannot convert 'std::ostream {aka std::basic_ostream}' to 'const bool' in initialization - bool const verbose = cverb << (vbfd & vlevel1); - ^ -op_bfd.cpp:546:7: error: in argument to unary ! - if (!verbose) - ^~~~~~~ - -Avoid the intermediate bool type to make GCC-6 happy. - -Signed-off-by: William Cohen -[Backported from upstream] -Signed-off-by: Romain Naour ---- - libutil++/op_bfd.cpp | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/libutil++/op_bfd.cpp b/libutil++/op_bfd.cpp -index 389c920..f2eb42b 100644 ---- a/libutil++/op_bfd.cpp -+++ b/libutil++/op_bfd.cpp -@@ -535,15 +535,13 @@ void op_bfd::get_symbol_range(symbol_index_t sym_idx, - { - op_bfd_symbol const & sym = syms[sym_idx]; - -- bool const verbose = cverb << (vbfd & vlevel1); -- - if (anon_obj) - start = sym.vma(); - else - start = sym.filepos(); - end = start + sym.size(); - -- if (!verbose) -+ if (!(cverb << (vbfd & vlevel1))) - return; - - io_state state(cverb << (vbfd & vlevel1)); --- -2.5.5 - diff --git a/bsp/buildroot/package/oprofile/0002-oparchive-replace-basename-with-op_basename.patch b/bsp/buildroot/package/oprofile/0002-oparchive-replace-basename-with-op_basename.patch new file mode 100644 index 00000000..a2b580da --- /dev/null +++ b/bsp/buildroot/package/oprofile/0002-oparchive-replace-basename-with-op_basename.patch @@ -0,0 +1,34 @@ +From 5da92e18a538c630cb06a3dbb2affd9bfc128901 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 5 Jun 2018 13:31:34 +0200 +Subject: [PATCH] oparchive: replace basename with op_basename + +Use op_basename instead of basename in oparchive function. +This seems to be the intended use as there is no include on libgen.h for +the standard basename and the argument is a const char* instead of a +char*. + +Fixes: + - http://autobuild.buildroot.net/results/06fbff267063e09f7bc06adb08c896f861ecdb1d + +Signed-off-by: Fabrice Fontaine +--- + pp/oparchive.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pp/oparchive.cpp b/pp/oparchive.cpp +index 6221e148..274152ba 100644 +--- a/pp/oparchive.cpp ++++ b/pp/oparchive.cpp +@@ -261,7 +261,7 @@ int oparchive(options::spec const & spec) + /* determine the session name of sample file */ + int offset = sample_name.find('{'); + string base_samples_dir = sample_name.substr(0, offset-1); +- string session = basename(base_samples_dir.c_str()); ++ string session = op_basename(base_samples_dir.c_str()); + /* Get rid of the the archive_path from the name */ + string sample_base = sample_name.substr(offset); + string sample_archive_file = dest_samples_dir + "/" + session + "/" + sample_base; +-- +2.14.1 + diff --git a/bsp/buildroot/package/oprofile/oprofile.hash b/bsp/buildroot/package/oprofile/oprofile.hash index cc15ed11..737137e0 100644 --- a/bsp/buildroot/package/oprofile/oprofile.hash +++ b/bsp/buildroot/package/oprofile/oprofile.hash @@ -1,3 +1,6 @@ -# From http://sourceforge.net/projects/oprofile/files/oprofile/oprofile-1.1.0/ -sha1 38c0d8812fe605f6ddd1cd183a482aa7605c0e81 oprofile-1.1.0.tar.gz -md5 248c4c069f9476f427fa7195563f9867 oprofile-1.1.0.tar.gz +# From http://sourceforge.net/projects/oprofile/files/oprofile/oprofile-1.2.0/ +sha1 7bf28b74953bd042ff23dc53c399be96d37f144c oprofile-1.2.0.tar.gz +md5 4fcd3920984dcb607314b2e225086c3a oprofile-1.2.0.tar.gz + +# Hash for license file: +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/oprofile/oprofile.mk b/bsp/buildroot/package/oprofile/oprofile.mk index 4e0278eb..2b821944 100644 --- a/bsp/buildroot/package/oprofile/oprofile.mk +++ b/bsp/buildroot/package/oprofile/oprofile.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPROFILE_VERSION = 1.1.0 +OPROFILE_VERSION = 1.2.0 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) OPROFILE_LICENSE = GPL-2.0+ OPROFILE_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/opus-tools/Config.in b/bsp/buildroot/package/opus-tools/Config.in index 2552d195..c045239e 100644 --- a/bsp/buildroot/package/opus-tools/Config.in +++ b/bsp/buildroot/package/opus-tools/Config.in @@ -1,7 +1,9 @@ config BR2_PACKAGE_OPUS_TOOLS bool "opus-tools" - select BR2_PACKAGE_OPUS select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBOPUSENC + select BR2_PACKAGE_OPUS + select BR2_PACKAGE_OPUSFILE help Opus codec command line tools. This package provides the reference implementations of encoder and decoder utilities diff --git a/bsp/buildroot/package/opus-tools/opus-tools.hash b/bsp/buildroot/package/opus-tools/opus-tools.hash index 185c94ce..1b87458f 100644 --- a/bsp/buildroot/package/opus-tools/opus-tools.hash +++ b/bsp/buildroot/package/opus-tools/opus-tools.hash @@ -1,2 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 a2357532d19471b70666e0e0ec17d514246d8b3cb2eb168f68bb0f6fd372b28c opus-tools-0.1.10.tar.gz +sha256 b4e56cb00d3e509acfba9a9b627ffd8273b876b4e2408642259f6da28fa0ff86 opus-tools-0.2.tar.gz + +# Hash for license file +sha256 c28016e58544119d6b93aea28297d040f17dcef7a9f548d3e6a4d0b558c5d248 COPYING diff --git a/bsp/buildroot/package/opus-tools/opus-tools.mk b/bsp/buildroot/package/opus-tools/opus-tools.mk index ab00ced7..f69c3bef 100644 --- a/bsp/buildroot/package/opus-tools/opus-tools.mk +++ b/bsp/buildroot/package/opus-tools/opus-tools.mk @@ -4,12 +4,12 @@ # ################################################################################ -OPUS_TOOLS_VERSION = 0.1.10 +OPUS_TOOLS_VERSION = 0.2 OPUS_TOOLS_SITE = https://downloads.xiph.org/releases/opus OPUS_TOOLS_LICENSE = BSD-2-Clause, GPL-2.0 (opusinfo) OPUS_TOOLS_LICENSE_FILES = COPYING OPUS_TOOLS_CONF_OPTS = --disable-oggtest --disable-opustest -OPUS_TOOLS_DEPENDENCIES = opus libogg host-pkgconf +OPUS_TOOLS_DEPENDENCIES = libogg libopusenc opus opusfile host-pkgconf ifeq ($(BR2_PACKAGE_LIBPCAP),y) OPUS_TOOLS_DEPENDENCIES += libpcap diff --git a/bsp/buildroot/package/opus/opus.hash b/bsp/buildroot/package/opus/opus.hash index 32fe2e24..c9166479 100644 --- a/bsp/buildroot/package/opus/opus.hash +++ b/bsp/buildroot/package/opus/opus.hash @@ -1,2 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 cfafd339ccd9c5ef8d6ab15d7e1a412c054bf4cb4ecbbbcc78c12ef2def70732 opus-1.2.1.tar.gz +sha256 4f3d69aefdf2dbaf9825408e452a8a414ffc60494c70633560700398820dc550 opus-1.3.tar.gz + +# Hash for license file +sha256 8338ce8d922bb4416ce3dd1e5680173332435e3f0755007ac7801ccd674fe682 COPYING diff --git a/bsp/buildroot/package/opus/opus.mk b/bsp/buildroot/package/opus/opus.mk index 44de5db2..b3cfa21f 100644 --- a/bsp/buildroot/package/opus/opus.mk +++ b/bsp/buildroot/package/opus/opus.mk @@ -4,7 +4,7 @@ # ################################################################################ -OPUS_VERSION = 1.2.1 +OPUS_VERSION = 1.3 OPUS_SITE = https://downloads.xiph.org/releases/opus OPUS_LICENSE = BSD-3-Clause OPUS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/opusfile/opusfile.hash b/bsp/buildroot/package/opusfile/opusfile.hash index 528ded20..e9ecf83f 100644 --- a/bsp/buildroot/package/opusfile/opusfile.hash +++ b/bsp/buildroot/package/opusfile/opusfile.hash @@ -1,2 +1,5 @@ # From http://downloads.xiph.org/releases/opus/SHA256SUMS.txt -sha256 f75fb500e40b122775ac1a71ad80c4477698842a8fe9da4a1b4a1a9f16e4e979 opusfile-0.9.tar.gz +sha256 74ce9b6cf4da103133e7b5c95df810ceb7195471e1162ed57af415fabf5603bf opusfile-0.11.tar.gz + +# Hash for license file +sha256 0267ae795ab744c4e0f9c45e249440fdf2e75dac8c804f36066b28649bf74aaf COPYING diff --git a/bsp/buildroot/package/opusfile/opusfile.mk b/bsp/buildroot/package/opusfile/opusfile.mk index 28d4368e..49a53b39 100644 --- a/bsp/buildroot/package/opusfile/opusfile.mk +++ b/bsp/buildroot/package/opusfile/opusfile.mk @@ -4,15 +4,15 @@ # ################################################################################ -OPUSFILE_VERSION = 0.9 +OPUSFILE_VERSION = 0.11 OPUSFILE_SITE = https://downloads.xiph.org/releases/opus OPUSFILE_DEPENDENCIES = host-pkgconf libogg opus OPUSFILE_LICENSE = BSD-3-Clause OPUSFILE_LICENSE_FILES = COPYING OPUSFILE_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) -OPUSFILE_DEPENDENCIES += libopenssl +ifeq ($(BR2_PACKAGE_OPENSSL),y) +OPUSFILE_DEPENDENCIES += openssl else OPUSFILE_CONF_OPTS += --disable-http endif diff --git a/bsp/buildroot/package/oracle-mysql/oracle-mysql.mk b/bsp/buildroot/package/oracle-mysql/oracle-mysql.mk index 7da5c547..0275a842 100644 --- a/bsp/buildroot/package/oracle-mysql/oracle-mysql.mk +++ b/bsp/buildroot/package/oracle-mysql/oracle-mysql.mk @@ -21,6 +21,7 @@ MYSQL_SOCKET = /run/mysql/mysql.sock ORACLE_MYSQL_CONF_ENV = \ ac_cv_sys_restartable_syscalls=yes \ ac_cv_path_PS=/bin/ps \ + ac_cv_path_HOSTNAME=/bin/hostname \ ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \ ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \ diff --git a/bsp/buildroot/package/orbit/Config.in b/bsp/buildroot/package/orbit/Config.in index 8df42a83..7b6e9a43 100644 --- a/bsp/buildroot/package/orbit/Config.in +++ b/bsp/buildroot/package/orbit/Config.in @@ -1,10 +1,9 @@ config BR2_PACKAGE_ORBIT bool "orbit" depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT - # These are runtime dependencies - select BR2_PACKAGE_LPEG - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_WSAPI_XAVANTE + select BR2_PACKAGE_LPEG # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_WSAPI_XAVANTE # runtime help An MVC web framework for Lua. The design is inspired by lightweight Ruby frameworks such as Camping diff --git a/bsp/buildroot/package/orbit/orbit.hash b/bsp/buildroot/package/orbit/orbit.hash index 9662a650..eb427b63 100644 --- a/bsp/buildroot/package/orbit/orbit.hash +++ b/bsp/buildroot/package/orbit/orbit.hash @@ -1,2 +1,4 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 91e3c514d5b86918db83666c8889635bb2d50c71d1ab3aeb69c6469c9424089b orbit-2.2.4-1.src.rock +sha256 dd7d37caed0f4ee994e9e64ea4ab292dce549bb609412c84fc47ed079275ae98 orbit/doc/us/license.html +sha256 140134369c1f041abf7d8cd39a5b0c42f8b5e827695ce7c1ef5ca8f0911a0246 orbit/doc/us/license.md diff --git a/bsp/buildroot/package/orbit/orbit.mk b/bsp/buildroot/package/orbit/orbit.mk index 3329439d..5cf7ac64 100644 --- a/bsp/buildroot/package/orbit/orbit.mk +++ b/bsp/buildroot/package/orbit/orbit.mk @@ -4,10 +4,11 @@ # ################################################################################ -ORBIT_VERSION_UPSTREAM = 2.2.4 -ORBIT_VERSION = $(ORBIT_VERSION_UPSTREAM)-1 +ORBIT_VERSION = 2.2.4-1 ORBIT_SUBDIR = orbit ORBIT_LICENSE = MIT -ORBIT_LICENSE_FILES = $(ORBIT_SUBDIR)/doc/us/license.md +ORBIT_LICENSE_FILES = \ + $(ORBIT_SUBDIR)/doc/us/license.html \ + $(ORBIT_SUBDIR)/doc/us/license.md $(eval $(luarocks-package)) diff --git a/bsp/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch b/bsp/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch new file mode 100644 index 00000000..dadf0276 --- /dev/null +++ b/bsp/buildroot/package/owfs/0002-include-sys-sysmacros.h-for-major.patch @@ -0,0 +1,50 @@ +From 0d5e4ba51d2b90a64f5d310d715ed367bbcc8996 Mon Sep 17 00:00:00 2001 +From: Tomasz Torcz +Date: Sat, 17 Mar 2018 12:56:04 +0100 +Subject: [PATCH] include for major() + + Linux glibc ceased to include it in sys/types.h: +https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html + +Signed-off-by: Baruch Siach +--- +Upstream status: commit 0d5e4ba51d2 + + configure.ac | 2 +- + module/owlib/src/include/ow.h | 6 +++++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 86751bf7cff7..d625d3f02b48 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -180,7 +180,7 @@ m4_include([src/scripts/m4/acx_pthread.m4]) + # Checks for header files. + AC_HEADER_DIRENT + AC_HEADER_STDC +-AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h]) ++AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/sysmacros.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h]) + AC_CHECK_HEADERS([linux/limits.h linux/types.h netdb.h dlfcn.h]) + AC_CHECK_HEADERS(sys/event.h sys/inotify.h) + +diff --git a/module/owlib/src/include/ow.h b/module/owlib/src/include/ow.h +index 9dbec5f31cf7..0a31055238b1 100644 +--- a/module/owlib/src/include/ow.h ++++ b/module/owlib/src/include/ow.h +@@ -188,8 +188,12 @@ + #include /* for getaddrinfo */ + #endif /* HAVE_NETDB_H */ + ++#ifdef HAVE_SYS_SYSMACROS_H ++#include /* for major() */ ++#endif /* HAVE_SYS_SYSMACROS_H */ ++ + #ifdef HAVE_SYS_MKDEV_H +-#include /* for major() */ ++#include /* for major() on Solaris */ + #endif /* HAVE_SYS_MKDEV_H */ + + #include // for offsetof() +-- +2.18.0 + diff --git a/bsp/buildroot/package/owfs/S25owserver b/bsp/buildroot/package/owfs/S25owserver old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/owfs/S30owfs b/bsp/buildroot/package/owfs/S30owfs old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/owfs/owfs.hash b/bsp/buildroot/package/owfs/owfs.hash index 1e57e295..eeea6436 100644 --- a/bsp/buildroot/package/owfs/owfs.hash +++ b/bsp/buildroot/package/owfs/owfs.hash @@ -1,5 +1,7 @@ -# From https://sourceforge.net/projects/owfs/files/owfs/3.2p1/ -md5 fb42ce3b8a49f0b62711d8e3f5f04880 owfs-3.2p1.tar.gz -sha1 4ee76e686bec769acde5bfbda148a8693df244c6 owfs-3.2p1.tar.gz +# From https://sourceforge.net/projects/owfs/files/owfs/3.2p2/ +md5 f85e81837fe9ec273499a17f2f7a9143 owfs-3.2p2.tar.gz +sha1 d04032696a3fba9f250a9a1d552361072a9f22ea owfs-3.2p2.tar.gz # Locally calculated -sha256 33220b25db36969a717cd27e750d73dee376795e13a5f3677f05111b745832ea owfs-3.2p1.tar.gz +sha256 39535521a65a74bd36dc31726bcf04201f60f230a7944e9a63c393c318f5113c owfs-3.2p2.tar.gz +sha256 e484a24fa5d177576e1672306165f495633bd5f0daaf628d1ff5ecfc85bdc637 COPYING +sha256 3879dcca586c08d1fe3325f3a0aec5b47d543100bc6b1dfb30bf24ec48675b10 COPYING.LIB diff --git a/bsp/buildroot/package/owfs/owfs.mk b/bsp/buildroot/package/owfs/owfs.mk index 47626cea..e1201471 100644 --- a/bsp/buildroot/package/owfs/owfs.mk +++ b/bsp/buildroot/package/owfs/owfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -OWFS_VERSION = 3.2p1 +OWFS_VERSION = 3.2p2 OWFS_SITE = http://downloads.sourceforge.net/project/owfs/owfs/$(OWFS_VERSION) OWFS_DEPENDENCIES = host-pkgconf OWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl @@ -21,6 +21,9 @@ OWFS_INSTALL_STAGING = YES # https://sourceforge.net/p/owfs/support-requests/32/ OWFS_CONF_OPTS += --disable-owphp --without-php +# Skip man pages processing +OWFS_CONF_ENV += ac_cv_path_SOELIM=true + ifeq ($(BR2_PACKAGE_LIBFUSE),y) OWFS_DEPENDENCIES += libfuse OWFS_CONF_OPTS += \ diff --git a/bsp/buildroot/package/p7zip/0001-bfin.patch b/bsp/buildroot/package/p7zip/0001-bfin.patch deleted file mode 100644 index 76addb65..00000000 --- a/bsp/buildroot/package/p7zip/0001-bfin.patch +++ /dev/null @@ -1,19 +0,0 @@ -Add support for blackfin arch. - -Fixes compilation error: -../../../../CPP/myWindows/mySplitCommandLine.cpp:99:8: error: #error ENDIANNESS - -Signed-off-by: Bernd Kuhls -(Patch sent upstream: https://sourceforge.net/p/p7zip/patches/33/ - -diff -uNr p7zip_15.14.1.org/C/CpuArch.h p7zip_15.14.1/C/CpuArch.h ---- p7zip_15.14.1.org/C/CpuArch.h 2016-02-17 07:27:16.000000000 +0100 -+++ p7zip_15.14.1/C/CpuArch.h 2016-06-08 19:47:49.000000000 +0200 -@@ -66,6 +66,7 @@ - || defined(__MIPSEL__) \ - || defined(__MIPSEL) \ - || defined(_MIPSEL) \ -+ || defined(__BFIN__) \ - || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) - #define MY_CPU_LE - #endif diff --git a/bsp/buildroot/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch b/bsp/buildroot/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch deleted file mode 100644 index 9edb2c4a..00000000 --- a/bsp/buildroot/package/paho-mqtt-c/0001-Declare-mqtt-tests-as-a-C-only-project.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 6556e62a07972eafccaefdcdf32bd0d386c64ca2 Mon Sep 17 00:00:00 2001 -From: Yegor Yefremov -Date: Wed, 13 Sep 2017 07:59:50 +0200 -Subject: [PATCH] Declare mqtt-tests as a C-only project - -This way CMake doesn't break the build on the systems without -C++ compiler. - -Signed-off-by: Yegor Yefremov -Reported-by: Marcus Hoffmann ---- - test/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 5c88c44..3aca80f 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -1,4 +1,4 @@ --PROJECT(mqtt-tests) -+PROJECT(mqtt-tests C) - - IF (WIN32) - SET(MQTT_TEST_BROKER "tcp://mqtt.iotree.co.uk:1883" CACHE STRING "Hostname of a test MQTT broker to use") --- -2.1.4 - diff --git a/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash b/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash index 3bee8914..d628d066 100644 --- a/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash +++ b/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.hash @@ -1,4 +1,4 @@ # Locally computed: -sha256 0cb0396554ebe0e8ac6b0de1cbc16601ef169b6a63baf6f0f3ddeb405f5471a5 paho-mqtt-c-v1.2.0.tar.gz +sha256 87cf846b02dde6328b84832287d8725d91f12f41366eecb4d59eeda1d6c7efdf paho-mqtt-c-v1.3.0.tar.gz sha256 83bbba033dc985487e321b6dfde111772affb73460be48726299fed3da684b1c edl-v10 sha256 44277b2bec6093e4ac313afec251a4de599d24c4e768f8574d95b13a9d2d97b5 epl-v10 diff --git a/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk b/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk index 5df7a55c..9e8ae299 100644 --- a/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk +++ b/bsp/buildroot/package/paho-mqtt-c/paho-mqtt-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -PAHO_MQTT_C_VERSION = v1.2.0 +PAHO_MQTT_C_VERSION = v1.3.0 PAHO_MQTT_C_SITE = $(call github,eclipse,paho.mqtt.c,$(PAHO_MQTT_C_VERSION)) PAHO_MQTT_C_LICENSE = EPL-1.0 or BSD-3-Clause PAHO_MQTT_C_LICENSE_FILES = epl-v10 edl-v10 diff --git a/bsp/buildroot/package/pamtester/Config.in b/bsp/buildroot/package/pamtester/Config.in new file mode 100644 index 00000000..19b76d3f --- /dev/null +++ b/bsp/buildroot/package/pamtester/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PAMTESTER + bool "pamtester" + depends on BR2_PACKAGE_LINUX_PAM + help + A tiny utility for testing pluggable authentication modules + (PAM) facility. While specifically designed to help PAM module + authors to test their modules, that might also be handy for + system administrators interested in building a centralised + authentication system using common standards such as NIS, SASL + and LDAP. + + http://pamtester.sourceforge.net/ + +comment "pamtester depends on linux-pam" + depends on !BR2_PACKAGE_LINUX_PAM diff --git a/bsp/buildroot/package/pamtester/pamtester.hash b/bsp/buildroot/package/pamtester/pamtester.hash new file mode 100644 index 00000000..17497e31 --- /dev/null +++ b/bsp/buildroot/package/pamtester/pamtester.hash @@ -0,0 +1,3 @@ +# from https://sourceforge.net/projects/pamtester/files/pamtester/0.1.2/ +sha1 33bcc610d7f208b50a0a23c144bdbd1e2cae4ac6 pamtester-0.1.2.tar.gz +sha256 1e3922a8ab0907c1f3bcc3e00005ef88930e50d0890f40a6a39f5f83b05f05cc LICENSE diff --git a/bsp/buildroot/package/pamtester/pamtester.mk b/bsp/buildroot/package/pamtester/pamtester.mk new file mode 100644 index 00000000..b09e4d1c --- /dev/null +++ b/bsp/buildroot/package/pamtester/pamtester.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# pamtester +# +################################################################################ + +PAMTESTER_VERSION = 0.1.2 +PAMTESTER_SITE = https://download.sourceforge.net/project/pamtester/pamtester/$(PAMTESTER_VERSION) +PAMTESTER_DEPENDENCIES = linux-pam +PAMTESTER_LICENSE = BSD-3-Clause +PAMTESTER_LICENSE_FILES = LICENSE + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch b/bsp/buildroot/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch new file mode 100644 index 00000000..010981e8 --- /dev/null +++ b/bsp/buildroot/package/pango/0002-Prevent-an-assertion-with-invalid-Unicode-sequences.patch @@ -0,0 +1,38 @@ +From 71aaeaf020340412b8d012fe23a556c0420eda5f Mon Sep 17 00:00:00 2001 +From: Matthias Clasen +Date: Fri, 17 Aug 2018 22:29:36 -0400 +Subject: [PATCH] Prevent an assertion with invalid Unicode sequences + +Invalid Unicode sequences, such as 0x2665 0xfe0e 0xfe0f, +can trick the Emoji iter code into returning an empty +segment, which then triggers an assertion in the itemizer. + +Prevent this by ensuring that we make progress. + +This issue was reported by Jeffrey M. + +Signed-off-by: Peter Korsgaard +--- + pango/pango-emoji.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/pango/pango-emoji.c b/pango/pango-emoji.c +index 0e332dff..29472452 100644 +--- a/pango/pango-emoji.c ++++ b/pango/pango-emoji.c +@@ -253,6 +253,12 @@ _pango_emoji_iter_next (PangoEmojiIter *iter) + if (iter->is_emoji == PANGO_EMOJI_TYPE_IS_EMOJI (current_emoji_type)) + { + iter->is_emoji = !PANGO_EMOJI_TYPE_IS_EMOJI (current_emoji_type); ++ ++ /* Make sure we make progress. Weird sequences, like a VC15 followed ++ * by VC16, can trick us into stalling otherwise. */ ++ if (iter->start == iter->end) ++ iter->end = g_utf8_next_char (iter->end); ++ + return TRUE; + } + } +-- +2.11.0 + diff --git a/bsp/buildroot/package/patchelf/patchelf.mk b/bsp/buildroot/package/patchelf/patchelf.mk index 74e6cccd..52912e29 100644 --- a/bsp/buildroot/package/patchelf/patchelf.mk +++ b/bsp/buildroot/package/patchelf/patchelf.mk @@ -5,7 +5,7 @@ ################################################################################ PATCHELF_VERSION = 0.9 -PATCHELF_SITE = http://releases.nixos.org/patchelf/patchelf-$(PATCHELF_VERSION) +PATCHELF_SITE = https://nixos.org/releases/patchelf/patchelf-$(PATCHELF_VERSION) PATCHELF_SOURCE = patchelf-$(PATCHELF_VERSION).tar.bz2 PATCHELF_LICENSE = GPL-3.0+ PATCHELF_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/pciutils/Config.in b/bsp/buildroot/package/pciutils/Config.in index d46df6c0..a082f239 100644 --- a/bsp/buildroot/package/pciutils/Config.in +++ b/bsp/buildroot/package/pciutils/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_PCIUTILS bool "pciutils" - # PCI not supported on Blackfin - depends on !BR2_bfin help Various utilities dealing with the PCI bus. Provides things like setpci and lspci. diff --git a/bsp/buildroot/package/pciutils/pciutils.mk b/bsp/buildroot/package/pciutils/pciutils.mk index 2dd5771f..30d429e7 100644 --- a/bsp/buildroot/package/pciutils/pciutils.mk +++ b/bsp/buildroot/package/pciutils/pciutils.mk @@ -46,11 +46,6 @@ else PCIUTILS_MAKE_OPTS += SHARED=yes endif -# Build after busybox since it's got a lightweight lspci -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -PCIUTILS_DEPENDENCIES += busybox -endif - define PCIUTILS_CONFIGURE_CMDS $(SED) 's/wget --no-timestamping/wget/' $(PCIUTILS_DIR)/update-pciids.sh $(SED) 's/uname -s/echo Linux/' \ diff --git a/bsp/buildroot/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch b/bsp/buildroot/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch new file mode 100644 index 00000000..933eec02 --- /dev/null +++ b/bsp/buildroot/package/pcm-tools/0001-Look-for-pcm-core-at-the-default-path.patch @@ -0,0 +1,46 @@ +From 53b6161d2413406778fa222274069c82846f0297 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Thu, 6 Dec 2018 21:17:02 -0200 +Subject: [PATCH] Look for pcm-core at the default path + +On Buildroot, pcm-core.x is installed as /usr/bin/pcm-core. Remove the +platform test, since we know that it's neither CigWin nor Windows, and +use the default path. + +It's not nice to have a Buildroot specific patch but let's use one while +we look for a solution that is acceptable upstream. + +Signed-off-by: Carlos Santos +--- + pmu-query.py | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/pmu-query.py b/pmu-query.py +index 4c596c7..dc39df6 100755 +--- a/pmu-query.py ++++ b/pmu-query.py +@@ -3,7 +3,6 @@ import urllib2 + import json, csv + import subprocess + import sys +-import platform + import getopt + + all_flag = False +@@ -38,12 +37,7 @@ if filename == None: + except StopIteration: + break + +- if platform.system() == 'CYGWIN_NT-6.1': +- p = subprocess.Popen(['./pcm-core.exe -c'],stdout=subprocess.PIPE,shell=True) +- elif platform.system() == 'Windows': +- p = subprocess.Popen(['pcm-core.exe -c'],stdout=subprocess.PIPE,shell=True) +- else: +- p = subprocess.Popen(['./pcm-core.x -c'],stdout=subprocess.PIPE,shell=True) ++ p = subprocess.Popen(['/usr/bin/pcm-core -c'],stdout=subprocess.PIPE,shell=True) + + (output, err) = p.communicate() + p_status = p.wait() +-- +2.19.2 + diff --git a/bsp/buildroot/package/pcm-tools/Config.in b/bsp/buildroot/package/pcm-tools/Config.in new file mode 100644 index 00000000..f347a265 --- /dev/null +++ b/bsp/buildroot/package/pcm-tools/Config.in @@ -0,0 +1,33 @@ +comment "pcm-tools needs a toolchain w/ C++" + depends on BR2_i386 || BR2_x86_64 + depends on !BR2_INSTALL_LIBSTDCPP + +config BR2_PACKAGE_PCM_TOOLS + bool "pcm-tools" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_HWDATA + select BR2_PACKAGE_HWDATA_PCI_IDS + help + Processor Counter Monitor (PCM) is an application programming + interface (API) and a set of tools based on the API to monitor + performance and energy metrics of Intel(R) Core(TM), Xeon(R), + Atom(TM) and Xeon Phi(TM) processors. + + https://github.com/opcm/pcm + +if BR2_PACKAGE_PCM_TOOLS + +# The pmu-query script is not compatible with Python 3 +config BR2_PACKAGE_PCM_TOOLS_PMU_QUERY + bool "install the pmu-query script" + default y + depends on BR2_PACKAGE_PYTHON + select BR2_PACKAGE_CA_CERTIFICATES # https + select BR2_PACKAGE_PYTHON_HASHLIB # urllib2 + select BR2_PACKAGE_PYTHON_SSL # urllib2 + +comment "pmu-query needs Python 2.x" + depends on !BR2_PACKAGE_PYTHON + +endif diff --git a/bsp/buildroot/package/pcm-tools/pcm-tools.hash b/bsp/buildroot/package/pcm-tools/pcm-tools.hash new file mode 100644 index 00000000..77f14824 --- /dev/null +++ b/bsp/buildroot/package/pcm-tools/pcm-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 798eb1bc5d9c34fa107de21b2100e8d4326cb45b613bc35baa1e1efb1dd13b04 pcm-tools-201812.tar.gz +sha256 fac73f62c4d665c82622862a2be2b89713e0f480c93e593af2d8ef29a13d814b LICENSE diff --git a/bsp/buildroot/package/pcm-tools/pcm-tools.mk b/bsp/buildroot/package/pcm-tools/pcm-tools.mk new file mode 100644 index 00000000..6d5938f9 --- /dev/null +++ b/bsp/buildroot/package/pcm-tools/pcm-tools.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# pcm-tools +# +################################################################################ + +PCM_TOOLS_VERSION = 201812 +PCM_TOOLS_SITE = $(call github,opcm,pcm,$(PCM_TOOLS_VERSION)) +PCM_TOOLS_LICENSE = BSD-3-Clause +PCM_TOOLS_LICENSE_FILES = LICENSE + +PCM_TOOLS_EXE_FILES = \ + pcm-core pcm-iio pcm-lspci pcm-memory pcm-msr pcm-numa \ + pcm-pcicfg pcm-pcie pcm-power pcm-sensor pcm-tsx pcm + +define PCM_TOOLS_BUILD_CMDS + touch $(@D)/daemon-binaries + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" \ + UNAME=Linux HOST=_LINUX +endef + +ifeq ($(BR2_PACKAGE_PCM_TOOLS_PMU_QUERY),y) +define PCM_TOOLS_INSTALL_PMU_QUERY + $(INSTALL) -D -m 755 $(@D)/pmu-query.py $(TARGET_DIR)/usr/bin/pmu-query +endef +endif + +define PCM_TOOLS_INSTALL_TARGET_CMDS + $(foreach f,$(PCM_TOOLS_EXE_FILES),\ + $(INSTALL) -D -m 755 $(@D)/$(f).x $(TARGET_DIR)/usr/bin/$(f) + ) + $(PCM_TOOLS_INSTALL_PMU_QUERY) +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/pcmanfm/pcmanfm.hash b/bsp/buildroot/package/pcmanfm/pcmanfm.hash index 155e9beb..f633b49a 100644 --- a/bsp/buildroot/package/pcmanfm/pcmanfm.hash +++ b/bsp/buildroot/package/pcmanfm/pcmanfm.hash @@ -1,3 +1,6 @@ # From https://sourceforge.net/projects/pcmanfm/files/PCManFM%20%2B%20Libfm%20%28tarball%20release%29/PCManFM/ -md5 b4d1f8ce08d87e4f27805a246fc51ac2 pcmanfm-1.2.5.tar.xz -sha1 9a8a2b4abebdf859e5ba2486eff84d505ad17b89 pcmanfm-1.2.5.tar.xz +md5 827838f7f6b17dc97e1690c07da8fdb3 pcmanfm-1.3.0.tar.xz +sha1 690fb28c0957ad56e28d1b8f5384e63462c118b2 pcmanfm-1.3.0.tar.xz + +# Hash for license file: +sha256 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c COPYING diff --git a/bsp/buildroot/package/pcmanfm/pcmanfm.mk b/bsp/buildroot/package/pcmanfm/pcmanfm.mk index 31acae65..6dadfaee 100644 --- a/bsp/buildroot/package/pcmanfm/pcmanfm.mk +++ b/bsp/buildroot/package/pcmanfm/pcmanfm.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCMANFM_VERSION = 1.2.5 +PCMANFM_VERSION = 1.3.0 PCMANFM_SOURCE = pcmanfm-$(PCMANFM_VERSION).tar.xz PCMANFM_SITE = http://sourceforge.net/projects/pcmanfm/files PCMANFM_DEPENDENCIES = libglib2 menu-cache libfm diff --git a/bsp/buildroot/package/pcre/pcre.hash b/bsp/buildroot/package/pcre/pcre.hash index fc0bb98d..ca72a78c 100644 --- a/bsp/buildroot/package/pcre/pcre.hash +++ b/bsp/buildroot/package/pcre/pcre.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -sha256 e62c7eac5ae7c0e7286db61ff82912e1c0b7a0c13706616e94a7dd729321b530 pcre-8.41.tar.bz2 +sha256 2cd04b7c887808be030254e8d77de11d3fe9d4505c39d4b15d2664ffe8bf9301 pcre-8.42.tar.bz2 # License files, locally calculated -sha256 9ac4dfc82b2645ff77b56b759f95f28aa15ab15a03670fa6d4313a6b351e60f0 LICENCE +sha256 f998c0f52eb704eff28f503580cfca3f2547280aa212994f6cf2d8e317587c1c LICENCE diff --git a/bsp/buildroot/package/pcre/pcre.mk b/bsp/buildroot/package/pcre/pcre.mk index b12b00dd..163e535e 100644 --- a/bsp/buildroot/package/pcre/pcre.mk +++ b/bsp/buildroot/package/pcre/pcre.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCRE_VERSION = 8.41 +PCRE_VERSION = 8.42 PCRE_SITE = https://ftp.pcre.org/pub/pcre PCRE_SOURCE = pcre-$(PCRE_VERSION).tar.bz2 PCRE_LICENSE = BSD-3-Clause diff --git a/bsp/buildroot/package/pcre2/0001-fix-heapframe-alignment.patch b/bsp/buildroot/package/pcre2/0001-fix-heapframe-alignment.patch deleted file mode 100644 index a10e9e79..00000000 --- a/bsp/buildroot/package/pcre2/0001-fix-heapframe-alignment.patch +++ /dev/null @@ -1,49 +0,0 @@ -src/pcre2_intmodedep.h: fix alignment of fields in struct heapframe - -pcre2_intmodedep.h has a check to verify that the size of the struct -heapframe is a multiple of 4 bytes. On most architectures this works -fine, but not on m68k. Indeed, when building the 16-bit variant of -pcre2, the heapframe structure contains: - - PCRE2_UCHAR occu[2]; - PCRE2_SPTR eptr; - -Where PCRE2_UCHAR is a 16-bit data type, and PCRE2_SPTR is a -pointer. The occu[] array starts at byte 0x32, so not aligned on a -32-bit boundary. With 2 x 16-bit, the occur[] array ends at byte 0x36. - -Now, on most architectures, the alignment required for a pointer will -make the eptr field start at 0x38 (on 32 bit architectures). However, -on m68k, it is fine to have a pointer aligned only on a 16-bit -boundary, and the eptr pointer will be at offset 0x36. - -This doesn't cause a problem per-se, but breaks the check that -heapframe should be a multiple of 4 bytes. - -To fix this, we make sure eptr is aligned by introducing an unused -field of 16 bits after the occu[] array (in the 16-bit variant) or -after the occu[] array (in the 32-bit variant). These choices have -been made to keep the structure layout unchanged. - -Fixes the following build failure on m68k: - -src/pcre2_intmodedep.h:818:14: error: size of array 'check_heapframe_size' is negative - typedef char check_heapframe_size[ - ^~~~~~~~~~~~~~~~~~~~ - -Signed-off-by: Thomas Petazzoni -Upstream: https://bugs.exim.org/show_bug.cgi?id=2247 - -Index: src/pcre2_intmodedep.h -=================================================================== ---- a/src/pcre2_intmodedep.h (revision 923) -+++ b/src/pcre2_intmodedep.h (working copy) -@@ -797,7 +797,9 @@ - PCRE2_UCHAR occu[6]; /* Used for other case code units */ - #elif PCRE2_CODE_UNIT_WIDTH == 16 - PCRE2_UCHAR occu[2]; /* Used for other case code units */ -+ uint8_t unused[2]; /* Ensure 32 bit alignment */ - #else -+ uint8_t unused[2]; /* Ensure 32 bit alignment */ - PCRE2_UCHAR occu[1]; /* Used for other case code units */ - #endif diff --git a/bsp/buildroot/package/pcre2/pcre2.hash b/bsp/buildroot/package/pcre2/pcre2.hash index 7b125dda..a3210b18 100644 --- a/bsp/buildroot/package/pcre2/pcre2.hash +++ b/bsp/buildroot/package/pcre2/pcre2.hash @@ -1,2 +1,4 @@ -# Locally calculated after checking pgp signature at https://ftp.pcre.org/pub/pcre/pcre2-10.30.tar.bz2.sig -sha256 90bd41c605d30e3745771eb81928d779f158081a51b2f314bbcc1f73de5773db pcre2-10.30.tar.bz2 +# Locally calculated after checking pgp signature at https://ftp.pcre.org/pub/pcre/pcre2-10.32.tar.bz2.sig +sha256 f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e pcre2-10.32.tar.bz2 +# Locally computed +sha256 c4a8b89cd38d6a7501d5b11a472fa15e71a051b66d6331c6cda364101389d6ee LICENCE diff --git a/bsp/buildroot/package/pcre2/pcre2.mk b/bsp/buildroot/package/pcre2/pcre2.mk index 38446228..ee3cacb9 100644 --- a/bsp/buildroot/package/pcre2/pcre2.mk +++ b/bsp/buildroot/package/pcre2/pcre2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCRE2_VERSION = 10.30 +PCRE2_VERSION = 10.32 PCRE2_SITE = https://ftp.pcre.org/pub/pcre PCRE2_SOURCE = pcre2-$(PCRE2_VERSION).tar.bz2 PCRE2_LICENSE = BSD-3-Clause diff --git a/bsp/buildroot/package/pcsc-lite/Config.in b/bsp/buildroot/package/pcsc-lite/Config.in index 658ebe30..3250a463 100644 --- a/bsp/buildroot/package/pcsc-lite/Config.in +++ b/bsp/buildroot/package/pcsc-lite/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_PCSC_LITE help Middleware to access smart card using SCard API (PC/SC). - http://pcsclite.alioth.debian.org/ + https://muscle.apdu.fr/ if BR2_PACKAGE_PCSC_LITE diff --git a/bsp/buildroot/package/pcsc-lite/pcsc-lite.hash b/bsp/buildroot/package/pcsc-lite/pcsc-lite.hash index efd97493..fe5ce946 100644 --- a/bsp/buildroot/package/pcsc-lite/pcsc-lite.hash +++ b/bsp/buildroot/package/pcsc-lite/pcsc-lite.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 ec7d0114016c788c1c09859c84860f6cec6c4595436d23245105154b9c046bb2 pcsc-lite-1.8.22.tar.bz2 +sha256 5a27262586eff39cfd5c19aadc8891dd71c0818d3d629539bd631b958be689c9 pcsc-lite-1.8.23.tar.bz2 +sha256 2ce8f52bc5afa74f223121955e4e6328c432b16044ea535acd550435dda2b5db COPYING diff --git a/bsp/buildroot/package/pcsc-lite/pcsc-lite.mk b/bsp/buildroot/package/pcsc-lite/pcsc-lite.mk index 15c37f9e..0d55d4b7 100644 --- a/bsp/buildroot/package/pcsc-lite/pcsc-lite.mk +++ b/bsp/buildroot/package/pcsc-lite/pcsc-lite.mk @@ -4,9 +4,9 @@ # ################################################################################ -PCSC_LITE_VERSION = 1.8.22 +PCSC_LITE_VERSION = 1.8.23 PCSC_LITE_SOURCE = pcsc-lite-$(PCSC_LITE_VERSION).tar.bz2 -PCSC_LITE_SITE = http://alioth.debian.org/frs/download.php/file/4203 +PCSC_LITE_SITE = https://pcsclite.apdu.fr/files PCSC_LITE_INSTALL_STAGING = YES PCSC_LITE_DEPENDENCIES = host-pkgconf PCSC_LITE_LICENSE = BSD-3-Clause @@ -29,6 +29,13 @@ PCSC_LITE_CONF_OPTS += --disable-libusb --disable-libudev endif endif +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +PCSC_LITE_CONF_OPTS += --enable-libsystemd +PCSC_LITE_DEPENDENCIES += systemd +else +PCSC_LITE_CONF_OPTS += --disable-libsystemd +endif + ifeq ($(PACKAGE_PCSC_LITE_DEBUGATR),y) PCSC_LITE_CONF_OPTS += --enable-debugatr endif diff --git a/bsp/buildroot/package/pdbg/pdbg.hash b/bsp/buildroot/package/pdbg/pdbg.hash index 39aa33e1..2f11ad59 100644 --- a/bsp/buildroot/package/pdbg/pdbg.hash +++ b/bsp/buildroot/package/pdbg/pdbg.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2d6174d30b12cb46d24c260ecc0714a757c2cb899be3f5106c148d4c359bd319 pdbg-139ba071c222a5b0c20075f7c2265029ddd59449.tar.gz +sha256 da65ebbd9a710555e9684472ee36fff37e897111034fcc2c07172cc39016d169 pdbg-v2.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 COPYING diff --git a/bsp/buildroot/package/pdbg/pdbg.mk b/bsp/buildroot/package/pdbg/pdbg.mk index ba9aa15d..ba3b0b88 100644 --- a/bsp/buildroot/package/pdbg/pdbg.mk +++ b/bsp/buildroot/package/pdbg/pdbg.mk @@ -4,7 +4,7 @@ # ################################################################################ -PDBG_VERSION = 139ba071c222a5b0c20075f7c2265029ddd59449 +PDBG_VERSION = v2.0 PDBG_SITE = $(call github,open-power,pdbg,$(PDBG_VERSION)) PDBG_LICENSE = Apache-2.0 PDBG_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/perl-apache-logformat-compiler/Config.in b/bsp/buildroot/package/perl-apache-logformat-compiler/Config.in new file mode 100644 index 00000000..d78104f1 --- /dev/null +++ b/bsp/buildroot/package/perl-apache-logformat-compiler/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_APACHE_LOGFORMAT_COMPILER + bool "perl-apache-logformat-compiler" + select BR2_PACKAGE_PERL_POSIX_STRFTIME_COMPILER # runtime + help + Compile a log format string to perl-code. + + https://github.com/kazeburo/Apache-LogFormat-Compiler diff --git a/bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash b/bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash new file mode 100644 index 00000000..5466435c --- /dev/null +++ b/bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 cbb0bf041ade8a39f65eadbdf8a346c1 Apache-LogFormat-Compiler-0.35.tar.gz +sha256 1654c0000a042a8af052616e30b91c1f0b95a720c8048b59168a8bd99b07271a Apache-LogFormat-Compiler-0.35.tar.gz + +# computed by scancpan +sha256 ab941cfc4794afa2113795b167177d1b25cbc77ebadd016e5727effc2cadd96b LICENSE diff --git a/bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk b/bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk new file mode 100644 index 00000000..59290f37 --- /dev/null +++ b/bsp/buildroot/package/perl-apache-logformat-compiler/perl-apache-logformat-compiler.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-apache-logformat-compiler +# +################################################################################ + +PERL_APACHE_LOGFORMAT_COMPILER_VERSION = 0.35 +PERL_APACHE_LOGFORMAT_COMPILER_SOURCE = Apache-LogFormat-Compiler-$(PERL_APACHE_LOGFORMAT_COMPILER_VERSION).tar.gz +PERL_APACHE_LOGFORMAT_COMPILER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO +PERL_APACHE_LOGFORMAT_COMPILER_DEPENDENCIES = host-perl-module-build-tiny +PERL_APACHE_LOGFORMAT_COMPILER_LICENSE = Artistic or GPL-1.0+ +PERL_APACHE_LOGFORMAT_COMPILER_LICENSE_FILES = LICENSE +PERL_APACHE_LOGFORMAT_COMPILER_DISTNAME = Apache-LogFormat-Compiler + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-appconfig/Config.in b/bsp/buildroot/package/perl-appconfig/Config.in new file mode 100644 index 00000000..f89bf06c --- /dev/null +++ b/bsp/buildroot/package/perl-appconfig/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PERL_APPCONFIG + bool "perl-appconfig" + help + AppConfig is a bundle of Perl5 modules for reading + configuration files and parsing command line + arguments. + + https://metacpan.org/release/AppConfig diff --git a/bsp/buildroot/package/perl-appconfig/perl-appconfig.hash b/bsp/buildroot/package/perl-appconfig/perl-appconfig.hash new file mode 100644 index 00000000..151a2e90 --- /dev/null +++ b/bsp/buildroot/package/perl-appconfig/perl-appconfig.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 7747d9241561ed5567d5e134b8648707 AppConfig-1.71.tar.gz +sha256 1177027025ecb09ee64d9f9f255615c04db5e14f7536c344af632032eb887b0f AppConfig-1.71.tar.gz + +# computed by scancpan +sha256 0b22dd532e4123a511d14989c4169ed56b7316cf844c29c7897a1638a4616868 LICENSE diff --git a/bsp/buildroot/package/perl-appconfig/perl-appconfig.mk b/bsp/buildroot/package/perl-appconfig/perl-appconfig.mk new file mode 100644 index 00000000..8f9dd520 --- /dev/null +++ b/bsp/buildroot/package/perl-appconfig/perl-appconfig.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-appconfig +# +################################################################################ + +PERL_APPCONFIG_VERSION = 1.71 +PERL_APPCONFIG_SOURCE = AppConfig-$(PERL_APPCONFIG_VERSION).tar.gz +PERL_APPCONFIG_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NE/NEILB +PERL_APPCONFIG_LICENSE = Artistic or GPL-1.0+ +PERL_APPCONFIG_LICENSE_FILES = LICENSE +PERL_APPCONFIG_DISTNAME = AppConfig + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-astro-suntime/Config.in b/bsp/buildroot/package/perl-astro-suntime/Config.in new file mode 100644 index 00000000..ee4f3e32 --- /dev/null +++ b/bsp/buildroot/package/perl-astro-suntime/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_ASTRO_SUNTIME + bool "perl-astro-suntime" + help + A functional module for calculating sunrise/sunset times. + + https://metacpan.org/release/Astro-SunTime diff --git a/bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.hash b/bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.hash new file mode 100644 index 00000000..e75293d4 --- /dev/null +++ b/bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 42cb8c94de8a111ed652196925c22a45 Astro-SunTime-0.06.tar.gz +sha256 b4a44fddfc055cc42ee67bfd8939354793da7512ea04f30578d42dc6a701112a Astro-SunTime-0.06.tar.gz + +# computed by scancpan +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.mk b/bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.mk new file mode 100644 index 00000000..e5cad6a4 --- /dev/null +++ b/bsp/buildroot/package/perl-astro-suntime/perl-astro-suntime.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-astro-suntime +# +################################################################################ + +PERL_ASTRO_SUNTIME_VERSION = 0.06 +PERL_ASTRO_SUNTIME_SOURCE = Astro-SunTime-$(PERL_ASTRO_SUNTIME_VERSION).tar.gz +PERL_ASTRO_SUNTIME_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RO/ROBF +PERL_ASTRO_SUNTIME_DEPENDENCIES = host-perl-module-build +PERL_ASTRO_SUNTIME_LICENSE = GPL-3.0 +PERL_ASTRO_SUNTIME_LICENSE_FILES = LICENSE +PERL_ASTRO_SUNTIME_DISTNAME = Astro-SunTime + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-class-inspector/Config.in b/bsp/buildroot/package/perl-class-inspector/Config.in new file mode 100644 index 00000000..46b93682 --- /dev/null +++ b/bsp/buildroot/package/perl-class-inspector/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_CLASS_INSPECTOR + bool "perl-class-inspector" + help + Get information about a class and its structure. + + https://metacpan.org/pod/Class::Inspector diff --git a/bsp/buildroot/package/perl-class-inspector/perl-class-inspector.hash b/bsp/buildroot/package/perl-class-inspector/perl-class-inspector.hash new file mode 100644 index 00000000..181c09ac --- /dev/null +++ b/bsp/buildroot/package/perl-class-inspector/perl-class-inspector.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 db471d6ecf47fa054726553319b7c34f Class-Inspector-1.32.tar.gz +sha256 cefadc8b5338e43e570bc43f583e7c98d535c17b196bcf9084bb41d561cc0535 Class-Inspector-1.32.tar.gz + +# computed by scancpan +sha256 3ed0185f73a0570b72a2dc95c6bde500dc800c6f778ccbd688df4f88e6e65232 LICENSE diff --git a/bsp/buildroot/package/perl-class-inspector/perl-class-inspector.mk b/bsp/buildroot/package/perl-class-inspector/perl-class-inspector.mk new file mode 100644 index 00000000..c265194f --- /dev/null +++ b/bsp/buildroot/package/perl-class-inspector/perl-class-inspector.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-class-inspector +# +################################################################################ + +PERL_CLASS_INSPECTOR_VERSION = 1.32 +PERL_CLASS_INSPECTOR_SOURCE = Class-Inspector-$(PERL_CLASS_INSPECTOR_VERSION).tar.gz +PERL_CLASS_INSPECTOR_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PL/PLICEASE +PERL_CLASS_INSPECTOR_LICENSE = Artistic or GPL-1.0+ +PERL_CLASS_INSPECTOR_LICENSE_FILES = LICENSE +PERL_CLASS_INSPECTOR_DISTNAME = Class-Inspector + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-class-load/Config.in b/bsp/buildroot/package/perl-class-load/Config.in new file mode 100644 index 00000000..fe956b17 --- /dev/null +++ b/bsp/buildroot/package/perl-class-load/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PERL_CLASS_LOAD + bool "perl-class-load" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PERL_DATA_OPTLIST # runtime + select BR2_PACKAGE_PERL_MODULE_IMPLEMENTATION # runtime + select BR2_PACKAGE_PERL_MODULE_RUNTIME # runtime + select BR2_PACKAGE_PERL_PACKAGE_STASH # runtime + select BR2_PACKAGE_PERL_TRY_TINY # runtime + help + A working (require "Class::Name") and more. + + https://github.com/moose/Class-Load + +comment "perl-class-load needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-class-load/perl-class-load.hash b/bsp/buildroot/package/perl-class-load/perl-class-load.hash new file mode 100644 index 00000000..c2900d69 --- /dev/null +++ b/bsp/buildroot/package/perl-class-load/perl-class-load.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 e4c831c08df592ce8dfee0c7cfc12fd7 Class-Load-0.25.tar.gz +sha256 2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f Class-Load-0.25.tar.gz + +# computed by scancpan +sha256 dc030e63f20035291b90d09c2c40f296224e85878caf829ea981fc2f10910f9d LICENSE diff --git a/bsp/buildroot/package/perl-class-load/perl-class-load.mk b/bsp/buildroot/package/perl-class-load/perl-class-load.mk new file mode 100644 index 00000000..c18e53d1 --- /dev/null +++ b/bsp/buildroot/package/perl-class-load/perl-class-load.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-class-load +# +################################################################################ + +PERL_CLASS_LOAD_VERSION = 0.25 +PERL_CLASS_LOAD_SOURCE = Class-Load-$(PERL_CLASS_LOAD_VERSION).tar.gz +PERL_CLASS_LOAD_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_CLASS_LOAD_LICENSE = Artistic or GPL-1.0+ +PERL_CLASS_LOAD_LICENSE_FILES = LICENSE +PERL_CLASS_LOAD_DISTNAME = Class-Load + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-class-method-modifiers/Config.in b/bsp/buildroot/package/perl-class-method-modifiers/Config.in new file mode 100644 index 00000000..7acdb38b --- /dev/null +++ b/bsp/buildroot/package/perl-class-method-modifiers/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_CLASS_METHOD_MODIFIERS + bool "perl-class-method-modifiers" + help + Provides Moose-like method modifiers. + + https://github.com/moose/Class-Method-Modifiers diff --git a/bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.hash b/bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.hash new file mode 100644 index 00000000..540f357b --- /dev/null +++ b/bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 f55400c7a8134acf3657f8af89bdd7af Class-Method-Modifiers-2.12.tar.gz +sha256 e44c1073020bf55b8c97975ed77235fd7e2a6a56f29b5c702301721184e27ac8 Class-Method-Modifiers-2.12.tar.gz + +# computed by scancpan +sha256 d17e5cba8d4039f6973d5873f73b0c8949c1cffb338fafe7a57e972767546561 LICENSE diff --git a/bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.mk b/bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.mk new file mode 100644 index 00000000..e93553f9 --- /dev/null +++ b/bsp/buildroot/package/perl-class-method-modifiers/perl-class-method-modifiers.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-class-method-modifiers +# +################################################################################ + +PERL_CLASS_METHOD_MODIFIERS_VERSION = 2.12 +PERL_CLASS_METHOD_MODIFIERS_SOURCE = Class-Method-Modifiers-$(PERL_CLASS_METHOD_MODIFIERS_VERSION).tar.gz +PERL_CLASS_METHOD_MODIFIERS_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_CLASS_METHOD_MODIFIERS_LICENSE = Artistic or GPL-1.0+ +PERL_CLASS_METHOD_MODIFIERS_LICENSE_FILES = LICENSE +PERL_CLASS_METHOD_MODIFIERS_DISTNAME = Class-Method-Modifiers + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-class-std-fast/Config.in b/bsp/buildroot/package/perl-class-std-fast/Config.in new file mode 100644 index 00000000..6eabc0bb --- /dev/null +++ b/bsp/buildroot/package/perl-class-std-fast/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_CLASS_STD_FAST + bool "perl-class-std-fast" + select BR2_PACKAGE_PERL_CLASS_STD # runtime + help + faster but less secure than Class::Std. + + https://metacpan.org/release/Class-Std-Fast diff --git a/bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.hash b/bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.hash new file mode 100644 index 00000000..07e830a5 --- /dev/null +++ b/bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 d06d084cb84f295b0aabf2eee78ef746 Class-Std-Fast-v0.0.8.tar.gz +sha256 1bd43763c6a373183097a30e787f5d6713b0db27511c52d533266b59d2cfa780 Class-Std-Fast-v0.0.8.tar.gz + +# computed by scancpan +sha256 aa1ab90c498aee078076e9a1f83e5f14bbfd841509582795ab5a9571428c0c38 README diff --git a/bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.mk b/bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.mk new file mode 100644 index 00000000..57e57b19 --- /dev/null +++ b/bsp/buildroot/package/perl-class-std-fast/perl-class-std-fast.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-class-std-fast +# +################################################################################ + +PERL_CLASS_STD_FAST_VERSION = v0.0.8 +PERL_CLASS_STD_FAST_SOURCE = Class-Std-Fast-$(PERL_CLASS_STD_FAST_VERSION).tar.gz +PERL_CLASS_STD_FAST_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AC/ACID +PERL_CLASS_STD_FAST_DEPENDENCIES = host-perl-module-build +PERL_CLASS_STD_FAST_LICENSE = Artistic or GPL-1.0+ +PERL_CLASS_STD_FAST_LICENSE_FILES = README +PERL_CLASS_STD_FAST_DISTNAME = Class-Std-Fast + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-class-std/Config.in b/bsp/buildroot/package/perl-class-std/Config.in new file mode 100644 index 00000000..332cdf27 --- /dev/null +++ b/bsp/buildroot/package/perl-class-std/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_CLASS_STD + bool "perl-class-std" + help + Support for creating standard "inside-out" classes. + + https://metacpan.org/release/Class-Std diff --git a/bsp/buildroot/package/perl-class-std/perl-class-std.hash b/bsp/buildroot/package/perl-class-std/perl-class-std.hash new file mode 100644 index 00000000..0cc38614 --- /dev/null +++ b/bsp/buildroot/package/perl-class-std/perl-class-std.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 82bcc56d9769edce671b0bd0e183ec3a Class-Std-0.013.tar.gz +sha256 bcd6d82f6c8af0fe069fced7dd165a4795b0b6e92351c7d4e5a1ab9a14fc35c6 Class-Std-0.013.tar.gz + +# computed by scancpan +sha256 b8175bf3750dc54096bf1506c681b4f13262e5b82e40244e9a77730c6b72e4d6 README diff --git a/bsp/buildroot/package/perl-class-std/perl-class-std.mk b/bsp/buildroot/package/perl-class-std/perl-class-std.mk new file mode 100644 index 00000000..493a89f2 --- /dev/null +++ b/bsp/buildroot/package/perl-class-std/perl-class-std.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-class-std +# +################################################################################ + +PERL_CLASS_STD_VERSION = 0.013 +PERL_CLASS_STD_SOURCE = Class-Std-$(PERL_CLASS_STD_VERSION).tar.gz +PERL_CLASS_STD_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHORNY +PERL_CLASS_STD_DEPENDENCIES = host-perl-module-build +PERL_CLASS_STD_LICENSE = Artistic or GPL-1.0+ +PERL_CLASS_STD_LICENSE_FILES = README +PERL_CLASS_STD_DISTNAME = Class-Std + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-convert-asn1/Config.in b/bsp/buildroot/package/perl-convert-asn1/Config.in new file mode 100644 index 00000000..3fe47c32 --- /dev/null +++ b/bsp/buildroot/package/perl-convert-asn1/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_CONVERT_ASN1 + bool "perl-convert-asn1" + help + Convert between perl data structures and ASN.1 encoded + packets. + + https://metacpan.org/release/Convert-ASN1 diff --git a/bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.hash b/bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.hash new file mode 100644 index 00000000..4fd7d3eb --- /dev/null +++ b/bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 68723e96be0b258a9e20480276e8a62c Convert-ASN1-0.27.tar.gz +sha256 74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a Convert-ASN1-0.27.tar.gz + +# computed by scancpan +sha256 4ef46cc39d9e2b4c767503457a1f8fda5bcf9c0c164923e2a54a3863209cf237 LICENSE diff --git a/bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.mk b/bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.mk new file mode 100644 index 00000000..b6ba76a7 --- /dev/null +++ b/bsp/buildroot/package/perl-convert-asn1/perl-convert-asn1.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-convert-asn1 +# +################################################################################ + +PERL_CONVERT_ASN1_VERSION = 0.27 +PERL_CONVERT_ASN1_SOURCE = Convert-ASN1-$(PERL_CONVERT_ASN1_VERSION).tar.gz +PERL_CONVERT_ASN1_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GB/GBARR +PERL_CONVERT_ASN1_LICENSE = Artistic or GPL-1.0+ +PERL_CONVERT_ASN1_LICENSE_FILES = LICENSE +PERL_CONVERT_ASN1_DISTNAME = Convert-ASN1 + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-cookie-baker/Config.in b/bsp/buildroot/package/perl-cookie-baker/Config.in new file mode 100644 index 00000000..024f0ade --- /dev/null +++ b/bsp/buildroot/package/perl-cookie-baker/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_COOKIE_BAKER + bool "perl-cookie-baker" + select BR2_PACKAGE_PERL_URI # runtime + help + Cookie string generator / parser. + + https://github.com/kazeburo/Cookie-Baker diff --git a/bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.hash b/bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.hash new file mode 100644 index 00000000..8d0d63b1 --- /dev/null +++ b/bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 20f6f16689df949db86645652c1ebe38 Cookie-Baker-0.10.tar.gz +sha256 b42bad15b12da4cdc5c90c902faf3ad484281a42203fa4e7652866434f6fa4dd Cookie-Baker-0.10.tar.gz + +# computed by scancpan +sha256 b4ce94671fa219074d4e91e2268652d6bf9764cebcc7a5e27bfc14897745ca4c LICENSE diff --git a/bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.mk b/bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.mk new file mode 100644 index 00000000..45ecdc96 --- /dev/null +++ b/bsp/buildroot/package/perl-cookie-baker/perl-cookie-baker.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-cookie-baker +# +################################################################################ + +PERL_COOKIE_BAKER_VERSION = 0.10 +PERL_COOKIE_BAKER_SOURCE = Cookie-Baker-$(PERL_COOKIE_BAKER_VERSION).tar.gz +PERL_COOKIE_BAKER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO +PERL_COOKIE_BAKER_DEPENDENCIES = host-perl-module-build-tiny +PERL_COOKIE_BAKER_LICENSE = Artistic or GPL-1.0+ +PERL_COOKIE_BAKER_LICENSE_FILES = LICENSE +PERL_COOKIE_BAKER_DISTNAME = Cookie-Baker + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-crypt-blowfish/Config.in b/bsp/buildroot/package/perl-crypt-blowfish/Config.in new file mode 100644 index 00000000..1a51a16f --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-blowfish/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_CRYPT_BLOWFISH + bool "perl-crypt-blowfish" + depends on !BR2_STATIC_LIBS + help + Perl Blowfish encryption module. + + https://metacpan.org/release/Crypt-Blowfish + +comment "perl-crypt-blowfish needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.hash b/bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.hash new file mode 100644 index 00000000..f814cb9b --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 792b43cd4e49d2c2cf4a9f6990ff7d1b Crypt-Blowfish-2.14.tar.gz +sha256 46b3431ffb6bf5b9cb359f79565d48407e652ad2b04fdf5ca62a69e7197a67b1 Crypt-Blowfish-2.14.tar.gz + +# computed by scancpan +sha256 d61437443e6912d03677874c7baef242f28119c2c5d8b92b0f3f3660200f98d4 COPYRIGHT diff --git a/bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.mk b/bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.mk new file mode 100644 index 00000000..a8f274b6 --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-blowfish/perl-crypt-blowfish.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-crypt-blowfish +# +################################################################################ + +PERL_CRYPT_BLOWFISH_VERSION = 2.14 +PERL_CRYPT_BLOWFISH_SOURCE = Crypt-Blowfish-$(PERL_CRYPT_BLOWFISH_VERSION).tar.gz +PERL_CRYPT_BLOWFISH_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DP/DPARIS +PERL_CRYPT_BLOWFISH_LICENSE = BSD-4-Clause-like +PERL_CRYPT_BLOWFISH_LICENSE_FILES = COPYRIGHT +PERL_CRYPT_BLOWFISH_DISTNAME = Crypt-Blowfish + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-crypt-cbc/Config.in b/bsp/buildroot/package/perl-crypt-cbc/Config.in new file mode 100644 index 00000000..5cd9c69e --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-cbc/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_CRYPT_CBC + bool "perl-crypt-cbc" + help + Encrypt Data with Cipher Block Chaining Mode. + + https://metacpan.org/release/Crypt-CBC diff --git a/bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.hash b/bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.hash new file mode 100644 index 00000000..a54772a5 --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 3db5117d60df67e3b400fe367e716be0 Crypt-CBC-2.33.tar.gz +sha256 6a70de21b6cc7f2b100067e8e188db966e9a8001b5db6fa976e7cb5b294ae645 Crypt-CBC-2.33.tar.gz + +# locally computed +sha256 9548d0beb746167270df647aa97a3e47b957adb4ec103c2cfb8f54b0005f99c7 CBC.pm diff --git a/bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.mk b/bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.mk new file mode 100644 index 00000000..c00ec37e --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-cbc/perl-crypt-cbc.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-crypt-cbc +# +################################################################################ + +PERL_CRYPT_CBC_VERSION = 2.33 +PERL_CRYPT_CBC_SOURCE = Crypt-CBC-$(PERL_CRYPT_CBC_VERSION).tar.gz +PERL_CRYPT_CBC_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS +PERL_CRYPT_CBC_LICENSE = Artistic +PERL_CRYPT_CBC_LICENSE_FILES = CBC.pm +PERL_CRYPT_CBC_DISTNAME = Crypt-CBC + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash b/bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash new file mode 100644 index 00000000..327b0690 --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 e768fe2c07826b0ac9ea604c79f93032 Crypt-OpenSSL-Guess-0.11.tar.gz +sha256 aa6b18e38cb852cbad80a58cd90c395b40819d4d01e0ab37e7703149094d7167 Crypt-OpenSSL-Guess-0.11.tar.gz + +# computed by scancpan +sha256 5c739f181ce7aa31d739277996ff230067dad39332e5597c0dffd36e5d784072 LICENSE diff --git a/bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk b/bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk new file mode 100644 index 00000000..a5328516 --- /dev/null +++ b/bsp/buildroot/package/perl-crypt-openssl-guess/perl-crypt-openssl-guess.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-crypt-openssl-guess +# +################################################################################ + +PERL_CRYPT_OPENSSL_GUESS_VERSION = 0.11 +PERL_CRYPT_OPENSSL_GUESS_SOURCE = Crypt-OpenSSL-Guess-$(PERL_CRYPT_OPENSSL_GUESS_VERSION).tar.gz +PERL_CRYPT_OPENSSL_GUESS_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AK/AKIYM +PERL_CRYPT_OPENSSL_GUESS_LICENSE = Artistic or GPL-1.0+ +PERL_CRYPT_OPENSSL_GUESS_LICENSE_FILES = LICENSE +PERL_CRYPT_OPENSSL_GUESS_DISTNAME = Crypt-OpenSSL-Guess + +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-crypt-openssl-random/Config.in b/bsp/buildroot/package/perl-crypt-openssl-random/Config.in index 2ceb78df..6b5da7c8 100644 --- a/bsp/buildroot/package/perl-crypt-openssl-random/Config.in +++ b/bsp/buildroot/package/perl-crypt-openssl-random/Config.in @@ -3,9 +3,9 @@ config BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM depends on !BR2_STATIC_LIBS select BR2_PACKAGE_OPENSSL help - OpenSSL/LibreSSL pseudo-random number generator access + OpenSSL/LibreSSL pseudo-random number generator access. - http://sourceforge.net/projects/perl-openssl/ + https://metacpan.org/release/Crypt-OpenSSL-Random comment "perl-crypt-openssl-random needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash b/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash index caacdc90..57677e34 100644 --- a/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash +++ b/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 5d71337503e0356ce1ce1481504e5885 Crypt-OpenSSL-Random-0.11.tar.gz -sha256 bb8c81c6a39b9b13a22d818ee9a746242f136f0fadceb6b9776ae615e7524c7a Crypt-OpenSSL-Random-0.11.tar.gz +md5 bcde8d5a822c91376deda3c4f0c75fbe Crypt-OpenSSL-Random-0.15.tar.gz +sha256 f0876faa1ba3111e39b86aa730c603211eff2905e460c72a57b61e8cf475cef4 Crypt-OpenSSL-Random-0.15.tar.gz + +# computed by scancpan +sha256 fdaba2134145d3e252c5930180b2bcb13b5367ad5a8713d6868f014cd25c496f LICENSE diff --git a/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk b/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk index de029e9a..e70eb7e9 100644 --- a/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk +++ b/bsp/buildroot/package/perl-crypt-openssl-random/perl-crypt-openssl-random.mk @@ -4,11 +4,18 @@ # ################################################################################ -PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.11 +PERL_CRYPT_OPENSSL_RANDOM_VERSION = 0.15 PERL_CRYPT_OPENSSL_RANDOM_SOURCE = Crypt-OpenSSL-Random-$(PERL_CRYPT_OPENSSL_RANDOM_VERSION).tar.gz PERL_CRYPT_OPENSSL_RANDOM_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN -PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = openssl +PERL_CRYPT_OPENSSL_RANDOM_DEPENDENCIES = \ + host-perl-crypt-openssl-guess \ + openssl PERL_CRYPT_OPENSSL_RANDOM_LICENSE = Artistic or GPL-1.0+ PERL_CRYPT_OPENSSL_RANDOM_LICENSE_FILES = LICENSE +PERL_CRYPT_OPENSSL_RANDOM_DISTNAME = Crypt-OpenSSL-Random + +# Try as hard as possible to remedy to the brain-damage their build-system +# suffers from: don't search for openssl, they pick the host-system one. +PERL_CRYPT_OPENSSL_RANDOM_CONF_ENV = OPENSSL_PREFIX=$(STAGING_DIR)/usr $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-crypt-openssl-rsa/Config.in b/bsp/buildroot/package/perl-crypt-openssl-rsa/Config.in index 1fa1fd98..e58a921b 100644 --- a/bsp/buildroot/package/perl-crypt-openssl-rsa/Config.in +++ b/bsp/buildroot/package/perl-crypt-openssl-rsa/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PERL_CRYPT_OPENSSL_RSA bool "perl-crypt-openssl-rsa" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM + select BR2_PACKAGE_PERL_CRYPT_OPENSSL_RANDOM # runtime help - RSA encoding and decoding, using the openSSL libraries + RSA encoding and decoding, using the openSSL libraries. - https://metacpan.org/release/Crypt-OpenSSL-RSA + http://github.com/toddr/Crypt-OpenSSL-RSA comment "perl-crypt-openssl-rsa needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash b/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash index 6e060ce6..fe2a5785 100644 --- a/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash +++ b/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 86217a5036fc63779c30420b5fd84129 Crypt-OpenSSL-RSA-0.28.tar.gz -sha256 5357f977464bb3a8184cf2d3341851a10d5515b4b2b0dfb88bf78995c0ded7be Crypt-OpenSSL-RSA-0.28.tar.gz +md5 d33681e19d2094df7c26bc7a4509265e Crypt-OpenSSL-RSA-0.31.tar.gz +sha256 4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436 Crypt-OpenSSL-RSA-0.31.tar.gz + +# computed by scancpan +sha256 8a693ad3f52daeeb5ac5deceb1e1109c9c87095ed5ba6506d6d5c106e4066f5a LICENSE diff --git a/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk b/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk index b853d995..b1615234 100644 --- a/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk +++ b/bsp/buildroot/package/perl-crypt-openssl-rsa/perl-crypt-openssl-rsa.mk @@ -4,11 +4,18 @@ # ################################################################################ -PERL_CRYPT_OPENSSL_RSA_VERSION = 0.28 +PERL_CRYPT_OPENSSL_RSA_VERSION = 0.31 PERL_CRYPT_OPENSSL_RSA_SOURCE = Crypt-OpenSSL-RSA-$(PERL_CRYPT_OPENSSL_RSA_VERSION).tar.gz -PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PERLER -PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = perl-crypt-openssl-random +PERL_CRYPT_OPENSSL_RSA_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TODDR +PERL_CRYPT_OPENSSL_RSA_DEPENDENCIES = \ + host-perl-crypt-openssl-guess \ + perl-crypt-openssl-random PERL_CRYPT_OPENSSL_RSA_LICENSE = Artistic or GPL-1.0+ PERL_CRYPT_OPENSSL_RSA_LICENSE_FILES = LICENSE +PERL_CRYPT_OPENSSL_RSA_DISTNAME = Crypt-OpenSSL-RSA + +# Try as hard as possible to remedy to the brain-damage their build-system +# suffers from: don't search for openssl, they pick the host-system one. +PERL_CRYPT_OPENSSL_RSA_CONF_ENV = OPENSSL_PREFIX=$(STAGING_DIR)/usr $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-data-dump/Config.in b/bsp/buildroot/package/perl-data-dump/Config.in new file mode 100644 index 00000000..b44209fe --- /dev/null +++ b/bsp/buildroot/package/perl-data-dump/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_DATA_DUMP + bool "perl-data-dump" + help + Pretty printing of data structures. + + https://metacpan.org/release/Data-Dump diff --git a/bsp/buildroot/package/perl-data-dump/perl-data-dump.hash b/bsp/buildroot/package/perl-data-dump/perl-data-dump.hash new file mode 100644 index 00000000..87850326 --- /dev/null +++ b/bsp/buildroot/package/perl-data-dump/perl-data-dump.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 762c111e525c82ff23d62c90821b26e9 Data-Dump-1.23.tar.gz +sha256 af53b05ef1387b4cab4427e6789179283e4f0da8cf036e8db516ddb344512b65 Data-Dump-1.23.tar.gz + +# computed by scancpan +sha256 31d1b6482bcc3db87a38ad02065554f9d3bc13321d4ef8e96042464045e2abcf README diff --git a/bsp/buildroot/package/perl-data-dump/perl-data-dump.mk b/bsp/buildroot/package/perl-data-dump/perl-data-dump.mk new file mode 100644 index 00000000..54d3a925 --- /dev/null +++ b/bsp/buildroot/package/perl-data-dump/perl-data-dump.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-data-dump +# +################################################################################ + +PERL_DATA_DUMP_VERSION = 1.23 +PERL_DATA_DUMP_SOURCE = Data-Dump-$(PERL_DATA_DUMP_VERSION).tar.gz +PERL_DATA_DUMP_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS +PERL_DATA_DUMP_LICENSE = Artistic or GPL-1.0+ +PERL_DATA_DUMP_LICENSE_FILES = README +PERL_DATA_DUMP_DISTNAME = Data-Dump + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-data-optlist/Config.in b/bsp/buildroot/package/perl-data-optlist/Config.in new file mode 100644 index 00000000..88152f27 --- /dev/null +++ b/bsp/buildroot/package/perl-data-optlist/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_PERL_DATA_OPTLIST + bool "perl-data-optlist" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PERL_PARAMS_UTIL # runtime + select BR2_PACKAGE_PERL_SUB_INSTALL # runtime + help + parse and validate simple name/value option pairs. + + https://github.com/rjbs/Data-OptList + +comment "perl-data-optlist needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-data-optlist/perl-data-optlist.hash b/bsp/buildroot/package/perl-data-optlist/perl-data-optlist.hash new file mode 100644 index 00000000..93df0064 --- /dev/null +++ b/bsp/buildroot/package/perl-data-optlist/perl-data-optlist.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 f9236c9ea5607134ad8a2b3dc901c4c5 Data-OptList-0.110.tar.gz +sha256 366117cb2966473f2559f2f4575ff6ae69e84c69a0f30a0773e1b51a457ef5c3 Data-OptList-0.110.tar.gz + +# computed by scancpan +sha256 73c7bd4c8e4adc474f9dae32b9aa08f6ce27327940751dd6e8373404beabdffa LICENSE diff --git a/bsp/buildroot/package/perl-data-optlist/perl-data-optlist.mk b/bsp/buildroot/package/perl-data-optlist/perl-data-optlist.mk new file mode 100644 index 00000000..49aeb820 --- /dev/null +++ b/bsp/buildroot/package/perl-data-optlist/perl-data-optlist.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-data-optlist +# +################################################################################ + +PERL_DATA_OPTLIST_VERSION = 0.110 +PERL_DATA_OPTLIST_SOURCE = Data-OptList-$(PERL_DATA_OPTLIST_VERSION).tar.gz +PERL_DATA_OPTLIST_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS +PERL_DATA_OPTLIST_LICENSE = Artistic or GPL-1.0+ +PERL_DATA_OPTLIST_LICENSE_FILES = LICENSE +PERL_DATA_OPTLIST_DISTNAME = Data-OptList + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-data-uuid/Config.in b/bsp/buildroot/package/perl-data-uuid/Config.in new file mode 100644 index 00000000..9b4812b2 --- /dev/null +++ b/bsp/buildroot/package/perl-data-uuid/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_DATA_UUID + bool "perl-data-uuid" + depends on !BR2_STATIC_LIBS + help + Globally/Universally Unique Identifiers (GUIDs/UUIDs). + + https://metacpan.org/release/Data-UUID + +comment "perl-data-uuid needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-data-uuid/perl-data-uuid.hash b/bsp/buildroot/package/perl-data-uuid/perl-data-uuid.hash new file mode 100644 index 00000000..5086936d --- /dev/null +++ b/bsp/buildroot/package/perl-data-uuid/perl-data-uuid.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 7619929e8fe205a7fb83bc1c29ecbf99 Data-UUID-1.221.tar.gz +sha256 3cc7b2a3a7b74b45a059e013f7fd878078500ea4b7269036f84556b022078667 Data-UUID-1.221.tar.gz + +# computed by scancpan +sha256 0560c8eea8e1fb8173faa6c2e9b7e9f8728b8ae8250a814709a53c30b778d5fb LICENSE diff --git a/bsp/buildroot/package/perl-data-uuid/perl-data-uuid.mk b/bsp/buildroot/package/perl-data-uuid/perl-data-uuid.mk new file mode 100644 index 00000000..6ce39396 --- /dev/null +++ b/bsp/buildroot/package/perl-data-uuid/perl-data-uuid.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# perl-data-uuid +# +################################################################################ + +PERL_DATA_UUID_VERSION = 1.221 +PERL_DATA_UUID_SOURCE = Data-UUID-$(PERL_DATA_UUID_VERSION).tar.gz +PERL_DATA_UUID_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS +# The license is documented at +# https://fedoraproject.org/wiki/Licensing:MIT#HP_Variant as the "HP +# Variant" of the MIT license. There is no official SPDX tag for this +# license, but the other MIT variants are prefixed with "MIT-", so we +# do the same here. +PERL_DATA_UUID_LICENSE = MIT-HP +PERL_DATA_UUID_LICENSE_FILES = LICENSE +PERL_DATA_UUID_DISTNAME = Data-UUID + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-date-manip/Config.in b/bsp/buildroot/package/perl-date-manip/Config.in new file mode 100644 index 00000000..4ebcd4da --- /dev/null +++ b/bsp/buildroot/package/perl-date-manip/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_DATE_MANIP + bool "perl-date-manip" + help + Date manipulation routines. + + https://metacpan.org/release/Date-Manip diff --git a/bsp/buildroot/package/perl-date-manip/perl-date-manip.hash b/bsp/buildroot/package/perl-date-manip/perl-date-manip.hash new file mode 100644 index 00000000..b290e8ea --- /dev/null +++ b/bsp/buildroot/package/perl-date-manip/perl-date-manip.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 d922d5fe4a00521dc171ac3ee65a9d61 Date-Manip-6.75.tar.gz +sha256 c1fbcfbe2ab1a84e57f191807e87c97985da00926f64d1aae598c8756acbb67d Date-Manip-6.75.tar.gz + +# computed by scancpan +sha256 8ba2a138654f8b59b7e1e3ad0d4c81918b9148ff95078b172ccbb45fa241431d LICENSE diff --git a/bsp/buildroot/package/perl-date-manip/perl-date-manip.mk b/bsp/buildroot/package/perl-date-manip/perl-date-manip.mk new file mode 100644 index 00000000..cc668184 --- /dev/null +++ b/bsp/buildroot/package/perl-date-manip/perl-date-manip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-date-manip +# +################################################################################ + +PERL_DATE_MANIP_VERSION = 6.75 +PERL_DATE_MANIP_SOURCE = Date-Manip-$(PERL_DATE_MANIP_VERSION).tar.gz +PERL_DATE_MANIP_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SB/SBECK +PERL_DATE_MANIP_LICENSE = Artistic or GPL-1.0+ +PERL_DATE_MANIP_LICENSE_FILES = LICENSE +PERL_DATE_MANIP_DISTNAME = Date-Manip + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-datetime-tiny/Config.in b/bsp/buildroot/package/perl-datetime-tiny/Config.in index 7721c076..ea44ae0c 100644 --- a/bsp/buildroot/package/perl-datetime-tiny/Config.in +++ b/bsp/buildroot/package/perl-datetime-tiny/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_DATETIME_TINY bool "perl-datetime-tiny" help - A date object, with as little code as possible + A date object, with as little code as possible. https://github.com/dagolden/DateTime-Tiny diff --git a/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash b/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash index 68f2c025..62fe407d 100644 --- a/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash +++ b/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 736be4b3e8171f4a029fb6ac3712a9b4 DateTime-Tiny-1.06.tar.gz -sha256 bd725df481d7223ee787e154c116098b08a129f55e0763194b07ebea3dda33ec DateTime-Tiny-1.06.tar.gz +md5 5ac2924652edb0cf5fda7c9d52162b3f DateTime-Tiny-1.07.tar.gz +sha256 83568a22838cb518fbeb9e060460ec7f59d5a0b0a1cc06562954c3674d7cf7e4 DateTime-Tiny-1.07.tar.gz + +# computed by scancpan +sha256 21cda7a55a8d4b32a43c654f0d4d4a1587096b35bf2a93ea12a2e3a8c2c0b88f LICENSE diff --git a/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk b/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk index 6b549671..2a426426 100644 --- a/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk +++ b/bsp/buildroot/package/perl-datetime-tiny/perl-datetime-tiny.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_DATETIME_TINY_VERSION = 1.06 +PERL_DATETIME_TINY_VERSION = 1.07 PERL_DATETIME_TINY_SOURCE = DateTime-Tiny-$(PERL_DATETIME_TINY_VERSION).tar.gz PERL_DATETIME_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN PERL_DATETIME_TINY_LICENSE = Artistic or GPL-1.0+ PERL_DATETIME_TINY_LICENSE_FILES = LICENSE +PERL_DATETIME_TINY_DISTNAME = DateTime-Tiny $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-dbd-mysql/Config.in b/bsp/buildroot/package/perl-dbd-mysql/Config.in new file mode 100644 index 00000000..55bbc953 --- /dev/null +++ b/bsp/buildroot/package/perl-dbd-mysql/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_PERL_DBD_MYSQL + bool "perl-dbd-mysql" + depends on !BR2_STATIC_LIBS + depends on BR2_INSTALL_LIBSTDCPP # mysql + depends on BR2_USE_MMU # mysql + depends on BR2_TOOLCHAIN_HAS_THREADS # mysql + select BR2_PACKAGE_MYSQL + select BR2_PACKAGE_PERL_DBI # runtime + help + A MySQL driver for the Perl5 Database Interface (DBI). + + http://dbi.perl.org/ + +comment "perl-dbd-mysql needs a toolchain w/ dynamic library, C++, threads" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.hash b/bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.hash new file mode 100644 index 00000000..51de4760 --- /dev/null +++ b/bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 bdf4f4d899b8af29ebd8ebfb7438d05f DBD-mysql-4.046.tar.gz +sha256 6165652ec959d05b97f5413fa3dff014b78a44cf6de21ae87283b28378daf1f7 DBD-mysql-4.046.tar.gz + +# computed by scancpan +sha256 7a9ba29702b957805cfa8aa63bca43175625824263232dbade0010d385ab888c LICENSE diff --git a/bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.mk b/bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.mk new file mode 100644 index 00000000..98521a78 --- /dev/null +++ b/bsp/buildroot/package/perl-dbd-mysql/perl-dbd-mysql.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# perl-dbd-mysql +# +################################################################################ + +PERL_DBD_MYSQL_VERSION = 4.046 +PERL_DBD_MYSQL_SOURCE = DBD-mysql-$(PERL_DBD_MYSQL_VERSION).tar.gz +PERL_DBD_MYSQL_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPTTOFU +PERL_DBD_MYSQL_DEPENDENCIES = \ + host-perl-dbi \ + mysql +PERL_DBD_MYSQL_LICENSE = Artistic or GPL-1.0+ +PERL_DBD_MYSQL_LICENSE_FILES = LICENSE +PERL_DBD_MYSQL_DISTNAME = DBD-mysql + +PERL_DBD_MYSQL_CONF_OPTS = --mysql_config=$(STAGING_DIR)/usr/bin/mysql_config + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-dbi/Config.in b/bsp/buildroot/package/perl-dbi/Config.in new file mode 100644 index 00000000..2c08c733 --- /dev/null +++ b/bsp/buildroot/package/perl-dbi/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_DBI + bool "perl-dbi" + depends on !BR2_STATIC_LIBS + help + Database independent interface for Perl. + + http://dbi.perl.org/ + +comment "perl-dbi needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-dbi/perl-dbi.hash b/bsp/buildroot/package/perl-dbi/perl-dbi.hash new file mode 100644 index 00000000..1d0b7e9a --- /dev/null +++ b/bsp/buildroot/package/perl-dbi/perl-dbi.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 e77fd37fcf77fc88fde029c1b75ded54 DBI-1.641.tar.gz +sha256 5509e532cdd0e3d91eda550578deaac29e2f008a12b64576e8c261bb92e8c2c1 DBI-1.641.tar.gz + +# computed by scancpan +sha256 33453c8b0d8d474a42669ac702a13c20f39c91a34b3df4e6ca778fc2f0f711c7 LICENSE diff --git a/bsp/buildroot/package/perl-dbi/perl-dbi.mk b/bsp/buildroot/package/perl-dbi/perl-dbi.mk new file mode 100644 index 00000000..835e8bdf --- /dev/null +++ b/bsp/buildroot/package/perl-dbi/perl-dbi.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-dbi +# +################################################################################ + +PERL_DBI_VERSION = 1.641 +PERL_DBI_SOURCE = DBI-$(PERL_DBI_VERSION).tar.gz +PERL_DBI_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TI/TIMB +PERL_DBI_LICENSE = Artistic or GPL-1.0+ +PERL_DBI_LICENSE_FILES = LICENSE +PERL_DBI_DISTNAME = DBI + +$(eval $(perl-package)) +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-devel-globaldestruction/Config.in b/bsp/buildroot/package/perl-devel-globaldestruction/Config.in new file mode 100644 index 00000000..a951e20d --- /dev/null +++ b/bsp/buildroot/package/perl-devel-globaldestruction/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PERL_DEVEL_GLOBALDESTRUCTION + bool "perl-devel-globaldestruction" + select BR2_PACKAGE_PERL_SUB_EXPORTER_PROGRESSIVE # runtime + help + Provides function returning the equivalent of + ${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls. + + https://metacpan.org/release/Devel-GlobalDestruction diff --git a/bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash b/bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash new file mode 100644 index 00000000..b3cd6e32 --- /dev/null +++ b/bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 24221ba322cf2dc46a1fc99b53e2380b Devel-GlobalDestruction-0.14.tar.gz +sha256 34b8a5f29991311468fe6913cadaba75fd5d2b0b3ee3bb41fe5b53efab9154ab Devel-GlobalDestruction-0.14.tar.gz + +# computed by scancpan +sha256 f7adbd1db623233e220f9157521a620dbae4918ae7088845aa61e87b7f62bb23 README diff --git a/bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk b/bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk new file mode 100644 index 00000000..3d4d60ed --- /dev/null +++ b/bsp/buildroot/package/perl-devel-globaldestruction/perl-devel-globaldestruction.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-devel-globaldestruction +# +################################################################################ + +PERL_DEVEL_GLOBALDESTRUCTION_VERSION = 0.14 +PERL_DEVEL_GLOBALDESTRUCTION_SOURCE = Devel-GlobalDestruction-$(PERL_DEVEL_GLOBALDESTRUCTION_VERSION).tar.gz +PERL_DEVEL_GLOBALDESTRUCTION_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG +PERL_DEVEL_GLOBALDESTRUCTION_LICENSE = Artistic or GPL-1.0+ +PERL_DEVEL_GLOBALDESTRUCTION_LICENSE_FILES = README +PERL_DEVEL_GLOBALDESTRUCTION_DISTNAME = Devel-GlobalDestruction + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-devel-stacktrace-ashtml/Config.in b/bsp/buildroot/package/perl-devel-stacktrace-ashtml/Config.in new file mode 100644 index 00000000..9c73f0e4 --- /dev/null +++ b/bsp/buildroot/package/perl-devel-stacktrace-ashtml/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_DEVEL_STACKTRACE_ASHTML + bool "perl-devel-stacktrace-ashtml" + select BR2_PACKAGE_PERL_DEVEL_STACKTRACE # runtime + help + Displays stack trace in HTML. + + https://github.com/miyagawa/Devel-StackTrace-AsHTML diff --git a/bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash b/bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash new file mode 100644 index 00000000..4f31c6a1 --- /dev/null +++ b/bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 4ec8bd92e4a765a7cabf402db9640412 Devel-StackTrace-AsHTML-0.15.tar.gz +sha256 6283dbe2197e2f20009cc4b449997742169cdd951bfc44cbc6e62c2a962d3147 Devel-StackTrace-AsHTML-0.15.tar.gz + +# computed by scancpan +sha256 ffecf60c52b85d56c928f5eac889b5044243c3907b810ef640c9f02fbce567ac LICENSE diff --git a/bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk b/bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk new file mode 100644 index 00000000..949823c0 --- /dev/null +++ b/bsp/buildroot/package/perl-devel-stacktrace-ashtml/perl-devel-stacktrace-ashtml.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-devel-stacktrace-ashtml +# +################################################################################ + +PERL_DEVEL_STACKTRACE_ASHTML_VERSION = 0.15 +PERL_DEVEL_STACKTRACE_ASHTML_SOURCE = Devel-StackTrace-AsHTML-$(PERL_DEVEL_STACKTRACE_ASHTML_VERSION).tar.gz +PERL_DEVEL_STACKTRACE_ASHTML_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA +PERL_DEVEL_STACKTRACE_ASHTML_LICENSE = Artistic or GPL-1.0+ +PERL_DEVEL_STACKTRACE_ASHTML_LICENSE_FILES = LICENSE +PERL_DEVEL_STACKTRACE_ASHTML_DISTNAME = Devel-StackTrace-AsHTML + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-devel-stacktrace/Config.in b/bsp/buildroot/package/perl-devel-stacktrace/Config.in new file mode 100644 index 00000000..3311f72e --- /dev/null +++ b/bsp/buildroot/package/perl-devel-stacktrace/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_DEVEL_STACKTRACE + bool "perl-devel-stacktrace" + help + An object representing a stack trace. + + http://metacpan.org/release/Devel-StackTrace diff --git a/bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.hash b/bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.hash new file mode 100644 index 00000000..1fcfb643 --- /dev/null +++ b/bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 1eb6874d834f3d5d15fa626dd726df77 Devel-StackTrace-2.03.tar.gz +sha256 7618cd4ebe24e254c17085f4b418784ab503cb4cb3baf8f48a7be894e59ba848 Devel-StackTrace-2.03.tar.gz + +# computed by scancpan +sha256 e16dd93533bb65e25fad00d06e88840d9b5fd6bb80d551d8866126c52d89e1de LICENSE diff --git a/bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.mk b/bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.mk new file mode 100644 index 00000000..1d3ec98e --- /dev/null +++ b/bsp/buildroot/package/perl-devel-stacktrace/perl-devel-stacktrace.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-devel-stacktrace +# +################################################################################ + +PERL_DEVEL_STACKTRACE_VERSION = 2.03 +PERL_DEVEL_STACKTRACE_SOURCE = Devel-StackTrace-$(PERL_DEVEL_STACKTRACE_VERSION).tar.gz +PERL_DEVEL_STACKTRACE_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DR/DROLSKY +PERL_DEVEL_STACKTRACE_LICENSE = Artistic-2.0 +PERL_DEVEL_STACKTRACE_LICENSE_FILES = LICENSE +PERL_DEVEL_STACKTRACE_DISTNAME = Devel-StackTrace + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-device-serialport/Config.in b/bsp/buildroot/package/perl-device-serialport/Config.in new file mode 100644 index 00000000..f14e9794 --- /dev/null +++ b/bsp/buildroot/package/perl-device-serialport/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_DEVICE_SERIALPORT + bool "perl-device-serialport" + depends on !BR2_STATIC_LIBS + help + Linux/POSIX emulation of Win32::SerialPort functions. + + https://metacpan.org/release/Device-SerialPort + +comment "perl-device-serialport needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-device-serialport/perl-device-serialport.hash b/bsp/buildroot/package/perl-device-serialport/perl-device-serialport.hash new file mode 100644 index 00000000..35ddc13d --- /dev/null +++ b/bsp/buildroot/package/perl-device-serialport/perl-device-serialport.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 82c698151f934eb28c65d1838cee7d9e Device-SerialPort-1.04.tar.gz +sha256 d392567cb39b4ea606c0e0acafd8ed72320311b995336ece5fcefcf9b150e9d7 Device-SerialPort-1.04.tar.gz + +# computed by scancpan +sha256 59432e84eca65c10c4b627f8af0b00833685856b68242b816aea2a38283a124c README diff --git a/bsp/buildroot/package/perl-device-serialport/perl-device-serialport.mk b/bsp/buildroot/package/perl-device-serialport/perl-device-serialport.mk new file mode 100644 index 00000000..9889c913 --- /dev/null +++ b/bsp/buildroot/package/perl-device-serialport/perl-device-serialport.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-device-serialport +# +################################################################################ + +PERL_DEVICE_SERIALPORT_VERSION = 1.04 +PERL_DEVICE_SERIALPORT_SOURCE = Device-SerialPort-$(PERL_DEVICE_SERIALPORT_VERSION).tar.gz +PERL_DEVICE_SERIALPORT_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CO/COOK +PERL_DEVICE_SERIALPORT_LICENSE = Artistic or GPL-1.0+ +PERL_DEVICE_SERIALPORT_LICENSE_FILES = README +PERL_DEVICE_SERIALPORT_DISTNAME = Device-SerialPort + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-digest-hmac/Config.in b/bsp/buildroot/package/perl-digest-hmac/Config.in index 733a53d8..bb9b4541 100644 --- a/bsp/buildroot/package/perl-digest-hmac/Config.in +++ b/bsp/buildroot/package/perl-digest-hmac/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_DIGEST_HMAC bool "perl-digest-hmac" help - Digest::HMAC - Keyed-Hashing for Message Authentication + Keyed-Hashing for Message Authentication. - https://github.com/gisle/digest-hmac + https://metacpan.org/release/Digest-HMAC diff --git a/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash b/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash index 018e4eb0..84bc8648 100644 --- a/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash +++ b/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 e6a5d6f552da16eacb5157ea4369ff9d Digest-HMAC-1.03.tar.gz sha256 3bc72c6d3ff144d73aefb90e9a78d33612d58cf1cd1631ecfb8985ba96da4a59 Digest-HMAC-1.03.tar.gz + +# computed by scancpan +sha256 56bf7cdaec5eebf74d58679638ebef5015883e65c1be7251a3ef8cce8bdd1ff5 README diff --git a/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk b/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk index a926a1e5..daacf7da 100644 --- a/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk +++ b/bsp/buildroot/package/perl-digest-hmac/perl-digest-hmac.mk @@ -9,5 +9,6 @@ PERL_DIGEST_HMAC_SOURCE = Digest-HMAC-$(PERL_DIGEST_HMAC_VERSION).tar.gz PERL_DIGEST_HMAC_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_DIGEST_HMAC_LICENSE = Artistic or GPL-1.0+ PERL_DIGEST_HMAC_LICENSE_FILES = README +PERL_DIGEST_HMAC_DISTNAME = Digest-HMAC $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-digest-md5/Config.in b/bsp/buildroot/package/perl-digest-md5/Config.in new file mode 100644 index 00000000..88aeab6f --- /dev/null +++ b/bsp/buildroot/package/perl-digest-md5/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_DIGEST_MD5 + bool "perl-digest-md5" + depends on !BR2_STATIC_LIBS + help + Perl interface to the MD-5 algorithm. + + https://metacpan.org/release/Digest-MD5 + +comment "perl-digest-md5 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-digest-md5/perl-digest-md5.hash b/bsp/buildroot/package/perl-digest-md5/perl-digest-md5.hash new file mode 100644 index 00000000..3876f3ac --- /dev/null +++ b/bsp/buildroot/package/perl-digest-md5/perl-digest-md5.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 601519b826ca14c233f13a4578b967ef Digest-MD5-2.55.tar.gz +sha256 03b198a2d14425d951e5e50a885d3818c3162c8fe4c21e18d7798a9a179d0e3c Digest-MD5-2.55.tar.gz + +# computed by scancpan +sha256 f92f16702159fc57cd29c23f29b7f2420bff578ed72365d0225d2945a501cd5a README diff --git a/bsp/buildroot/package/perl-digest-md5/perl-digest-md5.mk b/bsp/buildroot/package/perl-digest-md5/perl-digest-md5.mk new file mode 100644 index 00000000..19c89d95 --- /dev/null +++ b/bsp/buildroot/package/perl-digest-md5/perl-digest-md5.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-digest-md5 +# +################################################################################ + +PERL_DIGEST_MD5_VERSION = 2.55 +PERL_DIGEST_MD5_SOURCE = Digest-MD5-$(PERL_DIGEST_MD5_VERSION).tar.gz +PERL_DIGEST_MD5_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS +PERL_DIGEST_MD5_LICENSE = Artistic or GPL-1.0+ +PERL_DIGEST_MD5_LICENSE_FILES = README +PERL_DIGEST_MD5_DISTNAME = Digest-MD5 + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-digest-sha1/Config.in b/bsp/buildroot/package/perl-digest-sha1/Config.in index b72a4ae9..1e093a04 100644 --- a/bsp/buildroot/package/perl-digest-sha1/Config.in +++ b/bsp/buildroot/package/perl-digest-sha1/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PERL_DIGEST_SHA1 bool "perl-digest-sha1" depends on !BR2_STATIC_LIBS help - Perl interface to the SHA-1 algorithm + Perl interface to the SHA-1 algorithm. https://metacpan.org/release/Digest-SHA1 diff --git a/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash b/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash index d24d5ab6..bfc94a12 100644 --- a/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash +++ b/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 bd22388f268434f2b24f64e28bf1aa35 Digest-SHA1-2.13.tar.gz sha256 68c1dac2187421f0eb7abf71452a06f190181b8fc4b28ededf5b90296fb943cc Digest-SHA1-2.13.tar.gz + +# computed by scancpan +sha256 805bee77fab9c72b0bfb452bb623b278f1767de62011e1814de2a6f6115439c8 README diff --git a/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk b/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk index d93159b9..d3188db1 100644 --- a/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk +++ b/bsp/buildroot/package/perl-digest-sha1/perl-digest-sha1.mk @@ -9,5 +9,6 @@ PERL_DIGEST_SHA1_SOURCE = Digest-SHA1-$(PERL_DIGEST_SHA1_VERSION).tar.gz PERL_DIGEST_SHA1_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_DIGEST_SHA1_LICENSE = Artistic or GPL-1.0+ PERL_DIGEST_SHA1_LICENSE_FILES = README +PERL_DIGEST_SHA1_DISTNAME = Digest-SHA1 $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-dist-checkconflicts/Config.in b/bsp/buildroot/package/perl-dist-checkconflicts/Config.in new file mode 100644 index 00000000..b34496e7 --- /dev/null +++ b/bsp/buildroot/package/perl-dist-checkconflicts/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_DIST_CHECKCONFLICTS + bool "perl-dist-checkconflicts" + select BR2_PACKAGE_PERL_MODULE_RUNTIME # runtime + help + declare version conflicts for your dist. + + http://metacpan.org/release/Dist-CheckConflicts diff --git a/bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash b/bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash new file mode 100644 index 00000000..5605fed4 --- /dev/null +++ b/bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 c8725a92b9169708b0f63036812070f2 Dist-CheckConflicts-0.11.tar.gz +sha256 ea844b9686c94d666d9d444321d764490b2cde2f985c4165b4c2c77665caedc4 Dist-CheckConflicts-0.11.tar.gz + +# computed by scancpan +sha256 b4e0637ed96008ddcbf7e0ddeb73967df3d0b4dc62a6b7fdb86eac37018cb12e LICENSE diff --git a/bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk b/bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk new file mode 100644 index 00000000..47bd19f6 --- /dev/null +++ b/bsp/buildroot/package/perl-dist-checkconflicts/perl-dist-checkconflicts.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-dist-checkconflicts +# +################################################################################ + +PERL_DIST_CHECKCONFLICTS_VERSION = 0.11 +PERL_DIST_CHECKCONFLICTS_SOURCE = Dist-CheckConflicts-$(PERL_DIST_CHECKCONFLICTS_VERSION).tar.gz +PERL_DIST_CHECKCONFLICTS_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DO/DOY +PERL_DIST_CHECKCONFLICTS_LICENSE = Artistic or GPL-1.0+ +PERL_DIST_CHECKCONFLICTS_LICENSE_FILES = LICENSE +PERL_DIST_CHECKCONFLICTS_DISTNAME = Dist-CheckConflicts + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.hash b/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.hash index c727a449..1893f1db 100644 --- a/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.hash +++ b/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 ee9faf55d7105c97b02b8ebe590819c7 Encode-Detect-1.01.tar.gz sha256 834d893aa7db6ce3f158afbd0e432d6ed15a276e0940db0a74be13fd9c4bbbf1 Encode-Detect-1.01.tar.gz + +# computed by scancpan +sha256 53692a2ed6c6a2c6ec9b32dd0b820dfae91e0a1fcdf625ca9ed0bdf8705fcc4f LICENSE diff --git a/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.mk b/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.mk index 732fba8d..8e9ea779 100644 --- a/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.mk +++ b/bsp/buildroot/package/perl-encode-detect/perl-encode-detect.mk @@ -10,5 +10,6 @@ PERL_ENCODE_DETECT_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JG/JGMYERS PERL_ENCODE_DETECT_DEPENDENCIES = host-perl-module-build PERL_ENCODE_DETECT_LICENSE = MPL-1.1 PERL_ENCODE_DETECT_LICENSE_FILES = LICENSE +PERL_ENCODE_DETECT_DISTNAME = Encode-Detect $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-encode-locale/Config.in b/bsp/buildroot/package/perl-encode-locale/Config.in index d15aecbd..836e736c 100644 --- a/bsp/buildroot/package/perl-encode-locale/Config.in +++ b/bsp/buildroot/package/perl-encode-locale/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_ENCODE_LOCALE bool "perl-encode-locale" help - Determine the locale encoding + Determine the locale encoding. - https://github.com/gisle/encode-locale + https://metacpan.org/release/Encode-Locale diff --git a/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.hash b/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.hash index 1b6a6bcb..258eb295 100644 --- a/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.hash +++ b/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 fcfdb8e4ee34bcf62aed429b4a23db27 Encode-Locale-1.05.tar.gz sha256 176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1 Encode-Locale-1.05.tar.gz + +# computed by scancpan +sha256 edfeacafbed5a0f2c4a2a3db3fb0274a7f210768d01c853c60b7feac841c83c8 README diff --git a/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.mk b/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.mk index 80d9c3b5..1e948c65 100644 --- a/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.mk +++ b/bsp/buildroot/package/perl-encode-locale/perl-encode-locale.mk @@ -9,5 +9,6 @@ PERL_ENCODE_LOCALE_SOURCE = Encode-Locale-$(PERL_ENCODE_LOCALE_VERSION).tar.gz PERL_ENCODE_LOCALE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_ENCODE_LOCALE_LICENSE = Artistic or GPL-1.0+ PERL_ENCODE_LOCALE_LICENSE_FILES = README +PERL_ENCODE_LOCALE_DISTNAME = Encode-Locale $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-exporter-tiny/Config.in b/bsp/buildroot/package/perl-exporter-tiny/Config.in new file mode 100644 index 00000000..04839ac1 --- /dev/null +++ b/bsp/buildroot/package/perl-exporter-tiny/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_EXPORTER_TINY + bool "perl-exporter-tiny" + help + an exporter with the features of Sub::Exporter but only core + dependencies. + + https://metacpan.org/release/Exporter-Tiny diff --git a/bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.hash b/bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.hash new file mode 100644 index 00000000..1d36c63a --- /dev/null +++ b/bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.hash @@ -0,0 +1,7 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 e33f25f7556f5f5264a92cb9870d0eac Exporter-Tiny-1.002001.tar.gz +sha256 a82c334c02ce4b0f9ea77c67bf77738f76a9b8aa4bae5c7209d1c76453d3c48d Exporter-Tiny-1.002001.tar.gz + +# computed by scancpan +sha256 a109768ea1493cc7555d4381d6178d3cfc1fe52adc5d63d3831a2697d9fc90e6 COPYRIGHT +sha256 c614dadb36b02257ab492e3d4341e52f3f03fe8147cafd2b7da03b3b5c0361e9 LICENSE diff --git a/bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.mk b/bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.mk new file mode 100644 index 00000000..1ba1a5ac --- /dev/null +++ b/bsp/buildroot/package/perl-exporter-tiny/perl-exporter-tiny.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-exporter-tiny +# +################################################################################ + +PERL_EXPORTER_TINY_VERSION = 1.002001 +PERL_EXPORTER_TINY_SOURCE = Exporter-Tiny-$(PERL_EXPORTER_TINY_VERSION).tar.gz +PERL_EXPORTER_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK +PERL_EXPORTER_TINY_LICENSE = Artistic or GPL-1.0+ +PERL_EXPORTER_TINY_LICENSE_FILES = COPYRIGHT LICENSE +PERL_EXPORTER_TINY_DISTNAME = Exporter-Tiny + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-extutils-config/perl-extutils-config.hash b/bsp/buildroot/package/perl-extutils-config/perl-extutils-config.hash new file mode 100644 index 00000000..518de841 --- /dev/null +++ b/bsp/buildroot/package/perl-extutils-config/perl-extutils-config.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 565a7b09c7cac5907a25bbe2c959a717 ExtUtils-Config-0.008.tar.gz +sha256 ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c ExtUtils-Config-0.008.tar.gz + +# computed by scancpan +sha256 33b39fda54675d4d681764049e27b537cac12213aa6650667abea43662264ddc LICENSE diff --git a/bsp/buildroot/package/perl-extutils-config/perl-extutils-config.mk b/bsp/buildroot/package/perl-extutils-config/perl-extutils-config.mk new file mode 100644 index 00000000..f46ca3e6 --- /dev/null +++ b/bsp/buildroot/package/perl-extutils-config/perl-extutils-config.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-extutils-config +# +################################################################################ + +PERL_EXTUTILS_CONFIG_VERSION = 0.008 +PERL_EXTUTILS_CONFIG_SOURCE = ExtUtils-Config-$(PERL_EXTUTILS_CONFIG_VERSION).tar.gz +PERL_EXTUTILS_CONFIG_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT +PERL_EXTUTILS_CONFIG_LICENSE = Artistic or GPL-1.0+ +PERL_EXTUTILS_CONFIG_LICENSE_FILES = LICENSE +PERL_EXTUTILS_CONFIG_DISTNAME = ExtUtils-Config + +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.hash b/bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.hash new file mode 100644 index 00000000..2d291901 --- /dev/null +++ b/bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 83b00c1e401321c425ae5db6b2b2fd12 ExtUtils-Helpers-0.026.tar.gz +sha256 de901b6790a4557cf4ec908149e035783b125bf115eb9640feb1bc1c24c33416 ExtUtils-Helpers-0.026.tar.gz + +# computed by scancpan +sha256 e5530d0ebc8662df3a970644d867faf12760b1a95ca6e2bf1c5f9af410a418e0 LICENSE diff --git a/bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.mk b/bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.mk new file mode 100644 index 00000000..d3b14d88 --- /dev/null +++ b/bsp/buildroot/package/perl-extutils-helpers/perl-extutils-helpers.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-extutils-helpers +# +################################################################################ + +PERL_EXTUTILS_HELPERS_VERSION = 0.026 +PERL_EXTUTILS_HELPERS_SOURCE = ExtUtils-Helpers-$(PERL_EXTUTILS_HELPERS_VERSION).tar.gz +PERL_EXTUTILS_HELPERS_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT +PERL_EXTUTILS_HELPERS_LICENSE = Artistic or GPL-1.0+ +PERL_EXTUTILS_HELPERS_LICENSE_FILES = LICENSE +PERL_EXTUTILS_HELPERS_DISTNAME = ExtUtils-Helpers + +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.hash b/bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.hash new file mode 100644 index 00000000..2627a27d --- /dev/null +++ b/bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 9a8d66aab1ffec98ea260faf03ac612b ExtUtils-InstallPaths-0.012.tar.gz +sha256 84735e3037bab1fdffa3c2508567ad412a785c91599db3c12593a50a1dd434ed ExtUtils-InstallPaths-0.012.tar.gz + +# computed by scancpan +sha256 b95d38ac031587625625d92fbd2ee1d5df0d02606057d680e7dcf3598fe629f9 LICENSE diff --git a/bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.mk b/bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.mk new file mode 100644 index 00000000..e90e130c --- /dev/null +++ b/bsp/buildroot/package/perl-extutils-installpaths/perl-extutils-installpaths.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-extutils-installpaths +# +################################################################################ + +PERL_EXTUTILS_INSTALLPATHS_VERSION = 0.012 +PERL_EXTUTILS_INSTALLPATHS_SOURCE = ExtUtils-InstallPaths-$(PERL_EXTUTILS_INSTALLPATHS_VERSION).tar.gz +PERL_EXTUTILS_INSTALLPATHS_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT +HOST_PERL_EXTUTILS_INSTALLPATHS_DEPENDENCIES = host-perl-extutils-config +PERL_EXTUTILS_INSTALLPATHS_LICENSE = Artistic or GPL-1.0+ +PERL_EXTUTILS_INSTALLPATHS_LICENSE_FILES = LICENSE +PERL_EXTUTILS_INSTALLPATHS_DISTNAME = ExtUtils-InstallPaths + +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-file-listing/Config.in b/bsp/buildroot/package/perl-file-listing/Config.in index 85f8e2eb..acca98be 100644 --- a/bsp/buildroot/package/perl-file-listing/Config.in +++ b/bsp/buildroot/package/perl-file-listing/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_FILE_LISTING bool "perl-file-listing" - select BR2_PACKAGE_PERL_HTTP_DATE + select BR2_PACKAGE_PERL_HTTP_DATE # runtime help - Module to parse directoy listings + parse directory listing. - https://github.com/gisle/file-listing + https://metacpan.org/release/File-Listing diff --git a/bsp/buildroot/package/perl-file-listing/perl-file-listing.hash b/bsp/buildroot/package/perl-file-listing/perl-file-listing.hash index 1549c5af..6189948a 100644 --- a/bsp/buildroot/package/perl-file-listing/perl-file-listing.hash +++ b/bsp/buildroot/package/perl-file-listing/perl-file-listing.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 83f636b477741f3a014585bb9cc079a6 File-Listing-6.04.tar.gz sha256 1e0050fcd6789a2179ec0db282bf1e90fb92be35d1171588bd9c47d52d959cf5 File-Listing-6.04.tar.gz + +# computed by scancpan +sha256 9ee526d1593c48e65141aea5567f0cdf156eb57e68448cd91584c7aae92bd787 README diff --git a/bsp/buildroot/package/perl-file-listing/perl-file-listing.mk b/bsp/buildroot/package/perl-file-listing/perl-file-listing.mk index e150de77..9f3ca951 100644 --- a/bsp/buildroot/package/perl-file-listing/perl-file-listing.mk +++ b/bsp/buildroot/package/perl-file-listing/perl-file-listing.mk @@ -7,8 +7,8 @@ PERL_FILE_LISTING_VERSION = 6.04 PERL_FILE_LISTING_SOURCE = File-Listing-$(PERL_FILE_LISTING_VERSION).tar.gz PERL_FILE_LISTING_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_FILE_LISTING_DEPENDENCIES = perl-http-date PERL_FILE_LISTING_LICENSE = Artistic or GPL-1.0+ PERL_FILE_LISTING_LICENSE_FILES = README +PERL_FILE_LISTING_DISTNAME = File-Listing $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.hash b/bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.hash new file mode 100644 index 00000000..abbab34e --- /dev/null +++ b/bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 5eabd44a5d7d84bf2e8e502491226287 File-ShareDir-Install-0.13.tar.gz +sha256 45befdf0d95cbefe7c25a1daf293d85f780d6d2576146546e6828aad26e580f9 File-ShareDir-Install-0.13.tar.gz + +# computed by scancpan +sha256 c207ca1c71c16a443d875a78d8aeccfbe550da502cd7fda24819548afb04fb5c LICENSE diff --git a/bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.mk b/bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.mk new file mode 100644 index 00000000..3653a4ba --- /dev/null +++ b/bsp/buildroot/package/perl-file-sharedir-install/perl-file-sharedir-install.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-file-sharedir-install +# +################################################################################ + +PERL_FILE_SHAREDIR_INSTALL_VERSION = 0.13 +PERL_FILE_SHAREDIR_INSTALL_SOURCE = File-ShareDir-Install-$(PERL_FILE_SHAREDIR_INSTALL_VERSION).tar.gz +PERL_FILE_SHAREDIR_INSTALL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_FILE_SHAREDIR_INSTALL_LICENSE = Artistic or GPL-1.0+ +PERL_FILE_SHAREDIR_INSTALL_LICENSE_FILES = LICENSE +PERL_FILE_SHAREDIR_INSTALL_DISTNAME = File-ShareDir-Install + +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-file-sharedir/Config.in b/bsp/buildroot/package/perl-file-sharedir/Config.in new file mode 100644 index 00000000..169569f7 --- /dev/null +++ b/bsp/buildroot/package/perl-file-sharedir/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_FILE_SHAREDIR + bool "perl-file-sharedir" + select BR2_PACKAGE_PERL_CLASS_INSPECTOR # runtime + help + Locate per-dist and per-module shared files. + + https://metacpan.org/release/File-ShareDir diff --git a/bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.hash b/bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.hash new file mode 100644 index 00000000..e0a49665 --- /dev/null +++ b/bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 f2a0eee9f04c93753dd56437175e5bda File-ShareDir-1.116.tar.gz +sha256 59d90bfdf98c4656ff4173e62954ea8cf0de66565e35d108ecd7050596cb8328 File-ShareDir-1.116.tar.gz + +# computed by scancpan +sha256 db57983ce0a3bce54900b5a3a3a69e9a593e7b07d0f58dd9f87ac9b016ff4a6b LICENSE diff --git a/bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.mk b/bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.mk new file mode 100644 index 00000000..d907f3b0 --- /dev/null +++ b/bsp/buildroot/package/perl-file-sharedir/perl-file-sharedir.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-file-sharedir +# +################################################################################ + +PERL_FILE_SHAREDIR_VERSION = 1.116 +PERL_FILE_SHAREDIR_SOURCE = File-ShareDir-$(PERL_FILE_SHAREDIR_VERSION).tar.gz +PERL_FILE_SHAREDIR_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RE/REHSACK +PERL_FILE_SHAREDIR_DEPENDENCIES = host-perl-file-sharedir-install +PERL_FILE_SHAREDIR_LICENSE = Artistic or GPL-1.0+ +PERL_FILE_SHAREDIR_LICENSE_FILES = LICENSE +PERL_FILE_SHAREDIR_DISTNAME = File-ShareDir + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-file-slurp/Config.in b/bsp/buildroot/package/perl-file-slurp/Config.in new file mode 100644 index 00000000..33b6d337 --- /dev/null +++ b/bsp/buildroot/package/perl-file-slurp/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_FILE_SLURP + bool "perl-file-slurp" + help + Simple and Efficient Reading/Writing/Modifying of Complete + Files. + + https://metacpan.org/release/File-Slurp diff --git a/bsp/buildroot/package/perl-file-slurp/perl-file-slurp.hash b/bsp/buildroot/package/perl-file-slurp/perl-file-slurp.hash new file mode 100644 index 00000000..4ed670ec --- /dev/null +++ b/bsp/buildroot/package/perl-file-slurp/perl-file-slurp.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 52afbe79bbf2b86c11ac4986030a9275 File-Slurp-9999.25.tar.gz +sha256 c7ea97bae61bc68404476ce69277f6f796d31ab58c9c40ee390d9d5a1c5ce3c1 File-Slurp-9999.25.tar.gz + +# computed by scancpan +sha256 87744d1995d9a41ef32478c98f08167a13a1e09d96c3bb00ade315e3290facef README.md diff --git a/bsp/buildroot/package/perl-file-slurp/perl-file-slurp.mk b/bsp/buildroot/package/perl-file-slurp/perl-file-slurp.mk new file mode 100644 index 00000000..4ceba25f --- /dev/null +++ b/bsp/buildroot/package/perl-file-slurp/perl-file-slurp.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-file-slurp +# +################################################################################ + +PERL_FILE_SLURP_VERSION = 9999.25 +PERL_FILE_SLURP_SOURCE = File-Slurp-$(PERL_FILE_SLURP_VERSION).tar.gz +PERL_FILE_SLURP_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CA/CAPOEIRAB +PERL_FILE_SLURP_LICENSE = Artistic or GPL-1.0+ +PERL_FILE_SLURP_LICENSE_FILES = README.md +PERL_FILE_SLURP_DISTNAME = File-Slurp + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-file-util/Config.in b/bsp/buildroot/package/perl-file-util/Config.in index 871be988..ddd155be 100644 --- a/bsp/buildroot/package/perl-file-util/Config.in +++ b/bsp/buildroot/package/perl-file-util/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_FILE_UTIL bool "perl-file-util" help - Easy, versatile, portable file handling + Easy, versatile, portable file handling. https://github.com/tommybutler/file-util/wiki diff --git a/bsp/buildroot/package/perl-file-util/perl-file-util.hash b/bsp/buildroot/package/perl-file-util/perl-file-util.hash index dc3e59e3..0915494f 100644 --- a/bsp/buildroot/package/perl-file-util/perl-file-util.hash +++ b/bsp/buildroot/package/perl-file-util/perl-file-util.hash @@ -1,3 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 5706487ecf0daae885f709914915e832 File-Util-4.161950.tar.gz sha256 88507b19da580d595b5c25fe6ba75bbd6096b4359e389ead067a216f766c20ee File-Util-4.161950.tar.gz + +# computed by scancpan +sha256 5f3732812570654ba911e45ec4e5f7353f4b63747ebfc506c543e8fb1ccf797f COPYING +sha256 48428fd07c402ea82d3556753ca936c7030f0d7a6a93c3ef09423c36820ffb91 LICENSE diff --git a/bsp/buildroot/package/perl-file-util/perl-file-util.mk b/bsp/buildroot/package/perl-file-util/perl-file-util.mk index f8f27121..5437bc11 100644 --- a/bsp/buildroot/package/perl-file-util/perl-file-util.mk +++ b/bsp/buildroot/package/perl-file-util/perl-file-util.mk @@ -10,6 +10,7 @@ PERL_FILE_UTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOMMY PERL_FILE_UTIL_DEPENDENCIES = host-perl-module-build PERL_FILE_UTIL_LICENSE = Artistic or GPL-1.0+ PERL_FILE_UTIL_LICENSE_FILES = COPYING LICENSE +PERL_FILE_UTIL_DISTNAME = File-Util HOST_PERL_FILE_UTIL_DEPENDENCIES = host-perl-module-build $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-filesys-notify-simple/Config.in b/bsp/buildroot/package/perl-filesys-notify-simple/Config.in new file mode 100644 index 00000000..bff3cc61 --- /dev/null +++ b/bsp/buildroot/package/perl-filesys-notify-simple/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_FILESYS_NOTIFY_SIMPLE + bool "perl-filesys-notify-simple" + help + Simple and dumb file system watcher. + + https://github.com/miyagawa/Filesys-Notify-Simple diff --git a/bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash b/bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash new file mode 100644 index 00000000..a4839450 --- /dev/null +++ b/bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 6042cd96abcc7bf69f959142d00b8143 Filesys-Notify-Simple-0.13.tar.gz +sha256 ade3d3db882ce2137e527201893d4b8c12b2dbd15009bb89c31cb91ba6495ba2 Filesys-Notify-Simple-0.13.tar.gz + +# computed by scancpan +sha256 bd61ca40272d971750f0a2bd0122629865355c5f4a2aa9e70c0d325e75d0da3a LICENSE diff --git a/bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk b/bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk new file mode 100644 index 00000000..bb48f227 --- /dev/null +++ b/bsp/buildroot/package/perl-filesys-notify-simple/perl-filesys-notify-simple.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-filesys-notify-simple +# +################################################################################ + +PERL_FILESYS_NOTIFY_SIMPLE_VERSION = 0.13 +PERL_FILESYS_NOTIFY_SIMPLE_SOURCE = Filesys-Notify-Simple-$(PERL_FILESYS_NOTIFY_SIMPLE_VERSION).tar.gz +PERL_FILESYS_NOTIFY_SIMPLE_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA +PERL_FILESYS_NOTIFY_SIMPLE_LICENSE = Artistic or GPL-1.0+ +PERL_FILESYS_NOTIFY_SIMPLE_LICENSE_FILES = LICENSE +PERL_FILESYS_NOTIFY_SIMPLE_DISTNAME = Filesys-Notify-Simple + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-gd/Config.in b/bsp/buildroot/package/perl-gd/Config.in index 2b7a265f..ef28f7b9 100644 --- a/bsp/buildroot/package/perl-gd/Config.in +++ b/bsp/buildroot/package/perl-gd/Config.in @@ -6,7 +6,7 @@ config BR2_PACKAGE_PERL_GD select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_GD help - Perl interface to the gd2 graphics library + Perl interface to the gd2 graphics library. https://metacpan.org/release/GD diff --git a/bsp/buildroot/package/perl-gd/perl-gd.hash b/bsp/buildroot/package/perl-gd/perl-gd.hash index ad30e0a1..851aa6e5 100644 --- a/bsp/buildroot/package/perl-gd/perl-gd.hash +++ b/bsp/buildroot/package/perl-gd/perl-gd.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 b9cfc5a677b5e9fa607be1379f789855 GD-2.67.tar.gz -sha256 93a47c2259979cf20c6a39c9e03e0da87a9a855d8b650fb68a08d16a96684246 GD-2.67.tar.gz +md5 d9596406f64e50b9ecef8d7cfbf0d99b GD-2.70.tar.gz +sha256 66b26a322e1fd82ef874721dd5274effcc60eb0c0f3481bf88ddf91529b633e2 GD-2.70.tar.gz + +# computed by scancpan +sha256 1e2250289d6df4ba1c24f7550982d7ffaff2c97cd02e847659406e1afd28e83f LICENSE diff --git a/bsp/buildroot/package/perl-gd/perl-gd.mk b/bsp/buildroot/package/perl-gd/perl-gd.mk index 81070a93..75575171 100644 --- a/bsp/buildroot/package/perl-gd/perl-gd.mk +++ b/bsp/buildroot/package/perl-gd/perl-gd.mk @@ -4,12 +4,13 @@ # ################################################################################ -PERL_GD_VERSION = 2.67 +PERL_GD_VERSION = 2.70 PERL_GD_SOURCE = GD-$(PERL_GD_VERSION).tar.gz PERL_GD_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN PERL_GD_DEPENDENCIES = zlib libpng freetype gd PERL_GD_LICENSE = Artistic or GPL-1.0+ PERL_GD_LICENSE_FILES = LICENSE +PERL_GD_DISTNAME = GD PERL_GD_CONF_OPTS = \ -lib_gd_path=$(STAGING_DIR)/usr \ diff --git a/bsp/buildroot/package/perl-gdgraph/Config.in b/bsp/buildroot/package/perl-gdgraph/Config.in index 10b3cd03..d8885fe0 100644 --- a/bsp/buildroot/package/perl-gdgraph/Config.in +++ b/bsp/buildroot/package/perl-gdgraph/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_PERL_GDGRAPH bool "perl-gdgraph" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PERL_GD - select BR2_PACKAGE_PERL_GDTEXTUTIL + select BR2_PACKAGE_PERL_GD # runtime + select BR2_PACKAGE_PERL_GDTEXTUTIL # runtime help - Produces charts with GD + Produces charts with GD. https://metacpan.org/release/GDGraph diff --git a/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.hash b/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.hash index 2e85452c..ea994519 100644 --- a/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.hash +++ b/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 38c6a188519e6272e9b2b722b315c3d8 GDGraph-1.54.tar.gz sha256 b96f5c10b656c17d16ab65a1777c908297b028d3b6815f6d54b2337f006bfa4f GDGraph-1.54.tar.gz + +# computed by scancpan +sha256 710484e3a1196664bbe8a5ad5d53c528e01226eb20e2885a4e1131eb6c6565cd Dustismo.LICENSE diff --git a/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.mk b/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.mk index c4317075..284dc9dc 100644 --- a/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.mk +++ b/bsp/buildroot/package/perl-gdgraph/perl-gdgraph.mk @@ -7,8 +7,8 @@ PERL_GDGRAPH_VERSION = 1.54 PERL_GDGRAPH_SOURCE = GDGraph-$(PERL_GDGRAPH_VERSION).tar.gz PERL_GDGRAPH_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RUZ -PERL_GDGRAPH_DEPENDENCIES = perl-gd perl-gdtextutil PERL_GDGRAPH_LICENSE = Artistic or GPL-1.0+ PERL_GDGRAPH_LICENSE_FILES = Dustismo.LICENSE +PERL_GDGRAPH_DISTNAME = GDGraph $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-gdtextutil/Config.in b/bsp/buildroot/package/perl-gdtextutil/Config.in index 9baf0a07..cff328e0 100644 --- a/bsp/buildroot/package/perl-gdtextutil/Config.in +++ b/bsp/buildroot/package/perl-gdtextutil/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_GDTEXTUTIL bool "perl-gdtextutil" help - Text utilities for use with GD + Text utilities for use with GD. https://metacpan.org/release/GDTextUtil diff --git a/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash b/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash index 7996ed9d..f0e947f6 100644 --- a/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash +++ b/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 941ad06eadc86b47f3a32da405665c41 GDTextUtil-0.86.tar.gz sha256 886ecbf85cfe94f4135ee5689c4847a9ae783ecb99e6759e12c734f2dd6116bc GDTextUtil-0.86.tar.gz + +# computed by scancpan +sha256 710484e3a1196664bbe8a5ad5d53c528e01226eb20e2885a4e1131eb6c6565cd Dustismo.LICENSE diff --git a/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk b/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk index 087102a7..cd1617fb 100644 --- a/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk +++ b/bsp/buildroot/package/perl-gdtextutil/perl-gdtextutil.mk @@ -8,5 +8,6 @@ PERL_GDTEXTUTIL_VERSION = 0.86 PERL_GDTEXTUTIL_SOURCE = GDTextUtil-$(PERL_GDTEXTUTIL_VERSION).tar.gz PERL_GDTEXTUTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MV/MVERB PERL_GDTEXTUTIL_LICENSE_FILES = Dustismo.LICENSE +PERL_GDTEXTUTIL_DISTNAME = GDTextUtil $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-hash-multivalue/Config.in b/bsp/buildroot/package/perl-hash-multivalue/Config.in new file mode 100644 index 00000000..8621983d --- /dev/null +++ b/bsp/buildroot/package/perl-hash-multivalue/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_HASH_MULTIVALUE + bool "perl-hash-multivalue" + help + Store multiple values per key. + + https://github.com/miyagawa/Hash-MultiValue diff --git a/bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.hash b/bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.hash new file mode 100644 index 00000000..3a686506 --- /dev/null +++ b/bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 508015312eb08cd2bcea987c4efbb93d Hash-MultiValue-0.16.tar.gz +sha256 66181df7aa68e2786faf6895c88b18b95c800a8e4e6fb4c07fd176410a3c73f4 Hash-MultiValue-0.16.tar.gz + +# computed by scancpan +sha256 af32512e13f6722dab770b989c57556a5e3d29a49b22b8ad5668064db8592401 LICENSE diff --git a/bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.mk b/bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.mk new file mode 100644 index 00000000..dcbfe843 --- /dev/null +++ b/bsp/buildroot/package/perl-hash-multivalue/perl-hash-multivalue.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-hash-multivalue +# +################################################################################ + +PERL_HASH_MULTIVALUE_VERSION = 0.16 +PERL_HASH_MULTIVALUE_SOURCE = Hash-MultiValue-$(PERL_HASH_MULTIVALUE_VERSION).tar.gz +PERL_HASH_MULTIVALUE_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AR/ARISTOTLE +PERL_HASH_MULTIVALUE_LICENSE = Artistic or GPL-1.0+ +PERL_HASH_MULTIVALUE_LICENSE_FILES = LICENSE +PERL_HASH_MULTIVALUE_DISTNAME = Hash-MultiValue + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-html-parser/Config.in b/bsp/buildroot/package/perl-html-parser/Config.in index 22a16d64..10cd95e4 100644 --- a/bsp/buildroot/package/perl-html-parser/Config.in +++ b/bsp/buildroot/package/perl-html-parser/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_PERL_HTML_PARSER bool "perl-html-parser" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PERL_HTML_TAGSET + select BR2_PACKAGE_PERL_HTML_TAGSET # runtime help - HTML parser class + HTML parser class. https://metacpan.org/release/HTML-Parser diff --git a/bsp/buildroot/package/perl-html-parser/perl-html-parser.hash b/bsp/buildroot/package/perl-html-parser/perl-html-parser.hash index 0c0bb1f2..f06ec034 100644 --- a/bsp/buildroot/package/perl-html-parser/perl-html-parser.hash +++ b/bsp/buildroot/package/perl-html-parser/perl-html-parser.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 eb7505e5f626913350df9dd4a03d54a8 HTML-Parser-3.72.tar.gz sha256 ec28c7e1d9e67c45eca197077f7cdc41ead1bb4c538c7f02a3296a4bb92f608b HTML-Parser-3.72.tar.gz + +# computed by scancpan +sha256 663867028ae22c6f2fabab11238f65f1bf8dd789233b844bead5f6d22220d160 README diff --git a/bsp/buildroot/package/perl-html-parser/perl-html-parser.mk b/bsp/buildroot/package/perl-html-parser/perl-html-parser.mk index 66016eb8..6e5a81bb 100644 --- a/bsp/buildroot/package/perl-html-parser/perl-html-parser.mk +++ b/bsp/buildroot/package/perl-html-parser/perl-html-parser.mk @@ -7,8 +7,8 @@ PERL_HTML_PARSER_VERSION = 3.72 PERL_HTML_PARSER_SOURCE = HTML-Parser-$(PERL_HTML_PARSER_VERSION).tar.gz PERL_HTML_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_HTML_PARSER_DEPENDENCIES = perl-html-tagset PERL_HTML_PARSER_LICENSE = Artistic or GPL-1.0+ PERL_HTML_PARSER_LICENSE_FILES = README +PERL_HTML_PARSER_DISTNAME = HTML-Parser $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-html-tagset/Config.in b/bsp/buildroot/package/perl-html-tagset/Config.in index a39bc651..4956198f 100644 --- a/bsp/buildroot/package/perl-html-tagset/Config.in +++ b/bsp/buildroot/package/perl-html-tagset/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_HTML_TAGSET bool "perl-html-tagset" help - HTML::Tagset - data tables useful in parsing HTML + data tables useful in parsing HTML. - http://www.cpan.org/modules/by-authors/id/P/PE/PETDANCE/ + https://metacpan.org/release/HTML-Tagset diff --git a/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.hash b/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.hash index a4cf0908..9569ece6 100644 --- a/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.hash +++ b/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 d2bfa18fe1904df7f683e96611e87437 HTML-Tagset-3.20.tar.gz sha256 adb17dac9e36cd011f5243881c9739417fd102fce760f8de4e9be4c7131108e2 HTML-Tagset-3.20.tar.gz + +# computed by scancpan +sha256 275cc182d78ac2db6856442c5d334c925350fb56fe83ee3577f5850317423419 README diff --git a/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.mk b/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.mk index ff371fa2..c6b5f691 100644 --- a/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.mk +++ b/bsp/buildroot/package/perl-html-tagset/perl-html-tagset.mk @@ -9,5 +9,6 @@ PERL_HTML_TAGSET_SOURCE = HTML-Tagset-$(PERL_HTML_TAGSET_VERSION).tar.gz PERL_HTML_TAGSET_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PETDANCE PERL_HTML_TAGSET_LICENSE = Artistic or GPL-1.0+ PERL_HTML_TAGSET_LICENSE_FILES = README +PERL_HTML_TAGSET_DISTNAME = HTML-Tagset $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-cookies/Config.in b/bsp/buildroot/package/perl-http-cookies/Config.in index 4095fee8..fd869f06 100644 --- a/bsp/buildroot/package/perl-http-cookies/Config.in +++ b/bsp/buildroot/package/perl-http-cookies/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_PERL_HTTP_COOKIES bool "perl-http-cookies" - select BR2_PACKAGE_PERL_HTTP_DATE - select BR2_PACKAGE_PERL_HTTP_MESSAGE + select BR2_PACKAGE_PERL_HTTP_DATE # runtime + select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime help - HTTP cookie jars + HTTP cookie jars. https://github.com/libwww-perl/http-cookies diff --git a/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.hash b/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.hash index 361d4db9..e504063f 100644 --- a/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.hash +++ b/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 7bf1e277bd5c886bc18d21eb8423b65f HTTP-Cookies-6.04.tar.gz sha256 0cc7f079079dcad8293fea36875ef58dd1bfd75ce1a6c244cd73ed9523eb13d4 HTTP-Cookies-6.04.tar.gz + +# computed by scancpan +sha256 f67a84709b8757e38e389ea9ab7cdef424d2b7cf999a92556ffd0b61ff87600d LICENSE diff --git a/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.mk b/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.mk index 0777c084..74ffe8f4 100644 --- a/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.mk +++ b/bsp/buildroot/package/perl-http-cookies/perl-http-cookies.mk @@ -7,8 +7,8 @@ PERL_HTTP_COOKIES_VERSION = 6.04 PERL_HTTP_COOKIES_SOURCE = HTTP-Cookies-$(PERL_HTTP_COOKIES_VERSION).tar.gz PERL_HTTP_COOKIES_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_HTTP_COOKIES_DEPENDENCIES = perl-http-date perl-http-message PERL_HTTP_COOKIES_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_COOKIES_LICENSE_FILES = LICENSE +PERL_HTTP_COOKIES_DISTNAME = HTTP-Cookies $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-daemon/Config.in b/bsp/buildroot/package/perl-http-daemon/Config.in index 7544ece1..bc03b8c8 100644 --- a/bsp/buildroot/package/perl-http-daemon/Config.in +++ b/bsp/buildroot/package/perl-http-daemon/Config.in @@ -1,10 +1,9 @@ config BR2_PACKAGE_PERL_HTTP_DAEMON bool "perl-http-daemon" - select BR2_PACKAGE_PERL_HTTP_DATE - select BR2_PACKAGE_PERL_HTTP_MESSAGE - select BR2_PACKAGE_PERL_LWP_MEDIATYPES + select BR2_PACKAGE_PERL_HTTP_DATE # runtime + select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime + select BR2_PACKAGE_PERL_LWP_MEDIATYPES # runtime help - Instances of the `HTTP::Daemon' class are HTTP/1.1 servers - that listen on a socket for incoming requests. + a simple http server class. - http://github.com/gisle/http-daemon + https://metacpan.org/release/HTTP-Daemon diff --git a/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.hash b/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.hash index f4f60230..f7bf64f6 100644 --- a/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.hash +++ b/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 ed0ae02d25d7f1e89456d4d69732adc2 HTTP-Daemon-6.01.tar.gz sha256 43fd867742701a3f9fcc7bd59838ab72c6490c0ebaf66901068ec6997514adc2 HTTP-Daemon-6.01.tar.gz + +# computed by scancpan +sha256 6a23ab5e150eeab25c21065446beda077352181aa024972ae06965c377f5b15f README diff --git a/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.mk b/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.mk index 65cdaf8e..99e053f4 100644 --- a/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.mk +++ b/bsp/buildroot/package/perl-http-daemon/perl-http-daemon.mk @@ -7,8 +7,8 @@ PERL_HTTP_DAEMON_VERSION = 6.01 PERL_HTTP_DAEMON_SOURCE = HTTP-Daemon-$(PERL_HTTP_DAEMON_VERSION).tar.gz PERL_HTTP_DAEMON_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_HTTP_DAEMON_DEPENDENCIES = perl-http-date perl-http-message perl-lwp-mediatypes PERL_HTTP_DAEMON_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_DAEMON_LICENSE_FILES = README +PERL_HTTP_DAEMON_DISTNAME = HTTP-Daemon $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-date/Config.in b/bsp/buildroot/package/perl-http-date/Config.in index 5ce47813..12524e6d 100644 --- a/bsp/buildroot/package/perl-http-date/Config.in +++ b/bsp/buildroot/package/perl-http-date/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PERL_HTTP_DATE bool "perl-http-date" help - This module provides functions that deal the date formats - used by the HTTP protocol (and then some more) + date conversion routines. - https://github.com/gisle/http-date + https://metacpan.org/release/HTTP-Date diff --git a/bsp/buildroot/package/perl-http-date/perl-http-date.hash b/bsp/buildroot/package/perl-http-date/perl-http-date.hash index db85cd06..f74ca0cd 100644 --- a/bsp/buildroot/package/perl-http-date/perl-http-date.hash +++ b/bsp/buildroot/package/perl-http-date/perl-http-date.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 52b7a0d5982d61be1edb217751d7daba HTTP-Date-6.02.tar.gz sha256 e8b9941da0f9f0c9c01068401a5e81341f0e3707d1c754f8e11f42a7e629e333 HTTP-Date-6.02.tar.gz + +# computed by scancpan +sha256 fad3a7732ff63e3521b94baea45d82a300edf8e0a5cf571ef2661c894e196632 README diff --git a/bsp/buildroot/package/perl-http-date/perl-http-date.mk b/bsp/buildroot/package/perl-http-date/perl-http-date.mk index feccf25d..5dc91f31 100644 --- a/bsp/buildroot/package/perl-http-date/perl-http-date.mk +++ b/bsp/buildroot/package/perl-http-date/perl-http-date.mk @@ -9,5 +9,6 @@ PERL_HTTP_DATE_SOURCE = HTTP-Date-$(PERL_HTTP_DATE_VERSION).tar.gz PERL_HTTP_DATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_HTTP_DATE_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_DATE_LICENSE_FILES = README +PERL_HTTP_DATE_DISTNAME = HTTP-Date $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-entity-parser/Config.in b/bsp/buildroot/package/perl-http-entity-parser/Config.in new file mode 100644 index 00000000..445366b7 --- /dev/null +++ b/bsp/buildroot/package/perl-http-entity-parser/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PERL_HTTP_ENTITY_PARSER + bool "perl-http-entity-parser" + select BR2_PACKAGE_PERL_HTTP_MULTIPARTPARSER # runtime + select BR2_PACKAGE_PERL_HASH_MULTIVALUE # runtime + select BR2_PACKAGE_PERL_JSON_MAYBEXS # runtime + select BR2_PACKAGE_PERL_STREAM_BUFFERED # runtime + select BR2_PACKAGE_PERL_WWW_FORM_URLENCODED # runtime + help + PSGI compliant HTTP Entity Parser. + + https://github.com/kazeburo/HTTP-Entity-Parser diff --git a/bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.hash b/bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.hash new file mode 100644 index 00000000..cb665741 --- /dev/null +++ b/bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 50e8418bfe27ab26818ca6e264052c95 HTTP-Entity-Parser-0.21.tar.gz +sha256 c14d3e42bdb0845eb412640ca5e396cbd52d3a9a616a5974a32a52cab487f8d8 HTTP-Entity-Parser-0.21.tar.gz + +# computed by scancpan +sha256 79c2a066104e71602785fd815c5aea6f7db78c19451d68521380083f9c2a8805 LICENSE diff --git a/bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.mk b/bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.mk new file mode 100644 index 00000000..6d814b2f --- /dev/null +++ b/bsp/buildroot/package/perl-http-entity-parser/perl-http-entity-parser.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-http-entity-parser +# +################################################################################ + +PERL_HTTP_ENTITY_PARSER_VERSION = 0.21 +PERL_HTTP_ENTITY_PARSER_SOURCE = HTTP-Entity-Parser-$(PERL_HTTP_ENTITY_PARSER_VERSION).tar.gz +PERL_HTTP_ENTITY_PARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO +PERL_HTTP_ENTITY_PARSER_DEPENDENCIES = host-perl-module-build-tiny +PERL_HTTP_ENTITY_PARSER_LICENSE = Artistic or GPL-1.0+ +PERL_HTTP_ENTITY_PARSER_LICENSE_FILES = LICENSE +PERL_HTTP_ENTITY_PARSER_DISTNAME = HTTP-Entity-Parser + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-headers-fast/Config.in b/bsp/buildroot/package/perl-http-headers-fast/Config.in new file mode 100644 index 00000000..b4b19e5b --- /dev/null +++ b/bsp/buildroot/package/perl-http-headers-fast/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_HTTP_HEADERS_FAST + bool "perl-http-headers-fast" + select BR2_PACKAGE_PERL_HTTP_DATE # runtime + help + faster implementation of HTTP::Headers. + + https://github.com/tokuhirom/HTTP-Headers-Fast diff --git a/bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.hash b/bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.hash new file mode 100644 index 00000000..0cba0f95 --- /dev/null +++ b/bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 024fde06808fc47db61a62655afacb41 HTTP-Headers-Fast-0.21.tar.gz +sha256 5e68ed8e3e67531e1d43c6a2cdfd0ee2daddf2e5b94c1a2648f3a6500a6f12d5 HTTP-Headers-Fast-0.21.tar.gz + +# computed by scancpan +sha256 511724425acf76d736145cfbf7c775b024c70ae8674ebf9a24dfda2c8e4032a3 LICENSE diff --git a/bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.mk b/bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.mk new file mode 100644 index 00000000..fadf06d5 --- /dev/null +++ b/bsp/buildroot/package/perl-http-headers-fast/perl-http-headers-fast.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-http-headers-fast +# +################################################################################ + +PERL_HTTP_HEADERS_FAST_VERSION = 0.21 +PERL_HTTP_HEADERS_FAST_SOURCE = HTTP-Headers-Fast-$(PERL_HTTP_HEADERS_FAST_VERSION).tar.gz +PERL_HTTP_HEADERS_FAST_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOKUHIROM +PERL_HTTP_HEADERS_FAST_DEPENDENCIES = host-perl-module-build-tiny +PERL_HTTP_HEADERS_FAST_LICENSE = Artistic or GPL-1.0+ +PERL_HTTP_HEADERS_FAST_LICENSE_FILES = LICENSE +PERL_HTTP_HEADERS_FAST_DISTNAME = HTTP-Headers-Fast + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-message/Config.in b/bsp/buildroot/package/perl-http-message/Config.in index 682a4b01..82538cfc 100644 --- a/bsp/buildroot/package/perl-http-message/Config.in +++ b/bsp/buildroot/package/perl-http-message/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PERL_HTTP_MESSAGE bool "perl-http-message" - select BR2_PACKAGE_PERL_ENCODE_LOCALE - select BR2_PACKAGE_PERL_HTTP_DATE - select BR2_PACKAGE_PERL_IO_HTML - select BR2_PACKAGE_PERL_LWP_MEDIATYPES - select BR2_PACKAGE_PERL_URI + select BR2_PACKAGE_PERL_ENCODE_LOCALE # runtime + select BR2_PACKAGE_PERL_HTTP_DATE # runtime + select BR2_PACKAGE_PERL_IO_HTML # runtime + select BR2_PACKAGE_PERL_LWP_MEDIATYPES # runtime + select BR2_PACKAGE_PERL_URI # runtime help - HTTP style message (base class) + HTTP style message (base class). https://github.com/libwww-perl/HTTP-Message diff --git a/bsp/buildroot/package/perl-http-message/perl-http-message.hash b/bsp/buildroot/package/perl-http-message/perl-http-message.hash index a34d0456..78fda135 100644 --- a/bsp/buildroot/package/perl-http-message/perl-http-message.hash +++ b/bsp/buildroot/package/perl-http-message/perl-http-message.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 e4c6e183860c42cbdff65dcd76c333b0 HTTP-Message-6.14.tar.gz -sha256 71aab9f10eb4b8ec6e8e3a85fc5acb46ba04db1c93eb99613b184078c5cf2ac9 HTTP-Message-6.14.tar.gz +md5 9fd400da24e1784f85d32de1705fc795 HTTP-Message-6.18.tar.gz +sha256 d060d170d388b694c58c14f4d13ed908a2807f0e581146cef45726641d809112 HTTP-Message-6.18.tar.gz + +# computed by scancpan +sha256 66f0d1e8593d5512d7a8cd90549a976aaae97e4fa9b6097249b3682f14747a6b LICENSE diff --git a/bsp/buildroot/package/perl-http-message/perl-http-message.mk b/bsp/buildroot/package/perl-http-message/perl-http-message.mk index 722d6be6..becae4d1 100644 --- a/bsp/buildroot/package/perl-http-message/perl-http-message.mk +++ b/bsp/buildroot/package/perl-http-message/perl-http-message.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_HTTP_MESSAGE_VERSION = 6.14 +PERL_HTTP_MESSAGE_VERSION = 6.18 PERL_HTTP_MESSAGE_SOURCE = HTTP-Message-$(PERL_HTTP_MESSAGE_VERSION).tar.gz PERL_HTTP_MESSAGE_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_HTTP_MESSAGE_DEPENDENCIES = perl-encode-locale perl-http-date perl-io-html perl-lwp-mediatypes perl-uri PERL_HTTP_MESSAGE_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_MESSAGE_LICENSE_FILES = LICENSE +PERL_HTTP_MESSAGE_DISTNAME = HTTP-Message $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-multipartparser/Config.in b/bsp/buildroot/package/perl-http-multipartparser/Config.in new file mode 100644 index 00000000..93c196ca --- /dev/null +++ b/bsp/buildroot/package/perl-http-multipartparser/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_HTTP_MULTIPARTPARSER + bool "perl-http-multipartparser" + help + HTTP MultiPart Parser. + + https://metacpan.org/release/HTTP-MultiPartParser diff --git a/bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.hash b/bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.hash new file mode 100644 index 00000000..079c02f6 --- /dev/null +++ b/bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 1b07ebac54ce3288c044a23ba60196d2 HTTP-MultiPartParser-0.02.tar.gz +sha256 5eddda159f54d16f868e032440ac2b024e55aac48931871b62627f1a16d00b12 HTTP-MultiPartParser-0.02.tar.gz + +# computed by scancpan +sha256 a339d6cf9253720ba69b311423556cc02c94d5a6f76cf5cdf11af2112e14a074 README diff --git a/bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.mk b/bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.mk new file mode 100644 index 00000000..7fb3b8aa --- /dev/null +++ b/bsp/buildroot/package/perl-http-multipartparser/perl-http-multipartparser.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-http-multipartparser +# +################################################################################ + +PERL_HTTP_MULTIPARTPARSER_VERSION = 0.02 +PERL_HTTP_MULTIPARTPARSER_SOURCE = HTTP-MultiPartParser-$(PERL_HTTP_MULTIPARTPARSER_VERSION).tar.gz +PERL_HTTP_MULTIPARTPARSER_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CH/CHANSEN +PERL_HTTP_MULTIPARTPARSER_LICENSE = Artistic or GPL-1.0+ +PERL_HTTP_MULTIPARTPARSER_LICENSE_FILES = README +PERL_HTTP_MULTIPARTPARSER_DISTNAME = HTTP-MultiPartParser + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-http-negotiate/Config.in b/bsp/buildroot/package/perl-http-negotiate/Config.in index dcb1bbbf..c519ede2 100644 --- a/bsp/buildroot/package/perl-http-negotiate/Config.in +++ b/bsp/buildroot/package/perl-http-negotiate/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PERL_HTTP_NEGOTIATE bool "perl-http-negotiate" - select BR2_PACKAGE_PERL_HTTP_MESSAGE + select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime help - This module provides a complete implementation of the HTTP - content negotiation algorithm specified in - draft-ietf-http-v11-spec-00.ps chapter 12. + choose a variant to serve. - http://github.com/gisle/http-negotiate + https://metacpan.org/release/HTTP-Negotiate diff --git a/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash b/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash index f1db2fff..e561496f 100644 --- a/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash +++ b/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 1236195250e264d7436e7bb02031671b HTTP-Negotiate-6.01.tar.gz sha256 1c729c1ea63100e878405cda7d66f9adfd3ed4f1d6cacaca0ee9152df728e016 HTTP-Negotiate-6.01.tar.gz + +# computed by scancpan +sha256 7a2114bb46279309f8a67e359ab0a578a4e9a7c7add0d1725de46b44f6da6514 README diff --git a/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk b/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk index 86ca554a..868516fa 100644 --- a/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk +++ b/bsp/buildroot/package/perl-http-negotiate/perl-http-negotiate.mk @@ -7,8 +7,8 @@ PERL_HTTP_NEGOTIATE_VERSION = 6.01 PERL_HTTP_NEGOTIATE_SOURCE = HTTP-Negotiate-$(PERL_HTTP_NEGOTIATE_VERSION).tar.gz PERL_HTTP_NEGOTIATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_HTTP_NEGOTIATE_DEPENDENCIES = perl-http-message PERL_HTTP_NEGOTIATE_LICENSE = Artistic or GPL-1.0+ PERL_HTTP_NEGOTIATE_LICENSE_FILES = README +PERL_HTTP_NEGOTIATE_DISTNAME = HTTP-Negotiate $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-io-html/Config.in b/bsp/buildroot/package/perl-io-html/Config.in index 86038af0..e12e39a5 100644 --- a/bsp/buildroot/package/perl-io-html/Config.in +++ b/bsp/buildroot/package/perl-io-html/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PERL_IO_HTML bool "perl-io-html" help - Perl module that opens a file and performs automatic charset - detection + Open an HTML file with automatic charset detection. - https://github.com/madsen/io-html + https://metacpan.org/release/IO-HTML diff --git a/bsp/buildroot/package/perl-io-html/perl-io-html.hash b/bsp/buildroot/package/perl-io-html/perl-io-html.hash index 8d8c48d4..d8d865e8 100644 --- a/bsp/buildroot/package/perl-io-html/perl-io-html.hash +++ b/bsp/buildroot/package/perl-io-html/perl-io-html.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 3f8958718844dc96b9f6946f21d70d22 IO-HTML-1.001.tar.gz sha256 ea78d2d743794adc028bc9589538eb867174b4e165d7d8b5f63486e6b828e7e0 IO-HTML-1.001.tar.gz + +# computed by scancpan +sha256 b386f0545c17589141d98810dd46aa1c4a14d7028cae6bdd807969639ea7405e LICENSE diff --git a/bsp/buildroot/package/perl-io-html/perl-io-html.mk b/bsp/buildroot/package/perl-io-html/perl-io-html.mk index bb79f450..ae8c6405 100644 --- a/bsp/buildroot/package/perl-io-html/perl-io-html.mk +++ b/bsp/buildroot/package/perl-io-html/perl-io-html.mk @@ -9,5 +9,6 @@ PERL_IO_HTML_SOURCE = IO-HTML-$(PERL_IO_HTML_VERSION).tar.gz PERL_IO_HTML_SITE = $(BR2_CPAN_MIRROR)/authors/id/C/CJ/CJM PERL_IO_HTML_LICENSE = Artistic or GPL-1.0+ PERL_IO_HTML_LICENSE_FILES = LICENSE +PERL_IO_HTML_DISTNAME = IO-HTML $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-io-interface/Config.in b/bsp/buildroot/package/perl-io-interface/Config.in new file mode 100644 index 00000000..e3137b24 --- /dev/null +++ b/bsp/buildroot/package/perl-io-interface/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_IO_INTERFACE + bool "perl-io-interface" + depends on !BR2_STATIC_LIBS + help + Access and modify network interface card configuration. + + https://metacpan.org/release/IO-Interface + +comment "perl-io-interface needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-io-interface/perl-io-interface.hash b/bsp/buildroot/package/perl-io-interface/perl-io-interface.hash new file mode 100644 index 00000000..75e572f9 --- /dev/null +++ b/bsp/buildroot/package/perl-io-interface/perl-io-interface.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 806f97aff5a7361b6f54cd494f4cc9fd IO-Interface-1.09.tar.gz +sha256 e63e81c52eb1e0e60ec2d983f5552d2493e117179925c96757f23c4bd9fa713a IO-Interface-1.09.tar.gz + +# computed by scancpan +sha256 b5a5bf59bd1be13f7f498e5aa2ea5c0c603c04a095dcf03a06aa5b83bbccf921 LICENSE diff --git a/bsp/buildroot/package/perl-io-interface/perl-io-interface.mk b/bsp/buildroot/package/perl-io-interface/perl-io-interface.mk new file mode 100644 index 00000000..84e4d1a9 --- /dev/null +++ b/bsp/buildroot/package/perl-io-interface/perl-io-interface.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-io-interface +# +################################################################################ + +PERL_IO_INTERFACE_VERSION = 1.09 +PERL_IO_INTERFACE_SOURCE = IO-Interface-$(PERL_IO_INTERFACE_VERSION).tar.gz +PERL_IO_INTERFACE_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LD/LDS +PERL_IO_INTERFACE_DEPENDENCIES = host-perl-module-build +PERL_IO_INTERFACE_LICENSE = Artistic-2.0 +PERL_IO_INTERFACE_LICENSE_FILES = LICENSE +PERL_IO_INTERFACE_DISTNAME = IO-Interface + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-io-socket-multicast/Config.in b/bsp/buildroot/package/perl-io-socket-multicast/Config.in new file mode 100644 index 00000000..b1328c5b --- /dev/null +++ b/bsp/buildroot/package/perl-io-socket-multicast/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PERL_IO_SOCKET_MULTICAST + bool "perl-io-socket-multicast" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PERL_IO_INTERFACE # runtime + help + Send and receive multicast messages. + + https://metacpan.org/release/IO-Socket-Multicast + +comment "perl-io-socket-multicast needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.hash b/bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.hash new file mode 100644 index 00000000..c12da12c --- /dev/null +++ b/bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 c96e6cbb367b1d11ffe7bb9fbd833540 IO-Socket-Multicast-1.12.tar.gz +sha256 70e8af4aa21d19bab5edd9f43a6b3d6277748a65145d46ff0ea2ae4c59495c72 IO-Socket-Multicast-1.12.tar.gz + +# computed by scancpan +sha256 ea33bda0e2ec6734e29895a37cd1fc005d86f2abbe7e9943e0213ae64844a697 README diff --git a/bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.mk b/bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.mk new file mode 100644 index 00000000..a8c6896c --- /dev/null +++ b/bsp/buildroot/package/perl-io-socket-multicast/perl-io-socket-multicast.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-io-socket-multicast +# +################################################################################ + +PERL_IO_SOCKET_MULTICAST_VERSION = 1.12 +PERL_IO_SOCKET_MULTICAST_SOURCE = IO-Socket-Multicast-$(PERL_IO_SOCKET_MULTICAST_VERSION).tar.gz +PERL_IO_SOCKET_MULTICAST_SITE = $(BR2_CPAN_MIRROR)/authors/id/B/BR/BRAMBLE +PERL_IO_SOCKET_MULTICAST_LICENSE = Artistic or GPL-1.0+ +PERL_IO_SOCKET_MULTICAST_LICENSE_FILES = README +PERL_IO_SOCKET_MULTICAST_DISTNAME = IO-Socket-Multicast + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-io-socket-ssl/Config.in b/bsp/buildroot/package/perl-io-socket-ssl/Config.in index d24e568b..a7b94a39 100644 --- a/bsp/buildroot/package/perl-io-socket-ssl/Config.in +++ b/bsp/buildroot/package/perl-io-socket-ssl/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_IO_SOCKET_SSL bool "perl-io-socket-ssl" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PERL_NET_SSLEAY + select BR2_PACKAGE_PERL_NET_SSLEAY # runtime help Nearly transparent SSL encapsulation for IO::Socket::INET. diff --git a/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash b/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash index 3bf0421e..ad9e5ae4 100644 --- a/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash +++ b/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 26c9bcdfb4ba8763ef89264f21326a48 IO-Socket-SSL-2.052.tar.gz -sha256 e4897a9b17cb18a3c44aa683980d52cef534cdfcb8063d6877c879bfa2f26673 IO-Socket-SSL-2.052.tar.gz +md5 97fa6cd64f15db60f810cd8ab02d57fc IO-Socket-SSL-2.060.tar.gz +sha256 fb5b2877ac5b686a5d7b8dd71cf5464ffe75d10c32047b5570674870e46b1b8c IO-Socket-SSL-2.060.tar.gz + +# computed by scancpan +sha256 090aff5421fd55a9dceeaf6c612c36360402e8d29c1284aef88c87be565ce032 README diff --git a/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk b/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk index 62fc2298..e4857c70 100644 --- a/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk +++ b/bsp/buildroot/package/perl-io-socket-ssl/perl-io-socket-ssl.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_IO_SOCKET_SSL_VERSION = 2.052 +PERL_IO_SOCKET_SSL_VERSION = 2.060 PERL_IO_SOCKET_SSL_SOURCE = IO-Socket-SSL-$(PERL_IO_SOCKET_SSL_VERSION).tar.gz PERL_IO_SOCKET_SSL_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SU/SULLR -PERL_IO_SOCKET_SSL_DEPENDENCIES = perl-net-ssleay PERL_IO_SOCKET_SSL_LICENSE = Artistic or GPL-1.0+ PERL_IO_SOCKET_SSL_LICENSE_FILES = README +PERL_IO_SOCKET_SSL_DISTNAME = IO-Socket-SSL $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-json-maybexs/Config.in b/bsp/buildroot/package/perl-json-maybexs/Config.in new file mode 100644 index 00000000..7959b2c3 --- /dev/null +++ b/bsp/buildroot/package/perl-json-maybexs/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_JSON_MAYBEXS + bool "perl-json-maybexs" + help + Use Cpanel::JSON::XS with a fallback to JSON::XS and + JSON::PP. + + https://metacpan.org/release/JSON-MaybeXS diff --git a/bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.hash b/bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.hash new file mode 100644 index 00000000..c8bf172a --- /dev/null +++ b/bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 db61fb5515f8e2f19709a317e26dde42 JSON-MaybeXS-1.004000.tar.gz +sha256 59bda02e8f4474c73913723c608b539e2452e16c54ed7f0150c01aad06e0a126 JSON-MaybeXS-1.004000.tar.gz + +# computed by scancpan +sha256 d972e00126c5337e88d81d64fc349a3f4c54841075f4180a1145441d30c86f83 README diff --git a/bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.mk b/bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.mk new file mode 100644 index 00000000..cb6518b5 --- /dev/null +++ b/bsp/buildroot/package/perl-json-maybexs/perl-json-maybexs.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-json-maybexs +# +################################################################################ + +PERL_JSON_MAYBEXS_VERSION = 1.004000 +PERL_JSON_MAYBEXS_SOURCE = JSON-MaybeXS-$(PERL_JSON_MAYBEXS_VERSION).tar.gz +PERL_JSON_MAYBEXS_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG +PERL_JSON_MAYBEXS_LICENSE = Artistic or GPL-1.0+ +PERL_JSON_MAYBEXS_LICENSE_FILES = README +PERL_JSON_MAYBEXS_DISTNAME = JSON-MaybeXS + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.hash b/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.hash index 86478da9..48fae2b0 100644 --- a/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.hash +++ b/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 aa006882222e17a94295b3a655aab91b JSON-Tiny-0.58.tar.gz sha256 ad42e9137f5148df7fdb22aa52186b306032977bcd70d49f44a288070e4f0f23 JSON-Tiny-0.58.tar.gz + +# computed by scancpan +sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.mk b/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.mk index 6b45613c..886cff81 100644 --- a/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.mk +++ b/bsp/buildroot/package/perl-json-tiny/perl-json-tiny.mk @@ -9,5 +9,6 @@ PERL_JSON_TINY_SOURCE = JSON-Tiny-$(PERL_JSON_TINY_VERSION).tar.gz PERL_JSON_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAVIDO PERL_JSON_TINY_LICENSE = Artistic-2.0 PERL_JSON_TINY_LICENSE_FILES = LICENSE +PERL_JSON_TINY_DISTNAME = JSON-Tiny $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-libwww-perl/Config.in b/bsp/buildroot/package/perl-libwww-perl/Config.in index 09fc0054..6e191dd5 100644 --- a/bsp/buildroot/package/perl-libwww-perl/Config.in +++ b/bsp/buildroot/package/perl-libwww-perl/Config.in @@ -1,21 +1,21 @@ config BR2_PACKAGE_PERL_LIBWWW_PERL bool "perl-libwww-perl" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PERL_ENCODE_LOCALE - select BR2_PACKAGE_PERL_FILE_LISTING - select BR2_PACKAGE_PERL_HTML_PARSER - select BR2_PACKAGE_PERL_HTTP_COOKIES - select BR2_PACKAGE_PERL_HTTP_DAEMON - select BR2_PACKAGE_PERL_HTTP_DATE - select BR2_PACKAGE_PERL_HTTP_MESSAGE - select BR2_PACKAGE_PERL_HTTP_NEGOTIATE - select BR2_PACKAGE_PERL_LWP_MEDIATYPES - select BR2_PACKAGE_PERL_NET_HTTP - select BR2_PACKAGE_PERL_TRY_TINY - select BR2_PACKAGE_PERL_URI - select BR2_PACKAGE_PERL_WWW_ROBOTRULES + select BR2_PACKAGE_PERL_ENCODE_LOCALE # runtime + select BR2_PACKAGE_PERL_FILE_LISTING # runtime + select BR2_PACKAGE_PERL_HTML_PARSER # runtime + select BR2_PACKAGE_PERL_HTTP_COOKIES # runtime + select BR2_PACKAGE_PERL_HTTP_DAEMON # runtime + select BR2_PACKAGE_PERL_HTTP_DATE # runtime + select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime + select BR2_PACKAGE_PERL_HTTP_NEGOTIATE # runtime + select BR2_PACKAGE_PERL_LWP_MEDIATYPES # runtime + select BR2_PACKAGE_PERL_NET_HTTP # runtime + select BR2_PACKAGE_PERL_TRY_TINY # runtime + select BR2_PACKAGE_PERL_URI # runtime + select BR2_PACKAGE_PERL_WWW_ROBOTRULES # runtime help - The World-Wide Web library for Perl + The World-Wide Web library for Perl. https://github.com/libwww-perl/libwww-perl diff --git a/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash b/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash index 7ce08530..b6d8382a 100644 --- a/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash +++ b/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 688284bc6282562948c6916f9e8563b0 libwww-perl-6.31.tar.gz -sha256 525d5386d39d1c1d7da8a0e9dd0cbab95cba2a4bfcfd9b83b257f49be4eecae3 libwww-perl-6.31.tar.gz +md5 20062717e4084d2f56d84c7ab4c91ec1 libwww-perl-6.36.tar.gz +sha256 75c034ab4b37f4b9506dc644300697505582cf9545bcf2e2079e7263f675290a libwww-perl-6.36.tar.gz + +# computed by scancpan +sha256 e84ac5ab84ace59952d2640e0ca4522eb0aaa8c2aa696352d1252aa109ea20bc LICENSE diff --git a/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk b/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk index cdff6b41..c3367e10 100644 --- a/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk +++ b/bsp/buildroot/package/perl-libwww-perl/perl-libwww-perl.mk @@ -4,24 +4,11 @@ # ################################################################################ -PERL_LIBWWW_PERL_VERSION = 6.31 +PERL_LIBWWW_PERL_VERSION = 6.36 PERL_LIBWWW_PERL_SOURCE = libwww-perl-$(PERL_LIBWWW_PERL_VERSION).tar.gz PERL_LIBWWW_PERL_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER -PERL_LIBWWW_PERL_DEPENDENCIES = \ - perl-encode-locale \ - perl-file-listing \ - perl-html-parser \ - perl-http-cookies \ - perl-http-daemon \ - perl-http-date \ - perl-http-message \ - perl-http-negotiate \ - perl-lwp-mediatypes \ - perl-net-http \ - perl-try-tiny \ - perl-uri \ - perl-www-robotrules PERL_LIBWWW_PERL_LICENSE = Artistic or GPL-1.0+ PERL_LIBWWW_PERL_LICENSE_FILES = LICENSE +PERL_LIBWWW_PERL_DISTNAME = libwww-perl $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-lwp-mediatypes/Config.in b/bsp/buildroot/package/perl-lwp-mediatypes/Config.in index ae2056ad..48810901 100644 --- a/bsp/buildroot/package/perl-lwp-mediatypes/Config.in +++ b/bsp/buildroot/package/perl-lwp-mediatypes/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_PERL_LWP_MEDIATYPES bool "perl-lwp-mediatypes" help - This module provides functions for handling media (also - known as MIME) types and encodings. + guess media type for a file or a URL. - https://github.com/gisle/lwp-mediatypes + https://metacpan.org/release/LWP-MediaTypes diff --git a/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash b/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash index 0f6fee92..b459bb06 100644 --- a/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash +++ b/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 8c5f25fb64b974d22aff424476ba13c9 LWP-MediaTypes-6.02.tar.gz sha256 18790b0cc5f0a51468495c3847b16738f785a2d460403595001e0b932e5db676 LWP-MediaTypes-6.02.tar.gz + +# computed by scancpan +sha256 0844071ccbc184e7376c61051986c0b7bc3f0e6094c052ceaafd3d057673c17d README diff --git a/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk b/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk index bcf4e5f7..3ba2abc8 100644 --- a/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk +++ b/bsp/buildroot/package/perl-lwp-mediatypes/perl-lwp-mediatypes.mk @@ -9,5 +9,6 @@ PERL_LWP_MEDIATYPES_SOURCE = LWP-MediaTypes-$(PERL_LWP_MEDIATYPES_VERSION).tar.g PERL_LWP_MEDIATYPES_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_LWP_MEDIATYPES_LICENSE = Artistic or GPL-1.0+ PERL_LWP_MEDIATYPES_LICENSE_FILES = README +PERL_LWP_MEDIATYPES_DISTNAME = LWP-MediaTypes $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mail-dkim/Config.in b/bsp/buildroot/package/perl-mail-dkim/Config.in index 3db54f3c..057796b5 100644 --- a/bsp/buildroot/package/perl-mail-dkim/Config.in +++ b/bsp/buildroot/package/perl-mail-dkim/Config.in @@ -1,11 +1,11 @@ config BR2_PACKAGE_PERL_MAIL_DKIM bool "perl-mail-dkim" depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_PERL_CRYPT_OPENSSL_RSA - select BR2_PACKAGE_PERL_MAILTOOLS - select BR2_PACKAGE_PERL_NET_DNS + select BR2_PACKAGE_PERL_CRYPT_OPENSSL_RSA # runtime + select BR2_PACKAGE_PERL_MAILTOOLS # runtime + select BR2_PACKAGE_PERL_NET_DNS # runtime help - Signs/verifies Internet mail with DKIM/DomainKey signatures + Signs/verifies Internet mail with DKIM/DomainKey signatures. https://metacpan.org/release/Mail-DKIM diff --git a/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash b/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash index c40e66e9..6d0b0797 100644 --- a/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash +++ b/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.hash @@ -1,3 +1,3 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 60ebe54760f6633f07b25228272b9473 Mail-DKIM-0.42.tar.gz -sha256 f4e3a6344517aeee9a7516c0f58197f41dce81461f74ce9ba8401a143aa2577c Mail-DKIM-0.42.tar.gz +md5 7f65cb291545aa10fa9d0d87d0e8d1d2 Mail-DKIM-0.54.tar.gz +sha256 b72f78c80f7aa1bdb2a80986b45f9225a8fa0b7c91644590b102a78eb31c3dca Mail-DKIM-0.54.tar.gz diff --git a/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk b/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk index e088ecf1..986df27c 100644 --- a/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk +++ b/bsp/buildroot/package/perl-mail-dkim/perl-mail-dkim.mk @@ -4,9 +4,9 @@ # ################################################################################ -PERL_MAIL_DKIM_VERSION = 0.42 +PERL_MAIL_DKIM_VERSION = 0.54 PERL_MAIL_DKIM_SOURCE = Mail-DKIM-$(PERL_MAIL_DKIM_VERSION).tar.gz PERL_MAIL_DKIM_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MB/MBRADSHAW -PERL_MAIL_DKIM_DEPENDENCIES = perl-crypt-openssl-rsa perl-mailtools perl-net-dns +PERL_MAIL_DKIM_DISTNAME = Mail-DKIM $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mailtools/Config.in b/bsp/buildroot/package/perl-mailtools/Config.in index 2123c61e..a442e719 100644 --- a/bsp/buildroot/package/perl-mailtools/Config.in +++ b/bsp/buildroot/package/perl-mailtools/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_MAILTOOLS bool "perl-mailtools" - select BR2_PACKAGE_PERL_TIMEDATE + select BR2_PACKAGE_PERL_TIMEDATE # runtime help - Various ancient e-mail related modules + Various ancient e-mail related modules. https://metacpan.org/release/MailTools diff --git a/bsp/buildroot/package/perl-mailtools/perl-mailtools.hash b/bsp/buildroot/package/perl-mailtools/perl-mailtools.hash index cb33453e..1db4772f 100644 --- a/bsp/buildroot/package/perl-mailtools/perl-mailtools.hash +++ b/bsp/buildroot/package/perl-mailtools/perl-mailtools.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 a00b9d3c3dec64bd15de8c50f1b73d05 MailTools-2.19.tar.gz -sha256 c17ed702efea8eab56fe92961c07cd4980cee26ca6f13aff2688dc8af69c5e1a MailTools-2.19.tar.gz +md5 53e9d35256c3fd7cef0e4a24b15e9512 MailTools-2.20.tar.gz +sha256 f55606f7a9cc342ee9d5f996e2b6a4c0047e2ee47cd88c3250ecf0d0c5fb3196 MailTools-2.20.tar.gz + +# computed by scancpan +sha256 734d5b1bd212de832aea99e94c98d56217ea9519d900a29c0547538f596a9b26 README diff --git a/bsp/buildroot/package/perl-mailtools/perl-mailtools.mk b/bsp/buildroot/package/perl-mailtools/perl-mailtools.mk index 75079f9e..ef58849b 100644 --- a/bsp/buildroot/package/perl-mailtools/perl-mailtools.mk +++ b/bsp/buildroot/package/perl-mailtools/perl-mailtools.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_MAILTOOLS_VERSION = 2.19 +PERL_MAILTOOLS_VERSION = 2.20 PERL_MAILTOOLS_SOURCE = MailTools-$(PERL_MAILTOOLS_VERSION).tar.gz PERL_MAILTOOLS_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MA/MARKOV -PERL_MAILTOOLS_DEPENDENCIES = perl-timedate PERL_MAILTOOLS_LICENSE = Artistic or GPL-1.0+ PERL_MAILTOOLS_LICENSE_FILES = README +PERL_MAILTOOLS_DISTNAME = MailTools $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mime-base64-urlsafe/Config.in b/bsp/buildroot/package/perl-mime-base64-urlsafe/Config.in new file mode 100644 index 00000000..be4540a4 --- /dev/null +++ b/bsp/buildroot/package/perl-mime-base64-urlsafe/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_MIME_BASE64_URLSAFE + bool "perl-mime-base64-urlsafe" + help + Perl version of Python's URL-safe base64 codec. + + https://metacpan.org/release/MIME-Base64-URLSafe diff --git a/bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash b/bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash new file mode 100644 index 00000000..c6d01afe --- /dev/null +++ b/bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 eccf42cc7e9576dd23b9f39ad59c9b62 MIME-Base64-URLSafe-0.01.tar.gz +sha256 cb9966c50538bb676ab67bc40a7c841019b23ba2243d0ffcc2ccf084e5c33798 MIME-Base64-URLSafe-0.01.tar.gz + +# computed by scancpan +sha256 2fffac76f75709b6d94111a37f6cd8cab21e8f2b2de73b0b4fa53a5bed4efc15 README diff --git a/bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk b/bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk new file mode 100644 index 00000000..1a6a36ee --- /dev/null +++ b/bsp/buildroot/package/perl-mime-base64-urlsafe/perl-mime-base64-urlsafe.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-mime-base64-urlsafe +# +################################################################################ + +PERL_MIME_BASE64_URLSAFE_VERSION = 0.01 +PERL_MIME_BASE64_URLSAFE_SOURCE = MIME-Base64-URLSafe-$(PERL_MIME_BASE64_URLSAFE_VERSION).tar.gz +PERL_MIME_BASE64_URLSAFE_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZUHO +PERL_MIME_BASE64_URLSAFE_LICENSE = Artistic or GPL-1.0+ +PERL_MIME_BASE64_URLSAFE_LICENSE_FILES = README +PERL_MIME_BASE64_URLSAFE_DISTNAME = MIME-Base64-URLSafe + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mime-base64/Config.in b/bsp/buildroot/package/perl-mime-base64/Config.in index 70225985..ecb3d2ee 100644 --- a/bsp/buildroot/package/perl-mime-base64/Config.in +++ b/bsp/buildroot/package/perl-mime-base64/Config.in @@ -2,10 +2,9 @@ config BR2_PACKAGE_PERL_MIME_BASE64 bool "perl-mime-base64" depends on !BR2_STATIC_LIBS help - This package contains a base64 encoder/decoder and a - quoted-printable encoder/decoder. + The RFC 2045 encodings; base64 and quoted-printable. - http://github.com/gisle/mime-base64 + https://metacpan.org/release/MIME-Base64 comment "perl-mime-base64 needs a toolchain w/ dynamic library" depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.hash b/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.hash index 0cfe598c..77bd7b06 100644 --- a/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.hash +++ b/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 ef958dc2bf96be5f759391c6ac1debd4 MIME-Base64-3.15.tar.gz sha256 7f863566a6a9cb93eda93beadb77d9aa04b9304d769cea3bb921b9a91b3a1eb9 MIME-Base64-3.15.tar.gz + +# computed by scancpan +sha256 08e6898e3d62619e83880832ec42ae8a2984257e4c244843db9d3b9b7fcff236 README diff --git a/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.mk b/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.mk index e7febe19..201707d4 100644 --- a/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.mk +++ b/bsp/buildroot/package/perl-mime-base64/perl-mime-base64.mk @@ -9,5 +9,6 @@ PERL_MIME_BASE64_SOURCE = MIME-Base64-$(PERL_MIME_BASE64_VERSION).tar.gz PERL_MIME_BASE64_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS PERL_MIME_BASE64_LICENSE = Artistic or GPL-1.0+ PERL_MIME_BASE64_LICENSE_FILES = README +PERL_MIME_BASE64_DISTNAME = MIME-Base64 $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mime-tools/Config.in b/bsp/buildroot/package/perl-mime-tools/Config.in new file mode 100644 index 00000000..f8495c32 --- /dev/null +++ b/bsp/buildroot/package/perl-mime-tools/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_MIME_TOOLS + bool "perl-mime-tools" + select BR2_PACKAGE_PERL_MAILTOOLS # runtime + help + Tools to manipulate MIME messages. + + https://metacpan.org/release/MIME-tools diff --git a/bsp/buildroot/package/perl-mime-tools/perl-mime-tools.hash b/bsp/buildroot/package/perl-mime-tools/perl-mime-tools.hash new file mode 100644 index 00000000..41e13eb0 --- /dev/null +++ b/bsp/buildroot/package/perl-mime-tools/perl-mime-tools.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 a2f0e07da2ff4b0478908544cc4b40fa MIME-tools-5.509.tar.gz +sha256 64579f0c923d81d9a2194586e47c3475519e2646e4b5c102a8920759facf6973 MIME-tools-5.509.tar.gz + +# computed by scancpan +sha256 151cd94e37eb05239c5a678c7d1c4d9d5241a7c9c138760b85152bc1947e2b93 COPYING diff --git a/bsp/buildroot/package/perl-mime-tools/perl-mime-tools.mk b/bsp/buildroot/package/perl-mime-tools/perl-mime-tools.mk new file mode 100644 index 00000000..10279d73 --- /dev/null +++ b/bsp/buildroot/package/perl-mime-tools/perl-mime-tools.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-mime-tools +# +################################################################################ + +PERL_MIME_TOOLS_VERSION = 5.509 +PERL_MIME_TOOLS_SOURCE = MIME-tools-$(PERL_MIME_TOOLS_VERSION).tar.gz +PERL_MIME_TOOLS_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DS/DSKOLL +PERL_MIME_TOOLS_LICENSE = Artistic or GPL-1.0+ +PERL_MIME_TOOLS_LICENSE_FILES = COPYING +PERL_MIME_TOOLS_DISTNAME = MIME-tools + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.hash b/bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.hash new file mode 100644 index 00000000..357c238d --- /dev/null +++ b/bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 2332c90c17454107fea3f2614e11a3a9 Module-Build-Tiny-0.039.tar.gz +sha256 7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c Module-Build-Tiny-0.039.tar.gz + +# computed by scancpan +sha256 09fd2bc0428920c455f10c5a6c52e2bb4615114e88966c75ce27a07af028c36b LICENSE diff --git a/bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.mk b/bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.mk new file mode 100644 index 00000000..cdf6ac3e --- /dev/null +++ b/bsp/buildroot/package/perl-module-build-tiny/perl-module-build-tiny.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# perl-module-build-tiny +# +################################################################################ + +PERL_MODULE_BUILD_TINY_VERSION = 0.039 +PERL_MODULE_BUILD_TINY_SOURCE = Module-Build-Tiny-$(PERL_MODULE_BUILD_TINY_VERSION).tar.gz +PERL_MODULE_BUILD_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT +HOST_PERL_MODULE_BUILD_TINY_DEPENDENCIES = \ + host-perl-extutils-config \ + host-perl-extutils-helpers \ + host-perl-extutils-installpaths +PERL_MODULE_BUILD_TINY_LICENSE = Artistic or GPL-1.0+ +PERL_MODULE_BUILD_TINY_LICENSE_FILES = LICENSE +PERL_MODULE_BUILD_TINY_DISTNAME = Module-Build-Tiny + +$(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-module-build/perl-module-build.hash b/bsp/buildroot/package/perl-module-build/perl-module-build.hash index 17e8b4e5..fa0f2231 100644 --- a/bsp/buildroot/package/perl-module-build/perl-module-build.hash +++ b/bsp/buildroot/package/perl-module-build/perl-module-build.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 b74c2f6e84b60aad3a3defd30b6f0f4d Module-Build-0.4224.tar.gz sha256 a6ca15d78244a7b50fdbf27f85c85f4035aa799ce7dd018a0d98b358ef7bc782 Module-Build-0.4224.tar.gz + +# computed by scancpan +sha256 f35ac2cc6b808a38c42c2d230b875217b0a24bb51e5a497ebb630cbb3d806c3e LICENSE diff --git a/bsp/buildroot/package/perl-module-build/perl-module-build.mk b/bsp/buildroot/package/perl-module-build/perl-module-build.mk index 42c9c111..caf68f7f 100644 --- a/bsp/buildroot/package/perl-module-build/perl-module-build.mk +++ b/bsp/buildroot/package/perl-module-build/perl-module-build.mk @@ -9,5 +9,6 @@ PERL_MODULE_BUILD_SOURCE = Module-Build-$(PERL_MODULE_BUILD_VERSION).tar.gz PERL_MODULE_BUILD_SITE = $(BR2_CPAN_MIRROR)/authors/id/L/LE/LEONT PERL_MODULE_BUILD_LICENSE = Artistic or GPL-1.0+ PERL_MODULE_BUILD_LICENSE_FILES = LICENSE +PERL_MODULE_BUILD_DISTNAME = Module-Build $(eval $(host-perl-package)) diff --git a/bsp/buildroot/package/perl-module-implementation/Config.in b/bsp/buildroot/package/perl-module-implementation/Config.in new file mode 100644 index 00000000..04561dea --- /dev/null +++ b/bsp/buildroot/package/perl-module-implementation/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PERL_MODULE_IMPLEMENTATION + bool "perl-module-implementation" + select BR2_PACKAGE_PERL_MODULE_RUNTIME # runtime + select BR2_PACKAGE_PERL_TRY_TINY # runtime + help + Loads one of several alternate underlying implementations for + a module. + + http://metacpan.org/release/Module-Implementation diff --git a/bsp/buildroot/package/perl-module-implementation/perl-module-implementation.hash b/bsp/buildroot/package/perl-module-implementation/perl-module-implementation.hash new file mode 100644 index 00000000..caf365c0 --- /dev/null +++ b/bsp/buildroot/package/perl-module-implementation/perl-module-implementation.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 52e3fe0ca6b1eff0488d59b7aacc0667 Module-Implementation-0.09.tar.gz +sha256 c15f1a12f0c2130c9efff3c2e1afe5887b08ccd033bd132186d1e7d5087fd66d Module-Implementation-0.09.tar.gz + +# computed by scancpan +sha256 dd34e4dbcadfaa3db992201873e1cbb4b4f4c18e9bf000821d5c768e66d7ff0b LICENSE diff --git a/bsp/buildroot/package/perl-module-implementation/perl-module-implementation.mk b/bsp/buildroot/package/perl-module-implementation/perl-module-implementation.mk new file mode 100644 index 00000000..7cf7cbb2 --- /dev/null +++ b/bsp/buildroot/package/perl-module-implementation/perl-module-implementation.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-module-implementation +# +################################################################################ + +PERL_MODULE_IMPLEMENTATION_VERSION = 0.09 +PERL_MODULE_IMPLEMENTATION_SOURCE = Module-Implementation-$(PERL_MODULE_IMPLEMENTATION_VERSION).tar.gz +PERL_MODULE_IMPLEMENTATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DR/DROLSKY +PERL_MODULE_IMPLEMENTATION_LICENSE = Artistic-2.0 +PERL_MODULE_IMPLEMENTATION_LICENSE_FILES = LICENSE +PERL_MODULE_IMPLEMENTATION_DISTNAME = Module-Implementation + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-module-runtime/Config.in b/bsp/buildroot/package/perl-module-runtime/Config.in new file mode 100644 index 00000000..1db03e5b --- /dev/null +++ b/bsp/buildroot/package/perl-module-runtime/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_MODULE_RUNTIME + bool "perl-module-runtime" + help + runtime module handling. + + https://metacpan.org/release/Module-Runtime diff --git a/bsp/buildroot/package/perl-module-runtime/perl-module-runtime.hash b/bsp/buildroot/package/perl-module-runtime/perl-module-runtime.hash new file mode 100644 index 00000000..c52cb755 --- /dev/null +++ b/bsp/buildroot/package/perl-module-runtime/perl-module-runtime.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 d3d47222fa2e3dfcb4526f6cc8437b20 Module-Runtime-0.016.tar.gz +sha256 68302ec646833547d410be28e09676db75006f4aa58a11f3bdb44ffe99f0f024 Module-Runtime-0.016.tar.gz + +# computed by scancpan +sha256 ad1761020436687e8493208336ef53e84589fdba212da59b05b8111cca75ddc1 README diff --git a/bsp/buildroot/package/perl-module-runtime/perl-module-runtime.mk b/bsp/buildroot/package/perl-module-runtime/perl-module-runtime.mk new file mode 100644 index 00000000..dcf045cf --- /dev/null +++ b/bsp/buildroot/package/perl-module-runtime/perl-module-runtime.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-module-runtime +# +################################################################################ + +PERL_MODULE_RUNTIME_VERSION = 0.016 +PERL_MODULE_RUNTIME_SOURCE = Module-Runtime-$(PERL_MODULE_RUNTIME_VERSION).tar.gz +PERL_MODULE_RUNTIME_SITE = $(BR2_CPAN_MIRROR)/authors/id/Z/ZE/ZEFRAM +PERL_MODULE_RUNTIME_DEPENDENCIES = host-perl-module-build +PERL_MODULE_RUNTIME_LICENSE = Artistic or GPL-1.0+ +PERL_MODULE_RUNTIME_LICENSE_FILES = README +PERL_MODULE_RUNTIME_DISTNAME = Module-Runtime + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mojolicious-plugin-authentication/Config.in b/bsp/buildroot/package/perl-mojolicious-plugin-authentication/Config.in new file mode 100644 index 00000000..4fa01806 --- /dev/null +++ b/bsp/buildroot/package/perl-mojolicious-plugin-authentication/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION + bool "perl-mojolicious-plugin-authentication" + select BR2_PACKAGE_PERL_MOJOLICIOUS # runtime + help + A plugin to make authentication a bit easier. + + https://metacpan.org/release/Mojolicious-Plugin-Authentication diff --git a/bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash b/bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash new file mode 100644 index 00000000..f225ff48 --- /dev/null +++ b/bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 b318be1e1e50e7595baee639b2964565 Mojolicious-Plugin-Authentication-1.33.tar.gz +sha256 1c32dffc88a683ba3b2719f34bc52fb9c5c5fb2f1276bbd30136bfad0ac262bc Mojolicious-Plugin-Authentication-1.33.tar.gz + +# computed by scancpan +sha256 59727ac57166e9891175d8247a8ea47d4aeb24a0dc1e24011b773d139481b135 LICENSE diff --git a/bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk b/bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk new file mode 100644 index 00000000..cce12314 --- /dev/null +++ b/bsp/buildroot/package/perl-mojolicious-plugin-authentication/perl-mojolicious-plugin-authentication.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-mojolicious-plugin-authentication +# +################################################################################ + +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION = 1.33 +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SOURCE = Mojolicious-Plugin-Authentication-$(PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_VERSION).tar.gz +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JJ/JJATRIA +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_LICENSE = Artistic or GPL-1.0+ +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_LICENSE_FILES = LICENSE +PERL_MOJOLICIOUS_PLUGIN_AUTHENTICATION_DISTNAME = Mojolicious-Plugin-Authentication + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-mojolicious/Config.in b/bsp/buildroot/package/perl-mojolicious/Config.in index ebf0932b..8bcce5f0 100644 --- a/bsp/buildroot/package/perl-mojolicious/Config.in +++ b/bsp/buildroot/package/perl-mojolicious/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_MOJOLICIOUS bool "perl-mojolicious" help - Real-time web framework + Real-time web framework. - http://mojolicious.org + https://mojolicious.org diff --git a/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.hash b/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.hash index 0593a3cc..e2eb158b 100644 --- a/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.hash +++ b/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 47d198ea987b4913818c24107cd9673d Mojolicious-7.61.tar.gz -sha256 386ade41021bf0470879a0abceeccc305f773b41b76245cc3cdce92d7dc8897d Mojolicious-7.61.tar.gz +md5 00419dac75fec23d06fe8695e4bde303 Mojolicious-8.11.tar.gz +sha256 d95f42aa901b9aba96880dae53fd77d89690cca65635ff93a47885a2c7b312f2 Mojolicious-8.11.tar.gz + +# computed by scancpan +sha256 19e2e0f2079ea1ce1576eb4ecc0575b33fe45b2b8e71f4aa589d6bedd1da4e0a LICENSE diff --git a/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.mk b/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.mk index 4e94c47a..4ff942ce 100644 --- a/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.mk +++ b/bsp/buildroot/package/perl-mojolicious/perl-mojolicious.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_MOJOLICIOUS_VERSION = 7.61 +PERL_MOJOLICIOUS_VERSION = 8.11 PERL_MOJOLICIOUS_SOURCE = Mojolicious-$(PERL_MOJOLICIOUS_VERSION).tar.gz PERL_MOJOLICIOUS_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SR/SRI PERL_MOJOLICIOUS_LICENSE = Artistic-2.0 PERL_MOJOLICIOUS_LICENSE_FILES = LICENSE +PERL_MOJOLICIOUS_DISTNAME = Mojolicious $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-moo/Config.in b/bsp/buildroot/package/perl-moo/Config.in new file mode 100644 index 00000000..141b95ca --- /dev/null +++ b/bsp/buildroot/package/perl-moo/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PERL_MOO + bool "perl-moo" + select BR2_PACKAGE_PERL_CLASS_METHOD_MODIFIERS # runtime + select BR2_PACKAGE_PERL_DEVEL_GLOBALDESTRUCTION # runtime + select BR2_PACKAGE_PERL_MODULE_RUNTIME # runtime + select BR2_PACKAGE_PERL_ROLE_TINY # runtime + select BR2_PACKAGE_PERL_SUB_QUOTE # runtime + help + Minimalist Object Orientation (with Moose compatibility). + + https://metacpan.org/release/Moo diff --git a/bsp/buildroot/package/perl-moo/perl-moo.hash b/bsp/buildroot/package/perl-moo/perl-moo.hash new file mode 100644 index 00000000..509a9ea4 --- /dev/null +++ b/bsp/buildroot/package/perl-moo/perl-moo.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 d4fcd0f240033198571fcc81ce7c5f15 Moo-2.003004.tar.gz +sha256 f8bbb625f8e963eabe05cff9048fdd72bdd26777404ff2c40bc690f558be91e1 Moo-2.003004.tar.gz + +# computed by scancpan +sha256 3fe29ec1d93827ee69825ed4bf916cc5ce4e7bf0b940ec6dd2d4ed30f4755dc3 README diff --git a/bsp/buildroot/package/perl-moo/perl-moo.mk b/bsp/buildroot/package/perl-moo/perl-moo.mk new file mode 100644 index 00000000..64e8d748 --- /dev/null +++ b/bsp/buildroot/package/perl-moo/perl-moo.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-moo +# +################################################################################ + +PERL_MOO_VERSION = 2.003004 +PERL_MOO_SOURCE = Moo-$(PERL_MOO_VERSION).tar.gz +PERL_MOO_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG +PERL_MOO_LICENSE = Artistic or GPL-1.0+ +PERL_MOO_LICENSE_FILES = README +PERL_MOO_DISTNAME = Moo + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-net-dns/Config.in b/bsp/buildroot/package/perl-net-dns/Config.in index c156505c..cf686554 100644 --- a/bsp/buildroot/package/perl-net-dns/Config.in +++ b/bsp/buildroot/package/perl-net-dns/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_NET_DNS bool "perl-net-dns" - select BR2_PACKAGE_PERL_DIGEST_HMAC + select BR2_PACKAGE_PERL_DIGEST_HMAC # runtime help - Perl Interface to the Domain Name System + Perl Interface to the Domain Name System. https://metacpan.org/release/Net-DNS diff --git a/bsp/buildroot/package/perl-net-dns/perl-net-dns.hash b/bsp/buildroot/package/perl-net-dns/perl-net-dns.hash index 1572a9f3..2a30ea7b 100644 --- a/bsp/buildroot/package/perl-net-dns/perl-net-dns.hash +++ b/bsp/buildroot/package/perl-net-dns/perl-net-dns.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 0da1099c0a3548d36ea9e31d5bb9e122 Net-DNS-1.14.tar.gz -sha256 83c38a594eeb2c85d66e60047a0f5b403f34bd92a5d13606f02e828d450299fc Net-DNS-1.14.tar.gz +md5 8a40402888487b853f861d21433f341a Net-DNS-1.19.tar.gz +sha256 206278bdd9a538bec3e45b50e80cc5a9d7dc6e70ebf0889ef78254f0f710ccd7 Net-DNS-1.19.tar.gz + +# computed by scancpan +sha256 afa7d288df3e3edbdb34790407ba4a9c7750c2746059d9355f4168bfb3212583 README diff --git a/bsp/buildroot/package/perl-net-dns/perl-net-dns.mk b/bsp/buildroot/package/perl-net-dns/perl-net-dns.mk index 0066a31b..31db330b 100644 --- a/bsp/buildroot/package/perl-net-dns/perl-net-dns.mk +++ b/bsp/buildroot/package/perl-net-dns/perl-net-dns.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_DNS_VERSION = 1.14 +PERL_NET_DNS_VERSION = 1.19 PERL_NET_DNS_SOURCE = Net-DNS-$(PERL_NET_DNS_VERSION).tar.gz PERL_NET_DNS_SITE = $(BR2_CPAN_MIRROR)/authors/id/N/NL/NLNETLABS -PERL_NET_DNS_DEPENDENCIES = perl-digest-hmac PERL_NET_DNS_LICENSE = MIT PERL_NET_DNS_LICENSE_FILES = README +PERL_NET_DNS_DISTNAME = Net-DNS $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-net-http/Config.in b/bsp/buildroot/package/perl-net-http/Config.in index 63215772..c09f3843 100644 --- a/bsp/buildroot/package/perl-net-http/Config.in +++ b/bsp/buildroot/package/perl-net-http/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_PERL_NET_HTTP bool "perl-net-http" - select BR2_PACKAGE_PERL_URI + select BR2_PACKAGE_PERL_URI # runtime help - Low-level HTTP connection (client) + Low-level HTTP connection (client). https://github.com/libwww-perl/Net-HTTP diff --git a/bsp/buildroot/package/perl-net-http/perl-net-http.hash b/bsp/buildroot/package/perl-net-http/perl-net-http.hash index ff59a0d9..0dd99649 100644 --- a/bsp/buildroot/package/perl-net-http/perl-net-http.hash +++ b/bsp/buildroot/package/perl-net-http/perl-net-http.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 068fa02fd3c8a5b63316025b5a24844c Net-HTTP-6.17.tar.gz -sha256 1e8624b1618dc6f7f605f5545643ebb9b833930f4d7485d4124aa2f2f26d1611 Net-HTTP-6.17.tar.gz +md5 6da11a7db0e933b7684148e1fb32006a Net-HTTP-6.18.tar.gz +sha256 7e42df2db7adce3e0eb4f78b88c450f453f5380f120fd5411232e03374ba951c Net-HTTP-6.18.tar.gz + +# computed by scancpan +sha256 49fbcc80e17295888b909176a0029f275a8c17b6cbfaf8867fe571ebe9a9ca79 LICENSE diff --git a/bsp/buildroot/package/perl-net-http/perl-net-http.mk b/bsp/buildroot/package/perl-net-http/perl-net-http.mk index f13614e3..da65450e 100644 --- a/bsp/buildroot/package/perl-net-http/perl-net-http.mk +++ b/bsp/buildroot/package/perl-net-http/perl-net-http.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_NET_HTTP_VERSION = 6.17 +PERL_NET_HTTP_VERSION = 6.18 PERL_NET_HTTP_SOURCE = Net-HTTP-$(PERL_NET_HTTP_VERSION).tar.gz PERL_NET_HTTP_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS -PERL_NET_HTTP_DEPENDENCIES = perl-uri PERL_NET_HTTP_LICENSE = Artistic or GPL-1.0+ PERL_NET_HTTP_LICENSE_FILES = LICENSE +PERL_NET_HTTP_DISTNAME = Net-HTTP $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-net-ping/Config.in b/bsp/buildroot/package/perl-net-ping/Config.in new file mode 100644 index 00000000..21239a09 --- /dev/null +++ b/bsp/buildroot/package/perl-net-ping/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_NET_PING + bool "perl-net-ping" + help + check a remote host for reachability. + + https://metacpan.org/release/Net-Ping diff --git a/bsp/buildroot/package/perl-net-ping/perl-net-ping.hash b/bsp/buildroot/package/perl-net-ping/perl-net-ping.hash new file mode 100644 index 00000000..c3bff033 --- /dev/null +++ b/bsp/buildroot/package/perl-net-ping/perl-net-ping.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 58110451d15d27b46ebc6a53f1697ff1 Net-Ping-2.71.tar.gz +sha256 0819d0aa87b173e98ecb3ccfd92272ce53c7fc9e86f962f64602a6fa477f7d4f Net-Ping-2.71.tar.gz + +# computed by scancpan +sha256 9441a22309a2b40ff1282ac1906c137f07f5e521e7b1ec162b251f6006051b47 README diff --git a/bsp/buildroot/package/perl-net-ping/perl-net-ping.mk b/bsp/buildroot/package/perl-net-ping/perl-net-ping.mk new file mode 100644 index 00000000..5e8f53be --- /dev/null +++ b/bsp/buildroot/package/perl-net-ping/perl-net-ping.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-net-ping +# +################################################################################ + +PERL_NET_PING_VERSION = 2.71 +PERL_NET_PING_SOURCE = Net-Ping-$(PERL_NET_PING_VERSION).tar.gz +PERL_NET_PING_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RU/RURBAN +PERL_NET_PING_LICENSE = Artistic or GPL-1.0+ +PERL_NET_PING_LICENSE_FILES = README +PERL_NET_PING_DISTNAME = Net-Ping + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-net-snmp/Config.in b/bsp/buildroot/package/perl-net-snmp/Config.in new file mode 100644 index 00000000..850cd9ba --- /dev/null +++ b/bsp/buildroot/package/perl-net-snmp/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_NET_SNMP + bool "perl-net-snmp" + help + Object oriented interface to SNMP. + + https://metacpan.org/release/Net-SNMP diff --git a/bsp/buildroot/package/perl-net-snmp/perl-net-snmp.hash b/bsp/buildroot/package/perl-net-snmp/perl-net-snmp.hash new file mode 100644 index 00000000..0b162e6d --- /dev/null +++ b/bsp/buildroot/package/perl-net-snmp/perl-net-snmp.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 6137f04f9942d703f66179f890e3d096 Net-SNMP-v6.0.1.tar.gz +sha256 14c37bc1cbb3f3cdc7d6c13e0f27a859f14cdcfd5ea54a0467a88bc259b0b741 Net-SNMP-v6.0.1.tar.gz + +# computed by scancpan +sha256 a038159be54a2807dc48e2b946514d59fceab6737d5461d93d55297a98e6e24e LICENSE diff --git a/bsp/buildroot/package/perl-net-snmp/perl-net-snmp.mk b/bsp/buildroot/package/perl-net-snmp/perl-net-snmp.mk new file mode 100644 index 00000000..ae8607e4 --- /dev/null +++ b/bsp/buildroot/package/perl-net-snmp/perl-net-snmp.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-net-snmp +# +################################################################################ + +PERL_NET_SNMP_VERSION = v6.0.1 +PERL_NET_SNMP_SOURCE = Net-SNMP-$(PERL_NET_SNMP_VERSION).tar.gz +PERL_NET_SNMP_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DT/DTOWN +PERL_NET_SNMP_DEPENDENCIES = host-perl-module-build +PERL_NET_SNMP_LICENSE = Artistic or GPL-1.0+ +PERL_NET_SNMP_LICENSE_FILES = LICENSE +PERL_NET_SNMP_DISTNAME = Net-SNMP + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-net-ssh2/Config.in b/bsp/buildroot/package/perl-net-ssh2/Config.in new file mode 100644 index 00000000..4dfd6e1d --- /dev/null +++ b/bsp/buildroot/package/perl-net-ssh2/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_PERL_NET_SSH2 + bool "perl-net-ssh2" + depends on !BR2_STATIC_LIBS + depends on BR2_PACKAGE_LIBSSH2_OPENSSL || BR2_PACKAGE_LIBSSH2_LIBGCRYPT + select BR2_PACKAGE_ZLIB + help + Support for the SSH 2 protocol via libssh2. + + Note: only the OpenSSL and Libgcrypt backends of libssh2 are + supported. + + https://metacpan.org/release/Net-SSH2 + +comment "perl-net-ssh2 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + +comment "perl-net-ssh2 needs libssh2 with OpenSSL or Libgcrypt backend" + depends on !(BR2_PACKAGE_LIBSSH2_OPENSSL || BR2_PACKAGE_LIBSSH2_LIBGCRYPT) diff --git a/bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.hash b/bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.hash new file mode 100644 index 00000000..7a84949a --- /dev/null +++ b/bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 94ed21d4557a6bbc3cb6bfd7c3479ef0 Net-SSH2-0.69.tar.gz +sha256 2fc85e1434b8a6e77142d85e3cea5a081ca71da5d02c4212b9970d3a3924baa6 Net-SSH2-0.69.tar.gz + +# computed by scancpan +sha256 6db904d7c8127a33df4666961088c97586c24644a4980dc50d0676ef4c0509f7 README diff --git a/bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.mk b/bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.mk new file mode 100644 index 00000000..7860c7f0 --- /dev/null +++ b/bsp/buildroot/package/perl-net-ssh2/perl-net-ssh2.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# perl-net-ssh2 +# +################################################################################ + +PERL_NET_SSH2_VERSION = 0.69 +PERL_NET_SSH2_SOURCE = Net-SSH2-$(PERL_NET_SSH2_VERSION).tar.gz +PERL_NET_SSH2_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SA/SALVA +PERL_NET_SSH2_LICENSE = Artistic or GPL-1.0+ +PERL_NET_SSH2_LICENSE_FILES = README +PERL_NET_SSH2_DEPENDENCIES = libssh2 zlib +PERL_NET_SSH2_DISTNAME = Net-SSH2 + +# build system will use host search paths by default +PERL_NET_SSH2_CONF_OPTS += \ + lib="$(STAGING_DIR)/usr/lib" \ + inc="$(STAGING_DIR)/usr/include" + +ifeq ($(BR2_PACKAGE_LIBSSH2_LIBGCRYPT),y) +PERL_NET_SSH2_CONF_OPTS += gcrypt +endif + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-net-ssleay/Config.in b/bsp/buildroot/package/perl-net-ssleay/Config.in index 80178e0b..6998553e 100644 --- a/bsp/buildroot/package/perl-net-ssleay/Config.in +++ b/bsp/buildroot/package/perl-net-ssleay/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_PERL_NET_SSLEAY depends on !BR2_STATIC_LIBS select BR2_PACKAGE_OPENSSL help - Perl extension for using OpenSSL + Perl extension for using OpenSSL. https://metacpan.org/release/Net-SSLeay diff --git a/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash b/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash index daa2c186..517b3c4d 100644 --- a/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash +++ b/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 cfbe968487149626978f427cc9fb8c77 Net-SSLeay-1.84.tar.gz -sha256 823ec3cbb428309d6a9e56f362a9300693ce3215b7fede109adb7be361fff177 Net-SSLeay-1.84.tar.gz +md5 d602bdce4e0531c6efc276e3e429ca69 Net-SSLeay-1.85.tar.gz +sha256 9d8188b9fb1cae3bd791979c20554925d5e94a138d00414f1a6814549927b0c8 Net-SSLeay-1.85.tar.gz + +# computed by scancpan +sha256 b55065185a2172d9f2ea2dd87c18c206ea3dc45a64e5f3deb3eee34d839dc822 LICENSE diff --git a/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk b/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk index 3814038c..80ce8b9c 100644 --- a/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk +++ b/bsp/buildroot/package/perl-net-ssleay/perl-net-ssleay.mk @@ -4,12 +4,13 @@ # ################################################################################ -PERL_NET_SSLEAY_VERSION = 1.84 +PERL_NET_SSLEAY_VERSION = 1.85 PERL_NET_SSLEAY_SOURCE = Net-SSLeay-$(PERL_NET_SSLEAY_VERSION).tar.gz PERL_NET_SSLEAY_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKEM PERL_NET_SSLEAY_DEPENDENCIES = openssl PERL_NET_SSLEAY_LICENSE = OpenSSL PERL_NET_SSLEAY_LICENSE_FILES = LICENSE +PERL_NET_SSLEAY_DISTNAME = Net-SSLeay # Try as hard as possible to remedy to the brain-damage their build-system # suffers from: don't search for openssl, they pick the host-system one. diff --git a/bsp/buildroot/package/perl-net-telnet/Config.in b/bsp/buildroot/package/perl-net-telnet/Config.in new file mode 100644 index 00000000..c4f68072 --- /dev/null +++ b/bsp/buildroot/package/perl-net-telnet/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_NET_TELNET + bool "perl-net-telnet" + help + Interact with TELNET port or other TCP ports. + + https://metacpan.org/release/Net-Telnet diff --git a/bsp/buildroot/package/perl-net-telnet/perl-net-telnet.hash b/bsp/buildroot/package/perl-net-telnet/perl-net-telnet.hash new file mode 100644 index 00000000..cf1def6a --- /dev/null +++ b/bsp/buildroot/package/perl-net-telnet/perl-net-telnet.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 d2514080116c1b0fa5f96295c84538e3 Net-Telnet-3.04.tar.gz +sha256 e64d567a4e16295ecba949368e7a6b8b5ae2a16b3ad682121d9b007dc5d2a37a Net-Telnet-3.04.tar.gz + +# computed by scancpan +sha256 05beca683093827706ef45a4958bf23bcd91990e0beeb0b098f97c661478c90d README diff --git a/bsp/buildroot/package/perl-net-telnet/perl-net-telnet.mk b/bsp/buildroot/package/perl-net-telnet/perl-net-telnet.mk new file mode 100644 index 00000000..0b9cce0a --- /dev/null +++ b/bsp/buildroot/package/perl-net-telnet/perl-net-telnet.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-net-telnet +# +################################################################################ + +PERL_NET_TELNET_VERSION = 3.04 +PERL_NET_TELNET_SOURCE = Net-Telnet-$(PERL_NET_TELNET_VERSION).tar.gz +PERL_NET_TELNET_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JR/JROGERS +PERL_NET_TELNET_LICENSE = Artistic or GPL-1.0+ +PERL_NET_TELNET_LICENSE_FILES = README +PERL_NET_TELNET_DISTNAME = Net-Telnet + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-netaddr-ip/Config.in b/bsp/buildroot/package/perl-netaddr-ip/Config.in index d4061e1d..3536c349 100644 --- a/bsp/buildroot/package/perl-netaddr-ip/Config.in +++ b/bsp/buildroot/package/perl-netaddr-ip/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_NETADDR_IP bool "perl-netaddr-ip" help - Manages IPv4 and IPv6 addresses and subnets + Manages IPv4 and IPv6 addresses and subnets. https://metacpan.org/release/NetAddr-IP diff --git a/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash b/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash index fde62b12..ce0477d9 100644 --- a/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash +++ b/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.hash @@ -1,3 +1,7 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 990dfcbffae356835c536e8ab56a2880 NetAddr-IP-4.079.tar.gz sha256 ec5a82dfb7028bcd28bb3d569f95d87dd4166cc19867f2184ed3a59f6d6ca0e7 NetAddr-IP-4.079.tar.gz + +# computed by scancpan +sha256 b7fd9b73ea99602016a326e0b62e6646060d18febdd065ceca8bb482208c3d88 Artistic +sha256 773a84089e32147cffef4c6fa127a14658c8c5866987d71d86f0fe22161780f4 Copying diff --git a/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk b/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk index a1f02c69..4824b4e9 100644 --- a/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk +++ b/bsp/buildroot/package/perl-netaddr-ip/perl-netaddr-ip.mk @@ -9,9 +9,10 @@ PERL_NETADDR_IP_SOURCE = NetAddr-IP-$(PERL_NETADDR_IP_VERSION).tar.gz PERL_NETADDR_IP_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIKER PERL_NETADDR_IP_LICENSE = Artistic or GPL-1.0+ PERL_NETADDR_IP_LICENSE_FILES = Artistic Copying +PERL_NETADDR_IP_DISTNAME = NetAddr-IP -# we always build the Pure Perl version. -# the build of the native part of NetAddr::IP::Util is buggy. +ifeq ($(BR2_STATIC_LIBS),y) PERL_NETADDR_IP_CONF_OPTS = -noxs +endif $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-number-bytes-human/Config.in b/bsp/buildroot/package/perl-number-bytes-human/Config.in new file mode 100644 index 00000000..b56f70b0 --- /dev/null +++ b/bsp/buildroot/package/perl-number-bytes-human/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_NUMBER_BYTES_HUMAN + bool "perl-number-bytes-human" + help + Convert byte count to human readable format. + + https://metacpan.org/release/Number-Bytes-Human diff --git a/bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.hash b/bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.hash new file mode 100644 index 00000000..af7a6b65 --- /dev/null +++ b/bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 43d2c86a55924aa71535a41de0311efd Number-Bytes-Human-0.11.tar.gz +sha256 5fc79c49b0b40df780479c43696381343e2b6ad1fe52859f60bc65b66ebe6f2c Number-Bytes-Human-0.11.tar.gz + +# computed by scancpan +sha256 d42143fe4b63cb5d488d65a44e6c55769b098ea447462ff33316b33a837b7cf9 README diff --git a/bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.mk b/bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.mk new file mode 100644 index 00000000..d2d712f8 --- /dev/null +++ b/bsp/buildroot/package/perl-number-bytes-human/perl-number-bytes-human.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-number-bytes-human +# +################################################################################ + +PERL_NUMBER_BYTES_HUMAN_VERSION = 0.11 +PERL_NUMBER_BYTES_HUMAN_SOURCE = Number-Bytes-Human-$(PERL_NUMBER_BYTES_HUMAN_VERSION).tar.gz +PERL_NUMBER_BYTES_HUMAN_SITE = $(BR2_CPAN_MIRROR)/authors/id/F/FE/FERREIRA +PERL_NUMBER_BYTES_HUMAN_LICENSE = Artistic or GPL-1.0+ +PERL_NUMBER_BYTES_HUMAN_LICENSE_FILES = README +PERL_NUMBER_BYTES_HUMAN_DISTNAME = Number-Bytes-Human + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-package-stash/Config.in b/bsp/buildroot/package/perl-package-stash/Config.in new file mode 100644 index 00000000..6b7ca247 --- /dev/null +++ b/bsp/buildroot/package/perl-package-stash/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PERL_PACKAGE_STASH + bool "perl-package-stash" + select BR2_PACKAGE_PERL_DIST_CHECKCONFLICTS # runtime + select BR2_PACKAGE_PERL_MODULE_IMPLEMENTATION # runtime + help + routines for manipulating stashes. + + http://metacpan.org/release/Package-Stash diff --git a/bsp/buildroot/package/perl-package-stash/perl-package-stash.hash b/bsp/buildroot/package/perl-package-stash/perl-package-stash.hash new file mode 100644 index 00000000..be8760d2 --- /dev/null +++ b/bsp/buildroot/package/perl-package-stash/perl-package-stash.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 dc2d802eea2cb0b52ed9c4dd178761dd Package-Stash-0.38.tar.gz +sha256 c58ee8844df2dda38e3bf66fdf443439aaefaef1a33940edf2055f0afd223a7f Package-Stash-0.38.tar.gz + +# computed by scancpan +sha256 13aab710649bae5a8bbb1ae725587ece773bf390537dba2da71247bd937d54b4 LICENSE diff --git a/bsp/buildroot/package/perl-package-stash/perl-package-stash.mk b/bsp/buildroot/package/perl-package-stash/perl-package-stash.mk new file mode 100644 index 00000000..b1a83bd9 --- /dev/null +++ b/bsp/buildroot/package/perl-package-stash/perl-package-stash.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-package-stash +# +################################################################################ + +PERL_PACKAGE_STASH_VERSION = 0.38 +PERL_PACKAGE_STASH_SOURCE = Package-Stash-$(PERL_PACKAGE_STASH_VERSION).tar.gz +PERL_PACKAGE_STASH_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_PACKAGE_STASH_LICENSE = Artistic or GPL-1.0+ +PERL_PACKAGE_STASH_LICENSE_FILES = LICENSE +PERL_PACKAGE_STASH_DISTNAME = Package-Stash + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-params-util/Config.in b/bsp/buildroot/package/perl-params-util/Config.in new file mode 100644 index 00000000..bbc82167 --- /dev/null +++ b/bsp/buildroot/package/perl-params-util/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_PARAMS_UTIL + bool "perl-params-util" + depends on !BR2_STATIC_LIBS + help + Simple, compact and correct param-checking functions. + + https://metacpan.org/release/Params-Util + +comment "perl-params-util needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-params-util/perl-params-util.hash b/bsp/buildroot/package/perl-params-util/perl-params-util.hash new file mode 100644 index 00000000..0c247ebf --- /dev/null +++ b/bsp/buildroot/package/perl-params-util/perl-params-util.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 02db120c0eef87aae1830cc62bdec37b Params-Util-1.07.tar.gz +sha256 30f1ec3f2cf9ff66ae96f973333f23c5f558915bb6266881eac7423f52d7c76c Params-Util-1.07.tar.gz + +# computed by scancpan +sha256 71b5fb95de1ba013a517c926feaa2a7d0fb0e8f132818e8529e0da5ec01187cd LICENSE diff --git a/bsp/buildroot/package/perl-params-util/perl-params-util.mk b/bsp/buildroot/package/perl-params-util/perl-params-util.mk new file mode 100644 index 00000000..c33ea816 --- /dev/null +++ b/bsp/buildroot/package/perl-params-util/perl-params-util.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-params-util +# +################################################################################ + +PERL_PARAMS_UTIL_VERSION = 1.07 +PERL_PARAMS_UTIL_SOURCE = Params-Util-$(PERL_PARAMS_UTIL_VERSION).tar.gz +PERL_PARAMS_UTIL_SITE = $(BR2_CPAN_MIRROR)/authors/id/A/AD/ADAMK +PERL_PARAMS_UTIL_LICENSE = Artistic or GPL-1.0+ +PERL_PARAMS_UTIL_LICENSE_FILES = LICENSE +PERL_PARAMS_UTIL_DISTNAME = Params-Util + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-path-tiny/Config.in b/bsp/buildroot/package/perl-path-tiny/Config.in index f85e792d..f79de73e 100644 --- a/bsp/buildroot/package/perl-path-tiny/Config.in +++ b/bsp/buildroot/package/perl-path-tiny/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_PATH_TINY bool "perl-path-tiny" help - File path utility + File path utility. https://github.com/dagolden/Path-Tiny diff --git a/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.hash b/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.hash index 49b6661e..2ad8a641 100644 --- a/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.hash +++ b/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 17354181d9794df01be555b25114dd24 Path-Tiny-0.104.tar.gz -sha256 c69f1dcfeb4aa004086deb9bc14c7d79f45798b947f1efbd634a3442e267aaef Path-Tiny-0.104.tar.gz +md5 1a7fbdccc4585074ce4419b7bec0966c Path-Tiny-0.108.tar.gz +sha256 3c49482be2b3eb7ddd7e73a5b90cff648393f5d5de334ff126ce7a3632723ff5 Path-Tiny-0.108.tar.gz + +# computed by scancpan +sha256 a999b03d2b80e5c7f987289ac835fa2d88cafa9f0df24adf8a1fd21e175acd79 LICENSE diff --git a/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.mk b/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.mk index 53e787dc..5d654efe 100644 --- a/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.mk +++ b/bsp/buildroot/package/perl-path-tiny/perl-path-tiny.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_PATH_TINY_VERSION = 0.104 +PERL_PATH_TINY_VERSION = 0.108 PERL_PATH_TINY_SOURCE = Path-Tiny-$(PERL_PATH_TINY_VERSION).tar.gz PERL_PATH_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DA/DAGOLDEN PERL_PATH_TINY_LICENSE = Apache-2.0 PERL_PATH_TINY_LICENSE_FILES = LICENSE +PERL_PATH_TINY_DISTNAME = Path-Tiny $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-plack/Config.in b/bsp/buildroot/package/perl-plack/Config.in new file mode 100644 index 00000000..c81ac4a4 --- /dev/null +++ b/bsp/buildroot/package/perl-plack/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_PERL_PLACK + bool "perl-plack" + select BR2_PACKAGE_PERL_APACHE_LOGFORMAT_COMPILER # runtime + select BR2_PACKAGE_PERL_COOKIE_BAKER # runtime + select BR2_PACKAGE_PERL_DEVEL_STACKTRACE # runtime + select BR2_PACKAGE_PERL_DEVEL_STACKTRACE_ASHTML # runtime + select BR2_PACKAGE_PERL_FILE_SHAREDIR # runtime + select BR2_PACKAGE_PERL_FILESYS_NOTIFY_SIMPLE # runtime + select BR2_PACKAGE_PERL_HTTP_ENTITY_PARSER # runtime + select BR2_PACKAGE_PERL_HTTP_HEADERS_FAST # runtime + select BR2_PACKAGE_PERL_HTTP_MESSAGE # runtime + select BR2_PACKAGE_PERL_HASH_MULTIVALUE # runtime + select BR2_PACKAGE_PERL_STREAM_BUFFERED # runtime + select BR2_PACKAGE_PERL_TRY_TINY # runtime + select BR2_PACKAGE_PERL_URI # runtime + select BR2_PACKAGE_PERL_WWW_FORM_URLENCODED # runtime + help + Perl Superglue for Web frameworks and Web Servers (PSGI + toolkit). + + https://github.com/plack/Plack diff --git a/bsp/buildroot/package/perl-plack/perl-plack.hash b/bsp/buildroot/package/perl-plack/perl-plack.hash new file mode 100644 index 00000000..7324b726 --- /dev/null +++ b/bsp/buildroot/package/perl-plack/perl-plack.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 9d37086aec1b29bab52a9575687e3557 Plack-1.0047.tar.gz +sha256 322c93f5acc0a0f0e11fd4a76188f978bdc14338a9f1df3ae535227017046561 Plack-1.0047.tar.gz + +# computed by scancpan +sha256 fb67655b5d1adedef83aed2c79bf4f89c68d8595a7060815520173f663a3631d LICENSE diff --git a/bsp/buildroot/package/perl-plack/perl-plack.mk b/bsp/buildroot/package/perl-plack/perl-plack.mk new file mode 100644 index 00000000..cccf5a62 --- /dev/null +++ b/bsp/buildroot/package/perl-plack/perl-plack.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-plack +# +################################################################################ + +PERL_PLACK_VERSION = 1.0047 +PERL_PLACK_SOURCE = Plack-$(PERL_PLACK_VERSION).tar.gz +PERL_PLACK_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MI/MIYAGAWA +PERL_PLACK_DEPENDENCIES = host-perl-file-sharedir-install +PERL_PLACK_LICENSE = Artistic or GPL-1.0+ +PERL_PLACK_LICENSE_FILES = LICENSE +PERL_PLACK_DISTNAME = Plack + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-posix-strftime-compiler/Config.in b/bsp/buildroot/package/perl-posix-strftime-compiler/Config.in new file mode 100644 index 00000000..3c8d7d24 --- /dev/null +++ b/bsp/buildroot/package/perl-posix-strftime-compiler/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_POSIX_STRFTIME_COMPILER + bool "perl-posix-strftime-compiler" + help + GNU C library compatible strftime for loggers and servers. + + https://github.com/kazeburo/POSIX-strftime-Compiler diff --git a/bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash b/bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash new file mode 100644 index 00000000..e8c5219c --- /dev/null +++ b/bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 c0a5f76b1b0ce9cdb90d627b017e6cf5 POSIX-strftime-Compiler-0.42.tar.gz +sha256 26582bdd78b254bcc1c56d0b770fa280e8b8f70957c84dc44572ba4cacb0ac11 POSIX-strftime-Compiler-0.42.tar.gz + +# computed by scancpan +sha256 79c2a066104e71602785fd815c5aea6f7db78c19451d68521380083f9c2a8805 LICENSE diff --git a/bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk b/bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk new file mode 100644 index 00000000..d7e23d25 --- /dev/null +++ b/bsp/buildroot/package/perl-posix-strftime-compiler/perl-posix-strftime-compiler.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-posix-strftime-compiler +# +################################################################################ + +PERL_POSIX_STRFTIME_COMPILER_VERSION = 0.42 +PERL_POSIX_STRFTIME_COMPILER_SOURCE = POSIX-strftime-Compiler-$(PERL_POSIX_STRFTIME_COMPILER_VERSION).tar.gz +PERL_POSIX_STRFTIME_COMPILER_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO +PERL_POSIX_STRFTIME_COMPILER_DEPENDENCIES = host-perl-module-build +PERL_POSIX_STRFTIME_COMPILER_LICENSE = Artistic or GPL-1.0+ +PERL_POSIX_STRFTIME_COMPILER_LICENSE_FILES = LICENSE +PERL_POSIX_STRFTIME_COMPILER_DISTNAME = POSIX-strftime-Compiler + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-role-tiny/Config.in b/bsp/buildroot/package/perl-role-tiny/Config.in new file mode 100644 index 00000000..ebbe7202 --- /dev/null +++ b/bsp/buildroot/package/perl-role-tiny/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_ROLE_TINY + bool "perl-role-tiny" + help + Roles. Like a nouvelle cuisine portion size slice of Moose. + + https://metacpan.org/release/Role-Tiny diff --git a/bsp/buildroot/package/perl-role-tiny/perl-role-tiny.hash b/bsp/buildroot/package/perl-role-tiny/perl-role-tiny.hash new file mode 100644 index 00000000..33601bb6 --- /dev/null +++ b/bsp/buildroot/package/perl-role-tiny/perl-role-tiny.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 7c277728a7e090f64b495857cadfed08 Role-Tiny-2.000006.tar.gz +sha256 cc73418c904a0286ecd8915eac11f5be2a8d1e17ea9cb54c9116b0340cd3e382 Role-Tiny-2.000006.tar.gz + +# computed by scancpan +sha256 08292f0e1797371bce0a1b5bd80e0657b3aabf9c0ecc2ce87ad7a448a7adacce README diff --git a/bsp/buildroot/package/perl-role-tiny/perl-role-tiny.mk b/bsp/buildroot/package/perl-role-tiny/perl-role-tiny.mk new file mode 100644 index 00000000..6501972f --- /dev/null +++ b/bsp/buildroot/package/perl-role-tiny/perl-role-tiny.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-role-tiny +# +################################################################################ + +PERL_ROLE_TINY_VERSION = 2.000006 +PERL_ROLE_TINY_SOURCE = Role-Tiny-$(PERL_ROLE_TINY_VERSION).tar.gz +PERL_ROLE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG +PERL_ROLE_TINY_LICENSE = Artistic or GPL-1.0+ +PERL_ROLE_TINY_LICENSE_FILES = README +PERL_ROLE_TINY_DISTNAME = Role-Tiny + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-stream-buffered/Config.in b/bsp/buildroot/package/perl-stream-buffered/Config.in new file mode 100644 index 00000000..3bddefe5 --- /dev/null +++ b/bsp/buildroot/package/perl-stream-buffered/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_STREAM_BUFFERED + bool "perl-stream-buffered" + help + temporary buffer to save bytes. + + https://github.com/plack/Stream-Buffered diff --git a/bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.hash b/bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.hash new file mode 100644 index 00000000..a40955d8 --- /dev/null +++ b/bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 b030fecaa784cd573289ae797c7aeae9 Stream-Buffered-0.03.tar.gz +sha256 9b2d4390b5de6b0cf4558e4ad04317a73c5e13dd19af29149c4e47c37fb2423b Stream-Buffered-0.03.tar.gz + +# computed by scancpan +sha256 68e8c38e6d2f2b0570a908411f8321b80a7e35ea44f43729807c9ac9a025f591 LICENSE diff --git a/bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.mk b/bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.mk new file mode 100644 index 00000000..63aa1a24 --- /dev/null +++ b/bsp/buildroot/package/perl-stream-buffered/perl-stream-buffered.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-stream-buffered +# +################################################################################ + +PERL_STREAM_BUFFERED_VERSION = 0.03 +PERL_STREAM_BUFFERED_SOURCE = Stream-Buffered-$(PERL_STREAM_BUFFERED_VERSION).tar.gz +PERL_STREAM_BUFFERED_SITE = $(BR2_CPAN_MIRROR)/authors/id/D/DO/DOY +PERL_STREAM_BUFFERED_LICENSE = Artistic or GPL-1.0+ +PERL_STREAM_BUFFERED_LICENSE_FILES = LICENSE +PERL_STREAM_BUFFERED_DISTNAME = Stream-Buffered + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-sub-exporter-progressive/Config.in b/bsp/buildroot/package/perl-sub-exporter-progressive/Config.in new file mode 100644 index 00000000..e44de83e --- /dev/null +++ b/bsp/buildroot/package/perl-sub-exporter-progressive/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_SUB_EXPORTER_PROGRESSIVE + bool "perl-sub-exporter-progressive" + help + Only use Sub::Exporter if you need it. + + https://github.com/frioux/Sub-Exporter-Progressive diff --git a/bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash b/bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash new file mode 100644 index 00000000..6bd24416 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 72cf6acdd2a0a8b105821a4db98e4ebe Sub-Exporter-Progressive-0.001013.tar.gz +sha256 d535b7954d64da1ac1305b1fadf98202769e3599376854b2ced90c382beac056 Sub-Exporter-Progressive-0.001013.tar.gz + +# computed by scancpan +sha256 24c38cba4218e6be62e511bffe21e63aa57335d8929034aa58e8a85eed001e99 LICENSE diff --git a/bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk b/bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk new file mode 100644 index 00000000..22fc29d5 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-exporter-progressive/perl-sub-exporter-progressive.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-sub-exporter-progressive +# +################################################################################ + +PERL_SUB_EXPORTER_PROGRESSIVE_VERSION = 0.001013 +PERL_SUB_EXPORTER_PROGRESSIVE_SOURCE = Sub-Exporter-Progressive-$(PERL_SUB_EXPORTER_PROGRESSIVE_VERSION).tar.gz +PERL_SUB_EXPORTER_PROGRESSIVE_SITE = $(BR2_CPAN_MIRROR)/authors/id/F/FR/FREW +PERL_SUB_EXPORTER_PROGRESSIVE_LICENSE = Artistic or GPL-1.0+ +PERL_SUB_EXPORTER_PROGRESSIVE_LICENSE_FILES = LICENSE +PERL_SUB_EXPORTER_PROGRESSIVE_DISTNAME = Sub-Exporter-Progressive + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-sub-install/Config.in b/bsp/buildroot/package/perl-sub-install/Config.in new file mode 100644 index 00000000..d1f539c0 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-install/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_SUB_INSTALL + bool "perl-sub-install" + help + install subroutines into packages easily. + + https://github.com/rjbs/Sub-Install diff --git a/bsp/buildroot/package/perl-sub-install/perl-sub-install.hash b/bsp/buildroot/package/perl-sub-install/perl-sub-install.hash new file mode 100644 index 00000000..3abd9940 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-install/perl-sub-install.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 e1ce4f9cb6b2f6b8778b036c31afa5ab Sub-Install-0.928.tar.gz +sha256 61e567a7679588887b7b86d427bc476ea6d77fffe7e0d17d640f89007d98ef0f Sub-Install-0.928.tar.gz + +# computed by scancpan +sha256 ad5fb5c05003488f924c60ead21694d629055c9db2ee2d9dd0cf0041b9fedaca LICENSE diff --git a/bsp/buildroot/package/perl-sub-install/perl-sub-install.mk b/bsp/buildroot/package/perl-sub-install/perl-sub-install.mk new file mode 100644 index 00000000..85d60caf --- /dev/null +++ b/bsp/buildroot/package/perl-sub-install/perl-sub-install.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-sub-install +# +################################################################################ + +PERL_SUB_INSTALL_VERSION = 0.928 +PERL_SUB_INSTALL_SOURCE = Sub-Install-$(PERL_SUB_INSTALL_VERSION).tar.gz +PERL_SUB_INSTALL_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RJ/RJBS +PERL_SUB_INSTALL_LICENSE = Artistic or GPL-1.0+ +PERL_SUB_INSTALL_LICENSE_FILES = LICENSE +PERL_SUB_INSTALL_DISTNAME = Sub-Install + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-sub-quote/Config.in b/bsp/buildroot/package/perl-sub-quote/Config.in new file mode 100644 index 00000000..4487e930 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-quote/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_SUB_QUOTE + bool "perl-sub-quote" + help + Efficient generation of subroutines via string eval. + + https://metacpan.org/release/Sub-Quote diff --git a/bsp/buildroot/package/perl-sub-quote/perl-sub-quote.hash b/bsp/buildroot/package/perl-sub-quote/perl-sub-quote.hash new file mode 100644 index 00000000..8af5e2c0 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-quote/perl-sub-quote.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 1b0f288ca8c60243f9bc29cfee4c4986 Sub-Quote-2.005001.tar.gz +sha256 d6ab4f0775def015367a05e02024b403f991b2be11d774f3d235fe7e9bdbba07 Sub-Quote-2.005001.tar.gz + +# computed by scancpan +sha256 8f7a1d60c718174b7752562007b2643d4a1c23f901cbeb7774015805efe0a817 README diff --git a/bsp/buildroot/package/perl-sub-quote/perl-sub-quote.mk b/bsp/buildroot/package/perl-sub-quote/perl-sub-quote.mk new file mode 100644 index 00000000..1e364f21 --- /dev/null +++ b/bsp/buildroot/package/perl-sub-quote/perl-sub-quote.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-sub-quote +# +################################################################################ + +PERL_SUB_QUOTE_VERSION = 2.005001 +PERL_SUB_QUOTE_SOURCE = Sub-Quote-$(PERL_SUB_QUOTE_VERSION).tar.gz +PERL_SUB_QUOTE_SITE = $(BR2_CPAN_MIRROR)/authors/id/H/HA/HAARG +PERL_SUB_QUOTE_LICENSE = Artistic or GPL-1.0+ +PERL_SUB_QUOTE_LICENSE_FILES = README +PERL_SUB_QUOTE_DISTNAME = Sub-Quote + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-sys-cpu/0001-remove-extraneous-include.patch b/bsp/buildroot/package/perl-sys-cpu/0001-remove-extraneous-include.patch new file mode 100644 index 00000000..eb7d8f76 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-cpu/0001-remove-extraneous-include.patch @@ -0,0 +1,20 @@ +Drop include + + does not exist in musl or uClibc, so including it +causes a build failure. In glibc, it simply redirects to , +so we can safely drop the inclusion of + +Signed-off-by: Christopher McCrory + +Index: b/CPU.xs +=================================================================== +--- a/CPU.xs ++++ b/CPU.xs +@@ -24,7 +24,6 @@ + #include + #else /* other (try unix) */ + #include +- #include + #endif + #if defined(__sun) || defined(__sun__) + #include diff --git a/bsp/buildroot/package/perl-sys-cpu/Config.in b/bsp/buildroot/package/perl-sys-cpu/Config.in new file mode 100644 index 00000000..8306b371 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-cpu/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PERL_SYS_CPU + bool "perl-sys-cpu" + depends on !BR2_STATIC_LIBS + help + Perl module for getting information about the system CPU + (Sys::CPU). + +comment "perl-sys-cpu needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.hash b/bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.hash new file mode 100644 index 00000000..0977606b --- /dev/null +++ b/bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.hash @@ -0,0 +1,2 @@ +# locally computed +sha256 ca0ec47ab24070e3040e5075337cfc69721362d9bef50f6992072efe644d4d26 Sys-CPU-0.52.tar.gz diff --git a/bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.mk b/bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.mk new file mode 100644 index 00000000..8402bef8 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-cpu/perl-sys-cpu.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# perl-sys-cpu +# +################################################################################ + +PERL_SYS_CPU_VERSION = 0.52 +PERL_SYS_CPU_SOURCE = Sys-CPU-$(PERL_SYS_CPU_VERSION).tar.gz +PERL_SYS_CPU_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MK/MKODERER +PERL_SYS_CPU_LICENSE = Artistic or GPL-1.0+ +PERL_SYS_CPU_LICENSE_FILES = README + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-sys-meminfo/Config.in b/bsp/buildroot/package/perl-sys-meminfo/Config.in new file mode 100644 index 00000000..2175d88d --- /dev/null +++ b/bsp/buildroot/package/perl-sys-meminfo/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_SYS_MEMINFO + bool "perl-sys-meminfo" + depends on !BR2_STATIC_LIBS + help + query the total free and used physical memory. + + https://metacpan.org/release/Sys-MemInfo + +comment "perl-sys-meminfo needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.hash b/bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.hash new file mode 100644 index 00000000..207cfad2 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 88f0632691d7de91cbed95ba1ff29025 Sys-MemInfo-0.99.tar.gz +sha256 0786319d3a3a8bae5d727939244bf17e140b714f52734d5e9f627203e4cf3e3b Sys-MemInfo-0.99.tar.gz + +# computed by scancpan +sha256 62854ade112a6782f476bdc7dc9603776c4e064782623d999f966dba131a15de LICENSE diff --git a/bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.mk b/bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.mk new file mode 100644 index 00000000..e70dd73a --- /dev/null +++ b/bsp/buildroot/package/perl-sys-meminfo/perl-sys-meminfo.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-sys-meminfo +# +################################################################################ + +PERL_SYS_MEMINFO_VERSION = 0.99 +PERL_SYS_MEMINFO_SOURCE = Sys-MemInfo-$(PERL_SYS_MEMINFO_VERSION).tar.gz +PERL_SYS_MEMINFO_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SC/SCRESTO +PERL_SYS_MEMINFO_LICENSE = Artistic or GPL-1.0+ +PERL_SYS_MEMINFO_LICENSE_FILES = LICENSE +PERL_SYS_MEMINFO_DISTNAME = Sys-MemInfo + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-sys-mmap/Config.in b/bsp/buildroot/package/perl-sys-mmap/Config.in new file mode 100644 index 00000000..989e6bf2 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-mmap/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PERL_SYS_MMAP + bool "perl-sys-mmap" + depends on !BR2_STATIC_LIBS + help + uses mmap to map in a file as a Perl variable. + + https://metacpan.org/release/Sys-Mmap + +comment "perl-sys-mmap needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.hash b/bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.hash new file mode 100644 index 00000000..d50fb717 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.hash @@ -0,0 +1,7 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 990c9106a88dc843035f7bcb109e6c0e Sys-Mmap-0.19.tar.gz +sha256 09295e25cc9b0599d9009d19b2be89fcecaecc62ce594f873d7f70d7c10900fa Sys-Mmap-0.19.tar.gz + +# computed by scancpan +sha256 4ac2afe465736476a06e52edcc78c72cfa0fa4d625916e58ab4f2af6c598709c Artistic +sha256 51c144e9a67644fa8eea0ea63dedb4e837587305b22f073eb5e279e39e7325a8 Copying diff --git a/bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.mk b/bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.mk new file mode 100644 index 00000000..489d4dd7 --- /dev/null +++ b/bsp/buildroot/package/perl-sys-mmap/perl-sys-mmap.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-sys-mmap +# +################################################################################ + +PERL_SYS_MMAP_VERSION = 0.19 +PERL_SYS_MMAP_SOURCE = Sys-Mmap-$(PERL_SYS_MMAP_VERSION).tar.gz +PERL_SYS_MMAP_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SW/SWALTERS +PERL_SYS_MMAP_LICENSE = Artistic or GPL-1.0+ +PERL_SYS_MMAP_LICENSE_FILES = Artistic Copying +PERL_SYS_MMAP_DISTNAME = Sys-Mmap + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-time-hires/Config.in b/bsp/buildroot/package/perl-time-hires/Config.in deleted file mode 100644 index fe933a4d..00000000 --- a/bsp/buildroot/package/perl-time-hires/Config.in +++ /dev/null @@ -1,10 +0,0 @@ -config BR2_PACKAGE_PERL_TIME_HIRES - bool "perl-time-hires" - depends on !BR2_STATIC_LIBS - help - High resolution alarm, sleep, gettimeofday, interval timers - - https://metacpan.org/release/Time-HiRes - -comment "perl-time-hires needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-time-hires/perl-time-hires.hash b/bsp/buildroot/package/perl-time-hires/perl-time-hires.hash deleted file mode 100644 index f3ab700e..00000000 --- a/bsp/buildroot/package/perl-time-hires/perl-time-hires.hash +++ /dev/null @@ -1,3 +0,0 @@ -# retrieved by scancpan from http://cpan.metacpan.org/ -md5 b98099e0cb7702210606776e9746e103 Time-HiRes-1.9753.tar.gz -sha256 0fbfd5f99cdd26011d5c0bc3a8e369dacc4a9e1d1658f4663ac6018f2cec4915 Time-HiRes-1.9753.tar.gz diff --git a/bsp/buildroot/package/perl-time-hires/perl-time-hires.mk b/bsp/buildroot/package/perl-time-hires/perl-time-hires.mk deleted file mode 100644 index c8dde49f..00000000 --- a/bsp/buildroot/package/perl-time-hires/perl-time-hires.mk +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# -# perl-time-hires -# -################################################################################ - -PERL_TIME_HIRES_VERSION = 1.9753 -PERL_TIME_HIRES_SOURCE = Time-HiRes-$(PERL_TIME_HIRES_VERSION).tar.gz -PERL_TIME_HIRES_SITE = $(BR2_CPAN_MIRROR)/authors/id/J/JH/JHI -PERL_TIME_HIRES_LICENSE = Artistic or GPL-1.0+ -PERL_TIME_HIRES_LICENSE_FILES = README - -$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-time-parsedate/Config.in b/bsp/buildroot/package/perl-time-parsedate/Config.in new file mode 100644 index 00000000..bd5957d9 --- /dev/null +++ b/bsp/buildroot/package/perl-time-parsedate/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_TIME_PARSEDATE + bool "perl-time-parsedate" + help + Parse and format time values. + + https://metacpan.org/release/Time-ParseDate diff --git a/bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.hash b/bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.hash new file mode 100644 index 00000000..39ce6b93 --- /dev/null +++ b/bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.hash @@ -0,0 +1,7 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 9143d075278857d21c77467d26f1603b Time-ParseDate-2015.103.tar.gz +sha256 2c1a06235bf811813caac9eaa9daa71af758667cdf7b082cb59863220fcaeed1 Time-ParseDate-2015.103.tar.gz + +# locally calculated +sha256 6d8de888d0662f75cfa3bf21b261741d5634ac9cdd8604d6173850546a3d40a9 lib/Time/JulianDay.pm +sha256 9ae411fbaf87add414e7357417032dfedce652c393643bc5cb5b7698041a1dca lib/Time/Timezone.pm diff --git a/bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.mk b/bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.mk new file mode 100644 index 00000000..cba8c7b6 --- /dev/null +++ b/bsp/buildroot/package/perl-time-parsedate/perl-time-parsedate.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-time-parsedate +# +################################################################################ + +PERL_TIME_PARSEDATE_VERSION = 2015.103 +PERL_TIME_PARSEDATE_SOURCE = Time-ParseDate-$(PERL_TIME_PARSEDATE_VERSION).tar.gz +PERL_TIME_PARSEDATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/M/MU/MUIR/modules +PERL_TIME_PARSEDATE_LICENSE = Time Parse Date License, Public Domain +PERL_TIME_PARSEDATE_LICENSE_FILES = lib/Time/JulianDay.pm lib/Time/Timezone.pm +PERL_TIME_PARSEDATE_DISTNAME = Time-ParseDate + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-timedate/Config.in b/bsp/buildroot/package/perl-timedate/Config.in index 7ce9de1a..84ba8ff6 100644 --- a/bsp/buildroot/package/perl-timedate/Config.in +++ b/bsp/buildroot/package/perl-timedate/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_TIMEDATE bool "perl-timedate" help - Date formating subroutines + miscellaneous timezone manipulations routines. https://metacpan.org/release/TimeDate diff --git a/bsp/buildroot/package/perl-timedate/perl-timedate.hash b/bsp/buildroot/package/perl-timedate/perl-timedate.hash index 28a9f078..234136d0 100644 --- a/bsp/buildroot/package/perl-timedate/perl-timedate.hash +++ b/bsp/buildroot/package/perl-timedate/perl-timedate.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 b1d91153ac971347aee84292ed886c1c TimeDate-2.30.tar.gz sha256 75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86 TimeDate-2.30.tar.gz + +# computed by scancpan +sha256 e72e67533eb3ddd705ae718898945e2f3bf3702e91e85bb67824575706bd5bf9 README diff --git a/bsp/buildroot/package/perl-timedate/perl-timedate.mk b/bsp/buildroot/package/perl-timedate/perl-timedate.mk index cdc2c07f..bc4fc9a1 100644 --- a/bsp/buildroot/package/perl-timedate/perl-timedate.mk +++ b/bsp/buildroot/package/perl-timedate/perl-timedate.mk @@ -9,5 +9,6 @@ PERL_TIMEDATE_SOURCE = TimeDate-$(PERL_TIMEDATE_VERSION).tar.gz PERL_TIMEDATE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GB/GBARR PERL_TIMEDATE_LICENSE = Artistic or GPL-1.0+ PERL_TIMEDATE_LICENSE_FILES = README +PERL_TIMEDATE_DISTNAME = TimeDate $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-try-tiny/Config.in b/bsp/buildroot/package/perl-try-tiny/Config.in index 5c115b63..c4329dc1 100644 --- a/bsp/buildroot/package/perl-try-tiny/Config.in +++ b/bsp/buildroot/package/perl-try-tiny/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_TRY_TINY bool "perl-try-tiny" help - Minimal try/catch with proper preservation of $@ + Minimal try/catch with proper preservation of $@. https://github.com/p5sagit/Try-Tiny diff --git a/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.hash b/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.hash index 85f60401..65731bc1 100644 --- a/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.hash +++ b/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 eb362c3cb32c42f9f28de9ddb7f2ead6 Try-Tiny-0.30.tar.gz sha256 da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b Try-Tiny-0.30.tar.gz + +# computed by scancpan +sha256 6c7eb089021283de176a5c838217ae16453cf9f67899b27cdcd0827045f6f781 README diff --git a/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.mk b/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.mk index f9113e70..bce96269 100644 --- a/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.mk +++ b/bsp/buildroot/package/perl-try-tiny/perl-try-tiny.mk @@ -9,5 +9,6 @@ PERL_TRY_TINY_SOURCE = Try-Tiny-$(PERL_TRY_TINY_VERSION).tar.gz PERL_TRY_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER PERL_TRY_TINY_LICENSE = MIT PERL_TRY_TINY_LICENSE_FILES = README +PERL_TRY_TINY_DISTNAME = Try-Tiny $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-type-tiny/Config.in b/bsp/buildroot/package/perl-type-tiny/Config.in new file mode 100644 index 00000000..c49a0d4b --- /dev/null +++ b/bsp/buildroot/package/perl-type-tiny/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PERL_TYPE_TINY + bool "perl-type-tiny" + select BR2_PACKAGE_PERL_EXPORTER_TINY # runtime + help + tiny, yet Moo(se)-compatible type constraint. + + https://metacpan.org/release/Type-Tiny diff --git a/bsp/buildroot/package/perl-type-tiny/perl-type-tiny.hash b/bsp/buildroot/package/perl-type-tiny/perl-type-tiny.hash new file mode 100644 index 00000000..d6b3639d --- /dev/null +++ b/bsp/buildroot/package/perl-type-tiny/perl-type-tiny.hash @@ -0,0 +1,7 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 a7fe90a6d53d2cd57381e60e682f828f Type-Tiny-1.004004.tar.gz +sha256 081281ea004cdd89003d938aa52c1398e24411dd8f7163b14d0977a13f7062be Type-Tiny-1.004004.tar.gz + +# computed by scancpan +sha256 57e58f271bf6bca0bb22ab9e72b04c9e12010b0a898453a2fcde49fb9ff28afc COPYRIGHT +sha256 5c791221f0dde289392a38a5921b66d4a1be8248cc64ee6de15f3c2426892673 LICENSE diff --git a/bsp/buildroot/package/perl-type-tiny/perl-type-tiny.mk b/bsp/buildroot/package/perl-type-tiny/perl-type-tiny.mk new file mode 100644 index 00000000..aa730641 --- /dev/null +++ b/bsp/buildroot/package/perl-type-tiny/perl-type-tiny.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-type-tiny +# +################################################################################ + +PERL_TYPE_TINY_VERSION = 1.004004 +PERL_TYPE_TINY_SOURCE = Type-Tiny-$(PERL_TYPE_TINY_VERSION).tar.gz +PERL_TYPE_TINY_SITE = $(BR2_CPAN_MIRROR)/authors/id/T/TO/TOBYINK +PERL_TYPE_TINY_LICENSE = Artistic or GPL-1.0+ +PERL_TYPE_TINY_LICENSE_FILES = COPYRIGHT LICENSE +PERL_TYPE_TINY_DISTNAME = Type-Tiny + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-uri/Config.in b/bsp/buildroot/package/perl-uri/Config.in index 23e5c50e..3f51c517 100644 --- a/bsp/buildroot/package/perl-uri/Config.in +++ b/bsp/buildroot/package/perl-uri/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_URI bool "perl-uri" help - Uniform Resource Identifiers (absolute and relative) + Uniform Resource Identifiers (absolute and relative). https://github.com/libwww-perl/URI diff --git a/bsp/buildroot/package/perl-uri/perl-uri.hash b/bsp/buildroot/package/perl-uri/perl-uri.hash index 5f27230e..02287a06 100644 --- a/bsp/buildroot/package/perl-uri/perl-uri.hash +++ b/bsp/buildroot/package/perl-uri/perl-uri.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 37d44a08e599aa945b32a9434ffe00a5 URI-1.73.tar.gz -sha256 cca7ab4a6f63f3ccaacae0f2e1337e8edf84137e73f18548ec7d659f23efe413 URI-1.73.tar.gz +md5 c236e0142adecc1b1104da664bc43a79 URI-1.76.tar.gz +sha256 b2c98e1d50d6f572483ee538a6f4ccc8d9185f91f0073fd8af7390898254413e URI-1.76.tar.gz + +# computed by scancpan +sha256 65cd6f88516a30f56fd4e0080fb78ea69424fc89067470dc994e4abfba08664e LICENSE diff --git a/bsp/buildroot/package/perl-uri/perl-uri.mk b/bsp/buildroot/package/perl-uri/perl-uri.mk index 690a0eb8..730b3905 100644 --- a/bsp/buildroot/package/perl-uri/perl-uri.mk +++ b/bsp/buildroot/package/perl-uri/perl-uri.mk @@ -4,10 +4,11 @@ # ################################################################################ -PERL_URI_VERSION = 1.73 +PERL_URI_VERSION = 1.76 PERL_URI_SOURCE = URI-$(PERL_URI_VERSION).tar.gz -PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/E/ET/ETHER +PERL_URI_SITE = $(BR2_CPAN_MIRROR)/authors/id/O/OA/OALDERS PERL_URI_LICENSE = Artistic or GPL-1.0+ PERL_URI_LICENSE_FILES = LICENSE +PERL_URI_DISTNAME = URI $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-www-form-urlencoded/Config.in b/bsp/buildroot/package/perl-www-form-urlencoded/Config.in new file mode 100644 index 00000000..67759c8f --- /dev/null +++ b/bsp/buildroot/package/perl-www-form-urlencoded/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PERL_WWW_FORM_URLENCODED + bool "perl-www-form-urlencoded" + help + parser and builder for application/x-www-form-urlencoded. + + https://github.com/kazeburo/WWW-Form-UrlEncoded diff --git a/bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash b/bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash new file mode 100644 index 00000000..2ad969a1 --- /dev/null +++ b/bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 c7f8fbd616f9a342b5ff726b405d2a96 WWW-Form-UrlEncoded-0.25.tar.gz +sha256 e1f7a6d22fe558242d1df584229d99058f63ef2658e43b8a90642e3875c6074e WWW-Form-UrlEncoded-0.25.tar.gz + +# computed by scancpan +sha256 79c2a066104e71602785fd815c5aea6f7db78c19451d68521380083f9c2a8805 LICENSE diff --git a/bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk b/bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk new file mode 100644 index 00000000..a0ccba53 --- /dev/null +++ b/bsp/buildroot/package/perl-www-form-urlencoded/perl-www-form-urlencoded.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# perl-www-form-urlencoded +# +################################################################################ + +PERL_WWW_FORM_URLENCODED_VERSION = 0.25 +PERL_WWW_FORM_URLENCODED_SOURCE = WWW-Form-UrlEncoded-$(PERL_WWW_FORM_URLENCODED_VERSION).tar.gz +PERL_WWW_FORM_URLENCODED_SITE = $(BR2_CPAN_MIRROR)/authors/id/K/KA/KAZEBURO +PERL_WWW_FORM_URLENCODED_DEPENDENCIES = host-perl-module-build +PERL_WWW_FORM_URLENCODED_LICENSE = Artistic or GPL-1.0+ +PERL_WWW_FORM_URLENCODED_LICENSE_FILES = LICENSE +PERL_WWW_FORM_URLENCODED_DISTNAME = WWW-Form-UrlEncoded + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-www-robotrules/Config.in b/bsp/buildroot/package/perl-www-robotrules/Config.in index 3e7175e3..6ecf58af 100644 --- a/bsp/buildroot/package/perl-www-robotrules/Config.in +++ b/bsp/buildroot/package/perl-www-robotrules/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_PERL_WWW_ROBOTRULES bool "perl-www-robotrules" - select BR2_PACKAGE_PERL_URI + select BR2_PACKAGE_PERL_URI # runtime help - This module provides functions that deal the date formats - used by the HTTP protocol (and then some more) + database of robots.txt-derived permissions. - http://github.com/gisle/www-robotrules + https://metacpan.org/release/WWW-RobotRules diff --git a/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash b/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash index 9091a296..41f2d7a1 100644 --- a/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash +++ b/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 b7186e8b8b3701e70c22abf430742403 WWW-RobotRules-6.02.tar.gz sha256 46b502e7a288d559429891eeb5d979461dd3ecc6a5c491ead85d165b6e03a51e WWW-RobotRules-6.02.tar.gz + +# computed by scancpan +sha256 fa375c4f771b92fc076b6c66e19440a0fff51dacf489fecd94bf560091279e05 README diff --git a/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk b/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk index 5e8bab9d..052d9a67 100644 --- a/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk +++ b/bsp/buildroot/package/perl-www-robotrules/perl-www-robotrules.mk @@ -7,8 +7,8 @@ PERL_WWW_ROBOTRULES_VERSION = 6.02 PERL_WWW_ROBOTRULES_SOURCE = WWW-RobotRules-$(PERL_WWW_ROBOTRULES_VERSION).tar.gz PERL_WWW_ROBOTRULES_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GA/GAAS -PERL_WWW_ROBOTRULES_DEPENDENCIES = perl-uri PERL_WWW_ROBOTRULES_LICENSE = Artistic or GPL-1.0+ PERL_WWW_ROBOTRULES_LICENSE_FILES = README +PERL_WWW_ROBOTRULES_DISTNAME = WWW-RobotRules $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-x10/Config.in b/bsp/buildroot/package/perl-x10/Config.in new file mode 100644 index 00000000..834ffefa --- /dev/null +++ b/bsp/buildroot/package/perl-x10/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PERL_X10 + bool "perl-x10" + depends on !BR2_STATIC_LIBS + select BR2_PACKAGE_PERL_ASTRO_SUNTIME # runtime + select BR2_PACKAGE_PERL_DEVICE_SERIALPORT # runtime + select BR2_PACKAGE_PERL_TIME_PARSEDATE # runtime + help + creates a server used to receive events from an x10 client. + + https://metacpan.org/release/X10 + +comment "perl-x10 needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/perl-x10/perl-x10.hash b/bsp/buildroot/package/perl-x10/perl-x10.hash new file mode 100644 index 00000000..5411390e --- /dev/null +++ b/bsp/buildroot/package/perl-x10/perl-x10.hash @@ -0,0 +1,6 @@ +# retrieved by scancpan from http://cpan.metacpan.org/ +md5 20dcca2dfb978bfed3043276aa3481e5 X10-0.04.tar.gz +sha256 3dcee9d95614b2db70de608e933d42817f93fccd5b1f2f782b0846af487d9134 X10-0.04.tar.gz + +# computed by scancpan +sha256 e6f320afa82517d663be348dd2515ecb1454a7c851ba5590f13aca01d219be80 README diff --git a/bsp/buildroot/package/perl-x10/perl-x10.mk b/bsp/buildroot/package/perl-x10/perl-x10.mk new file mode 100644 index 00000000..4c90be65 --- /dev/null +++ b/bsp/buildroot/package/perl-x10/perl-x10.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# perl-x10 +# +################################################################################ + +PERL_X10_VERSION = 0.04 +PERL_X10_SOURCE = X10-$(PERL_X10_VERSION).tar.gz +PERL_X10_SITE = $(BR2_CPAN_MIRROR)/authors/id/R/RO/ROBF +PERL_X10_LICENSE = GPL-3.0 +PERL_X10_LICENSE_FILES = README +PERL_X10_DISTNAME = X10 + +$(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-xml-libxml/Config.in b/bsp/buildroot/package/perl-xml-libxml/Config.in index fb15e101..ce0a4783 100644 --- a/bsp/buildroot/package/perl-xml-libxml/Config.in +++ b/bsp/buildroot/package/perl-xml-libxml/Config.in @@ -3,11 +3,11 @@ config BR2_PACKAGE_PERL_XML_LIBXML depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_ZLIB - select BR2_PACKAGE_PERL_XML_NAMESPACESUPPORT - select BR2_PACKAGE_PERL_XML_SAX - select BR2_PACKAGE_PERL_XML_SAX_BASE + select BR2_PACKAGE_PERL_XML_NAMESPACESUPPORT # runtime + select BR2_PACKAGE_PERL_XML_SAX # runtime + select BR2_PACKAGE_PERL_XML_SAX_BASE # runtime help - Interface to Gnome libxml2 xml parsing and DOM library + Interface to Gnome libxml2 xml parsing and DOM library. https://github.com/shlomif/perl-XML-LibXML diff --git a/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash b/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash index bbe841a6..a3f4d5d6 100644 --- a/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash +++ b/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 43546fd9a3974f19323f9fb04861ece9 XML-LibXML-2.0132.tar.gz sha256 721452e3103ca188f5968ab06d5ba29fe8e00e49f4767790882095050312d476 XML-LibXML-2.0132.tar.gz + +# computed by scancpan +sha256 5046a7ec515cc1542beafdf2eadeeff24cc221fc3fde9913dd144fd263ae6100 LICENSE diff --git a/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk b/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk index ff831bb0..3218d34d 100644 --- a/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk +++ b/bsp/buildroot/package/perl-xml-libxml/perl-xml-libxml.mk @@ -7,9 +7,10 @@ PERL_XML_LIBXML_VERSION = 2.0132 PERL_XML_LIBXML_SOURCE = XML-LibXML-$(PERL_XML_LIBXML_VERSION).tar.gz PERL_XML_LIBXML_SITE = $(BR2_CPAN_MIRROR)/authors/id/S/SH/SHLOMIF -PERL_XML_LIBXML_DEPENDENCIES = zlib libxml2 perl-xml-namespacesupport perl-xml-sax perl-xml-sax-base +PERL_XML_LIBXML_DEPENDENCIES = zlib libxml2 PERL_XML_LIBXML_LICENSE = Artistic or GPL-1.0+ PERL_XML_LIBXML_LICENSE_FILES = LICENSE +PERL_XML_LIBXML_DISTNAME = XML-LibXML PERL_XML_LIBXML_CONF_OPTS = \ LIBS="-L $(STAGING_DIR)/usr/lib" \ diff --git a/bsp/buildroot/package/perl-xml-namespacesupport/Config.in b/bsp/buildroot/package/perl-xml-namespacesupport/Config.in index 93a697c6..dc1034d3 100644 --- a/bsp/buildroot/package/perl-xml-namespacesupport/Config.in +++ b/bsp/buildroot/package/perl-xml-namespacesupport/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_XML_NAMESPACESUPPORT bool "perl-xml-namespacesupport" help - A simple generic namespace processor + A simple generic namespace processor. https://github.com/perigrin/xml-namespacesupport diff --git a/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash b/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash index d55551c1..e5a98ecf 100644 --- a/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash +++ b/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 a8916c6d095bcf073e1108af02e78c97 XML-NamespaceSupport-1.12.tar.gz sha256 47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef XML-NamespaceSupport-1.12.tar.gz + +# computed by scancpan +sha256 3fed787f0f9e1d74024ec7ae5f0f4736c693bcf263781da2054eb4bb1337e911 LICENSE diff --git a/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk b/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk index 325440b3..c3c54da6 100644 --- a/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk +++ b/bsp/buildroot/package/perl-xml-namespacesupport/perl-xml-namespacesupport.mk @@ -9,5 +9,6 @@ PERL_XML_NAMESPACESUPPORT_SOURCE = XML-NamespaceSupport-$(PERL_XML_NAMESPACESUPP PERL_XML_NAMESPACESUPPORT_SITE = $(BR2_CPAN_MIRROR)/authors/id/P/PE/PERIGRIN PERL_XML_NAMESPACESUPPORT_LICENSE = Artistic or GPL-1.0+ PERL_XML_NAMESPACESUPPORT_LICENSE_FILES = LICENSE +PERL_XML_NAMESPACESUPPORT_DISTNAME = XML-NamespaceSupport $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-xml-sax-base/Config.in b/bsp/buildroot/package/perl-xml-sax-base/Config.in index 2ad25ac3..03b344d2 100644 --- a/bsp/buildroot/package/perl-xml-sax-base/Config.in +++ b/bsp/buildroot/package/perl-xml-sax-base/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_PERL_XML_SAX_BASE bool "perl-xml-sax-base" help - Base class for SAX Drivers and Filters + Base class for SAX Drivers and Filters. https://metacpan.org/release/XML-SAX-Base diff --git a/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash b/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash index a51e1d1b..1542922b 100644 --- a/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash +++ b/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ md5 ec347a14065dd7aec7d9fb181b2d7946 XML-SAX-Base-1.09.tar.gz sha256 66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0 XML-SAX-Base-1.09.tar.gz + +# computed by scancpan +sha256 2a9aae56e13888493523ee9053689627e092aafcf2c5fb06f06df07260f91b42 README diff --git a/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk b/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk index ec6e052b..810a4604 100644 --- a/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk +++ b/bsp/buildroot/package/perl-xml-sax-base/perl-xml-sax-base.mk @@ -9,5 +9,6 @@ PERL_XML_SAX_BASE_SOURCE = XML-SAX-Base-$(PERL_XML_SAX_BASE_VERSION).tar.gz PERL_XML_SAX_BASE_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GR/GRANTM PERL_XML_SAX_BASE_LICENSE = Artistic or GPL-1.0+ PERL_XML_SAX_BASE_LICENSE_FILES = README +PERL_XML_SAX_BASE_DISTNAME = XML-SAX-Base $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl-xml-sax/Config.in b/bsp/buildroot/package/perl-xml-sax/Config.in index 4f5567e2..4e603f3a 100644 --- a/bsp/buildroot/package/perl-xml-sax/Config.in +++ b/bsp/buildroot/package/perl-xml-sax/Config.in @@ -1,8 +1,8 @@ config BR2_PACKAGE_PERL_XML_SAX bool "perl-xml-sax" - select BR2_PACKAGE_PERL_XML_NAMESPACESUPPORT - select BR2_PACKAGE_PERL_XML_SAX_BASE + select BR2_PACKAGE_PERL_XML_NAMESPACESUPPORT # runtime + select BR2_PACKAGE_PERL_XML_SAX_BASE # runtime help - Simple API for XML + Simple API for XML. https://metacpan.org/release/XML-SAX diff --git a/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.hash b/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.hash index 6aa543c0..888e9d2b 100644 --- a/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.hash +++ b/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.hash @@ -1,3 +1,6 @@ # retrieved by scancpan from http://cpan.metacpan.org/ -md5 290f5375ae87fdebfdb5bc3854019f24 XML-SAX-0.99.tar.gz -sha256 32b04b8e36b6cc4cfc486de2d859d87af5386dd930f2383c49347050d6f5ad84 XML-SAX-0.99.tar.gz +md5 861a454f7bf269990ed2c1c125f4db48 XML-SAX-1.00.tar.gz +sha256 45ea6564ef8692155d57b2de0862b6442d3c7e29f4a9bc9ede5d7ecdc74c2ae3 XML-SAX-1.00.tar.gz + +# computed by scancpan +sha256 bf2fb225e77b46b8892ef2a8aa5efa92d65b176a870f42559d8b73b308a36509 LICENSE diff --git a/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.mk b/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.mk index 90b2cd69..17518367 100644 --- a/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.mk +++ b/bsp/buildroot/package/perl-xml-sax/perl-xml-sax.mk @@ -4,11 +4,11 @@ # ################################################################################ -PERL_XML_SAX_VERSION = 0.99 +PERL_XML_SAX_VERSION = 1.00 PERL_XML_SAX_SOURCE = XML-SAX-$(PERL_XML_SAX_VERSION).tar.gz PERL_XML_SAX_SITE = $(BR2_CPAN_MIRROR)/authors/id/G/GR/GRANTM -PERL_XML_SAX_DEPENDENCIES = perl-xml-namespacesupport perl-xml-sax-base PERL_XML_SAX_LICENSE = Artistic or GPL-1.0+ PERL_XML_SAX_LICENSE_FILES = LICENSE +PERL_XML_SAX_DISTNAME = XML-SAX $(eval $(perl-package)) diff --git a/bsp/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch b/bsp/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch deleted file mode 100644 index 5223b78c..00000000 --- a/bsp/buildroot/package/perl/0001-PATCH-Remove-existing-files-before-overwriting-them.patch +++ /dev/null @@ -1,46 +0,0 @@ -From ae65651eab053fc6dc4590dbb863a268215c1fc5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= -Date: Fri, 8 Jun 2018 11:45:40 +0100 -Subject: [PATCH] [PATCH] Remove existing files before overwriting them - -Archive should extract only the latest same-named entry. -Extracted regular file should not be writtent into existing block -device (or any other one). - -https://rt.cpan.org/Ticket/Display.html?id=125523 - -[Peter: rewrite path to match perl tarball with sed 's|\(lib/Archive\)|cpan/Archive-Tar/\1|g'] -Signed-off-by: Chris 'BinGOs' Williams -Signed-off-by: Peter Korsgaard ---- - cpan/Archive-Tar/lib/Archive/Tar.pm | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/cpan/Archive-Tar/lib/Archive/Tar.pm b/cpan/Archive-Tar/lib/Archive/Tar.pm -index 6244369..a83975f 100644 ---- a/cpan/Archive-Tar/lib/Archive/Tar.pm -+++ b/cpan/Archive-Tar/lib/Archive/Tar.pm -@@ -845,6 +845,20 @@ sub _extract_file { - return; - } - -+ ### If a file system already contains a block device with the same name as -+ ### the being extracted regular file, we would write the file's content -+ ### to the block device. So remove the existing file (block device) now. -+ ### If an archive contains multiple same-named entries, the last one -+ ### should replace the previous ones. So remove the old file now. -+ ### If the old entry is a symlink to a file outside of the CWD, the new -+ ### entry would create a file there. This is CVE-2018-12015 -+ ### . -+ if (-l $full || -e _) { -+ if (!unlink $full) { -+ $self->_error( qq[Could not remove old file '$full': $!] ); -+ return; -+ } -+ } - if( length $entry->type && $entry->is_file ) { - my $fh = IO::File->new; - $fh->open( $full, '>' ) or ( --- -2.11.0 - diff --git a/bsp/buildroot/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch b/bsp/buildroot/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch new file mode 100644 index 00000000..178c7baa --- /dev/null +++ b/bsp/buildroot/package/perl/0001-fix-the-generated-subdirectory-Makefiles.patch @@ -0,0 +1,30 @@ +From 30ae4c9e2ac6cd27138ebf124cbda9232c56bdf7 Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Tue, 16 Oct 2018 21:20:12 +0200 +Subject: [PATCH] fix the generated subdirectory Makefiles + +all variables used by BR must be propagated + +similar to https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/98e8532fffe5afa8186329acc44fb957427f1823 + +Signed-off-by: Francois Perrad +--- + cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +index d579256e86..48642e98fa 100644 +--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm ++++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +@@ -702,7 +702,7 @@ END + } + if ($self->{PARENT}) { + $self->{PARENT}->{CHILDREN}->{$newclass} = $self; +- foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE LD OPTIMIZE)) { ++ foreach my $opt (qw(POLLUTE PERL_CORE LINKTYPE AR FULL_AR CC CCFLAGS OPTIMIZE LD LDDLFLAGS LDFLAGS PERL_ARCHLIB DESTDIR )) { + if (exists $self->{PARENT}->{$opt} + and not exists $self->{$opt}) + { +-- +2.17.1 + diff --git a/bsp/buildroot/package/perl/perl.hash b/bsp/buildroot/package/perl/perl.hash index 210f6d58..57169008 100644 --- a/bsp/buildroot/package/perl/perl.hash +++ b/bsp/buildroot/package/perl/perl.hash @@ -1,7 +1,7 @@ -# Hashes from: http://www.cpan.org/src/5.0/perl-5.26.2.tar.xz.{md5,sha1,sha256}.txt -md5 1fa1b53eeff76aa37b17bfc9b2771671 perl-5.26.2.tar.xz -sha1 bfa5c7921ed7bf5e035dbf2f7ff81367b81e372c perl-5.26.2.tar.xz -sha256 0f8c0fb1b0db4681adb75c3ba0dd77a0472b1b359b9e80efd79fc27b4352132c perl-5.26.2.tar.xz +# Hashes from: http://www.cpan.org/src/5.0/perl-5.28.1.tar.xz.{md5,sha1,sha256}.txt +md5 fbb590c305f2f88578f448581b8cf9c4 perl-5.28.1.tar.xz +sha1 5fc239bebb8c484c3f5c58e663274ce668981651 perl-5.28.1.tar.xz +sha256 fea7162d4cca940a387f0587b93f6737d884bf74d8a9d7cfd978bc12cd0b202d perl-5.28.1.tar.xz -# Hashes from: http://github.com/arsv/perl-cross/releases/download/1.1.9/perl-cross-1.1.9.hash -sha256 0bbb450e48d07e7fdf867d578b1780ac8f0e8dc284d52301dac4d763b42f6041 perl-cross-1.1.9.tar.gz +# Hashes from: https://github.com/arsv/perl-cross/releases/download/1.2.1/perl-cross-1.2.1.hash +sha256 8b706bc688ddf71b62d649bde72f648669f18b37fe0c54ec6201142ca3943498 perl-cross-1.2.1.tar.gz diff --git a/bsp/buildroot/package/perl/perl.mk b/bsp/buildroot/package/perl/perl.mk index 7b4a2710..9205ef64 100644 --- a/bsp/buildroot/package/perl/perl.mk +++ b/bsp/buildroot/package/perl/perl.mk @@ -5,15 +5,15 @@ ################################################################################ # When updating the version here, also update utils/scancpan -PERL_VERSION_MAJOR = 26 -PERL_VERSION = 5.$(PERL_VERSION_MAJOR).2 +PERL_VERSION_MAJOR = 28 +PERL_VERSION = 5.$(PERL_VERSION_MAJOR).1 PERL_SITE = http://www.cpan.org/src/5.0 PERL_SOURCE = perl-$(PERL_VERSION).tar.xz PERL_LICENSE = Artistic or GPL-1.0+ PERL_LICENSE_FILES = Artistic Copying README PERL_INSTALL_STAGING = YES -PERL_CROSS_VERSION = 1.1.9 +PERL_CROSS_VERSION = 1.2.1 # DO NOT refactor with the github helper (the result is not the same) PERL_CROSS_SITE = https://github.com/arsv/perl-cross/releases/download/$(PERL_CROSS_VERSION) PERL_CROSS_SOURCE = perl-cross-$(PERL_CROSS_VERSION).tar.gz @@ -24,7 +24,7 @@ PERL_EXTRA_DOWNLOADS = $(PERL_CROSS_SITE)/$(PERL_CROSS_SOURCE) # as a separate package. Instead, it is downloaded and extracted # together with perl define PERL_CROSS_EXTRACT - $(call suitable-extractor,$(PERL_CROSS_SOURCE)) $(DL_DIR)/$(PERL_CROSS_SOURCE) | \ + $(call suitable-extractor,$(PERL_CROSS_SOURCE)) $(PERL_DL_DIR)/$(PERL_CROSS_SOURCE) | \ $(TAR) --strip-components=1 -C $(@D) $(TAR_OPTIONS) - endef PERL_POST_EXTRACT_HOOKS += PERL_CROSS_EXTRACT diff --git a/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.hash b/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.hash index 7cd85da7..e369049c 100644 --- a/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.hash +++ b/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.hash @@ -1,2 +1,3 @@ # locally computed -sha256 e8add82fd41d9cb274b88ee369a1f7366e35f85abcfcabb9e2a383574bb779c5 phidgetwebservice_2.1.8.20140319.tar.gz +sha256 904af15ecd13ae4e807ed8af181e3a4521e59f8f3791be0aa4ceb1afdbf764a2 phidgetwebservice_2.1.8.20170607.tar.gz +sha256 ea8af5e789cb2d4e9b10bce3874982ade163b749b6bfbdb32e2df21c4d106de1 COPYING diff --git a/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.mk b/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.mk index 36c0185e..bdcc388b 100644 --- a/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.mk +++ b/bsp/buildroot/package/phidgetwebservice/phidgetwebservice.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHIDGETWEBSERVICE_VERSION = 2.1.8.20140319 +PHIDGETWEBSERVICE_VERSION = 2.1.8.20170607 PHIDGETWEBSERVICE_SOURCE = phidgetwebservice_$(PHIDGETWEBSERVICE_VERSION).tar.gz PHIDGETWEBSERVICE_SITE = http://www.phidgets.com/downloads/libraries PHIDGETWEBSERVICE_DEPENDENCIES = libphidget diff --git a/bsp/buildroot/package/php-amqp/php-amqp.hash b/bsp/buildroot/package/php-amqp/php-amqp.hash index 4b3b1972..c061efab 100644 --- a/bsp/buildroot/package/php-amqp/php-amqp.hash +++ b/bsp/buildroot/package/php-amqp/php-amqp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 f45831d498b8fa47a151c31f6abdc0530aa6eabda6e2e10514aca3bdc76a5098 amqp-1.9.0.tgz +sha256 b66b8b8264749cb7a69ae4d09665dad1559b6c4f01430206c8e4187bcd8c782d amqp-1.9.4.tgz +sha256 ecd004e9ae3fcf54896b562d5e8008e36041f2620076effd58e5f4187299cee8 LICENSE diff --git a/bsp/buildroot/package/php-amqp/php-amqp.mk b/bsp/buildroot/package/php-amqp/php-amqp.mk index 6a8c52c4..c808ecdb 100644 --- a/bsp/buildroot/package/php-amqp/php-amqp.mk +++ b/bsp/buildroot/package/php-amqp/php-amqp.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_AMQP_VERSION = 1.9.0 +PHP_AMQP_VERSION = 1.9.4 PHP_AMQP_SOURCE = amqp-$(PHP_AMQP_VERSION).tgz PHP_AMQP_SITE = https://pecl.php.net/get PHP_AMQP_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/bsp/buildroot/package/php-memcached/php-memcached.hash b/bsp/buildroot/package/php-memcached/php-memcached.hash index 7a8ec283..dd294f46 100644 --- a/bsp/buildroot/package/php-memcached/php-memcached.hash +++ b/bsp/buildroot/package/php-memcached/php-memcached.hash @@ -1,2 +1,5 @@ # Locally calculated -sha256 5d1c29a1d5e391d6bb7b736a07e063d2f0834800673dd246d64ce1b73e47645d memcached-3.0.3.tgz +sha256 20786213ff92cd7ebdb0d0ac10dde1e9580a2f84296618b666654fd76ea307d4 memcached-3.1.3.tgz +sha256 24e8e3a9529204ead9422fa17cf3ddd75d292a8763b87fdb20591964f2e6ebe0 LICENSE +sha256 a453a7a272fbd24105b39959f76996d50dad80b22d1c310f6c67f74f62ae4054 fastlz/LICENSE +sha256 bba8cb50c660842c5ca459c5004395bdef8f01c1b64f97a9978f1053f173cb82 g_fmt.h diff --git a/bsp/buildroot/package/php-memcached/php-memcached.mk b/bsp/buildroot/package/php-memcached/php-memcached.mk index 224a3445..4607d099 100644 --- a/bsp/buildroot/package/php-memcached/php-memcached.mk +++ b/bsp/buildroot/package/php-memcached/php-memcached.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_MEMCACHED_VERSION = 3.0.3 +PHP_MEMCACHED_VERSION = 3.1.3 PHP_MEMCACHED_SOURCE = memcached-$(PHP_MEMCACHED_VERSION).tgz PHP_MEMCACHED_SITE = https://pecl.php.net/get PHP_MEMCACHED_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/bsp/buildroot/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch b/bsp/buildroot/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch new file mode 100644 index 00000000..afc5de99 --- /dev/null +++ b/bsp/buildroot/package/php-ssh2/0001-fix-php_url-fields-usage-for-PHP-7-3.patch @@ -0,0 +1,302 @@ +From a8835aab2c15e794fce13bd927295719e384ad2d Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Thu, 28 Jun 2018 07:10:35 +0200 +Subject: [PATCH] fix php_url fields usage for PHP 7.3 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/php/pecl-networking-ssh2/commit/a8835aab2c15e794fce13bd927295719e384ad2d] +--- + php_ssh2.h | 8 +++++++ + ssh2_fopen_wrappers.c | 55 +++++++++++++++++++++++++++---------------- + ssh2_sftp.c | 20 ++++++++-------- + 3 files changed, 53 insertions(+), 30 deletions(-) + +diff --git a/php_ssh2.h b/php_ssh2.h +index 734b795..d010ff9 100644 +--- a/php_ssh2.h ++++ b/php_ssh2.h +@@ -166,6 +166,14 @@ extern php_stream_wrapper php_ssh2_sftp_wrapper; + extern int le_ssh2_session; + extern int le_ssh2_sftp; + ++#if PHP_VERSION_ID < 70300 ++#define SSH2_URL_STR(a) (a) ++#define SSH2_URL_LEN(a) strlen(a) ++#else ++#define SSH2_URL_STR(a) ZSTR_VAL(a) ++#define SSH2_URL_LEN(a) ZSTR_LEN(a) ++#endif ++ + #endif /* PHP_SSH2_H */ + + /* +diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c +index 2f96ca4..f2f3475 100644 +--- a/ssh2_fopen_wrappers.c ++++ b/ssh2_fopen_wrappers.c +@@ -215,7 +215,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + php_url *resource; + zval *methods = NULL, *callbacks = NULL, zsession, *tmpzval; + zend_long resource_id; +- char *h, *s, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; ++ char *h, *username = NULL, *password = NULL, *pubkey_file = NULL, *privkey_file = NULL; + int username_len = 0, password_len = 0; + + h = strstr(path, "Resource id #"); +@@ -233,13 +233,13 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + return NULL; + } + +- if (strncmp(resource->scheme, "ssh2.", sizeof("ssh2.") - 1)) { ++ if (strncmp(SSH2_URL_STR(resource->scheme), "ssh2.", sizeof("ssh2.") - 1)) { + /* Not an ssh wrapper */ + php_url_free(resource); + return NULL; + } + +- if (strcmp(resource->scheme + sizeof("ssh2.") - 1, type)) { ++ if (strcmp(SSH2_URL_STR(resource->scheme) + sizeof("ssh2.") - 1, type)) { + /* Wrong ssh2. wrapper type */ + php_url_free(resource); + return NULL; +@@ -253,13 +253,27 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + Find resource->path in the path string, then copy the entire string from the original path. + This includes ?query#fragment in the path string + */ ++// TODO copy seems uneeded ++#if PHP_VERSION_ID < 70300 ++ { ++ char * s; ++ + s = resource->path; + resource->path = estrdup(strstr(path, resource->path)); + efree(s); ++ } ++#else ++ { ++ zend_string *tmp; ++ ++ tmp = resource->path; ++ resource->path = zend_string_init(ZSTR_VAL(resource->path), ZSTR_LEN(resource->path), 0); ++ zend_string_release(tmp); ++ } ++#endif + + /* Look for a resource ID to reuse a session */ +- s = resource->host; +- if (is_numeric_string(s, strlen(s), &resource_id, NULL, 0) == IS_LONG) { ++ if (is_numeric_string(SSH2_URL_STR(resource->host), SSH2_URL_LEN(resource->host), &resource_id, NULL, 0) == IS_LONG) { + php_ssh2_sftp_data *sftp_data; + zval *zresource; + +@@ -309,7 +323,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + } + + /* Fallback on finding it in the context */ +- if (resource->host[0] == 0 && context && psftp && ++ if (SSH2_URL_STR(resource->host)[0] == 0 && context && psftp && + (tmpzval = php_stream_context_get_option(context, "ssh2", "sftp")) != NULL && + Z_TYPE_P(tmpzval) == IS_RESOURCE) { + php_ssh2_sftp_data *sftp_data; +@@ -323,7 +337,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + return resource; + } + } +- if (resource->host[0] == 0 && context && ++ if (SSH2_URL_STR(resource->host)[0] == 0 && context && + (tmpzval = php_stream_context_get_option(context, "ssh2", "session")) != NULL && + Z_TYPE_P(tmpzval) == IS_RESOURCE) { + session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); +@@ -399,19 +413,19 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + } + + if (resource->user) { +- int len = strlen(resource->user); ++ int len = SSH2_URL_LEN(resource->user); + + if (len) { +- username = resource->user; ++ username = SSH2_URL_STR(resource->user); + username_len = len; + } + } + + if (resource->pass) { +- int len = strlen(resource->pass); ++ int len = SSH2_URL_LEN(resource->pass); + + if (len) { +- password = resource->pass; ++ password = SSH2_URL_STR(resource->pass); + password_len = len; + } + } +@@ -422,7 +436,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + return NULL; + } + +- session = php_ssh2_session_connect(resource->host, resource->port, methods, callbacks); ++ session = php_ssh2_session_connect(SSH2_URL_STR(resource->host), resource->port, methods, callbacks); + if (!session) { + /* Unable to connect! */ + php_url_free(resource); +@@ -482,6 +496,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + *psftp = sftp; + } + ++ //TODO may be undefined + *presource_id = Z_LVAL(zsession); + *psession = session; + +@@ -527,7 +542,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id + zval_copy_ctor(©val); + convert_to_string(©val); + if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) { +- php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval)); ++ php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval)); + } + zval_dtor(©val); + } +@@ -631,7 +646,7 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con + zval_ptr_dtor(©val); + } + +- s = resource->path ? resource->path : NULL; ++ s = resource->path ? SSH2_URL_STR(resource->path) : NULL; + + if (s && s[0] == '/') { + /* Terminal type encoded into URL overrides context terminal type */ +@@ -766,7 +781,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_ + zval_copy_ctor(©val); + convert_to_string(©val); + if (libssh2_channel_setenv_ex(channel, key->val, key->len, Z_STRVAL(copyval), Z_STRLEN(copyval))) { +- php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", key, Z_STRVAL(copyval)); ++ php_error_docref(NULL, E_WARNING, "Failed setting %s=%s on remote end", ZSTR_VAL(key), Z_STRVAL(copyval)); + } + zval_dtor(©val); + } +@@ -878,7 +893,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + zval_ptr_dtor(copyval); + } + +- stream = php_ssh2_exec_command(session, resource_id, resource->path + 1, terminal, terminal_len, environment, width, height, type); ++ stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); + if (!stream) { + // TODO Sean-Der + //zend_list_delete(resource_id); +@@ -1021,7 +1036,7 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const + return NULL; + } + +- stream = php_ssh2_scp_xfer(session, resource_id, resource->path); ++ stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path)); + if (!stream) { + //TODO Sean-Der + //zend_list_delete(resource_id); +@@ -1147,7 +1162,7 @@ PHP_FUNCTION(ssh2_scp_send) + char *error_msg = NULL; + + last_error = libssh2_session_last_error(session, &error_msg, NULL, 0); +- php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s", error_msg); ++ php_error_docref(NULL, E_WARNING, "Failure creating remote file: %s (%d)", error_msg, last_error); + php_stream_close(local_file); + RETURN_FALSE; + } +@@ -1262,10 +1277,10 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co + return NULL; + } + +- if (resource->path && resource->path[0] == '/') { ++ if (resource->path && SSH2_URL_STR(resource->path)[0] == '/') { + char *colon; + +- host = resource->path + 1; ++ host = SSH2_URL_STR(resource->path) + 1; + if (*host == '[') { + /* IPv6 Encapsulated Format */ + host++; +diff --git a/ssh2_sftp.c b/ssh2_sftp.c +index 13f89f0..6332be8 100644 +--- a/ssh2_sftp.c ++++ b/ssh2_sftp.c +@@ -238,7 +238,7 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons + + flags = php_ssh2_parse_fopen_modes((char *)mode); + +- handle = libssh2_sftp_open(sftp, resource->path, flags, perms); ++ handle = libssh2_sftp_open(sftp, SSH2_URL_STR(resource->path), flags, perms); + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +@@ -341,7 +341,7 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c + return NULL; + } + +- handle = libssh2_sftp_opendir(sftp, resource->path); ++ handle = libssh2_sftp_opendir(sftp, SSH2_URL_STR(resource->path)); + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +@@ -386,7 +386,7 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i + return -1; + } + +- if (libssh2_sftp_stat_ex(sftp, resource->path, strlen(resource->path), ++ if (libssh2_sftp_stat_ex(sftp, SSH2_URL_STR(resource->path), SSH2_URL_LEN(resource->path), + (flags & PHP_STREAM_URL_STAT_LINK) ? LIBSSH2_SFTP_LSTAT : LIBSSH2_SFTP_STAT, &attrs)) { + php_url_free(resource); + //zend_list_delete(sftp_rsrcid); +@@ -420,7 +420,7 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in + return 0; + } + +- result = libssh2_sftp_unlink(sftp, resource->path); ++ result = libssh2_sftp_unlink(sftp, SSH2_URL_STR(resource->path)); + php_url_free(resource); + + //zend_list_delete(sftp_rsrcid); +@@ -462,7 +462,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro + return 0; + } + +- result = libssh2_sftp_rename(sftp, resource->path, resource_to->path); ++ result = libssh2_sftp_rename(sftp, SSH2_URL_STR(resource->path), SSH2_URL_STR(resource_to->path)); + php_url_free(resource); + php_url_free(resource_to); + +@@ -493,13 +493,13 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int + + if (options & PHP_STREAM_MKDIR_RECURSIVE) { + /* Just attempt to make every directory, some will fail, but we only care about the last success/failure */ +- char *p = resource->path; ++ char *p = SSH2_URL_STR(resource->path); + while ((p = strchr(p + 1, '/'))) { +- libssh2_sftp_mkdir_ex(sftp, resource->path, p - resource->path, mode); ++ libssh2_sftp_mkdir_ex(sftp, SSH2_URL_STR(resource->path), p - SSH2_URL_STR(resource->path), mode); + } + } + +- result = libssh2_sftp_mkdir(sftp, resource->path, mode); ++ result = libssh2_sftp_mkdir(sftp, SSH2_URL_STR(resource->path), mode); + php_url_free(resource); + + //zend_list_delete(sftp_rsrcid); +@@ -527,7 +527,7 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int + return 0; + } + +- result = libssh2_sftp_rmdir(sftp, resource->path); ++ result = libssh2_sftp_rmdir(sftp, SSH2_URL_STR(resource->path)); + php_url_free(resource); + + //zend_list_delete(sftp_rsrcid); +@@ -836,7 +836,7 @@ PHP_FUNCTION(ssh2_sftp_readlink) + } + + if ((targ_len = libssh2_sftp_symlink_ex(data->sftp, link->val, link->len, targ, 8192, LIBSSH2_SFTP_READLINK)) < 0) { +- php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", link); ++ php_error_docref(NULL, E_WARNING, "Unable to read link '%s'", ZSTR_VAL(link)); + RETURN_FALSE; + } + diff --git a/bsp/buildroot/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch b/bsp/buildroot/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch new file mode 100644 index 00000000..d6d62947 --- /dev/null +++ b/bsp/buildroot/package/php-ssh2/0002-dstogov-Fixed-PHP7-port-Restored-commented-reference-counting.patch @@ -0,0 +1,746 @@ +From 073067ba96ac99ed5696d27f13ca6c8124986e74 Mon Sep 17 00:00:00 2001 +From: Jan-E +Date: Thu, 28 Jun 2018 08:43:48 +0200 +Subject: [PATCH] @dstogov Fixed PHP7 port. Restored commented reference + counting. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/php/pecl-networking-ssh2/commit/073067ba96ac99ed5696d27f13ca6c8124986e74] +--- + php_ssh2.h | 14 ++--- + ssh2.c | 26 ++++----- + ssh2_fopen_wrappers.c | 129 ++++++++++++++++++------------------------ + ssh2_sftp.c | 59 +++++++++---------- + 4 files changed, 102 insertions(+), 126 deletions(-) + +diff --git a/php_ssh2.h b/php_ssh2.h +index d010ff9..2bbaa26 100644 +--- a/php_ssh2.h ++++ b/php_ssh2.h +@@ -73,14 +73,14 @@ typedef struct _php_ssh2_sftp_data { + LIBSSH2_SESSION *session; + LIBSSH2_SFTP *sftp; + +- int session_rsrcid; ++ zend_resource *session_rsrc; + } php_ssh2_sftp_data; + + typedef struct _php_ssh2_listener_data { + LIBSSH2_SESSION *session; + LIBSSH2_LISTENER *listener; + +- int session_rsrcid; ++ zend_resource *session_rsrc; + } php_ssh2_listener_data; + + #include "libssh2_publickey.h" +@@ -89,7 +89,7 @@ typedef struct _php_ssh2_pkey_subsys_data { + LIBSSH2_SESSION *session; + LIBSSH2_PUBLICKEY *pkey; + +- int session_rsrcid; ++ zend_resource *session_rsrc; + } php_ssh2_pkey_subsys_data; + + #define SSH2_FETCH_NONAUTHENTICATED_SESSION(session, zsession) \ +@@ -118,8 +118,8 @@ typedef struct _php_ssh2_channel_data { + char is_blocking; + long timeout; + +- /* Resource ID */ +- int session_rsrcid; ++ /* Resource */ ++ zend_resource *session_rsrc; + + /* Allow one stream to be closed while the other is kept open */ + unsigned char *refcount; +@@ -151,8 +151,8 @@ PHP_FUNCTION(ssh2_sftp_realpath); + LIBSSH2_SESSION *php_ssh2_session_connect(char *host, int port, zval *methods, zval *callbacks); + void php_ssh2_sftp_dtor(zend_resource *rsrc); + php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context, +- LIBSSH2_SESSION **psession, int *presource_id, +- LIBSSH2_SFTP **psftp, int *psftp_rsrcid); ++ LIBSSH2_SESSION **psession, zend_resource **presource, ++ LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc); + + extern php_stream_ops php_ssh2_channel_stream_ops; + +diff --git a/ssh2.c b/ssh2.c +index e73867e..849766b 100644 +--- a/ssh2.c ++++ b/ssh2.c +@@ -772,9 +772,8 @@ PHP_FUNCTION(ssh2_forward_listen) + + data = emalloc(sizeof(php_ssh2_listener_data)); + data->session = session; +- data->session_rsrcid = Z_LVAL_P(zsession); +- //TODO Sean-Der +- //zend_list_addref(data->session_rsrcid); ++ data->session_rsrc = Z_RES_P(zsession); ++ Z_ADDREF_P(zsession); + data->listener = listener; + + RETURN_RES(zend_register_resource(data, le_ssh2_listener)); +@@ -810,7 +809,7 @@ PHP_FUNCTION(ssh2_forward_accept) + channel_data->channel = channel; + channel_data->streamid = 0; + channel_data->is_blocking = 0; +- channel_data->session_rsrcid = data->session_rsrcid; ++ channel_data->session_rsrc = data->session_rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -820,8 +819,12 @@ PHP_FUNCTION(ssh2_forward_accept) + libssh2_channel_free(channel); + RETURN_FALSE; + } +- //TODO Sean-Der +- //zend_list_addref(channel_data->session_rsrcid); ++ ++#if PHP_VERSION_ID < 70300 ++ GC_REFCOUNT(channel_data->session_rsrc)++; ++#else ++ GC_ADDREF(channel_data->session_rsrc); ++#endif + + php_stream_to_zval(stream, return_value); + } +@@ -975,9 +978,8 @@ PHP_FUNCTION(ssh2_publickey_init) + + data = emalloc(sizeof(php_ssh2_pkey_subsys_data)); + data->session = session; +- data->session_rsrcid = Z_RES_P(zsession)->handle; +- //TODO Sean-Der +- //zend_list_addref(data->session_rsrcid); ++ data->session_rsrc = Z_RES_P(zsession); ++ Z_ADDREF_P(zsession); + data->pkey = pkey; + + RETURN_RES(zend_register_resource(data, le_ssh2_pkey_subsys)); +@@ -1280,8 +1282,7 @@ static void php_ssh2_listener_dtor(zend_resource *rsrc) + LIBSSH2_LISTENER *listener = data->listener; + + libssh2_channel_forward_cancel(listener); +- // TODO Sean-Der +- //zend_list_delete(data->session_rsrcid); ++ zend_list_delete(data->session_rsrc); + efree(data); + } + +@@ -1291,8 +1292,7 @@ static void php_ssh2_pkey_subsys_dtor(zend_resource *rsrc) + LIBSSH2_PUBLICKEY *pkey = data->pkey; + + libssh2_publickey_shutdown(pkey); +- // TODO Sean-Der +- //zend_list_delete(data->session_rsrcid); ++ zend_list_delete(data->session_rsrc); + efree(data); + } + +diff --git a/ssh2_fopen_wrappers.c b/ssh2_fopen_wrappers.c +index f2f3475..c4eb9dc 100644 +--- a/ssh2_fopen_wrappers.c ++++ b/ssh2_fopen_wrappers.c +@@ -47,11 +47,9 @@ static size_t php_ssh2_channel_stream_write(php_stream *stream, const char *buf, + php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract; + size_t writestate; + LIBSSH2_SESSION *session; +- zval *zresource; + + libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking); +- zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid); +- session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); ++ session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); + + + +@@ -90,12 +88,10 @@ static size_t php_ssh2_channel_stream_read(php_stream *stream, char *buf, size_t + php_ssh2_channel_data *abstract = (php_ssh2_channel_data*)stream->abstract; + ssize_t readstate; + LIBSSH2_SESSION *session; +- zval *zresource; + + stream->eof = libssh2_channel_eof(abstract->channel); + libssh2_channel_set_blocking(abstract->channel, abstract->is_blocking); +- zresource = php_ssh2_zval_from_resource_handle(abstract->session_rsrcid); +- session = (LIBSSH2_SESSION *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); ++ session = (LIBSSH2_SESSION *)zend_fetch_resource(abstract->session_rsrc, PHP_SSH2_SESSION_RES_NAME, le_ssh2_session); + + #ifdef PHP_SSH2_SESSION_TIMEOUT + if (abstract->is_blocking) { +@@ -137,8 +133,7 @@ static int php_ssh2_channel_stream_close(php_stream *stream, int close_handle) + } + libssh2_channel_eof(abstract->channel); + libssh2_channel_free(abstract->channel); +- //TODO Sean-Der +- //zend_list_delete(abstract->session_rsrcid); ++ zend_list_delete(abstract->session_rsrc); + } + efree(abstract); + +@@ -207,8 +202,8 @@ php_stream_ops php_ssh2_channel_stream_ops = { + * Parse an ssh2.*:// path + */ + php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stream_context *context, +- LIBSSH2_SESSION **psession, int *presource_id, +- LIBSSH2_SFTP **psftp, int *psftp_rsrcid) ++ LIBSSH2_SESSION **psession, zend_resource **presource, ++ LIBSSH2_SFTP **psftp, zend_resource **psftp_rsrc) + { + php_ssh2_sftp_data *sftp_data = NULL; + LIBSSH2_SESSION *session; +@@ -283,11 +278,10 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(zresource), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp); + if (sftp_data) { + /* Want the sftp layer */ +- //TODO Sean-Der +- //zend_list_addref(resource_id); +- *psftp_rsrcid = resource_id; ++ Z_ADDREF_P(zresource); ++ *psftp_rsrc = Z_RES_P(zresource); + *psftp = sftp_data->sftp; +- *presource_id = sftp_data->session_rsrcid; ++ *presource = sftp_data->session_rsrc; + *psession = sftp_data->session; + return resource; + } +@@ -305,18 +299,16 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); + sftp_data->sftp = sftp; + sftp_data->session = session; +- sftp_data->session_rsrcid = resource_id; +- //TODO Sean-Der +- //zend_list_addref(resource_id); +- *psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle; ++ sftp_data->session_rsrc = Z_RES_P(zresource); ++ Z_ADDREF_P(zresource); ++ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp); + *psftp = sftp; +- *presource_id = resource_id; ++ *presource = Z_RES_P(zresource); + *psession = session; + return resource; + } +- //TODO Sean-Der +- //zend_list_addref(resource_id); +- *presource_id = resource_id; ++ Z_ADDREF_P(zresource); ++ *presource = Z_RES_P(zresource); + *psession = session; + return resource; + } +@@ -330,9 +322,9 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = (php_ssh2_sftp_data *)zend_fetch_resource(Z_RES_P(tmpzval), PHP_SSH2_SFTP_RES_NAME, le_ssh2_sftp); + if (sftp_data) { + Z_ADDREF_P(tmpzval); +- *psftp_rsrcid = Z_LVAL_P(tmpzval); ++ *psftp_rsrc = Z_RES_P(tmpzval); + *psftp = sftp_data->sftp; +- *presource_id = sftp_data->session_rsrcid; ++ *presource = sftp_data->session_rsrc; + *psession = sftp_data->session; + return resource; + } +@@ -354,17 +346,17 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); + sftp_data->sftp = sftp; + sftp_data->session = session; +- sftp_data->session_rsrcid = Z_LVAL_P(tmpzval); ++ sftp_data->session_rsrc = Z_RES_P(tmpzval); + Z_ADDREF_P(tmpzval); +- *psftp_rsrcid = zend_register_resource(sftp_data, le_ssh2_sftp)->handle; ++ *psftp_rsrc = zend_register_resource(sftp_data, le_ssh2_sftp); + *psftp = sftp; +- *presource_id = Z_RES_P(tmpzval)->handle; ++ *presource = Z_RES_P(tmpzval); + *psession = session; + return resource; + } + Z_ADDREF_P(tmpzval); + *psession = session; +- *presource_id = Z_LVAL_P(tmpzval); ++ *presource = Z_RES_P(tmpzval); + return resource; + } + } +@@ -465,8 +457,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + + /* Auth failure */ + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(Z_LVAL(zsession)); ++ zend_list_delete(Z_RES(zsession)); + return NULL; + + session_authed: +@@ -480,24 +471,22 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + sftp = libssh2_sftp_init(session); + if (!sftp) { + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(Z_LVAL(zsession)); ++ zend_list_delete(Z_RES(zsession)); + return NULL; + } + + sftp_data = emalloc(sizeof(php_ssh2_sftp_data)); + sftp_data->session = session; + sftp_data->sftp = sftp; +- sftp_data->session_rsrcid = Z_LVAL(zsession); ++ sftp_data->session_rsrc = Z_RES(zsession); + + //TODO Sean-Der + //ZEND_REGISTER_RESOURCE(sftp_data, le_ssh2_sftp); +- *psftp_rsrcid = Z_LVAL(zsftp); ++ *psftp_rsrc = Z_RES(zsftp); + *psftp = sftp; + } + +- //TODO may be undefined +- *presource_id = Z_LVAL(zsession); ++ *presource = Z_RES(zsession); + *psession = session; + + return resource; +@@ -511,7 +500,7 @@ php_url *php_ssh2_fopen_wraper_parse_path(const char *path, char *type, php_stre + /* {{{ php_ssh2_shell_open + * Make a stream from a session + */ +-static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id, char *term, int term_len, zval *environment, long width, long height, long type) ++static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, zend_resource *resource, char *term, int term_len, zval *environment, long width, long height, long type) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -578,7 +567,7 @@ static php_stream *php_ssh2_shell_open(LIBSSH2_SESSION *session, int resource_id + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = resource; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -599,11 +588,12 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con + zend_long width = PHP_SSH2_DEFAULT_TERM_WIDTH; + zend_long height = PHP_SSH2_DEFAULT_TERM_HEIGHT; + zend_long type = PHP_SSH2_DEFAULT_TERM_UNIT; +- int resource_id = 0, terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1; ++ zend_resource *rsrc = NULL; ++ int terminal_len = sizeof(PHP_SSH2_DEFAULT_TERMINAL) - 1; + php_url *resource; + char *s; + +- resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "shell", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } +@@ -677,10 +667,9 @@ static php_stream *php_ssh2_fopen_wrapper_shell(php_stream_wrapper *wrapper, con + /* TODO: Accept resolution and environment vars as URL style parameters + * ssh2.shell://hostorresource/terminal/99x99c?envvar=envval&envvar=envval.... + */ +- stream = php_ssh2_shell_open(session, resource_id, terminal, terminal_len, environment, width, height, type); ++ stream = php_ssh2_shell_open(session, rsrc, terminal, terminal_len, environment, width, height, type); + if (!stream) { +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -730,7 +719,7 @@ PHP_FUNCTION(ssh2_shell) + + SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); + +- stream = php_ssh2_shell_open(session, Z_RES_P(zsession)->handle, term, term_len, environment, width, height, type); ++ stream = php_ssh2_shell_open(session, Z_RES_P(zsession), term, term_len, environment, width, height, type); + if (!stream) { + RETURN_FALSE; + } +@@ -749,7 +738,7 @@ PHP_FUNCTION(ssh2_shell) + /* {{{ php_ssh2_exec_command + * Make a stream from a session + */ +-static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_id, char *command, char *term, int term_len, zval *environment, long width, long height, long type) ++static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, zend_resource *rsrc, char *command, char *term, int term_len, zval *environment, long width, long height, long type) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -819,7 +808,7 @@ static php_stream *php_ssh2_exec_command(LIBSSH2_SESSION *session, int resource_ + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -836,7 +825,7 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + LIBSSH2_SESSION *session = NULL; + php_stream *stream; + zval *tmpzval, *environment = NULL; +- int resource_id = 0; ++ zend_resource *rsrc = NULL; + php_url *resource; + char *terminal = NULL; + int terminal_len = 0; +@@ -844,14 +833,13 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + long height = PHP_SSH2_DEFAULT_TERM_HEIGHT; + long type = PHP_SSH2_DEFAULT_TERM_UNIT; + +- resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "exec", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } + if (!resource->path) { + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + return NULL; + } + +@@ -893,10 +881,9 @@ static php_stream *php_ssh2_fopen_wrapper_exec(php_stream_wrapper *wrapper, cons + zval_ptr_dtor(copyval); + } + +- stream = php_ssh2_exec_command(session, resource_id, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); ++ stream = php_ssh2_exec_command(session, rsrc, SSH2_URL_STR(resource->path) + 1, terminal, terminal_len, environment, width, height, type); + if (!stream) { +- // TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -963,7 +950,7 @@ PHP_FUNCTION(ssh2_exec) + + SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); + +- stream = php_ssh2_exec_command(session, Z_RES_P(zsession)->handle, command, term, term_len, environment, width, height, type); ++ stream = php_ssh2_exec_command(session, Z_RES_P(zsession), command, term, term_len, environment, width, height, type); + if (!stream) { + RETURN_FALSE; + } +@@ -982,7 +969,7 @@ PHP_FUNCTION(ssh2_exec) + /* {{{ php_ssh2_scp_xfer + * Make a stream from a session + */ +-static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, char *filename) ++static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, zend_resource *rsrc, char *filename) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -1002,7 +989,7 @@ static php_stream *php_ssh2_scp_xfer(LIBSSH2_SESSION *session, int resource_id, + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r"); +@@ -1018,28 +1005,26 @@ static php_stream *php_ssh2_fopen_wrapper_scp(php_stream_wrapper *wrapper, const + { + LIBSSH2_SESSION *session = NULL; + php_stream *stream; +- int resource_id = 0; ++ zend_resource *rsrc = NULL; + php_url *resource; + + if (strchr(mode, '+') || strchr(mode, 'a') || strchr(mode, 'w')) { + return NULL; + } + +- resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "scp", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } + if (!resource->path) { + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + return NULL; + } + +- stream = php_ssh2_scp_xfer(session, resource_id, SSH2_URL_STR(resource->path)); ++ stream = php_ssh2_scp_xfer(session, rsrc, SSH2_URL_STR(resource->path)); + if (!stream) { +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -1231,7 +1216,7 @@ PHP_FUNCTION(ssh2_scp_send) + /* {{{ php_ssh2_direct_tcpip + * Make a stream from a session + */ +-static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_id, char *host, int port) ++static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, zend_resource *rsrc, char *host, int port) + { + LIBSSH2_CHANNEL *channel; + php_ssh2_channel_data *channel_data; +@@ -1251,7 +1236,7 @@ static php_stream *php_ssh2_direct_tcpip(LIBSSH2_SESSION *session, int resource_ + channel_data->streamid = 0; + channel_data->is_blocking = 0; + channel_data->timeout = 0; +- channel_data->session_rsrcid = resource_id; ++ channel_data->session_rsrc = rsrc; + channel_data->refcount = NULL; + + stream = php_stream_alloc(&php_ssh2_channel_stream_ops, channel_data, 0, "r+"); +@@ -1270,9 +1255,9 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co + php_url *resource; + char *host = NULL; + int port = 0; +- int resource_id = 0; ++ zend_resource *rsrc; + +- resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &resource_id, NULL, NULL); ++ resource = php_ssh2_fopen_wraper_parse_path(path, "tunnel", context, &session, &rsrc, NULL, NULL); + if (!resource || !session) { + return NULL; + } +@@ -1303,15 +1288,13 @@ static php_stream *php_ssh2_fopen_wrapper_tunnel(php_stream_wrapper *wrapper, co + if ((port <= 0) || (port > 65535) || !host || (strlen(host) == 0)) { + /* Invalid connection criteria */ + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + return NULL; + } + +- stream = php_ssh2_direct_tcpip(session, resource_id, host, port); ++ stream = php_ssh2_direct_tcpip(session, rsrc, host, port); + if (!stream) { +- // TODO Sean-Der +- //zend_list_delete(resource_id); ++ zend_list_delete(rsrc); + } + php_url_free(resource); + +@@ -1352,7 +1335,7 @@ PHP_FUNCTION(ssh2_tunnel) + + SSH2_FETCH_AUTHENTICATED_SESSION(session, zsession); + +- stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession)->handle, host, port); ++ stream = php_ssh2_direct_tcpip(session, Z_RES_P(zsession), host, port); + if (!stream) { + RETURN_FALSE; + } +diff --git a/ssh2_sftp.c b/ssh2_sftp.c +index 6332be8..256fc70 100644 +--- a/ssh2_sftp.c ++++ b/ssh2_sftp.c +@@ -40,8 +40,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc) + + libssh2_sftp_shutdown(data->sftp); + +- // TODO Sean-Der +- //zend_list_delete(data->session_rsrcid); ++ zend_list_delete(data->session_rsrc); + + efree(data); + } +@@ -50,7 +49,7 @@ void php_ssh2_sftp_dtor(zend_resource *rsrc) + * SFTP File Ops * + ***************** */ + +-inline unsigned long php_ssh2_parse_fopen_modes(char *openmode) { ++unsigned long php_ssh2_parse_fopen_modes(char *openmode) { + unsigned long flags = 0; + + if (strchr(openmode, 'a')) { +@@ -101,7 +100,7 @@ inline int php_ssh2_sftp_attr2ssb(php_stream_statbuf *ssb, LIBSSH2_SFTP_ATTRIBUT + typedef struct _php_ssh2_sftp_handle_data { + LIBSSH2_SFTP_HANDLE *handle; + +- long sftp_rsrcid; ++ zend_resource *sftp_rsrc; + } php_ssh2_sftp_handle_data; + + /* {{{ php_ssh2_sftp_stream_write +@@ -139,8 +138,7 @@ static int php_ssh2_sftp_stream_close(php_stream *stream, int close_handle) + php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract; + + libssh2_sftp_close(data->handle); +- //TODO Sean-Der +- //zend_list_delete(data->sftp_rsrcid); ++ zend_list_delete(data->sftp_rsrc); + efree(data); + + return 0; +@@ -226,12 +224,12 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons + LIBSSH2_SFTP *sftp = NULL; + LIBSSH2_SFTP_HANDLE *handle; + php_stream *stream; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + unsigned long flags; + long perms = 0644; + +- resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp) { + return NULL; + } +@@ -242,20 +240,18 @@ static php_stream *php_ssh2_sftp_stream_opener(php_stream_wrapper *wrapper, cons + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + return NULL; + } + + data = emalloc(sizeof(php_ssh2_sftp_handle_data)); + data->handle = handle; +- data->sftp_rsrcid = sftp_rsrcid; ++ data->sftp_rsrc = sftp_rsrc; + + stream = php_stream_alloc(&php_ssh2_sftp_stream_ops, data, 0, mode); + if (!stream) { + libssh2_sftp_close(handle); +- // TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + efree(data); + } + php_url_free(resource); +@@ -303,8 +299,7 @@ static int php_ssh2_sftp_dirstream_close(php_stream *stream, int close_handle) + php_ssh2_sftp_handle_data *data = (php_ssh2_sftp_handle_data*)stream->abstract; + + libssh2_sftp_close(data->handle); +- //TODO Sean_der +- //zend_list_delete(data->sftp_rsrcid); ++ zend_list_delete(data->sftp_rsrc); + efree(data); + + return 0; +@@ -333,10 +328,10 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c + LIBSSH2_SFTP *sftp = NULL; + LIBSSH2_SFTP_HANDLE *handle; + php_stream *stream; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + +- resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(filename, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp) { + return NULL; + } +@@ -345,20 +340,18 @@ static php_stream *php_ssh2_sftp_dirstream_opener(php_stream_wrapper *wrapper, c + if (!handle) { + php_error_docref(NULL, E_WARNING, "Unable to open %s on remote host", filename); + php_url_free(resource); +- //TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + return NULL; + } + + data = emalloc(sizeof(php_ssh2_sftp_handle_data)); + data->handle = handle; +- data->sftp_rsrcid = sftp_rsrcid; ++ data->sftp_rsrc = sftp_rsrc; + + stream = php_stream_alloc(&php_ssh2_sftp_dirstream_ops, data, 0, mode); + if (!stream) { + libssh2_sftp_close(handle); +- //TODO Sean-Der +- //zend_list_delete(sftp_rsrcid); ++ zend_list_delete(sftp_rsrc); + efree(data); + } + php_url_free(resource); +@@ -378,10 +371,10 @@ static int php_ssh2_sftp_urlstat(php_stream_wrapper *wrapper, const char *url, i + LIBSSH2_SFTP_ATTRIBUTES attrs; + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + return -1; + } +@@ -408,11 +401,11 @@ static int php_ssh2_sftp_unlink(php_stream_wrapper *wrapper, const char *url, in + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + int result; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -436,7 +429,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource, *resource_to; + int result; + +@@ -453,7 +446,7 @@ static int php_ssh2_sftp_rename(php_stream_wrapper *wrapper, const char *url_fro + return 0; + } + +- resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url_from, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -479,11 +472,11 @@ static int php_ssh2_sftp_mkdir(php_stream_wrapper *wrapper, const char *url, int + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + int result; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -515,11 +508,11 @@ static int php_ssh2_sftp_rmdir(php_stream_wrapper *wrapper, const char *url, int + { + LIBSSH2_SESSION *session = NULL; + LIBSSH2_SFTP *sftp = NULL; +- int resource_id = 0, sftp_rsrcid = 0; ++ zend_resource *rsrc = NULL, *sftp_rsrc = NULL; + php_url *resource; + int result; + +- resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &resource_id, &sftp, &sftp_rsrcid); ++ resource = php_ssh2_fopen_wraper_parse_path(url, "sftp", context, &session, &rsrc, &sftp, &sftp_rsrc); + if (!resource || !session || !sftp || !resource->path) { + if (resource) { + php_url_free(resource); +@@ -591,7 +584,7 @@ PHP_FUNCTION(ssh2_sftp) + data = emalloc(sizeof(php_ssh2_sftp_data)); + data->session = session; + data->sftp = sftp; +- data->session_rsrcid = Z_RES_P(zsession)->handle; ++ data->session_rsrc = Z_RES_P(zsession); + Z_ADDREF_P(zsession); + + RETURN_RES(zend_register_resource(data, le_ssh2_sftp)); diff --git a/bsp/buildroot/package/php-yaml/php-yaml.hash b/bsp/buildroot/package/php-yaml/php-yaml.hash index 21b507e1..c29c3e66 100644 --- a/bsp/buildroot/package/php-yaml/php-yaml.hash +++ b/bsp/buildroot/package/php-yaml/php-yaml.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c3afb0dad47b6c3a5b7b449f57a4938df27bf974efbe188d85c4fb998eff0039 yaml-2.0.2.tgz +sha256 9786b0386e648f12cc18a038358bd57bee4906e350a2e9ab776d6a5f18fc6680 yaml-2.0.4.tgz +sha256 68d9700294396c72089bfc7bf38a5b3654a53ae415f3bd37768848c14e86f338 LICENSE diff --git a/bsp/buildroot/package/php-yaml/php-yaml.mk b/bsp/buildroot/package/php-yaml/php-yaml.mk index 086d575e..e23d8979 100644 --- a/bsp/buildroot/package/php-yaml/php-yaml.mk +++ b/bsp/buildroot/package/php-yaml/php-yaml.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_YAML_VERSION = 2.0.2 +PHP_YAML_VERSION = 2.0.4 PHP_YAML_SOURCE = yaml-$(PHP_YAML_VERSION).tgz PHP_YAML_SITE = https://pecl.php.net/get PHP_YAML_CONF_OPTS = --with-php-config=$(STAGING_DIR)/usr/bin/php-config \ diff --git a/bsp/buildroot/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch b/bsp/buildroot/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch new file mode 100644 index 00000000..83cdb045 --- /dev/null +++ b/bsp/buildroot/package/php-zmq/0001-PHP-7.3-compatibility-and-bugfixes.patch @@ -0,0 +1,271 @@ +From 6ea688eff5157785267d2b671cf62d296288847f Mon Sep 17 00:00:00 2001 +From: Alex/AT +Date: Mon, 10 Dec 2018 06:02:27 +0300 +Subject: [PATCH] PHP 7.3 compatibility and bugfixes + +- Define new GC_ADDREF/DELREF/SET_REFCOUNT macros for older PHP versions and use them instead of direct GC reference counter access + +- Fixup all necessary 'long' type parameters to 'zend_long', PHP 7.3 makes it mandatory, also fixup some direct function implementations to accept the same + +- In php_zmq_recv(), zend_string_init() was wrongly called with third parameter as '1', marking new string with IS_STR_PERSISTENT, this caused heap corruption and/or segfaults with PHP 7.3 and could possibly cause other sorts of bugs under any 7.x version + With ZVAL_STRINGL macro, this last '1' parameter meant to copy the string and was seemingly erroneously moved to zend_string_init(). zend_string_init() copies string by default, and last parameter has totally different meaning here + +- In poll(), flag ZVAL separation on passed arrays (PHP 7.3 makes it mandatory) + +- Test 19 (exception on connect callback with forced reference parameter): skip on PHP 7.1 and higher, PHP >= 7.1 started to fallback to passing argument by value instead of failing + +- Test 21 (warning generation from callback): it is ok, but PHP 7.3 uses 'int' instead of 'integer' for constants, so allow any word in place of the word 'integer' + +[Frank: backport from upstream PR https://github.com/mkoppanen/php-zmq/pull/195] +Signed-off-by: Frank Hunleth +--- + php_zmq.h | 6 ++++ + tests/019-callbackinvalidsignature.phpt | 3 +- + tests/021-callbackwarning.phpt | 2 +- + zmq.c | 40 ++++++++++++------------- + zmq_sockopt.c | 4 +-- + 5 files changed, 30 insertions(+), 25 deletions(-) + +diff --git a/php_zmq.h b/php_zmq.h +index ef50bfb..3833967 100644 +--- a/php_zmq.h ++++ b/php_zmq.h +@@ -44,6 +44,12 @@ + + #include "php.h" + ++#if PHP_VERSION_ID < 70300 ++#define GC_ADDREF(p) ++GC_REFCOUNT(p) ++#define GC_DELREF(p) --GC_REFCOUNT(p) ++#define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc ++#endif ++ + extern zend_module_entry zmq_module_entry; + #define phpext_zmq_ptr &zmq_module_entry + +diff --git a/tests/019-callbackinvalidsignature.phpt b/tests/019-callbackinvalidsignature.phpt +index 753de31..b5bb20c 100644 +--- a/tests/019-callbackinvalidsignature.phpt ++++ b/tests/019-callbackinvalidsignature.phpt +@@ -1,7 +1,8 @@ + --TEST-- + Test callback edge-cases + --SKIPIF-- +- ++= 70100) die("skip PHP 7.1 and higher fallback to passing argument by value even when forced to reference"); ?> + --FILE-- + val, plist_key->len, &le, sizeof(le)) == NULL) { +@@ -369,7 +369,7 @@ PHP_METHOD(zmq, curvekeypair) + PHP_METHOD(zmqcontext, __construct) + { + php_zmq_context_object *intern; +- long io_threads = 1; ++ zend_long io_threads = 1; + zend_bool is_persistent = 1; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|lb", &io_threads, &is_persistent) == FAILURE) { +@@ -495,7 +495,7 @@ PHP_METHOD(zmqcontext, getOpt) + Create a new zmq socket + */ + static +-php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, int type, zend_bool is_persistent) ++php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, zend_long type, zend_bool is_persistent) + { + php_zmq_socket *zmq_sock; + +@@ -503,7 +503,7 @@ php_zmq_socket *php_zmq_socket_new(php_zmq_context *context, int type, zend_bool + zmq_sock->z_socket = zmq_socket(context->z_ctx, type); + zmq_sock->pid = getpid(); + zmq_sock->ctx = context; +- zmq_sock->socket_type = type; ++ zmq_sock->socket_type = type; + + if (!zmq_sock->z_socket) { + pefree(zmq_sock, is_persistent); +@@ -535,7 +535,7 @@ void php_zmq_socket_store(php_zmq_socket *zmq_sock_p, zend_long type, zend_strin + le.type = php_zmq_socket_list_entry(); + le.ptr = zmq_sock_p; + +- GC_REFCOUNT(&le) = 1; ++ GC_SET_REFCOUNT(&le, 1); + + plist_key = php_zmq_socket_plist_key(type, persistent_id, use_shared_ctx); + +@@ -796,7 +796,7 @@ PHP_METHOD(zmqsocket, __construct) + + /* {{{ static zend_bool php_zmq_send(php_zmq_socket_object *intern, char *message_param, long flags) + */ +-static zend_bool php_zmq_send(php_zmq_socket_object *intern, zend_string *message_param, long flags) ++static zend_bool php_zmq_send(php_zmq_socket_object *intern, zend_string *message_param, zend_long flags) + { + int rc, errno_; + zmq_msg_t message; +@@ -828,7 +828,7 @@ static void php_zmq_sendmsg_impl(INTERNAL_FUNCTION_PARAMETERS) + { + php_zmq_socket_object *intern; + zend_string *message_param; +- long flags = 0; ++ zend_long flags = 0; + zend_bool ret; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|l", &message_param, &flags) == FAILURE) { +@@ -890,7 +890,7 @@ PHP_METHOD(zmqsocket, sendmulti) + zval *messages; + php_zmq_socket_object *intern; + int to_send, ret = 0; +- long flags = 0; ++ zend_long flags = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a|l", &messages, &flags) == FAILURE) { + return; +@@ -910,7 +910,7 @@ PHP_METHOD(zmqsocket, sendmulti) + /* {{{ static zend_bool php_zmq_recv(php_zmq_socket_object *intern, long flags, zval *return_value) + */ + static +-zend_string *php_zmq_recv(php_zmq_socket_object *intern, long flags) ++zend_string *php_zmq_recv(php_zmq_socket_object *intern, zend_long flags) + { + int rc, errno_; + zmq_msg_t message; +@@ -933,7 +933,7 @@ zend_string *php_zmq_recv(php_zmq_socket_object *intern, long flags) + return NULL; + } + +- str = zend_string_init(zmq_msg_data(&message), zmq_msg_size(&message), 1); ++ str = zend_string_init(zmq_msg_data(&message), zmq_msg_size(&message), 0); + zmq_msg_close(&message); + return str; + } +@@ -943,7 +943,7 @@ static void php_zmq_recvmsg_impl(INTERNAL_FUNCTION_PARAMETERS) + { + zend_string *str = NULL; + php_zmq_socket_object *intern; +- long flags = 0; ++ zend_long flags = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|l", &flags) == FAILURE) { + return; +@@ -974,7 +974,7 @@ PHP_METHOD(zmqsocket, recvmulti) + { + php_zmq_socket_object *intern; + size_t value_len; +- long flags = 0; ++ zend_long flags = 0; + #if ZMQ_VERSION_MAJOR < 3 + int64_t value; + #else +@@ -1303,7 +1303,7 @@ PHP_METHOD(zmqpoll, add) + { + php_zmq_poll_object *intern; + zval *object; +- long events; ++ zend_long events; + int error; + zend_string *key; + +@@ -1423,10 +1423,10 @@ PHP_METHOD(zmqpoll, poll) + php_zmq_poll_object *intern; + zval *r_array, *w_array; + +- long timeout = -1; ++ zend_long timeout = -1; + int rc; + +- if (zend_parse_parameters(ZEND_NUM_ARGS(), "a!a!|l", &r_array, &w_array, &timeout) == FAILURE) { ++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a!/a!/|l", &r_array, &w_array, &timeout) == FAILURE) { + return; + } + +@@ -1592,7 +1592,7 @@ void s_clear_device_callback (php_zmq_device_cb_t *cb) + } + + static +-void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend_fcall_info_cache *fci_cache, long timeout, zval *user_data) ++void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend_fcall_info_cache *fci_cache, zend_long timeout, zval *user_data) + { + memcpy (&cb->fci, fci, sizeof (zend_fcall_info)); + memcpy (&cb->fci_cache, fci_cache, sizeof (zend_fcall_info_cache)); +@@ -1615,7 +1615,7 @@ void s_init_device_callback (php_zmq_device_cb_t *cb, zend_fcall_info *fci, zend + PHP_METHOD(zmqdevice, setidletimeout) + { + php_zmq_device_object *intern; +- long timeout; ++ zend_long timeout; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &timeout) == FAILURE) { + return; +@@ -1644,7 +1644,7 @@ PHP_METHOD(zmqdevice, getidletimeout) + PHP_METHOD(zmqdevice, settimertimeout) + { + php_zmq_device_object *intern; +- long timeout; ++ zend_long timeout; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &timeout) == FAILURE) { + return; +@@ -1676,7 +1676,7 @@ PHP_METHOD(zmqdevice, setidlecallback) + zval *user_data = NULL; + zend_fcall_info fci; + zend_fcall_info_cache fci_cache; +- long timeout = 0; ++ zend_long timeout = 0; + + if (ZEND_NUM_ARGS() == 2) { + php_error_docref(NULL, E_DEPRECATED, "The signature for setIdleCallback has changed, please update your code"); +@@ -1718,7 +1718,7 @@ PHP_METHOD(zmqdevice, settimercallback) + zval *user_data = NULL; + zend_fcall_info fci; + zend_fcall_info_cache fci_cache; +- long timeout; ++ zend_long timeout; + + if (zend_parse_parameters(ZEND_NUM_ARGS(), "fl|z!", &fci, &fci_cache, &timeout, &user_data) == FAILURE) { + return; +diff --git a/zmq_sockopt.c b/zmq_sockopt.c +index 1357032..3a00421 100644 +--- a/zmq_sockopt.c ++++ b/zmq_sockopt.c +@@ -1,5 +1,3 @@ +- +- + /* + +-----------------------------------------------------------------------------------+ + | ZMQ extension for PHP | +@@ -2033,7 +2031,7 @@ PHP_METHOD(zmqsocket, getsockopt) + PHP_METHOD(zmqsocket, setsockopt) + { + php_zmq_socket_object *intern; +- long key; ++ zend_long key; + zval *zv; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz/", &key, &zv) == FAILURE) { +-- +2.17.1 + diff --git a/bsp/buildroot/package/php/0001-acinclude.m4-don-t-unset-variables.patch b/bsp/buildroot/package/php/0001-acinclude.m4-don-t-unset-variables.patch index b2391132..b25f6617 100644 --- a/bsp/buildroot/package/php/0001-acinclude.m4-don-t-unset-variables.patch +++ b/bsp/buildroot/package/php/0001-acinclude.m4-don-t-unset-variables.patch @@ -8,7 +8,7 @@ Terminate them with extreme prejudice. Signed-off-by: Gustavo Zacarias Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] +[aduskett@gmail.com: Update for 7.3.0] --- acinclude.m4 | 4 ---- 1 file changed, 4 deletions(-) @@ -17,7 +17,7 @@ diff --git a/acinclude.m4 b/acinclude.m4 index 28506b6..af4aa06 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -1890,8 +1890,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) +@@ -1921,8 +1921,6 @@ define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])) dnl AC_DEFUN([PHP_CHECK_FUNC_LIB],[ ifelse($2,,:,[ @@ -26,7 +26,7 @@ index 28506b6..af4aa06 100644 unset found AC_CHECK_LIB($2, $1, [found=yes], [ AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) -@@ -1923,8 +1921,6 @@ dnl in the default libraries and as a fall back in the specified library. +@@ -1954,8 +1952,6 @@ dnl in the default libraries and as a fall back in the specified library. dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. dnl AC_DEFUN([PHP_CHECK_FUNC],[ diff --git a/bsp/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch b/bsp/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch index e921030d..e4f2abbc 100644 --- a/bsp/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch +++ b/bsp/buildroot/package/php/0002-iconv-tweak-iconv-detection.patch @@ -14,7 +14,7 @@ Signed-off-by: Gustavo Zacarias [Gustavo: convert to nice m4 instead of patching configure] [Gustavo: update for 5.6.10] Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] +[aduskett@gmail.com: Update for 7.3.0] --- acinclude.m4 | 2 +- ext/iconv/config.m4 | 22 ---------------------- @@ -24,7 +24,7 @@ diff --git a/acinclude.m4 b/acinclude.m4 index af4aa06..1bd2652 100644 --- a/acinclude.m4 +++ b/acinclude.m4 -@@ -2463,7 +2463,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ +@@ -2444,7 +2444,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl if test "$found_iconv" = "no"; then @@ -34,10 +34,10 @@ index af4aa06..1bd2652 100644 AC_DEFINE(HAVE_GICONV_H, 1, [ ]) ICONV_DIR=$i diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4 -index 6a05697..694fcb8 100644 +index 72334f79..29c358ad 100644 --- a/ext/iconv/config.m4 +++ b/ext/iconv/config.m4 -@@ -14,28 +14,6 @@ if test "$PHP_ICONV" != "no"; then +@@ -12,28 +12,6 @@ if test "$PHP_ICONV" != "no"; then ]) if test "$iconv_avail" != "no"; then @@ -65,7 +65,7 @@ index 6a05697..694fcb8 100644 - fi AC_MSG_CHECKING([if iconv is glibc's]) - AC_TRY_LINK([#include ],[gnu_get_libc_version();], + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[gnu_get_libc_version();]])],[ -- 2.7.4 diff --git a/bsp/buildroot/package/php/0003-configure-disable-the-phar-tool.patch b/bsp/buildroot/package/php/0003-configure-disable-the-phar-tool.patch index e41584e8..396a8064 100644 --- a/bsp/buildroot/package/php/0003-configure-disable-the-phar-tool.patch +++ b/bsp/buildroot/package/php/0003-configure-disable-the-phar-tool.patch @@ -11,7 +11,7 @@ on the target. Signed-off-by: Gustavo Zacarias [Gustavo: update for autoreconf/configure.in] Signed-off-by: Adam Duskett -[Aduskett: update for 7.2.2] +[Aduskett: update for 7.3.0] --- configure.ac | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) @@ -20,7 +20,7 @@ diff --git a/configure.ac b/configure.ac index d20af76..7f02f1a 100644 --- a/configure.ac +++ b/configure.ac -@@ -1420,13 +1420,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" +@@ -1472,13 +1472,8 @@ CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag" INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag" CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)" diff --git a/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch b/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch index 9b530361..5c3814f6 100644 --- a/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch +++ b/bsp/buildroot/package/php/0004-OPcache-flock-mechanism-is-obviously-linux-so-force-.patch @@ -4,6 +4,10 @@ Date: Tue, 9 Aug 2016 11:52:19 +0200 Subject: [PATCH] OPcache: flock mechanism is obviously linux so force it. Signed-off-by: Gustavo Zacarias +Signed-off-by: Bernd Kuhls +[Bernd: update for 7.2.12 & 7.3.2] +Signed-off-by: Adam Duskett +[aduskett@gmail.com: Update for 7.3.0] --- ext/opcache/config.m4 | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) @@ -12,42 +16,62 @@ diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 index fbb9b21..ffddc8e 100644 --- a/ext/opcache/config.m4 +++ b/ext/opcache/config.m4 -@@ -343,38 +343,8 @@ int main() { - msg=yes,msg=no,msg=no) +@@ -334,58 +334,8 @@ int main() { + msg=yes],[msg=no],[msg=no]) AC_MSG_RESULT([$msg]) -flock_type=unknown --AC_MSG_CHECKING("whether flock struct is linux ordered") --AC_TRY_RUN([ +-AC_MSG_CHECKING(for struct flock layout) +- +-if test "$flock_type" = "unknown"; then +-AC_RUN_IFELSE([AC_LANG_SOURCE([[ +- #include +- struct flock lock = { 1, 2, 3, 4, 5, 6, 7 }; +- int main() { +- if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 6 && lock.l_len== 7) { +- return 0; +- } +- return 1; +- } +-]])], [ +- flock_type=aix64 +- AC_DEFINE([HAVE_FLOCK_AIX64], [], [Struct flock is 64-bit AIX-type]) +-], []) +-fi +- +-if test "$flock_type" = "unknown"; then +-AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include - struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { +- int main() { - if(lock.l_type == 1 && lock.l_whence == 2 && lock.l_start == 3 && lock.l_len == 4) { - return 0; - } - return 1; -- } --], [ +- } +-]])], [ - flock_type=linux - AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) +-], []) +-fi - --AC_MSG_CHECKING("whether flock struct is BSD ordered") --AC_TRY_RUN([ +-if test "$flock_type" = "unknown"; then +-AC_RUN_IFELSE([AC_LANG_SOURCE([[ - #include - struct flock lock = { 1, 2, 3, 4, 5 }; -- int main() { +- int main() { - if(lock.l_start == 1 && lock.l_len == 2 && lock.l_type == 4 && lock.l_whence == 5) { - return 0; - } - return 1; -- } --], [ +- } +-]])], [ - flock_type=bsd -- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) -- AC_MSG_RESULT("yes") --], AC_MSG_RESULT("no") ) +- AC_DEFINE([HAVE_FLOCK_BSD], [], [Struct flock is BSD-type]) +-], []) +-fi +- +-AC_MSG_RESULT([$flock_type]) +flock_type=linux +AC_DEFINE([HAVE_FLOCK_LINUX], [], [Struct flock is Linux-type]) diff --git a/bsp/buildroot/package/php/0007-Call-apxs-with-correct-prefix.patch b/bsp/buildroot/package/php/0005-Call-apxs-with-correct-prefix.patch similarity index 93% rename from bsp/buildroot/package/php/0007-Call-apxs-with-correct-prefix.patch rename to bsp/buildroot/package/php/0005-Call-apxs-with-correct-prefix.patch index c81711d2..60589b54 100644 --- a/bsp/buildroot/package/php/0007-Call-apxs-with-correct-prefix.patch +++ b/bsp/buildroot/package/php/0005-Call-apxs-with-correct-prefix.patch @@ -16,7 +16,7 @@ To fix this, add -S PREFIX='$(INSTALL_ROOT)/usr' to apxs call in configure Signed-off-by: Fabrice Fontaine Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] +[aduskett@gmail.com: Update for 7.3.0] --- sapi/apache2handler/config.m4 | 3 +++ 1 file changed, 3 insertions(+) @@ -25,7 +25,7 @@ diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4 index 2e64b21..f5bf002 100644 --- a/sapi/apache2handler/config.m4 +++ b/sapi/apache2handler/config.m4 -@@ -66,10 +66,12 @@ if test "$PHP_APXS2" != "no"; then +@@ -64,10 +64,12 @@ if test "$PHP_APXS2" != "no"; then AC_MSG_ERROR([Please note that Apache version >= 2.0.44 is required]) fi @@ -38,7 +38,7 @@ index 2e64b21..f5bf002 100644 -i -n php7" else APXS_SYSCONFDIR='$(INSTALL_ROOT)'`$APXS -q SYSCONFDIR` -@@ -77,6 +79,7 @@ if test "$PHP_APXS2" != "no"; then +@@ -75,6 +77,7 @@ if test "$PHP_APXS2" != "no"; then \$(mkinstalldirs) '$APXS_SYSCONFDIR' && \ $APXS -S LIBEXECDIR='$APXS_LIBEXECDIR' \ -S SYSCONFDIR='$APXS_SYSCONFDIR' \ diff --git a/bsp/buildroot/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch b/bsp/buildroot/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch deleted file mode 100644 index 257ac70f..00000000 --- a/bsp/buildroot/package/php/0005-ext-fileinfo-config.m4-allow-cache-answer-for-strcas.patch +++ /dev/null @@ -1,37 +0,0 @@ -From a874ba472151c6811018de322a5787d0ca6148c9 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Tue, 9 Aug 2016 11:52:51 +0200 -Subject: [PATCH] ext/fileinfo/config.m4: allow cache answer for strcasestr - discovery - -Signed-off-by: Gustavo Zacarias -[aduskett@gmail.com: Update for 7.2.2] -Signed-off-by: Adam Duskett ---- - ext/fileinfo/config.m4 | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 7e98d62..8561962 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -15,6 +15,7 @@ libmagic/readcdf.c libmagic/softmagic.c libmagic/der.c" - - AC_MSG_CHECKING([for strcasestr]) -+ AC_CACHE_VAL(ac_cv_func_strcasestr, - AC_TRY_RUN([ - #include - #include - #include -@@ -46,7 +47,7 @@ int main(void) - AC_MSG_RESULT(no) - AC_MSG_NOTICE(using libmagic strcasestr implementation) - libmagic_sources="$libmagic_sources libmagic/strcasestr.c" -- ]) -+ ])) - - PHP_NEW_EXTENSION(fileinfo, fileinfo.c $libmagic_sources, $ext_shared,,-I@ext_srcdir@/libmagic) - PHP_ADD_BUILD_DIR($ext_builddir/libmagic) --- -2.7.4 - diff --git a/bsp/buildroot/package/php/0006-avoid-bfin-gcc-segfault.patch b/bsp/buildroot/package/php/0006-avoid-bfin-gcc-segfault.patch deleted file mode 100644 index 7f8cb24e..00000000 --- a/bsp/buildroot/package/php/0006-avoid-bfin-gcc-segfault.patch +++ /dev/null @@ -1,17 +0,0 @@ -Avoid gcc segmentation fault - -Signed-off-by: Waldemar Brodkorb -Signed-off-by: Adam Duskett -[aduskett@gmail.com: Update for 7.2.2] -diff -Nur php-7.0.12.orig/Zend/zend_portability.h php-7.0.12/Zend/zend_portability.h ---- php-7.0.12.orig/Zend/zend_portability.h 2016-10-13 16:04:17.000000000 +0200 -+++ php-7.0.12/Zend/zend_portability.h 2016-11-08 02:49:39.118388999 +0100 -@@ -95,7 +95,7 @@ - - #if defined(ZEND_WIN32) && !defined(__clang__) - # define ZEND_ASSUME(c) __assume(c) --#elif ((defined(__GNUC__) && ZEND_GCC_VERSION >= 4005) || __has_builtin(__builtin_unreachable)) && PHP_HAVE_BUILTIN_EXPECT -+#elif ((defined(__GNUC__) && ZEND_GCC_VERSION >= 4005) || __has_builtin(__builtin_unreachable)) && PHP_HAVE_BUILTIN_EXPECT && !defined(__bfin__) - # define ZEND_ASSUME(c) do { \ - if (__builtin_expect(!(c), 0)) __builtin_unreachable(); \ - } while (0) diff --git a/bsp/buildroot/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch b/bsp/buildroot/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch deleted file mode 100644 index daf004dc..00000000 --- a/bsp/buildroot/package/php/0008-ext-xml-expat_compat.h-add-missing-php.h-include.patch +++ /dev/null @@ -1,71 +0,0 @@ -From fb1f0e17eed729204a6d5caf590715d6257dceb3 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 5 Apr 2018 22:50:00 +0200 -Subject: [PATCH] ext/xml/expat_compat.h: add missing php.h include - -When expat support is disabled and libxml support is enabled, the -following part of the code in expat_compat.h gets used: - -and therefore "php".h" is included. However, when libexpat support is -enabled, HAVE_LIBEXPAT is defined, and therefore the following part of -the code is used: - -In this case, "php.h" is not included. Due to this, zend_alloc.h is -never included when building the ext/xmlrpc/libxmlrpc/xml_element.c -file, and therefore the estrdup -> _estrdup macros are never defined, -causing the following link time failure: - -ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_element_serialize': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:462: undefined reference to `efree' -ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_entity_escape': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:347: undefined reference to `emalloc' -ext/xmlrpc/libxmlrpc/xml_element.o: In function `_xmlrpc_charHandler': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:646: undefined reference to `efree' -ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_free_non_recurse': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:198: undefined reference to `efree' -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:199: undefined reference to `efree' -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:200: undefined reference to `efree' -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:207: undefined reference to `efree' -ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_new': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:263: undefined reference to `ecalloc' -ext/xmlrpc/libxmlrpc/xml_element.o: In function `_xmlrpc_startElement': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:602: undefined reference to `estrdup' -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:607: undefined reference to `emalloc' -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:609: undefined reference to `estrdup' -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:610: undefined reference to `estrdup' -ext/xmlrpc/libxmlrpc/xml_element.o: In function `xml_elem_free_non_recurse': -/home/thomas/projets/php/ext/xmlrpc/libxmlrpc/xml_element.c:211: undefined reference to `efree' -collect2: error: ld returned 1 exit status -make: *** [Makefile:248: sapi/cgi/php-cgi] Error 1 - -This link time failure can be produced with: - -./configure --prefix=/usr --with-libdir=/usr/lib64 --disable-all \ - --without-pear --with-config-file-path=/etc --disable-phpdbg \ - --disable-cli --enable-cgi --disable-fpm --enable-xmlreader \ - --enable-xmlwriter --enable-libxml --enable-wddx --with-xmlrpc \ - --with-libexpat-dir=/ - -We fix it by including "php.h" in the HAVE_LIBEXPAT case. - -Signed-off-by: Thomas Petazzoni -Upstream-status: https://github.com/php/php-src/pull/3212 ---- - ext/xml/expat_compat.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/ext/xml/expat_compat.h b/ext/xml/expat_compat.h -index ed621ab53d..29fe48a7dd 100644 ---- a/ext/xml/expat_compat.h -+++ b/ext/xml/expat_compat.h -@@ -154,6 +154,7 @@ PHP_XML_API const XML_Char *XML_ExpatVersion(void); - PHP_XML_API void XML_ParserFree(XML_Parser); - - #elif defined(HAVE_LIBEXPAT) -+#include "php.h" - #include - #endif /* HAVE_LIBEXPAT */ - --- -2.14.3 - diff --git a/bsp/buildroot/package/php/Config.ext b/bsp/buildroot/package/php/Config.ext index 51dcbbf4..d71cfb99 100644 --- a/bsp/buildroot/package/php/Config.ext +++ b/bsp/buildroot/package/php/Config.ext @@ -45,9 +45,14 @@ config BR2_PACKAGE_PHP_EXT_PHAR help PHP Archive support +comment "zip needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + config BR2_PACKAGE_PHP_EXT_ZIP bool "zip" + depends on !BR2_STATIC_LIBS # libzip select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LIBZIP help Zip read/write support @@ -117,6 +122,19 @@ config BR2_PACKAGE_PHP_EXT_MYSQLI help MySQL Improved extension support +config BR2_PACKAGE_PHP_EXT_PGSQL + bool "PostgreSQL" + depends on BR2_USE_MMU # postgresql + depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql + select BR2_PACKAGE_POSTGRESQL + help + PostgreSQL support + +comment "PostgreSQL extension needs a toolchain w/ dynamic library, wchar" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR + config BR2_PACKAGE_PHP_EXT_SQLITE bool "SQLite3" select BR2_PACKAGE_SQLITE @@ -140,13 +158,14 @@ config BR2_PACKAGE_PHP_EXT_PDO_POSTGRESQL bool "PostgreSQL" depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help PDO driver for PostgreSQL -comment "PostgreSQL drivers need a toolchain w/ dynamic library" +comment "PostgreSQL drivers need a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR config BR2_PACKAGE_PHP_EXT_PDO_SQLITE bool "SQLite3" @@ -156,10 +175,14 @@ config BR2_PACKAGE_PHP_EXT_PDO_SQLITE config BR2_PACKAGE_PHP_EXT_PDO_UNIXODBC bool "unixODBC" + depends on !BR2_STATIC_LIBS # unixodbc select BR2_PACKAGE_UNIXODBC help unixODBC driver for PDO +comment "unixodbc driver needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + endif comment "Human language and character encoding support" @@ -187,14 +210,15 @@ config BR2_PACKAGE_PHP_EXT_INTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu depends on !BR2_BINFMT_FLAT # icu depends on BR2_TOOLCHAIN_HAS_THREADS # icu + depends on !BR2_STATIC_LIBS select BR2_PACKAGE_ICU help Internationalization support -comment "intl support needs a toolchain w/ C++, wchar, threads, gcc >= 4.8, host gcc >= 4.8" +comment "intl support needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.8, host gcc >= 4.8" depends on !BR2_BINFMT_FLAT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ - !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_HOST_GCC_AT_LEAST_4_8 diff --git a/bsp/buildroot/package/php/Config.in b/bsp/buildroot/package/php/Config.in index 11514e04..24695735 100644 --- a/bsp/buildroot/package/php/Config.in +++ b/bsp/buildroot/package/php/Config.in @@ -1,15 +1,15 @@ config BR2_PACKAGE_PHP bool "php" + # PHP uses -export-dynamic, which breaks with elf2flt with a + # message like "ld.real: section .junk LMA [...,...] overlaps + # section .text LMA [...,...]" + depends on !BR2_BINFMT_FLAT select BR2_PACKAGE_PHP_SAPI_CGI if \ !BR2_PACKAGE_PHP_SAPI_APACHE && \ !BR2_PACKAGE_PHP_SAPI_CLI && \ !BR2_PACKAGE_PHP_SAPI_FPM && \ BR2_USE_MMU select BR2_PACKAGE_PHP_SAPI_CLI if !BR2_USE_MMU - # PHP uses -export-dynamic, which breaks with elf2flt with a - # message like "ld.real: section .junk LMA [...,...] overlaps - # section .text LMA [...,...]" - depends on !BR2_BINFMT_FLAT help PHP is a widely-used general-purpose scripting language that is especially suited for Web development diff --git a/bsp/buildroot/package/php/php.hash b/bsp/buildroot/package/php/php.hash index 2774c44d..5d74a28b 100644 --- a/bsp/buildroot/package/php/php.hash +++ b/bsp/buildroot/package/php/php.hash @@ -1,5 +1,5 @@ # From http://php.net/downloads.php -sha256 01c2154a3a8e3c0818acbdbc1a956832c828a0380ce6d1d14fea495ea21804f0 php-7.2.10.tar.xz +sha256 010b868b4456644ae227d05ad236c8b0a1f57dc6320e7e5ad75e86c5baf0a9a8 php-7.3.2.tar.xz # License file -sha256 00e567a8d50359d93ee1f9afdd9511277660c1e70a0cbf3229f84403aa9aebb1 LICENSE +sha256 f689b8fa63bea7950ce6a21bf52ed88ea0d77673ee76e6de12f51191174d91b8 LICENSE diff --git a/bsp/buildroot/package/php/php.mk b/bsp/buildroot/package/php/php.mk index f92e9b65..061b2f26 100644 --- a/bsp/buildroot/package/php/php.mk +++ b/bsp/buildroot/package/php/php.mk @@ -4,7 +4,7 @@ # ################################################################################ -PHP_VERSION = 7.2.10 +PHP_VERSION = 7.3.2 PHP_SITE = http://www.php.net/distributions PHP_SOURCE = php-$(PHP_VERSION).tar.xz PHP_INSTALL_STAGING = YES @@ -22,7 +22,6 @@ PHP_CONF_OPTS = \ --disable-phpdbg \ --disable-rpath PHP_CONF_ENV = \ - ac_cv_func_strcasestr=yes \ EXTRA_LIBS="$(PHP_EXTRA_LIBS)" ifeq ($(BR2_STATIC_LIBS),y) @@ -153,6 +152,10 @@ PHP_CONF_OPTS += \ PHP_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) endif +ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y) +PHP_DEPENDENCIES += libzip +endif + ifneq ($(BR2_PACKAGE_PHP_EXT_ZLIB)$(BR2_PACKAGE_PHP_EXT_ZIP),) PHP_CONF_OPTS += --with-zlib=$(STAGING_DIR)/usr PHP_DEPENDENCIES += zlib @@ -196,6 +199,12 @@ endif ifeq ($(BR2_PACKAGE_PHP_EXT_MYSQLI),y) PHP_CONF_OPTS += --with-mysqli endif + +ifeq ($(BR2_PACKAGE_PHP_EXT_PGSQL),y) +PHP_CONF_OPTS += --with-pgsql=$(STAGING_DIR)/usr +PHP_DEPENDENCIES += postgresql +endif + ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE),y) PHP_CONF_OPTS += --with-sqlite3=$(STAGING_DIR)/usr PHP_DEPENDENCIES += sqlite @@ -234,9 +243,9 @@ endef PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_VALGRIND ### Use external PCRE if it's available -ifeq ($(BR2_PACKAGE_PCRE),y) +ifeq ($(BR2_PACKAGE_PCRE2),y) PHP_CONF_OPTS += --with-pcre-regex=$(STAGING_DIR)/usr -PHP_DEPENDENCIES += pcre +PHP_DEPENDENCIES += pcre2 else # The bundled pcre library is not configurable through ./configure options, # and by default is configured to be thread-safe, so it wants pthreads. So @@ -253,7 +262,7 @@ endif endif ifeq ($(BR2_PACKAGE_PHP_EXT_CURL),y) -PHP_CONF_OPTS += --with-curl=$(STAGING_DIR)/usr +PHP_CONF_OPTS += --with-curl PHP_DEPENDENCIES += libcurl endif diff --git a/bsp/buildroot/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch b/bsp/buildroot/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch new file mode 100644 index 00000000..5143e311 --- /dev/null +++ b/bsp/buildroot/package/picocom/0001-Compile-with-libc-s-without-cispeed-cospeed.patch @@ -0,0 +1,49 @@ +From 30c712c5f14306460c44bea70e24419db9d44f8c Mon Sep 17 00:00:00 2001 +From: Nick Patavalis +Date: Thu, 12 Apr 2018 15:16:04 +0300 +Subject: [PATCH] Compile with libc's without cispeed / cospeed + +Some libc implementations (e.g. musl) do not define the cispeed and +cospeed struct termios fields. So we have to check the +_HAVE_STRUCT_TERMIOS_C_ISPEED and _HAVE_STRUCT_TERMIOS_C_OSPEED +macros. If not defined, we disable custom baudrate support. + +[baruch: backported from upstream master to 3.1] +Signed-off-by: Baruch Siach +--- +Upstream status: commit 1acf1ddabaf3 + + custbaud.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/custbaud.h b/custbaud.h +index 48151a4a4e84..ae4ae8daf49e 100644 +--- a/custbaud.h ++++ b/custbaud.h +@@ -26,6 +26,8 @@ + #ifndef CUSTBAUD_H + #define CUSTBAUD_H + ++#include ++ + #ifndef NO_CUSTOM_BAUD + + #if defined (__linux__) +@@ -33,7 +35,13 @@ + /* Enable by-default for kernels > 2.6.0 on x86 and x86_64 only */ + #include + #if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) +-#if defined (__i386__) || defined (__x86_64__) || defined (USE_CUSTOM_BAUD) ++/* Some libc implementations (e.g. musl) do not define the cispeed and ++ cospeed struct termios fields. We do not support custom baudrates ++ on them. */ ++#if ( (defined (__i386__) || defined (__x86_64__)) \ ++ && defined (_HAVE_STRUCT_TERMIOS_C_ISPEED) \ ++ && defined (_HAVE_STRUCT_TERMIOS_C_OSPEED) ) \ ++ || defined (USE_CUSTOM_BAUD) + #ifndef USE_CUSTOM_BAUD + #define USE_CUSTOM_BAUD + #endif +-- +2.16.3 + diff --git a/bsp/buildroot/package/picocom/picocom.hash b/bsp/buildroot/package/picocom/picocom.hash index f1558304..28f2d9cd 100644 --- a/bsp/buildroot/package/picocom/picocom.hash +++ b/bsp/buildroot/package/picocom/picocom.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 a539db95bde3a5ebd52ae58a21f40d00cc2c97bf14b1f50caffc07257989112e picocom-3.0.tar.gz +sha256 e6761ca932ffc6d09bd6b11ff018bdaf70b287ce518b3282d29e0270e88420bb picocom-3.1.tar.gz sha256 9273c6b2c55be95f0f0df292d87e8900e5bfdf5b510a6ea09e80306cf45c10f6 LICENSE.txt diff --git a/bsp/buildroot/package/picocom/picocom.mk b/bsp/buildroot/package/picocom/picocom.mk index 0fa60f99..d27c7343 100644 --- a/bsp/buildroot/package/picocom/picocom.mk +++ b/bsp/buildroot/package/picocom/picocom.mk @@ -4,7 +4,7 @@ # ################################################################################ -PICOCOM_VERSION = 3.0 +PICOCOM_VERSION = 3.1 PICOCOM_SITE = $(call github,npat-efault,picocom,$(PICOCOM_VERSION)) PICOCOM_LICENSE = GPL-2.0+ PICOCOM_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/pigpio/Config.in b/bsp/buildroot/package/pigpio/Config.in new file mode 100644 index 00000000..2180ab0d --- /dev/null +++ b/bsp/buildroot/package/pigpio/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PIGPIO + bool "pigpio" + depends on BR2_aarch64 || BR2_arm + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_STATIC_LIBS + help + Pigpio is a library for the Raspberry Pi which allows + control of the General Purpose Input Outputs (GPIO). + + http://abyz.me.uk/rpi/pigpio/ + +comment "pigpio needs a toolchain w/ threads, dynamic library" + depends on BR2_aarch64 || BR2_arm + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/pigpio/pigpio.hash b/bsp/buildroot/package/pigpio/pigpio.hash new file mode 100644 index 00000000..3df55faf --- /dev/null +++ b/bsp/buildroot/package/pigpio/pigpio.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 ec980f5e672e8e9395b801fecec3fbbbc5c04182b16ee72eb9ca25a453e38062 pigpio-V68.tar.gz +sha256 6a90b88421a0d9b090e121daa11b3c6d55eed5eeb3281a2fcc454d6a28b5547c UNLICENCE diff --git a/bsp/buildroot/package/pigpio/pigpio.mk b/bsp/buildroot/package/pigpio/pigpio.mk new file mode 100644 index 00000000..3071036d --- /dev/null +++ b/bsp/buildroot/package/pigpio/pigpio.mk @@ -0,0 +1,25 @@ +################################################################################ +# +# pigpio +# +################################################################################ + +PIGPIO_VERSION = V68 +PIGPIO_SITE = $(call github,joan2937,pigpio,$(PIGPIO_VERSION)) +PIGPIO_LICENSE = Unlicense +PIGPIO_LICENSE_FILES = UNLICENCE + +define PIGPIO_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define PIGPIO_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/pig2vcd $(TARGET_DIR)/usr/bin/pig2vcd + $(INSTALL) -D -m 0755 $(@D)/pigpiod $(TARGET_DIR)/usr/bin/pigpiod + $(INSTALL) -D -m 0755 $(@D)/pigs $(TARGET_DIR)/usr/bin/pigs + $(INSTALL) -D -m 0755 $(@D)/libpigpio.so $(TARGET_DIR)/usr/lib/libpigpio.so + $(INSTALL) -D -m 0755 $(@D)/libpigpiod_if.so $(TARGET_DIR)/usr/lib/libpigpiod_if.so + $(INSTALL) -D -m 0755 $(@D)/libpigpiod_if2.so $(TARGET_DIR)/usr/lib/libpigpiod_if2.so +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/pigz/Config.in b/bsp/buildroot/package/pigz/Config.in new file mode 100644 index 00000000..af229060 --- /dev/null +++ b/bsp/buildroot/package/pigz/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_PIGZ + bool "pigz" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_ZLIB + help + pigz, which stands for parallel implementation of gzip, is a + fully functional replacement for gzip that exploits multiple + processors and multiple cores to the hilt when compressing + data. + + http://www.zlib.net/pigz/ + +comment "pigz needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/pigz/pigz.hash b/bsp/buildroot/package/pigz/pigz.hash new file mode 100644 index 00000000..843fd4fb --- /dev/null +++ b/bsp/buildroot/package/pigz/pigz.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 e228e7d18b34c4ece8d596eb6eee97bde533c6beedbb728d07d3abe90b4b1b52 pigz-v2.4.tar.gz +sha256 dc8f78258cdb4478b5922f4c00eb63d3cbac06c171dc829648fd414bb0cf4493 README diff --git a/bsp/buildroot/package/pigz/pigz.mk b/bsp/buildroot/package/pigz/pigz.mk new file mode 100644 index 00000000..ac4f9402 --- /dev/null +++ b/bsp/buildroot/package/pigz/pigz.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# pigz +# +################################################################################ + +PIGZ_VERSION = v2.4 +PIGZ_SITE = $(call github,madler,pigz,$(PIGZ_VERSION)) +PIGZ_DEPENDENCIES = zlib +PIGZ_LICENSE = Zlib +PIGZ_LICENSE_FILES = README + +define PIGZ_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define PIGZ_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/pigz $(TARGET_DIR)/usr/bin/pigz +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/pinentry/Config.in b/bsp/buildroot/package/pinentry/Config.in index 5f2cb58f..22bc2bb4 100644 --- a/bsp/buildroot/package/pinentry/Config.in +++ b/bsp/buildroot/package/pinentry/Config.in @@ -7,7 +7,6 @@ menuconfig BR2_PACKAGE_PINENTRY # At least one backend is needed to avoid build breakage select BR2_PACKAGE_PINENTRY_NCURSES if \ !BR2_PACKAGE_PINENTRY_GTK2 && \ - !BR2_PACKAGE_PINENTRY_QT4 && \ !BR2_PACKAGE_PINENTRY_QT5 help A collection of simple PIN or pass-phrase entry dialogs @@ -42,28 +41,12 @@ comment "pinentry-gtk2 needs X and a toolchain w/ wchar, threads, C++" depends on !BR2_PACKAGE_XORG7 || !BR2_USE_WCHAR || \ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS -config BR2_PACKAGE_PINENTRY_QT4 - bool "pinentry-qt4" - depends on BR2_USE_MMU # fork - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - select BR2_PACKAGE_QT - select BR2_PACKAGE_QT_GUI_MODULE - help - The pinentry-qt4 tool - -comment "pinentry-qt4 needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - config BR2_PACKAGE_PINENTRY_QT5 bool "pinentry-qt5" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS - depends on !BR2_PACKAGE_PINENTRY_QT4 - depends on !BR2_PACKAGE_QT select BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS @@ -71,7 +54,6 @@ config BR2_PACKAGE_PINENTRY_QT5 The pinentry-qt5 tool comment "pinentry-qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" - depends on !BR2_PACKAGE_PINENTRY_QT4 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/pinentry/pinentry.mk b/bsp/buildroot/package/pinentry/pinentry.mk index d0179728..ce82f109 100644 --- a/bsp/buildroot/package/pinentry/pinentry.mk +++ b/bsp/buildroot/package/pinentry/pinentry.mk @@ -52,15 +52,10 @@ else PINENTRY_CONF_OPTS += --disable-pinentry-gtk2 endif -# pinentry-qt4/5 backend -ifeq ($(BR2_PACKAGE_PINENTRY_QT4)$(BR2_PACKAGE_PINENTRY_QT5),y) -ifeq ($(BR2_PACKAGE_PINENTRY_QT4),y) -# -pthread needs to be passed for certain toolchains -# http://autobuild.buildroot.net/results/6be/6be109ccedec603a67cebdb31b55865dcce0e128/ -PINENTRY_CONF_OPTS += LIBS=-pthread MOC=$(HOST_DIR)/bin/moc -endif +# pinentry-qt5 backend +ifeq ($(BR2_PACKAGE_PINENTRY_QT5),y) PINENTRY_CONF_OPTS += --enable-pinentry-qt -PINENTRY_DEPENDENCIES += $(if $(BR2_PACKAGE_PINENTRY_QT4),qt,qt5base) +PINENTRY_DEPENDENCIES += qt5base else PINENTRY_CONF_OPTS += --disable-pinentry-qt endif diff --git a/bsp/buildroot/package/pixiewps/Config.in b/bsp/buildroot/package/pixiewps/Config.in new file mode 100644 index 00000000..05719f42 --- /dev/null +++ b/bsp/buildroot/package/pixiewps/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PIXIEWPS + bool "pixiewps" + depends on BR2_TOOLCHAIN_HAS_THREADS + help + Pixie WPS is a C based tool to audit networks against the so + called "Pixie Dust" attack. + + https://github.com/wiire-a/pixiewps/wiki + +comment "pixiewps needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/pixiewps/pixiewps.hash b/bsp/buildroot/package/pixiewps/pixiewps.hash new file mode 100644 index 00000000..bb566303 --- /dev/null +++ b/bsp/buildroot/package/pixiewps/pixiewps.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 d3d3cf57851e3e734fb1797aa078239ef161d1cbeffc4438497d58a425ef22a2 pixiewps-9e5bdc6c86c8487b2a6107d5ab3559ed5c738c59.tar.gz +sha256 ccb349b4132ed7737f25e5adebfe61f3d52dca33708df1e50352320438d1d4c2 LICENSE.md diff --git a/bsp/buildroot/package/pixiewps/pixiewps.mk b/bsp/buildroot/package/pixiewps/pixiewps.mk new file mode 100644 index 00000000..1f84bbeb --- /dev/null +++ b/bsp/buildroot/package/pixiewps/pixiewps.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# pixiewps +# +################################################################################ + +PIXIEWPS_VERSION = 9e5bdc6c86c8487b2a6107d5ab3559ed5c738c59 +PIXIEWPS_SITE = $(call github,wiire-a,pixiewps,$(PIXIEWPS_VERSION)) +PIXIEWPS_LICENSE = GPL-3.0+ +PIXIEWPS_LICENSE_FILES = LICENSE.md + +define PIXIEWPS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) +endef + +define PIXIEWPS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ + PREFIX=/usr -C $(@D) install +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/pkg-cmake.mk b/bsp/buildroot/package/pkg-cmake.mk index 9b07798a..b9ce8ff6 100644 --- a/bsp/buildroot/package/pkg-cmake.mk +++ b/bsp/buildroot/package/pkg-cmake.mk @@ -60,8 +60,6 @@ $(2)_INSTALL_OPTS ?= install $(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install/fast $(2)_INSTALL_TARGET_OPTS ?= DESTDIR=$$(TARGET_DIR) install/fast -$(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR) - $(3)_SUPPORTS_IN_SOURCE_BUILD ?= YES @@ -253,8 +251,8 @@ endif # based on the toolchainfile.cmake file's location: $(HOST_DIR)/share/buildroot # In all the other variables, HOST_DIR will be replaced by RELOCATED_HOST_DIR, # so we have to strip "$(HOST_DIR)/" from the paths that contain it. -$(HOST_DIR)/share/buildroot/toolchainfile.cmake: - @mkdir -p $(@D) +define TOOLCHAIN_CMAKE_INSTALL_FILES + @mkdir -p $(HOST_DIR)/share/buildroot sed \ -e 's#@@STAGING_SUBDIR@@#$(call qstrip,$(STAGING_SUBDIR))#' \ -e 's#@@TARGET_CFLAGS@@#$(call qstrip,$(TARGET_CFLAGS))#' \ @@ -268,7 +266,10 @@ $(HOST_DIR)/share/buildroot/toolchainfile.cmake: -e 's#@@TOOLCHAIN_HAS_FORTRAN@@#$(if $(BR2_TOOLCHAIN_HAS_FORTRAN),1,0)#' \ -e 's#@@CMAKE_BUILD_TYPE@@#$(if $(BR2_ENABLE_DEBUG),Debug,Release)#' \ $(TOPDIR)/support/misc/toolchainfile.cmake.in \ - > $@ + > $(HOST_DIR)/share/buildroot/toolchainfile.cmake + $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot.cmake \ + $(HOST_DIR)/share/buildroot/Platform/Buildroot.cmake +endef -$(HOST_DIR)/share/buildroot/Platform/Buildroot.cmake: - $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot.cmake $(@) +TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_CMAKE_INSTALL_FILES +TOOLCHAIN_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/pkg-download.mk b/bsp/buildroot/package/pkg-download.mk index f398d168..7cd87c38 100644 --- a/bsp/buildroot/package/pkg-download.mk +++ b/bsp/buildroot/package/pkg-download.mk @@ -15,10 +15,10 @@ export BZR := $(call qstrip,$(BR2_BZR)) export GIT := $(call qstrip,$(BR2_GIT)) export HG := $(call qstrip,$(BR2_HG)) export SCP := $(call qstrip,$(BR2_SCP)) -SSH := $(call qstrip,$(BR2_SSH)) export LOCALFILES := $(call qstrip,$(BR2_LOCALFILES)) DL_WRAPPER = support/download/dl-wrapper +FLOCK = flock $($(PKG)_DL_DIR)/ # DL_DIR may have been set already from the environment ifeq ($(origin DL_DIR),undefined) @@ -42,6 +42,8 @@ DL_DIR := $(shell mkdir -p $(DL_DIR) && cd $(DL_DIR) >/dev/null && pwd -P) # # geturischeme: http geturischeme = $(firstword $(subst ://, ,$(call qstrip,$(1)))) +# getschemeplusuri: git|parameter+http://example.com +getschemeplusuri = $(call geturischeme,$(1))$(if $(2),\|$(2))+$(1) # stripurischeme: www.example.com/dir/file stripurischeme = $(lastword $(subst ://, ,$(call qstrip,$(1)))) # domain: www.example.com @@ -61,152 +63,46 @@ github = https://github.com/$(1)/$(2)/archive/$(3) export BR_NO_CHECK_HASH_FOR = ################################################################################ -# The DOWNLOAD_* helpers are in charge of getting a working copy -# of the source repository for their corresponding SCM, -# checking out the requested version / commit / tag, and create an -# archive out of it. DOWNLOAD_SCP uses scp to obtain a remote file with -# ssh authentication. DOWNLOAD_WGET is the normal wget-based download -# mechanism. -# -################################################################################ - -define DOWNLOAD_GIT - $(EXTRA_ENV) $(DL_WRAPPER) -b git \ - -o $(DL_DIR)/$($(PKG)_SOURCE) \ - $(if $($(PKG)_GIT_SUBMODULES),-r) \ - -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \ - $(QUIET) \ - -- \ - $($(PKG)_SITE) \ - $($(PKG)_DL_VERSION) \ - $($(PKG)_BASENAME_RAW) \ - $($(PKG)_DL_OPTS) -endef - -define DOWNLOAD_BZR - $(EXTRA_ENV) $(DL_WRAPPER) -b bzr \ - -o $(DL_DIR)/$($(PKG)_SOURCE) \ - $(QUIET) \ - -- \ - $($(PKG)_SITE) \ - $($(PKG)_DL_VERSION) \ - $($(PKG)_BASENAME_RAW) \ - $($(PKG)_DL_OPTS) -endef - -define DOWNLOAD_CVS - $(EXTRA_ENV) $(DL_WRAPPER) -b cvs \ - -o $(DL_DIR)/$($(PKG)_SOURCE) \ - $(QUIET) \ - -- \ - $(call stripurischeme,$(call qstrip,$($(PKG)_SITE))) \ - $($(PKG)_DL_VERSION) \ - $($(PKG)_RAWNAME) \ - $($(PKG)_BASENAME_RAW) \ - $($(PKG)_DL_OPTS) -endef - -define DOWNLOAD_SVN - $(EXTRA_ENV) $(DL_WRAPPER) -b svn \ - -o $(DL_DIR)/$($(PKG)_SOURCE) \ - $(QUIET) \ - -- \ - $($(PKG)_SITE) \ - $($(PKG)_DL_VERSION) \ - $($(PKG)_BASENAME_RAW) \ - $($(PKG)_DL_OPTS) -endef - -# SCP URIs should be of the form scp://[user@]host:filepath -# Note that filepath is relative to the user's home directory, so you may want -# to prepend the path with a slash: scp://[user@]host:/absolutepath -define DOWNLOAD_SCP - $(EXTRA_ENV) $(DL_WRAPPER) -b scp \ - -o $(DL_DIR)/$(2) \ - -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \ - $(QUIET) \ - -- \ - '$(call stripurischeme,$(call qstrip,$(1)))' \ - $($(PKG)_DL_OPTS) -endef - -define DOWNLOAD_HG - $(EXTRA_ENV) $(DL_WRAPPER) -b hg \ - -o $(DL_DIR)/$($(PKG)_SOURCE) \ - $(QUIET) \ - -- \ - $($(PKG)_SITE) \ - $($(PKG)_DL_VERSION) \ - $($(PKG)_BASENAME_RAW) \ - $($(PKG)_DL_OPTS) -endef - -define DOWNLOAD_WGET - $(EXTRA_ENV) $(DL_WRAPPER) -b wget \ - -o $(DL_DIR)/$(2) \ - -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \ - $(QUIET) \ - -- \ - '$(call qstrip,$(1))' \ - $($(PKG)_DL_OPTS) -endef - -define DOWNLOAD_LOCALFILES - $(EXTRA_ENV) $(DL_WRAPPER) -b cp \ - -o $(DL_DIR)/$(2) \ - -H $(PKGDIR)/$($(PKG)_RAWNAME).hash \ - $(QUIET) \ - -- \ - $(call stripurischeme,$(call qstrip,$(1))) \ - $($(PKG)_DL_OPTS) -endef - -################################################################################ -# DOWNLOAD -- Download helper. Will try to download source from: +# DOWNLOAD -- Download helper. Will call DL_WRAPPER which will try to download +# source from: # 1) BR2_PRIMARY_SITE if enabled # 2) Download site, unless BR2_PRIMARY_SITE_ONLY is set # 3) BR2_BACKUP_SITE if enabled, unless BR2_PRIMARY_SITE_ONLY is set # # Argument 1 is the source location # -# E.G. use like this: -# $(call DOWNLOAD,$(FOO_SITE)) -# -# For PRIMARY and BACKUP site, any ? in the URL is replaced by %3F. A ? in -# the URL is used to separate query arguments, but the PRIMARY and BACKUP -# sites serve just plain files. ################################################################################ -define DOWNLOAD - $(call DOWNLOAD_INNER,$(1),$(notdir $(1)),DOWNLOAD) -endef +ifneq ($(call qstrip,$(BR2_PRIMARY_SITE)),) +DOWNLOAD_URIS += \ + -u $(call getschemeplusuri,$(call qstrip,$(BR2_PRIMARY_SITE)/$($(PKG)_DL_SUBDIR)),urlencode) \ + -u $(call getschemeplusuri,$(call qstrip,$(BR2_PRIMARY_SITE)),urlencode) +endif -define DOWNLOAD_INNER - $(Q)$(if $(filter bzr cvs hg svn,$($(PKG)_SITE_METHOD)),export BR_NO_CHECK_HASH_FOR=$(2);) \ - if test -n "$(call qstrip,$(BR2_PRIMARY_SITE))" ; then \ - case "$(call geturischeme,$(BR2_PRIMARY_SITE))" in \ - file) $(call $(3)_LOCALFILES,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \ - scp) $(call $(3)_SCP,$(BR2_PRIMARY_SITE)/$(2),$(2)) && exit ;; \ - *) $(call $(3)_WGET,$(BR2_PRIMARY_SITE)/$(subst ?,%3F,$(2)),$(2)) && exit ;; \ - esac ; \ - fi ; \ - if test "$(BR2_PRIMARY_SITE_ONLY)" = "y" ; then \ - exit 1 ; \ - fi ; \ - if test -n "$(1)" ; then \ - case "$($(PKG)_SITE_METHOD)" in \ - git) $($(3)_GIT) && exit ;; \ - svn) $($(3)_SVN) && exit ;; \ - cvs) $($(3)_CVS) && exit ;; \ - bzr) $($(3)_BZR) && exit ;; \ - file) $($(3)_LOCALFILES) && exit ;; \ - scp) $($(3)_SCP) && exit ;; \ - hg) $($(3)_HG) && exit ;; \ - *) $(call $(3)_WGET,$(1),$(2)) && exit ;; \ - esac ; \ - fi ; \ - if test -n "$(call qstrip,$(BR2_BACKUP_SITE))" ; then \ - $(call $(3)_WGET,$(BR2_BACKUP_SITE)/$(subst ?,%3F,$(2)),$(2)) && exit ; \ - fi ; \ - exit 1 +ifeq ($(BR2_PRIMARY_SITE_ONLY),) +DOWNLOAD_URIS += \ + -u $(patsubst %/,%,$(dir $(call qstrip,$(1)))) +ifneq ($(call qstrip,$(BR2_BACKUP_SITE)),) +DOWNLOAD_URIS += \ + -u $(call getschemeplusuri,$(call qstrip,$(BR2_BACKUP_SITE)/$($(PKG)_DL_SUBDIR)),urlencode) \ + -u $(call getschemeplusuri,$(call qstrip,$(BR2_BACKUP_SITE)),urlencode) +endif +endif + +define DOWNLOAD + $(Q)mkdir -p $($(PKG)_DL_DIR) + $(Q)$(EXTRA_ENV) $(FLOCK) $(DL_WRAPPER) \ + -c '$($(PKG)_DL_VERSION)' \ + -d '$($(PKG)_DL_DIR)' \ + -D '$(DL_DIR)' \ + -f '$(notdir $(1))' \ + -H '$($(PKG)_HASH_FILE)' \ + -n '$($(PKG)_BASENAME_RAW)' \ + -N '$($(PKG)_RAWNAME)' \ + -o '$($(PKG)_DL_DIR)/$(notdir $(1))' \ + $(if $($(PKG)_GIT_SUBMODULES),-r) \ + $(DOWNLOAD_URIS) \ + $(QUIET) \ + -- \ + $($(PKG)_DL_OPTS) endef diff --git a/bsp/buildroot/package/pkg-generic.mk b/bsp/buildroot/package/pkg-generic.mk index d25f0f9a..4353bd38 100644 --- a/bsp/buildroot/package/pkg-generic.mk +++ b/bsp/buildroot/package/pkg-generic.mk @@ -50,7 +50,7 @@ endef # Time steps define step_time printf "%s:%-5.5s:%-20.20s: %s\n" \ - "$$(date +%s)" "$(1)" "$(2)" "$(3)" \ + "$$(date +%s.%N)" "$(1)" "$(2)" "$(3)" \ >>"$(BUILD_DIR)/build-time.log" endef GLOBAL_INSTRUMENTATION_HOOKS += step_time @@ -63,13 +63,21 @@ GLOBAL_INSTRUMENTATION_HOOKS += step_time # $(2): base directory to search in # $(3): suffix of file (optional) define step_pkg_size_inner + @touch $(BUILD_DIR)/.files-list$(3).stat @touch $(BUILD_DIR)/packages-file-list$(3).txt $(SED) '/^$(1),/d' $(BUILD_DIR)/packages-file-list$(3).txt cd $(2); \ - find . \( -type f -o -type l \) \ - -newer $($(PKG)_DIR)/.stamp_built \ - -exec printf '$(1),%s\n' {} + \ + LC_ALL=C find . \( -type f -o -type l \) -printf '%T@:%i:%#m:%y:%s,%p\n' \ + | LC_ALL=C sort > $(BUILD_DIR)/.files-list$(3).new + LC_ALL=C comm -13 \ + $(BUILD_DIR)/.files-list$(3).stat \ + $(BUILD_DIR)/.files-list$(3).new \ + > $($(PKG)_BUILDDIR)/.files-list$(3).txt + sed -r -e 's/^[^,]+/$(1)/' \ + $($(PKG)_BUILDDIR)/.files-list$(3).txt \ >> $(BUILD_DIR)/packages-file-list$(3).txt + mv $(BUILD_DIR)/.files-list$(3).new \ + $(BUILD_DIR)/.files-list$(3).stat endef define step_pkg_size @@ -132,10 +140,11 @@ endif # Retrieve the archive $(BUILD_DIR)/%/.stamp_downloaded: + @$(call step_start,download) $(foreach hook,$($(PKG)_PRE_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) # Only show the download message if it isn't already downloaded $(Q)for p in $($(PKG)_ALL_DOWNLOADS); do \ - if test ! -e $(DL_DIR)/`basename $$p` ; then \ + if test ! -e $($(PKG)_DL_DIR)/`basename $$p` ; then \ $(call MESSAGE,"Downloading") ; \ break ; \ fi ; \ @@ -143,12 +152,15 @@ $(BUILD_DIR)/%/.stamp_downloaded: $(foreach p,$($(PKG)_ALL_DOWNLOADS),$(call DOWNLOAD,$(p))$(sep)) $(foreach hook,$($(PKG)_POST_DOWNLOAD_HOOKS),$(call $(hook))$(sep)) $(Q)mkdir -p $(@D) + @$(call step_end,download) $(Q)touch $@ # Retrieve actual source archive, e.g. for prebuilt external toolchains $(BUILD_DIR)/%/.stamp_actual_downloaded: - $(call DOWNLOAD,$($(PKG)_ACTUAL_SOURCE_SITE)/$($(PKG)_ACTUAL_SOURCE_TARBALL)); \ + @$(call step_start,actual-download) + $(call DOWNLOAD,$($(PKG)_ACTUAL_SOURCE_SITE)/$($(PKG)_ACTUAL_SOURCE_TARBALL)) $(Q)mkdir -p $(@D) + @$(call step_end,actual-download) $(Q)touch $@ # Unpack the archive @@ -167,11 +179,14 @@ $(BUILD_DIR)/%/.stamp_extracted: # Rsync the source directory if the _OVERRIDE_SRCDIR feature is # used. $(BUILD_DIR)/%/.stamp_rsynced: + @$(call step_start,rsync) @$(call MESSAGE,"Syncing from source dir $(SRCDIR)") + @mkdir -p $(@D) $(foreach hook,$($(PKG)_PRE_RSYNC_HOOKS),$(call $(hook))$(sep)) @test -d $(SRCDIR) || (echo "ERROR: $(SRCDIR) does not exist" ; exit 1) - rsync -au --chmod=u=rwX,go=rX $(RSYNC_VCS_EXCLUSIONS) $(call qstrip,$(SRCDIR))/ $(@D) + rsync -au --chmod=u=rwX,go=rX $(RSYNC_VCS_EXCLUSIONS) $($(PKG)_OVERRIDE_SRCDIR_RSYNC_EXCLUSIONS) $(call qstrip,$(SRCDIR))/ $(@D) $(foreach hook,$($(PKG)_POST_RSYNC_HOOKS),$(call $(hook))$(sep)) + @$(call step_end,rsync) $(Q)touch $@ # Patch @@ -187,7 +202,7 @@ $(BUILD_DIR)/%/.stamp_patched: @$(call step_start,patch) @$(call MESSAGE,"Patching") $(foreach hook,$($(PKG)_PRE_PATCH_HOOKS),$(call $(hook))$(sep)) - $(foreach p,$($(PKG)_PATCH),$(APPLY_PATCHES) $(@D) $(DL_DIR) $(notdir $(p))$(sep)) + $(foreach p,$($(PKG)_PATCH),$(APPLY_PATCHES) $(@D) $($(PKG)_DL_DIR) $(notdir $(p))$(sep)) $(Q)( \ for D in $(PATCH_BASE_DIRS); do \ if test -d $${D}; then \ @@ -232,6 +247,7 @@ $(BUILD_DIR)/%/.stamp_built:: $(BUILD_DIR)/%/.stamp_host_installed: @$(call step_start,install-host) @$(call MESSAGE,"Installing to host directory") + @mkdir -p $(HOST_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_HOOKS),$(call $(hook))$(sep)) +$($(PKG)_INSTALL_CMDS) $(foreach hook,$($(PKG)_POST_INSTALL_HOOKS),$(call $(hook))$(sep)) @@ -261,17 +277,19 @@ $(BUILD_DIR)/%/.stamp_host_installed: $(BUILD_DIR)/%/.stamp_staging_installed: @$(call step_start,install-staging) @$(call MESSAGE,"Installing to staging directory") + @mkdir -p $(STAGING_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep)) +$($(PKG)_INSTALL_STAGING_CMDS) $(foreach hook,$($(PKG)_POST_INSTALL_STAGING_HOOKS),$(call $(hook))$(sep)) $(Q)if test -n "$($(PKG)_CONFIG_SCRIPTS)" ; then \ $(call MESSAGE,"Fixing package configuration files") ;\ - $(SED) "s,$(BASE_DIR),@BASE_DIR@,g" \ - -e "s,$(STAGING_DIR),@STAGING_DIR@,g" \ + $(SED) "s,$(HOST_DIR),@HOST_DIR@,g" \ + -e "s,$(BASE_DIR),@BASE_DIR@,g" \ -e "s,^\(exec_\)\?prefix=.*,\1prefix=@STAGING_DIR@/usr,g" \ -e "s,-I/usr/,-I@STAGING_DIR@/usr/,g" \ -e "s,-L/usr/,-L@STAGING_DIR@/usr/,g" \ - -e "s,@STAGING_DIR@,$(STAGING_DIR),g" \ + -e 's,@STAGING_DIR@,$$(dirname $$(readlink -e $$0))/../..,g' \ + -e 's,@HOST_DIR@,$$(dirname $$(readlink -e $$0))/../../../..,g' \ -e "s,@BASE_DIR@,$(BASE_DIR),g" \ $(addprefix $(STAGING_DIR)/usr/bin/,$($(PKG)_CONFIG_SCRIPTS)) ;\ fi @@ -292,6 +310,7 @@ $(BUILD_DIR)/%/.stamp_staging_installed: # Install to images dir $(BUILD_DIR)/%/.stamp_images_installed: @$(call step_start,install-image) + @mkdir -p $(BINARIES_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_IMAGES_HOOKS),$(call $(hook))$(sep)) @$(call MESSAGE,"Installing to images directory") +$($(PKG)_INSTALL_IMAGES_CMDS) @@ -303,6 +322,7 @@ $(BUILD_DIR)/%/.stamp_images_installed: $(BUILD_DIR)/%/.stamp_target_installed: @$(call step_start,install-target) @$(call MESSAGE,"Installing to target") + @mkdir -p $(TARGET_DIR) $(foreach hook,$($(PKG)_PRE_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep)) +$($(PKG)_INSTALL_TARGET_CMDS) $(if $(BR2_INIT_SYSTEMD),\ @@ -386,6 +406,10 @@ endef define inner-generic-package +# When doing a package, we're definitely not doing a rootfs, but we +# may inherit it via the dependency chain, so we reset it. +$(1): ROOTFS= + # Ensure the package is only declared once, i.e. do not accept that a # package be re-defined by a br2-external tree ifneq ($(call strip,$(filter $(1),$(PACKAGES_ALL))),) @@ -424,13 +448,20 @@ else endif $(2)_VERSION := $$(call sanitize,$$($(2)_DL_VERSION)) +$(2)_HASH_FILE = \ + $$(strip \ + $$(if $$(wildcard $$($(2)_PKGDIR)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash),\ + $$($(2)_PKGDIR)/$$($(2)_VERSION)/$$($(2)_RAWNAME).hash,\ + $$($(2)_PKGDIR)/$$($(2)_RAWNAME).hash)) + ifdef $(3)_OVERRIDE_SRCDIR $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR) endif $(2)_BASENAME = $$(if $$($(2)_VERSION),$(1)-$$($(2)_VERSION),$(1)) $(2)_BASENAME_RAW = $$(if $$($(2)_VERSION),$$($(2)_RAWNAME)-$$($(2)_VERSION),$$($(2)_RAWNAME)) -$(2)_DL_DIR = $$(DL_DIR) +$(2)_DL_SUBDIR ?= $$($(2)_RAWNAME) +$(2)_DL_DIR = $$(DL_DIR)/$$($(2)_DL_SUBDIR) $(2)_DIR = $$(BUILD_DIR)/$$($(2)_BASENAME) ifndef $(2)_SUBDIR @@ -479,7 +510,8 @@ ifndef $(2)_PATCH endif $(2)_ALL_DOWNLOADS = \ - $$(foreach p,$$($(2)_SOURCE) $$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ + $$(if $$($(2)_SOURCE),$$($(2)_SITE_METHOD)+$$($(2)_SITE)/$$($(2)_SOURCE)) \ + $$(foreach p,$$($(2)_PATCH) $$($(2)_EXTRA_DOWNLOADS),\ $$(if $$(findstring ://,$$(p)),$$(p),\ $$($(2)_SITE)/$$(p))) @@ -498,6 +530,10 @@ ifndef $(2)_SITE_METHOD endif endif +ifneq ($$(filter bzr cvs hg svn,$$($(2)_SITE_METHOD)),) +BR_NO_CHECK_HASH_FOR += $$($(2)_SOURCE) +endif + # Do not accept to download git submodule if not using the git method ifneq ($$($(2)_GIT_SUBMODULES),) ifneq ($$($(2)_SITE_METHOD),git) @@ -556,10 +592,62 @@ $(2)_DEPENDENCIES += toolchain endif endif +ifneq ($(1),host-skeleton) +$(2)_DEPENDENCIES += host-skeleton +endif + +ifneq ($$(filter cvs git svn,$$($(2)_SITE_METHOD)),) +$(2)_DOWNLOAD_DEPENDENCIES += \ + $(BR2_GZIP_HOST_DEPENDENCY) \ + $(BR2_TAR_HOST_DEPENDENCY) +endif + +ifeq ($$(filter host-tar host-skeleton host-fakedate,$(1)),) +$(2)_EXTRACT_DEPENDENCIES += $$(BR2_TAR_HOST_DEPENDENCY) +endif + +ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate,$(1)),) +$(2)_EXTRACT_DEPENDENCIES += $$(BR2_XZCAT_HOST_DEPENDENCY) +endif + +ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate,$(1)),) +$(2)_EXTRACT_DEPENDENCIES += $$(BR2_LZIP_HOST_DEPENDENCY) +endif + +ifeq ($$(BR2_CCACHE),y) +ifeq ($$(filter host-tar host-skeleton host-xz host-lzip host-fakedate host-ccache,$(1)),) +$(2)_DEPENDENCIES += host-ccache +endif +endif + +ifeq ($$(BR2_REPRODUCIBLE),y) +ifeq ($$(filter host-skeleton host-fakedate,$(1)),) +$(2)_DEPENDENCIES += host-fakedate +endif +endif + # Eliminate duplicates in dependencies $(2)_FINAL_DEPENDENCIES = $$(sort $$($(2)_DEPENDENCIES)) +$(2)_FINAL_DOWNLOAD_DEPENDENCIES = $$(sort $$($(2)_DOWNLOAD_DEPENDENCIES)) +$(2)_FINAL_EXTRACT_DEPENDENCIES = $$(sort $$($(2)_EXTRACT_DEPENDENCIES)) $(2)_FINAL_PATCH_DEPENDENCIES = $$(sort $$($(2)_PATCH_DEPENDENCIES)) -$(2)_FINAL_ALL_DEPENDENCIES = $$(sort $$($(2)_FINAL_DEPENDENCIES) $$($(2)_FINAL_PATCH_DEPENDENCIES)) +$(2)_FINAL_ALL_DEPENDENCIES = \ + $$(sort \ + $$($(2)_FINAL_DEPENDENCIES) \ + $$($(2)_FINAL_DOWNLOAD_DEPENDENCIES) \ + $$($(2)_FINAL_EXTRACT_DEPENDENCIES) \ + $$($(2)_FINAL_PATCH_DEPENDENCIES)) +$(2)_FINAL_RECURSIVE_DEPENDENCIES = $$(sort \ + $$(if $$(filter undefined,$$(origin $(2)_FINAL_RECURSIVE_DEPENDENCIES__X)), \ + $$(eval $(2)_FINAL_RECURSIVE_DEPENDENCIES__X := \ + $$(foreach p, \ + $$($(2)_FINAL_ALL_DEPENDENCIES), \ + $$(p) \ + $$($$(call UPPERCASE,$$(p))_FINAL_RECURSIVE_DEPENDENCIES) \ + ) \ + ) \ + ) \ + $$($(2)_FINAL_RECURSIVE_DEPENDENCIES__X)) $(2)_INSTALL_STAGING ?= NO $(2)_INSTALL_IMAGES ?= NO @@ -581,7 +669,7 @@ $(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned # default extract command $(2)_EXTRACT_CMDS ?= \ - $$(if $$($(2)_SOURCE),$$(INFLATE$$(suffix $$($(2)_SOURCE))) $$(DL_DIR)/$$($(2)_SOURCE) | \ + $$(if $$($(2)_SOURCE),$$(INFLATE$$(suffix $$($(2)_SOURCE))) $$($(2)_DL_DIR)/$$($(2)_SOURCE) | \ $$(TAR) --strip-components=$$($(2)_STRIP_COMPONENTS) \ -C $$($(2)_DIR) \ $$(foreach x,$$($(2)_EXCLUDES),--exclude='$$(x)' ) \ @@ -612,7 +700,12 @@ $(2)_PRE_LEGAL_INFO_HOOKS ?= $(2)_POST_LEGAL_INFO_HOOKS ?= $(2)_TARGET_FINALIZE_HOOKS ?= $(2)_ROOTFS_PRE_CMD_HOOKS ?= -$(2)_ROOTFS_POST_CMD_HOOKS ?= + +ifeq ($$($(2)_TYPE),target) +ifneq ($$(HOST_$(2)_KCONFIG_VAR),) +$$(error "Package $(1) defines host variant before target variant!") +endif +endif # human-friendly targets and target sequencing $(1): $(1)-install @@ -661,10 +754,8 @@ $$($(2)_TARGET_BUILD): $$($(2)_TARGET_CONFIGURE) $(1)-configure: $$($(2)_TARGET_CONFIGURE) $$($(2)_TARGET_CONFIGURE): | $$($(2)_FINAL_DEPENDENCIES) -$$($(2)_TARGET_SOURCE) $$($(2)_TARGET_RSYNC): | dirs prepare -ifeq ($$(filter $(1),$$(DEPENDENCIES_HOST_PREREQ)),) +$$($(2)_TARGET_SOURCE) $$($(2)_TARGET_RSYNC): | prepare $$($(2)_TARGET_SOURCE) $$($(2)_TARGET_RSYNC): | dependencies -endif ifeq ($$($(2)_OVERRIDE_SRCDIR),) # In the normal case (no package override), the sequence of steps is @@ -682,10 +773,12 @@ $$($(2)_TARGET_PATCH): | $$(patsubst %,%-patch,$$($(2)_FINAL_PATCH_DEPENDENCIES $(1)-extract: $$($(2)_TARGET_EXTRACT) $$($(2)_TARGET_EXTRACT): $$($(2)_TARGET_SOURCE) +$$($(2)_TARGET_EXTRACT): | $$($(2)_FINAL_EXTRACT_DEPENDENCIES) $(1)-depends: $$($(2)_FINAL_DEPENDENCIES) $(1)-source: $$($(2)_TARGET_SOURCE) +$$($(2)_TARGET_SOURCE): | $$($(2)_FINAL_DOWNLOAD_DEPENDENCIES) $(1)-all-source: $(1)-legal-source $(1)-legal-info: $(1)-legal-source @@ -732,9 +825,17 @@ $(1)-show-version: $(1)-show-depends: @echo $$($(2)_FINAL_ALL_DEPENDENCIES) +$(1)-show-recursive-depends: + @cd "$$(CONFIG_DIR)" && \ + $$(TOPDIR)/support/scripts/graph-depends -p $(1) -f -q + $(1)-show-rdepends: @echo $$($(2)_RDEPENDENCIES) +$(1)-show-recursive-rdepends: + @cd "$$(CONFIG_DIR)" && \ + $$(TOPDIR)/support/scripts/graph-depends -p $(1) --reverse -f -q + $(1)-show-build-order: $$(patsubst %,%-show-build-order,$$($(2)_FINAL_ALL_DEPENDENCIES)) @: $$(info $(1)) @@ -846,7 +947,7 @@ ifneq ($$(call qstrip,$$($(2)_SOURCE)),) ifeq ($$(call qstrip,$$($(2)_LICENSE_FILES)),) $(Q)$$(call legal-warning-pkg,$$($(2)_BASENAME_RAW),cannot save license ($(2)_LICENSE_FILES not defined)) else - $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_BASENAME_RAW),$$($(2)_PKGDIR),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) + $(Q)$$(foreach F,$$($(2)_LICENSE_FILES),$$(call legal-license-file,$$($(2)_RAWNAME),$$($(2)_BASENAME_RAW),$$($(2)_HASH_FILE),$$(F),$$($(2)_DIR)/$$(F),$$(call UPPERCASE,$(4)))$$(sep)) endif # license files ifeq ($$($(2)_SITE_METHOD),local) @@ -864,7 +965,7 @@ ifeq ($$($(2)_REDISTRIBUTE),YES) # patches, as they are handled specially afterwards. $$(foreach e,$$($(2)_ACTUAL_SOURCE_TARBALL) $$(notdir $$($(2)_EXTRA_DOWNLOADS)),\ $$(Q)support/scripts/hardlink-or-copy \ - $$(DL_DIR)/$$(e) \ + $$($(2)_DL_DIR)/$$(e) \ $$($(2)_REDIST_SOURCES_DIR)$$(sep)) # Save patches and generate the series file $$(Q)while read f; do \ @@ -876,7 +977,7 @@ ifeq ($$($(2)_REDISTRIBUTE),YES) endif # redistribute endif # other packages - @$$(call legal-manifest,$$($(2)_RAWNAME),$$($(2)_VERSION),$$($(2)_LICENSE),$$($(2)_MANIFEST_LICENSE_FILES),$$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_ACTUAL_SOURCE_SITE),$$(call UPPERCASE,$(4))) + @$$(call legal-manifest,$$(call UPPERCASE,$(4)),$$($(2)_RAWNAME),$$($(2)_VERSION),$$($(2)_LICENSE),$$($(2)_MANIFEST_LICENSE_FILES),$$($(2)_ACTUAL_SOURCE_TARBALL),$$($(2)_ACTUAL_SOURCE_SITE),$$(call legal-deps,$(1))) endif # ifneq ($$(call qstrip,$$($(2)_SOURCE)),) $$(foreach hook,$$($(2)_POST_LEGAL_INFO_HOOKS),$$(call $$(hook))$$(sep)) @@ -924,7 +1025,6 @@ PACKAGES_USERS += $$($(2)_USERS)$$(sep) endif TARGET_FINALIZE_HOOKS += $$($(2)_TARGET_FINALIZE_HOOKS) ROOTFS_PRE_CMD_HOOKS += $$($(2)_ROOTFS_PRE_CMD_HOOKS) -ROOTFS_POST_CMD_HOOKS += $$($(2)_ROOTFS_POST_CMD_HOOKS) ifeq ($$($(2)_SITE_METHOD),svn) DL_TOOLS_DEPENDENCIES += svn diff --git a/bsp/buildroot/package/pkg-golang.mk b/bsp/buildroot/package/pkg-golang.mk new file mode 100644 index 00000000..4f2c7e77 --- /dev/null +++ b/bsp/buildroot/package/pkg-golang.mk @@ -0,0 +1,134 @@ +################################################################################ +# Golang package infrastructure +# +# This file implements an infrastructure that eases development of package .mk +# files for Go packages. It should be used for all packages that are written in +# go. +# +# See the Buildroot documentation for details on the usage of this +# infrastructure +# +# +# In terms of implementation, this golang infrastructure requires the .mk file +# to only specify metadata information about the package: name, version, +# download URL, etc. +# +# We still allow the package .mk file to override what the different steps are +# doing, if needed. For example, if _BUILD_CMDS is already defined, it is +# used as the list of commands to perform to build the package, instead of the +# default golang behavior. The package can also define some post operation +# hooks. +# +################################################################################ + +GO_BIN = $(HOST_DIR)/bin/go + +# We pass an empty GOBIN, otherwise "go install: cannot install +# cross-compiled binaries when GOBIN is set" +GO_TARGET_ENV = \ + $(HOST_GO_TARGET_ENV) \ + PATH=$(BR_PATH) \ + GOBIN= \ + CGO_ENABLED=$(HOST_GO_CGO_ENABLED) + +################################################################################ +# inner-golang-package -- defines how the configuration, compilation and +# installation of a Go package should be done, implements a few hooks to tune +# the build process for Go specificities and calls the generic package +# infrastructure to generate the necessary make targets +# +# argument 1 is the lowercase package name +# argument 2 is the uppercase package name, including a HOST_ prefix for host +# packages +# argument 3 is the uppercase package name, without the HOST_ prefix for host +# packages +# argument 4 is the type (target or host) +# +# NOTE Only type target is supported at the moment +################################################################################ + +define inner-golang-package + +$(2)_WORKSPACE ?= _gopath + +ifeq ($(BR2_STATIC_LIBS),y) +$(2)_LDFLAGS += -extldflags '-static' +endif + +$(2)_BUILD_OPTS += \ + -ldflags "$$($(2)_LDFLAGS)" \ + -tags "$$($(2)_TAGS)" \ + -p $(PARALLEL_JOBS) + +# Target packages need the Go compiler on the host. +$(2)_DEPENDENCIES += host-go + +$(2)_BUILD_TARGETS ?= . + +# If the build target is just ".", then we assume the binary to be +# produced is named after the package. If however, a build target has +# been specified, we assume that the binaries to be produced are named +# after each build target building them (below in _BUILD_CMDS). +ifeq ($$($(2)_BUILD_TARGETS),.) +$(2)_BIN_NAME ?= $(1) +endif + +$(2)_INSTALL_BINS ?= $(1) + +# Source files in Go should be extracted in a precise folder in the hierarchy +# of GOPATH. It usually resolves around domain/vendor/software. By default, we +# derive domain/vendor/software from the upstream URL of the project, but we +# allow $(2)_SRC_SUBDIR to be overridden if needed. +$(2)_SRC_DOMAIN = $$(call domain,$$($(2)_SITE)) +$(2)_SRC_VENDOR = $$(word 1,$$(subst /, ,$$(call notdomain,$$($(2)_SITE)))) +$(2)_SRC_SOFTWARE = $$(word 2,$$(subst /, ,$$(call notdomain,$$($(2)_SITE)))) + +$(2)_SRC_SUBDIR ?= $$($(2)_SRC_DOMAIN)/$$($(2)_SRC_VENDOR)/$$($(2)_SRC_SOFTWARE) +$(2)_SRC_PATH = $$(@D)/$$($(2)_WORKSPACE)/src/$$($(2)_SRC_SUBDIR) + +# Configure step. Only define it if not already defined by the package .mk +# file. +ifndef $(2)_CONFIGURE_CMDS +define $(2)_CONFIGURE_CMDS + mkdir -p $$(dir $$($(2)_SRC_PATH)) + ln -sf $$(@D) $$($(2)_SRC_PATH) +endef +endif + +# Build step. Only define it if not already defined by the package .mk +# file. +ifndef $(2)_BUILD_CMDS +define $(2)_BUILD_CMDS + $$(foreach d,$$($(2)_BUILD_TARGETS),\ + cd $$($(2)_SRC_PATH); \ + $$(GO_TARGET_ENV) \ + GOPATH="$$(@D)/$$($(2)_WORKSPACE)" \ + $$($(2)_GO_ENV) \ + $$(GO_BIN) build -v $$($(2)_BUILD_OPTS) \ + -o $$(@D)/bin/$$(or $$($(2)_BIN_NAME),$$(notdir $$(d))) \ + ./$$(d) + ) +endef +endif + +# Target installation step. Only define it if not already defined by the +# package .mk file. +ifndef $(2)_INSTALL_TARGET_CMDS +define $(2)_INSTALL_TARGET_CMDS + $$(foreach d,$$($(2)_INSTALL_BINS),\ + $(INSTALL) -D -m 0755 $$(@D)/bin/$$(d) $(TARGET_DIR)/usr/bin/$$(d) + ) +endef +endif + +# Call the generic package infrastructure to generate the necessary make +# targets +$(call inner-generic-package,$(1),$(2),$(3),$(4)) + +endef # inner-golang-package + +################################################################################ +# golang-package -- the target generator macro for Go packages +################################################################################ + +golang-package = $(call inner-golang-package,$(pkgname),$(call UPPERCASE,$(pkgname)),$(call UPPERCASE,$(pkgname)),target) diff --git a/bsp/buildroot/package/pkg-kconfig.mk b/bsp/buildroot/package/pkg-kconfig.mk index 0402f81f..ce11e148 100644 --- a/bsp/buildroot/package/pkg-kconfig.mk +++ b/bsp/buildroot/package/pkg-kconfig.mk @@ -11,6 +11,25 @@ # ################################################################################ +# Macro to update back the custom (def)config file +# $(1): file to copy from +define kconfig-package-update-config + @$(if $($(PKG)_KCONFIG_FRAGMENT_FILES), \ + echo "Unable to perform $(@) when fragment files are set"; exit 1) + @$(if $($(PKG)_KCONFIG_DEFCONFIG), \ + echo "Unable to perform $(@) when using a defconfig rule"; exit 1) + $(Q)if [ -d $($(PKG)_KCONFIG_FILE) ]; then \ + echo "Unable to perform $(@) when $($(PKG)_KCONFIG_FILE) is a directory"; \ + exit 1; \ + fi + $(Q)mkdir -p $(dir $($(PKG)_KCONFIG_FILE)) + cp -f $($(PKG)_DIR)/$(1) $($(PKG)_KCONFIG_FILE) + $(Q)touch --reference $($(PKG)_DIR)/$($(PKG)_KCONFIG_DOTCONFIG) $($(PKG)_KCONFIG_FILE) +endef + +PKG_KCONFIG_COMMON_OPTS = \ + HOSTCC=$(HOSTCC_NOCCACHE) + ################################################################################ # inner-kconfig-package -- generates the make targets needed to support a # kconfig package @@ -25,6 +44,10 @@ define inner-kconfig-package +# Register the kconfig dependencies as regular dependencies, so that +# they are also accounted for in the generated graphs. +$(2)_DEPENDENCIES += $$($(2)_KCONFIG_DEPENDENCIES) + # Call the generic package infrastructure to generate the necessary # make targets. # Note: this must be done _before_ attempting to use $$($(2)_DIR) in a @@ -59,7 +82,8 @@ $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES): | $(1)-patch done $(2)_KCONFIG_MAKE = \ - $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) $$($(2)_KCONFIG_OPTS) + $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \ + $$(PKG_KCONFIG_COMMON_OPTS) $$($(2)_KCONFIG_OPTS) # $(2)_KCONFIG_MAKE may already rely on shell expansion. As the $() syntax # of the shell conflicts with Make's own syntax, this means that backticks @@ -105,6 +129,11 @@ $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG): $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_F # it explicitly. It doesn't hurt to always have it though. $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG): | $(1)-patch +# Some packages may need additional tools to be present by the time their +# kconfig structure is parsed (e.g. the linux kernel may need to call to +# the compiler to test its features). +$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG): | $$($(2)_KCONFIG_DEPENDENCIES) + # In order to get a usable, consistent configuration, some fixup may be needed. # The exact rules are specified by the package .mk file. define $(2)_FIXUP_DOT_CONFIG @@ -170,7 +199,7 @@ $(2)_CONFIGURATOR_MAKE_ENV = \ $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS)): $(1)-%: $$($(2)_DIR)/.kconfig_editor_% $$($(2)_DIR)/.kconfig_editor_%: $$($(2)_DIR)/.stamp_kconfig_fixup_done $$($(2)_CONFIGURATOR_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \ - $$($(2)_KCONFIG_OPTS) $$(*) + $$(PKG_KCONFIG_COMMON_OPTS) $$($(2)_KCONFIG_OPTS) $$(*) rm -f $$($(2)_DIR)/.stamp_{kconfig_fixup_done,configured,built} rm -f $$($(2)_DIR)/.stamp_{target,staging,images}_installed $$($(2)_FIXUP_DOT_CONFIG) @@ -199,30 +228,22 @@ $(1)-check-configuration-done: $(1)-savedefconfig: $(1)-check-configuration-done $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \ - $$($(2)_KCONFIG_OPTS) savedefconfig + $$(PKG_KCONFIG_COMMON_OPTS) $$($(2)_KCONFIG_OPTS) savedefconfig # Target to copy back the configuration to the source configuration file # Even though we could use 'cp --preserve-timestamps' here, the separate # cp and 'touch --reference' is used for symmetry with $(1)-update-defconfig. +$(1)-update-config: PKG=$(2) $(1)-update-config: $(1)-check-configuration-done - @$$(if $$($(2)_KCONFIG_FRAGMENT_FILES), \ - echo "Unable to perform $(1)-update-config when fragment files are set"; exit 1) - @$$(if $$($(2)_KCONFIG_DEFCONFIG), \ - echo "Unable to perform $(1)-update-config when using a defconfig rule"; exit 1) - cp -f $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE) - touch --reference $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE) + $$(call kconfig-package-update-config,$$($(2)_KCONFIG_DOTCONFIG)) # Note: make sure the timestamp of the stored configuration is not newer than # the .config to avoid a useless rebuild. Note that, contrary to # $(1)-update-config, the reference for 'touch' is _not_ the file from which # we copy. +$(1)-update-defconfig: PKG=$(2) $(1)-update-defconfig: $(1)-savedefconfig - @$$(if $$($(2)_KCONFIG_FRAGMENT_FILES), \ - echo "Unable to perform $(1)-update-defconfig when fragment files are set"; exit 1) - @$$(if $$($(2)_KCONFIG_DEFCONFIG), \ - echo "Unable to perform $(1)-update-defconfig when using a defconfig rule"; exit 1) - cp -f $$($(2)_DIR)/defconfig $$($(2)_KCONFIG_FILE) - touch --reference $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE) + $$(call kconfig-package-update-config,defconfig) endif # package enabled diff --git a/bsp/buildroot/package/pkg-luarocks.mk b/bsp/buildroot/package/pkg-luarocks.mk index d7628671..78d6c325 100644 --- a/bsp/buildroot/package/pkg-luarocks.mk +++ b/bsp/buildroot/package/pkg-luarocks.mk @@ -42,7 +42,8 @@ $(2)_SITE ?= $$(call qstrip,$$(BR2_LUAROCKS_MIRROR)) # Since we do not support host-luarocks-package, we know this is # a target package, and can just add the required dependencies -$(2)_DEPENDENCIES += host-luarocks luainterpreter +$(2)_DEPENDENCIES += luainterpreter +$(2)_EXTRACT_DEPENDENCIES += host-luarocks # # Extract step. Extract into a temporary dir and move the relevant part to the @@ -52,7 +53,7 @@ ifndef $(2)_EXTRACT_CMDS define $(2)_EXTRACT_CMDS mkdir -p $$($(2)_DIR)/luarocks-extract cd $$($(2)_DIR)/luarocks-extract && \ - $$(LUAROCKS_RUN_ENV) $$(LUAROCKS_RUN_CMD) unpack --force $$(DL_DIR)/$$($(2)_SOURCE) + $$(LUAROCKS_RUN_ENV) $$(LUAROCKS_RUN_CMD) unpack --force $$($(2)_DL_DIR)/$$($(2)_SOURCE) mv $$($(2)_DIR)/luarocks-extract/*/* $$($(2)_DIR) endef endif @@ -62,7 +63,7 @@ endif # ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - cd $$($(2)_SRCDIR) && $$(LUAROCKS_RUN_ENV) flock $$(TARGET_DIR) \ + cd $$($(2)_SRCDIR) && $$(LUAROCKS_RUN_ENV) \ $$(LUAROCKS_RUN_CMD) make --keep $$($(2)_ROCKSPEC) $$($(2)_BUILD_OPTS) endef endif @@ -71,9 +72,11 @@ endif # make targets $(call inner-generic-package,$(1),$(2),$(3),$(4)) -# $(2)_DEPENDENCIES are handled for configure step (too late) -# but host-luarocks is required to do the extract -$$($(2)_TARGET_EXTRACT): | host-luarocks +# Upgrade helper +$(1)-upgrade: host-luarocks + $$(LUAROCKS_RUN_CMD) buildroot $$($(2)_NAME_UPSTREAM) $(1) + +.PHONY: $(1)-upgrade endef diff --git a/bsp/buildroot/package/pkg-meson.mk b/bsp/buildroot/package/pkg-meson.mk new file mode 100644 index 00000000..886fcf72 --- /dev/null +++ b/bsp/buildroot/package/pkg-meson.mk @@ -0,0 +1,169 @@ +################################################################################ +# Meson package infrastructure +# +# This file implements an infrastructure that eases development of +# package .mk files for Meson packages. It should be used for all +# packages that use Meson as their build system. +# +# See the Buildroot documentation for details on the usage of this +# infrastructure +# +# In terms of implementation, this Meson infrastructure requires +# the .mk file to only specify metadata information about the +# package: name, version, download URL, etc. +# +# We still allow the package .mk file to override what the different +# steps are doing, if needed. For example, if _BUILD_CMDS is +# already defined, it is used as the list of commands to perform to +# build the package, instead of the default Meson behaviour. The +# package can also define some post operation hooks. +# +################################################################################ + +# +# Pass PYTHONNOUSERSITE environment variable when invoking Meson or Ninja, so +# $(HOST_DIR)/bin/python3 will not look for Meson modules in +# $HOME/.local/lib/python3.x/site-packages +# +MESON = PYTHONNOUSERSITE=y $(HOST_DIR)/bin/meson +NINJA = PYTHONNOUSERSITE=y $(HOST_DIR)/bin/ninja +NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) + +################################################################################ +# inner-meson-package -- defines how the configuration, compilation and +# installation of a Meson package should be done, implements a few hooks to +# tune the build process and calls the generic package infrastructure to +# generate the necessary make targets +# +# argument 1 is the lowercase package name +# argument 2 is the uppercase package name, including a HOST_ prefix +# for host packages +# argument 3 is the uppercase package name, without the HOST_ prefix +# for host packages +# argument 4 is the type (target or host) +################################################################################ + +define inner-meson-package + +$(2)_CONF_ENV ?= +$(2)_CONF_OPTS ?= +$(2)_NINJA_ENV ?= + +# +# Configure step. Only define it if not already defined by the package +# .mk file. And take care of the differences between host and target +# packages. +# +ifndef $(2)_CONFIGURE_CMDS +ifeq ($(4),target) + +# Configure package for target +# +# +define $(2)_CONFIGURE_CMDS + rm -rf $$($$(PKG)_SRCDIR)/build + mkdir -p $$($$(PKG)_SRCDIR)/build + sed -e "s%@TARGET_CROSS@%$$(TARGET_CROSS)%g" \ + -e "s%@TARGET_ARCH@%$$(HOST_MESON_TARGET_CPU_FAMILY)%g" \ + -e "s%@TARGET_CPU@%$$(GCC_TARGET_CPU)%g" \ + -e "s%@TARGET_ENDIAN@%$$(call LOWERCASE,$$(BR2_ENDIAN))%g" \ + -e "s%@TARGET_CFLAGS@%$$(HOST_MESON_SED_CFLAGS)%g" \ + -e "s%@TARGET_LDFLAGS@%$$(HOST_MESON_SED_LDFLAGS)%g" \ + -e "s%@TARGET_CXXFLAGS@%$$(HOST_MESON_SED_CXXFLAGS)%g" \ + -e "s%@HOST_DIR@%$$(HOST_DIR)%g" \ + package/meson/cross-compilation.conf.in \ + > $$($$(PKG)_SRCDIR)/build/cross-compilation.conf + PATH=$$(BR_PATH) $$($$(PKG)_CONF_ENV) $$(MESON) \ + --prefix=/usr \ + --libdir=lib \ + --default-library=$(if $(BR2_STATIC_LIBS),static,shared) \ + --buildtype=$(if $(BR2_ENABLE_DEBUG),debug,release) \ + --cross-file=$$($$(PKG)_SRCDIR)/build/cross-compilation.conf \ + $$($$(PKG)_CONF_OPTS) \ + $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build +endef +else + +# Configure package for host +define $(2)_CONFIGURE_CMDS + rm -rf $$($$(PKG)_SRCDIR)/build + mkdir -p $$($$(PKG)_SRCDIR)/build + $$(HOST_CONFIGURE_OPTS) \ + $$($$(PKG)_CONF_ENV) $$(MESON) \ + --prefix=$$(HOST_DIR) \ + --libdir=lib \ + --sysconfdir=$$(HOST_DIR)/etc \ + --localstatedir=$$(HOST_DIR)/var \ + --default-library=shared \ + --buildtype=release \ + $$($$(PKG)_CONF_OPTS) \ + $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build +endef +endif +endif + +$(2)_DEPENDENCIES += host-meson + +# +# Build step. Only define it if not already defined by the package .mk +# file. +# +ifndef $(2)_BUILD_CMDS +ifeq ($(4),target) +define $(2)_BUILD_CMDS + $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \ + $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build +endef +else +define $(2)_BUILD_CMDS + $$(HOST_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \ + $$(NINJA) $$(NINJA_OPTS) $$($$(PKG)_NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build +endef +endif +endif + +# +# Host installation step. Only define it if not already defined by the +# package .mk file. +# +ifndef $(2)_INSTALL_CMDS +define $(2)_INSTALL_CMDS + $$(HOST_MAKE_ENV) $$($$(PKG)_NINJA_ENV) \ + $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build install +endef +endif + +# +# Staging installation step. Only define it if not already defined by +# the package .mk file. +# +ifndef $(2)_INSTALL_STAGING_CMDS +define $(2)_INSTALL_STAGING_CMDS + $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) DESTDIR=$$(STAGING_DIR) \ + $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build install +endef +endif + +# +# Target installation step. Only define it if not already defined by +# the package .mk file. +# +ifndef $(2)_INSTALL_TARGET_CMDS +define $(2)_INSTALL_TARGET_CMDS + $$(TARGET_MAKE_ENV) $$($$(PKG)_NINJA_ENV) DESTDIR=$$(TARGET_DIR) \ + $$(NINJA) $$(NINJA_OPTS) -C $$($$(PKG)_SRCDIR)/build install +endef +endif + +# Call the generic package infrastructure to generate the necessary +# make targets +$(call inner-generic-package,$(1),$(2),$(3),$(4)) + +endef + +################################################################################ +# meson-package -- the target generator macro for Meson packages +################################################################################ + +meson-package = $(call inner-meson-package,$(pkgname),$(call UPPERCASE,$(pkgname)),$(call UPPERCASE,$(pkgname)),target) +host-meson-package = $(call inner-meson-package,host-$(pkgname),$(call UPPERCASE,host-$(pkgname)),$(call UPPERCASE,$(pkgname)),host) diff --git a/bsp/buildroot/package/pkg-perl.mk b/bsp/buildroot/package/pkg-perl.mk index b0d5789a..1ecf31ef 100644 --- a/bsp/buildroot/package/pkg-perl.mk +++ b/bsp/buildroot/package/pkg-perl.mk @@ -102,6 +102,7 @@ define $(2)_CONFIGURE_CMDS LD="$$(TARGET_CC)" \ LDDLFLAGS="-shared $$(TARGET_LDFLAGS)" \ LDFLAGS="$$(TARGET_LDFLAGS)" \ + PERL_ARCHLIB=$$(STAGING_DIR)/usr/lib/perl5/$$(PERL_VERSION)/$$(PERL_ARCHNAME) \ DESTDIR=$$(TARGET_DIR) \ INSTALLDIRS=vendor \ INSTALLVENDORLIB=/usr/lib/perl5/site_perl/$$(PERL_VERSION) \ @@ -147,7 +148,6 @@ define $(2)_BUILD_CMDS $$(PERL_RUN) Build $$($(2)_BUILD_OPTS) build; \ else \ $$(MAKE1) \ - PERL_INC=$$(STAGING_DIR)/usr/lib/perl5/$$(PERL_VERSION)/$$(PERL_ARCHNAME)/CORE \ FIXIN=: \ $$($(2)_BUILD_OPTS) pure_all; \ fi @@ -197,6 +197,14 @@ endif # make targets $(call inner-generic-package,$(1),$(2),$(3),$(4)) +# Upgrade helper +ifneq ($$($(3)_DISTNAME),) +$(1)-upgrade: + utils/scancpan -force -$(4) $$($(3)_DISTNAME) + +.PHONY: $(1)-upgrade +endif + endef ################################################################################ diff --git a/bsp/buildroot/package/pkg-python.mk b/bsp/buildroot/package/pkg-python.mk index f57e486d..e9069204 100644 --- a/bsp/buildroot/package/pkg-python.mk +++ b/bsp/buildroot/package/pkg-python.mk @@ -42,10 +42,12 @@ PKG_PYTHON_DISTUTILS_BUILD_OPTS = \ --executable=/usr/bin/python PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS = \ - --prefix=$(TARGET_DIR)/usr + --prefix=/usr \ + --root=$(TARGET_DIR) PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS = \ - --prefix=$(STAGING_DIR)/usr + --prefix=/usr \ + --root=$(STAGING_DIR) # Host distutils-based packages HOST_PKG_PYTHON_DISTUTILS_ENV = \ @@ -66,16 +68,16 @@ PKG_PYTHON_SETUPTOOLS_ENV = \ _python_exec_prefix=/usr PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS = \ - --prefix=$(TARGET_DIR)/usr \ + --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed \ - --root=/ + --root=$(TARGET_DIR) PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS = \ - --prefix=$(STAGING_DIR)/usr \ + --prefix=/usr \ --executable=/usr/bin/python \ --single-version-externally-managed \ - --root=/ + --root=$(STAGING_DIR) # Host setuptools-based packages HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ @@ -83,7 +85,9 @@ HOST_PKG_PYTHON_SETUPTOOLS_ENV = \ PYTHONNOUSERSITE=1 HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ - --prefix=$(HOST_DIR) + --prefix=$(HOST_DIR) \ + --root=/ \ + --single-version-externally-managed ################################################################################ # inner-python-package -- defines how the configuration, compilation @@ -101,9 +105,6 @@ HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \ define inner-python-package -$(2)_SRCDIR = $$($(2)_DIR)/$$($(2)_SUBDIR) -$(2)_BUILDDIR = $$($(2)_SRCDIR) - $(2)_ENV ?= $(2)_BUILD_OPTS ?= $(2)_INSTALL_OPTS ?= @@ -178,16 +179,35 @@ endif endif # ($$($(2)_NEEDS_HOST_PYTHON),) endif # ($(4),target) -# Setuptools based packages will need host-python-setuptools (both -# host and target). We need to have a special exclusion for the -# host-setuptools package itself: it is setuptools-based, but -# shouldn't depend on host-setuptools (because it would otherwise -# depend on itself!). +# Setuptools based packages will need setuptools for the host Python +# interpreter (both host and target). +# +# If we have a host package that says "I need Python 3", we install +# setuptools for python3. +# +# If we have a host packge that says "I need Python 2", we install +# setuptools for python2. +# +# If we have a target package, or a host package that doesn't have any +# _NEEDS_HOST_PYTHON, and BR2_PACKAGE_PYTHON3 is used, then +# Python 3.x is the default Python interpreter, so we install +# setuptools for python3. +# +# In all other cases, we install setuptools for python2. Those other +# cases are: a target package or host package with +# BR2_PACKAGE_PYTHON=y, or a host-package with neither +# BR2_PACKAGE_PYTHON3=y or BR2_PACKAGE_PYTHON=y. ifeq ($$($(2)_SETUP_TYPE),setuptools) -ifneq ($(2),HOST_PYTHON_SETUPTOOLS) -$(2)_DEPENDENCIES += host-python-setuptools -endif +ifeq ($(4):$$($(2)_NEEDS_HOST_PYTHON),host:python3) +$(2)_DEPENDENCIES += $$(if $$(filter host-python3-setuptools,$(1)),,host-python3-setuptools) +else ifeq ($(4):$$($(2)_NEEDS_HOST_PYTHON),host:python2) +$(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) +else ifeq ($$(BR2_PACKAGE_PYTHON3),y) +$(2)_DEPENDENCIES += $$(if $$(filter host-python3-setuptools,$(1)),,host-python3-setuptools) +else +$(2)_DEPENDENCIES += $$(if $$(filter host-python-setuptools,$(1)),,host-python-setuptools) endif +endif # SETUP_TYPE # Python interpreter to use for building the package. # diff --git a/bsp/buildroot/package/pkg-rebar.mk b/bsp/buildroot/package/pkg-rebar.mk index e2b4a586..e4e3f3bb 100644 --- a/bsp/buildroot/package/pkg-rebar.mk +++ b/bsp/buildroot/package/pkg-rebar.mk @@ -94,6 +94,13 @@ define install-rebar-deps $(REBAR_$(2)_DEPS_DIR)/$($(PKG)_ERLANG_APP) endef +# Remove the "deps" statement from a rebar.config file +define remove-rebar-config-dependencies + $(SED) '/^{deps.*}\.$$/d' -e '/^{deps/,/}\.$$/d' \ + $($(PKG)_DIR)/rebar.config +endef + + ################################################################################ # inner-rebar-package -- defines how the configuration, compilation # and installation of a rebar package should be done, implements a few @@ -227,6 +234,14 @@ $(2)_REBAR = rebar $(2)_DEPENDENCIES += host-erlang-rebar endif +$(2)_KEEP_DEPENDENCIES ?= NO + +# Remove dependencies listed in rebar.config unless the package says +# otherwise +ifeq ($$($(2)_KEEP_DEPENDENCIES),NO) +$(2)_POST_PATCH_HOOKS += remove-rebar-config-dependencies +endif + # The package sub-infra to use # ifeq ($$($(2)_USE_AUTOCONF),YES) diff --git a/bsp/buildroot/package/pkg-utils.mk b/bsp/buildroot/package/pkg-utils.mk index c3acc22b..bffd79df 100644 --- a/bsp/buildroot/package/pkg-utils.mk +++ b/bsp/buildroot/package/pkg-utils.mk @@ -79,19 +79,26 @@ define legal-warning-nosource # pkg, {local|override} $(call legal-warning-pkg,$(1),sources not saved ($(2) packages not handled)) endef -define legal-manifest # pkg, version, license, license-files, source, url, {HOST|TARGET} - echo '"$(1)","$(2)","$(3)","$(4)","$(5)","$(6)"' >>$(LEGAL_MANIFEST_CSV_$(7)) +define legal-manifest # {HOST|TARGET}, pkg, version, license, license-files, source, url, dependencies + echo '"$(2)","$(3)","$(4)","$(5)","$(6)","$(7)","$(8)"' >>$(LEGAL_MANIFEST_CSV_$(1)) endef -define legal-license-file # pkgname, pkgname-pkgver, pkgdir, filename, file-fullpath, {HOST|TARGET} +define legal-license-file # pkgname, pkgname-pkgver, pkg-hashfile, filename, file-fullpath, {HOST|TARGET} mkdir -p $(LICENSE_FILES_DIR_$(6))/$(2)/$(dir $(4)) && \ { \ - if [ -f $(3)/$($(PKG)_VERSION)/$(1).hash ]; then \ - support/download/check-hash $(3)/$($(PKG)_VERSION)/$(1).hash $(5) $(4); \ - else \ - support/download/check-hash $(3)/$(1).hash $(5) $(4); \ - fi; \ + support/download/check-hash $(3) $(5) $(4); \ case $${?} in (0|3) ;; (*) exit 1;; esac; \ } && \ cp $(5) $(LICENSE_FILES_DIR_$(6))/$(2)/$(4) endef + +non-virtual-deps = $(foreach p,$(1),$(if $($(call UPPERCASE,$(p))_IS_VIRTUAL),,$(p))) + +# Returns the list of recursive dependencies and their licensing terms +# for the package specified in parameter (in lowercase). If that +# package is a target package, remove host packages from the list. +legal-deps = \ + $(foreach p,\ + $(filter-out $(if $(1:host-%=),host-%),\ + $(call non-virtual-deps,\ + $($(call UPPERCASE,$(1))_FINAL_RECURSIVE_DEPENDENCIES))),$(p) [$($(call UPPERCASE,$(p))_LICENSE)]) diff --git a/bsp/buildroot/package/pkg-waf.mk b/bsp/buildroot/package/pkg-waf.mk index e5b606f0..a32d5dab 100644 --- a/bsp/buildroot/package/pkg-waf.mk +++ b/bsp/buildroot/package/pkg-waf.mk @@ -44,7 +44,7 @@ $(2)_NEEDS_EXTERNAL_WAF ?= NO # If the package does not have its own waf, use our own. ifeq ($$($(2)_NEEDS_EXTERNAL_WAF),YES) $(2)_DEPENDENCIES += host-waf -$(2)_WAF = $(HOST_DIR)/bin/waf +$(2)_WAF = $$(HOST_DIR)/bin/waf else $(2)_WAF = ./waf endif @@ -60,7 +60,7 @@ $(2)_WAF_OPTS ?= # ifndef $(2)_CONFIGURE_CMDS define $(2)_CONFIGURE_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_CONFIGURE_OPTS) \ $$($(2)_CONF_ENV) \ $$(HOST_DIR)/bin/python2 $$($(2)_WAF) configure \ @@ -77,7 +77,7 @@ endif # ifndef $(2)_BUILD_CMDS define $(2)_BUILD_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ build -j $$(PARALLEL_JOBS) $$($(2)_BUILD_OPTS) \ $$($(2)_WAF_OPTS) @@ -90,7 +90,7 @@ endif # ifndef $(2)_INSTALL_STAGING_CMDS define $(2)_INSTALL_STAGING_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ install --destdir=$$(STAGING_DIR) \ $$($(2)_INSTALL_STAGING_OPTS) \ @@ -104,7 +104,7 @@ endif # ifndef $(2)_INSTALL_TARGET_CMDS define $(2)_INSTALL_TARGET_CMDS - cd $$(@D) && \ + cd $$($$(PKG)_SRCDIR) && \ $$(TARGET_MAKE_ENV) $$(HOST_DIR)/bin/python2 $$($(2)_WAF) \ install --destdir=$$(TARGET_DIR) \ $$($(2)_INSTALL_TARGET_OPTS) \ diff --git a/bsp/buildroot/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch b/bsp/buildroot/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch deleted file mode 100644 index bc2b5273..00000000 --- a/bsp/buildroot/package/pkgconf/0001-Fix-all-variables-sysroot-prefix-problem.patch +++ /dev/null @@ -1,64 +0,0 @@ -From aa6bbc09e68426592faf722630fe92b6ede75bc8 Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias -Date: Mon, 2 Nov 2015 18:38:00 -0300 -Subject: [PATCH] Fix all-variables sysroot prefix problem - -According to the pkg-config specifications (or rather documentation) -only the -L/-I directory entries should be sysroot-prefixed. - -We also need to prefix the mapdir/sdkdir variables since they're used by -xorg and expected that way. - -Also allow prefixing for includedir and libdir since in some silly cases -the directories may be requested barebones via pkg-config ---variable=includedir libfool for example. - -Signed-off-by: Gustavo Zacarias - -Added pkgdatadir to the list of to-be-prefixed variables. - -Signed-off-by: Bernd Kuhls ---- - main.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/main.c b/main.c -index 6947126..ce5e18f 100644 ---- a/main.c -+++ b/main.c -@@ -313,9 +313,13 @@ print_variable(pkg_t *pkg, void *data, unsigned int flags) - memset(req->buf, 0, sizeof(req->buf)); - - if (*var == '/' && (flags & PKGF_MUNGE_SYSROOT_PREFIX) && -- (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir)))) -- strlcat(req->buf, sysroot_dir, sizeof(req->buf)); -- -+ (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))) && -+ (!strcmp(req->variable, "includedir") || \ -+ !strcmp(req->variable, "libdir") || \ -+ !strcmp(req->variable, "mapdir") || \ -+ !strcmp(req->variable, "pkgdatadir") || \ -+ !strcmp(req->variable, "sdkdir"))) -+ strlcat(req->buf, sysroot_dir, sizeof(req->buf)); - strlcat(req->buf, var, sizeof(req->buf)); - return; - } -@@ -323,8 +327,13 @@ print_variable(pkg_t *pkg, void *data, unsigned int flags) - strlcat(req->buf, " ", sizeof(req->buf)); - - if (*var == '/' && (flags & PKGF_MUNGE_SYSROOT_PREFIX) && -- (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir)))) -- strlcat(req->buf, sysroot_dir, sizeof(req->buf)); -+ (sysroot_dir != NULL && strncmp(var, sysroot_dir, strlen(sysroot_dir))) && -+ (!strcmp(req->variable, "includedir") || \ -+ !strcmp(req->variable, "libdir") || \ -+ !strcmp(req->variable, "mapdir") || \ -+ !strcmp(req->variable, "pkgdatadir") || \ -+ !strcmp(req->variable, "sdkdir"))) -+ strlcat(req->buf, sysroot_dir, sizeof(req->buf)); - - strlcat(req->buf, var, sizeof(req->buf)); - } --- -2.4.10 - diff --git a/bsp/buildroot/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch b/bsp/buildroot/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch new file mode 100644 index 00000000..5a9713d6 --- /dev/null +++ b/bsp/buildroot/package/pkgconf/0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch @@ -0,0 +1,142 @@ +From 267a57022699453e8d8f517519df25ac6bf6ac4e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 16 Dec 2018 11:52:18 +0100 +Subject: [PATCH] Only prefix with the sysroot a subset of variables + +The standard logic of pkg-config is to prefix all absolute paths by +the sysroot defined in PKG_CONFIG_SYSROOT_DIR. However, while some +paths (like includedir, libdir, and paths used in -L and -I options) +indeed need to be prefixed by the sysroot, it is not necessarily the +case for paths that are used on the target. If they get prefixed by +the sysroot, the runtime path on the target is incorrect. + +Unfortunately, pkg-config doesn't have a sense of which path needs to +be prefixed by the sysroot, and which path should not be prefixed by +the sysroot. + +So, let's simply have a whitelist of paths that should be prefixed: +includedir, libdir, mapdir, pkgdatadir and sdkdir. This list of +variables was collected over years of Buildroot development. All other +paths are not prefixed by the sysroot. + +Signed-off-by: Thomas Petazzoni +--- + libpkgconf/tuple.c | 60 ++++++++++++++++++++++++++++++++-------------- + 1 file changed, 42 insertions(+), 18 deletions(-) + +diff --git a/libpkgconf/tuple.c b/libpkgconf/tuple.c +index 8523709..7cd2fff 100644 +--- a/libpkgconf/tuple.c ++++ b/libpkgconf/tuple.c +@@ -160,6 +160,18 @@ dequote(const char *value) + return buf; + } + ++static char * ++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot); ++ ++const char *sysrooted_keys[] = { ++ "includedir", ++ "libdir", ++ "mapdir", ++ "pkgdatadir", ++ "sdkdir", ++ NULL, ++}; ++ + /* + * !doc + * +@@ -180,6 +192,8 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch + { + char *dequote_value; + pkgconf_tuple_t *tuple = calloc(sizeof(pkgconf_tuple_t), 1); ++ bool add_sysroot = false; ++ int i; + + pkgconf_tuple_find_delete(list, key); + +@@ -187,9 +201,13 @@ pkgconf_tuple_add(const pkgconf_client_t *client, pkgconf_list_t *list, const ch + + PKGCONF_TRACE(client, "adding tuple to @%p: %s => %s (parsed? %d)", list, key, dequote_value, parse); + ++ for (i = 0; sysrooted_keys[i] != NULL; i++) ++ if (!strcmp(key, sysrooted_keys[i])) ++ add_sysroot = true; ++ + tuple->key = strdup(key); + if (parse) +- tuple->value = pkgconf_tuple_parse(client, list, dequote_value); ++ tuple->value = pkgconf_tuple_parse_sysroot(client, list, dequote_value, add_sysroot); + else + tuple->value = strdup(dequote_value); + +@@ -233,27 +251,14 @@ pkgconf_tuple_find(const pkgconf_client_t *client, pkgconf_list_t *list, const c + return NULL; + } + +-/* +- * !doc +- * +- * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) +- * +- * Parse an expression for variable substitution. +- * +- * :param pkgconf_client_t* client: The pkgconf client object to access. +- * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list). +- * :param char* value: The ``key=value`` string to parse. +- * :return: the variable data with any variables substituted +- * :rtype: char * +- */ +-char * +-pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) ++static char * ++pkgconf_tuple_parse_sysroot(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value, bool add_sysroot) + { + char buf[PKGCONF_BUFSIZE]; + const char *ptr; + char *bptr = buf; + +- if (*value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir))) ++ if (add_sysroot && *value == '/' && client->sysroot_dir != NULL && strncmp(value, client->sysroot_dir, strlen(client->sysroot_dir))) + bptr += pkgconf_strlcpy(buf, client->sysroot_dir, sizeof buf); + + for (ptr = value; *ptr != '\0' && bptr - buf < PKGCONF_BUFSIZE; ptr++) +@@ -293,7 +298,7 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const + + if (kv != NULL) + { +- parsekv = pkgconf_tuple_parse(client, vars, kv); ++ parsekv = pkgconf_tuple_parse_sysroot(client, vars, kv, add_sysroot); + + strncpy(bptr, parsekv, PKGCONF_BUFSIZE - (bptr - buf)); + bptr += strlen(parsekv); +@@ -338,6 +343,25 @@ pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const + return strdup(buf); + } + ++/* ++ * !doc ++ * ++ * .. c:function:: char *pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) ++ * ++ * Parse an expression for variable substitution. ++ * ++ * :param pkgconf_client_t* client: The pkgconf client object to access. ++ * :param pkgconf_list_t* list: The variable list to search for variables (along side the global variable list). ++ * :param char* value: The ``key=value`` string to parse. ++ * :return: the variable data with any variables substituted ++ * :rtype: char * ++ */ ++char * ++pkgconf_tuple_parse(const pkgconf_client_t *client, pkgconf_list_t *vars, const char *value) ++{ ++ return pkgconf_tuple_parse_sysroot(client, vars, value, true); ++} ++ + /* + * !doc + * +-- +2.19.2 + diff --git a/bsp/buildroot/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch b/bsp/buildroot/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch new file mode 100644 index 00000000..e79bea93 --- /dev/null +++ b/bsp/buildroot/package/pkgconf/0002-Revert-main-assume-modversion-insted-of-version-if-o.patch @@ -0,0 +1,45 @@ +From 4ccef40918a539905a2951bfb81cf8dba4a245c6 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Wed, 2 Jan 2019 18:15:50 +0100 +Subject: [PATCH] Revert "main: assume --modversion insted of --version if + other flags or module names are provided" + +This reverts commit 12a0eb124cea85586e57f33c91a1e4c73459eef6, as it +causes pkg-config to assume --modversion is used when something as +simple as 'pkg-config --static --version' is used, leading to a +failure instead of the expected behavior: the one of "pkg-config +--version". + +Signed-off-by: Thomas Petazzoni +--- + cli/main.c | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +diff --git a/cli/main.c b/cli/main.c +index b52cc85..c5acc10 100644 +--- a/cli/main.c ++++ b/cli/main.c +@@ -955,18 +955,8 @@ main(int argc, char *argv[]) + + if ((want_flags & PKG_VERSION) == PKG_VERSION) + { +- if (argc > 2) +- { +- fprintf(stderr, "%s: --version specified with other options or module names, assuming --modversion.\n", argv[0]); +- +- want_flags &= ~PKG_VERSION; +- want_flags |= PKG_MODVERSION; +- } +- else +- { +- version(); +- return EXIT_SUCCESS; +- } ++ version(); ++ return EXIT_SUCCESS; + } + + if ((want_flags & PKG_HELP) == PKG_HELP) +-- +2.20.1 + diff --git a/bsp/buildroot/package/pkgconf/Config.in b/bsp/buildroot/package/pkgconf/Config.in index 76fa394c..a9c5658d 100644 --- a/bsp/buildroot/package/pkgconf/Config.in +++ b/bsp/buildroot/package/pkgconf/Config.in @@ -7,4 +7,4 @@ config BR2_PACKAGE_PKGCONF 2011 to replace pkg-config, which now needs itself to build itself - https://github.com/pkgconf/pkgconf + http://pkgconf.org/ diff --git a/bsp/buildroot/package/pkgconf/pkgconf.hash b/bsp/buildroot/package/pkgconf/pkgconf.hash index 79191bc9..7ea7ff57 100644 --- a/bsp/buildroot/package/pkgconf/pkgconf.hash +++ b/bsp/buildroot/package/pkgconf/pkgconf.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 7ec8b516e655e247f4ba976837cee808134785819ab8f538f652fe919cc6c09f pkgconf-0.9.12.tar.bz2 +sha256 d3468308553c94389dadfd10c4d1067269052b5364276a9d24a643c88485f715 pkgconf-1.5.3.tar.xz diff --git a/bsp/buildroot/package/pkgconf/pkgconf.mk b/bsp/buildroot/package/pkgconf/pkgconf.mk index 00b2d017..e3c73fd4 100644 --- a/bsp/buildroot/package/pkgconf/pkgconf.mk +++ b/bsp/buildroot/package/pkgconf/pkgconf.mk @@ -4,9 +4,9 @@ # ################################################################################ -PKGCONF_VERSION = 0.9.12 -PKGCONF_SITE = https://github.com/pkgconf/pkgconf/releases/download/pkgconf-$(PKGCONF_VERSION) -PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.bz2 +PKGCONF_VERSION = 1.5.3 +PKGCONF_SITE = https://distfiles.dereferenced.org/pkgconf +PKGCONF_SOURCE = pkgconf-$(PKGCONF_VERSION).tar.xz PKGCONF_LICENSE = pkgconf license PKGCONF_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/pngquant/pngquant.hash b/bsp/buildroot/package/pngquant/pngquant.hash index a3f1005d..f27eda60 100644 --- a/bsp/buildroot/package/pngquant/pngquant.hash +++ b/bsp/buildroot/package/pngquant/pngquant.hash @@ -1,4 +1,5 @@ # From https://pngquant.org/releases.html -sha1 30f54b0731b8913a8c8b3bd1fdf53e1c68b12262 pngquant-2.10.1-src.tar.gz +sha1 24efa42105bf3d8d0f4cf699053d2701ea787bd5 pngquant-2.12.2-src.tar.gz # Locally computed -sha256 e07a21fe37b6ae9fa5524f1e20a8e73b698566d42d2cc3edd469531745faa850 pngquant-2.10.1-src.tar.gz +sha256 bb031c48039ee73ea0e60709bb9ab80c55bfa3a5920b798ea37a03f2757b099c pngquant-2.12.2-src.tar.gz +sha256 e4f467f7abf860b4e620f5f60fdd88bc3a63a0fdb98a481fb002b5e511c9b826 COPYRIGHT diff --git a/bsp/buildroot/package/pngquant/pngquant.mk b/bsp/buildroot/package/pngquant/pngquant.mk index 1ce8359d..0053b9a4 100644 --- a/bsp/buildroot/package/pngquant/pngquant.mk +++ b/bsp/buildroot/package/pngquant/pngquant.mk @@ -4,7 +4,7 @@ # ################################################################################ -PNGQUANT_VERSION = 2.10.1 +PNGQUANT_VERSION = 2.12.2 PNGQUANT_SOURCE = pngquant-$(PNGQUANT_VERSION)-src.tar.gz PNGQUANT_SITE = https://pngquant.org PNGQUANT_LICENSE = GPL-3.0+ @@ -51,5 +51,5 @@ define HOST_PNGQUANT_INSTALL_CMDS $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install endef -$(eval $(host-generic-package)) $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch b/bsp/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch index 5695b626..5453cba1 100644 --- a/bsp/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch +++ b/bsp/buildroot/package/poco/0001-poco-add-the-staging-path-to-search-path.patch @@ -1,7 +1,7 @@ -From b8417607ec8840e6a1e27cf03b6958c794a33e49 Mon Sep 17 00:00:00 2001 +From a3cb6e42fc2cfa0620ba737148fcbea0cf96a984 Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Tue, 4 Aug 2015 10:14:00 +0200 -Subject: [PATCH 1/2] poco: add the staging path to search path +Subject: [PATCH] poco: add the staging path to search path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -19,10 +19,10 @@ Signed-off-by: Jörg Krause 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Data/MySQL/Makefile b/Data/MySQL/Makefile -index 0b18ca5..094e807 100644 +index c6fc2ac1c..955fee2d4 100644 --- a/Data/MySQL/Makefile +++ b/Data/MySQL/Makefile -@@ -8,8 +8,8 @@ +@@ -6,8 +6,8 @@ include $(POCO_BASE)/build/rules/global @@ -34,5 +34,5 @@ index 0b18ca5..094e807 100644 objects = Binder Extractor SessionImpl Connector \ -- -2.5.0 +2.14.4 diff --git a/bsp/buildroot/package/poco/0002-Add-support-for-m68000-1856.patch b/bsp/buildroot/package/poco/0002-Add-support-for-m68000-1856.patch new file mode 100644 index 00000000..1cf99bf0 --- /dev/null +++ b/bsp/buildroot/package/poco/0002-Add-support-for-m68000-1856.patch @@ -0,0 +1,30 @@ +From e49753f7654dc62087e47731832d5992cc4d194e Mon Sep 17 00:00:00 2001 +From: Jochen Sprickerhof +Date: Wed, 23 Aug 2017 16:50:51 +0200 +Subject: [PATCH] Add support for m68000 (#1856) + +Originally taken from + +https://github.com/google/double-conversion/commit/da11179623145f53b204105a93b8bbca431141da + +Signed-off-by: Thomas Petazzoni +--- + Foundation/src/utils.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h +index 69cea1aca..a7bda0171 100644 +--- a/Foundation/src/utils.h ++++ b/Foundation/src/utils.h +@@ -65,6 +65,8 @@ + defined(__AARCH64EL__) || \ + defined(nios2) || defined(__nios2) || defined(__nios2__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 ++#elif defined(__mc68000__) ++#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) + #if defined(_WIN32) + // Windows uses a 64bit wide floating point stack. +-- +2.14.4 + diff --git a/bsp/buildroot/package/poco/0002-fix-m68k-double-conv-detect.patch b/bsp/buildroot/package/poco/0002-fix-m68k-double-conv-detect.patch deleted file mode 100644 index 3ca03fc7..00000000 --- a/bsp/buildroot/package/poco/0002-fix-m68k-double-conv-detect.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fixes compile for m68k. - -From upstream double-conversion commit da111796231: -https://github.com/google/double-conversion/blob/master/double-conversion/utils.h - -Signed-off-by: Waldemar Brodkorb - -diff -Nur poco-poco-1.7.2-release.orig/Foundation/src/utils.h poco-poco-1.7.2-release/Foundation/src/utils.h ---- poco-poco-1.7.2-release.orig/Foundation/src/utils.h 2016-03-19 08:19:35.000000000 +0100 -+++ poco-poco-1.7.2-release/Foundation/src/utils.h 2016-08-11 02:55:02.827238119 +0200 -@@ -63,6 +63,8 @@ - defined(__AARCH64EL__) || \ - defined(nios2) || defined(__nios2) || defined(__nios2__) - #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 -+#elif defined(__mc68000__) -+#undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS - #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) - #if defined(_WIN32) - // Windows uses a 64bit wide floating point stack. diff --git a/bsp/buildroot/package/poco/0003-Foundation-src-utils.h-backport-double-conversion-ch.patch b/bsp/buildroot/package/poco/0003-Foundation-src-utils.h-backport-double-conversion-ch.patch new file mode 100644 index 00000000..8193457f --- /dev/null +++ b/bsp/buildroot/package/poco/0003-Foundation-src-utils.h-backport-double-conversion-ch.patch @@ -0,0 +1,32 @@ +From b077b4a5afbfde47288baed072152a6b7f318250 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 1 Jul 2018 15:37:47 +0200 +Subject: [PATCH] Foundation/src/utils.h: backport double-conversion change for + AArch64 BE support + +This commit, identical to upstream double-conversion commit +https://github.com/google/double-conversion/commit/cb2beeb6771025377c665d1c3ea08388bc6e619a +allows Poco to build on AArch64 big-endian. + +Signed-off-by: Thomas Petazzoni +Upstream: https://github.com/pocoproject/poco/pull/2378 +--- + Foundation/src/utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h +index a7bda0171..fd49e1768 100644 +--- a/Foundation/src/utils.h ++++ b/Foundation/src/utils.h +@@ -62,7 +62,7 @@ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ +- defined(__AARCH64EL__) || \ ++ defined(__AARCH64EL__) || defined(__aarch64__) || \ + defined(nios2) || defined(__nios2) || defined(__nios2__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(__mc68000__) +-- +2.14.4 + diff --git a/bsp/buildroot/package/poco/Config.in b/bsp/buildroot/package/poco/Config.in index 9199b54f..7e125714 100644 --- a/bsp/buildroot/package/poco/Config.in +++ b/bsp/buildroot/package/poco/Config.in @@ -5,8 +5,8 @@ config BR2_PACKAGE_POCO # pthread_condattr_setclock depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() - depends on !(BR2_arc || BR2_bfin || BR2_microblaze || BR2_mipsel \ - || BR2_or1k || BR2_xtensa) + depends on !(BR2_arc || BR2_microblaze || BR2_mipsel \ + || BR2_or1k || BR2_riscv || BR2_xtensa) select BR2_PACKAGE_ZLIB select BR2_PACKAGE_PCRE help @@ -18,6 +18,9 @@ if BR2_PACKAGE_POCO comment "poco components" +config BR2_PACKAGE_POCO_JSON + bool "json" + config BR2_PACKAGE_POCO_XML bool "xml" select BR2_PACKAGE_EXPAT @@ -46,6 +49,20 @@ config BR2_PACKAGE_POCO_ZIP select BR2_PACKAGE_POCO_NET select BR2_PACKAGE_POCO_UTIL +config BR2_PACKAGE_POCO_CPP_PARSER + bool "cpp_parser" + +config BR2_PACKAGE_POCO_PDF + bool "pdf" + +config BR2_PACKAGE_POCO_REDIS + bool "redis" + select BR2_PACKAGE_POCO_NET + +config BR2_PACKAGE_POCO_MONGODB + bool "mongodb" + select BR2_PACKAGE_POCO_NET + config BR2_PACKAGE_POCO_DATA bool @@ -65,5 +82,5 @@ endif # BR2_PACKAGE_POCO comment "poco needs a toolchain w/ wchar, NPTL, C++, dynamic library" depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP \ || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS - depends on !(BR2_arc || BR2_bfin || BR2_microblaze || BR2_mipsel \ + depends on !(BR2_arc || BR2_microblaze || BR2_mipsel \ || BR2_or1k || BR2_xtensa) diff --git a/bsp/buildroot/package/poco/poco.mk b/bsp/buildroot/package/poco/poco.mk index fd3db6f5..aa96d512 100644 --- a/bsp/buildroot/package/poco/poco.mk +++ b/bsp/buildroot/package/poco/poco.mk @@ -18,12 +18,17 @@ POCO_DEPENDENCIES = zlib pcre \ $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),mysql) POCO_OMIT = Data/ODBC PageCompiler \ + $(if $(BR2_PACKAGE_POCO_JSON),,JSON) \ $(if $(BR2_PACKAGE_POCO_XML),,XML) \ $(if $(BR2_PACKAGE_POCO_UTIL),,Util) \ $(if $(BR2_PACKAGE_POCO_NET),,Net) \ $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),,NetSSL_OpenSSL) \ $(if $(BR2_PACKAGE_POCO_CRYPTO),,Crypto) \ $(if $(BR2_PACKAGE_POCO_ZIP),,Zip) \ + $(if $(BR2_PACKAGE_POCO_CPP_PARSER),,CppParser) \ + $(if $(BR2_PACKAGE_POCO_PDF),,PDF) \ + $(if $(BR2_PACKAGE_POCO_REDIS),,Redis) \ + $(if $(BR2_PACKAGE_POCO_MONGODB),,MongoDB) \ $(if $(BR2_PACKAGE_POCO_DATA),,Data) \ $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),,Data/MySQL) \ $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),,Data/SQLite) diff --git a/bsp/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch b/bsp/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch index 3c0ddcc5..4cfe969a 100644 --- a/bsp/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch +++ b/bsp/buildroot/package/policycoreutils/0001-Add-DESTDIR-to-all-paths-that-use-an-absolute-path.patch @@ -13,6 +13,8 @@ accomodate version 2.5 Signed-off-by: Clayton Shotwell Signed-off-by: Niranjan Reddy Signed-off-by: Adam Duskett +Signed-off-by: Fabrice Fontaine +[Update for 2.8] --- setfiles/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) @@ -22,11 +24,11 @@ index c08e2dd..36c0638 100644 --- a/setfiles/Makefile +++ b/setfiles/Makefile @@ -3,7 +3,7 @@ PREFIX ?= $(DESTDIR)/usr - SBINDIR ?= $(DESTDIR)/sbin + PREFIX ?= /usr + SBINDIR ?= /sbin MANDIR = $(PREFIX)/share/man - LIBDIR ?= $(PREFIX)/lib -AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) -+AUDITH ?= $(shell test -f $(DESTDIR)/include/libaudit.h && echo y) ++AUDITH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/libaudit.h && echo y) ABORT_ON_ERRORS=$(shell grep "^\#define ABORT_ON_ERRORS" setfiles.c | awk -S '{ print $$3 }') diff --git a/bsp/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch b/bsp/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch index 32d2ae92..0b530441 100644 --- a/bsp/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch +++ b/bsp/buildroot/package/policycoreutils/0002-Add-PREFIX-to-host-paths.patch @@ -11,25 +11,14 @@ Updated to work with version 2.5 Signed-off-by: Clayton Shotwell Signed-off-by: Niranjan Reddy Signed-off-by: Adam Duskett +Signed-off-by: Fabrice Fontaine +[Update for 2.8] --- load_policy/Makefile | 2 +- newrole/Makefile | 6 +++--- run_init/Makefile | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) -diff --git a/load_policy/Makefile b/load_policy/Makefile -index b85833c..6a45f31 100644 ---- a/load_policy/Makefile -+++ b/load_policy/Makefile -@@ -2,7 +2,7 @@ - PREFIX ?= $(DESTDIR)/usr - SBINDIR ?= $(DESTDIR)/sbin - MANDIR ?= $(PREFIX)/share/man --LOCALEDIR ?= /usr/share/locale -+LOCALEDIR ?= $(PREFIX)/share/locale - - CFLAGS ?= -Werror -Wall -W - override CFLAGS += $(LDFLAGS) -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" diff --git a/newrole/Makefile b/newrole/Makefile index 196af92..896708f 100644 --- a/newrole/Makefile @@ -37,13 +26,12 @@ index 196af92..896708f 100644 @@ -3,9 +3,9 @@ PREFIX ?= $(DESTDIR)/usr BINDIR ?= $(PREFIX)/bin MANDIR ?= $(PREFIX)/share/man - ETCDIR ?= $(DESTDIR)/etc --LOCALEDIR = /usr/share/locale + ETCDIR ?= /etc + LOCALEDIR = $(DESTDIR)$(PREFIX)/share/locale -PAMH ?= $(shell test -f /usr/include/security/pam_appl.h && echo y) -AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) -+LOCALEDIR = $(PREFIX)/share/locale -+PAMH ?= $(shell test -f $(PREFIX)/include/security/pam_appl.h && echo y) -+AUDITH ?= $(shell test -f $(PREFIX)/include/libaudit.h && echo y) ++PAMH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/security/pam_appl.h && echo y) ++AUDITH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/libaudit.h && echo y) # Enable capabilities to permit newrole to generate audit records. # This will make newrole a setuid root program. # The capabilities used are: CAP_AUDIT_WRITE. @@ -54,13 +42,12 @@ index 921f0b0..e1566fc 100644 @@ -4,9 +4,9 @@ PREFIX ?= $(DESTDIR)/usr SBINDIR ?= $(PREFIX)/sbin MANDIR ?= $(PREFIX)/share/man - ETCDIR ?= $(DESTDIR)/etc --LOCALEDIR ?= /usr/share/locale + ETCDIR ?= /etc + LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale -PAMH ?= $(shell test -f /usr/include/security/pam_appl.h && echo y) -AUDITH ?= $(shell test -f /usr/include/libaudit.h && echo y) -+LOCALEDIR ?= $(PREFIX)/share/locale -+PAMH ?= $(shell test -f $(PREFIX)/include/security/pam_appl.h && echo y) -+AUDITH ?= $(shell test -f $(PREFIX)/include/libaudit.h && echo y) ++PAMH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/security/pam_appl.h && echo y) ++AUDITH ?= $(shell test -f $(DESTDIR)$(PREFIX)/include/libaudit.h && echo y) CFLAGS ?= -Werror -Wall -W override CFLAGS += -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" diff --git a/bsp/buildroot/package/policycoreutils/policycoreutils.hash b/bsp/buildroot/package/policycoreutils/policycoreutils.hash index 241905ca..b6367b4b 100644 --- a/bsp/buildroot/package/policycoreutils/policycoreutils.hash +++ b/bsp/buildroot/package/policycoreutils/policycoreutils.hash @@ -1,3 +1,3 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 0a1b8a4a323b854981c6755ff025fe98a0f1cff307f109abb260f0490f13e4f4 policycoreutils-2.7.tar.gz +sha256 986553a235f27bee7ad7c2b7c35ea51eb2ee68e2cf03b661b1585de101bc1099 policycoreutils-2.8.tar.gz sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/policycoreutils/policycoreutils.mk b/bsp/buildroot/package/policycoreutils/policycoreutils.mk index 21c5470c..abd70e16 100644 --- a/bsp/buildroot/package/policycoreutils/policycoreutils.mk +++ b/bsp/buildroot/package/policycoreutils/policycoreutils.mk @@ -4,8 +4,8 @@ # ################################################################################ -POLICYCOREUTILS_VERSION = 2.7 -POLICYCOREUTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +POLICYCOREUTILS_VERSION = 2.8 +POLICYCOREUTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 POLICYCOREUTILS_LICENSE = GPL-2.0 POLICYCOREUTILS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/polkit/Config.in b/bsp/buildroot/package/polkit/Config.in index debd1d9d..ac17cb4d 100644 --- a/bsp/buildroot/package/polkit/Config.in +++ b/bsp/buildroot/package/polkit/Config.in @@ -1,8 +1,9 @@ config BR2_PACKAGE_POLKIT bool "polkit" - depends on BR2_USE_WCHAR # libglib2 - depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_EXPAT help diff --git a/bsp/buildroot/package/polkit/polkit.hash b/bsp/buildroot/package/polkit/polkit.hash index 5e133b43..1fe8607f 100644 --- a/bsp/buildroot/package/polkit/polkit.hash +++ b/bsp/buildroot/package/polkit/polkit.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 36607c8ce576980ee55bd12bab1944f13217eb8e9d04ab56022545861ece3bc5 polkit-0.103.tar.gz +sha256 8fdc7cc8ba4750fcce1a4db9daa759c12afebc7901237e1c993c38f08985e1df polkit-0.105.tar.gz diff --git a/bsp/buildroot/package/polkit/polkit.mk b/bsp/buildroot/package/polkit/polkit.mk index e2831814..fb4c171c 100644 --- a/bsp/buildroot/package/polkit/polkit.mk +++ b/bsp/buildroot/package/polkit/polkit.mk @@ -4,7 +4,7 @@ # ################################################################################ -POLKIT_VERSION = 0.103 +POLKIT_VERSION = 0.105 POLKIT_SITE = http://www.freedesktop.org/software/polkit/releases POLKIT_LICENSE = GPL-2.0 POLKIT_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/poppler/Config.in b/bsp/buildroot/package/poppler/Config.in index 9b03df8d..4a553df7 100644 --- a/bsp/buildroot/package/poppler/Config.in +++ b/bsp/buildroot/package/poppler/Config.in @@ -13,14 +13,6 @@ config BR2_PACKAGE_POPPLER if BR2_PACKAGE_POPPLER -config BR2_PACKAGE_POPPLER_QT - bool "Qt support" - depends on BR2_PACKAGE_QT - select BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_XML - help - Build Qt support into the Poppler library - config BR2_PACKAGE_POPPLER_QT5 bool "Qt5 support" depends on BR2_PACKAGE_QT5 diff --git a/bsp/buildroot/package/poppler/poppler.mk b/bsp/buildroot/package/poppler/poppler.mk index bad61a66..be1c0e48 100644 --- a/bsp/buildroot/package/poppler/poppler.mk +++ b/bsp/buildroot/package/poppler/poppler.mk @@ -12,7 +12,7 @@ POPPLER_LICENSE = GPL-2.0+ POPPLER_LICENSE_FILES = COPYING POPPLER_INSTALL_STAGING = YES POPPLER_CONF_OPTS = --with-font-configuration=fontconfig \ - --enable-xpdf-headers + --enable-xpdf-headers --disable-poppler-qt4 ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) POPPLER_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) -latomic" @@ -84,13 +84,6 @@ else POPPLER_CONF_OPTS += --without-x endif -ifeq ($(BR2_PACKAGE_POPPLER_QT),y) -POPPLER_DEPENDENCIES += qt -POPPLER_CONF_OPTS += --enable-poppler-qt4 -else -POPPLER_CONF_OPTS += --disable-poppler-qt4 -endif - ifeq ($(BR2_PACKAGE_POPPLER_QT5),y) POPPLER_DEPENDENCIES += qt5base POPPLER_CONF_OPTS += --enable-poppler-qt5 diff --git a/bsp/buildroot/package/popt/0004-add-libiconv-to-popt.pc.patch b/bsp/buildroot/package/popt/0004-add-libiconv-to-popt.pc.patch new file mode 100644 index 00000000..087a30bb --- /dev/null +++ b/bsp/buildroot/package/popt/0004-add-libiconv-to-popt.pc.patch @@ -0,0 +1,19 @@ +Add LTLIBICONV to popt.pc.in + +Add ${LTLIBICONV} to popt.pc.in so applications such as shairport-sync +will know that they must link with -liconv when building statically + +Fixes: + - http://autobuild.buildroot.org/results/c5b0d1d2867e49c022a2ad971dd9f358ff0f3865 + +Signed-off-by: Fabrice Fontaine + +diff -Naurp popt-1.16-vanilla/popt.pc.in popt-1.16/popt.pc.in +--- popt-1.16-vanilla/popt.pc.in 2018-11-22 20:26:55.735211662 +0100 ++++ popt-1.16/popt.pc.in 2018-11-22 20:34:11.371303724 +0100 +@@ -7,4 +7,5 @@ Name: popt + Version: @VERSION@ + Description: popt library. + Libs: @POPT_PKGCONFIG_LIBS@ ++Libs.private: @LTLIBICONV@ + Cflags: -I${includedir} diff --git a/bsp/buildroot/package/postgresql/Config.in b/bsp/buildroot/package/postgresql/Config.in index 9dda54bf..e548d3cb 100644 --- a/bsp/buildroot/package/postgresql/Config.in +++ b/bsp/buildroot/package/postgresql/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_POSTGRESQL bool "postgresql" depends on BR2_USE_MMU # fork() + depends on BR2_USE_WCHAR # fails to build in a pure static linking scenario, and # postgresql is unlikely to be used in a pure statically # linked environment. @@ -18,6 +19,6 @@ config BR2_PACKAGE_POSTGRESQL http://www.postgresql.org -comment "postgresql needs a toolchain w/ dynamic library" +comment "postgresql needs a toolchain w/ dynamic library, wchar" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/postgresql/pg_config b/bsp/buildroot/package/postgresql/pg_config index 85c0e63d..642252f2 100644 --- a/bsp/buildroot/package/postgresql/pg_config +++ b/bsp/buildroot/package/postgresql/pg_config @@ -14,6 +14,9 @@ case "$1" in --libdir) echo "$prefix/lib" ;; + --version) + echo "PostgreSQL @POSTGRESQL_VERSION@" + ;; *) - echo "Usage: $0 {--includedir|--libdir}" + echo "Usage: $0 {--includedir|--libdir|--version}" esac diff --git a/bsp/buildroot/package/postgresql/postgresql.hash b/bsp/buildroot/package/postgresql/postgresql.hash index 05f94b4c..c4d7ab55 100644 --- a/bsp/buildroot/package/postgresql/postgresql.hash +++ b/bsp/buildroot/package/postgresql/postgresql.hash @@ -1,5 +1,7 @@ -# From https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.bz2.sha256 -sha256 68a8276f08bda8fbefe562faaf8831cb20664a7a1d3ffdbbcc5b83e08637624b postgresql-10.6.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.bz2.md5 +md5 19d43be679cb0d55363feb8926af3a0f postgresql-11.2.tar.bz2 +# From https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.bz2.sha256 +sha256 2676b9ce09c21978032070b6794696e0aa5a476e3d21d60afc036dc0a9c09405 postgresql-11.2.tar.bz2 # License file, Locally calculated -sha256 24cfc70cf16b3a23242c49ffce39510683bdd48cbedb8a46fe03976ee5f5c21e COPYRIGHT +sha256 c4c86d683970b22b9fab53320ee1b3a30ef4e8223122b4fb6be53ea62ecee8b3 COPYRIGHT diff --git a/bsp/buildroot/package/postgresql/postgresql.mk b/bsp/buildroot/package/postgresql/postgresql.mk index 66af8fe5..c7e9f526 100644 --- a/bsp/buildroot/package/postgresql/postgresql.mk +++ b/bsp/buildroot/package/postgresql/postgresql.mk @@ -4,7 +4,7 @@ # ################################################################################ -POSTGRESQL_VERSION = 10.6 +POSTGRESQL_VERSION = 11.2 POSTGRESQL_SOURCE = postgresql-$(POSTGRESQL_VERSION).tar.bz2 POSTGRESQL_SITE = http://ftp.postgresql.org/pub/source/v$(POSTGRESQL_VERSION) POSTGRESQL_LICENSE = PostgreSQL @@ -17,6 +17,11 @@ POSTGRESQL_CONF_ENV = \ pgac_cv_snprintf_size_t_support=yes POSTGRESQL_CONF_OPTS = --disable-rpath +# https://www.postgresql.org/docs/11/static/install-procedure.html: +# "If you want to invoke the build from another makefile rather than +# manually, you must unset MAKELEVEL or set it to zero" +POSTGRESQL_MAKE_OPTS = MAKELEVEL=0 + ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) # PostgreSQL does not build against uClibc with locales # enabled, due to an uClibc bug, see @@ -29,7 +34,7 @@ ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y) POSTGRESQL_CONF_OPTS += --disable-thread-safety endif -ifeq ($(BR2_arcle)$(BR2_arceb)$(BR2_microblazeel)$(BR2_microblazebe)$(BR2_or1k)$(BR2_nios2)$(BR2_xtensa),y) +ifeq ($(BR2_arcle)$(BR2_arceb)$(BR2_microblazeel)$(BR2_microblazebe)$(BR2_or1k)$(BR2_nios2)$(BR2_riscv)$(BR2_xtensa),y) POSTGRESQL_CONF_OPTS += --disable-spinlocks endif @@ -70,6 +75,22 @@ else POSTGRESQL_CONF_OPTS += --without-ldap endif +ifeq ($(BR2_PACKAGE_LIBXML2),y) +POSTGRESQL_DEPENDENCIES += libxml2 +POSTGRESQL_CONF_OPTS += --with-libxml +POSTGRESQL_CONF_ENV += XML2_CONFIG=$(STAGING_DIR)/usr/bin/xml2-config +else +POSTGRESQL_CONF_OPTS += --without-libxml +endif + +# required for postgresql.service Type=notify +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +POSTGRESQL_DEPENDENCIES += systemd +POSTGRESQL_CONF_OPTS += --with-systemd +else +POSTGRESQL_CONF_OPTS += --without-systemd +endif + define POSTGRESQL_USERS postgres -1 postgres -1 * /var/lib/pgsql /bin/sh - PostgreSQL Server endef @@ -84,6 +105,7 @@ POSTGRESQL_POST_INSTALL_TARGET_HOOKS += POSTGRESQL_INSTALL_TARGET_FIXUP define POSTGRESQL_INSTALL_CUSTOM_PG_CONFIG $(INSTALL) -m 0755 -D package/postgresql/pg_config \ $(STAGING_DIR)/usr/bin/pg_config + $(SED) "s|@POSTGRESQL_VERSION@|$(POSTGRESQL_VERSION)|g" $(STAGING_DIR)/usr/bin/pg_config endef POSTGRESQL_POST_INSTALL_STAGING_HOOKS += POSTGRESQL_INSTALL_CUSTOM_PG_CONFIG diff --git a/bsp/buildroot/package/postgresql/postgresql.service b/bsp/buildroot/package/postgresql/postgresql.service index 4a962586..53e6f84f 100644 --- a/bsp/buildroot/package/postgresql/postgresql.service +++ b/bsp/buildroot/package/postgresql/postgresql.service @@ -3,7 +3,7 @@ Description=PostgreSQL database server After=network.target [Service] -Type=forking +Type=notify # start timeout disabled because initdb may run a little # longer (eg. 5 minutes on RaspberryPi) @@ -12,13 +12,17 @@ TimeoutStartSec=0 User=postgres Group=postgres +StandardOutput=syslog +StandardError=syslog SyslogIdentifier=postgres PIDFile=/var/lib/pgsql/postmaster.pid ExecStartPre=/bin/sh -c "if [ ! -f /var/lib/pgsql/PG_VERSION ]; then /usr/bin/pg_ctl initdb -D /var/lib/pgsql; fi" -ExecStart=/usr/bin/pg_ctl start -D /var/lib/pgsql -w -l /var/lib/pgsql/logfile -ExecReload=/usr/bin/pg_ctl reload -D /var/lib/pgsql -ExecStop=/usr/bin/pg_ctl stop -D /var/lib/pgsql -m fast +ExecStart=/usr/bin/postgres -D /var/lib/pgsql +ExecReload=/usr/bin/kill -HUP $MAINPID +KillMode=mixed +KillSignal=SIGINT +TimeoutSec=0 [Install] WantedBy=multi-user.target diff --git a/bsp/buildroot/package/pound/0002-fix-openssl-1.1.0.patch b/bsp/buildroot/package/pound/0002-fix-openssl-1.1.0.patch new file mode 100644 index 00000000..04eddb15 --- /dev/null +++ b/bsp/buildroot/package/pound/0002-fix-openssl-1.1.0.patch @@ -0,0 +1,334 @@ +From a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff +Date: Wed, 28 Feb 2018 13:44:01 +0000 +Subject: [PATCH] Support for Openssl 1.1 + +Fixes +http://autobuild.buildroot.net/results/ef2/ef2de6c280bf8622a00d4573bc5bd143e3baa002 + +Downloaded from github fork: +https://github.com/graygnuorg/pound/commit/a2c9dde4d055ea8942afb150b7fc3a807d4e5d60 + +This patch was announced on the upstream mailinglist: +http://www.apsis.ch/pound/pound_list/archive/2018/2018-03/1519920322000 + +Signed-off-by: Bernd Kuhls +--- + .gitignore | 15 ++++++++ + config.c | 17 +++++++-- + http.c | 12 ++++++- + pound.h | 4 ++- + svc.c | 101 +++++++++++++++++++++++++++++++++++++++++++---------- + 5 files changed, 125 insertions(+), 24 deletions(-) + create mode 100644 .gitignore + +diff --git a/config.c b/config.c +index d41a3ee..e8fec0f 100644 +--- a/config.c ++++ b/config.c +@@ -174,6 +174,16 @@ conf_fgets(char *buf, const int max) + } + } + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define general_name_string(n) \ ++ strndup(ASN1_STRING_get0_data(n->d.dNSName), \ ++ ASN1_STRING_length(n->d.dNSName) + 1) ++#else ++# define general_name_string(n) \ ++ strndup(ASN1_STRING_data(n->d.dNSName), \ ++ ASN1_STRING_length(n->d.dNSName) + 1) ++#endif ++ + unsigned char ** + get_subjectaltnames(X509 *x509, unsigned int *count) + { +@@ -194,8 +204,7 @@ get_subjectaltnames(X509 *x509, unsigned int *count) + name = sk_GENERAL_NAME_pop(san_stack); + switch(name->type) { + case GEN_DNS: +- temp[local_count] = strndup(ASN1_STRING_data(name->d.dNSName), ASN1_STRING_length(name->d.dNSName) +- + 1); ++ temp[local_count] = general_name_string(name); + if(temp[local_count] == NULL) + conf_err("out of memory"); + local_count++; +@@ -565,7 +574,9 @@ parse_service(const char *svc_name) + pthread_mutex_init(&res->mut, NULL); + if(svc_name) + strncpy(res->name, svc_name, KEY_SIZE); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL) ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) + #else + if((res->sessions = lh_new(LHASH_HASH_FN(t_hash), LHASH_COMP_FN(t_cmp))) == NULL) +diff --git a/http.c b/http.c +index dd211e4..c8e756a 100644 +--- a/http.c ++++ b/http.c +@@ -527,12 +527,22 @@ log_bytes(char *res, const LONG cnt) + + /* Cleanup code. This should really be in the pthread_cleanup_push, except for bugs in some implementations */ + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define clear_error() ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L ++# define clear_error() \ ++ if(ssl != NULL) { ERR_clear_error(); ERR_remove_thread_state(NULL); } ++#else ++# define clear_error() \ ++ if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } ++#endif ++ + #define clean_all() { \ + if(ssl != NULL) { BIO_ssl_shutdown(cl); } \ + if(be != NULL) { BIO_flush(be); BIO_reset(be); BIO_free_all(be); be = NULL; } \ + if(cl != NULL) { BIO_flush(cl); BIO_reset(cl); BIO_free_all(cl); cl = NULL; } \ + if(x509 != NULL) { X509_free(x509); x509 = NULL; } \ +- if(ssl != NULL) { ERR_clear_error(); ERR_remove_state(0); } \ ++ clear_error(); \ + } + + /* +diff --git a/pound.h b/pound.h +index fa22c36..9603b91 100644 +--- a/pound.h ++++ b/pound.h +@@ -344,7 +344,9 @@ typedef struct _tn { + /* maximal session key size */ + #define KEY_SIZE 127 + +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ DEFINE_LHASH_OF(TABNODE); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + DECLARE_LHASH_OF(TABNODE); + #endif + +diff --git a/svc.c b/svc.c +index 60ba488..063b92c 100644 +--- a/svc.c ++++ b/svc.c +@@ -27,10 +27,17 @@ + + #include "pound.h" + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++# define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t) ++# define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n) ++#else + #ifndef LHASH_OF + #define LHASH_OF(x) LHASH + #define CHECKED_LHASH_OF(type, h) h + #endif ++# define TABNODE_GET_DOWN_LOAD(t) (CHECKED_LHASH_OF(TABNODE, t)->down_load) ++# define TABNODE_SET_DOWN_LOAD(t,n) (CHECKED_LHASH_OF(TABNODE, t)->down_load = n) ++#endif + + /* + * Add a new key/content pair to a hash table +@@ -58,7 +65,9 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const + } + memcpy(t->content, content, cont_len); + t->last_acc = time(NULL); +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((old = lh_TABNODE_insert(tab, t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { + #else + if((old = (TABNODE *)lh_insert(tab, t)) != NULL) { +@@ -82,7 +91,9 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { + #else + if((res = (TABNODE *)lh_retrieve(tab, &t)) != NULL) { +@@ -102,7 +113,9 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_delete(tab, &t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { + #else + if((res = (TABNODE *)lh_delete(tab, &t)) != NULL) { +@@ -127,7 +140,9 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a) + TABNODE *res; + + if(t->last_acc < a->lim) +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_delete(a->tab, t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) { + #else + if((res = lh_delete(a->tab, t)) != NULL) { +@@ -145,6 +160,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) + IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) + #endif + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG); ++#endif ++ + /* + * Expire all old nodes + */ +@@ -156,14 +175,16 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) + + a.tab = tab; + a.lim = lim; +- down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ down_load = TABNODE_GET_DOWN_LOAD(tab); ++ TABNODE_SET_DOWN_LOAD(tab, 0); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); + #else + lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_old), &a); + #endif +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; ++ TABNODE_SET_DOWN_LOAD(tab, down_load); + return; + } + +@@ -173,7 +194,9 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg) + TABNODE *res; + + if(memcmp(t->content, arg->content, arg->cont_len) == 0) +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) { ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) { + #else + if((res = lh_delete(arg->tab, t)) != NULL) { +@@ -203,15 +226,16 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len + a.tab = tab; + a.content = content; + a.cont_len = cont_len; +- down_load = CHECKED_LHASH_OF(TABNODE, tab)->down_load; +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = 0; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ down_load = TABNODE_GET_DOWN_LOAD(tab); ++ TABNODE_SET_DOWN_LOAD(tab, 0); ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); + #else + lh_doall_arg(tab, LHASH_DOALL_ARG_FN(t_cont), &a); + #endif +- CHECKED_LHASH_OF(TABNODE, tab)->down_load = down_load; +- return; ++ TABNODE_SET_DOWN_LOAD(tab, down_load); + } + + /* +@@ -1262,6 +1286,31 @@ RSA_tmp_callback(/* not used */SSL *ssl, /* not used */int is_export, int keylen + return res; + } + ++static int ++generate_key(RSA **ret_rsa, unsigned long bits) ++{ ++#if OPENSSL_VERSION_NUMBER > 0x00908000L ++ int rc = 0; ++ RSA *rsa; ++ ++ rsa = RSA_new(); ++ if (rsa) { ++ BIGNUM *bne = BN_new(); ++ if (BN_set_word(bne, RSA_F4)) ++ rc = RSA_generate_key_ex(rsa, bits, bne, NULL); ++ BN_free(bne); ++ if (rc) ++ *ret_rsa = rsa; ++ else ++ RSA_free(rsa); ++ } ++ return rc; ++#else ++ *ret_rsa = RSA_generate_key(bits, RSA_F4, NULL, NULL); ++ return *ret_rsa != NULL; ++#endif ++} ++ + /* + * Periodically regenerate ephemeral RSA keys + * runs every T_RSA_KEYS seconds +@@ -1274,8 +1323,9 @@ do_RSAgen(void) + RSA *t_RSA1024_keys[N_RSA_KEYS]; + + for(n = 0; n < N_RSA_KEYS; n++) { +- t_RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL); +- t_RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL); ++ /* FIXME: Error handling */ ++ generate_key(&t_RSA512_keys[n], 512); ++ generate_key(&t_RSA1024_keys[n], 1024); + } + if(ret_val = pthread_mutex_lock(&RSA_mut)) + logmsg(LOG_WARNING, "thr_RSAgen() lock: %s", strerror(ret_val)); +@@ -1329,11 +1379,11 @@ init_timer(void) + * Pre-generate ephemeral RSA keys + */ + for(n = 0; n < N_RSA_KEYS; n++) { +- if((RSA512_keys[n] = RSA_generate_key(512, RSA_F4, NULL, NULL)) == NULL) { ++ if(!generate_key(&RSA512_keys[n], 512)) { + logmsg(LOG_WARNING,"RSA_generate(%d, 512) failed", n); + return; + } +- if((RSA1024_keys[n] = RSA_generate_key(1024, RSA_F4, NULL, NULL)) == NULL) { ++ if(!generate_key(&RSA1024_keys[n], 1024)) { + logmsg(LOG_WARNING,"RSA_generate(%d, 1024) failed", n); + return; + } +@@ -1420,6 +1470,10 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE, DUMP_ARG) + IMPLEMENT_LHASH_DOALL_ARG_FN(t_dump, TABNODE *, DUMP_ARG *) + #endif + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++IMPLEMENT_LHASH_DOALL_ARG(TABNODE,DUMP_ARG); ++#endif ++ + /* + * write sessions to the control socket + */ +@@ -1430,7 +1484,9 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const + + a.control_sock = control_sock; + a.backends = backends; +-#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++ lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a); ++#elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); + #else + lh_doall_arg(sess, LHASH_DOALL_ARG_FN(t_dump), &a); +@@ -1664,6 +1720,13 @@ thr_control(void *arg) + } + } + ++#ifndef SSL3_ST_SR_CLNT_HELLO_A ++# define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) ++#endif ++#ifndef SSL23_ST_SR_CLNT_HELLO_A ++# define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) ++#endif ++ + void + SSLINFO_callback(const SSL *ssl, int where, int rc) + { diff --git a/bsp/buildroot/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch b/bsp/buildroot/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch new file mode 100644 index 00000000..3befc271 --- /dev/null +++ b/bsp/buildroot/package/pound/0003-Support-for-libressl-coexisting-with-openssl-1.1.x.patch @@ -0,0 +1,140 @@ +From 145b88d0c1a71ba6f4d216768388e0c5853d3990 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Tue, 5 Feb 2019 10:34:55 -0600 +Subject: [PATCH] Support for libressl coexisting with openssl 1.1.x +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libressl needs to not follow the 1.1.x path of APIs + +Resolves build failure like +In file included from svc.c:28:0: +pound.h:348:3: warning: data definition has no type or storage class + DEFINE_LHASH_OF(TABNODE); + ^~~~~~~~~~~~~~~ +pound.h:348:3: warning: type defaults to ‘int’ in declaration of ‘DEFINE_LHASH_OF’ [-Wimplicit-int] +svc.c: In function ‘t_add’: +svc.c:69:15: warning: implicit declaration of function ‘lh_TABNODE_insert’; did you mean ‘lh_OBJ_NAME_insert’? [-Wimplicit-function-declaration] + if((old = lh_TABNODE_insert(tab, t)) != NULL) { + ^~~~~~~~~~~~~~~~~ + lh_OBJ_NAME_insert + +Upstream: Site was down when I tried (http://www.apsis.ch/pound) + +Signed-off-by: Matthew Weber +--- + config.c | 2 +- + svc.c | 20 ++++++++++---------- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/config.c b/config.c +index 58b928e..3ad7fbb 100644 +--- a/config.c ++++ b/config.c +@@ -574,7 +574,7 @@ parse_service(const char *svc_name) + pthread_mutex_init(&res->mut, NULL); + if(svc_name) + strncpy(res->name, svc_name, KEY_SIZE); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res->sessions = lh_TABNODE_new(t_hash, t_cmp)) == NULL) + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res->sessions = LHM_lh_new(TABNODE, t)) == NULL) +diff --git a/svc.c b/svc.c +index f125be4..8a2f62c 100644 +--- a/svc.c ++++ b/svc.c +@@ -27,7 +27,7 @@ + + #include "pound.h" + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + # define TABNODE_GET_DOWN_LOAD(t) lh_TABNODE_get_down_load(t) + # define TABNODE_SET_DOWN_LOAD(t,n) lh_TABNODE_set_down_load(t,n) + #else +@@ -65,7 +65,7 @@ t_add(LHASH_OF(TABNODE) *const tab, const char *key, const void *content, const + } + memcpy(t->content, content, cont_len); + t->last_acc = time(NULL); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((old = lh_TABNODE_insert(tab, t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((old = LHM_lh_insert(TABNODE, tab, t)) != NULL) { +@@ -91,7 +91,7 @@ t_find(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_retrieve(tab, &t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = (TABNODE *)LHM_lh_retrieve(TABNODE, tab, &t)) != NULL) { +@@ -113,7 +113,7 @@ t_remove(LHASH_OF(TABNODE) *const tab, char *const key) + TABNODE t, *res; + + t.key = key; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_delete(tab, &t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, tab, &t)) != NULL) { +@@ -140,7 +140,7 @@ t_old_doall_arg(TABNODE *t, ALL_ARG *a) + TABNODE *res; + + if(t->last_acc < a->lim) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_delete(a->tab, t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, a->tab, t)) != NULL) { +@@ -160,7 +160,7 @@ IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE, ALL_ARG) + IMPLEMENT_LHASH_DOALL_ARG_FN(t_old, TABNODE *, ALL_ARG *) + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + IMPLEMENT_LHASH_DOALL_ARG(TABNODE,ALL_ARG); + #endif + +@@ -177,7 +177,7 @@ t_expire(LHASH_OF(TABNODE) *const tab, const time_t lim) + a.lim = lim; + down_load = TABNODE_GET_DOWN_LOAD(tab); + TABNODE_SET_DOWN_LOAD(tab, 0); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + lh_TABNODE_doall_ALL_ARG(tab, t_old_doall_arg, &a); + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_old), ALL_ARG, &a); +@@ -194,7 +194,7 @@ t_cont_doall_arg(TABNODE *t, ALL_ARG *arg) + TABNODE *res; + + if(memcmp(t->content, arg->content, arg->cont_len) == 0) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + if((res = lh_TABNODE_delete(arg->tab, t)) != NULL) { + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + if((res = LHM_lh_delete(TABNODE, arg->tab, t)) != NULL) { +@@ -228,7 +228,7 @@ t_clean(LHASH_OF(TABNODE) *const tab, void *const content, const size_t cont_len + a.cont_len = cont_len; + down_load = TABNODE_GET_DOWN_LOAD(tab); + TABNODE_SET_DOWN_LOAD(tab, 0); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + lh_TABNODE_doall_ALL_ARG(tab, t_cont_doall_arg, &a); + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, tab, LHASH_DOALL_ARG_FN(t_cont), ALL_ARG, &a); +@@ -1514,7 +1514,7 @@ dump_sess(const int control_sock, LHASH_OF(TABNODE) *const sess, BACKEND *const + + a.control_sock = control_sock; + a.backends = backends; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined LIBRESSL_VERSION_NUMBER + lh_TABNODE_doall_DUMP_ARG(sess, t_dump_doall_arg, &a); + #elif OPENSSL_VERSION_NUMBER >= 0x10000000L + LHM_lh_doall_arg(TABNODE, sess, LHASH_DOALL_ARG_FN(t_dump), DUMP_ARG, &a); +-- +1.9.1 + diff --git a/bsp/buildroot/package/pound/pound.hash b/bsp/buildroot/package/pound/pound.hash index 6908b906..7fbf01b8 100644 --- a/bsp/buildroot/package/pound/pound.hash +++ b/bsp/buildroot/package/pound/pound.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 cdfbf5a7e8dc8fbbe0d6c1e83cd3bd3f2472160aac65684bb01ef661c626a8e4 Pound-2.7.tgz +sha256 a7fd8690de0fd390615e79fd0f4bfd56a544b8ef97dd6659c07ecd3207480c25 Pound-2.8.tgz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 GPL.txt diff --git a/bsp/buildroot/package/pound/pound.mk b/bsp/buildroot/package/pound/pound.mk index 6f7cc848..d6839fc2 100644 --- a/bsp/buildroot/package/pound/pound.mk +++ b/bsp/buildroot/package/pound/pound.mk @@ -4,12 +4,12 @@ # ################################################################################ -POUND_VERSION = 2.7 +POUND_VERSION = 2.8 POUND_SITE = http://www.apsis.ch/pound POUND_SOURCE = Pound-$(POUND_VERSION).tgz POUND_LICENSE = GPL-3.0+ POUND_LICENSE_FILES = GPL.txt -POUND_DEPENDENCIES = openssl +POUND_DEPENDENCIES = openssl host-openssl # Force owner/group to us, otherwise it will try proxy:proxy by # default. diff --git a/bsp/buildroot/package/powerpc-utils/powerpc-utils.hash b/bsp/buildroot/package/powerpc-utils/powerpc-utils.hash index 437a5865..b493be08 100644 --- a/bsp/buildroot/package/powerpc-utils/powerpc-utils.hash +++ b/bsp/buildroot/package/powerpc-utils/powerpc-utils.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d36372efebc1f6f9409501f7ab68a812843925334dee6438e7b52a53c21574c5 powerpc-utils-v1.3.4.tar.gz +sha256 77efe3978ac9c251c4728a35b9aebd6076583939a8e26cc7f07ffa86432a8bf0 powerpc-utils-v1.3.5.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/powerpc-utils/powerpc-utils.mk b/bsp/buildroot/package/powerpc-utils/powerpc-utils.mk index da7a3c9c..a3bd8832 100644 --- a/bsp/buildroot/package/powerpc-utils/powerpc-utils.mk +++ b/bsp/buildroot/package/powerpc-utils/powerpc-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -POWERPC_UTILS_VERSION = v1.3.4 +POWERPC_UTILS_VERSION = v1.3.5 POWERPC_UTILS_SITE = $(call github,ibm-power-utilities,powerpc-utils,$(POWERPC_UTILS_VERSION)) POWERPC_UTILS_DEPENDENCIES = zlib POWERPC_UTILS_AUTORECONF = YES diff --git a/bsp/buildroot/package/powertop/Config.in b/bsp/buildroot/package/powertop/Config.in index 714b1629..0f323a7b 100644 --- a/bsp/buildroot/package/powertop/Config.in +++ b/bsp/buildroot/package/powertop/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_POWERTOP bool "powertop" - depends on !BR2_bfin # pciutils depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # libnl depends on BR2_USE_WCHAR @@ -14,6 +13,5 @@ config BR2_PACKAGE_POWERTOP https://01.org/powertop/ comment "powertop needs a toolchain w/ C++, threads, wchar" - depends on !BR2_bfin depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch b/bsp/buildroot/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch new file mode 100644 index 00000000..3804edc6 --- /dev/null +++ b/bsp/buildroot/package/pppd/0002-pppd-Use-openssl-for-the-DES-instead-of-the-libcrypt-glibc.patch @@ -0,0 +1,113 @@ +From 3c7b86229f7bd2600d74db14b1fe5b3896be3875 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= +Date: Fri, 6 Apr 2018 14:27:18 +0200 +Subject: [PATCH] pppd: Use openssl for the DES instead of the libcrypt / glibc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +It seems the latest glibc (in Fedora glibc-2.27.9000-12.fc29) dropped +libcrypt. The libxcrypt standalone package can be used instead, but +it dropped the old setkey/encrypt API which ppp uses for DES. There +is support for using openssl in pppcrypt.c, but it contains typos +preventing it from compiling and seems to be written for an ancient +openssl version. + +This updates the code to use current openssl. + +[paulus@ozlabs.org - wrote the commit description, fixed comment in + Makefile.linux.] + +Signed-off-by: Jaroslav Å karvada +Signed-off-by: Paul Mackerras +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/paulusmack/ppp/commit/3c7b86229f7bd2600d74db14b1fe5b3896be3875] +--- + pppd/Makefile.linux | 7 ++++--- + pppd/pppcrypt.c | 18 +++++++++--------- + 2 files changed, 13 insertions(+), 12 deletions(-) + +diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux +index 36d2b036..8d5ce99d 100644 +--- a/pppd/Makefile.linux ++++ b/pppd/Makefile.linux +@@ -35,10 +35,10 @@ endif + COPTS = -O2 -pipe -Wall -g + LIBS = + +-# Uncomment the next 2 lines to include support for Microsoft's ++# Uncomment the next line to include support for Microsoft's + # MS-CHAP authentication protocol. Also, edit plugins/radius/Makefile.linux. + CHAPMS=y +-USE_CRYPT=y ++#USE_CRYPT=y + # Don't use MSLANMAN unless you really know what you're doing. + #MSLANMAN=y + # Uncomment the next line to include support for MPPE. CHAPMS (above) must +@@ -137,7 +137,8 @@ endif + + ifdef NEEDDES + ifndef USE_CRYPT +-LIBS += -ldes $(LIBS) ++CFLAGS += -I/usr/include/openssl ++LIBS += -lcrypto + else + CFLAGS += -DUSE_CRYPT=1 + endif +diff --git a/pppd/pppcrypt.c b/pppd/pppcrypt.c +index 8b85b132..6b35375e 100644 +--- a/pppd/pppcrypt.c ++++ b/pppd/pppcrypt.c +@@ -64,7 +64,7 @@ u_char *des_key; /* OUT 64 bit DES key with parity bits added */ + des_key[7] = Get7Bits(key, 49); + + #ifndef USE_CRYPT +- des_set_odd_parity((des_cblock *)des_key); ++ DES_set_odd_parity((DES_cblock *)des_key); + #endif + } + +@@ -158,25 +158,25 @@ u_char *clear; /* OUT 8 octets */ + } + + #else /* USE_CRYPT */ +-static des_key_schedule key_schedule; ++static DES_key_schedule key_schedule; + + bool + DesSetkey(key) + u_char *key; + { +- des_cblock des_key; ++ DES_cblock des_key; + MakeKey(key, des_key); +- des_set_key(&des_key, key_schedule); ++ DES_set_key(&des_key, &key_schedule); + return (1); + } + + bool +-DesEncrypt(clear, key, cipher) ++DesEncrypt(clear, cipher) + u_char *clear; /* IN 8 octets */ + u_char *cipher; /* OUT 8 octets */ + { +- des_ecb_encrypt((des_cblock *)clear, (des_cblock *)cipher, +- key_schedule, 1); ++ DES_ecb_encrypt((DES_cblock *)clear, (DES_cblock *)cipher, ++ &key_schedule, 1); + return (1); + } + +@@ -185,8 +185,8 @@ DesDecrypt(cipher, clear) + u_char *cipher; /* IN 8 octets */ + u_char *clear; /* OUT 8 octets */ + { +- des_ecb_encrypt((des_cblock *)cipher, (des_cblock *)clear, +- key_schedule, 0); ++ DES_ecb_encrypt((DES_cblock *)cipher, (DES_cblock *)clear, ++ &key_schedule, 0); + return (1); + } + diff --git a/bsp/buildroot/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch b/bsp/buildroot/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch new file mode 100644 index 00000000..e629a2de --- /dev/null +++ b/bsp/buildroot/package/pppd/0003-Add-OPENSSL_INCLUDE_DIR.patch @@ -0,0 +1,38 @@ +From 24dd10608bfb554390c17f709a5afa30060c994b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 31 Oct 2018 10:49:16 +0100 +Subject: [PATCH] Add OPENSSL_INCLUDE_DIR + +Add OPENSSL_INCLUDE_DIR to be able to override openssl include directory +as -I/usr/include/openssl can't be used when cross-compiling + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/paulusmack/ppp/pull/107] +--- + pppd/Makefile.linux | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pppd/Makefile.linux b/pppd/Makefile.linux +index 8d5ce99..b258d86 100644 +--- a/pppd/Makefile.linux ++++ b/pppd/Makefile.linux +@@ -84,6 +84,7 @@ USE_LIBUTIL=y + MAXOCTETS=y + + INCLUDE_DIRS= -I../include ++OPENSSL_INCLUDE_DIR= /usr/include/openssl + + COMPILE_FLAGS= -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP + +@@ -137,7 +138,7 @@ endif + + ifdef NEEDDES + ifndef USE_CRYPT +-CFLAGS += -I/usr/include/openssl ++CFLAGS += -I$(OPENSSL_INCLUDE_DIR) + LIBS += -lcrypto + else + CFLAGS += -DUSE_CRYPT=1 +-- +2.17.1 + diff --git a/bsp/buildroot/package/pppd/Config.in b/bsp/buildroot/package/pppd/Config.in index ee89a577..bf05689f 100644 --- a/bsp/buildroot/package/pppd/Config.in +++ b/bsp/buildroot/package/pppd/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_PPPD depends on !BR2_STATIC_LIBS depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree depends on BR2_USE_MMU + select BR2_PACKAGE_OPENSSL help An implementation of the Point-to-point protocol. diff --git a/bsp/buildroot/package/pppd/pppd.mk b/bsp/buildroot/package/pppd/pppd.mk index 6b86a4d3..4dffc179 100644 --- a/bsp/buildroot/package/pppd/pppd.mk +++ b/bsp/buildroot/package/pppd/pppd.mk @@ -12,7 +12,10 @@ PPPD_LICENSE_FILES = \ pppd/tdb.c pppd/plugins/pppoatm/COPYING \ pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c -PPPD_MAKE_OPTS = HAVE_INET6=y +PPPD_DEPENDENCIES = openssl +PPPD_MAKE_OPTS = \ + HAVE_INET6=y \ + OPENSSL_INCLUDE_DIR=$(STAGING_DIR)/usr/include/openssl PPPD_INSTALL_STAGING = YES PPPD_TARGET_BINS = chat pppd pppdump pppstats PPPD_RADIUS_CONF = \ diff --git a/bsp/buildroot/package/pps-tools/pps-tools.hash b/bsp/buildroot/package/pps-tools/pps-tools.hash index da7bce45..1e54c294 100644 --- a/bsp/buildroot/package/pps-tools/pps-tools.hash +++ b/bsp/buildroot/package/pps-tools/pps-tools.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 eee0a76118cf11d94f575ee43804a6991379f2c734b400ba01ac4811d0498e97 pps-tools-47333f24af878f67ce48022e8af16419713aa1ac.tar.gz +sha256 1168f1474235017af413afdb07288303ad7a7b12a0282f3bf9ed0e22fe0d7d2e pps-tools-e2b25049df9a4da28168b7378016f1650d0dfa6b.tar.gz diff --git a/bsp/buildroot/package/pps-tools/pps-tools.mk b/bsp/buildroot/package/pps-tools/pps-tools.mk index 37bb7e1f..2d82cf7d 100644 --- a/bsp/buildroot/package/pps-tools/pps-tools.mk +++ b/bsp/buildroot/package/pps-tools/pps-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -PPS_TOOLS_VERSION = 47333f24af878f67ce48022e8af16419713aa1ac +PPS_TOOLS_VERSION = e2b25049df9a4da28168b7378016f1650d0dfa6b PPS_TOOLS_SITE = $(call github,ago,pps-tools,$(PPS_TOOLS_VERSION)) PPS_TOOLS_INSTALL_STAGING = YES PPS_TOOLS_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/procps-ng/Config.in b/bsp/buildroot/package/procps-ng/Config.in index d9e884fa..6ff89832 100644 --- a/bsp/buildroot/package/procps-ng/Config.in +++ b/bsp/buildroot/package/procps-ng/Config.in @@ -2,14 +2,9 @@ config BR2_PACKAGE_PROCPS_NG bool "procps-ng" depends on BR2_USE_MMU # fork() depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS - depends on !BR2_TOOLCHAIN_USES_MUSL # fopencookie() select BR2_PACKAGE_NCURSES help Standard informational utilities and process-handling tools. Provides things like kill, ps, uptime, free, top, etc... http://sourceforge.net/projects/procps-ng/ - -comment "procps-ng needs a glibc or uclibc toolchain" - depends on BR2_USE_MMU - depends on BR2_TOOLCHAIN_USES_MUSL diff --git a/bsp/buildroot/package/procps-ng/procps-ng.mk b/bsp/buildroot/package/procps-ng/procps-ng.mk index e1fddea3..03b74784 100644 --- a/bsp/buildroot/package/procps-ng/procps-ng.mk +++ b/bsp/buildroot/package/procps-ng/procps-ng.mk @@ -13,12 +13,6 @@ PROCPS_NG_INSTALL_STAGING = YES PROCPS_NG_DEPENDENCIES = ncurses host-pkgconf $(TARGET_NLS_DEPENDENCIES) PROCPS_NG_CONF_OPTS = LIBS=$(TARGET_NLS_LIBS) -# If both procps-ng and busybox are selected, make certain procps-ng -# wins the fight over who gets to have their utils actually installed. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -PROCPS_NG_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_SYSTEMD),y) PROCPS_NG_DEPENDENCIES += systemd PROCPS_NG_CONF_OPTS += --with-systemd @@ -26,8 +20,8 @@ else PROCPS_NG_CONF_OPTS += --without-systemd endif -# Make sure binaries get installed in /bin, so that they overwrite -# their busybox counterparts. +# Make sure binaries get installed in /bin, as busybox does, so that we +# don't end up with two versions. # Make sure libprocps.pc is installed in STAGING_DIR/usr/lib/pkgconfig/ # otherwise it's installed in STAGING_DIR/lib/pkgconfig/ breaking # pkg-config --libs libprocps. diff --git a/bsp/buildroot/package/proftpd/Config.in b/bsp/buildroot/package/proftpd/Config.in index e979d407..edec37c8 100644 --- a/bsp/buildroot/package/proftpd/Config.in +++ b/bsp/buildroot/package/proftpd/Config.in @@ -20,4 +20,72 @@ config BR2_PACKAGE_PROFTPD_MOD_REDIS The mod_redis module enables ProFTPD support for caching data in Redis servers, using the hiredis client library. +config BR2_PACKAGE_PROFTPD_MOD_SFTP + bool "mod_sftp support" + select BR2_PACKAGE_OPENSSL + help + Compile ProFTPD with mod_sftp support + +config BR2_PACKAGE_PROFTPD_MOD_SQL + bool "mod_sql support" + help + Compile ProFTPD with mod_sql support. + +if BR2_PACKAGE_PROFTPD_MOD_SQL + +config BR2_PACKAGE_PROFTPD_MOD_SQL_SQLITE + bool "mod_sql_sqlite support" + select BR2_PACKAGE_SQLITE + help + Compile ProFTPD with mod_sql_sqlite support. + +endif + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB + bool "mod_quotatab support" + help + Compile ProFTPD with mod_quotatab support. This module + is required in order to support quota tables: + 1. mod_quotatab_file + 2. mod_quotatab_ldap + 3. mod_quotatab_radius + 4. mod_quotatab_sql + +if BR2_PACKAGE_PROFTPD_MOD_QUOTATAB + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_FILE + bool "mod_quotatab_file table support" + help + Compile mod_quotatab with mod_quotatab_file table. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_LDAP + bool "mod_quotatab_ldap table support" + help + Compile mod_quotatab with mod_quotatab_ldap table. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_RADIUS + bool "mod_quotatab_radius table support" + help + Compile mod_quotatab with mod_quotatab_radius table. + +config BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_SQL + bool "mod_quotatab_sql table support" + select BR2_PACKAGE_PROFTPD_MOD_SQL + help + Compile mod_quotatab with mod_quotatab_sql table. + +endif + +config BR2_PACKAGE_PROFTPD_BUFFER_SIZE + int "buffer size in bytes (0 for default)" + default "0" + help + By increasing the buffer size above the default of 1K, + proftpd reads and writes data in larger chunks, and makes + fewer expensive system calls. Use of this option to set buffer + sizes of 8K or more has been reported to drastically increase + transfer speeds (depending on network configurations). + + 0 uses the default size of 1024. + endif diff --git a/bsp/buildroot/package/proftpd/S50proftpd b/bsp/buildroot/package/proftpd/S50proftpd old mode 100755 new mode 100644 index 336680a4..3f9070f2 --- a/bsp/buildroot/package/proftpd/S50proftpd +++ b/bsp/buildroot/package/proftpd/S50proftpd @@ -1,15 +1,13 @@ #!/bin/sh -DAEMON=/usr/sbin/proftpd trap "" HUP trap "" TERM -test -f $DAEMON || exit 0 [ ! -d /var/run/proftpd ] && mkdir /var/run/proftpd [ ! -f /var/log/wtmp ] && touch /var/log/wtmp start() { printf "Starting ProFTPD: " - $DAEMON + /usr/sbin/proftpd if [ $? != 0 ]; then echo "FAILED" exit 1 diff --git a/bsp/buildroot/package/proftpd/proftpd.mk b/bsp/buildroot/package/proftpd/proftpd.mk index 3e165c6a..67d8eb8c 100644 --- a/bsp/buildroot/package/proftpd/proftpd.mk +++ b/bsp/buildroot/package/proftpd/proftpd.mk @@ -20,11 +20,13 @@ PROFTPD_CONF_OPTS = \ --disable-ncurses \ --disable-facl \ --disable-dso \ + --enable-sendfile \ --enable-shadow \ - --with-gnu-ld + --with-gnu-ld \ + --without-openssl-cmdline ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REWRITE),y) -PROFTPD_CONF_OPTS += --with-modules=mod_rewrite +PROFTPD_MODULES += mod_rewrite endif ifeq ($(BR2_PACKAGE_PROFTPD_MOD_REDIS),y) @@ -34,6 +36,45 @@ else PROFTPD_CONF_OPTS += --disable-redis endif +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_SFTP),y) +PROFTPD_CONF_OPTS += --enable-openssl +PROFTPD_MODULES += mod_sftp +PROFTPD_DEPENDENCIES += openssl +else +PROFTPD_CONF_OPTS += --disable-openssl +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_SQL),y) +PROFTPD_MODULES += mod_sql +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_SQL_SQLITE),y) +PROFTPD_MODULES += mod_sql_sqlite +PROFTPD_DEPENDENCIES += sqlite +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB),y) +PROFTPD_MODULES += mod_quotatab +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_FILE),y) +PROFTPD_MODULES += mod_quotatab_file +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_LDAP),y) +PROFTPD_MODULES += mod_quotatab_ldap +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_RADIUS),y) +PROFTPD_MODULES += mod_quotatab_radius +endif + +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB_SQL),y) +PROFTPD_MODULES += mod_quotatab_sql +endif + +PROFTPD_CONF_OPTS += --with-modules=$(subst $(space),:,$(PROFTPD_MODULES)) + # configure script doesn't handle detection of %llu format string # support for printing the file size when cross compiling, breaking # access for large files. @@ -52,9 +93,23 @@ PROFTPD_POST_CONFIGURE_HOOKS = PROFTPD_MAKENAMES PROFTPD_MAKE = $(MAKE1) +# install Perl based scripts in target +ifeq ($(BR2_PACKAGE_PERL),y) +ifeq ($(BR2_PACKAGE_PROFTPD_MOD_QUOTATAB),y) +define PROFTPD_INSTALL_FTPQUOTA + $(INSTALL) -D -m 0755 $(@D)/contrib/ftpquota $(TARGET_DIR)/usr/sbin/ftpquota +endef +endif +define PROFTPD_INSTALL_FTPASSWD + $(INSTALL) -D -m 0755 $(@D)/contrib/ftpasswd $(TARGET_DIR)/usr/sbin/ftpasswd +endef +endif + define PROFTPD_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/proftpd $(TARGET_DIR)/usr/sbin/proftpd $(INSTALL) -m 0644 -D $(@D)/sample-configurations/basic.conf $(TARGET_DIR)/etc/proftpd.conf + $(PROFTPD_INSTALL_FTPQUOTA) + $(PROFTPD_INSTALL_FTPASSWD) endef define PROFTPD_USERS @@ -73,4 +128,8 @@ define PROFTPD_INSTALL_INIT_SYSTEMD $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service endef +ifneq ($(BR2_PACKAGE_PROFTPD_BUFFER_SIZE),0) +PROFTPD_CONF_OPTS += --enable-buffer-size=$(BR2_PACKAGE_PROFTPD_BUFFER_SIZE) +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/proj/proj.hash b/bsp/buildroot/package/proj/proj.hash index 6a791baa..aadbc385 100644 --- a/bsp/buildroot/package/proj/proj.hash +++ b/bsp/buildroot/package/proj/proj.hash @@ -1,5 +1,5 @@ # Fetched from http://download.osgeo.org/proj/proj-4.9.3.tar.gz.md5 -md5 d598336ca834742735137c5674b214a1 proj-4.9.3.tar.gz +md5 15c8d7d6a8cb945c7878d0ff322a232c proj-5.0.1.tar.gz # Locally calculated -sha256 6984542fea333488de5c82eea58d699e4aff4b359200a9971537cd7e047185f7 proj-4.9.3.tar.gz +sha256 a792f78897482ed2c4e2af4e8a1a02e294c64e32b591a635c5294cb9d49fdc8c proj-5.0.1.tar.gz sha256 2dcac4af6990093ef48b896bfb81452d46a31b08d46cce34b27e83f93b2e37f6 COPYING diff --git a/bsp/buildroot/package/proj/proj.mk b/bsp/buildroot/package/proj/proj.mk index 6d029bba..0b239b2b 100644 --- a/bsp/buildroot/package/proj/proj.mk +++ b/bsp/buildroot/package/proj/proj.mk @@ -4,7 +4,7 @@ # ################################################################################ -PROJ_VERSION = 4.9.3 +PROJ_VERSION = 5.0.1 PROJ_SITE = http://download.osgeo.org/proj PROJ_LICENSE = MIT PROJ_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/prosody/0001-enable-syslog.patch b/bsp/buildroot/package/prosody/0001-enable-syslog.patch new file mode 100644 index 00000000..16acc89c --- /dev/null +++ b/bsp/buildroot/package/prosody/0001-enable-syslog.patch @@ -0,0 +1,25 @@ +From 267b5d195be0f3a8f00ccf4ccb62e25a9c4e48eb Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 22 Oct 2017 08:44:01 +0200 +Subject: [PATCH] enable syslog + +note: the posix module is auto-loaded by default + +Signed-off-by: Francois Perrad + +diff --git a/prosody.cfg.lua.dist b/prosody.cfg.lua.dist +index a0fc6c9e..af3cc0e4 100644 +--- a/prosody.cfg.lua.dist ++++ b/prosody.cfg.lua.dist +@@ -155,7 +155,7 @@ archive_expires_after = "1w" -- Remove archived messages after 1 week + log = { + info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging + error = "prosody.err"; +- -- "*syslog"; -- Uncomment this for logging to syslog ++ "*syslog"; -- Uncomment this for logging to syslog + -- "*console"; -- Log to the console, useful for debugging with daemonize=false + } + +-- +2.11.0 + diff --git a/bsp/buildroot/package/prosody/0002-add-pidfile.patch b/bsp/buildroot/package/prosody/0002-add-pidfile.patch new file mode 100644 index 00000000..6221fd08 --- /dev/null +++ b/bsp/buildroot/package/prosody/0002-add-pidfile.patch @@ -0,0 +1,26 @@ +From 124d479195ac8ec1747b5b89fe4860d0e92c2aae Mon Sep 17 00:00:00 2001 +From: Francois Perrad +Date: Sun, 22 Oct 2017 08:58:11 +0200 +Subject: [PATCH] add pidfile + +see https://prosody.im/doc/configure#posix-only_options + +Signed-off-by: Francois Perrad + +diff --git a/prosody.cfg.lua.dist b/prosody.cfg.lua.dist +index af3cc0e4..675db12f 100644 +--- a/prosody.cfg.lua.dist ++++ b/prosody.cfg.lua.dist +@@ -176,6 +176,9 @@ log = { + -- HTTPS currently only supports a single certificate, specify it here: + --https_certificate = "certs/localhost.crt" + ++-- This must match the PIDFILE used in S50prosody ++pidfile = "/var/run/prosody/prosody.pid" ++ + ----------- Virtual hosts ----------- + -- You need to add a VirtualHost entry for each domain you wish Prosody to serve. + -- Settings under each VirtualHost entry apply *only* to that host. +-- +2.11.0 + diff --git a/bsp/buildroot/package/prosody/Config.in b/bsp/buildroot/package/prosody/Config.in index 77eeb85a..c32ca20e 100644 --- a/bsp/buildroot/package/prosody/Config.in +++ b/bsp/buildroot/package/prosody/Config.in @@ -1,6 +1,10 @@ config BR2_PACKAGE_PROSODY bool "prosody" - depends on BR2_PACKAGE_LUA_5_1 || BR2_PACKAGE_LUAJIT + depends on BR2_USE_MMU # fork + depends on BR2_PACKAGE_HAS_LUAINTERPRETER + depends on !BR2_PACKAGE_LUA_5_3 + depends on !BR2_STATIC_LIBS # luaexpat, luasec, luasocket, luafilesystem + select BR2_PACKAGE_LUABITOP if !BR2_PACKAGE_LUAJIT # runtime select BR2_PACKAGE_LUAEXPAT # runtime select BR2_PACKAGE_LUASEC # runtime select BR2_PACKAGE_LUASOCKET # runtime @@ -14,5 +18,9 @@ config BR2_PACKAGE_PROSODY https://prosody.im -comment "prosody needs the lua interpreter" - depends on !BR2_PACKAGE_LUA_5_1 && !BR2_PACKAGE_LUAJIT +comment "prosody needs the lua interpreter, dynamic library" + depends on !BR2_PACKAGE_HAS_LUAINTERPRETER || BR2_STATIC_LIBS + depends on BR2_USE_MMU + +comment "prosody needs a Lua 5.1/5.2 interpreter" + depends on BR2_PACKAGE_LUA_5_3 diff --git a/bsp/buildroot/package/prosody/S50prosody b/bsp/buildroot/package/prosody/S50prosody index 84913a5f..6fd33671 100644 --- a/bsp/buildroot/package/prosody/S50prosody +++ b/bsp/buildroot/package/prosody/S50prosody @@ -1,7 +1,6 @@ #! /bin/sh NAME=prosody -DAEMON=/usr/bin/$NAME # This must match the pidfile field in # /etc/prosody/prosody.cfg.lua @@ -9,15 +8,12 @@ DAEMON=/usr/bin/$NAME PIDDIR=/var/run/$NAME PIDFILE=$PIDDIR/$NAME.pid -# Gracefully exit if the package has been removed. -test -x $DAEMON || exit 0 - case "$1" in start) printf "Starting $NAME: " mkdir -p $PIDDIR chown $NAME:$NAME $PIDDIR - start-stop-daemon -S -q -o -x $DAEMON -c $NAME + start-stop-daemon -S -q -o -x /usr/bin/prosody -c $NAME [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) diff --git a/bsp/buildroot/package/prosody/prosody.cfg.lua b/bsp/buildroot/package/prosody/prosody.cfg.lua deleted file mode 100644 index 8329c0ad..00000000 --- a/bsp/buildroot/package/prosody/prosody.cfg.lua +++ /dev/null @@ -1,184 +0,0 @@ --- Prosody Example Configuration File --- --- Information on configuring Prosody can be found on our --- website at http://prosody.im/doc/configure --- --- Tip: You can check that the syntax of this file is correct --- when you have finished by running: luac -p prosody.cfg.lua --- If there are any errors, it will let you know what and where --- they are, otherwise it will keep quiet. --- --- The only thing left to do is rename this file to remove the .dist ending, and fill in the --- blanks. Good luck, and happy Jabbering! - - ----------- Server-wide settings ---------- --- Settings in this section apply to the whole server and are the default settings --- for any virtual hosts - --- This is a (by default, empty) list of accounts that are admins --- for the server. Note that you must create the accounts separately --- (see http://prosody.im/doc/creating_accounts for info) --- Example: admins = { "user1@example.com", "user2@example.net" } -admins = { } - --- Enable use of libevent for better performance under high load --- For more information see: http://prosody.im/doc/libevent ---use_libevent = true; - --- This is the list of modules Prosody will load on startup. --- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. --- Documentation on modules can be found at: http://prosody.im/doc/modules -modules_enabled = { - - -- Generally required - "roster"; -- Allow users to have a roster. Recommended ;) - "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. - "tls"; -- Add support for secure TLS on c2s/s2s connections - "dialback"; -- s2s dialback support - "disco"; -- Service discovery - - -- Not essential, but recommended - "private"; -- Private XML storage (for room bookmarks, etc.) - "vcard"; -- Allow users to set vCards - - -- These are commented by default as they have a performance impact - --"privacy"; -- Support privacy lists - --"compression"; -- Stream compression - - -- Nice to have - "version"; -- Replies to server version requests - "uptime"; -- Report how long server has been running - "time"; -- Let others know the time here on this server - "ping"; -- Replies to XMPP pings with pongs - "pep"; -- Enables users to publish their mood, activity, playing music and more - "register"; -- Allow users to register on this server using a client and change passwords - - -- Admin interfaces - "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands - --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 - - -- HTTP modules - --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" - --"http_files"; -- Serve static files from a directory over HTTP - - -- Other specific functionality - "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. - --"groups"; -- Shared roster support - --"announce"; -- Send announcement to all online users - --"welcome"; -- Welcome users who register accounts - --"watchregistrations"; -- Alert admins of registrations - --"motd"; -- Send a message to users when they log in - --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. -}; - --- These modules are auto-loaded, but should you want --- to disable them then uncomment them here: -modules_disabled = { - -- "offline"; -- Store offline messages - -- "c2s"; -- Handle client connections - -- "s2s"; -- Handle server-to-server connections -}; - --- Disable account creation by default, for security --- For more information see http://prosody.im/doc/creating_accounts -allow_registration = false; - --- These are the SSL/TLS-related settings. If you don't want --- to use SSL/TLS, you may comment or remove this -ssl = { - key = "certs/localhost.key"; - certificate = "certs/localhost.crt"; -} - --- Force clients to use encrypted connections? This option will --- prevent clients from authenticating unless they are using encryption. - -c2s_require_encryption = false - --- Force certificate authentication for server-to-server connections? --- This provides ideal security, but requires servers you communicate --- with to support encryption AND present valid, trusted certificates. --- NOTE: Your version of LuaSec must support certificate verification! --- For more information see http://prosody.im/doc/s2s#security - -s2s_secure_auth = false - --- Many servers don't support encryption or have invalid or self-signed --- certificates. You can list domains here that will not be required to --- authenticate using certificates. They will be authenticated using DNS. - ---s2s_insecure_domains = { "gmail.com" } - --- Even if you leave s2s_secure_auth disabled, you can still require valid --- certificates for some domains by specifying a list here. - ---s2s_secure_domains = { "jabber.org" } - --- Select the authentication backend to use. The 'internal' providers --- use Prosody's configured data storage to store the authentication data. --- To allow Prosody to offer secure authentication mechanisms to clients, the --- default provider stores passwords in plaintext. If you do not trust your --- server please see http://prosody.im/doc/modules/mod_auth_internal_hashed --- for information about using the hashed backend. - -authentication = "internal_plain" - --- Select the storage backend to use. By default Prosody uses flat files --- in its configured data directory, but it also supports more backends --- through modules. An "sql" backend is included by default, but requires --- additional dependencies. See http://prosody.im/doc/storage for more info. - ---storage = "sql" -- Default is "internal" - --- For the "sql" backend, you can uncomment *one* of the below to configure: ---sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename. ---sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } ---sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } - --- Logging configuration --- For advanced logging see http://prosody.im/doc/logging -log = { - -- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging - -- error = "prosody.err"; - "*syslog"; -- Logging to syslog - -- "*console"; -- Log to the console, useful for debugging with daemonize=false -} - -pidfile = "/var/run/prosody/prosody.pid" - ------------ Virtual hosts ----------- --- You need to add a VirtualHost entry for each domain you wish Prosody to serve. --- Settings under each VirtualHost entry apply *only* to that host. - -VirtualHost "localhost" - -VirtualHost "example.com" - -- Assign this host a certificate for TLS, otherwise it would use the one - -- set in the global section (if any). - -- Note that old-style SSL on port 5223 only supports one certificate, and will always - -- use the global one. - ssl = { - key = "certs/example.com.key"; - certificate = "certs/example.com.crt"; - } - ------- Components ------ --- You can specify components to add hosts that provide special services, --- like multi-user conferences, and transports. --- For more information on components, see http://prosody.im/doc/components - ----Set up a MUC (multi-user chat) room server on conference.example.com: ---Component "conference.example.com" "muc" - --- Set up a SOCKS5 bytestream proxy for server-proxied file transfers: ---Component "proxy.example.com" "proxy65" - ----Set up an external component (default component port is 5347) --- --- External components allow adding various services, such as gateways/ --- transports to other networks like ICQ, MSN and Yahoo. For more info --- see: http://prosody.im/doc/components#adding_an_external_component --- ---Component "gateway.example.com" --- component_secret = "password" diff --git a/bsp/buildroot/package/prosody/prosody.hash b/bsp/buildroot/package/prosody/prosody.hash index 8debfe19..f3f9aa47 100644 --- a/bsp/buildroot/package/prosody/prosody.hash +++ b/bsp/buildroot/package/prosody/prosody.hash @@ -1,2 +1,8 @@ -# Locally calculated -sha256 27d1388acd79eaa453f2b194bd23c25121fe0a704d0dd940457caf1874ea1123 prosody-0.9.14.tar.gz +# Locally computed: +md5 b4529e0cf8e0ee82a2f677e404c3df35 prosody-0.11.2.tar.gz +sha1 0508cfc1c3c74a7eb8fdac2ed50435e190930f6a prosody-0.11.2.tar.gz +sha256 8911f6dc29b9e0c4edf9e61dc23fa22d77bc42c4caf28b809ab843b2f08e4831 prosody-0.11.2.tar.gz +sha512 22e55a551a40c92f38a1ed1de5fdcad574d699d58c2e27f93c3d465b55487b8e923c2ba088daf93c7140cbafb0d429687e0b662c8bb1c1aba4b79ac1ea271cd1 prosody-0.11.2.tar.gz + +# Hash for license file: +sha256 bbbdc1c5426e5944cf869fc0faeaf19d88a220cd2b39ea98b7b8e86b0e88a2ef COPYING diff --git a/bsp/buildroot/package/prosody/prosody.mk b/bsp/buildroot/package/prosody/prosody.mk index ab50cc88..c2111f6b 100644 --- a/bsp/buildroot/package/prosody/prosody.mk +++ b/bsp/buildroot/package/prosody/prosody.mk @@ -4,29 +4,30 @@ # ################################################################################ -PROSODY_VERSION = 0.9.14 +PROSODY_VERSION = 0.11.2 PROSODY_SITE = https://prosody.im/downloads/source PROSODY_LICENSE = MIT PROSODY_LICENSE_FILES = COPYING -PROSODY_DEPENDENCIES = openssl libidn +PROSODY_DEPENDENCIES = host-luainterpreter luainterpreter libidn openssl -ifeq ($(BR2_PACKAGE_LUA_5_1),y) -PROSODY_DEPENDENCIES += lua -endif - -ifeq ($(BR2_PACKAGE_LUAJIT),y) -PROSODY_DEPENDENCIES += luajit -endif +PROSODY_CFLAGS = $(TARGET_CFLAGS) -fPIC -std=c99 \ + $(if BR2_TOOLCHAIN_USES_MUSL,-DWITHOUT_MALLINFO) PROSODY_CONF_OPTS = \ + --with-lua-bin=$(HOST_DIR)/bin \ --with-lua=$(STAGING_DIR)/usr \ + --lua-version=$(LUAINTERPRETER_ABIVER) \ --c-compiler=$(TARGET_CC) \ - --cflags="$(TARGET_CFLAGS) -fPIC" \ + --cflags="$(PROSODY_CFLAGS)" \ --linker=$(TARGET_CC) \ --ldflags="$(TARGET_LDFLAGS) -shared" \ --sysconfdir=/etc/prosody \ --prefix=/usr +ifeq ($(BR2_PACKAGE_LUAJIT),y) +PROSODY_CONF_OPTS += --runwith=luajit +endif + define PROSODY_CONFIGURE_CMDS cd $(@D) && \ $(TARGET_CONFIGURE_OPTS) \ @@ -58,15 +59,4 @@ endef PROSODY_POST_INSTALL_TARGET_HOOKS += PROSODY_REMOVE_CERT_GENERATOR -# 1. Enable posix functionality -# 2. Log to syslog -# 3. Specify pid file write location -# 4. Enable virtual host example.com -define PROSODY_TWEAK_DEFAULT_CONF - $(INSTALL) -D package/prosody/prosody.cfg.lua \ - $(TARGET_DIR)/etc/prosody/prosody.cfg.lua -endef - -PROSODY_POST_INSTALL_TARGET_HOOKS += PROSODY_TWEAK_DEFAULT_CONF - $(eval $(generic-package)) diff --git a/bsp/buildroot/package/protobuf-c/0001-Add-std-to-some-types.patch b/bsp/buildroot/package/protobuf-c/0001-Add-std-to-some-types.patch new file mode 100644 index 00000000..8f1a5d0b --- /dev/null +++ b/bsp/buildroot/package/protobuf-c/0001-Add-std-to-some-types.patch @@ -0,0 +1,110 @@ +From 034e603d2a5e629c1c3fbac405638f8afb3ead51 Mon Sep 17 00:00:00 2001 +From: Fredrik Gustafsson +Date: Sun, 11 Mar 2018 08:57:46 +0100 +Subject: [PATCH] Add std:: to some types + +This is required for compilation to succeed on debian jessie with g++ +6.3.0. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://github.com/protobuf-c/protobuf-c/pull/309] +--- + protoc-c/c_file.h | 2 +- + protoc-c/c_generator.cc | 8 ++++---- + protoc-c/c_helpers.cc | 12 ++++++------ + 3 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h +index ed38ce4..84df522 100644 +--- a/protoc-c/c_file.h ++++ b/protoc-c/c_file.h +@@ -104,7 +104,7 @@ class FileGenerator { + scoped_array > extension_generators_; + + // E.g. if the package is foo.bar, package_parts_ is {"foo", "bar"}. +- vector package_parts_; ++ std::vector package_parts_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(FileGenerator); + }; +diff --git a/protoc-c/c_generator.cc b/protoc-c/c_generator.cc +index a0d0cb6..79a272f 100644 +--- a/protoc-c/c_generator.cc ++++ b/protoc-c/c_generator.cc +@@ -80,13 +80,13 @@ namespace c { + // "foo=bar,baz,qux=corge" + // parses to the pairs: + // ("foo", "bar"), ("baz", ""), ("qux", "corge") +-void ParseOptions(const string& text, vector >* output) { +- vector parts; ++void ParseOptions(const string& text, std::vector >* output) { ++ std::vector parts; + SplitStringUsing(text, ",", &parts); + + for (unsigned i = 0; i < parts.size(); i++) { + string::size_type equals_pos = parts[i].find_first_of('='); +- pair value; ++ std::pair value; + if (equals_pos == string::npos) { + value.first = parts[i]; + value.second = ""; +@@ -105,7 +105,7 @@ bool CGenerator::Generate(const FileDescriptor* file, + const string& parameter, + OutputDirectory* output_directory, + string* error) const { +- vector > options; ++ std::vector > options; + ParseOptions(parameter, &options); + + // ----------------------------------------------------------------- +diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc +index b79b5b0..71b8682 100644 +--- a/protoc-c/c_helpers.cc ++++ b/protoc-c/c_helpers.cc +@@ -177,7 +177,7 @@ string ToCamel(const string &name) { + } + + string FullNameToLower(const string &full_name) { +- vector pieces; ++ std::vector pieces; + SplitStringUsing(full_name, ".", &pieces); + string rv = ""; + for (unsigned i = 0; i < pieces.size(); i++) { +@@ -188,7 +188,7 @@ string FullNameToLower(const string &full_name) { + return rv; + } + string FullNameToUpper(const string &full_name) { +- vector pieces; ++ std::vector pieces; + SplitStringUsing(full_name, ".", &pieces); + string rv = ""; + for (unsigned i = 0; i < pieces.size(); i++) { +@@ -199,7 +199,7 @@ string FullNameToUpper(const string &full_name) { + return rv; + } + string FullNameToC(const string &full_name) { +- vector pieces; ++ std::vector pieces; + SplitStringUsing(full_name, ".", &pieces); + string rv = ""; + for (unsigned i = 0; i < pieces.size(); i++) { +@@ -214,7 +214,7 @@ void PrintComment (io::Printer* printer, string comment) + { + if (!comment.empty()) + { +- vector comment_lines; ++ std::vector comment_lines; + SplitStringUsing (comment, "\r\n", &comment_lines); + printer->Print ("/*\n"); + for (int i = 0; i < comment_lines.size(); i++) +@@ -503,8 +503,8 @@ void SplitStringToIteratorUsing(const string& full, + + void SplitStringUsing(const string& full, + const char* delim, +- vector* result) { +- std::back_insert_iterator< vector > it(*result); ++ std::vector* result) { ++ std::back_insert_iterator< std::vector > it(*result); + SplitStringToIteratorUsing(full, delim, it); + } + diff --git a/bsp/buildroot/package/protobuf-c/0002-Fix-build-with-protobuf-3.6.x.patch b/bsp/buildroot/package/protobuf-c/0002-Fix-build-with-protobuf-3.6.x.patch new file mode 100644 index 00000000..1469e010 --- /dev/null +++ b/bsp/buildroot/package/protobuf-c/0002-Fix-build-with-protobuf-3.6.x.patch @@ -0,0 +1,160 @@ +From 67e5187e96baac2e16d88ac01471c5ce7cdc3c53 Mon Sep 17 00:00:00 2001 +From: ilovezfs +Date: Wed, 20 Jun 2018 08:08:53 -0700 +Subject: [PATCH] Fix build with protobuf 3.6.x + +Adapt to changes from https://github.com/google/protobuf/pull/4387. + +scoped_ptr and scoped_array were removed in favor of std::unique_ptr + +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://github.com/protobuf-c/protobuf-c/pull/328] +--- + protoc-c/c_field.cc | 2 +- + protoc-c/c_field.h | 2 +- + protoc-c/c_file.cc | 8 ++++---- + protoc-c/c_file.h | 8 ++++---- + protoc-c/c_generator.cc | 4 ++-- + protoc-c/c_helpers.cc | 2 +- + protoc-c/c_message.cc | 6 +++--- + protoc-c/c_message.h | 6 +++--- + 8 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/protoc-c/c_field.cc b/protoc-c/c_field.cc +index 9fa56ef..eaa38d2 100644 +--- a/protoc-c/c_field.cc ++++ b/protoc-c/c_field.cc +@@ -189,7 +189,7 @@ void FieldGenerator::GenerateDescriptorInitializerGeneric(io::Printer* printer, + FieldGeneratorMap::FieldGeneratorMap(const Descriptor* descriptor) + : descriptor_(descriptor), + field_generators_( +- new scoped_ptr[descriptor->field_count()]) { ++ new std::unique_ptr[descriptor->field_count()]) { + // Construct all the FieldGenerators. + for (int i = 0; i < descriptor->field_count(); i++) { + field_generators_[i].reset(MakeGenerator(descriptor->field(i))); +diff --git a/protoc-c/c_field.h b/protoc-c/c_field.h +index 91f1a03..efd5a29 100644 +--- a/protoc-c/c_field.h ++++ b/protoc-c/c_field.h +@@ -117,7 +117,7 @@ class FieldGeneratorMap { + + private: + const Descriptor* descriptor_; +- scoped_array > field_generators_; ++ std::unique_ptr[] > field_generators_; + + static FieldGenerator* MakeGenerator(const FieldDescriptor* field); + +diff --git a/protoc-c/c_file.cc b/protoc-c/c_file.cc +index 9851768..6dae516 100644 +--- a/protoc-c/c_file.cc ++++ b/protoc-c/c_file.cc +@@ -83,13 +83,13 @@ FileGenerator::FileGenerator(const FileDescriptor* file, + const string& dllexport_decl) + : file_(file), + message_generators_( +- new scoped_ptr[file->message_type_count()]), ++ new std::unique_ptr[file->message_type_count()]), + enum_generators_( +- new scoped_ptr[file->enum_type_count()]), ++ new std::unique_ptr[file->enum_type_count()]), + service_generators_( +- new scoped_ptr[file->service_count()]), ++ new std::unique_ptr[file->service_count()]), + extension_generators_( +- new scoped_ptr[file->extension_count()]) { ++ new std::unique_ptr[file->extension_count()]) { + + for (int i = 0; i < file->message_type_count(); i++) { + message_generators_[i].reset( +diff --git a/protoc-c/c_file.h b/protoc-c/c_file.h +index ed38ce4..e86cc44 100644 +--- a/protoc-c/c_file.h ++++ b/protoc-c/c_file.h +@@ -98,10 +98,10 @@ class FileGenerator { + private: + const FileDescriptor* file_; + +- scoped_array > message_generators_; +- scoped_array > enum_generators_; +- scoped_array > service_generators_; +- scoped_array > extension_generators_; ++ std::unique_ptr[] > message_generators_; ++ std::unique_ptr[] > enum_generators_; ++ std::unique_ptr[] > service_generators_; ++ std::unique_ptr[] > extension_generators_; + + // E.g. if the package is foo.bar, package_parts_ is {"foo", "bar"}. + vector package_parts_; +diff --git a/protoc-c/c_generator.cc b/protoc-c/c_generator.cc +index a0d0cb6..fe3ad26 100644 +--- a/protoc-c/c_generator.cc ++++ b/protoc-c/c_generator.cc +@@ -149,7 +149,7 @@ bool CGenerator::Generate(const FileDescriptor* file, + + // Generate header. + { +- scoped_ptr output( ++ std::unique_ptr output( + output_directory->Open(basename + ".h")); + io::Printer printer(output.get(), '$'); + file_generator.GenerateHeader(&printer); +@@ -157,7 +157,7 @@ bool CGenerator::Generate(const FileDescriptor* file, + + // Generate cc file. + { +- scoped_ptr output( ++ std::unique_ptr output( + output_directory->Open(basename + ".c")); + io::Printer printer(output.get(), '$'); + file_generator.GenerateSource(&printer); +diff --git a/protoc-c/c_helpers.cc b/protoc-c/c_helpers.cc +index b79b5b0..f2ab448 100644 +--- a/protoc-c/c_helpers.cc ++++ b/protoc-c/c_helpers.cc +@@ -559,7 +559,7 @@ static int CEscapeInternal(const char* src, int src_len, char* dest, + } + string CEscape(const string& src) { + const int dest_length = src.size() * 4 + 1; // Maximum possible expansion +- scoped_array dest(new char[dest_length]); ++ std::unique_ptr dest(new char[dest_length]); + const int len = CEscapeInternal(src.data(), src.size(), + dest.get(), dest_length, false); + GOOGLE_DCHECK_GE(len, 0); +diff --git a/protoc-c/c_message.cc b/protoc-c/c_message.cc +index 6b22c71..85a946e 100755 +--- a/protoc-c/c_message.cc ++++ b/protoc-c/c_message.cc +@@ -83,11 +83,11 @@ MessageGenerator::MessageGenerator(const Descriptor* descriptor, + : descriptor_(descriptor), + dllexport_decl_(dllexport_decl), + field_generators_(descriptor), +- nested_generators_(new scoped_ptr[ ++ nested_generators_(new std::unique_ptr[ + descriptor->nested_type_count()]), +- enum_generators_(new scoped_ptr[ ++ enum_generators_(new std::unique_ptr[ + descriptor->enum_type_count()]), +- extension_generators_(new scoped_ptr[ ++ extension_generators_(new std::unique_ptr[ + descriptor->extension_count()]) { + + for (int i = 0; i < descriptor->nested_type_count(); i++) { +diff --git a/protoc-c/c_message.h b/protoc-c/c_message.h +index 8b115d1..63aa97a 100644 +--- a/protoc-c/c_message.h ++++ b/protoc-c/c_message.h +@@ -126,9 +126,9 @@ class MessageGenerator { + const Descriptor* descriptor_; + string dllexport_decl_; + FieldGeneratorMap field_generators_; +- scoped_array > nested_generators_; +- scoped_array > enum_generators_; +- scoped_array > extension_generators_; ++ std::unique_ptr[] > nested_generators_; ++ std::unique_ptr[] > enum_generators_; ++ std::unique_ptr[] > extension_generators_; + + GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageGenerator); + }; diff --git a/bsp/buildroot/package/protobuf-c/Config.in b/bsp/buildroot/package/protobuf-c/Config.in index 6f916c57..6d7e7e11 100644 --- a/bsp/buildroot/package/protobuf-c/Config.in +++ b/bsp/buildroot/package/protobuf-c/Config.in @@ -4,14 +4,14 @@ config BR2_PACKAGE_PROTOBUF_C depends on BR2_TOOLCHAIN_HAS_THREADS # host-protobuf only builds on certain architectures depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf + depends on BR2_HOST_GCC_AT_LEAST_4_8 # host-protobuf help Code generator and runtime libraries to use Protocol Buffers from pure C (not C++). https://github.com/protobuf-c/protobuf-c -comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 4.5" +comment "protobuf-c needs a toolchain w/ C++, threads, host gcc >= 4.8" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_HOST_GCC_AT_LEAST_4_5 + || !BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" diff --git a/bsp/buildroot/package/protobuf-c/protobuf-c.mk b/bsp/buildroot/package/protobuf-c/protobuf-c.mk index 43066105..34f82944 100644 --- a/bsp/buildroot/package/protobuf-c/protobuf-c.mk +++ b/bsp/buildroot/package/protobuf-c/protobuf-c.mk @@ -16,5 +16,8 @@ PROTOBUF_C_LICENSE_FILES = LICENSE PROTOBUF_C_AUTORECONF = YES HOST_PROTOBUF_C_AUTORECONF = YES +# host-protobuf needs c++11 (since 3.6.0) +HOST_PROTOBUF_C_CONF_ENV += CXXFLAGS="$(HOST_CXXFLAGS) -std=c++11" + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/protobuf/0001-Fix-to-allow-a-compilation-under-mips-big-endian-wit.patch b/bsp/buildroot/package/protobuf/0001-Fix-to-allow-a-compilation-under-mips-big-endian-wit.patch new file mode 100644 index 00000000..d2b34f15 --- /dev/null +++ b/bsp/buildroot/package/protobuf/0001-Fix-to-allow-a-compilation-under-mips-big-endian-wit.patch @@ -0,0 +1,38 @@ +From d105213bccfa4392eda889a95f808dd9cdf84494 Mon Sep 17 00:00:00 2001 +From: Charles Hardin +Date: Mon, 21 May 2018 09:19:30 -0700 +Subject: [PATCH] Fix to allow a compilation under mips big endian with gcc + +The __MIPSEL__ is mips little endian specific, but we needed to +compile for a big endian mips target that also happened to be a +mips64. This commit replaces the __MIPSEL__ test with a __mips__ test +which preserves the build on little endian and allows building for a +big endian setup. + + $ echo | mips64-linux-gcc -E -dM - + ... snip snip ... + #define __mips__ 1 + #define __MIPSEB__ 1 + +Signed-off-by: Charles Hardin +Upstream-status: https://github.com/google/protobuf/pull/4657 +--- + src/google/protobuf/stubs/platform_macros.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/google/protobuf/stubs/platform_macros.h b/src/google/protobuf/stubs/platform_macros.h +index c3a64dd2..f9e2bff6 100644 +--- a/src/google/protobuf/stubs/platform_macros.h ++++ b/src/google/protobuf/stubs/platform_macros.h +@@ -56,7 +56,7 @@ + #elif defined(__aarch64__) + #define GOOGLE_PROTOBUF_ARCH_AARCH64 1 + #define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +-#elif defined(__MIPSEL__) ++#elif defined(__mips__) + #if defined(__LP64__) + #define GOOGLE_PROTOBUF_ARCH_MIPS64 1 + #define GOOGLE_PROTOBUF_ARCH_64_BIT 1 +-- +2.15.1 (Apple Git-101) + diff --git a/bsp/buildroot/package/protobuf/Config.in b/bsp/buildroot/package/protobuf/Config.in index c91e4015..2829b2a5 100644 --- a/bsp/buildroot/package/protobuf/Config.in +++ b/bsp/buildroot/package/protobuf/Config.in @@ -30,8 +30,8 @@ config BR2_PACKAGE_PROTOBUF depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS - depends on BR2_HOST_GCC_AT_LEAST_4_5 - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on !BR2_STATIC_LIBS help Protocol buffers are Google's language-neutral, @@ -40,8 +40,8 @@ config BR2_PACKAGE_PROTOBUF https://developers.google.com/protocol-buffers -comment "protobuf needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.5" +comment "protobuf needs a toolchain w/ C++, threads, dynamic library, host and target gcc >= 4.8" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_5 \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_8 \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS diff --git a/bsp/buildroot/package/protobuf/protobuf.hash b/bsp/buildroot/package/protobuf/protobuf.hash index fa02440a..bcd1f64d 100644 --- a/bsp/buildroot/package/protobuf/protobuf.hash +++ b/bsp/buildroot/package/protobuf/protobuf.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 2bb34b4a8211a30d12ef29fd8660995023d119c99fbab2e5fe46f17528c9cc78 protobuf-cpp-3.4.1.tar.gz +sha256 c3cab055964d554e4fd85067fe3e9eb45c9915cebcf537e97fafaa245376bce1 protobuf-cpp-3.6.0.tar.gz +sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE diff --git a/bsp/buildroot/package/protobuf/protobuf.mk b/bsp/buildroot/package/protobuf/protobuf.mk index d2782ddc..9caf87ed 100644 --- a/bsp/buildroot/package/protobuf/protobuf.mk +++ b/bsp/buildroot/package/protobuf/protobuf.mk @@ -7,7 +7,7 @@ # When bumping this package, make sure to also verify if the # python-protobuf package still works, as they share the same # version/site variables. -PROTOBUF_VERSION = 3.4.1 +PROTOBUF_VERSION = 3.6.0 PROTOBUF_SOURCE = protobuf-cpp-$(PROTOBUF_VERSION).tar.gz PROTOBUF_SITE = https://github.com/google/protobuf/releases/download/v$(PROTOBUF_VERSION) PROTOBUF_LICENSE = BSD-3-Clause diff --git a/bsp/buildroot/package/psmisc/0001-link-against-libintl.patch b/bsp/buildroot/package/psmisc/0001-link-against-libintl.patch deleted file mode 100644 index bf6b9717..00000000 --- a/bsp/buildroot/package/psmisc/0001-link-against-libintl.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f2b6f342325824399da3525df182031475b5c4dd Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 22 Jun 2017 13:56:03 +0300 -Subject: [PATCH] Link against libintl if needed - -When built against a C library that has locale support, but for which -intl support is provided by an external libintl library, psmisc -forgets to link against this library, even though the configure script -properly checks that. - -This patch therefore ensure that we link against libintl when needed, -thanks to the @INTLLIBS@ variable provided by the configure script. - -Forward-ported Thomas's patch to psmisc 22.16 -from commit f066ed70cd6939838d4057f66798cbc1d972cc73 -Signed-off-by: Gustavo Zacarias -[baruch: move from Makefile.in to Makefile.am for 23.1] -Signed-off-by: Baruch Siach ---- - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/Makefile.am b/Makefile.am -index 9f61ab4f2f70..8ce284e65124 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -65,6 +65,7 @@ src_fuser_LDADD = @LIBINTL@ - src_killall_SOURCES = src/killall.c src/comm.h src/signals.c src/signals.h src/i18n.h - src_killall_LDADD = @LIBINTL@ @SELINUX_LIB@ - src_peekfd_SOURCES = src/peekfd.c -+src_peekfd_LDADD = @LIBINTL@ - src_pslog_SOURCES = src/pslog.c - src_pstree_SOURCES = src/pstree.c src/comm.h src/i18n.h - src_pstree_LDADD = @LIBINTL@ @TERMCAP_LIB@ @SELINUX_LIB@ --- -2.11.0 - diff --git a/bsp/buildroot/package/psmisc/0002-add-git-version-get.patch b/bsp/buildroot/package/psmisc/0002-add-git-version-get.patch deleted file mode 100644 index e75fb1d3..00000000 --- a/bsp/buildroot/package/psmisc/0002-add-git-version-get.patch +++ /dev/null @@ -1,198 +0,0 @@ -Makefile: ship also git-version-gen - -Without git-version-gen, the tarball autogen.sh fails. - -This patch is equivalent to upstream pending merge request: - - https://gitlab.com/psmisc/psmisc/merge_requests/13 - -Signed-off-by: Baruch Siach ---- - -diff --git psmisc-23.1/misc/git-version-gen psmisc-23.1/misc/git-version-gen -new file mode 100755 -index 000000000000..171767f0d7a3 ---- /dev/null -+++ psmisc-23.1/misc/git-version-gen -@@ -0,0 +1,181 @@ -+#!/bin/sh -+# Print a version string. -+scriptversion=2011-02-19.19; # UTC -+ -+# Copyright (C) 2007-2011 Free Software Foundation, Inc. -+# -+# This program is free software: you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 3 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program. If not, see . -+ -+# This script is derived from GIT-VERSION-GEN from GIT: http://git.or.cz/. -+# It may be run two ways: -+# - from a git repository in which the "git describe" command below -+# produces useful output (thus requiring at least one signed tag) -+# - from a non-git-repo directory containing a .tarball-version file, which -+# presumes this script is invoked like "./git-version-gen .tarball-version". -+ -+# In order to use intra-version strings in your project, you will need two -+# separate generated version string files: -+# -+# .tarball-version - present only in a distribution tarball, and not in -+# a checked-out repository. Created with contents that were learned at -+# the last time autoconf was run, and used by git-version-gen. Must not -+# be present in either $(srcdir) or $(builddir) for git-version-gen to -+# give accurate answers during normal development with a checked out tree, -+# but must be present in a tarball when there is no version control system. -+# Therefore, it cannot be used in any dependencies. GNUmakefile has -+# hooks to force a reconfigure at distribution time to get the value -+# correct, without penalizing normal development with extra reconfigures. -+# -+# .version - present in a checked-out repository and in a distribution -+# tarball. Usable in dependencies, particularly for files that don't -+# want to depend on config.h but do want to track version changes. -+# Delete this file prior to any autoconf run where you want to rebuild -+# files to pick up a version string change; and leave it stale to -+# minimize rebuild time after unrelated changes to configure sources. -+# -+# It is probably wise to add these two files to .gitignore, so that you -+# don't accidentally commit either generated file. -+# -+# Use the following line in your configure.ac, so that $(VERSION) will -+# automatically be up-to-date each time configure is run (and note that -+# since configure.ac no longer includes a version string, Makefile rules -+# should not depend on configure.ac for version updates). -+# -+# AC_INIT([GNU project], -+# m4_esyscmd([build-aux/git-version-gen .tarball-version]), -+# [bug-project@example]) -+# -+# Then use the following lines in your Makefile.am, so that .version -+# will be present for dependencies, and so that .tarball-version will -+# exist in distribution tarballs. -+# -+# BUILT_SOURCES = $(top_srcdir)/.version -+# $(top_srcdir)/.version: -+# echo $(VERSION) > $@-t && mv $@-t $@ -+# dist-hook: -+# echo $(VERSION) > $(distdir)/.tarball-version -+ -+case $# in -+ 1|2) ;; -+ *) echo 1>&2 "Usage: $0 \$srcdir/.tarball-version" \ -+ '[TAG-NORMALIZATION-SED-SCRIPT]' -+ exit 1;; -+esac -+ -+tarball_version_file=$1 -+tag_sed_script="${2:-s/x/x/}" -+nl=' -+' -+ -+# Avoid meddling by environment variable of the same name. -+v= -+v_from_git= -+ -+# First see if there is a tarball-only version file. -+# then try "git describe", then default. -+if test -f $tarball_version_file -+then -+ v=`cat $tarball_version_file` || v= -+ case $v in -+ *$nl*) v= ;; # reject multi-line output -+ [0-9]*) ;; -+ *) v= ;; -+ esac -+ test -z "$v" \ -+ && echo "$0: WARNING: $tarball_version_file is missing or damaged" 1>&2 -+fi -+ -+if test -n "$v" -+then -+ : # use $v -+# Otherwise, if there is at least one git commit involving the working -+# directory, and "git describe" output looks sensible, use that to -+# derive a version string. -+elif test "`git log -1 --pretty=format:x . 2>&1`" = x \ -+ && v=`git describe --abbrev=4 --match='v*' HEAD 2>/dev/null \ -+ || git describe --abbrev=4 HEAD 2>/dev/null` \ -+ && v=`printf '%s\n' "$v" | sed "$tag_sed_script"` \ -+ && case $v in -+ v[0-9]*) ;; -+ *) (exit 1) ;; -+ esac -+then -+ # Is this a new git that lists number of commits since the last -+ # tag or the previous older version that did not? -+ # Newer: v6.10-77-g0f8faeb -+ # Older: v6.10-g0f8faeb -+ case $v in -+ *-rc[0-9]) ;; # release candidate -+ *-*-*) : git describe is okay three part flavor ;; -+ *-*) -+ : git describe is older two part flavor -+ # Recreate the number of commits and rewrite such that the -+ # result is the same as if we were using the newer version -+ # of git describe. -+ vtag=`echo "$v" | sed 's/-.*//'` -+ commit_list=`git rev-list "$vtag"..HEAD 2>/dev/null` \ -+ || { commit_list=failed; -+ echo "$0: WARNING: git rev-list failed" 1>&2; } -+ numcommits=`echo "$commit_list" | wc -l` -+ v=`echo "$v" | sed "s/\(.*\)-\(.*\)/\1-$numcommits-\2/"`; -+ test "$commit_list" = failed && v=UNKNOWN -+ ;; -+ esac -+ -+ case $v in -+ *-rc[0-9]) -+ # Remove the "g" in git describe's output string, to save a byte. -+ v=`echo "$v" | sed 's/\(.*\)-g/\1-/'`; -+ ;; -+ *) -+ # Change the first '-' to a '.', so version-comparing tools work properly. -+ # Remove the "g" in git describe's output string, to save a byte. -+ v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; -+ ;; -+ esac -+ v_from_git=1 -+else -+ v=UNKNOWN -+fi -+ -+v=`echo "$v" |sed 's/^v//'` -+ -+# Test whether to append the "-dirty" suffix only if the version -+# string we're using came from git. I.e., skip the test if it's "UNKNOWN" -+# or if it came from .tarball-version. -+if test -n "$v_from_git"; then -+ # Don't declare a version "dirty" merely because a time stamp has changed. -+ git update-index --refresh > /dev/null 2>&1 -+ -+ dirty=`exec 2>/dev/null;git diff-index --name-only HEAD` || dirty= -+ case "$dirty" in -+ '') ;; -+ *) # Append the suffix only if there isn't one already. -+ case $v in -+ *-dirty) ;; -+ *) v="$v-dirty" ;; -+ esac ;; -+ esac -+fi -+ -+# Omit the trailing newline, so that m4_esyscmd can use the result directly. -+echo "$v" | tr -d "$nl" -+ -+# Local variables: -+# eval: (add-hook 'write-file-hooks 'time-stamp) -+# time-stamp-start: "scriptversion=" -+# time-stamp-format: "%:y-%02m-%02d.%02H" -+# time-stamp-time-zone: "UTC" -+# time-stamp-end: "; # UTC" -+# End: diff --git a/bsp/buildroot/package/psmisc/psmisc.hash b/bsp/buildroot/package/psmisc/psmisc.hash index 8ce8e00d..8e380a55 100644 --- a/bsp/buildroot/package/psmisc/psmisc.hash +++ b/bsp/buildroot/package/psmisc/psmisc.hash @@ -1,5 +1,6 @@ # From https://sourceforge.net/projects/psmisc/files/psmisc/ -md5 bbba1f701c02fb50d59540d1ff90d8d1 psmisc-23.1.tar.xz -sha1 d19031a5ba18a530aa0bb768cb74593f9af74b08 psmisc-23.1.tar.xz +md5 0524258861f00be1a02d27d39d8e5e62 psmisc-23.2.tar.xz +sha1 2bf3ec1c87ab3bc0610c819452c21cf4b849b0b8 psmisc-23.2.tar.xz # Locally computed: -sha256 2e84d474cf75dfbe3ecdacfb797bbfab71a35c7c2639d1b9f6d5f18b2149ba30 psmisc-23.1.tar.xz +sha256 4b7cbffdc9373474da49b85dc3457ae511c43dc7fa7d94513fe06f89dcb87880 psmisc-23.2.tar.xz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/bsp/buildroot/package/psmisc/psmisc.mk b/bsp/buildroot/package/psmisc/psmisc.mk index 6c343a4f..e9a7b00c 100644 --- a/bsp/buildroot/package/psmisc/psmisc.mk +++ b/bsp/buildroot/package/psmisc/psmisc.mk @@ -4,28 +4,16 @@ # ################################################################################ -PSMISC_VERSION = 23.1 +PSMISC_VERSION = 23.2 PSMISC_SITE = http://downloads.sourceforge.net/project/psmisc/psmisc PSMISC_SOURCE = psmisc-$(PSMISC_VERSION).tar.xz PSMISC_LICENSE = GPL-2.0+ PSMISC_LICENSE_FILES = COPYING PSMISC_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) -# Patching Makefile.am -PSMISC_AUTORECONF = YES - -define PSMISC_GIT_VERSION_EXEC - chmod +x $(@D)/misc/git-version-gen -endef -PSMISC_POST_PATCH_HOOKS += PSMISC_GIT_VERSION_EXEC ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) # Don't force -fstack-protector when SSP is not available in toolchain PSMISC_CONF_OPTS = --disable-harden-flags endif -# build after busybox, we prefer fat versions while we're at it -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -PSMISC_DEPENDENCIES += busybox -endif - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/ptpd/S65ptpd b/bsp/buildroot/package/ptpd/S65ptpd old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/ptpd2/S65ptpd2 b/bsp/buildroot/package/ptpd2/S65ptpd2 old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/ptpd2/ptpd2.mk b/bsp/buildroot/package/ptpd2/ptpd2.mk index d95d415b..c0c414ae 100644 --- a/bsp/buildroot/package/ptpd2/ptpd2.mk +++ b/bsp/buildroot/package/ptpd2/ptpd2.mk @@ -24,12 +24,6 @@ else PTPD2_CONF_OPTS += --disable-snmp endif -# GCC bug with Os/O1/O2/O3 -# internal compiler error: in gen_add2_insn, at optabs.c:4454 -ifeq ($(BR2_bfin),y) -PTPD2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" -endif - define PTPD2_INSTALL_INIT_SYSV $(INSTALL) -m 755 -D package/ptpd2/S65ptpd2 \ $(TARGET_DIR)/etc/init.d/S65ptpd2 diff --git a/bsp/buildroot/package/pugixml/0001-check-cxx_long_long_type-existence.patch b/bsp/buildroot/package/pugixml/0001-check-cxx_long_long_type-existence.patch deleted file mode 100644 index a53c84a2..00000000 --- a/bsp/buildroot/package/pugixml/0001-check-cxx_long_long_type-existence.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6cfd9c14ced26c8220f7f7ea99610cbdbfb9eba7 Mon Sep 17 00:00:00 2001 -From: Theo Debrouwere -Date: Mon, 12 Sep 2016 09:38:56 +0200 -Subject: [PATCH] Bugfix: check if cxx_long_long_type is present before - applying it. - -Check if cxx_long_long_type is present in the list of compiler features -before adding it as a target_compile_feature. - -Patch was backported from -https://github.com/zeux/pugixml/commit/4dbb5646196a4a3cc94097f1473ef11d1d44df11 - -Signed-off-by: Theo Debrouwere ---- - scripts/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index 40a7ab0..6403753 100644 ---- a/scripts/CMakeLists.txt -+++ b/scripts/CMakeLists.txt -@@ -26,7 +26,7 @@ else() - endif() - - # Enable C++11 long long for compilers that are capable of it --if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STRLESS 3.1) -+if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STRLESS 3.1 AND ";${CMAKE_CXX_COMPILE_FEATURES};" MATCHES ";cxx_long_long_type;") - target_compile_features(pugixml PUBLIC cxx_long_long_type) - endif() - --- -2.9.3 - diff --git a/bsp/buildroot/package/pugixml/Config.in b/bsp/buildroot/package/pugixml/Config.in index c37b1df9..6b7d2e32 100644 --- a/bsp/buildroot/package/pugixml/Config.in +++ b/bsp/buildroot/package/pugixml/Config.in @@ -18,5 +18,37 @@ config BR2_PACKAGE_PUGIXML http://pugixml.org/ https://github.com/zeux/pugixml +if BR2_PACKAGE_PUGIXML + +config BR2_PACKAGE_PUGIXML_XPATH_SUPPORT + bool "Enable XPath support" + default y + help + When disabled, both XPath interfaces and XPath implementation + are excluded from compilation. This option is provided in case + you do not need XPath functionality and need to save code + space. + +config BR2_PACKAGE_PUGIXML_COMPACT + bool "Enable compact mode" + help + Activates a different internal representation of document + storage that is much more memory efficient for documents with + a lot of markup (i.e. nodes and attributes), but is slightly + slower to parse and access. + + http://pugixml.org/docs/manual.html#dom.memory.compact + +config BR2_PACKAGE_PUGIXML_HEADER_ONLY + bool "Enable header-only version" + help + All source code for pugixml will be included in every + translation unit that includes pugixml.hpp. This is how most + of Boost and STL libraries work. + + http://pugixml.org/docs/manual.html#install.building.header + +endif + comment "pugixml needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/pugixml/pugixml.hash b/bsp/buildroot/package/pugixml/pugixml.hash index 9007f7ca..fb6566da 100644 --- a/bsp/buildroot/package/pugixml/pugixml.hash +++ b/bsp/buildroot/package/pugixml/pugixml.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 fbe10d46f61d769f7d92a296102e4e2bd3ee16130f11c5b10a1aae590ea1f5ca pugixml-1.7.tar.gz +sha256 d156d35b83f680e40fd6412c4455fdd03544339779134617b9b28d19e11fdba6 pugixml-1.9.tar.gz +sha256 5f2318fdea73711b4761fd395462a51dc7d4626088ebaa41732b598821ac935a readme.txt diff --git a/bsp/buildroot/package/pugixml/pugixml.mk b/bsp/buildroot/package/pugixml/pugixml.mk index 2e4f0ce5..8edaddd8 100644 --- a/bsp/buildroot/package/pugixml/pugixml.mk +++ b/bsp/buildroot/package/pugixml/pugixml.mk @@ -4,12 +4,30 @@ # ################################################################################ -PUGIXML_VERSION = 1.7 +PUGIXML_VERSION = 1.9 PUGIXML_SITE = http://github.com/zeux/pugixml/releases/download/v$(PUGIXML_VERSION) PUGIXML_LICENSE = MIT PUGIXML_LICENSE_FILES = readme.txt PUGIXML_INSTALL_STAGING = YES -PUGIXML_SUBDIR = scripts +# Pugixml will automatically enable 'long long' support on C++11 compilers, +# which means gcc 4.8+. As gcc always supports the 'long long' type, +# force-enable this option to support older gcc versions. See also: +# https://gcc.gnu.org/onlinedocs/gcc/Long-Long.html +PUGIXML_BUILD_DEFINES += PUGIXML_HAS_LONG_LONG + +ifeq ($(BR2_PACKAGE_PUGIXML_XPATH_SUPPORT),) +PUGIXML_BUILD_DEFINES += PUGIXML_NO_XPATH +endif +ifeq ($(BR2_PACKAGE_PUGIXML_COMPACT),y) +PUGIXML_BUILD_DEFINES += PUGIXML_COMPACT +endif +ifeq ($(BR2_PACKAGE_PUGIXML_HEADER_ONLY),y) +PUGIXML_BUILD_DEFINES += PUGIXML_HEADER_ONLY +endif + +ifdef PUGIXML_BUILD_DEFINES +PUGIXML_CONF_OPTS += -DBUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))" +endif $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch b/bsp/buildroot/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch deleted file mode 100644 index 19842fad..00000000 --- a/bsp/buildroot/package/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch +++ /dev/null @@ -1,75 +0,0 @@ -From f6ab3c3aa7a1841c8add04828029356d2a8c88e7 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 6 Apr 2015 21:56:31 -0700 -Subject: [PATCH] padsp: Make it compile on musl - -break assumptions on glibc and there is no stat64 on non -glibc C libraries - -See pulseaudio bug - -https://bugs.freedesktop.org/show_bug.cgi?id=85319 - -Upstream-Status: Pending -Signed-off-by: Khem Raj -[Bernd: taken from -http://git.alpinelinux.org/cgit/aports/tree/testing/pulseaudio/0001-padsp-Make-it-compile-on-musl.patch, -adjusted paths.] -Signed-off-by: Bernd Kuhls - ---- - src/utils/padsp.c | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -diff --git a/src/utils/padsp.c b/src/utils/padsp.c -index e61373c..684721a 100644 ---- a/src/utils/padsp.c -+++ b/src/utils/padsp.c -@@ -2368,7 +2368,7 @@ fail: - return ret; - } - --#ifdef sun -+#ifndef __GLIBC__ - int ioctl(int fd, int request, ...) { - #else - int ioctl(int fd, unsigned long request, ...) { -@@ -2508,10 +2508,13 @@ int stat(const char *pathname, struct stat *buf) { - - return 0; - } -- - #ifdef HAVE_OPEN64 -- -+#undef stat64 -+#ifdef __GLIBC__ - int stat64(const char *pathname, struct stat64 *buf) { -+#else -+int stat64(const char *pathname, struct stat *buf) { -+#endif - struct stat oldbuf; - int ret; - -@@ -2544,7 +2547,7 @@ int stat64(const char *pathname, struct stat64 *buf) { - - return 0; - } -- -+#undef open64 - int open64(const char *filename, int flags, ...) { - va_list args; - mode_t mode = 0; -@@ -2670,8 +2673,8 @@ FILE* fopen(const char *filename, const char *mode) { - } - - #ifdef HAVE_OPEN64 -- --FILE *fopen64(const char *filename, const char *mode) { -+#undef fopen64 -+FILE *fopen64(const char *__restrict filename, const char *__restrict mode) { - - debug(DEBUG_LEVEL_VERBOSE, __FILE__": fopen64(%s)\n", filename?filename:"NULL"); - --- -2.1.4 - diff --git a/bsp/buildroot/package/pulseaudio/S50pulseaudio b/bsp/buildroot/package/pulseaudio/S50pulseaudio old mode 100755 new mode 100644 index c1d88626..ea343a71 --- a/bsp/buildroot/package/pulseaudio/S50pulseaudio +++ b/bsp/buildroot/package/pulseaudio/S50pulseaudio @@ -7,12 +7,19 @@ start() { printf "Starting pulseaudio: " umask 077 - /usr/bin/pulseaudio --system --daemonize + /usr/bin/pulseaudio \ + --system \ + --daemonize \ + --disallow-module-loading \ + --disallow-exit \ + --exit-idle-time=-1 \ + --use-pid-file \ + --disable-shm echo "OK" } stop() { printf "Stopping pulseaudio: " - pulseaudio --kill + PULSE_RUNTIME_PATH=/var/run/pulse /usr/bin/pulseaudio --kill echo "OK" } restart() { diff --git a/bsp/buildroot/package/pulseaudio/pulseaudio.hash b/bsp/buildroot/package/pulseaudio/pulseaudio.hash index 7e59afdf..7e1ea160 100644 --- a/bsp/buildroot/package/pulseaudio/pulseaudio.hash +++ b/bsp/buildroot/package/pulseaudio/pulseaudio.hash @@ -1,5 +1,6 @@ -# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-September/028733.html -md5 390de38231d5cdd6b43ada8939eb74f1 pulseaudio-11.1.tar.xz -sha1 53bde72b6bfe715c19b1519db8845f7a58346b67 pulseaudio-11.1.tar.xz +# From https://lists.freedesktop.org/archives/pulseaudio-discuss/2018-July/030280.html +sha256 809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055 pulseaudio-12.2.tar.xz # Locally computed -sha256 f2521c525a77166189e3cb9169f75c2ee2b82fa3fcf9476024fbc2c3a6c9cd9e pulseaudio-11.1.tar.xz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 GPL +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 LGPL +sha256 a1064b9838b6b4feee61eaeb0925da4b4834c984b77716558860c4294ed6c015 LICENSE diff --git a/bsp/buildroot/package/pulseaudio/pulseaudio.mk b/bsp/buildroot/package/pulseaudio/pulseaudio.mk index 13fcec52..c91af229 100644 --- a/bsp/buildroot/package/pulseaudio/pulseaudio.mk +++ b/bsp/buildroot/package/pulseaudio/pulseaudio.mk @@ -4,7 +4,7 @@ # ################################################################################ -PULSEAUDIO_VERSION = 11.1 +PULSEAUDIO_VERSION = 12.2 PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases PULSEAUDIO_INSTALL_STAGING = YES @@ -21,7 +21,7 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ - $(if $(BR2_PACKAGE_FFTW),fftw) \ + $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) diff --git a/bsp/buildroot/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch b/bsp/buildroot/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch new file mode 100644 index 00000000..5cf0c446 --- /dev/null +++ b/bsp/buildroot/package/pulseview/0001-mainbar-fix-build-without-libsigrokdecode.patch @@ -0,0 +1,37 @@ +From da124df864dd7555733d6690eacf856435d55b2d Mon Sep 17 00:00:00 2001 +From: Bartosz Golaszewski +Date: Mon, 3 Dec 2018 13:14:16 +0100 +Subject: [PATCH] mainbar: fix build without libsigrokdecode + +We must not include decodesignal.hpp if we're not using libsigrokdecode +or the build will fail due to libsigrokdecode.hpp not being present in +the system. + +Signed-off-by: Bartosz Golaszewski +--- + pv/toolbars/mainbar.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pv/toolbars/mainbar.cpp b/pv/toolbars/mainbar.cpp +index e6beb2b..7c4d0fb 100644 +--- a/pv/toolbars/mainbar.cpp ++++ b/pv/toolbars/mainbar.cpp +@@ -35,7 +35,6 @@ + + #include + +-#include + #include + #include + #include +@@ -52,6 +51,7 @@ + #include + #ifdef ENABLE_DECODE + #include ++#include + #endif + + #include +-- +2.19.1 + diff --git a/bsp/buildroot/package/pulseview/Config.in b/bsp/buildroot/package/pulseview/Config.in index 301acf7d..01e522e1 100644 --- a/bsp/buildroot/package/pulseview/Config.in +++ b/bsp/buildroot/package/pulseview/Config.in @@ -10,6 +10,7 @@ config BR2_PACKAGE_PULSEVIEW depends on !BR2_STATIC_LIBS # libsigrok depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBSIGROK select BR2_PACKAGE_LIBSIGROKCXX select BR2_PACKAGE_QT5BASE_WIDGETS @@ -18,7 +19,6 @@ config BR2_PACKAGE_PULSEVIEW select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_FILESYSTEM select BR2_PACKAGE_BOOST_SYSTEM - select BR2_PACKAGE_BOOST_THREAD select BR2_PACKAGE_BOOST_SERIALIZATION help PulseView is a Qt based logic analyzer, oscilloscope @@ -26,8 +26,9 @@ config BR2_PACKAGE_PULSEVIEW http://sigrok.org/wiki/PulseView -comment "pulseview needs a toolchain w/ wchar, threads, dynamic library, C++, gcc >= 4.9" +comment "pulseview needs a toolchain w/ locale, wchar, threads, dynamic library, C++, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_PACKAGE_QT5 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_ENABLE_LOCALE diff --git a/bsp/buildroot/package/pulseview/pulseview.hash b/bsp/buildroot/package/pulseview/pulseview.hash index 7883eabe..09b9d67b 100644 --- a/bsp/buildroot/package/pulseview/pulseview.hash +++ b/bsp/buildroot/package/pulseview/pulseview.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 78f8291045c6f65b4827b12e83c8e68cea2d5e7268b15a51aaca9726c8100eb9 pulseview-0.4.0.tar.gz +sha256 9ee7ce3dd1457c6a5f5e4e9c2469903a1f070ba077ea68535cc29ef1dfac6f2f pulseview-0.4.1.tar.gz diff --git a/bsp/buildroot/package/pulseview/pulseview.mk b/bsp/buildroot/package/pulseview/pulseview.mk index e9bbf4f5..67d525f6 100644 --- a/bsp/buildroot/package/pulseview/pulseview.mk +++ b/bsp/buildroot/package/pulseview/pulseview.mk @@ -4,7 +4,7 @@ # ################################################################################ -PULSEVIEW_VERSION = 0.4.0 +PULSEVIEW_VERSION = 0.4.1 PULSEVIEW_SITE = http://sigrok.org/download/source/pulseview PULSEVIEW_LICENSE = GPL-3.0+ PULSEVIEW_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk b/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk index 457e67ea..ae3ca9d1 100644 --- a/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk +++ b/bsp/buildroot/package/pure-ftpd/pure-ftpd.mk @@ -57,4 +57,11 @@ ifeq ($(BR2_PACKAGE_PURE_FTPD_UPLOADSCRIPT),y) PURE_FTPD_CONF_OPTS += --with-uploadscript endif +ifeq ($(BR2_PACKAGE_LINUX_PAM),y) +PURE_FTPD_CONF_OPTS += --with-pam +PURE_FTPD_DEPENDENCIES += linux-pam +else +PURE_FTPD_CONF_OPTS += --without-pam +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/python-aiodns/Config.in b/bsp/buildroot/package/python-aiodns/Config.in new file mode 100644 index 00000000..aa597059 --- /dev/null +++ b/bsp/buildroot/package/python-aiodns/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIODNS + bool "python-aiodns" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_PYCARES # runtime + help + Simple DNS resolver for asyncio. + + http://github.com/saghul/aiodns diff --git a/bsp/buildroot/package/python-aiodns/python-aiodns.hash b/bsp/buildroot/package/python-aiodns/python-aiodns.hash new file mode 100644 index 00000000..b66693f8 --- /dev/null +++ b/bsp/buildroot/package/python-aiodns/python-aiodns.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiodns/json +md5 80e0419b49bb4c540b4857ec142219b8 aiodns-1.1.1.tar.gz +sha256 d8677adc679ce8d0ef706c14d9c3d2f27a0e0cc11d59730cdbaf218ad52dd9ea aiodns-1.1.1.tar.gz +# Locally computed sha256 checksums +sha256 eb0455d35129425ed399883cd710923de3e246a510e2eb84d9f00032d0bbec97 LICENSE diff --git a/bsp/buildroot/package/python-aiodns/python-aiodns.mk b/bsp/buildroot/package/python-aiodns/python-aiodns.mk new file mode 100644 index 00000000..94f719d3 --- /dev/null +++ b/bsp/buildroot/package/python-aiodns/python-aiodns.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiodns +# +################################################################################ + +PYTHON_AIODNS_VERSION = 1.1.1 +PYTHON_AIODNS_SOURCE = aiodns-$(PYTHON_AIODNS_VERSION).tar.gz +PYTHON_AIODNS_SITE = https://files.pythonhosted.org/packages/3b/45/dcee156eabca900af3a1bab8acb9531636b13db4b677d44ba468a43969e0 +PYTHON_AIODNS_SETUP_TYPE = setuptools +PYTHON_AIODNS_LICENSE = MIT +PYTHON_AIODNS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiohttp-jinja2/Config.in b/bsp/buildroot/package/python-aiohttp-jinja2/Config.in new file mode 100644 index 00000000..dd4bb0d2 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-jinja2/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_JINJA2 + bool "python-aiohttp-jinja2" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + select BR2_PACKAGE_PYTHON_JINJA2 # runtime + help + Jinja2 template renderer for aiohttp.web (http server for + asyncio). + + https://github.com/aio-libs/aiohttp_jinja2/ diff --git a/bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash b/bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash new file mode 100644 index 00000000..390b0e4e --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-jinja2/json +md5 de5e02056d1b48dc2fa4fc0c1a8b0e08 aiohttp-jinja2-1.1.0.tar.gz +sha256 aef9b6595f962182ad00c990095fb51d731c280e1d183e2b28cf0bdb5a942d0c aiohttp-jinja2-1.1.0.tar.gz +# Locally computed sha256 checksums +sha256 2a86817fedf0c52baaa47d7dd975073639dfaaebd37312bd279de54d7f841791 LICENSE diff --git a/bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk b/bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk new file mode 100644 index 00000000..3b5359a0 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-jinja2/python-aiohttp-jinja2.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-jinja2 +# +################################################################################ + +PYTHON_AIOHTTP_JINJA2_VERSION = 1.1.0 +PYTHON_AIOHTTP_JINJA2_SOURCE = aiohttp-jinja2-$(PYTHON_AIOHTTP_JINJA2_VERSION).tar.gz +PYTHON_AIOHTTP_JINJA2_SITE = https://files.pythonhosted.org/packages/76/9d/68fa1e9ec3bafba572772eb385023de54096663bd6e302a24d7344c6a711 +PYTHON_AIOHTTP_JINJA2_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_JINJA2_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_JINJA2_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiohttp-remotes/Config.in b/bsp/buildroot/package/python-aiohttp-remotes/Config.in new file mode 100644 index 00000000..e44696ba --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-remotes/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_REMOTES + bool "python-aiohttp-remotes" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Control remote side information. + + https://github.com/aio-libs/aiohttp-remotes diff --git a/bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.hash b/bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.hash new file mode 100644 index 00000000..069cdeda --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-remotes/json +md5 70213413433ece4e2110ae90a070d279 aiohttp_remotes-0.1.2.tar.gz +sha256 43c3f7e1c5ba27f29fb4dbde5d43b900b5b5fc7e37bf7e35e6eaedabaec4a3fc aiohttp_remotes-0.1.2.tar.gz +# Locally computed sha256 checksums +sha256 5240758b8a5c34a46c166294eaae7dc7034ec45c727fce889c9abf7ef5afc158 LICENSE diff --git a/bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.mk b/bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.mk new file mode 100644 index 00000000..5b38ae91 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-remotes/python-aiohttp-remotes.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-remotes +# +################################################################################ + +PYTHON_AIOHTTP_REMOTES_VERSION = 0.1.2 +PYTHON_AIOHTTP_REMOTES_SOURCE = aiohttp_remotes-$(PYTHON_AIOHTTP_REMOTES_VERSION).tar.gz +PYTHON_AIOHTTP_REMOTES_SITE = https://files.pythonhosted.org/packages/cd/2f/93e9198a01485f588d12e19c87cd277542dc28d8b31dc8e1c09fa1c75548 +PYTHON_AIOHTTP_REMOTES_SETUP_TYPE = distutils +PYTHON_AIOHTTP_REMOTES_LICENSE = MIT +PYTHON_AIOHTTP_REMOTES_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiohttp-security/Config.in b/bsp/buildroot/package/python-aiohttp-security/Config.in new file mode 100644 index 00000000..f92c4585 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-security/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SECURITY + bool "python-aiohttp-security" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Security for aiohttp.web. + + https://github.com/aio-libs/aiohttp_security/ diff --git a/bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.hash b/bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.hash new file mode 100644 index 00000000..1d2604c9 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-security/json +md5 1624f982d7a779e6ed396ef2ed20acc7 aiohttp-security-0.4.0.tar.gz +sha256 40d4bb150454e392c2dfa3620f6eab28e140e94cf0c2d3b4bf43aef653ec9405 aiohttp-security-0.4.0.tar.gz +# Locally computed sha256 checksums +sha256 a1cc8ff7210897d55d2552fa0792340f8e59720e0160b6918699d40f9a782b1c LICENSE diff --git a/bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.mk b/bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.mk new file mode 100644 index 00000000..9ab3b16b --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-security/python-aiohttp-security.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-security +# +################################################################################ + +PYTHON_AIOHTTP_SECURITY_VERSION = 0.4.0 +PYTHON_AIOHTTP_SECURITY_SOURCE = aiohttp-security-$(PYTHON_AIOHTTP_SECURITY_VERSION).tar.gz +PYTHON_AIOHTTP_SECURITY_SITE = https://files.pythonhosted.org/packages/36/01/d85be376b7c1773b3cb7849cd56dc7d38165664df7de2d3e20af507ef5bb +PYTHON_AIOHTTP_SECURITY_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SECURITY_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SECURITY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiohttp-session/Config.in b/bsp/buildroot/package/python-aiohttp-session/Config.in new file mode 100644 index 00000000..c148165f --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-session/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SESSION + bool "python-aiohttp-session" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Sessions for aiohttp.web. + + https://github.com/aio-libs/aiohttp_session/ diff --git a/bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.hash b/bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.hash new file mode 100644 index 00000000..fdccb20d --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-session/json +md5 a873141ee04ffc9fc948d9ee0ed47a8d aiohttp-session-2.7.0.tar.gz +sha256 18ae740845214086f783574edfee1bac36862332bd11d561e048b079d8f6ad34 aiohttp-session-2.7.0.tar.gz +# Locally computed sha256 checksums +sha256 2a86817fedf0c52baaa47d7dd975073639dfaaebd37312bd279de54d7f841791 LICENSE diff --git a/bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.mk b/bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.mk new file mode 100644 index 00000000..36c3180b --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-session/python-aiohttp-session.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-session +# +################################################################################ + +PYTHON_AIOHTTP_SESSION_VERSION = 2.7.0 +PYTHON_AIOHTTP_SESSION_SOURCE = aiohttp-session-$(PYTHON_AIOHTTP_SESSION_VERSION).tar.gz +PYTHON_AIOHTTP_SESSION_SITE = https://files.pythonhosted.org/packages/b5/5f/3f78fd4de2f9b17ad8cfe6c189bfaee3d0a5d2fe954aedad743edd08c813 +PYTHON_AIOHTTP_SESSION_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SESSION_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SESSION_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiohttp-sse/Config.in b/bsp/buildroot/package/python-aiohttp-sse/Config.in new file mode 100644 index 00000000..781bbf4d --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-sse/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP_SSE + bool "python-aiohttp-sse" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Server-sent events support for aiohttp. + + https://github.com/aio-libs/aiohttp_sse/ diff --git a/bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.hash b/bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.hash new file mode 100644 index 00000000..2f21da46 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp-sse/json +md5 d2f394fb75f591045b2c94fc17c8533d aiohttp-sse-2.0.0.tar.gz +sha256 547e1eaa129749f090d02b31956215edbcde74ce99721f5f0ac902a9ccb1202e aiohttp-sse-2.0.0.tar.gz +# Locally computed sha256 checksums +sha256 cb5e8e7e5f4a3988e1063c142c60dc2df75605f4c46515e776e3aca6df976e14 LICENSE diff --git a/bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.mk b/bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.mk new file mode 100644 index 00000000..7a7a0d0a --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp-sse/python-aiohttp-sse.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp-sse +# +################################################################################ + +PYTHON_AIOHTTP_SSE_VERSION = 2.0.0 +PYTHON_AIOHTTP_SSE_SOURCE = aiohttp-sse-$(PYTHON_AIOHTTP_SSE_VERSION).tar.gz +PYTHON_AIOHTTP_SSE_SITE = https://files.pythonhosted.org/packages/2b/50/e127729f7df53c32c96b5c71932a7262cad40c83f1e19c218b068c816d51 +PYTHON_AIOHTTP_SSE_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_SSE_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_SSE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiohttp/Config.in b/bsp/buildroot/package/python-aiohttp/Config.in new file mode 100644 index 00000000..d75c4402 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PYTHON_AIOHTTP + bool "python-aiohttp" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_ATTRS # runtime + select BR2_PACKAGE_PYTHON_CCHARDET if BR2_INSTALL_LIBSTDCPP # runtime + select BR2_PACKAGE_PYTHON_CHARDET if !BR2_INSTALL_LIBSTDCPP # runtime + select BR2_PACKAGE_PYTHON_MULTIDICT # runtime + select BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT # runtime + select BR2_PACKAGE_PYTHON_YARL # runtime + select BR2_PACKAGE_PYTHON_AIODNS # runtime + select BR2_PACKAGE_PYTHON3_ZLIB # runtime + help + Async http client/server framework (asyncio). + + https://github.com/aio-libs/aiohttp diff --git a/bsp/buildroot/package/python-aiohttp/python-aiohttp.hash b/bsp/buildroot/package/python-aiohttp/python-aiohttp.hash new file mode 100644 index 00000000..bd9e2d7a --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp/python-aiohttp.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiohttp/json +md5 85fe5c9037256c58d4678148bd91b3f3 aiohttp-3.5.4.tar.gz +sha256 9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf aiohttp-3.5.4.tar.gz +# Locally computed sha256 checksums +sha256 6fd5243e92dd7f98ec69c7ac377728e74905709ff527a5bf98d6d0263c04f5b6 LICENSE.txt diff --git a/bsp/buildroot/package/python-aiohttp/python-aiohttp.mk b/bsp/buildroot/package/python-aiohttp/python-aiohttp.mk new file mode 100644 index 00000000..7a142a65 --- /dev/null +++ b/bsp/buildroot/package/python-aiohttp/python-aiohttp.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiohttp +# +################################################################################ + +PYTHON_AIOHTTP_VERSION = 3.5.4 +PYTHON_AIOHTTP_SOURCE = aiohttp-$(PYTHON_AIOHTTP_VERSION).tar.gz +PYTHON_AIOHTTP_SITE = https://files.pythonhosted.org/packages/0f/58/c8b83f999da3b13e66249ea32f325be923791c0c10aee6cf16002a3effc1 +PYTHON_AIOHTTP_SETUP_TYPE = setuptools +PYTHON_AIOHTTP_LICENSE = Apache-2.0 +PYTHON_AIOHTTP_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiojobs/Config.in b/bsp/buildroot/package/python-aiojobs/Config.in new file mode 100644 index 00000000..54d6c02a --- /dev/null +++ b/bsp/buildroot/package/python-aiojobs/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_AIOJOBS + bool "python-aiojobs" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_AIOHTTP # runtime + help + Jobs scheduler for managing background task (asyncio). + + https://github.com/aio-libs/aiojobs diff --git a/bsp/buildroot/package/python-aiojobs/python-aiojobs.hash b/bsp/buildroot/package/python-aiojobs/python-aiojobs.hash new file mode 100644 index 00000000..56a8bb11 --- /dev/null +++ b/bsp/buildroot/package/python-aiojobs/python-aiojobs.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiojobs/json +md5 8fd929e4ef9bc6560c675a5b11ac6077 aiojobs-0.2.2.tar.gz +sha256 8e4b3e3d1bdb970bdaf8f8cd5eb4e4ff3e0e01a4abd22b4f73a87002a5ae4005 aiojobs-0.2.2.tar.gz +# Locally computed sha256 checksums +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/bsp/buildroot/package/python-aiojobs/python-aiojobs.mk b/bsp/buildroot/package/python-aiojobs/python-aiojobs.mk new file mode 100644 index 00000000..7a95f990 --- /dev/null +++ b/bsp/buildroot/package/python-aiojobs/python-aiojobs.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiojobs +# +################################################################################ + +PYTHON_AIOJOBS_VERSION = 0.2.2 +PYTHON_AIOJOBS_SOURCE = aiojobs-$(PYTHON_AIOJOBS_VERSION).tar.gz +PYTHON_AIOJOBS_SITE = https://files.pythonhosted.org/packages/57/c5/9eb091930d6574002d1721dab5ca15a1bd69ed5dc8e654159d27223cdd3b +PYTHON_AIOJOBS_SETUP_TYPE = distutils +PYTHON_AIOJOBS_LICENSE = Apache-2.0 +PYTHON_AIOJOBS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-aiorwlock/Config.in b/bsp/buildroot/package/python-aiorwlock/Config.in new file mode 100644 index 00000000..afdc27dd --- /dev/null +++ b/bsp/buildroot/package/python-aiorwlock/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_AIORWLOCK + bool "python-aiorwlock" + depends on BR2_PACKAGE_PYTHON3 + help + Read write lock for asyncio. + + https://github.com/aio-libs/aiorwlock diff --git a/bsp/buildroot/package/python-aiorwlock/python-aiorwlock.hash b/bsp/buildroot/package/python-aiorwlock/python-aiorwlock.hash new file mode 100644 index 00000000..51d1a29f --- /dev/null +++ b/bsp/buildroot/package/python-aiorwlock/python-aiorwlock.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/aiorwlock/json +md5 ee741761e4c9b1612e9dccf7f8bccdd0 aiorwlock-0.5.0.tar.gz +sha256 3cd892576d024934d72c3dd098033f276ace3495e71a1197daa8d21409a52174 aiorwlock-0.5.0.tar.gz +# Locally computed sha256 checksums +sha256 56fb2baf14d84c59c15abbfbb1fdf30a724017e2ce97894a8236764513d10397 LICENSE diff --git a/bsp/buildroot/package/python-aiorwlock/python-aiorwlock.mk b/bsp/buildroot/package/python-aiorwlock/python-aiorwlock.mk new file mode 100644 index 00000000..ca6aa252 --- /dev/null +++ b/bsp/buildroot/package/python-aiorwlock/python-aiorwlock.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-aiorwlock +# +################################################################################ + +PYTHON_AIORWLOCK_VERSION = 0.5.0 +PYTHON_AIORWLOCK_SOURCE = aiorwlock-$(PYTHON_AIORWLOCK_VERSION).tar.gz +PYTHON_AIORWLOCK_SITE = https://files.pythonhosted.org/packages/0c/20/d30f332e6ecb2be467ab5603e277b26e3a8eb2a72f75bf8d309bdd4c0c82 +PYTHON_AIORWLOCK_SETUP_TYPE = setuptools +PYTHON_AIORWLOCK_LICENSE = Apache-2.0 +PYTHON_AIORWLOCK_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.hash b/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.hash index ec5d7cfc..41aa6023 100644 --- a/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.hash +++ b/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/asn1crypto/json, sha256 locally computed -md5 74a8b9402625b38ef19cf3fa69ef8470 asn1crypto-0.22.0.tar.gz -sha256 cbbadd640d3165ab24b06ef25d1dca09a3441611ac15f6a6b452474fdf0aed1a asn1crypto-0.22.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/asn1crypto/json +md5 de3520426e81a6581352d4366f310eb1 asn1crypto-0.24.0.tar.gz +sha256 9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49 asn1crypto-0.24.0.tar.gz +# Locally computed sha256 checksums +sha256 7871ddf1918d53fd549943aad007cd4ad674b0e1da732a9aea4a79e1436d1eb5 LICENSE diff --git a/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.mk b/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.mk index 681dfd5c..4cd30e8c 100644 --- a/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.mk +++ b/bsp/buildroot/package/python-asn1crypto/python-asn1crypto.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_ASN1CRYPTO_VERSION = 0.22.0 +PYTHON_ASN1CRYPTO_VERSION = 0.24.0 PYTHON_ASN1CRYPTO_SOURCE = asn1crypto-$(PYTHON_ASN1CRYPTO_VERSION).tar.gz -PYTHON_ASN1CRYPTO_SITE = https://pypi.python.org/packages/67/14/5d66588868c4304f804ebaff9397255f6ec5559e46724c2496e0f26e68d6 +PYTHON_ASN1CRYPTO_SITE = https://files.pythonhosted.org/packages/fc/f1/8db7daa71f414ddabfa056c4ef792e1461ff655c2ae2928a2b675bfed6b4 PYTHON_ASN1CRYPTO_SETUP_TYPE = setuptools PYTHON_ASN1CRYPTO_LICENSE = MIT +PYTHON_ASN1CRYPTO_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-async-timeout/Config.in b/bsp/buildroot/package/python-async-timeout/Config.in new file mode 100644 index 00000000..659a0fde --- /dev/null +++ b/bsp/buildroot/package/python-async-timeout/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_ASYNC_TIMEOUT + bool "python-async-timeout" + depends on BR2_PACKAGE_PYTHON3 + help + asyncio-compatible timeout context manager. + + https://github.com/aio-libs/async-timeout diff --git a/bsp/buildroot/package/python-async-timeout/python-async-timeout.hash b/bsp/buildroot/package/python-async-timeout/python-async-timeout.hash new file mode 100644 index 00000000..f99e1dad --- /dev/null +++ b/bsp/buildroot/package/python-async-timeout/python-async-timeout.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.python.org/pypi/async_timeout/json +md5 305c4fa529f2485c403d0dbe14390175 async-timeout-3.0.1.tar.gz +sha256 0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f async-timeout-3.0.1.tar.gz +# Locally computed sha256 checksums +sha256 b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1 LICENSE diff --git a/bsp/buildroot/package/python-async-timeout/python-async-timeout.mk b/bsp/buildroot/package/python-async-timeout/python-async-timeout.mk new file mode 100644 index 00000000..093adc5c --- /dev/null +++ b/bsp/buildroot/package/python-async-timeout/python-async-timeout.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-async-timeout +# +################################################################################ + +PYTHON_ASYNC_TIMEOUT_VERSION = 3.0.1 +PYTHON_ASYNC_TIMEOUT_SOURCE = async-timeout-$(PYTHON_ASYNC_TIMEOUT_VERSION).tar.gz +PYTHON_ASYNC_TIMEOUT_SITE = https://files.pythonhosted.org/packages/a1/78/aae1545aba6e87e23ecab8d212b58bb70e72164b67eb090b81bb17ad38e3 +PYTHON_ASYNC_TIMEOUT_LICENSE = Apache-2.0 +PYTHON_ASYNC_TIMEOUT_LICENSE_FILES = LICENSE +PYTHON_ASYNC_TIMEOUT_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-attrs/python-attrs.hash b/bsp/buildroot/package/python-attrs/python-attrs.hash index 4434fa19..23a5efd5 100644 --- a/bsp/buildroot/package/python-attrs/python-attrs.hash +++ b/bsp/buildroot/package/python-attrs/python-attrs.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/attrs/json, sha256 locally computed -md5 3b7136a570f3ff8a4ff42e7360073f9f attrs-17.2.0.tar.gz -sha256 5d4d1b99f94d69338f485984127e4473b3ab9e20f43821b0e546cc3b2302fd11 attrs-17.2.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/attrs/json +md5 44700294787c8018858777fc150e5d40 attrs-18.2.0.tar.gz +sha256 10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69 attrs-18.2.0.tar.gz +# Locally computer sha256 +sha256 bf659a28b49240602f56bbdf490cbe2ec509b15b98f99d7b19a52c740e327863 LICENSE diff --git a/bsp/buildroot/package/python-attrs/python-attrs.mk b/bsp/buildroot/package/python-attrs/python-attrs.mk index c9633711..9fbee2d3 100644 --- a/bsp/buildroot/package/python-attrs/python-attrs.mk +++ b/bsp/buildroot/package/python-attrs/python-attrs.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ATTRS_VERSION = 17.2.0 +PYTHON_ATTRS_VERSION = 18.2.0 PYTHON_ATTRS_SOURCE = attrs-$(PYTHON_ATTRS_VERSION).tar.gz -PYTHON_ATTRS_SITE = https://pypi.python.org/packages/be/41/e909cb6d901e9689da947419505cc7fb7d242a08a62ee221fce6a009a523 +PYTHON_ATTRS_SITE = https://files.pythonhosted.org/packages/0f/9e/26b1d194aab960063b266170e53c39f73ea0d0d3f5ce23313e0ec8ee9bdf PYTHON_ATTRS_SETUP_TYPE = setuptools PYTHON_ATTRS_LICENSE = MIT PYTHON_ATTRS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-autobahn/python-autobahn.hash b/bsp/buildroot/package/python-autobahn/python-autobahn.hash index 32c99167..dce40f16 100644 --- a/bsp/buildroot/package/python-autobahn/python-autobahn.hash +++ b/bsp/buildroot/package/python-autobahn/python-autobahn.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/autobahn/json, sha256 locally computed -md5 f8c8d74bf73644719b751e6fb11dc4a3 autobahn-17.10.1.tar.gz -sha256 8cf74132a18da149c5ea3dcbb5e055f6f4fe5a0238b33258d29e89bd276a8078 autobahn-17.10.1.tar.gz -sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE +# md5, sha256 from https://pypi.org/pypi/autobahn/json +md5 b296b8ae0f42e7df8052b28d574ede82 autobahn-19.1.1.tar.gz +sha256 aebbadb700c13792a2967c79002855d1153b9ec8f2949d169e908388699596ff autobahn-19.1.1.tar.gz +# Locally computed sha256 checksums +sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/bsp/buildroot/package/python-autobahn/python-autobahn.mk b/bsp/buildroot/package/python-autobahn/python-autobahn.mk index 3ba91c5e..213e0314 100644 --- a/bsp/buildroot/package/python-autobahn/python-autobahn.mk +++ b/bsp/buildroot/package/python-autobahn/python-autobahn.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AUTOBAHN_VERSION = 17.10.1 +PYTHON_AUTOBAHN_VERSION = 19.1.1 PYTHON_AUTOBAHN_SOURCE = autobahn-$(PYTHON_AUTOBAHN_VERSION).tar.gz -PYTHON_AUTOBAHN_SITE = https://pypi.python.org/packages/e4/2e/01a64212b1eb580d601fa20f146c962235e3493795f46e3b254597ec635d +PYTHON_AUTOBAHN_SITE = https://files.pythonhosted.org/packages/66/cc/1e2b20dc6654d9a87fc30da36bfae687ec65428814378c44257a26fe5f2f PYTHON_AUTOBAHN_LICENSE = MIT PYTHON_AUTOBAHN_LICENSE_FILES = LICENSE PYTHON_AUTOBAHN_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-automat/python-automat.hash b/bsp/buildroot/package/python-automat/python-automat.hash index c0e35052..f974679b 100644 --- a/bsp/buildroot/package/python-automat/python-automat.hash +++ b/bsp/buildroot/package/python-automat/python-automat.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/automat/json, sha256 locally computed -md5 ad7bba58d262d8956d732330cb5ef53d Automat-0.6.0.tar.gz -sha256 3c1fd04ecf08ac87b4dd3feae409542e9bf7827257097b2b6ed5692f69d6f6a8 Automat-0.6.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/automat/json +md5 b72d5b7a83c2b1bd6e9ec3614a69f9ea Automat-0.7.0.tar.gz +sha256 cbd78b83fa2d81fe2a4d23d258e1661dd7493c9a50ee2f1a5b2cac61c1793b0e Automat-0.7.0.tar.gz +# Locally computed sha256 checksums +sha256 b2201301678d0a937d938543827ca1360712eb34e23de8ee3f3bfffbd4c0e376 LICENSE diff --git a/bsp/buildroot/package/python-automat/python-automat.mk b/bsp/buildroot/package/python-automat/python-automat.mk index 96a4f515..f3d8da49 100644 --- a/bsp/buildroot/package/python-automat/python-automat.mk +++ b/bsp/buildroot/package/python-automat/python-automat.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_AUTOMAT_VERSION = 0.6.0 +PYTHON_AUTOMAT_VERSION = 0.7.0 PYTHON_AUTOMAT_SOURCE = Automat-$(PYTHON_AUTOMAT_VERSION).tar.gz -PYTHON_AUTOMAT_SITE = https://pypi.python.org/packages/de/05/b8e453085cf8a7f27bb1226596f4ccf5cc9e758377d60284f990bbdc592c +PYTHON_AUTOMAT_SITE = https://files.pythonhosted.org/packages/4a/4f/64db3ffda8828cb0541fe949354615f39d02f596b4c33fb74863756fc565 PYTHON_AUTOMAT_SETUP_TYPE = setuptools PYTHON_AUTOMAT_LICENSE = MIT PYTHON_AUTOMAT_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-babel/python-babel.hash b/bsp/buildroot/package/python-babel/python-babel.hash index 4d753679..a52da012 100644 --- a/bsp/buildroot/package/python-babel/python-babel.hash +++ b/bsp/buildroot/package/python-babel/python-babel.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/Babel/json, sha256 locally computed -md5 afa20bc55b0e991833030129ad498f35 Babel-2.3.4.tar.gz -sha256 c535c4403802f6eb38173cd4863e419e2274921a01a8aad8a5b497c131c62875 Babel-2.3.4.tar.gz +# md5, sha256 from https://pypi.org/pypi/babel/json +md5 c384ac03026e8fe6f9b90f55201f1bff Babel-2.6.0.tar.gz +sha256 8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23 Babel-2.6.0.tar.gz +# Locally computed sha256 checksums +sha256 178b99c90df898d0bee84bd335f36b679c76fafa9d3c288b4eaea4ebd92d8602 LICENSE diff --git a/bsp/buildroot/package/python-babel/python-babel.mk b/bsp/buildroot/package/python-babel/python-babel.mk index d9bd0f04..a507ccea 100644 --- a/bsp/buildroot/package/python-babel/python-babel.mk +++ b/bsp/buildroot/package/python-babel/python-babel.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BABEL_VERSION = 2.3.4 +PYTHON_BABEL_VERSION = 2.6.0 PYTHON_BABEL_SOURCE = Babel-$(PYTHON_BABEL_VERSION).tar.gz -PYTHON_BABEL_SITE = https://pypi.python.org/packages/6e/96/ba2a2462ed25ca0e651fb7b66e7080f5315f91425a07ea5b34d7c870c114 +PYTHON_BABEL_SITE = https://files.pythonhosted.org/packages/be/cc/9c981b249a455fa0c76338966325fc70b7265521bad641bf2932f77712f4 PYTHON_BABEL_SETUP_TYPE = setuptools PYTHON_BABEL_LICENSE = BSD-3-Clause PYTHON_BABEL_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-backports-ssl-match-hostname/Config.in b/bsp/buildroot/package/python-backports-ssl-match-hostname/Config.in new file mode 100644 index 00000000..8e55191a --- /dev/null +++ b/bsp/buildroot/package/python-backports-ssl-match-hostname/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME + bool "python-backports-ssl-match-hostname" + depends on BR2_PACKAGE_PYTHON + help + The ssl.match_hostname() function from Python 3.5. + + http://bitbucket.org/brandon/backports.ssl_match_hostname diff --git a/bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash b/bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash new file mode 100644 index 00000000..b43e1af5 --- /dev/null +++ b/bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/backports.ssl_match_hostname/json, sha256 locally computed +md5 c03fc5e2c7b3da46b81acf5cbacfe1e6 backports.ssl_match_hostname-3.5.0.1.tar.gz +sha256 502ad98707319f4a51fa2ca1c677bd659008d27ded9f6380c79e8932e38dcdf2 backports.ssl_match_hostname-3.5.0.1.tar.gz +sha256 bfc8a75a4b9aec224aa7973c0c9d7cc0134bdcbf8eefd008936b58554d66e97e backports/ssl_match_hostname/LICENSE.txt diff --git a/bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk b/bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk new file mode 100644 index 00000000..01c8bc44 --- /dev/null +++ b/bsp/buildroot/package/python-backports-ssl-match-hostname/python-backports-ssl-match-hostname.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-backports-ssl-match-hostname +# +################################################################################ + +PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_VERSION = 3.5.0.1 +PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_SOURCE = backports.ssl_match_hostname-$(PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_VERSION).tar.gz +PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_SITE = https://pypi.python.org/packages/76/21/2dc61178a2038a5cb35d14b61467c6ac632791ed05131dda72c20e7b9e23 +PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_SETUP_TYPE = distutils +PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_LICENSE = Python-2.0 +PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME_LICENSE_FILES = backports/ssl_match_hostname/LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-bcrypt/python-bcrypt.hash b/bsp/buildroot/package/python-bcrypt/python-bcrypt.hash index 574cbe15..3e4c303a 100644 --- a/bsp/buildroot/package/python-bcrypt/python-bcrypt.hash +++ b/bsp/buildroot/package/python-bcrypt/python-bcrypt.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/bcrypt/json, sha256 locally computed -md5 20da8b40790caad99c4086dba533154b bcrypt-3.1.3.tar.gz -sha256 6645c8d0ad845308de3eb9be98b6fd22a46ec5412bfc664a423e411cdd8f5488 bcrypt-3.1.3.tar.gz +# md5, sha256 from https://pypi.org/pypi/bcrypt/json +md5 4d8ab82e5e0c86b15f4ba5aff2bec6b5 bcrypt-3.1.6.tar.gz +sha256 44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea bcrypt-3.1.6.tar.gz +# Locally computed sha256 checksums +sha256 8173d5c29b4f956d532781d2b86e4e30f83e6b7878dce18c919451d6ba707c90 LICENSE diff --git a/bsp/buildroot/package/python-bcrypt/python-bcrypt.mk b/bsp/buildroot/package/python-bcrypt/python-bcrypt.mk index aa6f9815..71bf036f 100644 --- a/bsp/buildroot/package/python-bcrypt/python-bcrypt.mk +++ b/bsp/buildroot/package/python-bcrypt/python-bcrypt.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_BCRYPT_VERSION = 3.1.3 +PYTHON_BCRYPT_VERSION = 3.1.6 PYTHON_BCRYPT_SOURCE = bcrypt-$(PYTHON_BCRYPT_VERSION).tar.gz -PYTHON_BCRYPT_SITE = https://pypi.python.org/packages/58/e9/6d7f1d883d8c5876470b5d187d72c04f2a9954d61e71e7eb5d2ea2a50442 +PYTHON_BCRYPT_SITE = https://files.pythonhosted.org/packages/ce/3a/3d540b9f5ee8d92ce757eebacf167b9deedb8e30aedec69a2a072b2399bb PYTHON_BCRYPT_SETUP_TYPE = setuptools PYTHON_BCRYPT_LICENSE = Apache-2.0 PYTHON_BCRYPT_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-cached-property/Config.in b/bsp/buildroot/package/python-cached-property/Config.in new file mode 100644 index 00000000..83439733 --- /dev/null +++ b/bsp/buildroot/package/python-cached-property/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_CACHED_PROPERTY + bool "python-cached-property" + help + A decorator for caching properties in classes. + + https://github.com/pydanny/cached-property diff --git a/bsp/buildroot/package/python-cached-property/python-cached-property.hash b/bsp/buildroot/package/python-cached-property/python-cached-property.hash new file mode 100644 index 00000000..255b2d9e --- /dev/null +++ b/bsp/buildroot/package/python-cached-property/python-cached-property.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/cached-property/json, sha256 locally computed +md5 fc7a49d2c4b7987f92b00c7b49128530 cached-property-1.4.0.tar.gz +sha256 a2fa0f89dd422f7e5dd992a4a3e0ce209d5d1e47a4db28fd0a7b5273ec8da3f0 cached-property-1.4.0.tar.gz +sha256 ba4756c8039b25b66e3c456cc5bf635aa528cf459b97ee1499d06684ccd89b9a LICENSE diff --git a/bsp/buildroot/package/python-cached-property/python-cached-property.mk b/bsp/buildroot/package/python-cached-property/python-cached-property.mk new file mode 100644 index 00000000..3e136385 --- /dev/null +++ b/bsp/buildroot/package/python-cached-property/python-cached-property.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-cached-property +# +################################################################################ + +PYTHON_CACHED_PROPERTY_VERSION = 1.4.0 +PYTHON_CACHED_PROPERTY_SOURCE = cached-property-$(PYTHON_CACHED_PROPERTY_VERSION).tar.gz +PYTHON_CACHED_PROPERTY_SITE = https://pypi.python.org/packages/ce/87/72b7a5a0504ad8d5d5ea6804ac5b24ce4f07869f61c47ea00cd4382320ba +PYTHON_CACHED_PROPERTY_SETUP_TYPE = setuptools +PYTHON_CACHED_PROPERTY_LICENSE = BSD-3-Clause +PYTHON_CACHED_PROPERTY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-can/Config.in b/bsp/buildroot/package/python-can/Config.in index 94b16ab3..f3ed1b77 100644 --- a/bsp/buildroot/package/python-can/Config.in +++ b/bsp/buildroot/package/python-can/Config.in @@ -1,9 +1,14 @@ config BR2_PACKAGE_PYTHON_CAN bool "python-can" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_TYPING if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_WRAPT # runtime + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 help This module provides controller area network support for Python. - https://bitbucket.org/hardbyte/python-can + https://github.com/hardbyte/python-can diff --git a/bsp/buildroot/package/python-can/python-can.hash b/bsp/buildroot/package/python-can/python-can.hash index bd19d194..b2dc1a33 100644 --- a/bsp/buildroot/package/python-can/python-can.hash +++ b/bsp/buildroot/package/python-can/python-can.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/python-can/json, sha256 locally computed -md5 f653aecf8b9034bbba32cc04ca6a7b6d python-can-1.5.2.tar.gz -sha256 edabb426e6cd11c2dc7a98980340135aa0eb02143b0d51bf14e3e6178c131cc3 python-can-1.5.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/python-can/json +md5 d906a220d8bd173c4f8de2bfe7217cc2 python-can-3.0.0.tar.gz +sha256 0d2ddb3b663af51b11a4c7fb7a577c63302a831986239f82bb6af65efc065b07 python-can-3.0.0.tar.gz +# Locally computed sha256 checksums +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.txt diff --git a/bsp/buildroot/package/python-can/python-can.mk b/bsp/buildroot/package/python-can/python-can.mk index a271baea..ca023ee8 100644 --- a/bsp/buildroot/package/python-can/python-can.mk +++ b/bsp/buildroot/package/python-can/python-can.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_CAN_VERSION = 1.5.2 -PYTHON_CAN_SITE = https://pypi.python.org/packages/a1/b1/80f023e2b728c7ebccbf989aec777f3add3dd4cee650573ce5d38132a07c +PYTHON_CAN_VERSION = 3.0.0 +PYTHON_CAN_SITE = https://files.pythonhosted.org/packages/29/47/59d07bb02d6b244fb631487ae5424a10658c316defeeb90c923b48043792 +PYTHON_CAN_SETUP_TYPE = setuptools PYTHON_CAN_LICENSE = LGPL-3.0 PYTHON_CAN_LICENSE_FILES = LICENSE.txt -PYTHON_CAN_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-cchardet/Config.in b/bsp/buildroot/package/python-cchardet/Config.in new file mode 100644 index 00000000..74153126 --- /dev/null +++ b/bsp/buildroot/package/python-cchardet/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_CCHARDET + bool "python-cchardet" + depends on BR2_INSTALL_LIBSTDCPP + help + cChardet is high speed universal character encoding + detector. + + https://github.com/PyYoshi/cChardet + +comment "python-cchardet needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/python-cchardet/python-cchardet.hash b/bsp/buildroot/package/python-cchardet/python-cchardet.hash new file mode 100644 index 00000000..231804ee --- /dev/null +++ b/bsp/buildroot/package/python-cchardet/python-cchardet.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/cchardet/json +md5 17af20af67cb18e958854e273d857a88 cchardet-2.1.4.tar.gz +sha256 cc9745e0400da4cfb49f075e7819f22473b66443f953427058fee2c7b9547cc0 cchardet-2.1.4.tar.gz +# Locally computed sha256 checksums +sha256 107a29ccdd2d778aa2df5462f85dddfa099059abd22e064e07ec2cc9bafc37cd COPYING diff --git a/bsp/buildroot/package/python-cchardet/python-cchardet.mk b/bsp/buildroot/package/python-cchardet/python-cchardet.mk new file mode 100644 index 00000000..9ac170c2 --- /dev/null +++ b/bsp/buildroot/package/python-cchardet/python-cchardet.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-cchardet +# +################################################################################ + +PYTHON_CCHARDET_VERSION = 2.1.4 +PYTHON_CCHARDET_SOURCE = cchardet-$(PYTHON_CCHARDET_VERSION).tar.gz +PYTHON_CCHARDET_SITE = https://files.pythonhosted.org/packages/74/64/3988d388315c1af3e24f447689dadf30edead43366fb2041cb103380b57f +PYTHON_CCHARDET_SETUP_TYPE = setuptools +PYTHON_CCHARDET_LICENSE = MPL-1.1 +PYTHON_CCHARDET_LICENSE_FILES = COPYING + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-certifi/Config.in b/bsp/buildroot/package/python-certifi/Config.in index 9390b4f8..015b8092 100644 --- a/bsp/buildroot/package/python-certifi/Config.in +++ b/bsp/buildroot/package/python-certifi/Config.in @@ -3,4 +3,4 @@ config BR2_PACKAGE_PYTHON_CERTIFI help Python package for providing Mozilla's CA Bundle. - https://pypi.python.org/pypi/certifi + http://certifi.io/ diff --git a/bsp/buildroot/package/python-certifi/python-certifi.hash b/bsp/buildroot/package/python-certifi/python-certifi.hash index e3e2f077..3d0e48f6 100644 --- a/bsp/buildroot/package/python-certifi/python-certifi.hash +++ b/bsp/buildroot/package/python-certifi/python-certifi.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/certifi/json, sha256 locally computed -md5 068fd5c3c690ae47504b3e0bf4e56c4c certifi-2018.1.18.tar.gz -sha256 edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d certifi-2018.1.18.tar.gz +# md5, sha256 from https://pypi.org/pypi/certifi/json +md5 8160cf662212bc731eccf1af8042c0af certifi-2018.11.29.tar.gz +sha256 47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7 certifi-2018.11.29.tar.gz +# Locally computed sha256 checksums sha256 6a70a4bf6b010016d59a64b8ae4ad8dc7f5ef16f1fb453cc2ecd771c5a341131 LICENSE diff --git a/bsp/buildroot/package/python-certifi/python-certifi.mk b/bsp/buildroot/package/python-certifi/python-certifi.mk index 084893f5..29b64692 100644 --- a/bsp/buildroot/package/python-certifi/python-certifi.mk +++ b/bsp/buildroot/package/python-certifi/python-certifi.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CERTIFI_VERSION = 2018.1.18 +PYTHON_CERTIFI_VERSION = 2018.11.29 PYTHON_CERTIFI_SOURCE = certifi-$(PYTHON_CERTIFI_VERSION).tar.gz -PYTHON_CERTIFI_SITE = https://pypi.python.org/packages/15/d4/2f888fc463d516ff7bf2379a4e9a552fef7f22a94147655d9b1097108248 +PYTHON_CERTIFI_SITE = https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed PYTHON_CERTIFI_SETUP_TYPE = setuptools PYTHON_CERTIFI_LICENSE = ISC (Python code), MPL-2.0 (cacert.pem) PYTHON_CERTIFI_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-click/python-click.hash b/bsp/buildroot/package/python-click/python-click.hash index cae03c72..911f13df 100644 --- a/bsp/buildroot/package/python-click/python-click.hash +++ b/bsp/buildroot/package/python-click/python-click.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/click/json, sha256 locally computed -md5 fc4cc00c4863833230d3af92af48abd4 click-6.7.tar.gz -sha256 f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b click-6.7.tar.gz +# md5, sha256 from https://pypi.org/pypi/click/json +md5 7f53d50f7b7373ebc7963f9ff697450a Click-7.0.tar.gz +sha256 5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7 Click-7.0.tar.gz +# Locally computed sha256 +sha256 e212319faefa4f459c8ac937fdc8557040a3cab8af29366ca2a48d239025225c LICENSE.rst diff --git a/bsp/buildroot/package/python-click/python-click.mk b/bsp/buildroot/package/python-click/python-click.mk index e6df6361..12539f55 100644 --- a/bsp/buildroot/package/python-click/python-click.mk +++ b/bsp/buildroot/package/python-click/python-click.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_CLICK_VERSION = 6.7 -PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz -PYTHON_CLICK_SITE = https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897 +PYTHON_CLICK_VERSION = 7.0 +PYTHON_CLICK_SOURCE = Click-$(PYTHON_CLICK_VERSION).tar.gz +PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/f8/5c/f60e9d8a1e77005f664b76ff8aeaee5bc05d0a91798afd7f53fc998dbc47 PYTHON_CLICK_LICENSE = BSD-3-Clause -PYTHON_CLICK_LICENSE_FILES = LICENSE +PYTHON_CLICK_LICENSE_FILES = LICENSE.rst PYTHON_CLICK_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-crossbar/0002-Remove-idna-requirement.patch b/bsp/buildroot/package/python-crossbar/0002-Remove-idna-requirement.patch new file mode 100644 index 00000000..4948b91b --- /dev/null +++ b/bsp/buildroot/package/python-crossbar/0002-Remove-idna-requirement.patch @@ -0,0 +1,29 @@ +From 9164d21cc66c1f78de37c9383528c5d528cbdbeb Mon Sep 17 00:00:00 2001 +From: Asaf Kahlon +Date: Wed, 26 Sep 2018 15:33:43 +0300 +Subject: [PATCH] Remove idna requirement. + +The latest version of idna is 2.7, but it seems like idna is not a direct +dependency anymore (a short "git grep" shows it's only written in requirement +and readme files). + +Signed-off-by: Asaf Kahlon +--- + requirements-min.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/requirements-min.txt b/requirements-min.txt +index 92fb0f8f..13cdac87 100644 +--- a/requirements-min.txt ++++ b/requirements-min.txt +@@ -6,7 +6,6 @@ click>=6.7 + constantly>=15.1.0 + cryptography>=1.9 + h2>=3.0,<4.0 +-idna<2.6,>=2.5 + incremental>=17.5.0 + jinja2>=2.9.6 + lmdb>=0.92 +-- +2.17.1 + diff --git a/bsp/buildroot/package/python-crossbar/0002-Rework-runtime-dependencies.patch b/bsp/buildroot/package/python-crossbar/0002-Rework-runtime-dependencies.patch deleted file mode 100644 index 784949c2..00000000 --- a/bsp/buildroot/package/python-crossbar/0002-Rework-runtime-dependencies.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 35b2ec4949c9d1620551efde6e3a3d46323899de Mon Sep 17 00:00:00 2001 -From: Yegor Yefremov -Date: Thu, 11 Jan 2018 10:13:18 +0100 -Subject: [PATCH 2/2] Rework runtime dependencies - -Add python version requirement to Python2 only packages like -ipaddress and enum34 and bump h2 package version. - -Signed-off-by: Yegor Yefremov ---- - requirements-min.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/requirements-min.txt b/requirements-min.txt -index 83820cd1..5cbf35c4 100644 ---- a/requirements-min.txt -+++ b/requirements-min.txt -@@ -2,7 +2,7 @@ click>=6.6 - setuptools>=28.3.0 - zope.interface>=4.3.2 - Twisted>=17.1.0 --h2<3.0.0 -+h2>=3.0.1 - priority>=1.3.0 - txaio>=2.8.0 - autobahn>=17.6.2 -@@ -33,5 +33,5 @@ bitstring>=3.1.5 - attrs>=16.2.0 - incremental>=16.10.1 - constantly>=15.1.0 --enum34>=1.1.6 --ipaddress>=1.0.18 -+enum34>=1.1.6; python_version < '3.4' -+ipaddress>=1.0.18; python_version < '3.3' --- -2.11.0 - diff --git a/bsp/buildroot/package/python-crossbar/Config.in b/bsp/buildroot/package/python-crossbar/Config.in index 96a25c2c..526d9871 100644 --- a/bsp/buildroot/package/python-crossbar/Config.in +++ b/bsp/buildroot/package/python-crossbar/Config.in @@ -1,45 +1,45 @@ config BR2_PACKAGE_PYTHON_CROSSBAR bool "python-crossbar" - depends on BR2_INSTALL_LIBSTDCPP # python-pyasn + depends on BR2_INSTALL_LIBSTDCPP # python-cryptography + depends on BR2_PACKAGE_PYTHON3 # All the following dependencies are runtime dependencies select BR2_PACKAGE_PYTHON_ATTRS select BR2_PACKAGE_PYTHON_AUTOBAHN select BR2_PACKAGE_PYTHON_BITSTRING - select BR2_PACKAGE_PYTHON_CONSTANTLY select BR2_PACKAGE_PYTHON_CBOR select BR2_PACKAGE_PYTHON_CLICK + select BR2_PACKAGE_PYTHON_CONSTANTLY select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY - select BR2_PACKAGE_PYTHON_ENUM34 if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_H2 select BR2_PACKAGE_PYTHON_IDNA select BR2_PACKAGE_PYTHON_INCREMENTAL - select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON_JINJA2 - select BR2_PACKAGE_PYTHON_H2 select BR2_PACKAGE_PYTHON_LMDB select BR2_PACKAGE_PYTHON_MISTUNE select BR2_PACKAGE_PYTHON_NETADDR + select BR2_PACKAGE_PYTHON_PASSLIB select BR2_PACKAGE_PYTHON_PRIORITY select BR2_PACKAGE_PYTHON_PSUTIL - select BR2_PACKAGE_PYTHON_PYASN - select BR2_PACKAGE_PYTHON_PYASN_MODULES + select BR2_PACKAGE_PYTHON_PYASN1 + select BR2_PACKAGE_PYTHON_PYASN1_MODULES select BR2_PACKAGE_PYTHON_PYGMENTS - select BR2_PACKAGE_PYTHON_PYINOTIFY select BR2_PACKAGE_PYTHON_PYNACL select BR2_PACKAGE_PYTHON_PYOPENSSL select BR2_PACKAGE_PYTHON_PYQRCODE select BR2_PACKAGE_PYTHON_PYTRIE select BR2_PACKAGE_PYTHON_PYYAML select BR2_PACKAGE_PYTHON_SDNOTIFY - select BR2_PACKAGE_PYTHON_SETUPTOOLS select BR2_PACKAGE_PYTHON_SERVICE_IDENTITY select BR2_PACKAGE_PYTHON_SETPROCTITLE select BR2_PACKAGE_PYTHON_SETUPTOOLS - select BR2_PACKAGE_PYTHON_SHUTILWHICH select BR2_PACKAGE_PYTHON_TREQ select BR2_PACKAGE_PYTHON_TWISTED + select BR2_PACKAGE_PYTHON_TXAIO + select BR2_PACKAGE_PYTHON_TXTORCON select BR2_PACKAGE_PYTHON_U_MSGPACK select BR2_PACKAGE_PYTHON_UBJSON select BR2_PACKAGE_PYTHON_WATCHDOG + select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE help Crossbar.io is an open-source WAMP application router that allows to build advanced applications from loosely-coupled @@ -49,3 +49,4 @@ config BR2_PACKAGE_PYTHON_CROSSBAR comment "python-crossbar needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP + depends on BR2_PACKAGE_PYTHON3 diff --git a/bsp/buildroot/package/python-crossbar/python-crossbar.hash b/bsp/buildroot/package/python-crossbar/python-crossbar.hash index b9bfea89..f956dc27 100644 --- a/bsp/buildroot/package/python-crossbar/python-crossbar.hash +++ b/bsp/buildroot/package/python-crossbar/python-crossbar.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/crossbar/json, sha256 locally computed -md5 d557615f34e7736f749e59b4d3ddbea0 crossbar-17.6.1.post3.tar.gz -sha256 8d023af0a772404f4e57add5888583fc0068d62a7a2249bea4539a6d7b70fbd9 crossbar-17.6.1.post3.tar.gz +# md5, sha256 from https://pypi.org/pypi/crossbar/json +md5 462a204da3c776cbb770b98f9047e8e7 crossbar-19.1.2.tar.gz +sha256 269d534a65c136a5c952a6accccf256f457569f731ee65e201e5a14e69db471a crossbar-19.1.2.tar.gz +# Locally computed sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 LICENSE diff --git a/bsp/buildroot/package/python-crossbar/python-crossbar.mk b/bsp/buildroot/package/python-crossbar/python-crossbar.mk index 5ebeddc7..064d2d92 100644 --- a/bsp/buildroot/package/python-crossbar/python-crossbar.mk +++ b/bsp/buildroot/package/python-crossbar/python-crossbar.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_CROSSBAR_VERSION = 17.6.1.post3 +PYTHON_CROSSBAR_VERSION = 19.1.2 PYTHON_CROSSBAR_SOURCE = crossbar-$(PYTHON_CROSSBAR_VERSION).tar.gz -PYTHON_CROSSBAR_SITE = https://pypi.python.org/packages/6a/25/9bc78947a4552c5fe27671ca2abe3be0559b8c76bc93d52157a6333ea971 +PYTHON_CROSSBAR_SITE = https://files.pythonhosted.org/packages/86/19/54c7bd9da1ac70643b9ae7d3d4592a73391f62fcb376fcd30f8328c1c5ce PYTHON_CROSSBAR_LICENSE = AGPL-3.0 PYTHON_CROSSBAR_LICENSE_FILES = LICENSE PYTHON_CROSSBAR_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-cryptography/Config.in b/bsp/buildroot/package/python-cryptography/Config.in index 14f950d4..d1c2917e 100644 --- a/bsp/buildroot/package/python-cryptography/Config.in +++ b/bsp/buildroot/package/python-cryptography/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_PYTHON_CRYPTOGRAPHY select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_IDNA # runtime select BR2_PACKAGE_PYTHON_IPADDRESS if BR2_PACKAGE_PYTHON # runtime - select BR2_PACKAGE_PYTHON_PYASN # runtime + select BR2_PACKAGE_PYTHON_ASN1CRYPTO # runtime select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime diff --git a/bsp/buildroot/package/python-cryptography/python-cryptography.hash b/bsp/buildroot/package/python-cryptography/python-cryptography.hash index a1162cf8..36da21c9 100644 --- a/bsp/buildroot/package/python-cryptography/python-cryptography.hash +++ b/bsp/buildroot/package/python-cryptography/python-cryptography.hash @@ -1,3 +1,7 @@ -# md5 from https://pypi.python.org/pypi/cryptography/json, sha256 locally computed -md5 fade66de437392ed1ba6980768626204 cryptography-1.7.2.tar.gz -sha256 878cb68b3da3d493ffd68f36db11c29deee623671d3287c3f8d685117ffda9a9 cryptography-1.7.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/cryptography/json +md5 2b5e8269c43c9b9ab54fc8c75ba3c7ac cryptography-2.3.1.tar.gz +sha256 8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6 cryptography-2.3.1.tar.gz +# Locally computed sha256 checksums +sha256 35452b557fab0efb1e80d7edb9c4e5118b9384082adaa051dde342102cb9de8d LICENSE +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.APACHE +sha256 602c4c7482de6479dd2e9793cda275e5e63d773dacd1eca689232ab7008fb4fb LICENSE.BSD diff --git a/bsp/buildroot/package/python-cryptography/python-cryptography.mk b/bsp/buildroot/package/python-cryptography/python-cryptography.mk index 5373da82..91b680b2 100644 --- a/bsp/buildroot/package/python-cryptography/python-cryptography.mk +++ b/bsp/buildroot/package/python-cryptography/python-cryptography.mk @@ -4,12 +4,13 @@ # ################################################################################ -PYTHON_CRYPTOGRAPHY_VERSION = 1.7.2 +PYTHON_CRYPTOGRAPHY_VERSION = 2.3.1 PYTHON_CRYPTOGRAPHY_SOURCE = cryptography-$(PYTHON_CRYPTOGRAPHY_VERSION).tar.gz -PYTHON_CRYPTOGRAPHY_SITE = https://pypi.python.org/packages/99/df/71c7260003f5c469cec3db4c547115df39e9ce6c719a99e067ba0e78fd8a +PYTHON_CRYPTOGRAPHY_SITE = https://files.pythonhosted.org/packages/22/21/233e38f74188db94e8451ef6385754a98f3cad9b59bedf3a8e8b14988be4 PYTHON_CRYPTOGRAPHY_SETUP_TYPE = setuptools PYTHON_CRYPTOGRAPHY_LICENSE = Apache-2.0 or BSD-3-Clause PYTHON_CRYPTOGRAPHY_LICENSE_FILES = LICENSE LICENSE.APACHE LICENSE.BSD PYTHON_CRYPTOGRAPHY_DEPENDENCIES = host-python-cffi openssl +PYTHON_CRYPTOGRAPHY_ENV = CFLAGS="$(TARGET_CFLAGS) -pthread" $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-cython/Config.in.host b/bsp/buildroot/package/python-cython/Config.in.host new file mode 100644 index 00000000..69d32d5a --- /dev/null +++ b/bsp/buildroot/package/python-cython/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_PYTHON_CYTHON + bool "host python-cython" + help + The Cython compiler for writing C extensions for the Python + language. + + http://cython.org/ diff --git a/bsp/buildroot/package/python-cython/python-cython.hash b/bsp/buildroot/package/python-cython/python-cython.hash new file mode 100644 index 00000000..db0549c2 --- /dev/null +++ b/bsp/buildroot/package/python-cython/python-cython.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/cython/json +md5 867c8b48f15a5249f476dc5a2cb58758 Cython-0.29.4.tar.gz +sha256 d1ee3d39c73a094ae5b6e2f9263ae0dc61af1b549a0869ade8c3c30325ed9f26 Cython-0.29.4.tar.gz +# Locally computed sha256 checksums +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE.txt +sha256 e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7 COPYING.txt diff --git a/bsp/buildroot/package/python-cython/python-cython.mk b/bsp/buildroot/package/python-cython/python-cython.mk new file mode 100644 index 00000000..fbe11e80 --- /dev/null +++ b/bsp/buildroot/package/python-cython/python-cython.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-cython +# +################################################################################ + +PYTHON_CYTHON_VERSION = 0.29.4 +PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz +PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/cf/e2/03af631ca4a2cf7bc392dd8785c7cc427bff3af4bf5864cdde734f80d052 +PYTHON_CYTHON_SETUP_TYPE = setuptools +PYTHON_CYTHON_LICENSE = Apache-2.0 +PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt + +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-daemonize/Config.in b/bsp/buildroot/package/python-daemonize/Config.in new file mode 100644 index 00000000..d34e35c4 --- /dev/null +++ b/bsp/buildroot/package/python-daemonize/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_DAEMONIZE + bool "python-daemonize" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + help + Library to enable your code run as a daemon process on + Unix-like systems. + + https://pypi.python.org/pypi/daemonize diff --git a/bsp/buildroot/package/python-daemonize/python-daemonize.hash b/bsp/buildroot/package/python-daemonize/python-daemonize.hash new file mode 100644 index 00000000..d2111a31 --- /dev/null +++ b/bsp/buildroot/package/python-daemonize/python-daemonize.hash @@ -0,0 +1,3 @@ +# From https://pypi.python.org/pypi/daemonize/json +md5 6759005b12dfeea0d4305f8536b4b0c2 daemonize-2.4.7.tar.gz +sha256 c0194e861826be456c7c69985825ac7b79632d8ac7ad4cde8e12fee7971468c8 daemonize-2.4.7.tar.gz diff --git a/bsp/buildroot/package/python-daemonize/python-daemonize.mk b/bsp/buildroot/package/python-daemonize/python-daemonize.mk new file mode 100644 index 00000000..bfcfe933 --- /dev/null +++ b/bsp/buildroot/package/python-daemonize/python-daemonize.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-daemonize +# +################################################################################ + +PYTHON_DAEMONIZE_VERSION = 2.4.7 +PYTHON_DAEMONIZE_SOURCE = daemonize-$(PYTHON_DAEMONIZE_VERSION).tar.gz +PYTHON_DAEMONIZE_SITE = https://pypi.python.org/packages/84/15/923e3fe48239adf5d697c29e04a3f868d3e4ce8539aab29d6abe784db5be +PYTHON_DAEMONIZE_SETUP_TYPE = setuptools +PYTHON_DAEMONIZE_LICENSE = MIT +PYTHON_DAEMONIZE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-dateutil/Config.in b/bsp/buildroot/package/python-dateutil/Config.in index 56a1d838..1a36a150 100644 --- a/bsp/buildroot/package/python-dateutil/Config.in +++ b/bsp/buildroot/package/python-dateutil/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_DATEUTIL help Extensions to the standard Python datetime module. - https://dateutil.readthedocs.org + https://dateutil.readthedocs.io diff --git a/bsp/buildroot/package/python-dateutil/python-dateutil.hash b/bsp/buildroot/package/python-dateutil/python-dateutil.hash index adc24bdd..eecba7d3 100644 --- a/bsp/buildroot/package/python-dateutil/python-dateutil.hash +++ b/bsp/buildroot/package/python-dateutil/python-dateutil.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/python-dateutil/json, sha256 locally computed -md5 6e38f91e8c94c15a79ce22768dfeca87 python-dateutil-2.6.0.tar.gz -sha256 62a2f8df3d66f878373fd0072eacf4ee52194ba302e00082828e0d263b0418d2 python-dateutil-2.6.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/python-dateutil/json +md5 354db28843d949f1bc3e49e8458e22df python-dateutil-2.8.0.tar.gz +sha256 c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e python-dateutil-2.8.0.tar.gz +# Locally computed sha256 checksums +sha256 ba00f51a0d92823b5a1cde27d8b5b9d2321e67ed8da9bc163eff96d5e17e577e LICENSE diff --git a/bsp/buildroot/package/python-dateutil/python-dateutil.mk b/bsp/buildroot/package/python-dateutil/python-dateutil.mk index 41dee2d1..4c915c8e 100644 --- a/bsp/buildroot/package/python-dateutil/python-dateutil.mk +++ b/bsp/buildroot/package/python-dateutil/python-dateutil.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_DATEUTIL_VERSION = 2.6.0 -PYTHON_DATEUTIL_SITE = https://pypi.python.org/packages/51/fc/39a3fbde6864942e8bb24c93663734b74e281b984d1b8c4f95d64b0c21f6 +PYTHON_DATEUTIL_VERSION = 2.8.0 +PYTHON_DATEUTIL_SITE = https://files.pythonhosted.org/packages/ad/99/5b2e99737edeb28c71bcbec5b5dda19d0d9ef3ca3e92e3e925e7c0bb364c PYTHON_DATEUTIL_SETUP_TYPE = setuptools PYTHON_DATEUTIL_LICENSE = BSD-3-Clause PYTHON_DATEUTIL_LICENSE_FILES = LICENSE +PYTHON_DATEUTIL_DEPENDENCIES = host-python-setuptools-scm $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-decorator/python-decorator.hash b/bsp/buildroot/package/python-decorator/python-decorator.hash index 293f1ca6..ca7fb88e 100644 --- a/bsp/buildroot/package/python-decorator/python-decorator.hash +++ b/bsp/buildroot/package/python-decorator/python-decorator.hash @@ -1,3 +1,5 @@ # md5 from https://pypi.python.org/pypi/decorator/json, sha256 locally calculated md5 73644c8f0bd4983d1b6a34b49adec0ae decorator-4.0.11.tar.gz sha256 953d6bf082b100f43229cf547f4f97f97e970f5ad645ee7601d55ff87afdfe76 decorator-4.0.11.tar.gz +# Locally computed sha256 checksums +sha256 c9fbbd46d5af040b2b26db2f693034c95de8e9faaaf1cd68af358b092a56d454 LICENSE.txt diff --git a/bsp/buildroot/package/python-decorator/python-decorator.mk b/bsp/buildroot/package/python-decorator/python-decorator.mk index c0c43f60..67d9b8e7 100644 --- a/bsp/buildroot/package/python-decorator/python-decorator.mk +++ b/bsp/buildroot/package/python-decorator/python-decorator.mk @@ -8,6 +8,8 @@ PYTHON_DECORATOR_VERSION = 4.0.11 PYTHON_DECORATOR_SITE = https://pypi.python.org/packages/cc/ac/5a16f1fc0506ff72fcc8fd4e858e3a1c231f224ab79bb7c4c9b2094cc570 PYTHON_DECORATOR_SOURCE = decorator-$(PYTHON_DECORATOR_VERSION).tar.gz PYTHON_DECORATOR_LICENSE = BSD-2-Clause +PYTHON_DECORATOR_LICENSE_FILES = LICENSE.txt PYTHON_DECORATOR_SETUP_TYPE = setuptools $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-django/Config.in b/bsp/buildroot/package/python-django/Config.in index 75322d1b..0a2e308d 100644 --- a/bsp/buildroot/package/python-django/Config.in +++ b/bsp/buildroot/package/python-django/Config.in @@ -1,9 +1,10 @@ config BR2_PACKAGE_PYTHON_DJANGO bool "python-django" - select BR2_PACKAGE_PYTHON_UNICODEDATA if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON - select BR2_PACKAGE_PYTHON3_UNICODEDATA if BR2_PACKAGE_PYTHON3 - select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON3_UNICODEDATA + select BR2_PACKAGE_PYTHON3_PYEXPAT + select BR2_PACKAGE_PYTHON_PYTZ # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime help Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It takes your diff --git a/bsp/buildroot/package/python-django/python-django.hash b/bsp/buildroot/package/python-django/python-django.hash index 6e6e7708..93ca1080 100644 --- a/bsp/buildroot/package/python-django/python-django.hash +++ b/bsp/buildroot/package/python-django/python-django.hash @@ -1,3 +1,5 @@ -# From https://www.djangoproject.com/m/pgp/Django-1.11.16.checksum.txt -sha256 29268cc47816a44f27308e60f71da635f549c47d8a1d003b28de55141df75791 Django-1.11.16.tar.gz +# md5, sha256 from https://pypi.org/pypi/django/json +md5 a042e6ba117d2e01950d842cceb5eee0 Django-2.1.7.tar.gz +sha256 939652e9d34d7d53d74d5d8ef82a19e5f8bb2de75618f7e5360691b6e9667963 Django-2.1.7.tar.gz +# Locally computed sha256 checksums sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE diff --git a/bsp/buildroot/package/python-django/python-django.mk b/bsp/buildroot/package/python-django/python-django.mk index 9f43ffab..5922a6c0 100644 --- a/bsp/buildroot/package/python-django/python-django.mk +++ b/bsp/buildroot/package/python-django/python-django.mk @@ -4,10 +4,10 @@ # ################################################################################ -PYTHON_DJANGO_VERSION = 1.11.16 +PYTHON_DJANGO_VERSION = 2.1.7 PYTHON_DJANGO_SOURCE = Django-$(PYTHON_DJANGO_VERSION).tar.gz # The official Django site has an unpractical URL -PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/35/1d/59836bce4c9cfded261e21c0abd6a4629de6d289522d0fd928117d8eb985 +PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/7e/ae/29c28f6afddae0e305326078f31372f03d7f2e6d6210c9963843196ce67e PYTHON_DJANGO_LICENSE = BSD-3-Clause PYTHON_DJANGO_LICENSE_FILES = LICENSE PYTHON_DJANGO_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-docker-pycreds/Config.in b/bsp/buildroot/package/python-docker-pycreds/Config.in new file mode 100644 index 00000000..584c1dbc --- /dev/null +++ b/bsp/buildroot/package/python-docker-pycreds/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_DOCKER_PYCREDS + bool "python-docker-pycreds" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Python bindings for the docker credentials store API. + + https://github.com/shin-/dockerpy-creds diff --git a/bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.hash b/bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.hash new file mode 100644 index 00000000..d93a3a1d --- /dev/null +++ b/bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.hash @@ -0,0 +1,4 @@ +# md5 and sha256 from https://pypi.python.org/pypi/docker-pycreds/json +md5 322f570cea6b4661c6ac335683988e18 docker-pycreds-0.4.0.tar.gz +sha256 6ce3270bcaf404cc4c3e27e4b6c70d3521deae82fb508767870fdbf772d584d4 docker-pycreds-0.4.0.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.mk b/bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.mk new file mode 100644 index 00000000..6575ada0 --- /dev/null +++ b/bsp/buildroot/package/python-docker-pycreds/python-docker-pycreds.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-docker-pycreds +# +################################################################################ + +PYTHON_DOCKER_PYCREDS_VERSION = 0.4.0 +PYTHON_DOCKER_PYCREDS_SOURCE = docker-pycreds-$(PYTHON_DOCKER_PYCREDS_VERSION).tar.gz +PYTHON_DOCKER_PYCREDS_SITE = https://files.pythonhosted.org/packages/c5/e6/d1f6c00b7221e2d7c4b470132c931325c8b22c51ca62417e300f5ce16009 +PYTHON_DOCKER_PYCREDS_SETUP_TYPE = setuptools +PYTHON_DOCKER_PYCREDS_LICENSE = Apache-2.0 +PYTHON_DOCKER_PYCREDS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-docker/Config.in b/bsp/buildroot/package/python-docker/Config.in new file mode 100644 index 00000000..35f7666f --- /dev/null +++ b/bsp/buildroot/package/python-docker/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_PYTHON_DOCKER + bool "python-docker" + # docker-engine may be running on another host, so no dependency + select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + select BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME \ + if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT # runtime + select BR2_PACKAGE_PYTHON_DOCKER_PYCREDS # runtime + help + A Python library for the Docker Engine API. + + https://github.com/docker/docker-py diff --git a/bsp/buildroot/package/python-docker/python-docker.hash b/bsp/buildroot/package/python-docker/python-docker.hash new file mode 100644 index 00000000..37fda94f --- /dev/null +++ b/bsp/buildroot/package/python-docker/python-docker.hash @@ -0,0 +1,4 @@ +# md5 and sha256 from https://pypi.python.org/pypi/docker/json +md5 496237b9e0826eff8436b1a786943a86 docker-3.5.1.tar.gz +sha256 fbe82af9b94ccced752527c8de07fa20267f9634b48674ba478a0bb4000a0b1e docker-3.5.1.tar.gz +sha256 f2f0b07fa5e492c11d27aa0d2f3f1a0e64b9d17f32d8aa489ae2af9609af33b2 LICENSE diff --git a/bsp/buildroot/package/python-docker/python-docker.mk b/bsp/buildroot/package/python-docker/python-docker.mk new file mode 100644 index 00000000..01ae2da9 --- /dev/null +++ b/bsp/buildroot/package/python-docker/python-docker.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-docker +# +################################################################################ + +PYTHON_DOCKER_VERSION = 3.5.1 +PYTHON_DOCKER_SOURCE = docker-$(PYTHON_DOCKER_VERSION).tar.gz +PYTHON_DOCKER_SITE = https://files.pythonhosted.org/packages/b1/4f/d4f646843335430701d459fea08b0285a2c0a364150dd5b9c5f27f723121 +PYTHON_DOCKER_SETUP_TYPE = setuptools +PYTHON_DOCKER_LICENSE = Apache-2.0 +PYTHON_DOCKER_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-dockerpty/Config.in b/bsp/buildroot/package/python-dockerpty/Config.in new file mode 100644 index 00000000..f0bd85a6 --- /dev/null +++ b/bsp/buildroot/package/python-dockerpty/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_DOCKERPTY + bool "python-dockerpty" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Python library to use the pseudo-tty of a docker container. + + https://github.com/d11wtq/dockerpty diff --git a/bsp/buildroot/package/python-dockerpty/python-dockerpty.hash b/bsp/buildroot/package/python-dockerpty/python-dockerpty.hash new file mode 100644 index 00000000..f5ed252b --- /dev/null +++ b/bsp/buildroot/package/python-dockerpty/python-dockerpty.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/dockerpty/json, sha256 locally computed +md5 028bacb34536f3ee6a2ccd668c27e8e4 dockerpty-0.4.1.tar.gz +sha256 69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce dockerpty-0.4.1.tar.gz +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt diff --git a/bsp/buildroot/package/python-dockerpty/python-dockerpty.mk b/bsp/buildroot/package/python-dockerpty/python-dockerpty.mk new file mode 100644 index 00000000..e6fe6e3b --- /dev/null +++ b/bsp/buildroot/package/python-dockerpty/python-dockerpty.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-dockerpty +# +################################################################################ + +PYTHON_DOCKERPTY_VERSION = 0.4.1 +PYTHON_DOCKERPTY_SOURCE = dockerpty-$(PYTHON_DOCKERPTY_VERSION).tar.gz +PYTHON_DOCKERPTY_SITE = https://pypi.python.org/packages/8d/ee/e9ecce4c32204a6738e0a5d5883d3413794d7498fe8b06f44becc028d3ba +PYTHON_DOCKERPTY_SETUP_TYPE = setuptools +PYTHON_DOCKERPTY_LICENSE = Apache-2.0 +PYTHON_DOCKERPTY_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-engineio/python-engineio.hash b/bsp/buildroot/package/python-engineio/python-engineio.hash index b2c0669b..09e004ac 100644 --- a/bsp/buildroot/package/python-engineio/python-engineio.hash +++ b/bsp/buildroot/package/python-engineio/python-engineio.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/python-engineio/json -md5 9b0075dbbb25d7a302eba99dd9ba4af8 python-engineio-0.9.2.tar.gz -# sha256 calculated by scanpypi -sha256 c53282415ed9bc3cb4e7beafb2a1ce5c369af95dcf8f968061e5bc7572b60867 python-engineio-0.9.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/python-engineio/json +md5 ad32353278d0576bfa7d7a2f9b97dec5 python-engineio-3.3.0.tar.gz +sha256 e4ac17c04c32ccca67287dfdbbe4ee1e9eec3a0a1a9a6070f3ab784db08407dd python-engineio-3.3.0.tar.gz +# Locally computed sha256 checksums +sha256 c9e97d3dbc1fbbcdb4f7808b282cd646db887aff4f5313fe6bbe8d4c31405a9c LICENSE diff --git a/bsp/buildroot/package/python-engineio/python-engineio.mk b/bsp/buildroot/package/python-engineio/python-engineio.mk index 61d5da9a..c2010198 100644 --- a/bsp/buildroot/package/python-engineio/python-engineio.mk +++ b/bsp/buildroot/package/python-engineio/python-engineio.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_ENGINEIO_VERSION = 0.9.2 -PYTHON_ENGINEIO_SITE = https://pypi.python.org/packages/c3/8f/0e066fc7a7029893b96b1d68a0cd5e75f6410f154fa4079b2be4991f5ae0 +PYTHON_ENGINEIO_VERSION = 3.3.0 +PYTHON_ENGINEIO_SITE = https://files.pythonhosted.org/packages/2f/09/83d627ad3dadd064bfb875c7767e93f3568354fe82cebe298b4e07f79238 PYTHON_ENGINEIO_SETUP_TYPE = setuptools PYTHON_ENGINEIO_LICENSE = MIT PYTHON_ENGINEIO_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-falcon/Config.in b/bsp/buildroot/package/python-falcon/Config.in new file mode 100644 index 00000000..ffd66eec --- /dev/null +++ b/bsp/buildroot/package/python-falcon/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_FALCON + bool "python-falcon" + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_MIMEPARSE # runtime + help + An unladen web framework for building APIs and app + backends. + + http://falconframework.org diff --git a/bsp/buildroot/package/python-falcon/python-falcon.hash b/bsp/buildroot/package/python-falcon/python-falcon.hash new file mode 100644 index 00000000..7f6ee6ea --- /dev/null +++ b/bsp/buildroot/package/python-falcon/python-falcon.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/falcon/json +md5 3cb880665ee2cd52143cf8a7790a35e6 falcon-1.4.1.tar.gz +sha256 3981f609c0358a9fcdb25b0e7fab3d9e23019356fb429c635ce4133135ae1bc4 falcon-1.4.1.tar.gz +# Locally computed sha256 checksums +sha256 e9e7f1a7ba764f042e56afce6f3563c2be9c4fffbb1404b20f8050ae051f577c LICENSE diff --git a/bsp/buildroot/package/python-falcon/python-falcon.mk b/bsp/buildroot/package/python-falcon/python-falcon.mk new file mode 100644 index 00000000..b724ffad --- /dev/null +++ b/bsp/buildroot/package/python-falcon/python-falcon.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# python-falcon +# +################################################################################ + +PYTHON_FALCON_VERSION = 1.4.1 +PYTHON_FALCON_SOURCE = falcon-$(PYTHON_FALCON_VERSION).tar.gz +PYTHON_FALCON_SITE = https://files.pythonhosted.org/packages/2f/e6/5045da9df509b9259037f065d15608930fd6c997ee930ad230f9fbfecf15 +PYTHON_FALCON_SETUP_TYPE = setuptools +PYTHON_FALCON_LICENSE = Apache-2.0 +PYTHON_FALCON_LICENSE_FILES = LICENSE + +ifeq ($(BR2_PACKAGE_HOST_PYTHON_CYTHON),y) +PYTHON_FALCON_DEPENDENCIES += host-python-cython +endif + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-fastentrypoints/Config.in.host b/bsp/buildroot/package/python-fastentrypoints/Config.in.host new file mode 100644 index 00000000..91605509 --- /dev/null +++ b/bsp/buildroot/package/python-fastentrypoints/Config.in.host @@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_PYTHON_FASTENTRYPOINTS + bool "host python-fastentrypoints" + help + Makes entry_points specified in setup.py load more quickly. + + https://github.com/ninjaaron/fast-entry_points diff --git a/bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.hash b/bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.hash new file mode 100644 index 00000000..71165d61 --- /dev/null +++ b/bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.org/pypi/fastentrypoints/json, sha256 locally computed +md5 390ad9a9229164a06156a5b1f0ef1b22 fastentrypoints-0.12.tar.gz +sha256 ff284f1469bd65400599807d2c6284d5b251398e6e28811f5f77fd262292410b fastentrypoints-0.12.tar.gz +sha256 d1ce3f6a7bb1a7194c7d826a0ca318176b12e58616d9e3d8f366ad43802787c4 fastentrypoints.py diff --git a/bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.mk b/bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.mk new file mode 100644 index 00000000..7fa72892 --- /dev/null +++ b/bsp/buildroot/package/python-fastentrypoints/python-fastentrypoints.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-fastentrypoints +# +################################################################################ + +PYTHON_FASTENTRYPOINTS_VERSION = 0.12 +PYTHON_FASTENTRYPOINTS_SOURCE = fastentrypoints-$(PYTHON_FASTENTRYPOINTS_VERSION).tar.gz +PYTHON_FASTENTRYPOINTS_SITE = https://files.pythonhosted.org/packages/56/59/69d9ae590ca39435d409651314ec13b2abe8127c1db0231c01d034ebb6b0 +PYTHON_FASTENTRYPOINTS_SETUP_TYPE = setuptools +PYTHON_FASTENTRYPOINTS_LICENSE = BSD-2-Clause +PYTHON_FASTENTRYPOINTS_LICENSE_FILES = fastentrypoints.py + +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-fire/Config.in b/bsp/buildroot/package/python-fire/Config.in new file mode 100644 index 00000000..2c6e55ab --- /dev/null +++ b/bsp/buildroot/package/python-fire/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_FIRE + bool "python-fire" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + A library for automatically generating command line + interfaces. + + https://github.com/google/python-fire diff --git a/bsp/buildroot/package/python-fire/python-fire.hash b/bsp/buildroot/package/python-fire/python-fire.hash new file mode 100644 index 00000000..d6304369 --- /dev/null +++ b/bsp/buildroot/package/python-fire/python-fire.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/fire/json +md5 44c51c634b61acc7ed42a413a64de38a fire-0.1.3.tar.gz +sha256 c299d16064ff81cbb649b65988300d4a28b71ecfb789d1fb74d99ea98ae4d2eb fire-0.1.3.tar.gz +# Locally computed sha256 checksums +sha256 a5de77b62266bca0bb97bf058992f0b0f308a83a8ca55ee10fbf6bd8ed8f7ed0 LICENSE diff --git a/bsp/buildroot/package/python-fire/python-fire.mk b/bsp/buildroot/package/python-fire/python-fire.mk new file mode 100644 index 00000000..bdb5ee19 --- /dev/null +++ b/bsp/buildroot/package/python-fire/python-fire.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-fire +# +################################################################################ + +PYTHON_FIRE_VERSION = 0.1.3 +PYTHON_FIRE_SOURCE = fire-$(PYTHON_FIRE_VERSION).tar.gz +PYTHON_FIRE_SITE = https://files.pythonhosted.org/packages/5a/b7/205702f348aab198baecd1d8344a90748cb68f53bdcd1cc30cbc08e47d3e +PYTHON_FIRE_SETUP_TYPE = setuptools +PYTHON_FIRE_LICENSE = Apache-2.0 +PYTHON_FIRE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-flask-sqlalchemy/Config.in b/bsp/buildroot/package/python-flask-sqlalchemy/Config.in new file mode 100644 index 00000000..fa4a0351 --- /dev/null +++ b/bsp/buildroot/package/python-flask-sqlalchemy/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_FLASK_SQLALCHEMY + bool "python-flask-sqlalchemy" + select BR2_PACKAGE_PYTHON_FLASK # runtime + select BR2_PACKAGE_PYTHON_SQLALCHEMY # runtime + help + Flask-SQLAlchemy is a Flask microframework extension which + adds support for the SQLAlchemy SQL toolkit/ORM. + + http://github.com/mitsuhiko/flask-sqlalchemy diff --git a/bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash b/bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash new file mode 100644 index 00000000..9e15b5d8 --- /dev/null +++ b/bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/Flask-SQLAlchemy/json, sha256 locally computed +md5 373ce61dfd03b593ad2eaba68c9fee35 Flask-SQLAlchemy-2.3.2.tar.gz +sha256 5971b9852b5888655f11db634e87725a9031e170f37c0ce7851cf83497f56e53 Flask-SQLAlchemy-2.3.2.tar.gz +sha256 de2011f25501c45f2b78bfa4f851ce021cfbab0f1e7ab763233688e0b969821f PKG-INFO diff --git a/bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk b/bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk new file mode 100644 index 00000000..37fe603f --- /dev/null +++ b/bsp/buildroot/package/python-flask-sqlalchemy/python-flask-sqlalchemy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-flask-sqlalchemy +# +################################################################################ + +PYTHON_FLASK_SQLALCHEMY_VERSION = 2.3.2 +PYTHON_FLASK_SQLALCHEMY_SOURCE = Flask-SQLAlchemy-$(PYTHON_FLASK_SQLALCHEMY_VERSION).tar.gz +PYTHON_FLASK_SQLALCHEMY_SITE = https://pypi.python.org/packages/3a/66/f5ace276517c075f102457dd2f7d8645b033758f9c6effb4e0970a90fec1 +PYTHON_FLASK_SQLALCHEMY_SETUP_TYPE = setuptools +PYTHON_FLASK_SQLALCHEMY_LICENSE = BSD-3c +PYTHON_FLASK_SQLALCHEMY_LICENSE_FILES = PKG-INFO + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-functools32/Config.in b/bsp/buildroot/package/python-functools32/Config.in index cc12557e..606341d8 100644 --- a/bsp/buildroot/package/python-functools32/Config.in +++ b/bsp/buildroot/package/python-functools32/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PYTHON_FUNCTOOLS32 bool "python-functools32" depends on BR2_PACKAGE_PYTHON help - Backport of the functools module from Python 3.2.3 for use on 2.7 - and PyPy. + Backport of the functools module from Python 3.2.3 for use on + 2.7 and PyPy. https://github.com/MiCHiLU/python-functools32 diff --git a/bsp/buildroot/package/python-futures/python-futures.hash b/bsp/buildroot/package/python-futures/python-futures.hash index f0948ae4..db6bb55e 100644 --- a/bsp/buildroot/package/python-futures/python-futures.hash +++ b/bsp/buildroot/package/python-futures/python-futures.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/futures/json, sha256 locally computed -md5 ced2c365e518242512d7a398b515ff95 futures-3.0.5.tar.gz -sha256 0542525145d5afc984c88f914a0c85c77527f65946617edb5274f72406f981df futures-3.0.5.tar.gz +# md5, sha256 from https://pypi.org/pypi/futures/json +md5 d1b299a06b96ccb59f70324716dc0016 futures-3.2.0.tar.gz +sha256 9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265 futures-3.2.0.tar.gz +# Locally computed sha256 checksums +sha256 a698bd5d441e4a16af6c992b8e80cbfa12755d72d910854fa1fb11d4deb0059a LICENSE diff --git a/bsp/buildroot/package/python-futures/python-futures.mk b/bsp/buildroot/package/python-futures/python-futures.mk index fabfa6ae..d6366f30 100644 --- a/bsp/buildroot/package/python-futures/python-futures.mk +++ b/bsp/buildroot/package/python-futures/python-futures.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FUTURES_VERSION = 3.0.5 +PYTHON_FUTURES_VERSION = 3.2.0 PYTHON_FUTURES_SOURCE = futures-$(PYTHON_FUTURES_VERSION).tar.gz -PYTHON_FUTURES_SITE = https://pypi.python.org/packages/55/db/97c1ca37edab586a1ae03d6892b6633d8eaa23b23ac40c7e5bbc55423c78 +PYTHON_FUTURES_SITE = https://files.pythonhosted.org/packages/1f/9e/7b2ff7e965fc654592269f2906ade1c7d705f1bf25b7d469fa153f7d19eb PYTHON_FUTURES_SETUP_TYPE = setuptools PYTHON_FUTURES_LICENSE = BSD-2-Clause PYTHON_FUTURES_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-gunicorn/Config.in b/bsp/buildroot/package/python-gunicorn/Config.in index 79cda3ea..098c3fa6 100644 --- a/bsp/buildroot/package/python-gunicorn/Config.in +++ b/bsp/buildroot/package/python-gunicorn/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_GUNICORN bool "python-gunicorn" - select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime help diff --git a/bsp/buildroot/package/python-gunicorn/python-gunicorn.hash b/bsp/buildroot/package/python-gunicorn/python-gunicorn.hash index a282bc99..402250ea 100644 --- a/bsp/buildroot/package/python-gunicorn/python-gunicorn.hash +++ b/bsp/buildroot/package/python-gunicorn/python-gunicorn.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/gunicorn/json, sha256 locally computed -md5 338e5e8a83ea0f0625f768dba4597530 gunicorn-19.6.0.tar.gz -sha256 813f6916d18a4c8e90efde72f419308b357692f81333cb1125f80013d22fb618 gunicorn-19.6.0.tar.gz +# md5, sha256 from https://pypi.python.org/pypi/gunicorn/json +md5 f581937e9d8569ebd3fd6af1f9ab809f gunicorn-19.9.0.tar.gz +sha256 fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3 gunicorn-19.9.0.tar.gz +# Locally computed sha256 +sha256 789fe11b92e1cabfbcf744b5fcc392c9bd5c6798603a4e89f925b6337984d1df LICENSE diff --git a/bsp/buildroot/package/python-gunicorn/python-gunicorn.mk b/bsp/buildroot/package/python-gunicorn/python-gunicorn.mk index cfb7da11..d113f751 100644 --- a/bsp/buildroot/package/python-gunicorn/python-gunicorn.mk +++ b/bsp/buildroot/package/python-gunicorn/python-gunicorn.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_GUNICORN_VERSION = 19.6.0 +PYTHON_GUNICORN_VERSION = 19.9.0 PYTHON_GUNICORN_SOURCE = gunicorn-$(PYTHON_GUNICORN_VERSION).tar.gz -PYTHON_GUNICORN_SITE = https://pypi.python.org/packages/84/ce/7ea5396efad1cef682bbc4068e72a0276341d9d9d0f501da609fab9fcb80 +PYTHON_GUNICORN_SITE = https://files.pythonhosted.org/packages/47/52/68ba8e5e8ba251e54006a49441f7ccabca83b6bef5aedacb4890596c7911 PYTHON_GUNICORN_SETUP_TYPE = setuptools PYTHON_GUNICORN_LICENSE = MIT PYTHON_GUNICORN_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-hyperlink/Config.in b/bsp/buildroot/package/python-hyperlink/Config.in index 11ac8142..8dad0af1 100644 --- a/bsp/buildroot/package/python-hyperlink/Config.in +++ b/bsp/buildroot/package/python-hyperlink/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_HYPERLINK bool "python-hyperlink" + select BR2_PACKAGE_PYTHON_IDNA # runtime help A featureful, correct URL for Python. diff --git a/bsp/buildroot/package/python-hyperlink/python-hyperlink.hash b/bsp/buildroot/package/python-hyperlink/python-hyperlink.hash index 565a34d1..fcf0cc92 100644 --- a/bsp/buildroot/package/python-hyperlink/python-hyperlink.hash +++ b/bsp/buildroot/package/python-hyperlink/python-hyperlink.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/hyperlink/json, sha256 locally computed -md5 7a86b09d80b8f0c89f6b61efa0ebaab9 hyperlink-17.3.0.tar.gz -sha256 ddadbbdda2b94182da14be1b5d26ec3188dfdf9687b9b8c8d810f52f79b7af1a hyperlink-17.3.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/hyperlink/json +md5 f41a96779b324d824864696a94b24823 hyperlink-18.0.0.tar.gz +sha256 f01b4ff744f14bc5d0a22a6b9f1525ab7d6312cb0ff967f59414bbac52f0a306 hyperlink-18.0.0.tar.gz +# Locally computed sha256 checksums +sha256 9577b66fb599aa5700b4981078ab0a319416a086beee646cd282aa9f33c8c74c LICENSE diff --git a/bsp/buildroot/package/python-hyperlink/python-hyperlink.mk b/bsp/buildroot/package/python-hyperlink/python-hyperlink.mk index 7b48e363..6681df4f 100644 --- a/bsp/buildroot/package/python-hyperlink/python-hyperlink.mk +++ b/bsp/buildroot/package/python-hyperlink/python-hyperlink.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_HYPERLINK_VERSION = 17.3.0 +PYTHON_HYPERLINK_VERSION = 18.0.0 PYTHON_HYPERLINK_SOURCE = hyperlink-$(PYTHON_HYPERLINK_VERSION).tar.gz -PYTHON_HYPERLINK_SITE = https://pypi.python.org/packages/61/9c/69aa5d6942271961ad1fff910db77706623423d054ecb647da963efdf49a +PYTHON_HYPERLINK_SITE = https://files.pythonhosted.org/packages/41/e1/0abd4b480ec04892b1db714560f8c855d43df81895c98506442babf3652f PYTHON_HYPERLINK_SETUP_TYPE = setuptools PYTHON_HYPERLINK_LICENSE = MIT PYTHON_HYPERLINK_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-idna/python-idna.hash b/bsp/buildroot/package/python-idna/python-idna.hash index 839154a0..ddfd44e9 100644 --- a/bsp/buildroot/package/python-idna/python-idna.hash +++ b/bsp/buildroot/package/python-idna/python-idna.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/idna/json, sha256 locally computed -md5 fc1d992bef73e8824db411bb5d21f012 idna-2.5.tar.gz -sha256 3cb5ce08046c4e3a560fc02f138d0ac63e00f8ce5901a56b32ec8b7994082aab idna-2.5.tar.gz +# md5, sha256 from https://pypi.org/pypi/idna/json +md5 2e9ae0b4a0b26d1747c6127cdb060bc1 idna-2.8.tar.gz +sha256 c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407 idna-2.8.tar.gz +# Locally computed sha256 checksums +sha256 0d4bc7abd48dcfb14e24254ee404066737ff0167144e222914a2113b8794683e LICENSE.rst diff --git a/bsp/buildroot/package/python-idna/python-idna.mk b/bsp/buildroot/package/python-idna/python-idna.mk index c8d1793e..1dae47bb 100644 --- a/bsp/buildroot/package/python-idna/python-idna.mk +++ b/bsp/buildroot/package/python-idna/python-idna.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IDNA_VERSION = 2.5 +PYTHON_IDNA_VERSION = 2.8 PYTHON_IDNA_SOURCE = idna-$(PYTHON_IDNA_VERSION).tar.gz -PYTHON_IDNA_SITE = https://pypi.python.org/packages/d8/82/28a51052215014efc07feac7330ed758702fc0581347098a81699b5281cb +PYTHON_IDNA_SITE = https://files.pythonhosted.org/packages/ad/13/eb56951b6f7950cadb579ca166e448ba77f9d24efc03edd7e55fa57d04b7 PYTHON_IDNA_LICENSE = BSD-3-Clause PYTHON_IDNA_LICENSE_FILES = LICENSE.rst PYTHON_IDNA_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-incremental/python-incremental.hash b/bsp/buildroot/package/python-incremental/python-incremental.hash index 580e76c7..c897f6e4 100644 --- a/bsp/buildroot/package/python-incremental/python-incremental.hash +++ b/bsp/buildroot/package/python-incremental/python-incremental.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/incremental/json, sha256 locally computed -md5 3fe6b3b1da1d26a48187fb27e969f072 incremental-16.10.1.tar.gz -sha256 14ad6b720ec47aad6c9caa83e47db1843e2b9b98742da5dda08e16a99f400342 incremental-16.10.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/incremental/json +md5 602746e0d438e075a5a9e0678140bba2 incremental-17.5.0.tar.gz +sha256 7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3 incremental-17.5.0.tar.gz +# Locally computed sha256 +sha256 d043bc8899b4695de1f4511d8f507b927e11723b981ce600fa3ef7b73954afa5 LICENSE diff --git a/bsp/buildroot/package/python-incremental/python-incremental.mk b/bsp/buildroot/package/python-incremental/python-incremental.mk index fc1975ff..9c9d3a44 100644 --- a/bsp/buildroot/package/python-incremental/python-incremental.mk +++ b/bsp/buildroot/package/python-incremental/python-incremental.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_INCREMENTAL_VERSION = 16.10.1 +PYTHON_INCREMENTAL_VERSION = 17.5.0 PYTHON_INCREMENTAL_SOURCE = incremental-$(PYTHON_INCREMENTAL_VERSION).tar.gz -PYTHON_INCREMENTAL_SITE = https://pypi.python.org/packages/da/b0/32233c9e84b0d44b39015fba8fec03e88053723c1b455925081dc6ccd9e7 +PYTHON_INCREMENTAL_SITE = https://files.pythonhosted.org/packages/8f/26/02c4016aa95f45479eea37c90c34f8fab6775732ae62587a874b619ca097 PYTHON_INCREMENTAL_SETUP_TYPE = setuptools PYTHON_INCREMENTAL_LICENSE = MIT PYTHON_INCREMENTAL_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-influxdb/Config.in b/bsp/buildroot/package/python-influxdb/Config.in new file mode 100644 index 00000000..a848e4f2 --- /dev/null +++ b/bsp/buildroot/package/python-influxdb/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_INFLUXDB + bool "python-influxdb" + select BR2_PACKAGE_PYTHON_DATEUTIL # runtime + select BR2_PACKAGE_PYTHON_PYTZ # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + InfluxDB client. + + https://github.com/influxdb/influxdb-python diff --git a/bsp/buildroot/package/python-influxdb/python-influxdb.hash b/bsp/buildroot/package/python-influxdb/python-influxdb.hash new file mode 100644 index 00000000..28f2825c --- /dev/null +++ b/bsp/buildroot/package/python-influxdb/python-influxdb.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/influxdb/json +md5 dec1e6fe9770c36290d38fb2a37fba25 influxdb-5.0.0.tar.gz +sha256 6adba2ddfd5781a06b5204339e679d66645bf6cc2b7f493eb9d7c8986d714e80 influxdb-5.0.0.tar.gz +# Locally computed sha256 checksums +sha256 70146f78d168b33ac5903490a918469e22a801a8d3a81103f3d8706dc0024c9a LICENSE diff --git a/bsp/buildroot/package/python-influxdb/python-influxdb.mk b/bsp/buildroot/package/python-influxdb/python-influxdb.mk new file mode 100644 index 00000000..1571cbd4 --- /dev/null +++ b/bsp/buildroot/package/python-influxdb/python-influxdb.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-influxdb +# +################################################################################ + +PYTHON_INFLUXDB_VERSION = 5.0.0 +PYTHON_INFLUXDB_SOURCE = influxdb-$(PYTHON_INFLUXDB_VERSION).tar.gz +PYTHON_INFLUXDB_SITE = https://files.pythonhosted.org/packages/95/26/33e7b85b72a0df2dc00af4c1b9f5df3e7d0aea29ae4f8f65a83f7024c4e2 +PYTHON_INFLUXDB_SETUP_TYPE = setuptools +PYTHON_INFLUXDB_LICENSE = MIT +PYTHON_INFLUXDB_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-ipaddress/python-ipaddress.hash b/bsp/buildroot/package/python-ipaddress/python-ipaddress.hash index c4fdf6d6..5a3e674f 100644 --- a/bsp/buildroot/package/python-ipaddress/python-ipaddress.hash +++ b/bsp/buildroot/package/python-ipaddress/python-ipaddress.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/ipaddress/json, sha256 locally computed -md5 310c2dfd64eb6f0df44aa8c59f2334a7 ipaddress-1.0.18.tar.gz -sha256 5d8534c8e185f2d8a1fda1ef73f2c8f4b23264e8e30063feeb9511d492a413e1 ipaddress-1.0.18.tar.gz +# md5, sha256 from https://pypi.org/pypi/ipaddress/json +md5 74c1ce3109f30eaa1ab3dd342e7b76d4 ipaddress-1.0.22.tar.gz +sha256 b146c751ea45cad6188dd6cf2d9b757f6f4f8d6ffb96a023e6f2e26eea02a72c ipaddress-1.0.22.tar.gz +# Locally computed sha256 checksums +sha256 38675419eb4a79ec616396d70f1254b3a433fb7088fb3f4cc9b6c0bcdcec6162 LICENSE diff --git a/bsp/buildroot/package/python-ipaddress/python-ipaddress.mk b/bsp/buildroot/package/python-ipaddress/python-ipaddress.mk index 646db5d2..189efdfb 100644 --- a/bsp/buildroot/package/python-ipaddress/python-ipaddress.mk +++ b/bsp/buildroot/package/python-ipaddress/python-ipaddress.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPADDRESS_VERSION = 1.0.18 +PYTHON_IPADDRESS_VERSION = 1.0.22 PYTHON_IPADDRESS_SOURCE = ipaddress-$(PYTHON_IPADDRESS_VERSION).tar.gz -PYTHON_IPADDRESS_SITE = https://pypi.python.org/packages/4e/13/774faf38b445d0b3a844b65747175b2e0500164b7c28d78e34987a5bfe06 +PYTHON_IPADDRESS_SITE = https://files.pythonhosted.org/packages/97/8d/77b8cedcfbf93676148518036c6b1ce7f8e14bf07e95d7fd4ddcb8cc052f PYTHON_IPADDRESS_LICENSE = Python-2.0 PYTHON_IPADDRESS_LICENSE_FILES = LICENSE PYTHON_IPADDRESS_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-ipython/python-ipython.hash b/bsp/buildroot/package/python-ipython/python-ipython.hash index af1ed94b..41bdd70f 100644 --- a/bsp/buildroot/package/python-ipython/python-ipython.hash +++ b/bsp/buildroot/package/python-ipython/python-ipython.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/ipython/json, sha256 locally computed -md5 d8cc938f46801060239184a35ec9c5a6 ipython-5.4.0.tar.gz -sha256 6907826c427c917bf0cdab71ee728288b1f1975c4b94b3ed608b67db3183c974 ipython-5.4.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/ipython/json +md5 7014b8824981eef2cb893ea5398d6b8d ipython-5.8.0.tar.gz +sha256 4bac649857611baaaf76bc82c173aa542f7486446c335fe1a6c05d0d491c8906 ipython-5.8.0.tar.gz +# Locally computed sha256 +sha256 a5d87689342ec47cebdf623af06cec734c607666c696fe48271f2ff91752443d COPYING.rst diff --git a/bsp/buildroot/package/python-ipython/python-ipython.mk b/bsp/buildroot/package/python-ipython/python-ipython.mk index 5d92546f..79a48bf4 100644 --- a/bsp/buildroot/package/python-ipython/python-ipython.mk +++ b/bsp/buildroot/package/python-ipython/python-ipython.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_IPYTHON_VERSION = 5.4.0 +PYTHON_IPYTHON_VERSION = 5.8.0 PYTHON_IPYTHON_SOURCE = ipython-$(PYTHON_IPYTHON_VERSION).tar.gz -PYTHON_IPYTHON_SITE = https://pypi.python.org/packages/36/cd/765f53135bbbbcd691858aba3af124453a230fe0c752f009f69012fce5d5 +PYTHON_IPYTHON_SITE = https://files.pythonhosted.org/packages/41/a6/2d25314b1f9375639d8f8e0f8052e8cec5df511d3449f22c4f1c2d8cb3c6 PYTHON_IPYTHON_LICENSE = BSD-3-Clause PYTHON_IPYTHON_LICENSE_FILES = COPYING.rst PYTHON_IPYTHON_SETUP_TYPE = distutils diff --git a/bsp/buildroot/package/python-jinja2/python-jinja2.hash b/bsp/buildroot/package/python-jinja2/python-jinja2.hash index f5a09729..fe34f739 100644 --- a/bsp/buildroot/package/python-jinja2/python-jinja2.hash +++ b/bsp/buildroot/package/python-jinja2/python-jinja2.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/jinja2/json, sha256 locally computed -md5 9e55f0db6620dd99a1b366183a94270d Jinja2-2.9.5.tar.gz -sha256 702a24d992f856fa8d5a7a36db6128198d0c21e1da34448ca236c42e92384825 Jinja2-2.9.5.tar.gz +# md5, sha256 from https://pypi.org/pypi/jinja2/json +md5 61ef1117f945486472850819b8d1eb3d Jinja2-2.10.tar.gz +sha256 f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4 Jinja2-2.10.tar.gz +# Locally computed sha256 +sha256 26fcd436fdc8a39d44896ac03e6f1dfd25e38499c48f20d8bc1dd3bf0aaa8a5b LICENSE diff --git a/bsp/buildroot/package/python-jinja2/python-jinja2.mk b/bsp/buildroot/package/python-jinja2/python-jinja2.mk index c7dd4902..9ff36972 100644 --- a/bsp/buildroot/package/python-jinja2/python-jinja2.mk +++ b/bsp/buildroot/package/python-jinja2/python-jinja2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_JINJA2_VERSION = 2.9.5 +PYTHON_JINJA2_VERSION = 2.10 PYTHON_JINJA2_SOURCE = Jinja2-$(PYTHON_JINJA2_VERSION).tar.gz -PYTHON_JINJA2_SITE = https://pypi.python.org/packages/71/59/d7423bd5e7ddaf3a1ce299ab4490e9044e8dfd195420fc83a24de9e60726 +PYTHON_JINJA2_SITE = https://files.pythonhosted.org/packages/56/e6/332789f295cf22308386cf5bbd1f4e00ed11484299c5d7383378cf48ba47 PYTHON_JINJA2_SETUP_TYPE = setuptools PYTHON_JINJA2_LICENSE = BSD-3-Clause PYTHON_JINJA2_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-jsonmodels/Config.in b/bsp/buildroot/package/python-jsonmodels/Config.in new file mode 100644 index 00000000..f6698287 --- /dev/null +++ b/bsp/buildroot/package/python-jsonmodels/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_JSONMODELS + bool "python-jsonmodels" + select BR2_PACKAGE_PYTHON_DATEUTIL # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Models to make easier to deal with structures that are + converted to, or read from JSON. + + https://github.com/beregond/jsonmodels diff --git a/bsp/buildroot/package/python-jsonmodels/python-jsonmodels.hash b/bsp/buildroot/package/python-jsonmodels/python-jsonmodels.hash new file mode 100644 index 00000000..16e200b0 --- /dev/null +++ b/bsp/buildroot/package/python-jsonmodels/python-jsonmodels.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/jsonmodels/json +md5 96132e252887f840d23792c03fad2039 jsonmodels-2.4.tar.gz +sha256 abc8dc334a1794513e511a75639f77c271ef6a2992b6793f3753c7335dd18775 jsonmodels-2.4.tar.gz +# Locally computed sha256 checksums +sha256 3b1219763eec6924ddd4c4d61dee6a53c5fc9ab62707a9ad763ee363d3050cc5 LICENSE diff --git a/bsp/buildroot/package/python-jsonmodels/python-jsonmodels.mk b/bsp/buildroot/package/python-jsonmodels/python-jsonmodels.mk new file mode 100644 index 00000000..4e4eecf2 --- /dev/null +++ b/bsp/buildroot/package/python-jsonmodels/python-jsonmodels.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-jsonmodels +# +################################################################################ + +PYTHON_JSONMODELS_VERSION = 2.4 +PYTHON_JSONMODELS_SOURCE = jsonmodels-$(PYTHON_JSONMODELS_VERSION).tar.gz +PYTHON_JSONMODELS_SITE = https://files.pythonhosted.org/packages/68/00/524668dc751f9ef91e73c795b2073bf2ddb79728a474d1bcab9c6dc426d8 +PYTHON_JSONMODELS_SETUP_TYPE = setuptools +PYTHON_JSONMODELS_LICENSE = BSD-3-Clause +PYTHON_JSONMODELS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch b/bsp/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch index b30efc12..ec7aec40 100644 --- a/bsp/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch +++ b/bsp/buildroot/package/python-libconfig/0001-Determine-boost_python-name-depending-on-current-Pyt.patch @@ -4,9 +4,13 @@ Date: Thu, 27 Jul 2017 09:46:07 +0200 Subject: [PATCH] Determine boost_python name depending on current Python version -Python2 requires boost_python and Python3 requires boost_python3. +Python2 requires boost_python27 and Python3 requires boost_python37 +(since boost 1.67). Signed-off-by: Yegor Yefremov +Signed-off-by: Fabrice Fontaine +[Bernd: adapted for python-3.7] +Signed-off-by: Bernd Kuhls --- setup.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) @@ -19,9 +23,9 @@ index fdf5c27..4b38569 100644 from setuptools import setup, find_packages, Extension import sys, os -+boostlib = "boost_python3" ++boostlib = "boost_python37" +if sys.version_info < (3, 0): -+ boostlib = "boost_python" ++ boostlib = "boost_python27" + setup( name = 'pylibconfig', diff --git a/bsp/buildroot/package/python-libusb1/Config.in b/bsp/buildroot/package/python-libusb1/Config.in new file mode 100644 index 00000000..1c4a72ed --- /dev/null +++ b/bsp/buildroot/package/python-libusb1/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_LIBUSB1 + bool "python-libusb1" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + help + Pure-python wrapper for libusb-1.0. + + http://github.com/vpelletier/python-libusb1 + +comment "python-libusb1 needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/python-libusb1/python-libusb1.hash b/bsp/buildroot/package/python-libusb1/python-libusb1.hash new file mode 100644 index 00000000..3649872e --- /dev/null +++ b/bsp/buildroot/package/python-libusb1/python-libusb1.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/libusb1/json, sha256 locally computed +md5 9c2eb6032deda59f287a443091d38cb4 libusb1-1.6.4.tar.gz +sha256 8c930d9c1d037d9c83924c82608aa6a1adcaa01ca0e4a23ee0e8e18d7eee670d libusb1-1.6.4.tar.gz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LESSER diff --git a/bsp/buildroot/package/python-libusb1/python-libusb1.mk b/bsp/buildroot/package/python-libusb1/python-libusb1.mk new file mode 100644 index 00000000..3329764f --- /dev/null +++ b/bsp/buildroot/package/python-libusb1/python-libusb1.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-libusb1 +# +################################################################################ + +PYTHON_LIBUSB1_VERSION = 1.6.4 +PYTHON_LIBUSB1_SOURCE = libusb1-$(PYTHON_LIBUSB1_VERSION).tar.gz +PYTHON_LIBUSB1_SITE = https://pypi.python.org/packages/ec/5d/4fdac6c53525786fe35cff035c3345452e24e2bee5627893be65d12555cb +PYTHON_LIBUSB1_SETUP_TYPE = setuptools +PYTHON_LIBUSB1_LICENSE = LGPL-2.1+ +PYTHON_LIBUSB1_LICENSE_FILES = COPYING.LESSER +PYTHON_LIBUSB1_DEPENDENCIES = libusb + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-lmdb/python-lmdb.hash b/bsp/buildroot/package/python-lmdb/python-lmdb.hash index 7c294604..ed96d695 100644 --- a/bsp/buildroot/package/python-lmdb/python-lmdb.hash +++ b/bsp/buildroot/package/python-lmdb/python-lmdb.hash @@ -1,2 +1,5 @@ -# Locally calculated -sha256 abd2b2ae9ecf2fd1e1bc55ef4e8463b5910722fcd70a1bbf34a3e669a74a41a4 python-lmdb-py-lmdb_0.89.tar.gz +# md5, sha256 from https://pypi.org/pypi/lmdb/json +md5 57216cb8fba7aed91ceba5a69d359939 lmdb-0.94.tar.gz +sha256 9c2b7f05c26b2c95d6f3a566314feefe2dc64ecec6c50242a932703cf74303fe lmdb-0.94.tar.gz +# Locally computed sha256 checksums +sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE diff --git a/bsp/buildroot/package/python-lmdb/python-lmdb.mk b/bsp/buildroot/package/python-lmdb/python-lmdb.mk index 62fb0465..039656e2 100644 --- a/bsp/buildroot/package/python-lmdb/python-lmdb.mk +++ b/bsp/buildroot/package/python-lmdb/python-lmdb.mk @@ -4,8 +4,9 @@ # ################################################################################ -PYTHON_LMDB_VERSION = py-lmdb_0.89 -PYTHON_LMDB_SITE = $(call github,dw,py-lmdb,$(PYTHON_LMDB_VERSION)) +PYTHON_LMDB_VERSION = 0.94 +PYTHON_LMDB_SOURCE = lmdb-$(PYTHON_LMDB_VERSION).tar.gz +PYTHON_LMDB_SITE = https://files.pythonhosted.org/packages/cb/31/5be8f436b56733d9e69c721c358502f4d77b627489a459978686be7db65f PYTHON_LMDB_LICENSE = OLDAP-2.8 PYTHON_LMDB_LICENSE_FILES = LICENSE PYTHON_LMDB_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-logbook/Config.in b/bsp/buildroot/package/python-logbook/Config.in index 9ae91443..d4fbf0fe 100644 --- a/bsp/buildroot/package/python-logbook/Config.in +++ b/bsp/buildroot/package/python-logbook/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_LOGBOOK bool "python-logbook" + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 help A logging replacement for Python. diff --git a/bsp/buildroot/package/python-logbook/python-logbook.hash b/bsp/buildroot/package/python-logbook/python-logbook.hash index 1a79046c..0db9def1 100644 --- a/bsp/buildroot/package/python-logbook/python-logbook.hash +++ b/bsp/buildroot/package/python-logbook/python-logbook.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/logbook/json, sha256 locally computed -md5 22fea705e067c118925898f0c30b0508 Logbook-1.0.0.tar.gz -sha256 87da2515a6b3db866283cb9d4e5a6ec44e52a1d556ebb2ea3b6e7e704b5f1872 Logbook-1.0.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/logbook/json +md5 352d66684713fc323febe60c9244270e Logbook-1.4.3.tar.gz +sha256 a5a96792abd8172c80d61b7530e134524f20e2841981038031e602ed5920fef5 Logbook-1.4.3.tar.gz +# Locally computed sha256 checksums +sha256 2ca266337cc6947578654ab0dd6438de4d01fa78b2e6eb554b09757df1178f98 LICENSE diff --git a/bsp/buildroot/package/python-logbook/python-logbook.mk b/bsp/buildroot/package/python-logbook/python-logbook.mk index 5fcf301b..4e9a5306 100644 --- a/bsp/buildroot/package/python-logbook/python-logbook.mk +++ b/bsp/buildroot/package/python-logbook/python-logbook.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_LOGBOOK_VERSION = 1.0.0 +PYTHON_LOGBOOK_VERSION = 1.4.3 PYTHON_LOGBOOK_SOURCE = Logbook-$(PYTHON_LOGBOOK_VERSION).tar.gz -PYTHON_LOGBOOK_SITE = https://pypi.python.org/packages/34/e8/6419c217bbf464fe8a902418120cccaf476201bd03b50958db24d6e90f65 +PYTHON_LOGBOOK_SITE = https://files.pythonhosted.org/packages/f6/83/20fc0270614919cb799f76e32cf143a54c58ce2fa45c19fd38ac2e4f9977 PYTHON_LOGBOOK_SETUP_TYPE = setuptools PYTHON_LOGBOOK_LICENSE = BSD-3-Clause +PYTHON_LOGBOOK_LICENSE_FILES = LICENSE $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-lxml/Config.in b/bsp/buildroot/package/python-lxml/Config.in index 1ccaa5e3..fcb30d56 100644 --- a/bsp/buildroot/package/python-lxml/Config.in +++ b/bsp/buildroot/package/python-lxml/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_PYTHON_LXML bool "python-lxml" select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_LIBXSLT - select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 help The lxml XML toolkit is a Pythonic binding for the C libraries libxml2 and libxslt. diff --git a/bsp/buildroot/package/python-lxml/python-lxml.hash b/bsp/buildroot/package/python-lxml/python-lxml.hash index 38607e1b..6558f107 100644 --- a/bsp/buildroot/package/python-lxml/python-lxml.hash +++ b/bsp/buildroot/package/python-lxml/python-lxml.hash @@ -1,2 +1,6 @@ # Locally computed -sha256 f7bc9f702500e205b1560d620f14015fec76dcd6f9e889a946a2ddcc3c344fd0 lxml-4.0.0.tgz +sha256 7035d9361f3ceec9ccc1dd3482094d1174580e7e1bf6870b77ea758f7cad15d2 lxml-4.2.6.tar.gz +sha256 41d49dd406aa0e1548a6d5f21a30d6bf638b3cd96eb7289dd348d83ed2e40392 LICENSES.txt +sha256 69edb445c1335a8312d4c09271847e9956d84f0d9f724d125340cc3fad767b2a doc/licenses/BSD.txt +sha256 0497ae8138811ef4466ede653bab7a59feb3d3c14f9ed50fc33a00aeb5bec32e doc/licenses/elementtree.txt +sha256 705bdfece6dbb87879d9ec40a8c9530651aefb98ae387da9134584464742d539 src/lxml/isoschematron/resources/rng/iso-schematron.rng diff --git a/bsp/buildroot/package/python-lxml/python-lxml.mk b/bsp/buildroot/package/python-lxml/python-lxml.mk index 7f1692d1..1b46670f 100644 --- a/bsp/buildroot/package/python-lxml/python-lxml.mk +++ b/bsp/buildroot/package/python-lxml/python-lxml.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_LXML_VERSION = 4.0.0 -PYTHON_LXML_SITE = http://lxml.de/files -PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tgz +PYTHON_LXML_VERSION = 4.2.6 +PYTHON_LXML_SITE = https://files.pythonhosted.org/packages/b0/06/37437e348cd296c56a8bac0396007960abb2bcdaf77e8a3bde52bb68e550 +PYTHON_LXML_SOURCE = lxml-$(PYTHON_LXML_VERSION).tar.gz # Not including the GPL, because it is used only for the test scripts. PYTHON_LXML_LICENSE = BSD-3-Clause, Others diff --git a/bsp/buildroot/package/python-markdown/python-markdown.hash b/bsp/buildroot/package/python-markdown/python-markdown.hash index f2131eda..623156b5 100644 --- a/bsp/buildroot/package/python-markdown/python-markdown.hash +++ b/bsp/buildroot/package/python-markdown/python-markdown.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/markdown/json, sha256 locally computed -md5 d9ef057a5bd185f6f536400a31fc5d45 Markdown-2.6.8.tar.gz -sha256 0ac8a81e658167da95d063a9279c9c1b2699f37c7c4153256a458b3a43860e33 Markdown-2.6.8.tar.gz +# md5, sha256 from https://pypi.org/pypi/markdown/json +md5 72219f46ca440b657bf227500731bdf1 Markdown-3.0.1.tar.gz +sha256 d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c Markdown-3.0.1.tar.gz +# Locally computed sha256 +sha256 6f1193cb634718e65c3a537d6e25ebd614820ec0ef693cfc12248112638d64da LICENSE.md diff --git a/bsp/buildroot/package/python-markdown/python-markdown.mk b/bsp/buildroot/package/python-markdown/python-markdown.mk index d5273f97..8349638e 100644 --- a/bsp/buildroot/package/python-markdown/python-markdown.mk +++ b/bsp/buildroot/package/python-markdown/python-markdown.mk @@ -4,12 +4,12 @@ # ################################################################################ -PYTHON_MARKDOWN_VERSION = 2.6.8 +PYTHON_MARKDOWN_VERSION = 3.0.1 PYTHON_MARKDOWN_SOURCE = Markdown-$(PYTHON_MARKDOWN_VERSION).tar.gz -PYTHON_MARKDOWN_SITE = https://pypi.python.org/packages/1d/25/3f6d2cb31ec42ca5bd3bfbea99b63892b735d76e26f20dd2dcc34ffe4f0d +PYTHON_MARKDOWN_SITE = https://files.pythonhosted.org/packages/3c/52/7bae9e99a7a4be6af4a713fe9b692777e6468d28991c54c273dfb6ec9fb2 PYTHON_MARKDOWN_LICENSE = BSD-3-Clause PYTHON_MARKDOWN_LICENSE_FILES = LICENSE.md -PYTHON_MARKDOWN_SETUP_TYPE = distutils +PYTHON_MARKDOWN_SETUP_TYPE = setuptools $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-markdown2/python-markdown2.hash b/bsp/buildroot/package/python-markdown2/python-markdown2.hash index 17ae7d90..59a9a13a 100644 --- a/bsp/buildroot/package/python-markdown2/python-markdown2.hash +++ b/bsp/buildroot/package/python-markdown2/python-markdown2.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 07e077f5d4aa5f1e2f061f9f94d9e22f9ea266411b8c557b9164fc0e6dff0595 python-markdown2-2.3.2.tar.gz +sha256 53a6100ee005df09d0462cc246f8dc7cd48f4678d1074f36e7cff980a3819b48 python-markdown2-2.3.6.tar.gz +sha256 f8c7c4d554409cf621b8d653dbfffb719745fd36f5c49b8305258649b403ef9c LICENSE.txt diff --git a/bsp/buildroot/package/python-markdown2/python-markdown2.mk b/bsp/buildroot/package/python-markdown2/python-markdown2.mk index 1e343b43..8069ef91 100644 --- a/bsp/buildroot/package/python-markdown2/python-markdown2.mk +++ b/bsp/buildroot/package/python-markdown2/python-markdown2.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_MARKDOWN2_VERSION = 2.3.2 +PYTHON_MARKDOWN2_VERSION = 2.3.6 PYTHON_MARKDOWN2_SITE = $(call github,trentm,python-markdown2,$(PYTHON_MARKDOWN2_VERSION)) PYTHON_MARKDOWN2_SETUP_TYPE = distutils PYTHON_MARKDOWN2_LICENSE = MIT diff --git a/bsp/buildroot/package/python-mimeparse/Config.in b/bsp/buildroot/package/python-mimeparse/Config.in new file mode 100644 index 00000000..2437c366 --- /dev/null +++ b/bsp/buildroot/package/python-mimeparse/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_MIMEPARSE + bool "python-mimeparse" + help + A module provides basic functions for parsing mime-type + names and matching them against a list of media-ranges. + + https://github.com/dbtsai/python-mimeparse diff --git a/bsp/buildroot/package/python-mimeparse/python-mimeparse.hash b/bsp/buildroot/package/python-mimeparse/python-mimeparse.hash new file mode 100644 index 00000000..9721c5fa --- /dev/null +++ b/bsp/buildroot/package/python-mimeparse/python-mimeparse.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/python-mimeparse/json +md5 a32ae1df93be1ddb581d1c0fa124bab4 python-mimeparse-1.6.0.tar.gz +sha256 76e4b03d700a641fd7761d3cd4fdbbdcd787eade1ebfac43f877016328334f78 python-mimeparse-1.6.0.tar.gz +# Locally computed sha256 checksums +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e LICENSE diff --git a/bsp/buildroot/package/python-mimeparse/python-mimeparse.mk b/bsp/buildroot/package/python-mimeparse/python-mimeparse.mk new file mode 100644 index 00000000..00bb1cf8 --- /dev/null +++ b/bsp/buildroot/package/python-mimeparse/python-mimeparse.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-mimeparse +# +################################################################################ + +PYTHON_MIMEPARSE_VERSION = 1.6.0 +PYTHON_MIMEPARSE_SITE = https://files.pythonhosted.org/packages/0f/40/ac5f9e44a55b678c3cd881b4c3376e5b002677dbeab6fb3a50bac5d50d29 +PYTHON_MIMEPARSE_SETUP_TYPE = setuptools +PYTHON_MIMEPARSE_LICENSE = MIT +PYTHON_MIMEPARSE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-msgpack/python-msgpack.hash b/bsp/buildroot/package/python-msgpack/python-msgpack.hash index 48313ff5..cb3b75d5 100644 --- a/bsp/buildroot/package/python-msgpack/python-msgpack.hash +++ b/bsp/buildroot/package/python-msgpack/python-msgpack.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/msgpack-python/json, sha256 locally computed. -md5 dcd854fb41ee7584ebbf35e049e6be98 msgpack-python-0.4.8.tar.gz -sha256 1a2b19df0f03519ec7f19f826afb935b202d8979b0856c6fb3dc28955799f886 msgpack-python-0.4.8.tar.gz +# md5, sha256 from https://pypi.org/pypi/msgpack/json +md5 1b96537be6f5186fed0d131aaa59ef26 msgpack-0.6.1.tar.gz +sha256 4008c72f5ef2b7936447dcb83db41d97e9791c83221be13d5e19db0796df1972 msgpack-0.6.1.tar.gz +# Locally computed sha256 +sha256 492dedba85da5872f78e6091bcd1fea474d660d35acb4dee964b8aab3f007427 COPYING diff --git a/bsp/buildroot/package/python-msgpack/python-msgpack.mk b/bsp/buildroot/package/python-msgpack/python-msgpack.mk index 5be2b14b..517166db 100644 --- a/bsp/buildroot/package/python-msgpack/python-msgpack.mk +++ b/bsp/buildroot/package/python-msgpack/python-msgpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MSGPACK_VERSION = 0.4.8 -PYTHON_MSGPACK_SOURCE = msgpack-python-$(PYTHON_MSGPACK_VERSION).tar.gz -PYTHON_MSGPACK_SITE = https://pypi.python.org/packages/21/27/8a1d82041c7a2a51fcc73675875a5f9ea06c2663e02fcfeb708be1d081a0 +PYTHON_MSGPACK_VERSION = 0.6.1 +PYTHON_MSGPACK_SOURCE = msgpack-$(PYTHON_MSGPACK_VERSION).tar.gz +PYTHON_MSGPACK_SITE = https://files.pythonhosted.org/packages/81/9c/0036c66234482044070836cc622266839e2412f8108849ab0bfdeaab8578 PYTHON_MSGPACK_LICENSE = Apache-2.0 PYTHON_MSGPACK_LICENSE_FILES = COPYING PYTHON_MSGPACK_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-multidict/Config.in b/bsp/buildroot/package/python-multidict/Config.in new file mode 100644 index 00000000..7bfaa36d --- /dev/null +++ b/bsp/buildroot/package/python-multidict/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_MULTIDICT + bool "python-multidict" + depends on BR2_PACKAGE_PYTHON3 + help + Multidict is dict-like collection of key-value pairs where a + key may occur more than once in the container. + + https://github.com/aio-libs/multidict diff --git a/bsp/buildroot/package/python-multidict/python-multidict.hash b/bsp/buildroot/package/python-multidict/python-multidict.hash new file mode 100644 index 00000000..a98c4553 --- /dev/null +++ b/bsp/buildroot/package/python-multidict/python-multidict.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/multidict/json +md5 5e9d8f7e1ada9a22932aed6a72f88e43 multidict-4.5.2.tar.gz +sha256 024b8129695a952ebd93373e45b5d341dbb87c17ce49637b34000093f243dd4f multidict-4.5.2.tar.gz +# Locally computed sha256 checksums +sha256 a1c5825513279d3085a0ba46880e148ea3710c149bbaedcf2d11605a5ed3c4ad LICENSE diff --git a/bsp/buildroot/package/python-multidict/python-multidict.mk b/bsp/buildroot/package/python-multidict/python-multidict.mk new file mode 100644 index 00000000..7b9cd392 --- /dev/null +++ b/bsp/buildroot/package/python-multidict/python-multidict.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-multidict +# +################################################################################ + +PYTHON_MULTIDICT_VERSION = 4.5.2 +PYTHON_MULTIDICT_SOURCE = multidict-$(PYTHON_MULTIDICT_VERSION).tar.gz +PYTHON_MULTIDICT_SITE = https://files.pythonhosted.org/packages/7f/8f/b3c8c5b062309e854ce5b726fc101195fbaa881d306ffa5c2ba19efa3af2 +PYTHON_MULTIDICT_SETUP_TYPE = setuptools +PYTHON_MULTIDICT_LICENSE = Apache-2.0 +PYTHON_MULTIDICT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-mwclient/python-mwclient.hash b/bsp/buildroot/package/python-mwclient/python-mwclient.hash index 3fb643e6..fccfbcdc 100644 --- a/bsp/buildroot/package/python-mwclient/python-mwclient.hash +++ b/bsp/buildroot/package/python-mwclient/python-mwclient.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/mwclient/json, sha256 locally computed -md5 486d3109e73d298d512d967501b23647 mwclient-0.8.7.tar.gz -sha256 3bdaaa48fda6386b190651e49484a549bd0c48b97573dbda34a8b7c4c80430ed mwclient-0.8.7.tar.gz +# md5, sha256 from https://pypi.org/pypi/mwclient/json +md5 994337c4153d86345f2dfdf74e53b546 mwclient-0.9.2.tar.gz +sha256 60ed0b13fdef8cb2ce4dde79bc92dd729de093e86f188225b4bcd73e32d75282 mwclient-0.9.2.tar.gz +# Locally computed sha256 d29eaa80939b6d8fc3ab458bab90f4af879fa9e0430ed7e0fb2b94752e7eb33f mwclient/__init__.py diff --git a/bsp/buildroot/package/python-mwclient/python-mwclient.mk b/bsp/buildroot/package/python-mwclient/python-mwclient.mk index 5f18ef7d..0e20dd62 100644 --- a/bsp/buildroot/package/python-mwclient/python-mwclient.mk +++ b/bsp/buildroot/package/python-mwclient/python-mwclient.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_MWCLIENT_VERSION = 0.8.7 +PYTHON_MWCLIENT_VERSION = 0.9.2 PYTHON_MWCLIENT_SOURCE = mwclient-$(PYTHON_MWCLIENT_VERSION).tar.gz -PYTHON_MWCLIENT_SITE = https://pypi.python.org/packages/63/05/ddf7d1b0d3a1dc9ee650dcaef7ddfbb980b4d2f0c41128c5f9e6fed5e8e2 +PYTHON_MWCLIENT_SITE = https://files.pythonhosted.org/packages/f8/5a/9a5cf29e256c5720b9dc3b60586be6557e5f8bbf313d90bf75b0d967f0af PYTHON_MWCLIENT_LICENSE = MIT PYTHON_MWCLIENT_LICENSE_FILES = mwclient/__init__.py PYTHON_MWCLIENT_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-networkmanager/python-networkmanager.hash b/bsp/buildroot/package/python-networkmanager/python-networkmanager.hash index 1fed4bef..83621761 100644 --- a/bsp/buildroot/package/python-networkmanager/python-networkmanager.hash +++ b/bsp/buildroot/package/python-networkmanager/python-networkmanager.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/python-networkmanager/json, sha256 locally computed -md5 5fc644a65463031295c6b7dd51a0f1bd python-networkmanager-2.0.1.tar.gz -sha256 bc36507506ad29bfdac941b0987ebd1cc9633c9a9291d7378e229e4515a0a517 python-networkmanager-2.0.1.tar.gz +# md5 and sha256 from https://pypi.python.org/pypi/python-networkmanager/json +md5 f638d854a3639fb37c0e06d1092a771e python-networkmanager-2.1.tar.gz +sha256 aef1e34d98d7bec7cc368e0ca0f2e97493f9b5ebe6d7103f8f6460cfca3dc6fc python-networkmanager-2.1.tar.gz diff --git a/bsp/buildroot/package/python-networkmanager/python-networkmanager.mk b/bsp/buildroot/package/python-networkmanager/python-networkmanager.mk index 29afb5e5..de893f75 100644 --- a/bsp/buildroot/package/python-networkmanager/python-networkmanager.mk +++ b/bsp/buildroot/package/python-networkmanager/python-networkmanager.mk @@ -4,8 +4,8 @@ # ################################################################################ -PYTHON_NETWORKMANAGER_VERSION = 2.0.1 -PYTHON_NETWORKMANAGER_SITE = https://pypi.python.org/packages/d7/f9/5cbd99fd24a072875ce048e48d1754285f137aab447de8fee63b6cba990a +PYTHON_NETWORKMANAGER_VERSION = 2.1 +PYTHON_NETWORKMANAGER_SITE = https://files.pythonhosted.org/packages/73/ec/2cc46290cedc99f59df3633d428dfa91d95946ca49af96fdb53514ee195f PYTHON_NETWORKMANAGER_SETUP_TYPE = setuptools PYTHON_NETWORKMANAGER_LICENSE = Zlib PYTHON_NETWORKMANAGER_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/python-networkx/Config.in b/bsp/buildroot/package/python-networkx/Config.in new file mode 100644 index 00000000..0f3e86f4 --- /dev/null +++ b/bsp/buildroot/package/python-networkx/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_NETWORKX + bool "python-networkx" + select BR2_PACKAGE_PYTHON_DECORATOR # runtime + help + A Python package for the creation, manipulation, + and study of the structure, dynamics, and + functions of complex networks. + + https://pypi.python.org/pypi/networkx diff --git a/bsp/buildroot/package/python-networkx/python-networkx.hash b/bsp/buildroot/package/python-networkx/python-networkx.hash new file mode 100644 index 00000000..92383e75 --- /dev/null +++ b/bsp/buildroot/package/python-networkx/python-networkx.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/networks/json, sha256 locally computed +md5 6ef584a879e9163013e9a762e1cf7cd1 networkx-1.11.tar.gz +sha256 0d0e70e10dfb47601cbb3425a00e03e2a2e97477be6f80638fef91d54dd1e4b8 networkx-1.11.tar.gz +sha256 f4c13bf0e83bef45116ebda6c360066df6fd99610efaea9790b998c5441b0c0d LICENSE.txt diff --git a/bsp/buildroot/package/python-networkx/python-networkx.mk b/bsp/buildroot/package/python-networkx/python-networkx.mk new file mode 100644 index 00000000..4dfdbd5a --- /dev/null +++ b/bsp/buildroot/package/python-networkx/python-networkx.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-networkx +# +################################################################################ + +# The current version of setools (v4.1.1) does not work with python-networkx past v1.11 +PYTHON_NETWORKX_VERSION = 1.11 +PYTHON_NETWORKX_SOURCE = networkx-$(PYTHON_NETWORKX_VERSION).tar.gz +PYTHON_NETWORKX_SITE = https://pypi.python.org/packages/c2/93/dbb41b03cf7c878a7409c8e92226531f840a423c9309ea534873a83c9192 +PYTHON_NETWORKX_LICENSE = BSD-3-Clause +PYTHON_NETWORKX_LICENSE_FILES = LICENSE.txt +PYTHON_NETWORKX_SETUP_TYPE = setuptools +HOST_PYTHON_NETWORKX_DEPENDENCIES = host-python-decorator + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-numpy/0002-Add-support-of-ARC.patch b/bsp/buildroot/package/python-numpy/0002-Add-support-of-ARC.patch deleted file mode 100644 index c022487c..00000000 --- a/bsp/buildroot/package/python-numpy/0002-Add-support-of-ARC.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 9a225e7d4fb1de5c99c6b5b17cae2fc4c2d1c59a Mon Sep 17 00:00:00 2001 -From: Alexey Brodkin -Date: Fri, 15 Sep 2017 11:59:14 +0300 -Subject: [PATCH] Add support of ARC - -Synopsys DesignWare ARC Processors are a family of 32-bit CPUs -which in some configurations may run Linux kernel and full stack -of applications on top of it. Among other things is Python. - -With that change we allow building and usage of Numpy on ARC. - -Signed-off-by: Alexey Brodkin ---- - numpy/core/include/numpy/npy_cpu.h | 6 ++++++ - numpy/core/include/numpy/npy_endian.h | 6 ++++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h -index 60abae4e0b0e..84653ea183ce 100644 ---- a/numpy/core/include/numpy/npy_cpu.h -+++ b/numpy/core/include/numpy/npy_cpu.h -@@ -15,6 +15,8 @@ - * NPY_CPU_ARMEB - * NPY_CPU_SH_LE - * NPY_CPU_SH_BE -+ * NPY_CPU_ARCEL -+ * NPY_CPU_ARCEB - */ - #ifndef _NPY_CPUARCH_H_ - #define _NPY_CPUARCH_H_ -@@ -76,6 +78,10 @@ - #define NPY_CPU_AARCH64 - #elif defined(__mc68000__) - #define NPY_CPU_M68K -+#elif defined(__arc__) && defined(__LITTLE_ENDIAN__) -+ #define NPY_CPU_ARCEL -+#elif defined(__arc__) && defined(__BIG_ENDIAN__) -+ #define NPY_CPU_ARCEB - #else - #error Unknown CPU, please report this to numpy maintainers with \ - information about your platform (OS, CPU and compiler) -diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h -index e34b1d97e655..1a42121db92e 100644 ---- a/numpy/core/include/numpy/npy_endian.h -+++ b/numpy/core/include/numpy/npy_endian.h -@@ -45,7 +45,8 @@ - || defined(NPY_CPU_AARCH64) \ - || defined(NPY_CPU_SH_LE) \ - || defined(NPY_CPU_MIPSEL) \ -- || defined(NPY_CPU_PPC64LE) -+ || defined(NPY_CPU_PPC64LE) \ -+ || defined(NPY_CPU_ARCEL) - #define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN - #elif defined(NPY_CPU_PPC) \ - || defined(NPY_CPU_SPARC) \ -@@ -56,7 +57,8 @@ - || defined(NPY_CPU_SH_BE) \ - || defined(NPY_CPU_MIPSEB) \ - || defined(NPY_CPU_OR1K) \ -- || defined(NPY_CPU_M68K) -+ || defined(NPY_CPU_M68K) \ -+ || defined(NPY_CPU_ARCEB) - #define NPY_BYTE_ORDER NPY_BIG_ENDIAN - #else - #error Unknown CPU: can not set endianness --- -2.7.5 - diff --git a/bsp/buildroot/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch b/bsp/buildroot/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch new file mode 100644 index 00000000..f2ed4f6f --- /dev/null +++ b/bsp/buildroot/package/python-numpy/0003-no-FPU-exceptions-bits-on-ARC-glibc.patch @@ -0,0 +1,42 @@ +From ae217b0e77a52f08f46ef66fa88820946984507a Mon Sep 17 00:00:00 2001 +From: Evgeniy Didin +Date: Tue, 6 Feb 2018 15:59:22 +0300 +Subject: [PATCH] FIX: no FPU exceptions bits on ARC glibc + +The FPU exceptions bits are missing in fenv.h in glibc for ARC architecture. + +Signed-off-by: Evgeniy Didin +--- + numpy/core/include/numpy/ufuncobject.h | 2 +- + numpy/core/src/npymath/ieee754.c.src | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/numpy/core/include/numpy/ufuncobject.h b/numpy/core/include/numpy/ufuncobject.h +index 89f72fcea..29e05b179 100644 +--- a/numpy/core/include/numpy/ufuncobject.h ++++ b/numpy/core/include/numpy/ufuncobject.h +@@ -319,7 +319,7 @@ typedef struct _loop1d_info { + #if defined(sun) || defined(__BSD__) || defined(__OpenBSD__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version < 502114)) || \ + defined(__NetBSD__) || \ +- (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ ++ (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__arc__)) || defined(__APPLE__) || \ + defined(__CYGWIN__) || defined(__MINGW32__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) || \ + defined(_AIX) || \ +diff --git a/numpy/core/src/npymath/ieee754.c.src b/numpy/core/src/npymath/ieee754.c.src +index 8dc4d77ef..78e646470 100644 +--- a/numpy/core/src/npymath/ieee754.c.src ++++ b/numpy/core/src/npymath/ieee754.c.src +@@ -627,7 +627,7 @@ void npy_set_floatstatus_invalid(void) + } + + +-#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ ++#elif (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__arc__)) || defined(__APPLE__) || \ + defined(__CYGWIN__) || defined(__MINGW32__) || \ + (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) + # include +-- +2.16.2 + diff --git a/bsp/buildroot/package/python-numpy/Config.in b/bsp/buildroot/package/python-numpy/Config.in index 067085bf..c337675c 100644 --- a/bsp/buildroot/package/python-numpy/Config.in +++ b/bsp/buildroot/package/python-numpy/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS bool # Numpy has some CPU specific code - # ARCompact build fails due to toolchain issue - # ARC HS38 build fails on glibc due to missing FE_* definitions - default y if BR2_arc && BR2_archs38 && !BR2_TOOLCHAIN_USES_GLIBC + default y if BR2_arc default y if BR2_aarch64 default y if BR2_arm default y if BR2_armeb diff --git a/bsp/buildroot/package/python-numpy/python-numpy.hash b/bsp/buildroot/package/python-numpy/python-numpy.hash index 854f2022..7c7f4461 100644 --- a/bsp/buildroot/package/python-numpy/python-numpy.hash +++ b/bsp/buildroot/package/python-numpy/python-numpy.hash @@ -1,4 +1,4 @@ -# Copied from https://github.com/numpy/numpy/releases/tag/v1.13.3 -sha256 4c6b4eef790528bebb7ec9590d74cc193868940fe68e4109a91c196df72d8094 numpy-1.13.3.tar.gz +# Copied from https://github.com/numpy/numpy/releases/tag/v1.15.1 +sha256 3c1ccce5d935ef8df16ae0595b459ef08a5cdb05aee195ebc04b9d89a72be7fa numpy-1.15.1.tar.gz # License files, locally calculated -sha256 94eebc7c8f86a287c1e9146ed52ebcde88183806d848d8c66e0e52d1aebf3b13 LICENSE.txt +sha256 9e85ee1c3f11444243c9b7667721592a01f1cd90cb28ad937ac99f6241d6b685 LICENSE.txt diff --git a/bsp/buildroot/package/python-numpy/python-numpy.mk b/bsp/buildroot/package/python-numpy/python-numpy.mk index d0d38371..26a10c37 100644 --- a/bsp/buildroot/package/python-numpy/python-numpy.mk +++ b/bsp/buildroot/package/python-numpy/python-numpy.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_NUMPY_VERSION = 1.13.3 +PYTHON_NUMPY_VERSION = 1.15.1 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION) PYTHON_NUMPY_LICENSE = BSD-3-Clause @@ -14,6 +14,8 @@ PYTHON_NUMPY_SETUP_TYPE = setuptools ifeq ($(BR2_PACKAGE_CLAPACK),y) PYTHON_NUMPY_DEPENDENCIES += clapack PYTHON_NUMPY_SITE_CFG_LIBS += blas lapack +else +PYTHON_NUMPY_ENV += BLAS=None LAPACK=None endif PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None @@ -31,3 +33,4 @@ endef PYTHON_NUMPY_INSTALL_STAGING = YES $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-oauthlib/Config.in b/bsp/buildroot/package/python-oauthlib/Config.in index d6617f38..65016c1d 100644 --- a/bsp/buildroot/package/python-oauthlib/Config.in +++ b/bsp/buildroot/package/python-oauthlib/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_PYTHON_OAUTHLIB A generic, spec-compliant, thorough implementation of the OAuth request-signing logic. - https://github.com/idan/oauthlib + https://github.com/oauthlib/oauthlib diff --git a/bsp/buildroot/package/python-oauthlib/python-oauthlib.hash b/bsp/buildroot/package/python-oauthlib/python-oauthlib.hash index f8e13242..f0a3dee8 100644 --- a/bsp/buildroot/package/python-oauthlib/python-oauthlib.hash +++ b/bsp/buildroot/package/python-oauthlib/python-oauthlib.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/oauthlib/json, sha256 locally computed -md5 277a9a966cc8c72e492b4eeb41332445 oauthlib-2.0.6.tar.gz -sha256 ce57b501e906ff4f614e71c36a3ab9eacbb96d35c24d1970d2539bbc3ec70ce1 oauthlib-2.0.6.tar.gz +# md5, sha256 from https://pypi.org/pypi/oauthlib/json +md5 544b15398afe48d9493fa60d571bd8c7 oauthlib-2.1.0.tar.gz +sha256 ac35665a61c1685c56336bda97d5eefa246f1202618a1d6f34fccb1bdd404162 oauthlib-2.1.0.tar.gz +# Locally computed sha256 checksums sha256 9e1ae8725f5815738dadb6cbb09f450453d94e07c7b5efaee864f546a6209a95 LICENSE diff --git a/bsp/buildroot/package/python-oauthlib/python-oauthlib.mk b/bsp/buildroot/package/python-oauthlib/python-oauthlib.mk index ab398002..3aa7ae22 100644 --- a/bsp/buildroot/package/python-oauthlib/python-oauthlib.mk +++ b/bsp/buildroot/package/python-oauthlib/python-oauthlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_OAUTHLIB_VERSION = 2.0.6 +PYTHON_OAUTHLIB_VERSION = 2.1.0 PYTHON_OAUTHLIB_SOURCE = oauthlib-$(PYTHON_OAUTHLIB_VERSION).tar.gz -PYTHON_OAUTHLIB_SITE = https://pypi.python.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754 +PYTHON_OAUTHLIB_SITE = https://files.pythonhosted.org/packages/df/5f/3f4aae7b28db87ddef18afed3b71921e531ca288dc604eb981e9ec9f8853 PYTHON_OAUTHLIB_SETUP_TYPE = setuptools PYTHON_OAUTHLIB_LICENSE = BSD-3-Clause PYTHON_OAUTHLIB_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-paramiko/Config.in b/bsp/buildroot/package/python-paramiko/Config.in index 1f86af3b..e33199c8 100644 --- a/bsp/buildroot/package/python-paramiko/Config.in +++ b/bsp/buildroot/package/python-paramiko/Config.in @@ -1,9 +1,9 @@ config BR2_PACKAGE_PYTHON_PARAMIKO bool "python-paramiko" - depends on BR2_INSTALL_LIBSTDCPP # python-pyasn + depends on BR2_INSTALL_LIBSTDCPP # python-cryptography select BR2_PACKAGE_PYTHON_BCRYPT # runtime select BR2_PACKAGE_PYTHON_CRYPTOGRAPHY # runtime - select BR2_PACKAGE_PYTHON_PYASN # runtime + select BR2_PACKAGE_PYTHON_PYASN1 # runtime select BR2_PACKAGE_PYTHON_PYNACL # runtime select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime diff --git a/bsp/buildroot/package/python-paramiko/python-paramiko.hash b/bsp/buildroot/package/python-paramiko/python-paramiko.hash index 3b4c779c..cca2dd61 100644 --- a/bsp/buildroot/package/python-paramiko/python-paramiko.hash +++ b/bsp/buildroot/package/python-paramiko/python-paramiko.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/paramiko/json, sha256 locally computed -md5 d44932891b1ce4bfd3e9e9e06c90395d paramiko-2.2.0.tar.gz -sha256 24b6cdb42eedb50f3b9d994ab0ca63e74db57555346e97c6e4b8c2ab51cdfd81 paramiko-2.2.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/paramiko/json +md5 a476ea106177fe22e797428d54811aed paramiko-2.4.2.tar.gz +sha256 a8975a7df3560c9f1e2b43dc54ebd40fd00a7017392ca5445ce7df409f900fcb paramiko-2.4.2.tar.gz +# Locally computed sha256 checksums +sha256 5fa25bf5f395fd26e701c2e1de4ca7d162816986dc791c22f8f4226857ad1bb2 LICENSE diff --git a/bsp/buildroot/package/python-paramiko/python-paramiko.mk b/bsp/buildroot/package/python-paramiko/python-paramiko.mk index 0aed667c..1f5818e3 100644 --- a/bsp/buildroot/package/python-paramiko/python-paramiko.mk +++ b/bsp/buildroot/package/python-paramiko/python-paramiko.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PARAMIKO_VERSION = 2.2.0 +PYTHON_PARAMIKO_VERSION = 2.4.2 PYTHON_PARAMIKO_SOURCE = paramiko-$(PYTHON_PARAMIKO_VERSION).tar.gz -PYTHON_PARAMIKO_SITE = https://pypi.python.org/packages/ea/a1/75393511fa6b645d28bd614ba061af99e94a6916c6b4f619f8b6b58bc35e +PYTHON_PARAMIKO_SITE = https://files.pythonhosted.org/packages/a4/57/86681372e7a8d642718cadeef38ead1c24c4a1af21ae852642bf974e37c7 PYTHON_PARAMIKO_SETUP_TYPE = setuptools PYTHON_PARAMIKO_LICENSE = LGPL-2.1+ PYTHON_PARAMIKO_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-passlib/Config.in b/bsp/buildroot/package/python-passlib/Config.in new file mode 100644 index 00000000..23546a18 --- /dev/null +++ b/bsp/buildroot/package/python-passlib/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PASSLIB + bool "python-passlib" + help + comprehensive password hashing framework supporting over 30 + schemes. + + https://bitbucket.org/ecollins/passlib diff --git a/bsp/buildroot/package/python-passlib/python-passlib.hash b/bsp/buildroot/package/python-passlib/python-passlib.hash new file mode 100644 index 00000000..8e7f790a --- /dev/null +++ b/bsp/buildroot/package/python-passlib/python-passlib.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/passlib/json +md5 254869dae3fd9f09f0746a3cb29a0b15 passlib-1.7.1.tar.gz +sha256 3d948f64138c25633613f303bcc471126eae67c04d5e3f6b7b8ce6242f8653e0 passlib-1.7.1.tar.gz +# Locally computed sha256 checksums +sha256 ae8cd74bd5be7be586c52def8bcddfe817872cf2e0782b159d37f88bf0ff11fc LICENSE diff --git a/bsp/buildroot/package/python-passlib/python-passlib.mk b/bsp/buildroot/package/python-passlib/python-passlib.mk new file mode 100644 index 00000000..1a3726b6 --- /dev/null +++ b/bsp/buildroot/package/python-passlib/python-passlib.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-passlib +# +################################################################################ + +PYTHON_PASSLIB_VERSION = 1.7.1 +PYTHON_PASSLIB_SOURCE = passlib-$(PYTHON_PASSLIB_VERSION).tar.gz +PYTHON_PASSLIB_SITE = https://files.pythonhosted.org/packages/25/4b/6fbfc66aabb3017cd8c3bd97b37f769d7503ead2899bf76e570eb91270de +PYTHON_PASSLIB_SETUP_TYPE = setuptools +PYTHON_PASSLIB_LICENSE = BSD-3-Clause +PYTHON_PASSLIB_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pathlib2/python-pathlib2.hash b/bsp/buildroot/package/python-pathlib2/python-pathlib2.hash index a9c29494..b17517b4 100644 --- a/bsp/buildroot/package/python-pathlib2/python-pathlib2.hash +++ b/bsp/buildroot/package/python-pathlib2/python-pathlib2.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pathlib2/json, sha256 locally computed -md5 6c75bfde898b6c88627621a48ee8de14 pathlib2-2.2.1.tar.gz -sha256 ce9007df617ef6b7bd8a31cd2089ed0c1fed1f7c23cf2bf1ba140b3dd563175d pathlib2-2.2.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/pathlib2/json +md5 f9ede5c162ea6fc6a3b1d26db53bb6a2 pathlib2-2.3.3.tar.gz +sha256 25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742 pathlib2-2.3.3.tar.gz +# Locally computed sha256 checksums +sha256 f8e02f1a07e4c6fc59a4bee831ddde26b97064105c423b9e24340f35aaa80262 LICENSE.rst diff --git a/bsp/buildroot/package/python-pathlib2/python-pathlib2.mk b/bsp/buildroot/package/python-pathlib2/python-pathlib2.mk index 0116420e..256d9b81 100644 --- a/bsp/buildroot/package/python-pathlib2/python-pathlib2.mk +++ b/bsp/buildroot/package/python-pathlib2/python-pathlib2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PATHLIB2_VERSION = 2.2.1 +PYTHON_PATHLIB2_VERSION = 2.3.3 PYTHON_PATHLIB2_SOURCE = pathlib2-$(PYTHON_PATHLIB2_VERSION).tar.gz -PYTHON_PATHLIB2_SITE = https://pypi.python.org/packages/ab/d8/ac7489d50146f29d0a14f65545698f4545d8a6b739b24b05859942048b56 +PYTHON_PATHLIB2_SITE = https://files.pythonhosted.org/packages/bf/d7/a2568f4596b75d2c6e2b4094a7e64f620decc7887f69a1f2811931ea15b9 PYTHON_PATHLIB2_LICENSE = MIT PYTHON_PATHLIB2_LICENSE_FILES = LICENSE.rst PYTHON_PATHLIB2_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-pexpect/python-pexpect.hash b/bsp/buildroot/package/python-pexpect/python-pexpect.hash index e3836074..bdeedefa 100644 --- a/bsp/buildroot/package/python-pexpect/python-pexpect.hash +++ b/bsp/buildroot/package/python-pexpect/python-pexpect.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pexpect/json, sha256 locally computed -md5 3694410001a99dff83f0b500a1ca1c95 pexpect-4.2.1.tar.gz -sha256 3d132465a75b57aa818341c6521392a06cc660feb3988d7f1074f39bd23c9a92 pexpect-4.2.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/pexpect/json +md5 d4f3372965a996238d57d19b95d2e03a pexpect-4.6.0.tar.gz +sha256 2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba pexpect-4.6.0.tar.gz +# Locally computed sha256 checksums +sha256 4a483ae1c4dc738a6c8b73feb49074e1835da02ab5aa686f2675029906fa364d LICENSE diff --git a/bsp/buildroot/package/python-pexpect/python-pexpect.mk b/bsp/buildroot/package/python-pexpect/python-pexpect.mk index f1f99039..5c385cef 100644 --- a/bsp/buildroot/package/python-pexpect/python-pexpect.mk +++ b/bsp/buildroot/package/python-pexpect/python-pexpect.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PEXPECT_VERSION = 4.2.1 +PYTHON_PEXPECT_VERSION = 4.6.0 PYTHON_PEXPECT_SOURCE = pexpect-$(PYTHON_PEXPECT_VERSION).tar.gz -PYTHON_PEXPECT_SITE = https://pypi.python.org/packages/e8/13/d0b0599099d6cd23663043a2a0bb7c61e58c6ba359b2656e6fb000ef5b98 +PYTHON_PEXPECT_SITE = https://files.pythonhosted.org/packages/89/43/07d07654ee3e25235d8cea4164cdee0ec39d1fda8e9203156ebe403ffda4 PYTHON_PEXPECT_LICENSE = ISC PYTHON_PEXPECT_LICENSE_FILES = LICENSE PYTHON_PEXPECT_SETUP_TYPE = distutils @@ -16,7 +16,7 @@ PYTHON_PEXPECT_SETUP_TYPE = distutils # https://github.com/pexpect/pexpect/issues/290 ifeq ($(BR2_PACKAGE_PYTHON),y) define PYTHON_PEXPECT_REMOVE_ASYNC_PY - $(RM) $(@D)/pexpect/async.py + $(RM) $(@D)/pexpect/_async.py endef PYTHON_PEXPECT_POST_PATCH_HOOKS += PYTHON_PEXPECT_REMOVE_ASYNC_PY endif diff --git a/bsp/buildroot/package/python-pigpio/Config.in b/bsp/buildroot/package/python-pigpio/Config.in new file mode 100644 index 00000000..4c9152a6 --- /dev/null +++ b/bsp/buildroot/package/python-pigpio/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_PIGPIO + bool "python-pigpio" + help + Pigpio is a Python module for the Raspberry Pi + which talks to the pigpio daemon to allow control + of the general purpose input outputs (GPIO). + + http://abyz.me.uk/rpi/pigpio/python.html diff --git a/bsp/buildroot/package/python-pigpio/python-pigpio.hash b/bsp/buildroot/package/python-pigpio/python-pigpio.hash new file mode 100644 index 00000000..41ac25c3 --- /dev/null +++ b/bsp/buildroot/package/python-pigpio/python-pigpio.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/pigpio/json +md5 f63ca89fdc733a5bad784155e6c1b9ff pigpio-1.42.tar.gz +sha256 274fc6df10a787e6a34b748a61a142f38dbf812b386f5b1762c66ad6a67b7873 pigpio-1.42.tar.gz diff --git a/bsp/buildroot/package/python-pigpio/python-pigpio.mk b/bsp/buildroot/package/python-pigpio/python-pigpio.mk new file mode 100644 index 00000000..7da1b6f4 --- /dev/null +++ b/bsp/buildroot/package/python-pigpio/python-pigpio.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-pigpio +# +################################################################################ + +PYTHON_PIGPIO_VERSION = 1.42 +PYTHON_PIGPIO_SOURCE = pigpio-$(PYTHON_PIGPIO_VERSION).tar.gz +PYTHON_PIGPIO_SITE = https://files.pythonhosted.org/packages/f6/c1/73d7b4287e2edc7e06ac34a4ec0c73d4758ba755a8d2ecc2aaf57bf7d54c +PYTHON_PIGPIO_SETUP_TYPE = setuptools +PYTHON_PIGPIO_LICENSE = Unlicense + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pillow/python-pillow.hash b/bsp/buildroot/package/python-pillow/python-pillow.hash index d8c083b4..0f90a0be 100644 --- a/bsp/buildroot/package/python-pillow/python-pillow.hash +++ b/bsp/buildroot/package/python-pillow/python-pillow.hash @@ -1,3 +1,4 @@ -# md5 from https://pypi.python.org/pypi/pillow/json, sha256 locally computed -md5 11e5e2046cf41586716a6042d89abeeb Pillow-4.2.1.tar.gz -sha256 c724f65870e545316f9e82e4c6d608ab5aa9dd82d5185e5b2e72119378740073 Pillow-4.2.1.tar.gz +# sha256 for python-pillow from https://pypi.org/project/Pillow/5.2.0/#files +# sha256 for LICENSE locally computed +sha256 f8b3d413c5a8f84b12cd4c5df1d8e211777c9852c6be3ee9c094b626644d3eab Pillow-5.2.0.tar.gz +sha256 4960fc18becc286be839c8ff17bd70cd5222533f761129142153443718a25199 LICENSE diff --git a/bsp/buildroot/package/python-pillow/python-pillow.mk b/bsp/buildroot/package/python-pillow/python-pillow.mk index 79d6a77c..c3a3d133 100644 --- a/bsp/buildroot/package/python-pillow/python-pillow.mk +++ b/bsp/buildroot/package/python-pillow/python-pillow.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PILLOW_VERSION = 4.2.1 +PYTHON_PILLOW_VERSION = 5.2.0 PYTHON_PILLOW_SOURCE = Pillow-$(PYTHON_PILLOW_VERSION).tar.gz -PYTHON_PILLOW_SITE = https://pypi.python.org/packages/55/aa/f7f983fb72710a9daa4b3374b7c160091d3f94f5c09221f9336ade9027f3 +PYTHON_PILLOW_SITE = https://files.pythonhosted.org/packages/d3/c4/b45b9c0d549f482dd072055e2d3ced88f3b977f7b87c7a990228b20e7da1 PYTHON_PILLOW_LICENSE = PIL Software License PYTHON_PILLOW_LICENSE_FILES = LICENSE PYTHON_PILLOW_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-pip/Config.in b/bsp/buildroot/package/python-pip/Config.in new file mode 100644 index 00000000..ac741da8 --- /dev/null +++ b/bsp/buildroot/package/python-pip/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PIP + bool "python-pip" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + help + The PyPA recommended tool for installing Python packages. + + https://pip.pypa.io/ diff --git a/bsp/buildroot/package/python-pip/python-pip.hash b/bsp/buildroot/package/python-pip/python-pip.hash new file mode 100644 index 00000000..149099b1 --- /dev/null +++ b/bsp/buildroot/package/python-pip/python-pip.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pip/json +md5 b6919f1a368138f73b367abccc06f5ae pip-19.0.1.tar.gz +sha256 e81ddd35e361b630e94abeda4a1eddd36d47a90e71eb00f38f46b57f787cd1a5 pip-19.0.1.tar.gz +# Locally computed sha256 checksums +sha256 5ba21fbb0964f936ad7d15362d1ed6d4931cc8c8f9ff2d4d91190e109be74431 LICENSE.txt diff --git a/bsp/buildroot/package/python-pip/python-pip.mk b/bsp/buildroot/package/python-pip/python-pip.mk new file mode 100644 index 00000000..22562cc9 --- /dev/null +++ b/bsp/buildroot/package/python-pip/python-pip.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pip +# +################################################################################ + +PYTHON_PIP_VERSION = 19.0.1 +PYTHON_PIP_SOURCE = pip-$(PYTHON_PIP_VERSION).tar.gz +PYTHON_PIP_SITE = https://files.pythonhosted.org/packages/c8/89/ad7f27938e59db1f0f55ce214087460f65048626e2226531ba6cb6da15f0 +PYTHON_PIP_SETUP_TYPE = setuptools +PYTHON_PIP_LICENSE = MIT +PYTHON_PIP_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-ply/Config.in b/bsp/buildroot/package/python-ply/Config.in new file mode 100644 index 00000000..d6d265ad --- /dev/null +++ b/bsp/buildroot/package/python-ply/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PLY + bool "python-ply" + help + Python Lex & Yacc. + + http://www.dabeaz.com/ply/ diff --git a/bsp/buildroot/package/python-ply/python-ply.hash b/bsp/buildroot/package/python-ply/python-ply.hash new file mode 100644 index 00000000..1eba3b0f --- /dev/null +++ b/bsp/buildroot/package/python-ply/python-ply.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/ply/json +md5 6465f602e656455affcd7c5734c638f8 ply-3.11.tar.gz +sha256 00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3 ply-3.11.tar.gz +# Locally computed sha256 checksums +sha256 1095b93b81d2043c5c55e0859875b416f75edb6d5eccb4bf2ace1b5445d1c84f README.md diff --git a/bsp/buildroot/package/python-ply/python-ply.mk b/bsp/buildroot/package/python-ply/python-ply.mk new file mode 100644 index 00000000..95a290a7 --- /dev/null +++ b/bsp/buildroot/package/python-ply/python-ply.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-ply +# +################################################################################ + +PYTHON_PLY_VERSION = 3.11 +PYTHON_PLY_SOURCE = ply-$(PYTHON_PLY_VERSION).tar.gz +PYTHON_PLY_SITE = https://files.pythonhosted.org/packages/e5/69/882ee5c9d017149285cab114ebeab373308ef0f874fcdac9beb90e0ac4da +PYTHON_PLY_SETUP_TYPE = setuptools +PYTHON_PLY_LICENSE = BSD-3-Clause +PYTHON_PLY_LICENSE_FILES = README.md + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-posix-ipc/Config.in b/bsp/buildroot/package/python-posix-ipc/Config.in index eba36edd..2c626786 100644 --- a/bsp/buildroot/package/python-posix-ipc/Config.in +++ b/bsp/buildroot/package/python-posix-ipc/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_PYTHON_POSIX_IPC bool "python-posix-ipc" - depends on BR2_PACKAGE_PYTHON depends on BR2_TOOLCHAIN_HAS_THREADS help The Python extension module posix_ipc gives access to POSIX diff --git a/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.hash b/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.hash index 196f186d..d267cabc 100644 --- a/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.hash +++ b/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/posix-ipc/json, sha256 locally computed -md5 85607a392087715ac3a3c7ded2492d06 posix_ipc-1.0.0.tar.gz -sha256 9c93070374ca672725575e5c9874930c8cde69367fb90378b2255e048e31efcb posix_ipc-1.0.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/posix-ipc/json +md5 c4fd0065244ccb2f59cb8ceedf287cf6 posix_ipc-1.0.4.tar.gz +sha256 ff6c9077633fc62a491d6997c43b094d885bb45a7ca1f36c9a0d647c54b74b14 posix_ipc-1.0.4.tar.gz +# Locally computed sha256 checksums +sha256 61f0669e70518e6d32f87e485965fe9309de60e4bef938b29cecd068b3db9a98 LICENSE diff --git a/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.mk b/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.mk index 6178c754..d4429f11 100644 --- a/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.mk +++ b/bsp/buildroot/package/python-posix-ipc/python-posix-ipc.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_POSIX_IPC_VERSION = 1.0.0 +PYTHON_POSIX_IPC_VERSION = 1.0.4 PYTHON_POSIX_IPC_SOURCE = posix_ipc-$(PYTHON_POSIX_IPC_VERSION).tar.gz -PYTHON_POSIX_IPC_SITE = https://pypi.python.org/packages/f0/e6/bff62b62b2e75f695b737695951b7a4c1c6595369268a37868f5c34e1c12 +PYTHON_POSIX_IPC_SITE = https://files.pythonhosted.org/packages/c9/3e/54217da71aa26b488295d878df4d3132093253b4ae5798ac66fcb6921ef0 PYTHON_POSIX_IPC_LICENSE = BSD-3-Clause PYTHON_POSIX_IPC_LICENSE_FILES = LICENSE -PYTHON_POSIX_IPC_SETUP_TYPE = distutils +PYTHON_POSIX_IPC_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-protobuf/Config.in b/bsp/buildroot/package/python-protobuf/Config.in index 500c82a5..8a70e80a 100644 --- a/bsp/buildroot/package/python-protobuf/Config.in +++ b/bsp/buildroot/package/python-protobuf/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_PYTHON_PROTOBUF bool "python-protobuf" # host-protobuf only builds on certain architectures depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_HOST_GCC_AT_LEAST_4_5 # host-protobuf + depends on BR2_HOST_GCC_AT_LEAST_4_8 # host-protobuf select BR2_PACKAGE_PYTHON_SIX # runtime help Python implementation of the Google Protocol Buffers. diff --git a/bsp/buildroot/package/python-protobuf/python-protobuf.hash b/bsp/buildroot/package/python-protobuf/python-protobuf.hash index 91cab4ec..652751c7 100644 --- a/bsp/buildroot/package/python-protobuf/python-protobuf.hash +++ b/bsp/buildroot/package/python-protobuf/python-protobuf.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1faa722cf475c8e4c43ddb393d6f1477f1a56c93be38a1c8e367c358db476b5f protobuf-python-3.4.1.tar.gz +sha256 6b399412cd68c7efe64d31824ad0db44f803aed91d0c6a9ea94272682c3da2df protobuf-python-3.6.0.tar.gz +sha256 6e5e117324afd944dcf67f36cf329843bc1a92229a8cd9bb573d7a83130fea7d LICENSE diff --git a/bsp/buildroot/package/python-psutil/python-psutil.hash b/bsp/buildroot/package/python-psutil/python-psutil.hash index 19fb8a4f..12d53f95 100644 --- a/bsp/buildroot/package/python-psutil/python-psutil.hash +++ b/bsp/buildroot/package/python-psutil/python-psutil.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/psutil/json, sha256 locally computed -md5 c9aa2599dcd9e5b59d71b6660d396062 psutil-5.2.0.tar.gz -sha256 2fc91d068faa5613c093335f0e758673ef8c722ad4bfa4aded64c13ae69089eb psutil-5.2.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/psutil/json +md5 0502dad59fcbe047baebe07165b1376a psutil-5.5.0.tar.gz +sha256 1aba93430050270750d046a179c5f3d6e1f5f8b96c20399ba38c596b28fc4d37 psutil-5.5.0.tar.gz +# Locally computed sha256 checksums +sha256 bb073826b0dfb43b631c38ad5d9844cda74cc631d2a5569ad8798be4274a3e17 LICENSE diff --git a/bsp/buildroot/package/python-psutil/python-psutil.mk b/bsp/buildroot/package/python-psutil/python-psutil.mk index 2b41df74..2a708454 100644 --- a/bsp/buildroot/package/python-psutil/python-psutil.mk +++ b/bsp/buildroot/package/python-psutil/python-psutil.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PSUTIL_VERSION = 5.2.0 +PYTHON_PSUTIL_VERSION = 5.5.0 PYTHON_PSUTIL_SOURCE = psutil-$(PYTHON_PSUTIL_VERSION).tar.gz -PYTHON_PSUTIL_SITE = https://pypi.python.org/packages/3c/2f/f3ab91349c666f009077157b12057e613a3152a46a6c3be883777546b6de +PYTHON_PSUTIL_SITE = https://files.pythonhosted.org/packages/6e/a0/833bcbcede5141cc5615e50c7cc5b960ce93d9c9b885fbe3b7d36e48a2d4 PYTHON_PSUTIL_SETUP_TYPE = setuptools PYTHON_PSUTIL_LICENSE = BSD-3-Clause PYTHON_PSUTIL_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch b/bsp/buildroot/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch new file mode 100644 index 00000000..f2dc3adc --- /dev/null +++ b/bsp/buildroot/package/python-psycopg2/0001-setup.py-avoid-installing-tests-to-site-packages.patch @@ -0,0 +1,31 @@ +From 46c50849584d254b81ad058e1a53adcef1eb4c53 Mon Sep 17 00:00:00 2001 +From: Asaf Kahlon +Date: Fri, 12 Oct 2018 07:57:23 +0300 +Subject: [PATCH 1/1] setup.py: avoid installing tests to site-packages + +This patch update only setup.py from upstream patch +(389f6c08d9536060184bfd5c8ea2491a4a91c2fb). + +Signed-off-by: Asaf Kahlon +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index b521290..3f309fc 100644 +--- a/setup.py ++++ b/setup.py +@@ -674,8 +674,8 @@ setup(name="psycopg2", + long_description="\n".join(readme.split("\n")[2:]).lstrip(), + classifiers=[x for x in classifiers.split("\n") if x], + data_files=data_files, +- package_dir={'psycopg2': 'lib', 'psycopg2.tests': 'tests'}, +- packages=['psycopg2', 'psycopg2.tests'], ++ package_dir={'psycopg2': 'lib'}, ++ packages=['psycopg2'], + cmdclass={ + 'build_ext': psycopg_build_ext, + 'build_py': build_py, }, +-- +2.17.1 + diff --git a/bsp/buildroot/package/python-psycopg2/Config.in b/bsp/buildroot/package/python-psycopg2/Config.in new file mode 100644 index 00000000..ec27d706 --- /dev/null +++ b/bsp/buildroot/package/python-psycopg2/Config.in @@ -0,0 +1,26 @@ +config BR2_PACKAGE_PYTHON_PSYCOPG2 + bool "python-psycopg2" + depends on BR2_USE_WCHAR # postgresql + select BR2_PACKAGE_POSTGRESQL + help + Psycopg is the most popular PostgreSQL database adapter for + the Python programming language. Its main features are the + complete implementation of the Python DB API 2.0 specification + and the thread safety (several threads can share the same + connection). It was designed for heavily multi-threaded + applications that create and destroy lots of cursors and make + a large number of concurrent INSERTs or UPDATEs. + + Psycopg 2 is mostly implemented in C as a libpq wrapper, + resulting in being both efficient and secure. It features + client-side and server-side cursors, asynchronous + communication and notifications, COPY support. Many Python + types are supported out-of-the-box and adapted to matching + PostgreSQL data types; adaptation can be extended and + customized thanks to a flexible objects adaptation system. + Psycopg 2 is both Unicode and Python 3 friendly. + + http://initd.org/psycopg/ + +comment "python-psycopg2 needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/python-psycopg2/python-psycopg2.hash b/bsp/buildroot/package/python-psycopg2/python-psycopg2.hash new file mode 100644 index 00000000..c6e19976 --- /dev/null +++ b/bsp/buildroot/package/python-psycopg2/python-psycopg2.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/psycopg2/json +md5 598e2f43c1b26361ae2d3a3254dae414 psycopg2-2.7.7.tar.gz +sha256 f4526d078aedd5187d0508aa5f9a01eae6a48a470ed678406da94b4cd6524b7e psycopg2-2.7.7.tar.gz +# Locally computed sha256 checksums +sha256 3c2b037df24cb85ca1a48739dcab60a5037644b436f87173f6db0d101636b525 LICENSE diff --git a/bsp/buildroot/package/python-psycopg2/python-psycopg2.mk b/bsp/buildroot/package/python-psycopg2/python-psycopg2.mk new file mode 100644 index 00000000..e297d6e2 --- /dev/null +++ b/bsp/buildroot/package/python-psycopg2/python-psycopg2.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# python-psycopg2 +# +################################################################################ + +PYTHON_PSYCOPG2_VERSION = 2.7.7 +PYTHON_PSYCOPG2_SOURCE = psycopg2-$(PYTHON_PSYCOPG2_VERSION).tar.gz +PYTHON_PSYCOPG2_SITE = https://files.pythonhosted.org/packages/63/54/c039eb0f46f9a9406b59a638415c2012ad7be9b4b97bfddb1f48c280df3a +PYTHON_PSYCOPG2_SETUP_TYPE = setuptools +PYTHON_PSYCOPG2_LICENSE = LGPL-3.0+ +PYTHON_PSYCOPG2_LICENSE_FILES = LICENSE +PYTHON_PSYCOPG2_DEPENDENCIES = postgresql + +# Force psycopg2 to use the Buildroot provided postgresql version +# instead of the one from the host machine +PYTHON_PSYCOPG2_BUILD_OPTS = build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config +PYTHON_PSYCOPG2_INSTALL_TARGET_OPTS = build_ext --pg-config=$(STAGING_DIR)/usr/bin/pg_config + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-py/Config.in b/bsp/buildroot/package/python-py/Config.in new file mode 100644 index 00000000..354372f5 --- /dev/null +++ b/bsp/buildroot/package/python-py/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PY + bool "python-py" + help + library with cross-python path, ini-parsing, io, code, log + facilities. + + http://py.readthedocs.io/ diff --git a/bsp/buildroot/package/python-py/python-py.hash b/bsp/buildroot/package/python-py/python-py.hash new file mode 100644 index 00000000..67926527 --- /dev/null +++ b/bsp/buildroot/package/python-py/python-py.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/py/json +md5 e53ac12db4286737837ef3ccb4158301 py-1.7.0.tar.gz +sha256 bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694 py-1.7.0.tar.gz +# Locally computed sha256 checksums +sha256 2af680c39ef493fb82830356d1d3df1acb5a06033cba2dec7a19e21caa77a866 LICENSE diff --git a/bsp/buildroot/package/python-py/python-py.mk b/bsp/buildroot/package/python-py/python-py.mk new file mode 100644 index 00000000..87e19ac2 --- /dev/null +++ b/bsp/buildroot/package/python-py/python-py.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-py +# +################################################################################ + +PYTHON_PY_VERSION = 1.7.0 +PYTHON_PY_SOURCE = py-$(PYTHON_PY_VERSION).tar.gz +PYTHON_PY_SITE = https://files.pythonhosted.org/packages/c7/fa/eb6dd513d9eb13436e110aaeef9a1703437a8efa466ce6bb2ff1d9217ac7 +PYTHON_PY_DEPENDENCIES = host-python-setuptools-scm +PYTHON_PY_SETUP_TYPE = setuptools +PYTHON_PY_LICENSE = MIT +PYTHON_PY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pyasn1-modules/Config.in b/bsp/buildroot/package/python-pyasn1-modules/Config.in new file mode 100644 index 00000000..6aff4d93 --- /dev/null +++ b/bsp/buildroot/package/python-pyasn1-modules/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYASN1_MODULES + bool "python-pyasn1-modules" + select BR2_PACKAGE_PYTHON_PYASN1 # runtime + help + A collection of ASN.1-based protocols modules. + + https://github.com/etingof/pyasn1-modules diff --git a/bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash b/bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash new file mode 100644 index 00000000..f8af9a4b --- /dev/null +++ b/bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyasn1-modules/json +md5 0116a480c28e1ab00587ba3a6fd7c335 pyasn1-modules-0.2.4.tar.gz +sha256 a52090e8c5841ebbf08ae455146792d9ef3e8445b21055d3a3b7ed9c712b7c7c pyasn1-modules-0.2.4.tar.gz +# Locally computed sha256 checksums +sha256 22c5cc6922ab5d69fba32d8c5ee4cdd14981508cb53afc0ebd85593847fd95a5 LICENSE.txt diff --git a/bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk b/bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk new file mode 100644 index 00000000..a67d4695 --- /dev/null +++ b/bsp/buildroot/package/python-pyasn1-modules/python-pyasn1-modules.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyasn1-modules +# +################################################################################ + +PYTHON_PYASN1_MODULES_VERSION = 0.2.4 +PYTHON_PYASN1_MODULES_SOURCE = pyasn1-modules-$(PYTHON_PYASN1_MODULES_VERSION).tar.gz +PYTHON_PYASN1_MODULES_SITE = https://files.pythonhosted.org/packages/bd/a5/ef7bf693e8a8f015386c9167483199f54f8a8ec01d1c737e05524f16e792 +PYTHON_PYASN1_MODULES_SETUP_TYPE = setuptools +PYTHON_PYASN1_MODULES_LICENSE = BSD-2-Clause +PYTHON_PYASN1_MODULES_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pyasn1/Config.in b/bsp/buildroot/package/python-pyasn1/Config.in new file mode 100644 index 00000000..fea63813 --- /dev/null +++ b/bsp/buildroot/package/python-pyasn1/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYASN1 + bool "python-pyasn1" + help + ASN.1 types and codecs. + + https://github.com/etingof/pyasn1 diff --git a/bsp/buildroot/package/python-pyasn1/python-pyasn1.hash b/bsp/buildroot/package/python-pyasn1/python-pyasn1.hash new file mode 100644 index 00000000..bd21cebd --- /dev/null +++ b/bsp/buildroot/package/python-pyasn1/python-pyasn1.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyasn1/json +md5 f3c0cfbf882a20811be5ad5a41f74b82 pyasn1-0.4.5.tar.gz +sha256 da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7 pyasn1-0.4.5.tar.gz +# Locally computed sha256 checksums +sha256 22c5cc6922ab5d69fba32d8c5ee4cdd14981508cb53afc0ebd85593847fd95a5 LICENSE.rst diff --git a/bsp/buildroot/package/python-pyasn1/python-pyasn1.mk b/bsp/buildroot/package/python-pyasn1/python-pyasn1.mk new file mode 100644 index 00000000..3f79cc2e --- /dev/null +++ b/bsp/buildroot/package/python-pyasn1/python-pyasn1.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyasn1 +# +################################################################################ + +PYTHON_PYASN1_VERSION = 0.4.5 +PYTHON_PYASN1_SOURCE = pyasn1-$(PYTHON_PYASN1_VERSION).tar.gz +PYTHON_PYASN1_SITE = https://files.pythonhosted.org/packages/46/60/b7e32f6ff481b8a1f6c8f02b0fd9b693d1c92ddd2efb038ec050d99a7245 +PYTHON_PYASN1_SETUP_TYPE = setuptools +PYTHON_PYASN1_LICENSE = BSD-2-Clause +PYTHON_PYASN1_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pycares/Config.in b/bsp/buildroot/package/python-pycares/Config.in new file mode 100644 index 00000000..4144952d --- /dev/null +++ b/bsp/buildroot/package/python-pycares/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYCARES + bool "python-pycares" + help + Python interface for c-ares. + + http://github.com/saghul/pycares diff --git a/bsp/buildroot/package/python-pycares/python-pycares.hash b/bsp/buildroot/package/python-pycares/python-pycares.hash new file mode 100644 index 00000000..2e80a974 --- /dev/null +++ b/bsp/buildroot/package/python-pycares/python-pycares.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pycares/json +md5 74893b2b380fbb45329a406ae4b1ae89 pycares-2.3.0.tar.gz +sha256 36f4c03df57c41a87eb3d642201684eb5a8bc194f4bafaa9f60ee6dc0aef8e40 pycares-2.3.0.tar.gz +# Locally computed sha256 checksums +sha256 427bb3a5372024a26e2c290b24382512bcc7ca123431c4dd178dd613beea7eee LICENSE diff --git a/bsp/buildroot/package/python-pycares/python-pycares.mk b/bsp/buildroot/package/python-pycares/python-pycares.mk new file mode 100644 index 00000000..961c87ea --- /dev/null +++ b/bsp/buildroot/package/python-pycares/python-pycares.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pycares +# +################################################################################ + +PYTHON_PYCARES_VERSION = 2.3.0 +PYTHON_PYCARES_SOURCE = pycares-$(PYTHON_PYCARES_VERSION).tar.gz +PYTHON_PYCARES_SITE = https://files.pythonhosted.org/packages/89/5c/3a7e1a52d6abb52b9ca1a56d2df699936e89d8b98f75cfd60d03363e7c10 +PYTHON_PYCARES_SETUP_TYPE = setuptools +PYTHON_PYCARES_LICENSE = MIT +PYTHON_PYCARES_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pycparser/python-pycparser.hash b/bsp/buildroot/package/python-pycparser/python-pycparser.hash index 25747c3a..6230f7cc 100644 --- a/bsp/buildroot/package/python-pycparser/python-pycparser.hash +++ b/bsp/buildroot/package/python-pycparser/python-pycparser.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pycparser/json, sha256 locally computed -md5 ca98dcb50bc1276f230118f6af5a40c7 pycparser-2.17.tar.gz -sha256 0aac31e917c24cb3357f5a4d5566f2cc91a19ca41862f6c3c22dc60a629673b6 pycparser-2.17.tar.gz +# md5, sha256 from https://pypi.org/pypi/pycparser/json +md5 76396762adc3fa769c83d8e202d36b6f pycparser-2.19.tar.gz +sha256 a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3 pycparser-2.19.tar.gz +# Locally computed sha256 checksums +sha256 3c76629880aec2f8578ed914701a4ff9e5da8b60acb8b7ec675abf83c90c5168 LICENSE diff --git a/bsp/buildroot/package/python-pycparser/python-pycparser.mk b/bsp/buildroot/package/python-pycparser/python-pycparser.mk index 08a22b45..c07edaaa 100644 --- a/bsp/buildroot/package/python-pycparser/python-pycparser.mk +++ b/bsp/buildroot/package/python-pycparser/python-pycparser.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYCPARSER_VERSION = 2.17 +PYTHON_PYCPARSER_VERSION = 2.19 PYTHON_PYCPARSER_SOURCE = pycparser-$(PYTHON_PYCPARSER_VERSION).tar.gz -PYTHON_PYCPARSER_SITE = https://pypi.python.org/packages/be/64/1bb257ffb17d01f4a38d7ce686809a736837ad4371bcc5c42ba7a715c3ac +PYTHON_PYCPARSER_SITE = https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a PYTHON_PYCPARSER_SETUP_TYPE = setuptools PYTHON_PYCPARSER_LICENSE = BSD-3-Clause PYTHON_PYCPARSER_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-pycryptodomex/Config.in b/bsp/buildroot/package/python-pycryptodomex/Config.in new file mode 100644 index 00000000..c7127fee --- /dev/null +++ b/bsp/buildroot/package/python-pycryptodomex/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYCRYPTODOMEX + bool "python-pycryptodomex" + help + Cryptographic library for Python. + + http://www.pycryptodome.org diff --git a/bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash b/bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash new file mode 100644 index 00000000..2caf97a2 --- /dev/null +++ b/bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/pycryptodomex/json +md5 ae7083008139cf9372322dcd99e92db0 pycryptodomex-3.7.1.tar.gz +sha256 4ba053bea752ddc89b94d1f9f87008ef296a644b8dec0201c021d9636c069322 pycryptodomex-3.7.1.tar.gz +# Locally computed sha256 checksums +sha256 d1af3fab2ef8cc53b6c7f48bdeb178ac874b04faf4ba0159a96b6109f1d393e2 LICENSE.rst +sha256 8e563c767164faa0831a333b57d23d4311cf566eb1b15d93250f4606be4eb549 Doc/LEGAL/COPYRIGHT.pycrypto diff --git a/bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk b/bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk new file mode 100644 index 00000000..3d3b97ca --- /dev/null +++ b/bsp/buildroot/package/python-pycryptodomex/python-pycryptodomex.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-pycryptodomex +# +################################################################################ + +PYTHON_PYCRYPTODOMEX_VERSION = 3.7.1 +PYTHON_PYCRYPTODOMEX_SOURCE = pycryptodomex-$(PYTHON_PYCRYPTODOMEX_VERSION).tar.gz +PYTHON_PYCRYPTODOMEX_SITE = https://files.pythonhosted.org/packages/f6/be/9f65b7db183628bdb36401105a3fc9f1688909f5184c115902a7bdd333bd +PYTHON_PYCRYPTODOMEX_SETUP_TYPE = setuptools +PYTHON_PYCRYPTODOMEX_LICENSE = \ + BSD-2-Clause, \ + Public Domain (pycrypto original code), \ + OCB patent license (OCB mode) +PYTHON_PYCRYPTODOMEX_LICENSE_FILES = LICENSE.rst Doc/LEGAL/COPYRIGHT.pycrypto + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pydal/python-pydal.hash b/bsp/buildroot/package/python-pydal/python-pydal.hash index 9a3fad37..27f2e6c7 100644 --- a/bsp/buildroot/package/python-pydal/python-pydal.hash +++ b/bsp/buildroot/package/python-pydal/python-pydal.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/pydal/json, sha256 locally computed -md5 5a6ad0db15dc39987b4518247a9d0b4b pyDAL-17.8.tar.gz -sha256 46abe2c978ec24013e29cf485a74c90309ebcd2f0d577687ff2d224547cebfc8 pyDAL-17.8.tar.gz +# sha256 from https://pypi.org/project/pyDAL/#files +sha256 763ed017f431fc3d9fa9243f6be2519ff49b8a260d15763c4733762d9c086904 python-pydal-v18.09.tar.gz +sha256 ae7d7b6888bb72f26af2bcbee69ae6f8a49e12f66c99e78f2a8b806effc5219d LICENSE diff --git a/bsp/buildroot/package/python-pydal/python-pydal.mk b/bsp/buildroot/package/python-pydal/python-pydal.mk index c8d4b44c..4ff58def 100644 --- a/bsp/buildroot/package/python-pydal/python-pydal.mk +++ b/bsp/buildroot/package/python-pydal/python-pydal.mk @@ -4,9 +4,8 @@ # ################################################################################ -PYTHON_PYDAL_VERSION = 17.8 -PYTHON_PYDAL_SOURCE = pyDAL-$(PYTHON_PYDAL_VERSION).tar.gz -PYTHON_PYDAL_SITE = https://pypi.python.org/packages/e3/bd/1d5ca8be486d845074161456637f7d73acc09dc6c8d69bf0e7ad55ce9027 +PYTHON_PYDAL_VERSION = v18.09 +PYTHON_PYDAL_SITE = $(call github,web2py,pydal,$(PYTHON_PYDAL_VERSION)) PYTHON_PYDAL_LICENSE = BSD-3-Clause PYTHON_PYDAL_LICENSE_FILES = LICENSE PYTHON_PYDAL_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-pyhamcrest/Config.in b/bsp/buildroot/package/python-pyhamcrest/Config.in new file mode 100644 index 00000000..c2a4dc06 --- /dev/null +++ b/bsp/buildroot/package/python-pyhamcrest/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_PYHAMCREST + bool "python-pyhamcrest" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Hamcrest framework for matcher objects. + + https://github.com/hamcrest/PyHamcrest diff --git a/bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.hash b/bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.hash new file mode 100644 index 00000000..0c1660e0 --- /dev/null +++ b/bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyhamcrest/json +md5 8b833a3fa30197455df79424f30c8c3f PyHamcrest-1.9.0.tar.gz +sha256 8ffaa0a53da57e89de14ced7185ac746227a8894dbd5a3c718bf05ddbd1d56cd PyHamcrest-1.9.0.tar.gz +# Locally computed sha256 checksums +sha256 ec76c04449607010d061b1e29c9d20a5ffae74db9d04670ae82538ccfe68b941 LICENSE.txt diff --git a/bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.mk b/bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.mk new file mode 100644 index 00000000..244aa8c6 --- /dev/null +++ b/bsp/buildroot/package/python-pyhamcrest/python-pyhamcrest.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pyhamcrest +# +################################################################################ + +PYTHON_PYHAMCREST_VERSION = 1.9.0 +PYTHON_PYHAMCREST_SOURCE = PyHamcrest-$(PYTHON_PYHAMCREST_VERSION).tar.gz +PYTHON_PYHAMCREST_SITE = https://files.pythonhosted.org/packages/a4/89/a469aad9256aedfbb47a29ec2b2eeb855d9f24a7a4c2ff28bd8d1042ef02 +PYTHON_PYHAMCREST_SETUP_TYPE = setuptools +PYTHON_PYHAMCREST_LICENSE = BSD-3-Clause +PYTHON_PYHAMCREST_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pymodbus/Config.in b/bsp/buildroot/package/python-pymodbus/Config.in new file mode 100644 index 00000000..49043c10 --- /dev/null +++ b/bsp/buildroot/package/python-pymodbus/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYMODBUS + bool "python-pymodbus" + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Pymodbus is a full Modbus protocol implementation. + + https://github.com/riptideio/pymodbus diff --git a/bsp/buildroot/package/python-pymodbus/python-pymodbus.hash b/bsp/buildroot/package/python-pymodbus/python-pymodbus.hash new file mode 100644 index 00000000..c930795e --- /dev/null +++ b/bsp/buildroot/package/python-pymodbus/python-pymodbus.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 e33bd0dfbd2cbd4dbc686ca87f809aebb7d72e940eb5846d5d38bb0f3371b26a python-pymodbus-v1.4.0.tar.gz +sha256 796a47993313691ea404d8af7e4c0f9daf1d2760e3900938985b59c9008eee2f doc/LICENSE diff --git a/bsp/buildroot/package/python-pymodbus/python-pymodbus.mk b/bsp/buildroot/package/python-pymodbus/python-pymodbus.mk new file mode 100644 index 00000000..40470fe9 --- /dev/null +++ b/bsp/buildroot/package/python-pymodbus/python-pymodbus.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-pymodbus +# +################################################################################ + +PYTHON_PYMODBUS_VERSION = v1.4.0 +PYTHON_PYMODBUS_SITE = $(call github,riptideio,pymodbus,$(PYTHON_PYMODBUS_VERSION)) +PYTHON_PYMODBUS_SETUP_TYPE = setuptools +PYTHON_PYMODBUS_LICENSE = BSD-3-Clause +PYTHON_PYMODBUS_LICENSE_FILES = doc/LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pynacl/python-pynacl.hash b/bsp/buildroot/package/python-pynacl/python-pynacl.hash index 7035ac76..84d8674b 100644 --- a/bsp/buildroot/package/python-pynacl/python-pynacl.hash +++ b/bsp/buildroot/package/python-pynacl/python-pynacl.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=12fd03d8ce64e0318cb1c69272f17704, sha256 locally computed. -md5 12fd03d8ce64e0318cb1c69272f17704 PyNaCl-1.0.1.tar.gz -sha256 d21d7a7358a85fb9b9ddadfbd1176c40fe199334fe2202881255e77f6d3773f4 PyNaCl-1.0.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/pynacl/json +md5 1db3e111775fbe6b66772ff30af7a956 PyNaCl-1.2.1.tar.gz +sha256 e0d38fa0a75f65f556fb912f2c6790d1fa29b7dd27a1d9cc5591b281321eaaa9 PyNaCl-1.2.1.tar.gz +# Locally computed sha256 checksums +sha256 d3174ad63e721d4c9dccb8ad4320848992d314369bc46319720b5802c9153fe9 LICENSE diff --git a/bsp/buildroot/package/python-pynacl/python-pynacl.mk b/bsp/buildroot/package/python-pynacl/python-pynacl.mk index 469ddda4..1203a6e1 100644 --- a/bsp/buildroot/package/python-pynacl/python-pynacl.mk +++ b/bsp/buildroot/package/python-pynacl/python-pynacl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYNACL_VERSION = 1.0.1 +PYTHON_PYNACL_VERSION = 1.2.1 PYTHON_PYNACL_SOURCE = PyNaCl-$(PYTHON_PYNACL_VERSION).tar.gz -PYTHON_PYNACL_SITE = https://pypi.python.org/packages/source/P/PyNaCl +PYTHON_PYNACL_SITE = https://files.pythonhosted.org/packages/08/19/cf56e60efd122fa6d2228118a9b345455b13ffe16a14be81d025b03b261f PYTHON_PYNACL_LICENSE = Apache-2.0 PYTHON_PYNACL_LICENSE_FILES = LICENSE PYTHON_PYNACL_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.hash b/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.hash index 74fa4e56..30071cf9 100644 --- a/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.hash +++ b/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pyopenssl/json, sha256 locally computed -md5 0704ca95106960375cfe78259453094a pyOpenSSL-17.0.0.tar.gz -sha256 48abfe9d2bb8eb8d8947c8452b0223b7b1be2383b332f3b4f248fe59ef0bafdd pyOpenSSL-17.0.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/pyopenssl/json +md5 b9876625dc1d5a5a662d748689191537 pyOpenSSL-19.0.0.tar.gz +sha256 aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200 pyOpenSSL-19.0.0.tar.gz +# Locally computed sha256 +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.mk b/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.mk index 3fbaf8d1..d341ef12 100644 --- a/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.mk +++ b/bsp/buildroot/package/python-pyopenssl/python-pyopenssl.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYOPENSSL_VERSION = 17.0.0 +PYTHON_PYOPENSSL_VERSION = 19.0.0 PYTHON_PYOPENSSL_SOURCE = pyOpenSSL-$(PYTHON_PYOPENSSL_VERSION).tar.gz -PYTHON_PYOPENSSL_SITE = https://pypi.python.org/packages/9f/32/80fe4fddeb731b7766cd09fe0b2032a91b43dae655e216792af2a6ae3190 +PYTHON_PYOPENSSL_SITE = https://files.pythonhosted.org/packages/40/d0/8efd61531f338a89b4efa48fcf1972d870d2b67a7aea9dcf70783c8464dc PYTHON_PYOPENSSL_LICENSE = Apache-2.0 PYTHON_PYOPENSSL_LICENSE_FILES = LICENSE PYTHON_PYOPENSSL_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-pyqt/0001-configure-skip-qtdetail.patch b/bsp/buildroot/package/python-pyqt/0001-configure-skip-qtdetail.patch deleted file mode 100644 index 08e99d02..00000000 --- a/bsp/buildroot/package/python-pyqt/0001-configure-skip-qtdetail.patch +++ /dev/null @@ -1,29 +0,0 @@ -Do not run qtdetail - -qtdetail is a tool that generates qtdetail.out. Since this program is -cross-compiled, it's not possible to run it on the host. - -Consequently, python-pyqt.mk generates the qtdetail.out file before -calling configure-ng.py. - -Therefore, this patch makes sure that the pre-generated qtdetail.out -file is kept, and that qtdetail is not executed. - -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Sergey Kostanbaev ---- -Index: PyQt-x11-gpl-4.11.3/configure-ng.py -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/configure-ng.py -+++ PyQt-x11-gpl-4.11.3/configure-ng.py -@@ -672,10 +672,6 @@ int main(int argc, char **argv) - if cmd is None: - error("Failed to determine the detail of your Qt installation. Try again using the --verbose flag to see more detail about the problem.") - -- # Create the output file, first making sure it doesn't exist. -- remove_file(out_file) -- run_command(cmd, verbose) -- - if not os.access(out_file, os.F_OK): - error("%s failed to create %s. Make sure your Qt installation is correct." % (cmd, out_file)) - diff --git a/bsp/buildroot/package/python-pyqt/0002-configure-set-qws.patch b/bsp/buildroot/package/python-pyqt/0002-configure-set-qws.patch deleted file mode 100644 index 33a5648b..00000000 --- a/bsp/buildroot/package/python-pyqt/0002-configure-set-qws.patch +++ /dev/null @@ -1,43 +0,0 @@ -Add support for several Qt flavors - -Qt has two flavors: X11 and embedded (QWS). QWS has some limitations -compared to X11. This patch adds an option to select which version to -use. - -Signed-off-by: Gwenhael Goavec-Merou ---- -Index: PyQt-x11-gpl-4.11.3/configure-ng.py -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/configure-ng.py -+++ PyQt-x11-gpl-4.11.3/configure-ng.py -@@ -960,6 +960,9 @@ int main(int argc, char **argv) - if opts.vendlibdir is not None: - self.vend_lib_dir = opts.vendlibdir - -+ if opts.qtflavor is not None: -+ self.qt_flavor = opts.qtflavor -+ - # Handle any conflicts. - if self.qt_shared: - if len(self.static_plugins) != 0: -@@ -1177,6 +1180,11 @@ def create_optparser(target_config): - dest="notools", - help="disable the building of pyuic5, pyrcc5 and pylupdate5 " - "[default: enabled]") -+ g.add_option("--qt-flavor", dest='qtflavor', type='string', -+ default="WS_X11", metavar='QTFLAVOR', action='store', -+ help="select Qt flavor beetween WS_X11 and WS_QWS " -+ "only available on Linux)" -+ "[default: WS_X11]") - p.add_option_group(g) - - # Vendor ID. -@@ -2088,7 +2096,7 @@ def get_sip_flags(target_config): - elif target_config.py_platform == 'darwin': - plattag = 'WS_MACX' - else: -- plattag = 'WS_X11' -+ plattag = target_config.qt_flavor - - sip_flags.append('-t') - sip_flags.append(plattag) diff --git a/bsp/buildroot/package/python-pyqt/0003-sip-add_qws.patch b/bsp/buildroot/package/python-pyqt/0003-sip-add_qws.patch deleted file mode 100644 index 1ff706f6..00000000 --- a/bsp/buildroot/package/python-pyqt/0003-sip-add_qws.patch +++ /dev/null @@ -1,44 +0,0 @@ -Add WS_QWS in the Platforms variable and to define some types - -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Sergey Kostanbaev ---- -Index: PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/QtCoremod.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtCore/QtCoremod.sip -@@ -29,7 +29,7 @@ - - %Timeline {Qt_4_1_0 Qt_4_1_1 Qt_4_1_2 Qt_4_1_3 Qt_4_2_0 Qt_4_2_1 Qt_4_2_2 Qt_4_2_3 Qt_4_3_0 Qt_4_3_1 Qt_4_3_2 Qt_4_3_3 Qt_4_3_4 Qt_4_4_0 Qt_4_4_1 Qt_4_4_2 Qt_4_5_0 Qt_4_5_1 Qt_4_5_2 Qt_4_5_3 Qt_4_6_0 Qt_4_6_1 Qt_4_6_2 Qt_4_6_3 Qt_4_7_0 Qt_4_7_1 Qt_4_7_2 Qt_4_7_3 Qt_4_7_4 Qt_4_8_0 Qt_4_8_1 Qt_4_8_2 Qt_4_8_3 Qt_4_8_4 Qt_4_8_5 Qt_4_8_6 Qt_5_0_0} - --%Platforms {WS_X11 WS_WIN WS_MACX} -+%Platforms {WS_X11 WS_QWS WS_WIN WS_MACX} - - %Feature PyQt_Accessibility - %Feature PyQt_SessionManager -Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qprocess.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtCore/qprocess.sip -@@ -28,7 +28,7 @@ - %If (WS_WIN) - typedef void *Q_PID; - %End --%If (WS_X11 || WS_MACX) -+%If (WS_X11 || WS_QWS || WS_MACX) - typedef qint64 Q_PID; - %End - -Index: PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtGui/qwindowdefs.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtGui/qwindowdefs.sip -@@ -27,7 +27,7 @@ - - typedef QList QWidgetList; - %If (- Qt_5_0_0) --%If (WS_X11) -+%If (WS_X11 || WS_QWS) - // X11 specific definitions. - typedef unsigned long WId; - %End diff --git a/bsp/buildroot/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch b/bsp/buildroot/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch deleted file mode 100644 index c07bea77..00000000 --- a/bsp/buildroot/package/python-pyqt/0004-sip-QtGuit-hide-qfont-cachestatistics.patch +++ /dev/null @@ -1,18 +0,0 @@ -Hide QFont::cacheStatistics which isn't available in QWS - -Signed-off-by: Sergey Kostanbaev ---- - -diff -ur PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip pyqt-4.9.6/sip/QtGui/qfont.sip ---- PyQt-x11-gpl-4.9.6/sip/QtGui/qfont.sip 2012-12-08 13:51:38.000000000 +0400 -+++ pyqt-4.9.6/sip/QtGui/qfont.sip 2013-05-22 14:06:38.335000022 +0400 -@@ -185,7 +185,9 @@ - %End - static void initialize(); - static void cleanup(); -+%If (!WS_QWS) - static void cacheStatistics(); -+%End - QString defaultFamily() const; - QString lastResortFamily() const; - QString lastResortFont() const; diff --git a/bsp/buildroot/package/python-pyqt/0005-sip-fix_qws_handle.patch b/bsp/buildroot/package/python-pyqt/0005-sip-fix_qws_handle.patch deleted file mode 100644 index 80623d11..00000000 --- a/bsp/buildroot/package/python-pyqt/0005-sip-fix_qws_handle.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix build issue in QWS flavor - -Change HANDLE to void* to get rid of : -buildroot/output/build/python-pyqt-4.11.3/QtCore/sipQtCoreQThread.cpp:318:50: -error: invalid conversion from 'Qt::HANDLE {aka void*}' to 'long -unsigned int' [-fpermissive] error during compilation. - -Signed-off-by: Gwenhael Goavec-Merou -Signed-off-by: Sergey Kostanbaev ---- -Index: PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip -=================================================================== ---- PyQt-x11-gpl-4.11.3.orig/sip/QtCore/qnamespace.sip -+++ PyQt-x11-gpl-4.11.3/sip/QtCore/qnamespace.sip -@@ -1673,6 +1673,9 @@ namespace Qt - %If (WS_X11) - typedef unsigned long HANDLE; - %End -+%If (WS_QWS) -+ typedef void* HANDLE; -+%End - %End - %If (PyQt_Deprecated_5_0) - typedef Qt::WindowFlags WFlags; diff --git a/bsp/buildroot/package/python-pyqt/Config.in b/bsp/buildroot/package/python-pyqt/Config.in deleted file mode 100644 index 6934a4c4..00000000 --- a/bsp/buildroot/package/python-pyqt/Config.in +++ /dev/null @@ -1,21 +0,0 @@ -comment "python-pyqt needs Qt4" - depends on !BR2_PACKAGE_QT - -config BR2_PACKAGE_PYTHON_PYQT - bool "python-pyqt" - depends on BR2_PACKAGE_QT - select BR2_PACKAGE_PYTHON_SIP - help - PyQt4 for Qt Embedded 4 bindings. - - http://www.riverbankcomputing.com/software/pyqt/ - -if BR2_PACKAGE_PYTHON_PYQT - -config BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT - bool - default y if BR2_arm || BR2_armeb - default y if BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb - default y if (BR2_mipsel || BR2_mips) && BR2_PACKAGE_QT_EMBEDDED - -endif diff --git a/bsp/buildroot/package/python-pyqt/python-pyqt.hash b/bsp/buildroot/package/python-pyqt/python-pyqt.hash deleted file mode 100644 index 1709b66a..00000000 --- a/bsp/buildroot/package/python-pyqt/python-pyqt.hash +++ /dev/null @@ -1,5 +0,0 @@ -# From http://http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.11.3/ -md5 997c3e443165a89a559e0d96b061bf70 PyQt-x11-gpl-4.11.3.tar.gz - -# Locally calculated: -sha256 853780dcdbe2e6ba785d703d059b096e1fc49369d3e8d41a060be874b8745686 PyQt-x11-gpl-4.11.3.tar.gz diff --git a/bsp/buildroot/package/python-pyqt/python-pyqt.mk b/bsp/buildroot/package/python-pyqt/python-pyqt.mk deleted file mode 100644 index e8ae6416..00000000 --- a/bsp/buildroot/package/python-pyqt/python-pyqt.mk +++ /dev/null @@ -1,113 +0,0 @@ -################################################################################ -# -# python-pyqt -# -################################################################################ - -PYTHON_PYQT_VERSION = 4.11.3 -PYTHON_PYQT_SOURCE = PyQt-x11-gpl-$(PYTHON_PYQT_VERSION).tar.gz -PYTHON_PYQT_SITE = http://downloads.sourceforge.net/project/pyqt/PyQt4/PyQt-$(PYTHON_PYQT_VERSION) -PYTHON_PYQT_LICENSE = GPL-2.0 or GPL-3.0 -PYTHON_PYQT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 - -PYTHON_PYQT_DEPENDENCIES = python-sip host-python-sip qt - -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_PYQT_PYTHON_DIR = python$(PYTHON_VERSION_MAJOR) -PYTHON_PYQT_RM_PORT_BASE = port_v3 -else ifeq ($(BR2_PACKAGE_PYTHON3),y) -PYTHON_PYQT_PYTHON_DIR = python$(PYTHON3_VERSION_MAJOR) -PYTHON_PYQT_RM_PORT_BASE = port_v2 -endif - -ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y) -PYTHON_PYQT_QTFLAVOR = WS_QWS -else -PYTHON_PYQT_QTFLAVOR = WS_X11 -endif - -PYTHON_PYQT_QTDETAIL_LICENSE = Open Source - -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -PYTHON_PYQT_QTDETAIL_TYPE = shared -endif - -# Turn off features that aren't available in QWS and current qt -# configuration. -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES = \ - PyQt_Accessibility PyQt_SessionManager \ - PyQt_Shortcut PyQt_RawFont - -ifeq ($(BR2_PACKAGE_QT_OPENSSL),) -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_OpenSSL -endif - -# Yes, this looks a bit weird: when OpenGL ES is available, we have to -# disable the feature that consists in not having OpenGL ES support. -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_NoOpenGLES -endif - -# PyQt_qreal_double must be disabled on a number of architectures that -# use float for qreal. -ifeq ($(BR2_PACKAGE_PYTHON_PYQT_ARCH_USES_QREAL_FLOAT),y) -PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES += PyQt_qreal_double -endif - -define PYTHON_PYQT_QTDETAIL - echo $(1) >> $(2)/qtdetail.out -endef - -# Since we can't run generate qtdetail.out by running qtdetail on target device -# we must generate the configuration. -define PYTHON_PYQT_GENERATE_QTDETAIL - $(RM) -f $(1)/qtdetail.out - $(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_LICENSE),$(1)) - $(call PYTHON_PYQT_QTDETAIL,$(PYTHON_PYQT_QTDETAIL_TYPE),$(1)) - $(foreach f,$(PYTHON_PYQT_QTDETAIL_DISABLE_FEATURES), - $(call PYTHON_PYQT_QTDETAIL,$(f),$(1)) \ - ) -endef - -PYTHON_PYQT_CONF_OPTS = \ - --bindir $(TARGET_DIR)/usr/bin \ - --destdir $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages \ - --qmake $(HOST_DIR)/bin/qmake \ - --sysroot $(STAGING_DIR)/usr \ - -w --confirm-license \ - --no-designer-plugin \ - --no-docstrings \ - --no-sip-files \ - --qt-flavor=$(PYTHON_PYQT_QTFLAVOR) - -# The VendorID related information is only needed for Python 2.x, not -# Python 3.x. -ifeq ($(BR2_PACKAGE_PYTHON),y) -PYTHON_PYQT_CONF_OPTS += \ - --vendorid-incdir $(STAGING_DIR)/usr/include/$(PYTHON_PYQT_PYTHON_DIR) \ - --vendorid-libdir $(STAGING_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/config -endif - -define PYTHON_PYQT_CONFIGURE_CMDS - $(call PYTHON_PYQT_GENERATE_QTDETAIL,$(@D)) - (cd $(@D); \ - $(TARGET_MAKE_ENV) \ - $(TARGET_CONFIGURE_OPTS) \ - $(HOST_DIR)/bin/python configure-ng.py \ - $(PYTHON_PYQT_CONF_OPTS) \ - ) -endef - -define PYTHON_PYQT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) -endef - -# __init__.py is needed to import PyQt4 -# __init__.pyc is needed if BR2_PACKAGE_PYTHON_PYC_ONLY is set -define PYTHON_PYQT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install - touch $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/__init__.py - $(RM) -rf $(TARGET_DIR)/usr/lib/$(PYTHON_PYQT_PYTHON_DIR)/site-packages/PyQt4/uic/$(PYTHON_PYQT_RM_PORT_BASE) -endef - -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/python-pyqt5/0004-drop-qttest-qtestmouse-waitforevents.patch b/bsp/buildroot/package/python-pyqt5/0004-drop-qttest-qtestmouse-waitforevents.patch new file mode 100644 index 00000000..352be9ae --- /dev/null +++ b/bsp/buildroot/package/python-pyqt5/0004-drop-qttest-qtestmouse-waitforevents.patch @@ -0,0 +1,32 @@ +Drop waitForEvents() method from qtestmouse + +This method was dropped in Qt 5.11: + + https://github.com/qt/qtbase/commit/75e583b3fcbdbbb999633eb5f2267720dd695cfa + +However, Python PyQt5 still generates a wrapper for it, causing a +build failure. The upstream PyQt5 maintainers have not kept +waitForEvents() support for older Qt versions, and instead entirely +dropped it unconditionally. This can be verified by diffing PyQt 5.10 +and PyQt 5.11. We take the same approach, and drop waitForEvents() +unconditionally, even when PyQt5 is built against the older Qt 5.6. + +Fedora is using a similar solution: +https://src.fedoraproject.org/rpms/python-qt5/c/47fb7fdc5d16582772f9c3fc8a6a674a41a7f605?branch=master. + +This patch can be dropped when PyQt5 is bumped to its 5.11 version. + +Signed-off-by: Thomas Petazzoni + +Index: b/sip/QtTest/qtestmouse.sip +=================================================================== +--- a/sip/QtTest/qtestmouse.sip ++++ b/sip/QtTest/qtestmouse.sip +@@ -41,7 +41,6 @@ + void mousePress(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1); + void mouseRelease(QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier = 0, QPoint pos = QPoint(), int delay = -1); + void mouseEvent(QTest::MouseAction action, QWidget *widget, Qt::MouseButton button, Qt::KeyboardModifiers modifier, QPoint pos, int delay = -1); +- void waitForEvents() /ReleaseGIL/; + void mouseEvent(QTest::MouseAction action, QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier, QPoint pos, int delay = -1); + void mousePress(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1); + void mouseRelease(QWindow *window, Qt::MouseButton button, Qt::KeyboardModifiers modifier = Qt::KeyboardModifiers(), QPoint pos = QPoint(), int delay = -1); diff --git a/bsp/buildroot/package/python-pyqt5/python-pyqt5.mk b/bsp/buildroot/package/python-pyqt5/python-pyqt5.mk index cde026ef..4955936a 100644 --- a/bsp/buildroot/package/python-pyqt5/python-pyqt5.mk +++ b/bsp/buildroot/package/python-pyqt5/python-pyqt5.mk @@ -25,9 +25,9 @@ PYTHON_PYQT5_QTDETAIL_LICENSE = Open Source PYTHON_PYQT5_QTDETAIL_TYPE = shared # Turn off features that aren't available in current qt configuration -PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_OPENSSL),,PyQt_SSL) PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_QT5BASE_OPENGL),,PyQt_OpenGL) PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),,PyQt_Desktop_OpenGL) +PYTHON_PYQT5_QTDETAIL_DISABLE_FEATURES += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),,PyQt_SSL) define PYTHON_PYQT5_QTDETAIL echo $(1) >> $(2)/qtdetail.out diff --git a/bsp/buildroot/package/python-pyroute2/Config.in b/bsp/buildroot/package/python-pyroute2/Config.in index 4f13ab2c..5df0a63d 100644 --- a/bsp/buildroot/package/python-pyroute2/Config.in +++ b/bsp/buildroot/package/python-pyroute2/Config.in @@ -1,5 +1,7 @@ config BR2_PACKAGE_PYTHON_PYROUTE2 bool "python-pyroute2" + select BR2_PACKAGE_PYTHON_SQLITE if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_SQLITE if BR2_PACKAGE_PYTHON3 help Python netlink library - Linux network / netns / wireless / ipset configuration. diff --git a/bsp/buildroot/package/python-pyroute2/python-pyroute2.hash b/bsp/buildroot/package/python-pyroute2/python-pyroute2.hash index dbf09c97..9078004d 100644 --- a/bsp/buildroot/package/python-pyroute2/python-pyroute2.hash +++ b/bsp/buildroot/package/python-pyroute2/python-pyroute2.hash @@ -1,3 +1,7 @@ -# md5 from https://pypi.python.org/pypi/pyroute2/json, sha256 locally computed -md5 ef4282b1401bcd07a9cf4ec0696aba24 pyroute2-0.4.13.tar.gz -sha256 93f3d72f58b3627036427b5571f8e27c93dbb6d01372dc4c452707d6610c0a39 pyroute2-0.4.13.tar.gz +# md5, sha256 from https://pypi.org/pypi/pyroute2/json +md5 62b24242940b5d73c6ec9c53169b8ef8 pyroute2-0.5.3.tar.gz +sha256 79f7b4286be773c46914df0201dabaf92717a9c06e341e0c420603b2dd31c6bf pyroute2-0.5.3.tar.gz +# Locally computed sha256 +sha256 4739b32a2478e9c204bf010bad5d565d188e59ff905e3c8f71fe3398098b7093 LICENSE.Apache.v2 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL.v2 +sha256 e329111754f1340de20b6084cae4d264b7b4fc8fb48964173f8ee0cb7440a51c README.license.md diff --git a/bsp/buildroot/package/python-pyroute2/python-pyroute2.mk b/bsp/buildroot/package/python-pyroute2/python-pyroute2.mk index eed8eb41..7937bd23 100644 --- a/bsp/buildroot/package/python-pyroute2/python-pyroute2.mk +++ b/bsp/buildroot/package/python-pyroute2/python-pyroute2.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYROUTE2_VERSION = 0.4.13 +PYTHON_PYROUTE2_VERSION = 0.5.3 PYTHON_PYROUTE2_SOURCE = pyroute2-$(PYTHON_PYROUTE2_VERSION).tar.gz -PYTHON_PYROUTE2_SITE = https://pypi.python.org/packages/91/e7/814f60e355078dc51625cd2e7e715ed4a06111ddf2ac5580f2f10e79c94a +PYTHON_PYROUTE2_SITE = https://files.pythonhosted.org/packages/19/1c/fc2efd9dfa5c1f7f713dbfee621365ad01f7b7ec0a6908e444f08bfd5873 PYTHON_PYROUTE2_LICENSE = Apache-2.0 or GPL-2.0+ PYTHON_PYROUTE2_LICENSE_FILES = LICENSE.Apache.v2 LICENSE.GPL.v2 README.license.md PYTHON_PYROUTE2_SETUP_TYPE = distutils diff --git a/bsp/buildroot/package/python-pysmi/Config.in b/bsp/buildroot/package/python-pysmi/Config.in new file mode 100644 index 00000000..2e4453d8 --- /dev/null +++ b/bsp/buildroot/package/python-pysmi/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PYSMI + bool "python-pysmi" + select BR2_PACKAGE_PYTHON_PLY # runtime + help + SNMP SMI/MIB Parser. + + https://github.com/etingof/pysmi diff --git a/bsp/buildroot/package/python-pysmi/python-pysmi.hash b/bsp/buildroot/package/python-pysmi/python-pysmi.hash new file mode 100644 index 00000000..3127d205 --- /dev/null +++ b/bsp/buildroot/package/python-pysmi/python-pysmi.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pysmi/json +md5 7ca6a849ea51929cfd44c4e5bc316b0e pysmi-0.3.3.tar.gz +sha256 4e35c2b935ba5a68e086d7781dae1b508c228a960279620d182e876448acf02f pysmi-0.3.3.tar.gz +# Locally computed sha256 checksums +sha256 c43704eafcfa2bc33e56168f2b498c3c34a1d7865855626a52b5af411fc5837f LICENSE.rst diff --git a/bsp/buildroot/package/python-pysmi/python-pysmi.mk b/bsp/buildroot/package/python-pysmi/python-pysmi.mk new file mode 100644 index 00000000..a686b6fb --- /dev/null +++ b/bsp/buildroot/package/python-pysmi/python-pysmi.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pysmi +# +################################################################################ + +PYTHON_PYSMI_VERSION = 0.3.3 +PYTHON_PYSMI_SOURCE = pysmi-$(PYTHON_PYSMI_VERSION).tar.gz +PYTHON_PYSMI_SITE = https://files.pythonhosted.org/packages/71/32/182dd4fa0c4e20c2a14154d3133cc08374694c2518a7c5445a918332b113 +PYTHON_PYSMI_SETUP_TYPE = setuptools +PYTHON_PYSMI_LICENSE = BSD-2-Clause +PYTHON_PYSMI_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pysnmp/Config.in b/bsp/buildroot/package/python-pysnmp/Config.in index c7cdf389..a034b168 100644 --- a/bsp/buildroot/package/python-pysnmp/Config.in +++ b/bsp/buildroot/package/python-pysnmp/Config.in @@ -1,13 +1,10 @@ config BR2_PACKAGE_PYTHON_PYSNMP bool "python-pysnmp" - depends on BR2_INSTALL_LIBSTDCPP # pyasn - select BR2_PACKAGE_PYTHON_PYASN - select BR2_PACKAGE_PYTHON_PYCRYPTO + select BR2_PACKAGE_PYTHON_PYSMI # runtime + select BR2_PACKAGE_PYTHON_PYCRYPTODOMEX # runtime + select BR2_PACKAGE_PYTHON_PYASN1 # runtime help PySNMP is a cross-platform, pure-Python SNMP engine implementation. http://pysnmp.sf.net - -comment "python-pysnmp needs a toolchain w/ C++" - depends on !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/python-pysnmp/python-pysnmp.hash b/bsp/buildroot/package/python-pysnmp/python-pysnmp.hash index 7ecbf4c4..bb5fc248 100644 --- a/bsp/buildroot/package/python-pysnmp/python-pysnmp.hash +++ b/bsp/buildroot/package/python-pysnmp/python-pysnmp.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pysnmp/json, sha256 locally computed -md5 cc0838cdf3f2d34539f478942f648384 pysnmp-4.3.3.tar.gz -sha256 c837d35cbb2c1e067b7b8ed752d962481ef8d7ff11e4cdd8bfb0840c4a786318 pysnmp-4.3.3.tar.gz +# md5, sha256 from https://pypi.org/pypi/pysnmp/json +md5 9eaed18907d9b15828f138471b187e8f pysnmp-4.4.6.tar.gz +sha256 e34ffa0dce5f69adabd478ff76c3e1b08e32ebb0767df8b178d0704f4a1ac406 pysnmp-4.4.6.tar.gz +# Locally computed sha256 checksums +sha256 4781cdf5b05a40b8c36f2e71e248dac621762bc8e8482fa5fddab5053e2cdace LICENSE.rst diff --git a/bsp/buildroot/package/python-pysnmp/python-pysnmp.mk b/bsp/buildroot/package/python-pysnmp/python-pysnmp.mk index 2721ba8a..0a916119 100644 --- a/bsp/buildroot/package/python-pysnmp/python-pysnmp.mk +++ b/bsp/buildroot/package/python-pysnmp/python-pysnmp.mk @@ -4,14 +4,12 @@ # ################################################################################ -PYTHON_PYSNMP_VERSION = 4.3.3 +PYTHON_PYSNMP_VERSION = 4.4.6 PYTHON_PYSNMP_SOURCE = pysnmp-$(PYTHON_PYSNMP_VERSION).tar.gz -PYTHON_PYSNMP_SITE = https://pypi.python.org/packages/47/b5/c65b9b6fcc36d3f4caca30d3314920f1ca75f5ceecc1f6ae2538ede24511 +PYTHON_PYSNMP_SITE = https://files.pythonhosted.org/packages/8b/66/96a49bf1d64ad1e005a8455644523b7e09663a405eb20a4599fb219e4c95 PYTHON_PYSNMP_SETUP_TYPE = setuptools PYTHON_PYSNMP_LICENSE = BSD-3-Clause -PYTHON_PYSNMP_LICENSE_FILES = LICENSE.txt - -PYTHON_PYSNMP_DEPENDENCIES = python-pyasn python-pycrypto +PYTHON_PYSNMP_LICENSE_FILES = LICENSE.rst $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pytrie/Config.in b/bsp/buildroot/package/python-pytrie/Config.in index fb1df41d..15663847 100644 --- a/bsp/buildroot/package/python-pytrie/Config.in +++ b/bsp/buildroot/package/python-pytrie/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_PYTHON_PYTRIE bool "python-pytrie" + select BR2_PACKAGE_PYTHON_SORTEDCONTAINERS # runtime help A pure Python implementation of the trie data structure. diff --git a/bsp/buildroot/package/python-pytrie/python-pytrie.hash b/bsp/buildroot/package/python-pytrie/python-pytrie.hash index 88d2542a..3bc1f6e9 100644 --- a/bsp/buildroot/package/python-pytrie/python-pytrie.hash +++ b/bsp/buildroot/package/python-pytrie/python-pytrie.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi?:action=show_md5&digest=5997b46c854a68bc588f4527c987663a, sha256 locally computed. -md5 5997b46c854a68bc588f4527c987663a PyTrie-0.2.tar.gz -sha256 b272021351efadc6757591aac03ed4794bdfd091122204a4673e94bfb66cc500 PyTrie-0.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/pytrie/json +md5 f7c7184124013abcc18a3e3b638d32ae PyTrie-0.3.1.tar.gz +sha256 3bb7d122a549d8006c9cba2feecac20bceda9f8c0e2a3fa99a5584cfe0dec523 PyTrie-0.3.1.tar.gz +# Locally computed sha256 +sha256 153931d44112319a1e1653752c881fb7ef092f636db31f4c36b252666e95efbd PKG-INFO diff --git a/bsp/buildroot/package/python-pytrie/python-pytrie.mk b/bsp/buildroot/package/python-pytrie/python-pytrie.mk index 0fe78fdb..b8264fa2 100644 --- a/bsp/buildroot/package/python-pytrie/python-pytrie.mk +++ b/bsp/buildroot/package/python-pytrie/python-pytrie.mk @@ -4,11 +4,11 @@ # ################################################################################ -PYTHON_PYTRIE_VERSION = 0.2 -PYTHON_PYTRIE_SITE = https://pypi.python.org/packages/source/P/PyTrie +PYTHON_PYTRIE_VERSION = 0.3.1 PYTHON_PYTRIE_SOURCE = PyTrie-$(PYTHON_PYTRIE_VERSION).tar.gz PYTHON_PYTRIE_LICENSE = BSD-3-Clause -PYTHON_PYTRIE_LICENSE_FILES = LICENSE -PYTHON_PYTRIE_SETUP_TYPE = distutils +PYTHON_PYTRIE_LICENSE_FILES = PKG-INFO +PYTHON_PYTRIE_SITE = https://files.pythonhosted.org/packages/e1/eb/ae1f098969c9e9b81e821fb8e916cbf720b900ec1c0f3359e47a427395ec +PYTHON_PYTRIE_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pytz/python-pytz.hash b/bsp/buildroot/package/python-pytz/python-pytz.hash index dd3ff2c2..525d4525 100644 --- a/bsp/buildroot/package/python-pytz/python-pytz.hash +++ b/bsp/buildroot/package/python-pytz/python-pytz.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/pytz/json, sha256 locally computed -md5 7006b56c0d68a162d9fe57d4249c3171 pytz-2017.3.zip -sha256 fae4cffc040921b8a2d60c6cf0b5d662c1190fe54d718271db4eb17d44a185b7 pytz-2017.3.zip -sha256 a1c7102a51ef9ed37766f7388c71fd41bae2a7a95c30673c419ab84e1acc5f02 LICENSE.txt +# md5, sha256 from https://pypi.org/pypi/pytz/json +md5 0f57d76c64d0965e7429c9b871f6b711 pytz-2018.9.tar.gz +sha256 d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c pytz-2018.9.tar.gz +# Locally computed sha256 checksums +sha256 39f07c72a1bfda349cbd27bac9bcb1e6f8c5b4e5cc3fadf56900406e8cc0b792 LICENSE.txt diff --git a/bsp/buildroot/package/python-pytz/python-pytz.mk b/bsp/buildroot/package/python-pytz/python-pytz.mk index 6e130a6b..a93a12c0 100644 --- a/bsp/buildroot/package/python-pytz/python-pytz.mk +++ b/bsp/buildroot/package/python-pytz/python-pytz.mk @@ -4,17 +4,11 @@ # ################################################################################ -PYTHON_PYTZ_VERSION = 2017.3 -PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).zip -PYTHON_PYTZ_SITE = https://pypi.python.org/packages/60/88/d3152c234da4b2a1f7a989f89609ea488225eaea015bc16fbde2b3fdfefa +PYTHON_PYTZ_VERSION = 2018.9 +PYTHON_PYTZ_SOURCE = pytz-$(PYTHON_PYTZ_VERSION).tar.gz +PYTHON_PYTZ_SITE = https://files.pythonhosted.org/packages/af/be/6c59e30e208a5f28da85751b93ec7b97e4612268bb054d0dff396e758a90 PYTHON_PYTZ_SETUP_TYPE = setuptools PYTHON_PYTZ_LICENSE = MIT PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt -define PYTHON_PYTZ_EXTRACT_CMDS - unzip $(DL_DIR)/$(PYTHON_PYTZ_SOURCE) -d $(@D) - mv $(@D)/pytz-$(PYTHON_PYTZ_VERSION)/* $(@D) - rmdir $(@D)/pytz-$(PYTHON_PYTZ_VERSION) -endef - $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-pyyaml/python-pyyaml.hash b/bsp/buildroot/package/python-pyyaml/python-pyyaml.hash index 209ab27e..256742fe 100644 --- a/bsp/buildroot/package/python-pyyaml/python-pyyaml.hash +++ b/bsp/buildroot/package/python-pyyaml/python-pyyaml.hash @@ -1,3 +1,3 @@ -# md5 from https://pypi.python.org/pypi/pyyaml/json, sha256 locally computed -md5 4c129761b661d181ebf7ff4eb2d79950 PyYAML-3.12.tar.gz -sha256 592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab PyYAML-3.12.tar.gz +# md5, sha256 from https://pypi.python.org/pypi/pyyaml/json +md5 a842bc7391e145bbe4e7fd0d32da1132 PyYAML-4.2b4.tar.gz +sha256 3c17fb92c8ba2f525e4b5f7941d850e7a48c3a59b32d331e2502a3cdc6648e76 PyYAML-4.2b4.tar.gz diff --git a/bsp/buildroot/package/python-pyyaml/python-pyyaml.mk b/bsp/buildroot/package/python-pyyaml/python-pyyaml.mk index beeaf88e..b73b4356 100644 --- a/bsp/buildroot/package/python-pyyaml/python-pyyaml.mk +++ b/bsp/buildroot/package/python-pyyaml/python-pyyaml.mk @@ -4,12 +4,14 @@ # ################################################################################ -PYTHON_PYYAML_VERSION = 3.12 +PYTHON_PYYAML_VERSION = 4.2b4 PYTHON_PYYAML_SOURCE = PyYAML-$(PYTHON_PYYAML_VERSION).tar.gz -PYTHON_PYYAML_SITE = https://pypi.python.org/packages/4a/85/db5a2df477072b2902b0eb892feb37d88ac635d36245a72a6a69b23b383a +PYTHON_PYYAML_SITE = https://files.pythonhosted.org/packages/a8/c6/a8d1555e795dbd0375c3c93b576ca13bbf139db51ea604afa19a2c35fc03 PYTHON_PYYAML_SETUP_TYPE = distutils PYTHON_PYYAML_LICENSE = MIT PYTHON_PYYAML_LICENSE_FILES = LICENSE PYTHON_PYYAML_DEPENDENCIES = libyaml +HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch b/bsp/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch index cb52eaf6..461ef4e5 100644 --- a/bsp/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch +++ b/bsp/buildroot/package/python-pyzmq/0001-use-buildroot-zmq-version-instead-of-detect.patch @@ -15,19 +15,22 @@ dynamically, return the version of the buildroot environment. Written by Michael Rommel, modified for version 16.0.2 by Lionel Flandrin. +Modified for version 17.1.2 by Asaf Kahlon. + Signed-off-by: Lionel Flandrin +Signed-off-by: Asaf Kahlon --- buildutils/detect.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/buildutils/detect.py b/buildutils/detect.py -index 9520da7..823144f 100644 +index cb14a8d..b33a3b5 100644 --- a/buildutils/detect.py +++ b/buildutils/detect.py -@@ -117,13 +117,15 @@ def detect_zmq(basedir, compiler=None, **compiler_attrs): +@@ -116,13 +116,15 @@ def detect_zmq(basedir, compiler=None, **compiler_attrs): cc = get_compiler(compiler=compiler, **compiler_attrs) - efile = test_compilation(cfile, compiler=cc) + efile = test_compilation(cfile, compiler=cc, **compiler_attrs) - patch_lib_paths(efile, cc.library_dirs) + #patch_lib_paths(efile, cc.library_dirs) @@ -47,5 +50,5 @@ index 9520da7..823144f 100644 handlers = {'vers': lambda val: tuple(int(v) for v in val.split('.'))} -- -2.11.0 +2.17.1 diff --git a/bsp/buildroot/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch b/bsp/buildroot/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch deleted file mode 100644 index 278e939e..00000000 --- a/bsp/buildroot/package/python-pyzmq/0002-replace-compile_and_run-with-compile_and_forget.patch +++ /dev/null @@ -1,76 +0,0 @@ -detect.py: replace compile_and_run with compile_and_forget - -This function is only used in setup.py to detect the availability of -sys/un.h by compiling and running a small test program. Since we're -cross-compiling we can't run the generated program, however if the -header is missing the test will fail at the compilation step so -running the test in unnecessary. - -Signed-off-by: Lionel Flandrin ---- - buildutils/detect.py | 16 ++++++++-------- - setup.py | 4 ++-- - 2 files changed, 10 insertions(+), 10 deletions(-) - -diff --git a/buildutils/detect.py b/buildutils/detect.py -index 7a6c115..9520da7 100644 ---- a/buildutils/detect.py -+++ b/buildutils/detect.py -@@ -58,7 +58,7 @@ def test_compilation(cfile, compiler=None, **compiler_attrs): - cc.link_executable(objs, efile, extra_preargs=lpreargs) - return efile - --def compile_and_run(basedir, src, compiler=None, **compiler_attrs): -+def compile_and_forget(basedir, src, compiler=None, **compiler_attrs): - if not os.path.exists(basedir): - os.makedirs(basedir) - cfile = pjoin(basedir, os.path.basename(src)) -@@ -66,16 +66,16 @@ def compile_and_run(basedir, src, compiler=None, **compiler_attrs): - try: - cc = get_compiler(compiler, **compiler_attrs) - efile = test_compilation(cfile, compiler=cc) -- patch_lib_paths(efile, cc.library_dirs) -- result = Popen(efile, stdout=PIPE, stderr=PIPE) -- so, se = result.communicate() -- # for py3k: -- so = so.decode() -- se = se.decode() -+ # patch_lib_paths(efile, cc.library_dirs) -+ # result = Popen(efile, stdout=PIPE, stderr=PIPE) -+ # so, se = result.communicate() -+ # # for py3k: -+ # so = so.decode() -+ # se = se.decode() - finally: - shutil.rmtree(basedir) - -- return result.returncode, so, se -+ return None - - - def detect_zmq(basedir, compiler=None, **compiler_attrs): -diff --git a/setup.py b/setup.py -index c3a2879..b8b0aaf 100755 ---- a/setup.py -+++ b/setup.py -@@ -54,7 +54,7 @@ from buildutils import ( - info, warn, fatal, debug, line, copy_and_patch_libzmq, localpath, - fetch_libzmq, stage_platform_hpp, - bundled_version, customize_mingw, -- compile_and_run, -+ compile_and_forget, - patch_lib_paths, - ) - -@@ -327,7 +327,7 @@ class Configure(build_ext): - except Exception: - pass - try: -- compile_and_run(self.tempdir, -+ compile_and_forget(self.tempdir, - pjoin('buildutils', 'check_sys_un.c'), - **minus_zmq - ) --- -2.11.0 - diff --git a/bsp/buildroot/package/python-pyzmq/python-pyzmq.hash b/bsp/buildroot/package/python-pyzmq/python-pyzmq.hash index 6cdd0b9f..eb8cf092 100644 --- a/bsp/buildroot/package/python-pyzmq/python-pyzmq.hash +++ b/bsp/buildroot/package/python-pyzmq/python-pyzmq.hash @@ -1,3 +1,3 @@ # md5 from https://pypi.python.org/pypi/pyzmq/json, sha256 locally computed -md5 9a8768b00a566a400d70318f8c359cfe pyzmq-16.0.2.tar.gz -sha256 0322543fff5ab6f87d11a8a099c4c07dd8a1719040084b6ce9162bcdf5c45c9d pyzmq-16.0.2.tar.gz +md5 6f5d77cb5ec1617ce9b6e5ad7c6174fb pyzmq-17.1.2.tar.gz +sha256 a72b82ac1910f2cf61a49139f4974f994984475f771b0faa730839607eeedddf pyzmq-17.1.2.tar.gz diff --git a/bsp/buildroot/package/python-pyzmq/python-pyzmq.mk b/bsp/buildroot/package/python-pyzmq/python-pyzmq.mk index c34c5af2..b977cca9 100644 --- a/bsp/buildroot/package/python-pyzmq/python-pyzmq.mk +++ b/bsp/buildroot/package/python-pyzmq/python-pyzmq.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_PYZMQ_VERSION = 16.0.2 +PYTHON_PYZMQ_VERSION = 17.1.2 PYTHON_PYZMQ_SOURCE = pyzmq-$(PYTHON_PYZMQ_VERSION).tar.gz -PYTHON_PYZMQ_SITE = https://pypi.python.org/packages/af/37/8e0bf3800823bc247c36715a52e924e8f8fd5d1432f04b44b8cd7a5d7e55 +PYTHON_PYZMQ_SITE = https://files.pythonhosted.org/packages/b9/6a/bc9277b78f5c3236e36b8c16f4d2701a7fd4fa2eb697159d3e0a3a991573 PYTHON_PYZMQ_LICENSE = LGPL-3.0+, BSD-3-Clause, Apache-2.0 # Apache license only online: http://www.apache.org/licenses/LICENSE-2.0 PYTHON_PYZMQ_LICENSE_FILES = COPYING.LESSER COPYING.BSD @@ -22,4 +22,8 @@ endef PYTHON_PYZMQ_POST_PATCH_HOOKS += PYTHON_PYZMQ_PATCH_ZEROMQ_VERSION +ifeq ($(BR2_PACKAGE_ZEROMQ_DRAFTS),y) +PYTHON_PYZMQ_BUILD_OPTS += --enable-drafts +endif + $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-raven/python-raven.hash b/bsp/buildroot/package/python-raven/python-raven.hash index 66452a7f..1e451ba4 100644 --- a/bsp/buildroot/package/python-raven/python-raven.hash +++ b/bsp/buildroot/package/python-raven/python-raven.hash @@ -1,5 +1,5 @@ -# md5 from https://pypi.python.org/pypi/raven/json, sha256 locally computed -md5 4471e9e881da64f057ee7740345a6b27 raven-6.5.0.tar.gz -sha256 84da75114739191bdf2388f296ffd6177e83567a7fbaf2701e034ad6026e4f3b raven-6.5.0.tar.gz -# License file, locally calculated +# md5, sha256 from https://pypi.org/pypi/raven/json +md5 ba514edaca361a0edb476f76c959d8af raven-6.9.0.tar.gz +sha256 3fd787d19ebb49919268f06f19310e8112d619ef364f7989246fc8753d469888 raven-6.9.0.tar.gz +# Locally computed sha256 checksums sha256 5ce9459bc19ced99cc9eb135d4f559ed01e336354bdf16dd998be85aa688c233 LICENSE diff --git a/bsp/buildroot/package/python-raven/python-raven.mk b/bsp/buildroot/package/python-raven/python-raven.mk index 4a4cdee3..b822fcda 100644 --- a/bsp/buildroot/package/python-raven/python-raven.mk +++ b/bsp/buildroot/package/python-raven/python-raven.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_RAVEN_VERSION = 6.5.0 +PYTHON_RAVEN_VERSION = 6.9.0 PYTHON_RAVEN_SOURCE = raven-$(PYTHON_RAVEN_VERSION).tar.gz -PYTHON_RAVEN_SITE = https://pypi.python.org/packages/e0/26/1bdd4431f59ff92fee7f2378b7d54eb175eb69f68c40c6c9b15161f6774f +PYTHON_RAVEN_SITE = https://files.pythonhosted.org/packages/8f/80/e8d734244fd377fd7d65275b27252642512ccabe7850105922116340a37b PYTHON_RAVEN_SETUP_TYPE = setuptools PYTHON_RAVEN_LICENSE = BSD-3-Clause PYTHON_RAVEN_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-reentry/Config.in b/bsp/buildroot/package/python-reentry/Config.in new file mode 100644 index 00000000..18518f2c --- /dev/null +++ b/bsp/buildroot/package/python-reentry/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_REENTRY + bool "python-reentry" + select BR2_PACKAGE_PYTHON_SETUPTOOLS # runtime + select BR2_PACKAGE_PYTHON_CLICK # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_PY # runtime + help + A plugin manager based on setuptools entry points mechanism. + + https://pypi.org/project/reentry/ diff --git a/bsp/buildroot/package/python-reentry/python-reentry.hash b/bsp/buildroot/package/python-reentry/python-reentry.hash new file mode 100644 index 00000000..7a3bbf4d --- /dev/null +++ b/bsp/buildroot/package/python-reentry/python-reentry.hash @@ -0,0 +1,4 @@ +# sha256 from https://pypi.org/pypi/reentry/json +sha256 00df980d8c61713f5002d4d893ba6ea38e9a721cd04aef5a520b974e700ab550 reentry-1.2.0.tar.gz +# Locally computed sha256 checksums +sha256 4ae7f3216208a7e2327236e95bcd2397b2495f1c2298c708986c893bea608509 LICENSE diff --git a/bsp/buildroot/package/python-reentry/python-reentry.mk b/bsp/buildroot/package/python-reentry/python-reentry.mk new file mode 100644 index 00000000..d3f0e03e --- /dev/null +++ b/bsp/buildroot/package/python-reentry/python-reentry.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-reentry +# +################################################################################ + +PYTHON_REENTRY_VERSION = 1.2.0 +PYTHON_REENTRY_SOURCE = reentry-$(PYTHON_REENTRY_VERSION).tar.gz +PYTHON_REENTRY_SITE = https://files.pythonhosted.org/packages/e2/b4/46dfac6613302fea51454a01aebedae9440aff9d813aedbbc5f687552e3b +PYTHON_REENTRY_SETUP_TYPE = setuptools +PYTHON_REENTRY_LICENSE = MIT +PYTHON_REENTRY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-remi/python-remi.hash b/bsp/buildroot/package/python-remi/python-remi.hash index e3df6cbb..870e882b 100644 --- a/bsp/buildroot/package/python-remi/python-remi.hash +++ b/bsp/buildroot/package/python-remi/python-remi.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 69ab3f7438de76708bfc40396f791b76452f84bb8bca6dafbdaca510c17e9526 python-remi-v1.0.tar.gz +sha256 bb82f3f329aef387b3823e7e9b9d06b85a7deb0a4dc9078a4323812e26abb459 python-remi-v1.1.tar.gz sha256 bc198f9846c1da3a1c1b1fa2b12909b021365d1e7fe9b4039245edfcec3b7f7f LICENSE diff --git a/bsp/buildroot/package/python-remi/python-remi.mk b/bsp/buildroot/package/python-remi/python-remi.mk index 3356430d..b6c50a37 100644 --- a/bsp/buildroot/package/python-remi/python-remi.mk +++ b/bsp/buildroot/package/python-remi/python-remi.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_REMI_VERSION = v1.0 +PYTHON_REMI_VERSION = v1.1 PYTHON_REMI_SITE = $(call github,dddomodossola,remi,$(PYTHON_REMI_VERSION)) PYTHON_REMI_LICENSE = Apache-2.0 PYTHON_REMI_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-request-id/Config.in b/bsp/buildroot/package/python-request-id/Config.in new file mode 100644 index 00000000..39b5456d --- /dev/null +++ b/bsp/buildroot/package/python-request-id/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_REQUEST_ID + bool "python-request-id" + select BR2_PACKAGE_PYTHON_WEBOB # runtime + help + Attach a unique identifier to every WSGI request. + + https://github.com/mmerickel/request_id diff --git a/bsp/buildroot/package/python-request-id/python-request-id.hash b/bsp/buildroot/package/python-request-id/python-request-id.hash new file mode 100644 index 00000000..f412502b --- /dev/null +++ b/bsp/buildroot/package/python-request-id/python-request-id.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/request-id/json +md5 29cdbb13f26c0e944e58cfbebfc52085 request-id-0.3.1.tar.gz +sha256 4c8adff44ad6779305d5493f780400aff5ff5139e98d622379c0e0797b58d812 request-id-0.3.1.tar.gz +# Locally computed sha256 checksums +sha256 2d65d17b4df34f184557b8031df05e4c264d2fa6b82e560be074967eff3b326c LICENSE.txt diff --git a/bsp/buildroot/package/python-request-id/python-request-id.mk b/bsp/buildroot/package/python-request-id/python-request-id.mk new file mode 100644 index 00000000..96601b97 --- /dev/null +++ b/bsp/buildroot/package/python-request-id/python-request-id.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-request-id +# +################################################################################ + +PYTHON_REQUEST_ID_VERSION = 0.3.1 +PYTHON_REQUEST_ID_SOURCE = request-id-$(PYTHON_REQUEST_ID_VERSION).tar.gz +PYTHON_REQUEST_ID_SITE = https://files.pythonhosted.org/packages/2e/d4/bbe8cdd41012ba54d453452837101cecbb4151866b8aab6ca1ffb00d398c +PYTHON_REQUEST_ID_SETUP_TYPE = setuptools +PYTHON_REQUEST_ID_LICENSE = MIT +PYTHON_REQUEST_ID_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash b/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash index be0f644b..733d2933 100644 --- a/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash +++ b/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/requests_oauthlib/json, sha256 locally computed -md5 4358a879a4377393bcfd37d0f9ae6d4d requests-oauthlib-0.8.0.tar.gz -sha256 883ac416757eada6d3d07054ec7092ac21c7f35cb1d2cf82faf205637081f468 requests-oauthlib-0.8.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/requests-oauthlib/json +md5 e867404084b688dbfb879b9ac9ac040a requests-oauthlib-1.0.0.tar.gz +sha256 8886bfec5ad7afb391ed5443b1f697c6f4ae98d0e5620839d8b4499c032ada3f requests-oauthlib-1.0.0.tar.gz +# Locally computed sha256 checksums sha256 ae01846afad8a8291fe6a08966f3015af9a8ff675d84b981f9793c122f7876e8 LICENSE diff --git a/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk b/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk index 02e3114e..a8761b18 100644 --- a/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk +++ b/bsp/buildroot/package/python-requests-oauthlib/python-requests-oauthlib.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_OAUTHLIB_VERSION = 0.8.0 +PYTHON_REQUESTS_OAUTHLIB_VERSION = 1.0.0 PYTHON_REQUESTS_OAUTHLIB_SOURCE = requests-oauthlib-$(PYTHON_REQUESTS_OAUTHLIB_VERSION).tar.gz -PYTHON_REQUESTS_OAUTHLIB_SITE = https://pypi.python.org/packages/80/14/ad120c720f86c547ba8988010d5186102030591f71f7099f23921ca47fe5 +PYTHON_REQUESTS_OAUTHLIB_SITE = https://files.pythonhosted.org/packages/95/be/072464f05b70e4142cb37151e215a2037b08b1400f8a56f2538b76ca6205 PYTHON_REQUESTS_OAUTHLIB_SETUP_TYPE = setuptools PYTHON_REQUESTS_OAUTHLIB_LICENSE = ISC PYTHON_REQUESTS_OAUTHLIB_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-requests/python-requests.hash b/bsp/buildroot/package/python-requests/python-requests.hash index 2f182ea3..46f62c75 100644 --- a/bsp/buildroot/package/python-requests/python-requests.hash +++ b/bsp/buildroot/package/python-requests/python-requests.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/requests/json, sha256 locally computed -md5 40f723ed01dddeaf990d0609d073f021 requests-2.18.1.tar.gz -sha256 c6f3bdf4a4323ac7b45d01e04a6f6c20e32a052cd04de81e05103abc049ad9b9 requests-2.18.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/requests/json +md5 1bcd0e0977c3f8db1848ba0e2b7ab904 requests-2.21.0.tar.gz +sha256 502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e requests-2.21.0.tar.gz +# Locally computed sha256 checksums +sha256 be41abac2c40f8530307e8d172c590b476f4a488bc6a68f8de57b7cf64786687 LICENSE diff --git a/bsp/buildroot/package/python-requests/python-requests.mk b/bsp/buildroot/package/python-requests/python-requests.mk index 504eb8d0..3d8542fc 100644 --- a/bsp/buildroot/package/python-requests/python-requests.mk +++ b/bsp/buildroot/package/python-requests/python-requests.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_REQUESTS_VERSION = 2.18.1 +PYTHON_REQUESTS_VERSION = 2.21.0 PYTHON_REQUESTS_SOURCE = requests-$(PYTHON_REQUESTS_VERSION).tar.gz -PYTHON_REQUESTS_SITE = https://pypi.python.org/packages/2c/b5/2b6e8ef8dd18203b6399e9f28c7d54f6de7b7549853fe36d575bd31e29a7 +PYTHON_REQUESTS_SITE = https://files.pythonhosted.org/packages/52/2c/514e4ac25da2b08ca5a464c50463682126385c4272c18193876e91f4bc38 PYTHON_REQUESTS_SETUP_TYPE = setuptools PYTHON_REQUESTS_LICENSE = Apache-2.0 PYTHON_REQUESTS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-scandir/python-scandir.hash b/bsp/buildroot/package/python-scandir/python-scandir.hash index aecd9a58..5918291b 100644 --- a/bsp/buildroot/package/python-scandir/python-scandir.hash +++ b/bsp/buildroot/package/python-scandir/python-scandir.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/scandir/json, sha256 locally computed -md5 a2713043de681bba6b084be42e7a8a44 scandir-1.5.tar.gz -sha256 c2612d1a487d80fb4701b4a91ca1b8f8a695b1ae820570815e85e8c8b23f1283 scandir-1.5.tar.gz +# md5, sha256 from https://pypi.org/pypi/scandir/json +md5 506c4cc5f38c00b301642a9cb0433910 scandir-1.9.0.tar.gz +sha256 44975e209c4827fc18a3486f257154d34ec6eaec0f90fef0cca1caa482db7064 scandir-1.9.0.tar.gz +# Locally computed sha256 checksums +sha256 a5e2fbdc239744419d29407cdbc92793c4d9c1d956c174f7cb7f96fa6d058c86 LICENSE.txt diff --git a/bsp/buildroot/package/python-scandir/python-scandir.mk b/bsp/buildroot/package/python-scandir/python-scandir.mk index 9b7ba700..1008fcad 100644 --- a/bsp/buildroot/package/python-scandir/python-scandir.mk +++ b/bsp/buildroot/package/python-scandir/python-scandir.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SCANDIR_VERSION = 1.5 +PYTHON_SCANDIR_VERSION = 1.9.0 PYTHON_SCANDIR_SOURCE = scandir-$(PYTHON_SCANDIR_VERSION).tar.gz -PYTHON_SCANDIR_SITE = https://pypi.python.org/packages/bd/f4/3143e0289faf0883228017dbc6387a66d0b468df646645e29e1eb89ea10e +PYTHON_SCANDIR_SITE = https://files.pythonhosted.org/packages/16/2a/557af1181e6b4e30254d5a6163b18f5053791ca66e251e77ab08887e8fe3 PYTHON_SCANDIR_LICENSE = BSD-3-Clause PYTHON_SCANDIR_LICENSE_FILES = LICENSE.txt PYTHON_SCANDIR_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-scapy/Config.in b/bsp/buildroot/package/python-scapy/Config.in new file mode 100644 index 00000000..6575a33a --- /dev/null +++ b/bsp/buildroot/package/python-scapy/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_SCAPY + bool "python-scapy" + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + help + Scapy: interactive packet manipulation tool. + + http://www.secdev.org/projects/scapy diff --git a/bsp/buildroot/package/python-scapy/python-scapy.hash b/bsp/buildroot/package/python-scapy/python-scapy.hash new file mode 100644 index 00000000..4d8001b7 --- /dev/null +++ b/bsp/buildroot/package/python-scapy/python-scapy.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/scapy/json +md5 d7d3c4294f5a718e234775d38dbeb7ec scapy-2.4.0.tar.gz +sha256 452f714f5c2eac6fd0a6146b1dbddfc24dd5f4103f3ed76227995a488cfb2b73 scapy-2.4.0.tar.gz +# Locally computed sha256 checksums +sha256 7a49a7fdaf7b648e451dd01e4875cf4dbfa556c6359c6b97feed5047540ea989 PKG-INFO diff --git a/bsp/buildroot/package/python-scapy/python-scapy.mk b/bsp/buildroot/package/python-scapy/python-scapy.mk new file mode 100644 index 00000000..c44b2cb2 --- /dev/null +++ b/bsp/buildroot/package/python-scapy/python-scapy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-scapy +# +################################################################################ + +PYTHON_SCAPY_VERSION = 2.4.0 +PYTHON_SCAPY_SOURCE = scapy-$(PYTHON_SCAPY_VERSION).tar.gz +PYTHON_SCAPY_SITE = https://files.pythonhosted.org/packages/68/01/b9943984447e7ea6f8948e90c1729b78161c2bb3eef908430638ec3f7296 +PYTHON_SCAPY_LICENSE = GPL-2.0 +PYTHON_SCAPY_LICENSE_FILES = PKG-INFO +PYTHON_SCAPY_SETUP_TYPE = distutils + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-schedule/python-schedule.hash b/bsp/buildroot/package/python-schedule/python-schedule.hash index 2b2f0489..92475f97 100644 --- a/bsp/buildroot/package/python-schedule/python-schedule.hash +++ b/bsp/buildroot/package/python-schedule/python-schedule.hash @@ -1,5 +1,5 @@ # md5 from https://pypi.python.org/pypi/schedule/json, sha256 locally computed -md5 ab135a73458547d2b836beddd168528b schedule-0.4.3.tar.gz -sha256 31a160546a17838842199c792ba267575cf41339ca730aaf060567b798f4f46e schedule-0.4.3.tar.gz +md5 53fb2e550b2539264eeceb5d85e82759 schedule-0.5.0.tar.gz +sha256 1003a07c2dce12828c25a03a611a7371cedfa956e5f1b4abc32bcc94eb5a335b schedule-0.5.0.tar.gz # License file, locally calculated sha256 30a8352c318ce1b645acde0299697342d4380ed2637d7ca18a8ad25661e3b41b LICENSE.txt diff --git a/bsp/buildroot/package/python-schedule/python-schedule.mk b/bsp/buildroot/package/python-schedule/python-schedule.mk index 26a3f5bc..16612a08 100644 --- a/bsp/buildroot/package/python-schedule/python-schedule.mk +++ b/bsp/buildroot/package/python-schedule/python-schedule.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SCHEDULE_VERSION = 0.4.3 +PYTHON_SCHEDULE_VERSION = 0.5.0 PYTHON_SCHEDULE_SOURCE = schedule-$(PYTHON_SCHEDULE_VERSION).tar.gz -PYTHON_SCHEDULE_SITE = https://pypi.python.org/packages/ee/68/ba6b0bb69b2be13b32983971bca6c5adf22df6321945232e1419bc34a82f +PYTHON_SCHEDULE_SITE = https://pypi.python.org/packages/fd/31/599a3387c2e98c270d5ac21a1575f3eb60a3712c192a0ca97a494a207739 PYTHON_SCHEDULE_SETUP_TYPE = setuptools PYTHON_SCHEDULE_LICENSE = MIT PYTHON_SCHEDULE_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/python-sdnotify/python-sdnotify.hash b/bsp/buildroot/package/python-sdnotify/python-sdnotify.hash index 6d3ad6ba..b4106418 100644 --- a/bsp/buildroot/package/python-sdnotify/python-sdnotify.hash +++ b/bsp/buildroot/package/python-sdnotify/python-sdnotify.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/sdnotify/json -md5 a182c1ef47e1c6c965771aa3029da16f sdnotify-0.3.1.tar.gz -# sha256 calculated by scanpypi -sha256 e69220d4f6cbb02130f43f929350a80cf51033fde47dcb056fbda71e2dff2d5a sdnotify-0.3.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/sdnotify/json +md5 749ddca1c70be1697fecc443fb1fdb16 sdnotify-0.3.2.tar.gz +sha256 73977fc746b36cc41184dd43c3fe81323e7b8b06c2bb0826c4f59a20c56bb9f1 sdnotify-0.3.2.tar.gz +# Locally computed sha256 checksums +sha256 038351c6f544a386576da41d5fe1320437ed211507565dd9c334c8290055b88e LICENSE.txt diff --git a/bsp/buildroot/package/python-sdnotify/python-sdnotify.mk b/bsp/buildroot/package/python-sdnotify/python-sdnotify.mk index 7c24d327..1b0f2276 100644 --- a/bsp/buildroot/package/python-sdnotify/python-sdnotify.mk +++ b/bsp/buildroot/package/python-sdnotify/python-sdnotify.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SDNOTIFY_VERSION = 0.3.1 +PYTHON_SDNOTIFY_VERSION = 0.3.2 PYTHON_SDNOTIFY_SOURCE = sdnotify-$(PYTHON_SDNOTIFY_VERSION).tar.gz -PYTHON_SDNOTIFY_SITE = https://pypi.python.org/packages/57/f9/ae03e3ebc83be0d501cde1f5d6d23dee74f5c2105f2cdb98bff4fa9ada9c +PYTHON_SDNOTIFY_SITE = https://files.pythonhosted.org/packages/ce/d8/9fdc36b2a912bf78106de4b3f0de3891ff8f369e7a6f80be842b8b0b6bd5 PYTHON_SDNOTIFY_SETUP_TYPE = distutils PYTHON_SDNOTIFY_LICENSE = MIT PYTHON_SDNOTIFY_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/python-semver/Config.in b/bsp/buildroot/package/python-semver/Config.in new file mode 100644 index 00000000..c66231a7 --- /dev/null +++ b/bsp/buildroot/package/python-semver/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_SEMVER + bool "python-semver" + help + Python helper for Semantic Versioning (http://semver.org/). + + https://github.com/k-bx/python-semver diff --git a/bsp/buildroot/package/python-semver/python-semver.hash b/bsp/buildroot/package/python-semver/python-semver.hash new file mode 100644 index 00000000..e18cc1c6 --- /dev/null +++ b/bsp/buildroot/package/python-semver/python-semver.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/semver/json +md5 dc579ba9d0bb2137bad5324d4bdb7e40 semver-2.8.1.tar.gz +sha256 5b09010a66d9a3837211bb7ae5a20d10ba88f8cb49e92cb139a69ef90d5060d8 semver-2.8.1.tar.gz diff --git a/bsp/buildroot/package/python-semver/python-semver.mk b/bsp/buildroot/package/python-semver/python-semver.mk new file mode 100644 index 00000000..afdd3456 --- /dev/null +++ b/bsp/buildroot/package/python-semver/python-semver.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-semver +# +################################################################################ + +PYTHON_SEMVER_VERSION = 2.8.1 +PYTHON_SEMVER_SOURCE = semver-$(PYTHON_SEMVER_VERSION).tar.gz +PYTHON_SEMVER_SITE = https://files.pythonhosted.org/packages/47/13/8ae74584d6dd33a1d640ea27cd656a9f718132e75d759c09377d10d64595 +PYTHON_SEMVER_SETUP_TYPE = setuptools +# no license file in tarball, but available in git +PYTHON_SEMVER_LICENSE = BSD-3-Clause + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-sentry-sdk/Config.in b/bsp/buildroot/package/python-sentry-sdk/Config.in new file mode 100644 index 00000000..5bddabe2 --- /dev/null +++ b/bsp/buildroot/package/python-sentry-sdk/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_SENTRY_SDK + bool "python-sentry-sdk" + select BR2_PACKAGE_PYTHON_URLLIB3 # runtime + select BR2_PACKAGE_PYTHON_CERTIFI # runtime + help + Python client for Sentry (https://getsentry.com). + + https://github.com/getsentry/sentry-python diff --git a/bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.hash b/bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.hash new file mode 100644 index 00000000..34acf6ec --- /dev/null +++ b/bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/sentry-sdk/json +md5 78642322818c1ce47e80938fe1f40b5f sentry-sdk-0.6.2.tar.gz +sha256 56118f4c3bd3412e47d1969997580df2f27ae951df949d07f0c2120cefe40b00 sentry-sdk-0.6.2.tar.gz +# Locally computed sha256 checksums +sha256 59404d4c854e579097d41bfccd5006afde9d6d70e646cf55074cdbfead5ecf1c LICENSE diff --git a/bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.mk b/bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.mk new file mode 100644 index 00000000..ae218de1 --- /dev/null +++ b/bsp/buildroot/package/python-sentry-sdk/python-sentry-sdk.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-sentry-sdk +# +################################################################################ + +PYTHON_SENTRY_SDK_VERSION = 0.6.2 +PYTHON_SENTRY_SDK_SOURCE = sentry-sdk-$(PYTHON_SENTRY_SDK_VERSION).tar.gz +PYTHON_SENTRY_SDK_SITE = https://files.pythonhosted.org/packages/92/6f/b7b74d7635e220660c06897213fc6df894d291900c8e2710d72fb67528a7 +PYTHON_SENTRY_SDK_SETUP_TYPE = setuptools +PYTHON_SENTRY_SDK_LICENSE = BSD-2-Clause +PYTHON_SENTRY_SDK_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-serial-asyncio/Config.in b/bsp/buildroot/package/python-serial-asyncio/Config.in new file mode 100644 index 00000000..5520b725 --- /dev/null +++ b/bsp/buildroot/package/python-serial-asyncio/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_SERIAL_ASYNCIO + bool "python-serial-asyncio" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_SERIAL + help + asyncio extension package for pyserial. + + https://github.com/pyserial/pyserial-asyncio diff --git a/bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.hash b/bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.hash new file mode 100644 index 00000000..268c7d83 --- /dev/null +++ b/bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pyserial-asyncio/json +md5 67244fdc11cc31cf0ebf675c271c71d8 pyserial-asyncio-0.4.tar.gz +sha256 c40677a8874d8c24d4423a97498746de776f6dbcd0efbb8fa43dcf011a589aee pyserial-asyncio-0.4.tar.gz +# Locally computed sha256 checksums +sha256 f8ded3a7460d3b2850b0cf673e986c70e9d997fd0732d8ab3f3c84f1f191087d LICENSE.txt diff --git a/bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.mk b/bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.mk new file mode 100644 index 00000000..39c3476d --- /dev/null +++ b/bsp/buildroot/package/python-serial-asyncio/python-serial-asyncio.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-serial-asyncio +# +################################################################################ + +PYTHON_SERIAL_ASYNCIO_VERSION = 0.4 +PYTHON_SERIAL_ASYNCIO_SOURCE = pyserial-asyncio-$(PYTHON_SERIAL_ASYNCIO_VERSION).tar.gz +PYTHON_SERIAL_ASYNCIO_SITE = https://files.pythonhosted.org/packages/41/3f/e26f71269cbc0890a527a736d9afc5c0d5838a2c188be680558d635b7dc2 +PYTHON_SERIAL_ASYNCIO_LICENSE = BSD-3-Clause +PYTHON_SERIAL_ASYNCIO_LICENSE_FILES = LICENSE.txt +PYTHON_SERIAL_ASYNCIO_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-serial/python-serial.hash b/bsp/buildroot/package/python-serial/python-serial.hash index f98a8b91..96209a99 100644 --- a/bsp/buildroot/package/python-serial/python-serial.hash +++ b/bsp/buildroot/package/python-serial/python-serial.hash @@ -1,3 +1,5 @@ -# md5 from http://pypi.python.org/pypi?:action=show_md5&digest=e849af7f8b7ec75cbc7a53da67c51a51, sha256 locally computed -md5 e849af7f8b7ec75cbc7a53da67c51a51 pyserial-3.1.tar.gz -sha256 c8ffdcbd8bfd308842409e558848c32aa3499a1bfe95a591e4210072b9520f1e pyserial-3.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/pyserial/json +md5 ed6183b15519a0ae96675e9c3330c69b pyserial-3.4.tar.gz +sha256 6e2d401fdee0eab996cf734e67773a0143b932772ca8b42451440cfed942c627 pyserial-3.4.tar.gz +# Locally computed sha256 checksums +sha256 a89d951d157e2c199fbbe7ecf8d41bc3bc93de166db524aa6b9b610dbccc832d LICENSE.txt diff --git a/bsp/buildroot/package/python-serial/python-serial.mk b/bsp/buildroot/package/python-serial/python-serial.mk index ce7ec070..d583ac65 100644 --- a/bsp/buildroot/package/python-serial/python-serial.mk +++ b/bsp/buildroot/package/python-serial/python-serial.mk @@ -4,21 +4,11 @@ # ################################################################################ -PYTHON_SERIAL_VERSION = 3.1 +PYTHON_SERIAL_VERSION = 3.4 PYTHON_SERIAL_SOURCE = pyserial-$(PYTHON_SERIAL_VERSION).tar.gz -PYTHON_SERIAL_SITE = https://pypi.python.org/packages/ce/9c/694ce79a9d4a164e109aeba1a40fba23336f3b7554978553e22a5d41d54d +PYTHON_SERIAL_SITE = https://files.pythonhosted.org/packages/cc/74/11b04703ec416717b247d789103277269d567db575d2fd88f25d9767fe3d PYTHON_SERIAL_LICENSE = BSD-3-Clause PYTHON_SERIAL_LICENSE_FILES = LICENSE.txt PYTHON_SERIAL_SETUP_TYPE = setuptools -# aio.py is an experimental module, that is compatible only with -# Python 3, so remove it for Python 2 environment or it will -# cause compilation errors -ifeq ($(BR2_PACKAGE_PYTHON),y) -define PYTHON_SERIAL_REMOVE_AIO_PY - rm $(@D)/serial/aio.py -endef -PYTHON_SERIAL_POST_EXTRACT_HOOKS = PYTHON_SERIAL_REMOVE_AIO_PY -endif - $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-setuptools/python-setuptools.hash b/bsp/buildroot/package/python-setuptools/python-setuptools.hash index f116a69f..53d77f57 100644 --- a/bsp/buildroot/package/python-setuptools/python-setuptools.hash +++ b/bsp/buildroot/package/python-setuptools/python-setuptools.hash @@ -1,3 +1,4 @@ -# Locally calculated -sha256 2599b4c452e77824bbd6da28d16b1fe8159c7a4c203d8d419d8b348fde7b9549 python-setuptools-v38.4.0.tar.gz +# From https://pypi.org/pypi/setuptools/json +md5 1fbcbe45c7fb1d21041e676ba68d2dec setuptools-40.6.3.zip +sha256 3b474dad69c49f0d2d86696b68105f3a6f195f7ab655af12ef9a9c326d2b08f8 setuptools-40.6.3.zip sha256 c32a3ac395af6321efd28be73d06a00f0db6ab887d1c21d4fec46128d2056d5a LICENSE diff --git a/bsp/buildroot/package/python-setuptools/python-setuptools.mk b/bsp/buildroot/package/python-setuptools/python-setuptools.mk index 004fc0db..015347d4 100644 --- a/bsp/buildroot/package/python-setuptools/python-setuptools.mk +++ b/bsp/buildroot/package/python-setuptools/python-setuptools.mk @@ -4,20 +4,27 @@ # ################################################################################ -PYTHON_SETUPTOOLS_VERSION = v38.4.0 -PYTHON_SETUPTOOLS_SITE = $(call github,pypa,setuptools,$(PYTHON_SETUPTOOLS_VERSION)) +# Please keep in sync with +# package/python3-setuptools/python3-setuptools.mk +PYTHON_SETUPTOOLS_VERSION = 40.6.3 +PYTHON_SETUPTOOLS_SOURCE = setuptools-$(PYTHON_SETUPTOOLS_VERSION).zip +PYTHON_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b PYTHON_SETUPTOOLS_LICENSE = MIT PYTHON_SETUPTOOLS_LICENSE_FILES = LICENSE PYTHON_SETUPTOOLS_SETUP_TYPE = setuptools +HOST_PYTHON_SETUPTOOLS_NEEDS_HOST_PYTHON = python2 -# recent setuptools versions require bootstrap.py to be invoked -# before the standard setup process. -define PYTHON_SETUPTOOLS_RUN_BOOTSTRAP - cd $(@D) && $(HOST_DIR)/bin/python ./bootstrap.py +define PYTHON_SETUPTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(PYTHON_SETUPTOOLS_DL_DIR)/$(PYTHON_SETUPTOOLS_SOURCE) + mv $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION) endef -PYTHON_SETUPTOOLS_PRE_CONFIGURE_HOOKS = PYTHON_SETUPTOOLS_RUN_BOOTSTRAP -HOST_PYTHON_SETUPTOOLS_PRE_CONFIGURE_HOOKS = PYTHON_SETUPTOOLS_RUN_BOOTSTRAP +define HOST_PYTHON_SETUPTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(HOST_PYTHON_SETUPTOOLS_DL_DIR)/$(PYTHON_SETUPTOOLS_SOURCE) + mv $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/setuptools-$(PYTHON_SETUPTOOLS_VERSION) +endef $(eval $(python-package)) $(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-simplegeneric/python-simplegeneric.mk b/bsp/buildroot/package/python-simplegeneric/python-simplegeneric.mk index cc843204..d3bfa69a 100644 --- a/bsp/buildroot/package/python-simplegeneric/python-simplegeneric.mk +++ b/bsp/buildroot/package/python-simplegeneric/python-simplegeneric.mk @@ -16,7 +16,7 @@ PYTHON_SIMPLEGENERIC_LICENSE = ZPL-2.1 PYTHON_SIMPLEGENERIC_SETUP_TYPE = setuptools define PYTHON_SIMPLEGENERIC_EXTRACT_CMDS - unzip $(DL_DIR)/$(PYTHON_SIMPLEGENERIC_SOURCE) -d $(@D) + unzip $(PYTHON_SIMPLEGENERIC_DL_DIR)/$(PYTHON_SIMPLEGENERIC_SOURCE) -d $(@D) mv $(@D)/simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION)/* $(@D) rmdir $(@D)/simplegeneric-$(PYTHON_SIMPLEGENERIC_VERSION) endef diff --git a/bsp/buildroot/package/python-sip/Config.in b/bsp/buildroot/package/python-sip/Config.in index 1f8961d0..8a43b8b1 100644 --- a/bsp/buildroot/package/python-sip/Config.in +++ b/bsp/buildroot/package/python-sip/Config.in @@ -1,18 +1,6 @@ -comment "python-sip needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -comment "python-sip needs qt or qt5" - depends on BR2_USE_MMU - depends on BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 - config BR2_PACKAGE_PYTHON_SIP bool "python-sip" - depends on BR2_INSTALL_LIBSTDCPP # qt - depends on BR2_TOOLCHAIN_HAS_THREADS # qt - depends on BR2_USE_MMU # qt - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 help SIP is a tool that makes it very easy to create Python bindings for C and C++ libraries. It was originally diff --git a/bsp/buildroot/package/python-sip/python-sip.mk b/bsp/buildroot/package/python-sip/python-sip.mk index 76d7d041..69019f5f 100644 --- a/bsp/buildroot/package/python-sip/python-sip.mk +++ b/bsp/buildroot/package/python-sip/python-sip.mk @@ -10,11 +10,7 @@ PYTHON_SIP_SITE = http://downloads.sourceforge.net/project/pyqt/sip/sip-$(PYTHON PYTHON_SIP_LICENSE = SIP license or GPL-2.0 or GPL-3.0 PYTHON_SIP_LICENSE_FILES = LICENSE LICENSE-GPL2 LICENSE-GPL3 -ifeq ($(BR2_PACKAGE_QT5),y) PYTHON_SIP_DEPENDENCIES = qt5base -else -PYTHON_SIP_DEPENDENCIES = qt -endif ifeq ($(BR2_PACKAGE_PYTHON),y) PYTHON_SIP_DEPENDENCIES += python diff --git a/bsp/buildroot/package/python-six/python-six.hash b/bsp/buildroot/package/python-six/python-six.hash index f9dbf09e..b7262b12 100644 --- a/bsp/buildroot/package/python-six/python-six.hash +++ b/bsp/buildroot/package/python-six/python-six.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/six/json, sha256 locally computed -md5 d12789f9baf7e9fb2524c0c64f1773f8 six-1.11.0.tar.gz -sha256 70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 six-1.11.0.tar.gz -sha256 63478682e84e8c98f4c46308995f1f521a6886976e25421827d2a2be03581328 LICENSE +# md5, sha256 from https://pypi.org/pypi/six/json +md5 9ae5d1feed8c0215f4ae4adcd9207fcb six-1.12.0.tar.gz +sha256 d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73 six-1.12.0.tar.gz +# Locally computed sha256 checksums +sha256 e732f54da58f3e9cf0c48e8b512948936fcf7361bd58afa63a9a3c392bf794ad LICENSE diff --git a/bsp/buildroot/package/python-six/python-six.mk b/bsp/buildroot/package/python-six/python-six.mk index cd806342..95817fa3 100644 --- a/bsp/buildroot/package/python-six/python-six.mk +++ b/bsp/buildroot/package/python-six/python-six.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SIX_VERSION = 1.11.0 +PYTHON_SIX_VERSION = 1.12.0 PYTHON_SIX_SOURCE = six-$(PYTHON_SIX_VERSION).tar.gz -PYTHON_SIX_SITE = https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe +PYTHON_SIX_SITE = https://files.pythonhosted.org/packages/dd/bf/4138e7bfb757de47d1f4b6994648ec67a51efe58fa907c1e11e350cddfca PYTHON_SIX_SETUP_TYPE = setuptools PYTHON_SIX_LICENSE = MIT PYTHON_SIX_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash b/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash index 11fa0766..311bb77e 100644 --- a/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash +++ b/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/sortedcontainers/json, sha256 locally computed -md5 ad4f00e377ad934954ac90fcac0b185f sortedcontainers-1.5.7.tar.gz -sha256 0ff0442865e492bc50476b18000fb8400cf2472d14d21a92b27cd7c5184550ea sortedcontainers-1.5.7.tar.gz +# md5, sha256 from https://pypi.org/pypi/sortedcontainers/json +md5 41a4a1eaf7b85e6b3beb14cfb160bc27 sortedcontainers-2.1.0.tar.gz +sha256 974e9a32f56b17c1bac2aebd9dcf197f3eb9cd30553c5852a3187ad162e1a03a sortedcontainers-2.1.0.tar.gz +# Locally computed sha256 checksums +sha256 7dcf4a5137118a925727b8a1690bc6ea70b156ee6739dbb51fd4d386718d6ce5 LICENSE diff --git a/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk b/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk index 99606816..43f662a8 100644 --- a/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk +++ b/bsp/buildroot/package/python-sortedcontainers/python-sortedcontainers.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_SORTEDCONTAINERS_VERSION = 1.5.7 +PYTHON_SORTEDCONTAINERS_VERSION = 2.1.0 PYTHON_SORTEDCONTAINERS_SOURCE = sortedcontainers-$(PYTHON_SORTEDCONTAINERS_VERSION).tar.gz -PYTHON_SORTEDCONTAINERS_SITE = https://pypi.python.org/packages/8d/aa/5369362d730728639ba434318df26b5c554804578d1c48381367ea5377c6 +PYTHON_SORTEDCONTAINERS_SITE = https://files.pythonhosted.org/packages/29/e0/135df2e733790a3d3bcda970fd080617be8cea3bd98f411e76e6847c17ef PYTHON_SORTEDCONTAINERS_SETUP_TYPE = setuptools PYTHON_SORTEDCONTAINERS_LICENSE = Apache-2.0 PYTHON_SORTEDCONTAINERS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-sqlalchemy/Config.in b/bsp/buildroot/package/python-sqlalchemy/Config.in new file mode 100644 index 00000000..f7ec3a6a --- /dev/null +++ b/bsp/buildroot/package/python-sqlalchemy/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PYTHON_SQLALCHEMY + bool "python-sqlalchemy" + help + SQLAlchemy is the Python SQL toolkit and Object Relational + Mapper that gives application developers the full power and + flexibility of SQL. + + It provides a full suite of well known enterprise-level + persistence patterns, designed for efficient and + high-performing database access, adapted into a simple and + Pythonic domain language. + + http://www.sqlalchemy.org diff --git a/bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.hash b/bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.hash new file mode 100644 index 00000000..9e13a2f2 --- /dev/null +++ b/bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/SQLAlchemy/json, sha256 locally computed +md5 968e07dc0aa92f9205bb3877f33f498f SQLAlchemy-1.2.2.tar.gz +sha256 64b4720f0a8e033db0154d3824f5bf677cf2797e11d44743cf0aebd2a0499d9d SQLAlchemy-1.2.2.tar.gz +sha256 73bda3d7d6c568f494c1d12520a97d41a38b7ce91d88c21f1b469b747b17f7fd LICENSE diff --git a/bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.mk b/bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.mk new file mode 100644 index 00000000..c0023712 --- /dev/null +++ b/bsp/buildroot/package/python-sqlalchemy/python-sqlalchemy.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-sqlalchemy +# +################################################################################ + +PYTHON_SQLALCHEMY_VERSION = 1.2.2 +PYTHON_SQLALCHEMY_SOURCE = SQLAlchemy-$(PYTHON_SQLALCHEMY_VERSION).tar.gz +PYTHON_SQLALCHEMY_SITE = https://pypi.python.org/packages/b9/fb/a56d2fc0ce3571328fa872734ad124cae25a4cea422088987f865fb71787 +PYTHON_SQLALCHEMY_SETUP_TYPE = setuptools +PYTHON_SQLALCHEMY_LICENSE = MIT +PYTHON_SQLALCHEMY_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-subprocess32/Config.in b/bsp/buildroot/package/python-subprocess32/Config.in new file mode 100644 index 00000000..d7fe84f1 --- /dev/null +++ b/bsp/buildroot/package/python-subprocess32/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_PYTHON_SUBPROCESS32 + bool "python-subprocess32" + depends on BR2_PACKAGE_PYTHON + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_MIPS_NABI64 + help + A backport of the Python 3 subprocess module for use + on Python 2. + + https://github.com/google/python-subprocess32 + +comment "python-subprocess32 needs a toolchain w/ headers >= 3.10 on MIPS N64" + depends on BR2_MIPS_NABI64 + depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 diff --git a/bsp/buildroot/package/python-subprocess32/python-subprocess32.hash b/bsp/buildroot/package/python-subprocess32/python-subprocess32.hash new file mode 100644 index 00000000..e96505d3 --- /dev/null +++ b/bsp/buildroot/package/python-subprocess32/python-subprocess32.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/subprocess32/json +md5 afa0510115f483d668e25aa30502d9bc subprocess32-3.5.3.tar.gz +sha256 6bc82992316eef3ccff319b5033809801c0c3372709c5f6985299c88ac7225c3 subprocess32-3.5.3.tar.gz +# Locally computed sha256 checksums +sha256 826b43437249d39422642f695154d064da64de92eb1476048a615f50bc1beb4a LICENSE diff --git a/bsp/buildroot/package/python-subprocess32/python-subprocess32.mk b/bsp/buildroot/package/python-subprocess32/python-subprocess32.mk new file mode 100644 index 00000000..d6c57fb8 --- /dev/null +++ b/bsp/buildroot/package/python-subprocess32/python-subprocess32.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-subprocess32 +# +################################################################################ + +PYTHON_SUBPROCESS32_VERSION = 3.5.3 +PYTHON_SUBPROCESS32_SOURCE = subprocess32-$(PYTHON_SUBPROCESS32_VERSION).tar.gz +PYTHON_SUBPROCESS32_SITE = https://files.pythonhosted.org/packages/be/2b/beeba583e9877e64db10b52a96915afc0feabf7144dcbf2a0d0ea68bf73d +PYTHON_SUBPROCESS32_SETUP_TYPE = setuptools +PYTHON_SUBPROCESS32_LICENSE = Python-2.0 +PYTHON_SUBPROCESS32_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-texttable/Config.in b/bsp/buildroot/package/python-texttable/Config.in new file mode 100644 index 00000000..1c8dde8d --- /dev/null +++ b/bsp/buildroot/package/python-texttable/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_TEXTTABLE + bool "python-texttable" + help + module for creating simple ASCII tables. + + https://github.com/foutaise/texttable/ diff --git a/bsp/buildroot/package/python-texttable/python-texttable.hash b/bsp/buildroot/package/python-texttable/python-texttable.hash new file mode 100644 index 00000000..448d6b7d --- /dev/null +++ b/bsp/buildroot/package/python-texttable/python-texttable.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/texttable/json, sha256 locally computed +md5 a712b5a5464d51c5fc43c64d9d2cd0de texttable-0.9.1.tar.gz +sha256 119041773ff03596b56392532f9315cb3a3116e404fd6f36e76a7dc088d95c79 texttable-0.9.1.tar.gz +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE diff --git a/bsp/buildroot/package/python-texttable/python-texttable.mk b/bsp/buildroot/package/python-texttable/python-texttable.mk new file mode 100644 index 00000000..96fe6cf8 --- /dev/null +++ b/bsp/buildroot/package/python-texttable/python-texttable.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-texttable +# +################################################################################ + +PYTHON_TEXTTABLE_VERSION = 0.9.1 +PYTHON_TEXTTABLE_SOURCE = texttable-$(PYTHON_TEXTTABLE_VERSION).tar.gz +PYTHON_TEXTTABLE_SITE = https://pypi.python.org/packages/02/e1/2565e6b842de7945af0555167d33acfc8a615584ef7abd30d1eae00a4d80 +PYTHON_TEXTTABLE_SETUP_TYPE = distutils +PYTHON_TEXTTABLE_LICENSE = LGPL-3.0+ +PYTHON_TEXTTABLE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-tornado/0001-Disable-SSL-checks.patch b/bsp/buildroot/package/python-tornado/0001-Disable-SSL-checks.patch new file mode 100644 index 00000000..272afd64 --- /dev/null +++ b/bsp/buildroot/package/python-tornado/0001-Disable-SSL-checks.patch @@ -0,0 +1,45 @@ +From 82a3bbc2ac41b5a1b34a53f97459558efe131f14 Mon Sep 17 00:00:00 2001 +From: Jan Dohl +Date: Sun, 24 Jun 2018 16:00:54 +0200 +Subject: [PATCH] Disable SSL checks + +Checking for SSL support in the Python used on the build system is not +relevant, as we need SSL support in the Python on the target system. + +Signed-off-by: Jan Dohl +--- + setup.py | 11 ----------- + 1 file changed, 11 deletions(-) + +diff --git a/setup.py b/setup.py +index 6fbb10a8..1a9220c7 100644 +--- a/setup.py ++++ b/setup.py +@@ -15,7 +15,6 @@ + + import os + import platform +-import ssl + import sys + import warnings + +@@ -137,16 +136,6 @@ if setuptools is not None: + python_requires = '>= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, != 3.3.*' + kwargs['python_requires'] = python_requires + +-# Verify that the SSL module has all the modern upgrades. Check for several +-# names individually since they were introduced at different versions, +-# although they should all be present by Python 3.4 or 2.7.9. +-if (not hasattr(ssl, 'SSLContext') or +- not hasattr(ssl, 'create_default_context') or +- not hasattr(ssl, 'match_hostname')): +- raise ImportError("Tornado requires an up-to-date SSL module. This means " +- "Python 2.7.9+ or 3.4+ (although some distributions have " +- "backported the necessary changes to older versions).") +- + setup( + name="tornado", + version=version, +-- +2.14.4 + diff --git a/bsp/buildroot/package/python-tornado/Config.in b/bsp/buildroot/package/python-tornado/Config.in index a0ee78fb..1afbdc57 100644 --- a/bsp/buildroot/package/python-tornado/Config.in +++ b/bsp/buildroot/package/python-tornado/Config.in @@ -2,6 +2,8 @@ config BR2_PACKAGE_PYTHON_TORNADO bool "python-tornado" select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 select BR2_PACKAGE_PYTHON_SINGLEDISPATCH if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_BACKPORTS_ABC if BR2_PACKAGE_PYTHON # runtime select BR2_PACKAGE_PYTHON_CERTIFI if BR2_PACKAGE_PYTHON # runtime diff --git a/bsp/buildroot/package/python-tornado/python-tornado.hash b/bsp/buildroot/package/python-tornado/python-tornado.hash index 662db6f2..fbf5efa6 100644 --- a/bsp/buildroot/package/python-tornado/python-tornado.hash +++ b/bsp/buildroot/package/python-tornado/python-tornado.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/tornado/json, sha256 locally computed -md5 838687d20923360af5ab59f101e9e02e tornado-4.5.1.tar.gz -sha256 db0904a28253cfe53e7dedc765c71596f3c53bb8a866ae50123320ec1a7b73fd tornado-4.5.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/tornado/json +md5 a1ce4f392d30ff0ebcb255150d89b826 tornado-5.1.1.tar.gz +sha256 4e5158d97583502a7e2739951553cbd88a72076f152b4b11b64b9a10c4c49409 tornado-5.1.1.tar.gz +# Locally computed sha256 checksums +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/python-tornado/python-tornado.mk b/bsp/buildroot/package/python-tornado/python-tornado.mk index 6e616756..71f536f0 100644 --- a/bsp/buildroot/package/python-tornado/python-tornado.mk +++ b/bsp/buildroot/package/python-tornado/python-tornado.mk @@ -4,10 +4,11 @@ # ################################################################################ -PYTHON_TORNADO_VERSION = 4.5.1 +PYTHON_TORNADO_VERSION = 5.1.1 PYTHON_TORNADO_SOURCE = tornado-$(PYTHON_TORNADO_VERSION).tar.gz -PYTHON_TORNADO_SITE = https://pypi.python.org/packages/df/42/a180ee540e12e2ec1007ac82a42b09dd92e5461e09c98bf465e98646d187 +PYTHON_TORNADO_SITE = https://files.pythonhosted.org/packages/e6/78/6e7b5af12c12bdf38ca9bfe863fcaf53dc10430a312d0324e76c1e5ca426 PYTHON_TORNADO_LICENSE = Apache-2.0 +PYTHON_TORNADO_LICENSE_FILES = LICENSE PYTHON_TORNADO_SETUP_TYPE = setuptools $(eval $(python-package)) diff --git a/bsp/buildroot/package/python-twisted/Config.in b/bsp/buildroot/package/python-twisted/Config.in index 344edb4a..b72952f9 100644 --- a/bsp/buildroot/package/python-twisted/Config.in +++ b/bsp/buildroot/package/python-twisted/Config.in @@ -1,9 +1,11 @@ config BR2_PACKAGE_PYTHON_TWISTED bool "python-twisted" select BR2_PACKAGE_PYTHON_INCREMENTAL + select BR2_PACKAGE_PYTHON_ATTRS # runtime select BR2_PACKAGE_PYTHON_AUTOMAT # runtime select BR2_PACKAGE_PYTHON_CONSTANTLY # runtime select BR2_PACKAGE_PYTHON_HYPERLINK # runtime + select BR2_PACKAGE_PYTHON_PYHAMCREST # runtime select BR2_PACKAGE_PYTHON_ZOPE_INTERFACE # runtime help Twisted is an event-driven networking engine written in diff --git a/bsp/buildroot/package/python-twisted/python-twisted.hash b/bsp/buildroot/package/python-twisted/python-twisted.hash index c22f3364..884dce13 100644 --- a/bsp/buildroot/package/python-twisted/python-twisted.hash +++ b/bsp/buildroot/package/python-twisted/python-twisted.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/twisted/json, sha256 locally computed -md5 cd5c287802dcbaf7be15cf937c922b71 Twisted-17.5.0.tar.bz2 -sha256 f198a494f0df2482f7c5f99d7f3eef33d22763ffc76641b36fec476b878002ea Twisted-17.5.0.tar.bz2 +# md5, sha256 from https://pypi.org/pypi/twisted/json +md5 20fe2ec156e6e45b0b0d2ff06d9e828f Twisted-18.9.0.tar.bz2 +sha256 294be2c6bf84ae776df2fc98e7af7d6537e1c5e60a46d33c3ce2a197677da395 Twisted-18.9.0.tar.bz2 +# Locally computed sha256 +sha256 17305fcdb49a4048310be5b43e9f3cfa9525c508a5117089d8b2ee91800c327b LICENSE diff --git a/bsp/buildroot/package/python-twisted/python-twisted.mk b/bsp/buildroot/package/python-twisted/python-twisted.mk index fe276d64..a62637f0 100644 --- a/bsp/buildroot/package/python-twisted/python-twisted.mk +++ b/bsp/buildroot/package/python-twisted/python-twisted.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TWISTED_VERSION = 17.5.0 +PYTHON_TWISTED_VERSION = 18.9.0 PYTHON_TWISTED_SOURCE = Twisted-$(PYTHON_TWISTED_VERSION).tar.bz2 -PYTHON_TWISTED_SITE = https://pypi.python.org/packages/31/bf/7f86a8f8b9778e90d8b2921e9f442a8c8aa33fd2489fc10f236bc8af1749 +PYTHON_TWISTED_SITE = https://files.pythonhosted.org/packages/5d/0e/a72d85a55761c2c3ff1cb968143a2fd5f360220779ed90e0fadf4106d4f2 PYTHON_TWISTED_SETUP_TYPE = setuptools PYTHON_TWISTED_LICENSE = MIT PYTHON_TWISTED_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-txaio/python-txaio.hash b/bsp/buildroot/package/python-txaio/python-txaio.hash index 6fb8e78c..8b43a3dc 100644 --- a/bsp/buildroot/package/python-txaio/python-txaio.hash +++ b/bsp/buildroot/package/python-txaio/python-txaio.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/txaio/json, sha256 locally computed -md5 a20e3431c95896a49fa3ffa84f77cde1 txaio-2.8.2.tar.gz -sha256 484cd6c4cdd3f6081b87188f3b2b9a36e02fba6816e8256917c4f6571b567571 txaio-2.8.2.tar.gz -sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE +# md5, sha256 from https://pypi.org/pypi/txaio/json +md5 ecdd4d0f401c7f01f22830b4d2788593 txaio-18.8.1.tar.gz +sha256 67e360ac73b12c52058219bb5f8b3ed4105d2636707a36a7cdafb56fe06db7fe txaio-18.8.1.tar.gz +# Locally computed sha256 checksums +sha256 0387eefce570453daaa60633f28676003731eeca28b2d0a0071c628e3a0004ef LICENSE diff --git a/bsp/buildroot/package/python-txaio/python-txaio.mk b/bsp/buildroot/package/python-txaio/python-txaio.mk index 5e4d7101..8f73f367 100644 --- a/bsp/buildroot/package/python-txaio/python-txaio.mk +++ b/bsp/buildroot/package/python-txaio/python-txaio.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXAIO_VERSION = 2.8.2 +PYTHON_TXAIO_VERSION = 18.8.1 PYTHON_TXAIO_SOURCE = txaio-$(PYTHON_TXAIO_VERSION).tar.gz -PYTHON_TXAIO_SITE = https://pypi.python.org/packages/d6/95/d0c67304515f352342bc8fd14e5a3e7ca924134608acb730916073b18464 +PYTHON_TXAIO_SITE = https://files.pythonhosted.org/packages/c1/99/81de004578e9afe017bb1d4c8968088a33621c05449fe330bdd7016d5377 PYTHON_TXAIO_LICENSE = MIT PYTHON_TXAIO_LICENSE_FILES = LICENSE PYTHON_TXAIO_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-txtorcon/python-txtorcon.hash b/bsp/buildroot/package/python-txtorcon/python-txtorcon.hash index 71a2ec50..ffc4e837 100644 --- a/bsp/buildroot/package/python-txtorcon/python-txtorcon.hash +++ b/bsp/buildroot/package/python-txtorcon/python-txtorcon.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/txtorcon/json, sha256 locally computed -md5 4d7380fa7e721c77cac103d971882374 txtorcon-0.19.3.tar.gz -sha256 f73396667909a3c7a98f4dd865edf4ed6a2518ee5a935d92e18b8a479ec244fd txtorcon-0.19.3.tar.gz -sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE +# md5, sha256 from https://pypi.org/pypi/txtorcon/json +md5 7e6ef4d29c2cc51e85614cd2d57bf8df txtorcon-19.0.0.tar.gz +sha256 3731b740653e3f551412744f1fcd7fa6f04aa9fa37c90dc6c9152e619886bf3b txtorcon-19.0.0.tar.gz +# Locally computed sha256 checksums +sha256 3ada1c32ef38c23d96d7f4e8f4a226c527f51e0202883c7543b06f9cc5228a2b LICENSE diff --git a/bsp/buildroot/package/python-txtorcon/python-txtorcon.mk b/bsp/buildroot/package/python-txtorcon/python-txtorcon.mk index f75f5043..7bf1c252 100644 --- a/bsp/buildroot/package/python-txtorcon/python-txtorcon.mk +++ b/bsp/buildroot/package/python-txtorcon/python-txtorcon.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_TXTORCON_VERSION = 0.19.3 +PYTHON_TXTORCON_VERSION = 19.0.0 PYTHON_TXTORCON_SOURCE = txtorcon-$(PYTHON_TXTORCON_VERSION).tar.gz -PYTHON_TXTORCON_SITE = https://pypi.python.org/packages/05/4b/d2fbfdc08ab83c299f2ad22ba38ea35f71f1c966684f5754e079108a1f64 +PYTHON_TXTORCON_SITE = https://files.pythonhosted.org/packages/b7/93/e16d8160bac3a19d13c9ead9ac6b38f837f2534d40884109a334be1f849c PYTHON_TXTORCON_SETUP_TYPE = setuptools PYTHON_TXTORCON_LICENSE = MIT PYTHON_TXTORCON_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-typing/Config.in b/bsp/buildroot/package/python-typing/Config.in new file mode 100644 index 00000000..81b7d71b --- /dev/null +++ b/bsp/buildroot/package/python-typing/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_TYPING + bool "python-typing" + depends on BR2_PACKAGE_PYTHON + help + Type Hints for Python. This is a backport of the standard + library typing module to Python versions older than 3.5. + + https://docs.python.org/3/library/typing.html diff --git a/bsp/buildroot/package/python-typing/python-typing.hash b/bsp/buildroot/package/python-typing/python-typing.hash new file mode 100644 index 00000000..5bdb8c62 --- /dev/null +++ b/bsp/buildroot/package/python-typing/python-typing.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/typing/json +md5 64614206b4bdc0864fc0e0bccd69efc9 typing-3.6.6.tar.gz +sha256 4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d typing-3.6.6.tar.gz +# Locally computed sha256 checksums +sha256 ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad LICENSE diff --git a/bsp/buildroot/package/python-typing/python-typing.mk b/bsp/buildroot/package/python-typing/python-typing.mk new file mode 100644 index 00000000..663227df --- /dev/null +++ b/bsp/buildroot/package/python-typing/python-typing.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-typing +# +################################################################################ + +PYTHON_TYPING_VERSION = 3.6.6 +PYTHON_TYPING_SOURCE = typing-$(PYTHON_TYPING_VERSION).tar.gz +PYTHON_TYPING_SITE = https://files.pythonhosted.org/packages/bf/9b/2bf84e841575b633d8d91ad923e198a415e3901f228715524689495b4317 +PYTHON_TYPING_SETUP_TYPE = setuptools +PYTHON_TYPING_LICENSE = Python-2.0, others +PYTHON_TYPING_LICENSE_FILES = LICENSE + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.hash b/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.hash index 12f2be37..e24c9f3f 100644 --- a/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.hash +++ b/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/u-msgpack-python/json, sha256 locally computed -md5 f5adfb3e19910d8a41e331d3b03aa7c6 u-msgpack-python-2.2.tar.gz -sha256 cdd5a88f2313856a6a9f481f652dab9edd5731059badbb0111280f27249930d7 u-msgpack-python-2.2.tar.gz +# md5, sha256 from https://pypi.org/pypi/u-msgpack-python/json +md5 ba0ec9036933edbbf33a344a5c72dd14 u-msgpack-python-2.5.0.tar.gz +sha256 7ff18ae3721fa75571f9329c08f7c0120416a6ae36194bd8674f65b3b78d0702 u-msgpack-python-2.5.0.tar.gz +# Locally computed sha256 +sha256 0603a3e697a80b13640e3023bb534727f683ada5c4b0b0149d001ec5272d64f4 LICENSE diff --git a/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.mk b/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.mk index 89240c3f..bcb12b20 100644 --- a/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.mk +++ b/bsp/buildroot/package/python-u-msgpack/python-u-msgpack.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_U_MSGPACK_VERSION = 2.2 +PYTHON_U_MSGPACK_VERSION = 2.5.0 PYTHON_U_MSGPACK_SOURCE = u-msgpack-python-$(PYTHON_U_MSGPACK_VERSION).tar.gz -PYTHON_U_MSGPACK_SITE = https://pypi.python.org/packages/66/5b/36fe0fcf290bd39f6ef6c1f5924cf0a9a76b0dc94575975ad7d318619cf9 +PYTHON_U_MSGPACK_SITE = https://files.pythonhosted.org/packages/f5/97/36d5ac7d71451e282051e48219cc825637f617a8f620a2edf90ab61b7f97 PYTHON_U_MSGPACK_SETUP_TYPE = setuptools PYTHON_U_MSGPACK_LICENSE = MIT PYTHON_U_MSGPACK_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-ubjson/python-ubjson.hash b/bsp/buildroot/package/python-ubjson/python-ubjson.hash index 30f65fe6..f93ae1ac 100644 --- a/bsp/buildroot/package/python-ubjson/python-ubjson.hash +++ b/bsp/buildroot/package/python-ubjson/python-ubjson.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/py-ubjson/json, sha256 locally computed -md5 c78bbe899eeba9604302ad746094e8d1 py-ubjson-0.9.0.tar.gz -sha256 b405daaa82acdf5989207e1e5ff6865ef7d23bf450513a6d90a1ab64c75bdcf8 py-ubjson-0.9.0.tar.gz +# md5, sha256 from https://pypi.org/pypi/py-ubjson/json +md5 5dbbecd3dbecd744e45f27f14e2da5e1 py-ubjson-0.12.0.tar.gz +sha256 b796cb5077a06c932f0d148f4eef4ce0f045a05cb14393177a6d034be9f8e364 py-ubjson-0.12.0.tar.gz +# Locally computed sha256 checksums +sha256 ca182abcb84ad9984c9af2e30cb70c4fe0e1772674355207e8fcdb85e8c5e75f LICENSE diff --git a/bsp/buildroot/package/python-ubjson/python-ubjson.mk b/bsp/buildroot/package/python-ubjson/python-ubjson.mk index a192cfb6..477cc400 100644 --- a/bsp/buildroot/package/python-ubjson/python-ubjson.mk +++ b/bsp/buildroot/package/python-ubjson/python-ubjson.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_UBJSON_VERSION = 0.9.0 +PYTHON_UBJSON_VERSION = 0.12.0 PYTHON_UBJSON_SOURCE = py-ubjson-$(PYTHON_UBJSON_VERSION).tar.gz -PYTHON_UBJSON_SITE = https://pypi.python.org/packages/d4/40/a80006884ec03a54a5c6c53ae76df9978536862f0683b6e6280e3808d289 +PYTHON_UBJSON_SITE = https://files.pythonhosted.org/packages/68/9c/a6c34e565351f0b04bcf6835e38bc4bd0647269dc48670e12eb99a3f5ef5 PYTHON_UBJSON_LICENSE = Apache-2.0 PYTHON_UBJSON_LICENSE_FILES = LICENSE PYTHON_UBJSON_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-urllib3/python-urllib3.hash b/bsp/buildroot/package/python-urllib3/python-urllib3.hash index 226a8265..098c7940 100644 --- a/bsp/buildroot/package/python-urllib3/python-urllib3.hash +++ b/bsp/buildroot/package/python-urllib3/python-urllib3.hash @@ -1,3 +1,5 @@ -# md5 from https://pypi.python.org/pypi/urllib3/json, sha256 locally computed -md5 ef6c72c79b9c6bcd68c204f9b92abc86 urllib3-1.21.1.tar.gz -sha256 b14486978518ca0901a76ba973d7821047409d7f726f22156b24e83fd71382a5 urllib3-1.21.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/urllib3/json +md5 f3d8b1841539200c949a33e87e551d8e urllib3-1.24.1.tar.gz +sha256 de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22 urllib3-1.24.1.tar.gz +# Locally computed sha256 checksums +sha256 11db569430ca5ad793f1399297b8df5041a22137abaf90642ea71da21d59121c LICENSE.txt diff --git a/bsp/buildroot/package/python-urllib3/python-urllib3.mk b/bsp/buildroot/package/python-urllib3/python-urllib3.mk index 454f75fa..a2c3096a 100644 --- a/bsp/buildroot/package/python-urllib3/python-urllib3.mk +++ b/bsp/buildroot/package/python-urllib3/python-urllib3.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_URLLIB3_VERSION = 1.21.1 +PYTHON_URLLIB3_VERSION = 1.24.1 PYTHON_URLLIB3_SOURCE = urllib3-$(PYTHON_URLLIB3_VERSION).tar.gz -PYTHON_URLLIB3_SITE = https://pypi.python.org/packages/96/d9/40e4e515d3e17ed0adbbde1078e8518f8c4e3628496b56eb8f026a02b9e4 +PYTHON_URLLIB3_SITE = https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1 PYTHON_URLLIB3_LICENSE = MIT PYTHON_URLLIB3_LICENSE_FILES = LICENSE.txt PYTHON_URLLIB3_SETUP_TYPE = setuptools diff --git a/bsp/buildroot/package/python-uvloop/Config.in b/bsp/buildroot/package/python-uvloop/Config.in new file mode 100644 index 00000000..76e06ac3 --- /dev/null +++ b/bsp/buildroot/package/python-uvloop/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_PYTHON_UVLOOP + bool "python-uvloop" + depends on BR2_PACKAGE_PYTHON3 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on BR2_USE_MMU # libuv + depends on !BR2_STATIC_LIBS # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + select BR2_PACKAGE_LIBUV + select BR2_PACKAGE_PYTHON3_SSL + help + Fast implementation of asyncio event loop on top of libuv. + + http://github.com/MagicStack/uvloop + +comment "python-uvloop needs a toolchain w/ NPTL, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_USE_MMU diff --git a/bsp/buildroot/package/python-uvloop/python-uvloop.hash b/bsp/buildroot/package/python-uvloop/python-uvloop.hash new file mode 100644 index 00000000..2eaa92d6 --- /dev/null +++ b/bsp/buildroot/package/python-uvloop/python-uvloop.hash @@ -0,0 +1,6 @@ +# md5, sha256 from https://pypi.org/pypi/uvloop/json +md5 9584c5e372755f752e47c2ff8419efe1 uvloop-0.11.3.tar.gz +sha256 fd5042d0a2ea07b92d0e2190f7711feb91cde31cf2bf1829e2e8c4c0fdd1f1aa uvloop-0.11.3.tar.gz +# Locally computed sha256 checksums +sha256 2fdc436a67077941295c58647f521fbef8f50e46db0970552fa1a4dd8ae261c6 LICENSE-APACHE +sha256 9185f3c77e9f6ef8859a6ba4c94128ac1329876be3e813aad32d7645e51ae409 LICENSE-MIT diff --git a/bsp/buildroot/package/python-uvloop/python-uvloop.mk b/bsp/buildroot/package/python-uvloop/python-uvloop.mk new file mode 100644 index 00000000..037cca38 --- /dev/null +++ b/bsp/buildroot/package/python-uvloop/python-uvloop.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# python-uvloop +# +################################################################################ + +PYTHON_UVLOOP_VERSION = 0.11.3 +PYTHON_UVLOOP_SOURCE = uvloop-$(PYTHON_UVLOOP_VERSION).tar.gz +PYTHON_UVLOOP_SITE = https://files.pythonhosted.org/packages/46/60/8e46188acba22369848d5e9bcbee3ca04b68a12d0598bd625c1a3994f5df +PYTHON_UVLOOP_SETUP_TYPE = setuptools +PYTHON_UVLOOP_LICENSE = Apache-2.0, MIT +PYTHON_UVLOOP_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT +PYTHON_UVLOOP_BUILD_OPTS = build_ext --inplace --use-system-libuv +PYTHON_UVLOOP_INSTALL_TARGET_OPTS = build_ext --inplace --use-system-libuv +PYTHON_UVLOOP_DEPENDENCIES = libuv + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-validators/Config.in b/bsp/buildroot/package/python-validators/Config.in new file mode 100644 index 00000000..e7003699 --- /dev/null +++ b/bsp/buildroot/package/python-validators/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_VALIDATORS + bool "python-validators" + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_DECORATOR # runtime + help + Python Data Validation for Humans. + + https://github.com/kvesteri/validators diff --git a/bsp/buildroot/package/python-validators/python-validators.hash b/bsp/buildroot/package/python-validators/python-validators.hash new file mode 100644 index 00000000..8c6e3f9e --- /dev/null +++ b/bsp/buildroot/package/python-validators/python-validators.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/validators/json +md5 9c9583f91972163b3b736033bb929d8a validators-0.12.2.tar.gz +sha256 172ac45f7d1944ce4beca3c5c53ca7c83e9759e39fd3fedc1cf28e2130268706 validators-0.12.2.tar.gz +# Locally computed sha256 checksums +sha256 a7fd9d761c7ca1c6508b9baf030f6e21f5752d1caea3e49a270634aa9ef01e6f LICENSE diff --git a/bsp/buildroot/package/python-validators/python-validators.mk b/bsp/buildroot/package/python-validators/python-validators.mk new file mode 100644 index 00000000..e94476f8 --- /dev/null +++ b/bsp/buildroot/package/python-validators/python-validators.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-validators +# +################################################################################ + +PYTHON_VALIDATORS_VERSION = 0.12.2 +PYTHON_VALIDATORS_SOURCE = validators-$(PYTHON_VALIDATORS_VERSION).tar.gz +PYTHON_VALIDATORS_SITE = https://files.pythonhosted.org/packages/45/7b/5b7b74208a3e0744d1a0efbfb1935fa46fa4cfe58d3d63f17c49c58c429c +PYTHON_VALIDATORS_SETUP_TYPE = setuptools +PYTHON_VALIDATORS_LICENSE = BSD +PYTHON_VALIDATORS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-visitor/Config.in b/bsp/buildroot/package/python-visitor/Config.in new file mode 100644 index 00000000..f8be5ec9 --- /dev/null +++ b/bsp/buildroot/package/python-visitor/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_VISITOR + bool "python-visitor" + help + A tiny pythonic visitor implementation. + + http://github.com/mbr/visitor diff --git a/bsp/buildroot/package/python-visitor/python-visitor.hash b/bsp/buildroot/package/python-visitor/python-visitor.hash new file mode 100644 index 00000000..6e0cffbd --- /dev/null +++ b/bsp/buildroot/package/python-visitor/python-visitor.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/visitor/json, sha256 locally computed +md5 94a024ed0ec1b02b4497c15267d319ca visitor-0.1.3.tar.gz +sha256 2c737903b2b6864ebc6167eef7cf3b997126f1aa94bdf590f90f1436d23e480a visitor-0.1.3.tar.gz +sha256 184d1ebb65da97ada36447f3c028f2fd4890b874f17b18c023ce200dd96639af LICENSE diff --git a/bsp/buildroot/package/python-visitor/python-visitor.mk b/bsp/buildroot/package/python-visitor/python-visitor.mk new file mode 100644 index 00000000..1313491c --- /dev/null +++ b/bsp/buildroot/package/python-visitor/python-visitor.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-visitor +# +################################################################################ + +PYTHON_VISITOR_VERSION = 0.1.3 +PYTHON_VISITOR_SOURCE = visitor-$(PYTHON_VISITOR_VERSION).tar.gz +PYTHON_VISITOR_SITE = https://pypi.python.org/packages/d7/58/785fcd6de4210049da5fafe62301b197f044f3835393594be368547142b0 +PYTHON_VISITOR_SETUP_TYPE = setuptools +PYTHON_VISITOR_LICENSE = MIT +PYTHON_VISITOR_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-web2py/python-web2py.hash b/bsp/buildroot/package/python-web2py/python-web2py.hash index adc7bc5d..9a1df0c2 100644 --- a/bsp/buildroot/package/python-web2py/python-web2py.hash +++ b/bsp/buildroot/package/python-web2py/python-web2py.hash @@ -1,2 +1,3 @@ # sha256 locally computed -sha256 e432e051ebb826b77835bda03ddb16364b37d137b37ac33005b6ac0fd5d56280 python-web2py-R-2.15.4.tar.gz +sha256 8205a7a08595ca1a41919750a8dc4e431258966cb46c8021564b25003cf90863 python-web2py-R-2.17.2.tar.gz +sha256 2aae96826184a492bc799add49aed7b29036e7aba2d2294fb65053bd30fe55fe LICENSE diff --git a/bsp/buildroot/package/python-web2py/python-web2py.mk b/bsp/buildroot/package/python-web2py/python-web2py.mk index 9ad5a778..922b267b 100644 --- a/bsp/buildroot/package/python-web2py/python-web2py.mk +++ b/bsp/buildroot/package/python-web2py/python-web2py.mk @@ -4,7 +4,7 @@ # ################################################################################ -PYTHON_WEB2PY_VERSION = R-2.15.4 +PYTHON_WEB2PY_VERSION = R-2.17.2 PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,$(PYTHON_WEB2PY_VERSION)) PYTHON_WEB2PY_LICENSE = LGPL-3.0 PYTHON_WEB2PY_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-webob/Config.in b/bsp/buildroot/package/python-webob/Config.in new file mode 100644 index 00000000..fe77723f --- /dev/null +++ b/bsp/buildroot/package/python-webob/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_WEBOB + bool "python-webob" + select BR2_PACKAGE_PYTHON_HASHLIB if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON_ZLIB if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_ZLIB if BR2_PACKAGE_PYTHON3 # runtime + help + WSGI request and response object. + + http://webob.org/ diff --git a/bsp/buildroot/package/python-webob/python-webob.hash b/bsp/buildroot/package/python-webob/python-webob.hash new file mode 100644 index 00000000..41e8af34 --- /dev/null +++ b/bsp/buildroot/package/python-webob/python-webob.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/WebOb/json +md5 afea95e4f08330a0529ae33137caf4f0 WebOb-1.8.1.tar.gz +sha256 54f35073d2fdcddd7a98c2a1dedeede49739150737164a787220f30283139ba6 WebOb-1.8.1.tar.gz +# Locally computed sha256 checksums +sha256 27bc4919e7e9e6b6cda40644517ca74d32203e32fba89ef832aba1ed93e457b3 docs/license.txt diff --git a/bsp/buildroot/package/python-webob/python-webob.mk b/bsp/buildroot/package/python-webob/python-webob.mk new file mode 100644 index 00000000..fdf47938 --- /dev/null +++ b/bsp/buildroot/package/python-webob/python-webob.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-webob +# +################################################################################ + +PYTHON_WEBOB_VERSION = 1.8.1 +PYTHON_WEBOB_SOURCE = WebOb-$(PYTHON_WEBOB_VERSION).tar.gz +PYTHON_WEBOB_SITE = https://files.pythonhosted.org/packages/ea/93/675ec37b631c823877718164b74fc057203c8979fd771bf60f711d64550b +PYTHON_WEBOB_SETUP_TYPE = setuptools +PYTHON_WEBOB_LICENSE = MIT +PYTHON_WEBOB_LICENSE_FILES = docs/license.txt + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-websocket-client/Config.in b/bsp/buildroot/package/python-websocket-client/Config.in new file mode 100644 index 00000000..0fbb15b3 --- /dev/null +++ b/bsp/buildroot/package/python-websocket-client/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_WEBSOCKET_CLIENT + bool "python-websocket-client" + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_SSL if BR2_PACKAGE_PYTHON # runtime + select BR2_PACKAGE_PYTHON3_SSL if BR2_PACKAGE_PYTHON3 # runtime + help + WebSocket client for python. hybi13 is supported. + + https://github.com/websocket-client/websocket-client.git diff --git a/bsp/buildroot/package/python-websocket-client/python-websocket-client.hash b/bsp/buildroot/package/python-websocket-client/python-websocket-client.hash new file mode 100644 index 00000000..3672ca07 --- /dev/null +++ b/bsp/buildroot/package/python-websocket-client/python-websocket-client.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/websocket-client/json, sha256 locally computed +md5 790b3ecb5364293ad70c59a1b92debb1 websocket_client-0.47.0.tar.gz +sha256 a453dc4dfa6e0db3d8fd7738a308a88effe6240c59f3226eb93e8f020c216149 websocket_client-0.47.0.tar.gz +sha256 e580b2a1a57c33085dd6a07cff693d828f7c3fa8a11ce56ade2a62c46951930d LICENSE diff --git a/bsp/buildroot/package/python-websocket-client/python-websocket-client.mk b/bsp/buildroot/package/python-websocket-client/python-websocket-client.mk new file mode 100644 index 00000000..58c8407d --- /dev/null +++ b/bsp/buildroot/package/python-websocket-client/python-websocket-client.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-websocket-client +# +################################################################################ + +PYTHON_WEBSOCKET_CLIENT_VERSION = 0.47.0 +PYTHON_WEBSOCKET_CLIENT_SOURCE = websocket_client-$(PYTHON_WEBSOCKET_CLIENT_VERSION).tar.gz +PYTHON_WEBSOCKET_CLIENT_SITE = https://pypi.python.org/packages/c9/bb/8d3dd9063cfe0cd5d03fe6a1f74ddd948f384e9c1eff0eb978f3976a7d27 +PYTHON_WEBSOCKET_CLIENT_SETUP_TYPE = setuptools +PYTHON_WEBSOCKET_CLIENT_LICENSE = LGPL-2.1+ +PYTHON_WEBSOCKET_CLIENT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch b/bsp/buildroot/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch deleted file mode 100644 index cb97b36b..00000000 --- a/bsp/buildroot/package/python-websockets/0001-Fix-behavior-of-recv-in-the-CLOSING-state.patch +++ /dev/null @@ -1,261 +0,0 @@ -From 402059e4a46a764632eba8a669f5b012f173ee7b Mon Sep 17 00:00:00 2001 -From: Aymeric Augustin -Date: Tue, 1 May 2018 17:05:05 +0200 -Subject: [PATCH] Fix behavior of recv() in the CLOSING state. - -The behavior wasn't tested correctly: in some test cases, the connection -had already moved to the CLOSED state, where the close code and reason -are already known. - -Refactor half_close_connection_{local,remote} to allow multiple runs of -the event loop while remaining in the CLOSING state. Refactor affected -tests accordingly. - -I verified that all tests in the CLOSING state were behaving is intended -by inserting debug statements in recv/send/ping/pong and running: - -$ PYTHONASYNCIODEBUG=1 python -m unittest -v websockets.test_protocol.{Client,Server}Tests.test_{recv,send,ping,pong}_on_closing_connection_{local,remote} - -Fix #317, #327, #350, #357. - -Signed-off-by: Joseph Kogut ---- - websockets/protocol.py | 10 ++--- - websockets/test_protocol.py | 78 +++++++++++++++++++++++++++++-------- - 2 files changed, 66 insertions(+), 22 deletions(-) - -diff --git a/websockets/protocol.py b/websockets/protocol.py -index f8121a1..7583fe9 100644 ---- a/websockets/protocol.py -+++ b/websockets/protocol.py -@@ -303,7 +303,7 @@ class WebSocketCommonProtocol(asyncio.StreamReaderProtocol): - # Don't yield from self.ensure_open() here because messages could be - # received before the closing frame even if the connection is closing. - -- # Wait for a message until the connection is closed -+ # Wait for a message until the connection is closed. - next_message = asyncio_ensure_future( - self.messages.get(), loop=self.loop) - try: -@@ -315,15 +315,15 @@ class WebSocketCommonProtocol(asyncio.StreamReaderProtocol): - next_message.cancel() - raise - -- # Now there's no need to yield from self.ensure_open(). Either a -- # message was received or the connection was closed. -- - if next_message in done: - return next_message.result() - else: - next_message.cancel() - if not self.legacy_recv: -- raise ConnectionClosed(self.close_code, self.close_reason) -+ assert self.state in [State.CLOSING, State.CLOSED] -+ # Wait until the connection is closed to raise -+ # ConnectionClosed with the correct code and reason. -+ yield from self.ensure_open() - - @asyncio.coroutine - def send(self, data): -diff --git a/websockets/test_protocol.py b/websockets/test_protocol.py -index 70348fb..bfd4e3b 100644 ---- a/websockets/test_protocol.py -+++ b/websockets/test_protocol.py -@@ -105,7 +105,7 @@ class CommonTests: - self.loop.call_soon(self.loop.stop) - self.loop.run_forever() - -- def make_drain_slow(self, delay=3 * MS): -+ def make_drain_slow(self, delay=MS): - # Process connection_made in order to initialize self.protocol.writer. - self.run_loop_once() - -@@ -174,6 +174,8 @@ class CommonTests: - # Empty the outgoing data stream so we can make assertions later on. - self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) - -+ assert self.protocol.state is State.CLOSED -+ - def half_close_connection_local(self, code=1000, reason='close'): - """ - Start a closing handshake but do not complete it. -@@ -181,31 +183,56 @@ class CommonTests: - The main difference with `close_connection` is that the connection is - left in the CLOSING state until the event loop runs again. - -+ The current implementation returns a task that must be awaited or -+ cancelled, else asyncio complains about destroying a pending task. -+ - """ - close_frame_data = serialize_close(code, reason) -- # Trigger the closing handshake from the local side. -- self.ensure_future(self.protocol.close(code, reason)) -+ # Trigger the closing handshake from the local endpoint. -+ close_task = self.ensure_future(self.protocol.close(code, reason)) - self.run_loop_once() # wait_for executes - self.run_loop_once() # write_frame executes - # Empty the outgoing data stream so we can make assertions later on. - self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) -- # Prepare the response to the closing handshake from the remote side. -- self.loop.call_soon( -- self.receive_frame, Frame(True, OP_CLOSE, close_frame_data)) -- self.loop.call_soon(self.receive_eof_if_client) -+ -+ assert self.protocol.state is State.CLOSING -+ -+ # Complete the closing sequence at 1ms intervals so the test can run -+ # at each point even it goes back to the event loop several times. -+ self.loop.call_later( -+ MS, self.receive_frame, Frame(True, OP_CLOSE, close_frame_data)) -+ self.loop.call_later(2 * MS, self.receive_eof_if_client) -+ -+ # This task must be awaited or cancelled by the caller. -+ return close_task - - def half_close_connection_remote(self, code=1000, reason='close'): - """ -- Receive a closing handshake. -+ Receive a closing handshake but do not complete it. - - The main difference with `close_connection` is that the connection is - left in the CLOSING state until the event loop runs again. - - """ -+ # On the server side, websockets completes the closing handshake and -+ # closes the TCP connection immediately. Yield to the event loop after -+ # sending the close frame to run the test while the connection is in -+ # the CLOSING state. -+ if not self.protocol.is_client: -+ self.make_drain_slow() -+ - close_frame_data = serialize_close(code, reason) -- # Trigger the closing handshake from the remote side. -+ # Trigger the closing handshake from the remote endpoint. - self.receive_frame(Frame(True, OP_CLOSE, close_frame_data)) -- self.receive_eof_if_client() -+ self.run_loop_once() # read_frame executes -+ # Empty the outgoing data stream so we can make assertions later on. -+ self.assertOneFrameSent(True, OP_CLOSE, close_frame_data) -+ -+ assert self.protocol.state is State.CLOSING -+ -+ # Complete the closing sequence at 1ms intervals so the test can run -+ # at each point even it goes back to the event loop several times. -+ self.loop.call_later(2 * MS, self.receive_eof_if_client) - - def process_invalid_frames(self): - """ -@@ -335,11 +362,13 @@ class CommonTests: - self.assertEqual(data, b'tea') - - def test_recv_on_closing_connection_local(self): -- self.half_close_connection_local() -+ close_task = self.half_close_connection_local() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.recv()) - -+ self.loop.run_until_complete(close_task) # cleanup -+ - def test_recv_on_closing_connection_remote(self): - self.half_close_connection_remote() - -@@ -421,24 +450,29 @@ class CommonTests: - self.assertNoFrameSent() - - def test_send_on_closing_connection_local(self): -- self.half_close_connection_local() -+ close_task = self.half_close_connection_local() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.send('foobar')) -+ - self.assertNoFrameSent() - -+ self.loop.run_until_complete(close_task) # cleanup -+ - def test_send_on_closing_connection_remote(self): - self.half_close_connection_remote() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.send('foobar')) -- self.assertOneFrameSent(True, OP_CLOSE, serialize_close(1000, 'close')) -+ -+ self.assertNoFrameSent() - - def test_send_on_closed_connection(self): - self.close_connection() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.send('foobar')) -+ - self.assertNoFrameSent() - - # Test the ping coroutine. -@@ -466,24 +500,29 @@ class CommonTests: - self.assertNoFrameSent() - - def test_ping_on_closing_connection_local(self): -- self.half_close_connection_local() -+ close_task = self.half_close_connection_local() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.ping()) -+ - self.assertNoFrameSent() - -+ self.loop.run_until_complete(close_task) # cleanup -+ - def test_ping_on_closing_connection_remote(self): - self.half_close_connection_remote() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.ping()) -- self.assertOneFrameSent(True, OP_CLOSE, serialize_close(1000, 'close')) -+ -+ self.assertNoFrameSent() - - def test_ping_on_closed_connection(self): - self.close_connection() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.ping()) -+ - self.assertNoFrameSent() - - # Test the pong coroutine. -@@ -506,24 +545,29 @@ class CommonTests: - self.assertNoFrameSent() - - def test_pong_on_closing_connection_local(self): -- self.half_close_connection_local() -+ close_task = self.half_close_connection_local() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.pong()) -+ - self.assertNoFrameSent() - -+ self.loop.run_until_complete(close_task) # cleanup -+ - def test_pong_on_closing_connection_remote(self): - self.half_close_connection_remote() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.pong()) -- self.assertOneFrameSent(True, OP_CLOSE, serialize_close(1000, 'close')) -+ -+ self.assertNoFrameSent() - - def test_pong_on_closed_connection(self): - self.close_connection() - - with self.assertRaises(ConnectionClosed): - self.loop.run_until_complete(self.protocol.pong()) -+ - self.assertNoFrameSent() - - # Test the protocol's logic for acknowledging pings with pongs. --- -2.17.0 - diff --git a/bsp/buildroot/package/python-websockets/Config.in b/bsp/buildroot/package/python-websockets/Config.in index 7d80161a..888bec61 100644 --- a/bsp/buildroot/package/python-websockets/Config.in +++ b/bsp/buildroot/package/python-websockets/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_PYTHON_WEBSOCKETS select BR2_PACKAGE_PYTHON3_ZLIB select BR2_PACKAGE_PYTHON3_SSL help - An implementation of the WebSocket Protocol (RFC 6455) + An implementation of the WebSocket Protocol (RFC 6455 & + 7692). https://github.com/aaugustin/websockets diff --git a/bsp/buildroot/package/python-websockets/python-websockets.hash b/bsp/buildroot/package/python-websockets/python-websockets.hash index 18947cc6..4939c783 100644 --- a/bsp/buildroot/package/python-websockets/python-websockets.hash +++ b/bsp/buildroot/package/python-websockets/python-websockets.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/websockets/json, sha256 locally computed -md5 9e8c6b3c70def4146d75fbb0f52bdfc7 websockets-4.0.1.tar.gz -sha256 da4d4fbe059b0453e726d6d993760065d69b823a27efc3040402a6fcfe6a1ed9 websockets-4.0.1.tar.gz +# md5, sha256 from https://pypi.org/pypi/websockets/json +md5 76cf931a525a3415f5a4f59c133e89c3 websockets-6.0.tar.gz +sha256 8f3b956d11c5b301206382726210dc1d3bee1a9ccf7aadf895aaf31f71c3716c websockets-6.0.tar.gz +# Locally computed sha256 checksums sha256 2cd4d416e432ca7fda2c103b38b852f8d3cb327d70c3db44410b9fe97e6c4d73 LICENSE diff --git a/bsp/buildroot/package/python-websockets/python-websockets.mk b/bsp/buildroot/package/python-websockets/python-websockets.mk index 7c5cf8c4..4d547ada 100644 --- a/bsp/buildroot/package/python-websockets/python-websockets.mk +++ b/bsp/buildroot/package/python-websockets/python-websockets.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_WEBSOCKETS_VERSION = 4.0.1 -PYTHON_WEBSOCKETS_SOURCE = websockets-${PYTHON_WEBSOCKETS_VERSION}.tar.gz -PYTHON_WEBSOCKETS_SITE = https://pypi.python.org/packages/b6/12/6194aac840c65253e45a38912e318f9ac548f9ba86d75bdb8fe66841b335 +PYTHON_WEBSOCKETS_VERSION = 6.0 +PYTHON_WEBSOCKETS_SOURCE = websockets-$(PYTHON_WEBSOCKETS_VERSION).tar.gz +PYTHON_WEBSOCKETS_SITE = https://files.pythonhosted.org/packages/4e/2a/56e60bb4c3696bc736998cc13c3fa1a36210609d7e1a3f2519857b420245 PYTHON_WEBSOCKETS_SETUP_TYPE = setuptools PYTHON_WEBSOCKETS_LICENSE = BSD-3-Clause PYTHON_WEBSOCKETS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/python-wrapt/Config.in b/bsp/buildroot/package/python-wrapt/Config.in new file mode 100644 index 00000000..da315c9a --- /dev/null +++ b/bsp/buildroot/package/python-wrapt/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_WRAPT + bool "python-wrapt" + help + Module for decorators, wrappers and monkey patching. + + https://github.com/GrahamDumpleton/wrapt diff --git a/bsp/buildroot/package/python-wrapt/python-wrapt.hash b/bsp/buildroot/package/python-wrapt/python-wrapt.hash new file mode 100644 index 00000000..dbf89329 --- /dev/null +++ b/bsp/buildroot/package/python-wrapt/python-wrapt.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/wrapt/json +md5 e1346f31782d50401f81c2345b037076 wrapt-1.10.11.tar.gz +sha256 d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6 wrapt-1.10.11.tar.gz +# Locally computed sha256 checksums +sha256 b6d2e5d228202a11bc5e5988661fc5d8acc1ba4f27256c37e19029131a30b1f2 LICENSE diff --git a/bsp/buildroot/package/python-wrapt/python-wrapt.mk b/bsp/buildroot/package/python-wrapt/python-wrapt.mk new file mode 100644 index 00000000..dd8b9a58 --- /dev/null +++ b/bsp/buildroot/package/python-wrapt/python-wrapt.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-wrapt +# +################################################################################ + +PYTHON_WRAPT_VERSION = 1.10.11 +PYTHON_WRAPT_SOURCE = wrapt-$(PYTHON_WRAPT_VERSION).tar.gz +PYTHON_WRAPT_SITE = https://files.pythonhosted.org/packages/a0/47/66897906448185fcb77fc3c2b1bc20ed0ecca81a0f2f88eda3fc5a34fc3d +PYTHON_WRAPT_SETUP_TYPE = distutils +PYTHON_WRAPT_LICENSE = BSD-2-Clause +PYTHON_WRAPT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-wtforms/Config.in b/bsp/buildroot/package/python-wtforms/Config.in new file mode 100644 index 00000000..96ed96da --- /dev/null +++ b/bsp/buildroot/package/python-wtforms/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_WTFORMS + bool "python-wtforms" + help + A flexible forms validation and rendering library for + Python web development. + + https://wtforms.readthedocs.io/ diff --git a/bsp/buildroot/package/python-wtforms/python-wtforms.hash b/bsp/buildroot/package/python-wtforms/python-wtforms.hash new file mode 100644 index 00000000..34beb080 --- /dev/null +++ b/bsp/buildroot/package/python-wtforms/python-wtforms.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/wtforms/json +md5 41c0008dbe7bd98892c58f7457a46a4a WTForms-2.2.1.tar.gz +sha256 0cdbac3e7f6878086c334aa25dc5a33869a3954e9d1e015130d65a69309b3b61 WTForms-2.2.1.tar.gz +# Locally computed sha256 checksums +sha256 64cba207423f4478e3262c2e54209f8cd2057d687e200a50e0203db5659947a5 LICENSE.rst diff --git a/bsp/buildroot/package/python-wtforms/python-wtforms.mk b/bsp/buildroot/package/python-wtforms/python-wtforms.mk new file mode 100644 index 00000000..2715320d --- /dev/null +++ b/bsp/buildroot/package/python-wtforms/python-wtforms.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-wtforms +# +################################################################################ + +PYTHON_WTFORMS_VERSION = 2.2.1 +PYTHON_WTFORMS_SOURCE = WTForms-$(PYTHON_WTFORMS_VERSION).tar.gz +PYTHON_WTFORMS_SITE = https://files.pythonhosted.org/packages/cd/1d/7221354ebfc32b868740d02e44225c2ce00769b0d3dc370e463e2bc4b446 +PYTHON_WTFORMS_SETUP_TYPE = setuptools +PYTHON_WTFORMS_LICENSE = BSD-3-Clause +PYTHON_WTFORMS_LICENSE_FILES = LICENSE.rst + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-xlrd/Config.in.host b/bsp/buildroot/package/python-xlrd/Config.in.host new file mode 100644 index 00000000..cd98fd4d --- /dev/null +++ b/bsp/buildroot/package/python-xlrd/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_PYTHON_XLRD + bool "host python-xlrd" + help + Library for developers to extract data from Microsoft + Excel(tm) spreadsheet files. + + http://www.python-excel.org/ diff --git a/bsp/buildroot/package/python-xlrd/python-xlrd.mk b/bsp/buildroot/package/python-xlrd/python-xlrd.mk index e3f078c3..5d136388 100644 --- a/bsp/buildroot/package/python-xlrd/python-xlrd.mk +++ b/bsp/buildroot/package/python-xlrd/python-xlrd.mk @@ -12,3 +12,4 @@ PYTHON_XLRD_LICENSE = BSD-3-Clause PYTHON_XLRD_LICENSE_FILES = xlrd/licences.py $(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-yarl/Config.in b/bsp/buildroot/package/python-yarl/Config.in new file mode 100644 index 00000000..e5205045 --- /dev/null +++ b/bsp/buildroot/package/python-yarl/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_YARL + bool "python-yarl" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_MULTIDICT + select BR2_PACKAGE_PYTHON_IDNA + help + Yet another URL library. + + http://yarl.readthedocs.io/ diff --git a/bsp/buildroot/package/python-yarl/python-yarl.hash b/bsp/buildroot/package/python-yarl/python-yarl.hash new file mode 100644 index 00000000..1cb07084 --- /dev/null +++ b/bsp/buildroot/package/python-yarl/python-yarl.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/yarl/json +md5 92889c31fce4c8f82b7ee9c2b2ed9cd1 yarl-1.3.0.tar.gz +sha256 024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9 yarl-1.3.0.tar.gz +# Locally computed sha256 checksums +sha256 14c0820503ceef15e814a89b037d9efc066870087018294b6ae0f27163872cc5 LICENSE diff --git a/bsp/buildroot/package/python-yarl/python-yarl.mk b/bsp/buildroot/package/python-yarl/python-yarl.mk new file mode 100644 index 00000000..f1857247 --- /dev/null +++ b/bsp/buildroot/package/python-yarl/python-yarl.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-yarl +# +################################################################################ + +PYTHON_YARL_VERSION = 1.3.0 +PYTHON_YARL_SOURCE = yarl-$(PYTHON_YARL_VERSION).tar.gz +PYTHON_YARL_SITE = https://files.pythonhosted.org/packages/fb/84/6d82f6be218c50b547aa29d0315e430cf8a23c52064c92d0a8377d7b7357 +PYTHON_YARL_LICENSE = Apache-2.0 +PYTHON_YARL_LICENSE_FILES = LICENSE +PYTHON_YARL_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-yieldfrom/Config.in b/bsp/buildroot/package/python-yieldfrom/Config.in new file mode 100644 index 00000000..1a063d31 --- /dev/null +++ b/bsp/buildroot/package/python-yieldfrom/Config.in @@ -0,0 +1,8 @@ +config BR2_PACKAGE_PYTHON_YIELDFROM + bool "python-yieldfrom" + depends on BR2_PACKAGE_PYTHON + help + A backport of the `yield from` semantic from Python 3.x to + Python 2.7. + + https://github.com/Nurdok/yieldfrom/ diff --git a/bsp/buildroot/package/python-yieldfrom/python-yieldfrom.hash b/bsp/buildroot/package/python-yieldfrom/python-yieldfrom.hash new file mode 100644 index 00000000..2df80853 --- /dev/null +++ b/bsp/buildroot/package/python-yieldfrom/python-yieldfrom.hash @@ -0,0 +1,4 @@ +# md5 from https://pypi.python.org/pypi/yieldfrom/json, sha256 locally computed +md5 1a1c6fd152032d49ccd4ac250aad7746 yieldfrom-1.0.3.tar.gz +sha256 388004d0ee8854c2ed7a2c87e664aad13acd70c9b33d7f3c441182d37357739b yieldfrom-1.0.3.tar.gz +sha256 3695faeb17a2507f445b7e0a454043671f646591795477ced20e29de2359d666 PKG-INFO diff --git a/bsp/buildroot/package/python-yieldfrom/python-yieldfrom.mk b/bsp/buildroot/package/python-yieldfrom/python-yieldfrom.mk new file mode 100644 index 00000000..b1137cdb --- /dev/null +++ b/bsp/buildroot/package/python-yieldfrom/python-yieldfrom.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# python-yieldfrom +# +################################################################################ + +PYTHON_YIELDFROM_VERSION = 1.0.3 +PYTHON_YIELDFROM_SOURCE = yieldfrom-$(PYTHON_YIELDFROM_VERSION).tar.gz +PYTHON_YIELDFROM_SITE = https://pypi.python.org/packages/de/2d/05524f368e691846824d962b64f983e3fde9b8c10839e7efbc1b51d42de3 +PYTHON_YIELDFROM_SETUP_TYPE = setuptools +PYTHON_YIELDFROM_LICENSE = MIT +PYTHON_YIELDFROM_LICENSE_FILES = PKG-INFO + +$(eval $(python-package)) +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python-zeroconf/Config.in b/bsp/buildroot/package/python-zeroconf/Config.in new file mode 100644 index 00000000..ac1acbbd --- /dev/null +++ b/bsp/buildroot/package/python-zeroconf/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_ZEROCONF + bool "python-zeroconf" + depends on BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_NETIFACES # runtime + help + Pure Python Multicast DNS Service Discovery Library + (Bonjour/Avahi compatible). + + https://github.com/jstasiak/python-zeroconf diff --git a/bsp/buildroot/package/python-zeroconf/python-zeroconf.hash b/bsp/buildroot/package/python-zeroconf/python-zeroconf.hash new file mode 100644 index 00000000..1677affa --- /dev/null +++ b/bsp/buildroot/package/python-zeroconf/python-zeroconf.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/zeroconf/json +md5 23124285dbdfcf3cb9cca11b98216cf7 zeroconf-0.20.0.tar.gz +sha256 6e3f1e7b5871e3d1410ac29b9fb85aafc1e2d661ed596b07a6f84559a475efcb zeroconf-0.20.0.tar.gz +# Locally computed sha256 checksums +sha256 bb117c0fbd7f57f64170b690285d7df07c2371b578e3b3cd3aa2e1155ef461a0 COPYING diff --git a/bsp/buildroot/package/python-zeroconf/python-zeroconf.mk b/bsp/buildroot/package/python-zeroconf/python-zeroconf.mk new file mode 100644 index 00000000..7000a0da --- /dev/null +++ b/bsp/buildroot/package/python-zeroconf/python-zeroconf.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-zeroconf +# +################################################################################ + +PYTHON_ZEROCONF_VERSION = 0.20.0 +PYTHON_ZEROCONF_SOURCE = zeroconf-$(PYTHON_ZEROCONF_VERSION).tar.gz +PYTHON_ZEROCONF_SITE = https://files.pythonhosted.org/packages/20/d7/418ff6c684ace0f5855ec56c66cfa99ec50443c41693b91e9abcccfa096c +PYTHON_ZEROCONF_SETUP_TYPE = setuptools +PYTHON_ZEROCONF_LICENSE = LGPL-2.1+ +PYTHON_ZEROCONF_LICENSE_FILES = COPYING + +$(eval $(python-package)) diff --git a/bsp/buildroot/package/python-zope-interface/python-zope-interface.hash b/bsp/buildroot/package/python-zope-interface/python-zope-interface.hash index 2aa07335..2828d85c 100644 --- a/bsp/buildroot/package/python-zope-interface/python-zope-interface.hash +++ b/bsp/buildroot/package/python-zope-interface/python-zope-interface.hash @@ -1,4 +1,5 @@ -# md5 from https://pypi.python.org/pypi/zope.interface/json, sha256 locally computed -md5 8700a4f527c1203b34b10c2b4e7a6912 zope.interface-4.4.3.tar.gz -sha256 d6d26d5dfbfd60c65152938fcb82f949e8dada37c041f72916fef6621ba5c5ce zope.interface-4.4.3.tar.gz -sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt +# md5, sha256 from https://pypi.org/pypi/zope-interface/json +md5 a3b24f9d079bae5e13dd7a88aa512112 zope.interface-4.6.0.tar.gz +sha256 1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5 zope.interface-4.6.0.tar.gz +# Locally computed sha256 checksums +sha256 3e671db11df687516cc1db5b3d65e4aa383eaca3c20cea3faf53a0f7335d0a3c LICENSE.txt diff --git a/bsp/buildroot/package/python-zope-interface/python-zope-interface.mk b/bsp/buildroot/package/python-zope-interface/python-zope-interface.mk index 7dd68129..f36aab69 100644 --- a/bsp/buildroot/package/python-zope-interface/python-zope-interface.mk +++ b/bsp/buildroot/package/python-zope-interface/python-zope-interface.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_ZOPE_INTERFACE_VERSION = 4.4.3 +PYTHON_ZOPE_INTERFACE_VERSION = 4.6.0 PYTHON_ZOPE_INTERFACE_SOURCE = zope.interface-$(PYTHON_ZOPE_INTERFACE_VERSION).tar.gz -PYTHON_ZOPE_INTERFACE_SITE = https://pypi.python.org/packages/bd/d2/25349ed41f9dcff7b3baf87bd88a4c82396cf6e02f1f42bb68657a3132af +PYTHON_ZOPE_INTERFACE_SITE = https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6 PYTHON_ZOPE_INTERFACE_SETUP_TYPE = setuptools PYTHON_ZOPE_INTERFACE_LICENSE = ZPL-2.1 PYTHON_ZOPE_INTERFACE_LICENSE_FILES = LICENSE.txt diff --git a/bsp/buildroot/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch b/bsp/buildroot/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch new file mode 100644 index 00000000..9eec6db8 --- /dev/null +++ b/bsp/buildroot/package/python/0035-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch @@ -0,0 +1,121 @@ +From 06b15424b0dcacb1c551b2a36e739fffa8d0c595 Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Tue, 15 Jan 2019 15:11:52 -0800 +Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser (GH-11569) + +Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL +distribution points with empty DP or URI correctly. A malicious or buggy +certificate can result into segfault. + +Signed-off-by: Christian Heimes + +https://bugs.python.org/issue35746 +(cherry picked from commit a37f52436f9aa4b9292878b72f3ff1480e2606c3) + +Co-authored-by: Christian Heimes +Signed-off-by: Peter Korsgaard +--- + Lib/test/talos-2019-0758.pem | 22 ++++++++++++++++++++++ + Lib/test/test_ssl.py | 22 ++++++++++++++++++++++ + .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ + Modules/_ssl.c | 4 ++++ + 4 files changed, 51 insertions(+) + create mode 100644 Lib/test/talos-2019-0758.pem + create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst + +diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem +new file mode 100644 +index 0000000000..13b95a77fd +--- /dev/null ++++ b/Lib/test/talos-2019-0758.pem +@@ -0,0 +1,22 @@ ++-----BEGIN CERTIFICATE----- ++MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO ++BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 ++MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh ++bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB ++J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES ++V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD ++5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C ++1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP ++WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF ++j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp ++HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io ++UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 ++2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu ++bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG ++SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p ++t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr ++t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit ++p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV ++Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ ++10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== ++-----END CERTIFICATE----- +diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py +index e476031702..9240184d98 100644 +--- a/Lib/test/test_ssl.py ++++ b/Lib/test/test_ssl.py +@@ -72,6 +72,7 @@ NONEXISTINGCERT = data_file("XXXnonexisting.pem") + BADKEY = data_file("badkey.pem") + NOKIACERT = data_file("nokia.pem") + NULLBYTECERT = data_file("nullbytecert.pem") ++TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") + + DHFILE = data_file("ffdh3072.pem") + BYTES_DHFILE = DHFILE.encode(sys.getfilesystemencoding()) +@@ -227,6 +228,27 @@ class BasicSocketTests(unittest.TestCase): + self.assertEqual(p['crlDistributionPoints'], + ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) + ++ def test_parse_cert_CVE_2019_5010(self): ++ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) ++ if support.verbose: ++ sys.stdout.write("\n" + pprint.pformat(p) + "\n") ++ self.assertEqual( ++ p, ++ { ++ 'issuer': ( ++ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), ++ 'notAfter': 'Jun 14 18:00:58 2028 GMT', ++ 'notBefore': 'Jun 18 18:00:58 2018 GMT', ++ 'serialNumber': '02', ++ 'subject': ((('countryName', 'UK'),), ++ (('commonName', ++ 'codenomicon-vm-2.test.lal.cisco.com'),)), ++ 'subjectAltName': ( ++ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), ++ 'version': 3 ++ } ++ ) ++ + def test_parse_cert_CVE_2013_4238(self): + p = ssl._ssl._test_decode_cert(NULLBYTECERT) + if support.verbose: +diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst +new file mode 100644 +index 0000000000..dffe347eec +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst +@@ -0,0 +1,3 @@ ++[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did ++not handle CRL distribution points with empty DP or URI correctly. A ++malicious or buggy certificate can result into segfault. +diff --git a/Modules/_ssl.c b/Modules/_ssl.c +index a96c419260..19bb1207b4 100644 +--- a/Modules/_ssl.c ++++ b/Modules/_ssl.c +@@ -1223,6 +1223,10 @@ _get_crl_dp(X509 *certificate) { + STACK_OF(GENERAL_NAME) *gns; + + dp = sk_DIST_POINT_value(dps, i); ++ if (dp->distpoint == NULL) { ++ /* Ignore empty DP value, CVE-2019-5010 */ ++ continue; ++ } + gns = dp->distpoint->name.fullname; + + for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { +-- +2.11.0 + diff --git a/bsp/buildroot/package/python3-setuptools/0001-add-executable.patch b/bsp/buildroot/package/python3-setuptools/0001-add-executable.patch new file mode 120000 index 00000000..5bab3d96 --- /dev/null +++ b/bsp/buildroot/package/python3-setuptools/0001-add-executable.patch @@ -0,0 +1 @@ +../python-setuptools/0001-add-executable.patch \ No newline at end of file diff --git a/bsp/buildroot/package/python3-setuptools/python3-setuptools.hash b/bsp/buildroot/package/python3-setuptools/python3-setuptools.hash new file mode 120000 index 00000000..a3af7f0f --- /dev/null +++ b/bsp/buildroot/package/python3-setuptools/python3-setuptools.hash @@ -0,0 +1 @@ +../python-setuptools/python-setuptools.hash \ No newline at end of file diff --git a/bsp/buildroot/package/python3-setuptools/python3-setuptools.mk b/bsp/buildroot/package/python3-setuptools/python3-setuptools.mk new file mode 100644 index 00000000..b6de5d4b --- /dev/null +++ b/bsp/buildroot/package/python3-setuptools/python3-setuptools.mk @@ -0,0 +1,24 @@ +################################################################################ +# +# python3-setuptools +# +################################################################################ + +# Please keep in sync with +# package/python-setuptools/python-setuptools.mk +PYTHON3_SETUPTOOLS_VERSION = 40.6.3 +PYTHON3_SETUPTOOLS_SOURCE = setuptools-$(PYTHON3_SETUPTOOLS_VERSION).zip +PYTHON3_SETUPTOOLS_SITE = https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b +PYTHON3_SETUPTOOLS_LICENSE = MIT +PYTHON3_SETUPTOOLS_LICENSE_FILES = LICENSE +PYTHON3_SETUPTOOLS_SETUP_TYPE = setuptools +HOST_PYTHON3_SETUPTOOLS_DL_SUBDIR = python-setuptools +HOST_PYTHON3_SETUPTOOLS_NEEDS_HOST_PYTHON = python3 + +define HOST_PYTHON3_SETUPTOOLS_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(HOST_PYTHON3_SETUPTOOLS_DL_DIR)/$(PYTHON3_SETUPTOOLS_SOURCE) + mv $(@D)/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)/* $(@D) + $(RM) -r $(@D)/setuptools-$(PYTHON3_SETUPTOOLS_VERSION) +endef + +$(eval $(host-python-package)) diff --git a/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch b/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch index 4a8e4e82..406f873a 100644 --- a/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch +++ b/bsp/buildroot/package/python3/0001-Make-the-build-of-pyc-files-conditional.patch @@ -18,7 +18,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 82e830727e..b38bd79121 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1311,6 +1311,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1385,6 +1385,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \ $(DESTDIR)$(LIBDEST)/distutils/tests ; \ fi @@ -26,7 +26,7 @@ index 82e830727e..b38bd79121 100644 -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST) -f \ -@@ -1338,6 +1339,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c +@@ -1412,6 +1413,7 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages @@ -38,7 +38,7 @@ diff --git a/configure.ac b/configure.ac index 962006704f..a76b5444df 100644 --- a/configure.ac +++ b/configure.ac -@@ -1113,6 +1113,12 @@ fi +@@ -1107,6 +1107,12 @@ fi AC_MSG_CHECKING(LDLIBRARY) diff --git a/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch b/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch index e997f476..537e23cb 100644 --- a/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch +++ b/bsp/buildroot/package/python3/0002-Disable-buggy_getaddrinfo-configure-test-when-cross-.patch @@ -13,7 +13,7 @@ diff --git a/configure.ac b/configure.ac index a76b5444df..5f87c4db5a 100644 --- a/configure.ac +++ b/configure.ac -@@ -3939,7 +3939,7 @@ fi +@@ -3985,7 +3985,7 @@ fi AC_MSG_RESULT($ac_cv_buggy_getaddrinfo) diff --git a/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch b/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch index 76555d29..6e07b292 100644 --- a/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch +++ b/bsp/buildroot/package/python3/0003-Add-infrastructure-to-disable-the-build-of-certain-e.patch @@ -47,7 +47,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index b38bd79121..4ce917ab8d 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -190,6 +190,8 @@ FILEMODE= 644 +@@ -196,6 +196,8 @@ FILEMODE= 644 # configure script arguments CONFIG_ARGS= @CONFIG_ARGS@ @@ -56,15 +56,15 @@ index b38bd79121..4ce917ab8d 100644 # Subdirectories with code SRCDIRS= @SRCDIRS@ -@@ -575,6 +577,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o +@@ -609,6 +611,7 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o esac; \ - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ + echo "$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ + DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" \ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build - - -@@ -1436,7 +1439,8 @@ libainstall: @DEF_MAKE_RULE@ python-config + $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ + $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ + _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ +@@ -1508,7 +1511,8 @@ libainstall: @DEF_MAKE_RULE@ python-config # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods @@ -78,7 +78,7 @@ diff --git a/configure.ac b/configure.ac index 5f87c4db5a..d5ee2aedfb 100644 --- a/configure.ac +++ b/configure.ac -@@ -2810,6 +2810,8 @@ LIBS="$withval $LIBS" +@@ -2902,6 +2902,8 @@ LIBS="$withval $LIBS" PKG_PROG_PKG_CONFIG diff --git a/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch b/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch index 989943e4..649ab205 100644 --- a/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch +++ b/bsp/buildroot/package/python3/0004-Adjust-library-header-paths-for-cross-compilation.patch @@ -61,7 +61,7 @@ index 2bcd1dd288..422c13fa4f 100644 + BASE_EXEC_PREFIX = os.path.normpath(sys.base_exec_prefix) # Path to the base directory of the project. On Windows the binary may - # live in project/PCBuild/win32 or project/PCBuild/amd64. + # live in project/PCbuild/win32 or project/PCbuild/amd64. -- 2.13.5 diff --git a/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch b/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch index 250d6ec5..1579415b 100644 --- a/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch +++ b/bsp/buildroot/package/python3/0005-Don-t-look-in-usr-lib-termcap-for-libraries.patch @@ -12,7 +12,7 @@ diff --git a/setup.py b/setup.py index 86643ae8bf..cd00fbdbda 100644 --- a/setup.py +++ b/setup.py -@@ -786,12 +786,9 @@ class PyBuildExt(build_ext): +@@ -850,12 +850,9 @@ class PyBuildExt(build_ext): pass # Issue 7384: Already linked against curses or tinfo. elif curses_library: readline_libs.append(curses_library) diff --git a/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch b/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch index 220c54cd..71c064ad 100644 --- a/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch +++ b/bsp/buildroot/package/python3/0006-Don-t-add-multiarch-paths.patch @@ -20,7 +20,7 @@ diff --git a/setup.py b/setup.py index cd00fbdbda..c956fa08d1 100644 --- a/setup.py +++ b/setup.py -@@ -497,10 +497,10 @@ class PyBuildExt(build_ext): +@@ -547,10 +547,10 @@ class PyBuildExt(build_ext): if not cross_compiling: add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') diff --git a/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch b/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch index a44d6b3e..f95889df 100644 --- a/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch +++ b/bsp/buildroot/package/python3/0007-Abort-on-failed-module-build.patch @@ -17,7 +17,7 @@ diff --git a/setup.py b/setup.py index c956fa08d1..b3add2be76 100644 --- a/setup.py +++ b/setup.py -@@ -312,6 +312,7 @@ class PyBuildExt(build_ext): +@@ -358,6 +358,7 @@ class PyBuildExt(build_ext): print("Failed to build these modules:") print_three_column(failed) print() diff --git a/bsp/buildroot/package/python3/0008-Serial-ioctl-workaround.patch b/bsp/buildroot/package/python3/0008-Serial-ioctl-workaround.patch index f303bd04..39d40f02 100644 --- a/bsp/buildroot/package/python3/0008-Serial-ioctl-workaround.patch +++ b/bsp/buildroot/package/python3/0008-Serial-ioctl-workaround.patch @@ -18,7 +18,7 @@ diff --git a/Modules/termios.c b/Modules/termios.c index b78d33e688..58b0444565 100644 --- a/Modules/termios.c +++ b/Modules/termios.c -@@ -9,7 +9,9 @@ +@@ -15,7 +15,9 @@ #endif #include diff --git a/bsp/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch b/bsp/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch index 786e9587..68cba349 100644 --- a/bsp/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch +++ b/bsp/buildroot/package/python3/0010-Misc-python-config.sh.in-ensure-sed-invocations-only.patch @@ -21,40 +21,47 @@ Submitted upstream: http://bugs.python.org/issue22907 Signed-off-by: Peter Korsgaard --- - Misc/python-config.sh.in | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) + Misc/python-config.sh.in | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in -index 30c6927871..f905a7132f 100644 +index d1d3275..9e259c0 100644 --- a/Misc/python-config.sh.in +++ b/Misc/python-config.sh.in -@@ -29,12 +29,12 @@ prefix_real=$(installed_prefix "$0") +@@ -24,18 +24,19 @@ installed_prefix () + echo $RESULT + } + ++prefix_build="@prefix@" + prefix_real=$(installed_prefix "$0") # Use sed to fix paths from their built-to locations to their installed-to - # locations. --prefix=$(echo "$prefix_build" | sed "s#$prefix_build#$prefix_real#") + # locations. Keep prefix & exec_prefix using their original values in case + # they are referenced in other configure variables, to prevent double + # substitution, issue #22140. +-prefix="@prefix@" +-exec_prefix="@exec_prefix@" +prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") - exec_prefix_build="@exec_prefix@" --exec_prefix=$(echo "$exec_prefix_build" | sed "s#$exec_prefix_build#$prefix_real#") --includedir=$(echo "@includedir@" | sed "s#$prefix_build#$prefix_real#") --libdir=$(echo "@libdir@" | sed "s#$prefix_build#$prefix_real#") --CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix_build#$prefix_real#") +exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") + exec_prefix_real=${prefix_real} +-includedir=$(echo "@includedir@" | sed "s#$prefix#$prefix_real#") +-libdir=$(echo "@libdir@" | sed "s#$prefix#$prefix_real#") +-CFLAGS=$(echo "@CFLAGS@" | sed "s#$prefix#$prefix_real#") +includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") +libdir=$(echo "@libdir@" | sed "s#^$prefix_build#$prefix_real#") +CFLAGS=$(echo "@CFLAGS@" | sed "s#^$prefix_build#$prefix_real#") VERSION="@VERSION@" LIBM="@LIBM@" LIBC="@LIBC@" -@@ -48,7 +48,7 @@ OPT="@OPT@" +@@ -49,7 +50,7 @@ OPT="@OPT@" PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" LDVERSION="@LDVERSION@" - LIBDEST=${prefix}/lib/python${VERSION} --LIBPL=$(echo "@LIBPL@" | sed "s#$prefix_build#$prefix_real#") + LIBDEST=${prefix_real}/lib/python${VERSION} +-LIBPL=$(echo "@LIBPL@" | sed "s#$prefix#$prefix_real#") +LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") SO="@EXT_SUFFIX@" PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" INCDIR="-I$includedir/python${VERSION}${ABIFLAGS}" -- -2.13.5 +2.14.3 diff --git a/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch b/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch index 1c148401..c5b301d4 100644 --- a/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch +++ b/bsp/buildroot/package/python3/0011-Override-system-locale-and-set-to-default-when-addin.patch @@ -23,7 +23,7 @@ diff --git a/setup.py b/setup.py index b3add2be76..29bfd174d2 100644 --- a/setup.py +++ b/setup.py -@@ -457,7 +457,7 @@ class PyBuildExt(build_ext): +@@ -514,7 +514,7 @@ class PyBuildExt(build_ext): tmpfile = os.path.join(self.build_temp, 'gccpaths') if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) diff --git a/bsp/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch b/bsp/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch index ed0ca26e..5bc9bf49 100644 --- a/bsp/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch +++ b/bsp/buildroot/package/python3/0012-Add-importlib-fix-for-PEP-3147-issue.patch @@ -28,7 +28,7 @@ diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_ext index 9feec50842..3550013d58 100644 --- a/Lib/importlib/_bootstrap_external.py +++ b/Lib/importlib/_bootstrap_external.py -@@ -275,8 +275,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): +@@ -283,8 +283,6 @@ def cache_from_source(path, debug_override=None, *, optimization=None): a True value is the same as setting 'optimization' to the empty string while a False value is equivalent to setting 'optimization' to '1'. @@ -37,7 +37,7 @@ index 9feec50842..3550013d58 100644 """ if debug_override is not None: _warnings.warn('the debug_override parameter is deprecated; use ' -@@ -288,10 +286,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): +@@ -296,10 +294,7 @@ def cache_from_source(path, debug_override=None, *, optimization=None): path = _os.fspath(path) head, tail = _path_split(path) base, sep, rest = tail.rpartition('.') @@ -49,7 +49,7 @@ index 9feec50842..3550013d58 100644 if optimization is None: if sys.flags.optimize == 0: optimization = '' -@@ -302,40 +297,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): +@@ -310,40 +305,17 @@ def cache_from_source(path, debug_override=None, *, optimization=None): if not optimization.isalnum(): raise ValueError('{!r} is not alphanumeric'.format(optimization)) almost_filename = '{}.{}{}'.format(almost_filename, _OPT, optimization) diff --git a/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch b/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch index fc27eda1..35aa73c3 100644 --- a/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch +++ b/bsp/buildroot/package/python3/0013-Add-an-option-to-disable-installation-of-test-module.patch @@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 4ce917ab8d..4110fff4ac 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1194,8 +1194,28 @@ maninstall: altmaninstall +@@ -1251,8 +1251,28 @@ maninstall: altmaninstall # Install the library XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax @@ -50,10 +50,14 @@ index 4ce917ab8d..4110fff4ac 100644 test/audiodata \ test/capath test/data \ test/cjkencodings test/decimaltestdata test/xmltestdata \ -@@ -1229,29 +1249,26 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ - test/test_importlib/namespace_pkgs/project3/parent/child \ - test/test_importlib/namespace_pkgs/module_and_namespace_package \ - test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test \ +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 1ff2362..194dbfc 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1326,26 +1326,24 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ + test/test_importlib/source \ + test/test_importlib/zipdata01 \ + test/test_importlib/zipdata02 \ - asyncio \ test/test_asyncio \ - collections concurrent concurrent/futures encodings \ @@ -72,13 +76,10 @@ index 4ce917ab8d..4110fff4ac 100644 - ctypes ctypes/test ctypes/macholib \ - idlelib idlelib/Icons idlelib/idle_test \ - distutils distutils/command distutils/tests $(XMLLIBSUBDIRS) \ -- importlib test/test_importlib test/test_importlib/builtin \ + ctypes/test \ + idlelib/idle_test \ + distutils/tests \ + test/test_importlib test/test_importlib/builtin \ - test/test_importlib/extension test/test_importlib/frozen \ - test/test_importlib/import_ test/test_importlib/source \ test/test_tools test/test_warnings test/test_warnings/data \ - turtledemo \ - multiprocessing multiprocessing/dummy \ @@ -98,8 +99,8 @@ diff --git a/configure.ac b/configure.ac index d5ee2aedfb..f924937fe1 100644 --- a/configure.ac +++ b/configure.ac -@@ -3112,6 +3112,11 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) +@@ -3162,6 +3162,11 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) fi +AC_SUBST(TEST_MODULES) diff --git a/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch b/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch index fc565cfe..8055009d 100644 --- a/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch +++ b/bsp/buildroot/package/python3/0014-Add-an-option-to-disable-pydoc.patch @@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 4110fff4ac..badb2af35d 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1164,7 +1164,9 @@ bininstall: altbininstall +@@ -1221,7 +1221,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(BINDIR)/idle3 (cd $(DESTDIR)$(BINDIR); $(LN) -s idle$(VERSION) idle3) -rm -f $(DESTDIR)$(BINDIR)/pydoc3 @@ -30,7 +30,7 @@ index 4110fff4ac..badb2af35d 100644 -rm -f $(DESTDIR)$(BINDIR)/2to3 (cd $(DESTDIR)$(BINDIR); $(LN) -s 2to3-$(VERSION) 2to3) -rm -f $(DESTDIR)$(BINDIR)/pyvenv -@@ -1212,7 +1214,7 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1269,7 +1271,7 @@ LIBSUBDIRS= tkinter site-packages \ multiprocessing multiprocessing/dummy \ unittest \ venv venv/scripts venv/scripts/common venv/scripts/posix \ @@ -39,7 +39,7 @@ index 4110fff4ac..badb2af35d 100644 TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk test \ -@@ -1269,6 +1271,10 @@ ifeq (@TEST_MODULES@,yes) +@@ -1344,6 +1346,10 @@ ifeq (@TEST_MODULES@,yes) LIBSUBDIRS += $(TESTSUBDIRS) endif @@ -54,8 +54,8 @@ diff --git a/configure.ac b/configure.ac index f924937fe1..1621fa1611 100644 --- a/configure.ac +++ b/configure.ac -@@ -3112,6 +3112,12 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) +@@ -3162,6 +3162,12 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) fi +AC_SUBST(PYDOC) @@ -71,7 +71,7 @@ diff --git a/setup.py b/setup.py index 29bfd174d2..94dd337fef 100644 --- a/setup.py +++ b/setup.py -@@ -2281,6 +2281,12 @@ def main(): +@@ -2332,6 +2332,12 @@ def main(): # turn off warnings when deprecated modules are imported import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) @@ -84,7 +84,7 @@ index 29bfd174d2..94dd337fef 100644 setup(# PyPI Metadata (PEP 301) name = "Python", version = sys.version.split()[0], -@@ -2305,8 +2311,7 @@ def main(): +@@ -2356,8 +2362,7 @@ def main(): # If you change the scripts installed here, you also need to # check the PyBuildScripts command above, and change the links # created by the bininstall target in Makefile.pre.in diff --git a/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch b/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch index e6a39383..3d3c5de3 100644 --- a/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch +++ b/bsp/buildroot/package/python3/0015-Add-an-option-to-disable-lib2to3.patch @@ -20,7 +20,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index badb2af35d..931cc3ed07 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1168,7 +1168,9 @@ ifeq (@PYDOC@,yes) +@@ -1225,7 +1225,9 @@ ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) endif -rm -f $(DESTDIR)$(BINDIR)/2to3 @@ -30,7 +30,7 @@ index badb2af35d..931cc3ed07 100644 -rm -f $(DESTDIR)$(BINDIR)/pyvenv (cd $(DESTDIR)$(BINDIR); $(LN) -s pyvenv-$(VERSION) pyvenv) if test "x$(LIPO_32BIT_FLAGS)" != "x" ; then \ -@@ -1205,7 +1207,6 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1262,7 +1264,6 @@ LIBSUBDIRS= tkinter site-packages \ html json http dbm xmlrpc \ sqlite3 \ logging csv wsgiref urllib \ @@ -38,7 +38,7 @@ index badb2af35d..931cc3ed07 100644 ctypes ctypes/macholib \ idlelib idlelib/Icons \ distutils distutils/command $(XMLLIBSUBDIRS) \ -@@ -1255,9 +1256,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1332,9 +1333,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_email test/test_email/data \ test/test_json \ sqlite3/test \ @@ -48,7 +48,7 @@ index badb2af35d..931cc3ed07 100644 ctypes/test \ idlelib/idle_test \ distutils/tests \ -@@ -1267,6 +1265,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1342,6 +1340,14 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_tools test/test_warnings test/test_warnings/data \ unittest/test unittest/test/testmock @@ -63,7 +63,7 @@ index badb2af35d..931cc3ed07 100644 ifeq (@TEST_MODULES@,yes) LIBSUBDIRS += $(TESTSUBDIRS) endif -@@ -1366,10 +1372,12 @@ ifeq (@PYC_BUILD@,yes) +@@ -1441,10 +1447,12 @@ ifeq (@PYC_BUILD@,yes) -d $(LIBDEST)/site-packages -f \ -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages endif @@ -75,12 +75,12 @@ index badb2af35d..931cc3ed07 100644 +endif python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh - # Substitution happens here, as the completely-expanded BINDIR + @ # Substitution happens here, as the completely-expanded BINDIR diff --git a/configure.ac b/configure.ac index 1621fa1611..13b2edf8b7 100644 --- a/configure.ac +++ b/configure.ac -@@ -3124,6 +3124,12 @@ AC_ARG_ENABLE(test-modules, +@@ -3174,6 +3174,12 @@ AC_ARG_ENABLE(test-modules, AS_HELP_STRING([--disable-test-modules], [disable test modules]), [ TEST_MODULES="${enableval}" ], [ TEST_MODULES=yes ]) @@ -97,7 +97,7 @@ diff --git a/setup.py b/setup.py index 94dd337fef..76429e1326 100644 --- a/setup.py +++ b/setup.py -@@ -2282,10 +2282,11 @@ def main(): +@@ -2333,10 +2333,11 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) diff --git a/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch b/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch index 675e8282..e5192cc4 100644 --- a/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch +++ b/bsp/buildroot/package/python3/0016-Add-option-to-disable-the-sqlite3-module.patch @@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 931cc3ed07..a1ce0712cd 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1205,7 +1205,6 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1262,7 +1262,6 @@ LIBSUBDIRS= tkinter site-packages \ email email/mime \ ensurepip ensurepip/_bundled \ html json http dbm xmlrpc \ @@ -24,7 +24,7 @@ index 931cc3ed07..a1ce0712cd 100644 logging csv wsgiref urllib \ ctypes ctypes/macholib \ idlelib idlelib/Icons \ -@@ -1255,7 +1254,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1332,7 +1331,6 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_asyncio \ test/test_email test/test_email/data \ test/test_json \ @@ -32,7 +32,7 @@ index 931cc3ed07..a1ce0712cd 100644 ctypes/test \ idlelib/idle_test \ distutils/tests \ -@@ -1273,6 +1271,11 @@ TESTSUBDIRS += lib2to3/tests \ +@@ -1348,6 +1346,11 @@ TESTSUBDIRS += lib2to3/tests \ lib2to3/tests/data/fixers/myfixes endif @@ -48,8 +48,8 @@ diff --git a/configure.ac b/configure.ac index 13b2edf8b7..d7582cfea4 100644 --- a/configure.ac +++ b/configure.ac -@@ -3112,6 +3112,15 @@ if test "$posix_threads" = "yes"; then - AC_CHECK_FUNCS(pthread_atfork) +@@ -3162,6 +3162,15 @@ if test "$posix_threads" = "yes"; then + AC_CHECK_FUNCS(pthread_getcpuclockid) fi +AC_SUBST(SQLITE3) diff --git a/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch b/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch index 56196416..96918f02 100644 --- a/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch +++ b/bsp/buildroot/package/python3/0017-Add-an-option-to-disable-the-tk-module.patch @@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index a1ce0712cd..dc1e917cc3 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1199,7 +1199,7 @@ maninstall: altmaninstall +@@ -1256,7 +1256,7 @@ maninstall: altmaninstall # Install the library XMLLIBSUBDIRS= xml xml/dom xml/etree xml/parsers xml/sax @@ -25,7 +25,7 @@ index a1ce0712cd..dc1e917cc3 100644 asyncio \ collections concurrent concurrent/futures encodings \ email email/mime \ -@@ -1216,8 +1216,7 @@ LIBSUBDIRS= tkinter site-packages \ +@@ -1273,8 +1273,7 @@ LIBSUBDIRS= tkinter site-packages \ venv venv/scripts venv/scripts/common venv/scripts/posix \ curses @@ -35,7 +35,7 @@ index a1ce0712cd..dc1e917cc3 100644 test/audiodata \ test/capath test/data \ test/cjkencodings test/decimaltestdata test/xmltestdata \ -@@ -1263,6 +1262,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ +@@ -1338,6 +1337,12 @@ TESTSUBDIRS= tkinter/test tkinter/test/test_tkinter \ test/test_tools test/test_warnings test/test_warnings/data \ unittest/test unittest/test/testmock @@ -52,7 +52,7 @@ diff --git a/configure.ac b/configure.ac index d7582cfea4..6a56a5b0c1 100644 --- a/configure.ac +++ b/configure.ac -@@ -3121,6 +3121,15 @@ if test "$SQLITE3" = "no" ; then +@@ -3171,6 +3171,15 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi diff --git a/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch b/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch index b68369c1..8205d2fe 100644 --- a/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch +++ b/bsp/buildroot/package/python3/0018-Add-an-option-to-disable-the-curses-module.patch @@ -16,7 +16,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index dc1e917cc3..6a6bc082cd 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1213,8 +1213,7 @@ LIBSUBDIRS= site-packages \ +@@ -1270,8 +1270,7 @@ LIBSUBDIRS= site-packages \ turtledemo \ multiprocessing multiprocessing/dummy \ unittest \ @@ -26,7 +26,7 @@ index dc1e917cc3..6a6bc082cd 100644 TESTSUBDIRS= test \ test/audiodata \ -@@ -1268,6 +1267,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ +@@ -1343,6 +1342,10 @@ TESTSUBDIRS += tkinter/test tkinter/test/test_tkinter \ tkinter/test/test_ttk endif @@ -41,7 +41,7 @@ diff --git a/configure.ac b/configure.ac index 6a56a5b0c1..5896b39ff9 100644 --- a/configure.ac +++ b/configure.ac -@@ -3130,6 +3130,15 @@ if test "$TK" = "no"; then +@@ -3180,6 +3180,15 @@ if test "$TK" = "no"; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _tkinter" fi diff --git a/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch b/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch index 0ec0b215..6057a7f7 100644 --- a/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch +++ b/bsp/buildroot/package/python3/0019-Add-an-option-to-disable-expat.patch @@ -23,7 +23,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index 6a6bc082cd..dc4b92b6fe 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1208,7 +1208,7 @@ LIBSUBDIRS= site-packages \ +@@ -1265,7 +1265,7 @@ LIBSUBDIRS= site-packages \ logging csv wsgiref urllib \ ctypes ctypes/macholib \ idlelib idlelib/Icons \ @@ -32,7 +32,7 @@ index 6a6bc082cd..dc4b92b6fe 100644 importlib \ turtledemo \ multiprocessing multiprocessing/dummy \ -@@ -1271,6 +1271,10 @@ ifeq (@CURSES@,yes) +@@ -1346,6 +1346,10 @@ ifeq (@CURSES@,yes) LIBSUBDIRS += curses endif @@ -47,7 +47,7 @@ diff --git a/configure.ac b/configure.ac index 5896b39ff9..6f21482207 100644 --- a/configure.ac +++ b/configure.ac -@@ -2813,13 +2813,21 @@ PKG_PROG_PKG_CONFIG +@@ -2905,13 +2905,21 @@ PKG_PROG_PKG_CONFIG AC_SUBST(DISABLED_EXTENSIONS) # Check for use of the system expat library @@ -78,7 +78,7 @@ diff --git a/setup.py b/setup.py index 76429e1326..38aa5e605e 100644 --- a/setup.py +++ b/setup.py -@@ -1495,7 +1495,7 @@ class PyBuildExt(build_ext): +@@ -1485,7 +1485,7 @@ class PyBuildExt(build_ext): # # More information on Expat can be found at www.libexpat.org. # @@ -86,7 +86,7 @@ index 76429e1326..38aa5e605e 100644 + if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"): expat_inc = [] define_macros = [] - expat_lib = ['expat'] + extra_compile_args = [] -- 2.13.5 diff --git a/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch b/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch index 6b316d8e..096278ca 100644 --- a/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch +++ b/bsp/buildroot/package/python3/0020-Add-an-option-to-disable-CJK-codecs.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 6f21482207..c7742faf41 100644 --- a/configure.ac +++ b/configure.ac -@@ -3129,6 +3129,12 @@ if test "$SQLITE3" = "no" ; then +@@ -3179,6 +3179,12 @@ if test "$SQLITE3" = "no" ; then DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _sqlite3" fi diff --git a/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch b/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch index f49b23f5..ecddd46e 100644 --- a/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch +++ b/bsp/buildroot/package/python3/0021-Add-an-option-to-disable-NIS.patch @@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac index c7742faf41..42a871bb09 100644 --- a/configure.ac +++ b/configure.ac -@@ -3135,6 +3135,12 @@ AC_ARG_ENABLE(codecs-cjk, +@@ -3185,6 +3185,12 @@ AC_ARG_ENABLE(codecs-cjk, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk _codecs_iso2022" fi]) diff --git a/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch b/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch index 9c207be6..8d246921 100644 --- a/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch +++ b/bsp/buildroot/package/python3/0022-Add-an-option-to-disable-unicodedata.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 42a871bb09..1d610e132b 100644 --- a/configure.ac +++ b/configure.ac -@@ -3141,6 +3141,12 @@ AC_ARG_ENABLE(nis, +@@ -3191,6 +3191,12 @@ AC_ARG_ENABLE(nis, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis" fi]) diff --git a/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch b/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch index da77c448..068ff2c1 100644 --- a/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch +++ b/bsp/buildroot/package/python3/0023-Add-an-option-to-disable-IDLE.patch @@ -19,7 +19,7 @@ diff --git a/Makefile.pre.in b/Makefile.pre.in index dc4b92b6fe..3e43066d90 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1162,7 +1162,9 @@ bininstall: altbininstall +@@ -1219,7 +1219,9 @@ bininstall: altbininstall -rm -f $(DESTDIR)$(LIBPC)/python3.pc (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python3.pc) -rm -f $(DESTDIR)$(BINDIR)/idle3 @@ -29,7 +29,7 @@ index dc4b92b6fe..3e43066d90 100644 -rm -f $(DESTDIR)$(BINDIR)/pydoc3 ifeq (@PYDOC@,yes) (cd $(DESTDIR)$(BINDIR); $(LN) -s pydoc$(VERSION) pydoc3) -@@ -1207,7 +1209,6 @@ LIBSUBDIRS= site-packages \ +@@ -1264,7 +1266,6 @@ LIBSUBDIRS= site-packages \ html json http dbm xmlrpc \ logging csv wsgiref urllib \ ctypes ctypes/macholib \ @@ -37,7 +37,7 @@ index dc4b92b6fe..3e43066d90 100644 distutils distutils/command \ importlib \ turtledemo \ -@@ -1275,6 +1276,10 @@ ifeq (@EXPAT@,yes) +@@ -1350,6 +1351,10 @@ ifeq (@EXPAT@,yes) LIBSUBDIRS += $(XMLLIBSUBDIRS) endif @@ -52,7 +52,7 @@ diff --git a/configure.ac b/configure.ac index 1d610e132b..2699e7ceb1 100644 --- a/configure.ac +++ b/configure.ac -@@ -3183,6 +3183,12 @@ AC_ARG_ENABLE(lib2to3, +@@ -3233,6 +3233,12 @@ AC_ARG_ENABLE(lib2to3, AS_HELP_STRING([--disable-lib2to3], [disable lib2to3]), [ LIB2TO3="${enableval}" ], [ LIB2TO3=yes ]) @@ -69,7 +69,7 @@ diff --git a/setup.py b/setup.py index 38aa5e605e..d642825c1e 100644 --- a/setup.py +++ b/setup.py -@@ -2282,11 +2282,13 @@ def main(): +@@ -2333,11 +2333,13 @@ def main(): import warnings warnings.filterwarnings("ignore",category=DeprecationWarning) diff --git a/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch b/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch index 76ef5084..3dcaac96 100644 --- a/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch +++ b/bsp/buildroot/package/python3/0024-Add-an-option-to-disable-decimal.patch @@ -9,6 +9,8 @@ Python whether we want to use the system libmpdec (already installed), the libmpdec builtin the Python sources, or no libmpdec at all. Signed-off-by: Thomas Petazzoni +[aduskett@gmail.com: Update for python 3.7.0] +Signed-off-by: Adam Duskett --- configure.ac | 17 ++++++++++++----- setup.py | 2 +- @@ -18,8 +20,8 @@ diff --git a/configure.ac b/configure.ac index 2699e7ceb1..e2c3b6f25c 100644 --- a/configure.ac +++ b/configure.ac -@@ -2862,13 +2862,20 @@ AC_SUBST(LIBFFI_INCLUDEDIR) - AC_MSG_RESULT($with_system_ffi) +@@ -2956,13 +2956,20 @@ fi + AC_SUBST(LIBFFI_INCLUDEDIR) # Check for use of the system libmpdec library -AC_MSG_CHECKING(for --with-system-libmpdec) @@ -48,7 +50,7 @@ diff --git a/setup.py b/setup.py index d642825c1e..5b98255857 100644 --- a/setup.py +++ b/setup.py -@@ -2058,7 +2058,7 @@ class PyBuildExt(build_ext): +@@ -2010,7 +2010,7 @@ class PyBuildExt(build_ext): def _decimal_ext(self): extra_compile_args = [] undef_macros = [] diff --git a/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch b/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch index 418936cf..83e1e349 100644 --- a/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch +++ b/bsp/buildroot/package/python3/0025-Add-an-option-to-disable-the-ossaudiodev-module.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index e2c3b6f25c..8e3dded25e 100644 --- a/configure.ac +++ b/configure.ac -@@ -2877,6 +2877,12 @@ else +@@ -2971,6 +2971,12 @@ else fi AC_SUBST(MPDEC) diff --git a/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch b/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch index 065e5062..ad4da1ad 100644 --- a/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch +++ b/bsp/buildroot/package/python3/0026-Add-an-option-to-disable-openssl-support.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 8e3dded25e..28bcdabd67 100644 --- a/configure.ac +++ b/configure.ac -@@ -3160,6 +3160,12 @@ AC_ARG_ENABLE(unicodedata, +@@ -3210,6 +3210,12 @@ AC_ARG_ENABLE(unicodedata, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" fi]) diff --git a/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch b/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch index eb196753..ec399a8d 100644 --- a/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch +++ b/bsp/buildroot/package/python3/0027-Add-an-option-to-disable-the-readline-module.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 28bcdabd67..484f6ebaca 100644 --- a/configure.ac +++ b/configure.ac -@@ -3166,6 +3166,12 @@ AC_ARG_ENABLE(openssl, +@@ -3216,6 +3216,12 @@ AC_ARG_ENABLE(openssl, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" fi]) diff --git a/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch b/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch index 39330ace..7753acf7 100644 --- a/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch +++ b/bsp/buildroot/package/python3/0028-Add-options-to-disable-zlib-bzip2-and-xz-modules.patch @@ -12,7 +12,7 @@ diff --git a/configure.ac b/configure.ac index 484f6ebaca..79538df0cf 100644 --- a/configure.ac +++ b/configure.ac -@@ -3172,6 +3172,24 @@ AC_ARG_ENABLE(readline, +@@ -3222,6 +3222,24 @@ AC_ARG_ENABLE(readline, DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} readline" fi]) diff --git a/bsp/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch b/bsp/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch index 49137f27..2e45bee1 100644 --- a/bsp/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch +++ b/bsp/buildroot/package/python3/0029-python-config.sh-don-t-reassign-prefix.patch @@ -23,31 +23,31 @@ dbus-python-1.2.4 | NOK | http://autobuild.buildroot.net/results/758858efa97b627 Signed-off-by: Matthew Weber --- - Misc/python-config.sh.in | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + Misc/python-config.sh.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in -index f905a71..e06be0f 100644 +index 9e259c0..8b249d9 100644 --- a/Misc/python-config.sh.in +++ b/Misc/python-config.sh.in -@@ -29,7 +29,7 @@ prefix_real=$(installed_prefix "$0") - - # Use sed to fix paths from their built-to locations to their installed-to - # locations. +@@ -31,7 +31,7 @@ prefix_real=$(installed_prefix "$0") + # locations. Keep prefix & exec_prefix using their original values in case + # they are referenced in other configure variables, to prevent double + # substitution, issue #22140. -prefix=$(echo "$prefix_build" | sed "s#^$prefix_build#$prefix_real#") +prefix=$prefix_build - exec_prefix_build="@exec_prefix@" exec_prefix=$(echo "$exec_prefix_build" | sed "s#^$exec_prefix_build#$prefix_real#") + exec_prefix_real=${prefix_real} includedir=$(echo "@includedir@" | sed "s#^$prefix_build#$prefix_real#") -@@ -47,7 +46,7 @@ LINKFORSHARED="@LINKFORSHARED@" +@@ -49,7 +49,7 @@ LINKFORSHARED="@LINKFORSHARED@" OPT="@OPT@" PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" LDVERSION="@LDVERSION@" --LIBDEST=${prefix}/lib/python${VERSION} +-LIBDEST=${prefix_real}/lib/python${VERSION} +LIBDEST=$( echo "${prefix}/lib/python${VERSION}" | sed "s#^$prefix_build#$prefix_real#") LIBPL=$(echo "@LIBPL@" | sed "s#^$prefix_build#$prefix_real#") SO="@EXT_SUFFIX@" PYTHONFRAMEWORK="@PYTHONFRAMEWORK@" -- -1.8.3.1 +2.14.3 diff --git a/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch b/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch new file mode 100644 index 00000000..93df02f6 --- /dev/null +++ b/bsp/buildroot/package/python3/0030-Fix-cross-compiling-the-uuid-module.patch @@ -0,0 +1,38 @@ +From ad4537a75c798341824ab18bd1dc622f8dc2bc3a Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Fri, 20 Jul 2018 10:17:39 -0400 +Subject: [PATCH] Fix cross compiling the uuid module + +Python 3.7 has a new _uuid module, however, the include directory +search path for uuid.h is hardcoded to /usr/include/uuid, which should +not be used when cross-compiling. + +To fix this, use the same solution as the one used by the NIS +detection: append "uuid" to each of the include directories in +"inc_dirs", instead of hardcoding /usr/include/uuid. + +Signed-off-by: Adam Duskett +[Thomas: drop STAGING_DIR based solution, use a solution similar to +the one used for the NIS detection.] +Signed-off-by: Thomas Petazzoni +--- + setup.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 1a7085c5c4..f33d0b57b8 100644 +--- a/setup.py ++++ b/setup.py +@@ -1627,7 +1627,8 @@ class PyBuildExt(build_ext): + missing.append('_tkinter') + + # Build the _uuid module if possible +- uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"]) ++ uuid_incs = find_file("uuid.h", inc_dirs, ++ [os.path.join(inc_dir, 'uuid') for inc_dir in inc_dirs]) + if uuid_incs is not None: + if self.compiler.find_library_file(lib_dirs, 'uuid'): + uuid_libs = ['uuid'] +-- +2.14.4 + diff --git a/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch b/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch new file mode 100644 index 00000000..c429c59a --- /dev/null +++ b/bsp/buildroot/package/python3/0031-Add-an-option-to-disable-uuid-module.patch @@ -0,0 +1,33 @@ +From 1fe33c7bee9e6410f56c956ea19efd2f617176ae Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 18 Aug 2018 10:54:56 +0200 +Subject: [PATCH] Add an option to disable uuid module + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/configure.ac b/configure.ac +index b022460e73..505b7c9be0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3258,6 +3258,15 @@ if test "$CURSES" = "no"; then + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _curses _curses_panel" + fi + ++AC_SUBST(UUID) ++AC_ARG_ENABLE(uuid, ++ AS_HELP_STRING([--disable-uuid], [disable uuid]), ++ [ UUID="${enableval}" ], [ UUID=yes ]) ++ ++if test "$UUID" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} _uuid" ++fi ++ + AC_SUBST(PYDOC) + + AC_ARG_ENABLE(pydoc, +-- +2.14.4 + diff --git a/bsp/buildroot/package/python3/0032-fix-building-on-older-distributions.patch b/bsp/buildroot/package/python3/0032-fix-building-on-older-distributions.patch new file mode 100644 index 00000000..0f7ee2a2 --- /dev/null +++ b/bsp/buildroot/package/python3/0032-fix-building-on-older-distributions.patch @@ -0,0 +1,38 @@ +From ba10bac420398270a0b992e85d93383373d5fcac Mon Sep 17 00:00:00 2001 +From: Adam Duskett +Date: Thu, 16 Aug 2018 14:52:37 -0700 +Subject: [PATCH] fix building on older distributions + +Python > 3.6.3 calls os.replace in the update_file.py script, during the +regen-importlib phase of the build process. + +According to Doc/whatsnew/3.3.rst line 1631, os.replace acts in the same +way as os.rename, however, it is now cross-platform compatible for Windows. + +Because BuildRoot is guaranteed only to be built in POSIX environment, it is +safe to change os.replace back to os.rename. + +This change fixes building on older systems such as CentOS7, that only come +with python 2. + +Signed-off-by: Adam Duskett +--- + Tools/scripts/update_file.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Tools/scripts/update_file.py b/Tools/scripts/update_file.py +index 224585c69b..ef458c0c63 100644 +--- a/Tools/scripts/update_file.py ++++ b/Tools/scripts/update_file.py +@@ -16,7 +16,7 @@ def main(old_path, new_path): + with open(new_path, 'rb') as f: + new_contents = f.read() + if old_contents != new_contents: +- os.replace(new_path, old_path) ++ os.rename(new_path, old_path) + else: + os.unlink(new_path) + +-- +2.14.4 + diff --git a/bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch b/bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch new file mode 100644 index 00000000..c29ab7ef --- /dev/null +++ b/bsp/buildroot/package/python3/0033-bpo-35746-Fix-segfault-in-ssl-s-cert-parser-GH-11569.patch @@ -0,0 +1,121 @@ +From be5de958e9052e322b0087c6dba81cdad0c3e031 Mon Sep 17 00:00:00 2001 +From: "Miss Islington (bot)" + <31488909+miss-islington@users.noreply.github.com> +Date: Tue, 15 Jan 2019 15:03:36 -0800 +Subject: [PATCH] bpo-35746: Fix segfault in ssl's cert parser (GH-11569) + +Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL +distribution points with empty DP or URI correctly. A malicious or buggy +certificate can result into segfault. + +Signed-off-by: Christian Heimes + +https://bugs.python.org/issue35746 +(cherry picked from commit a37f52436f9aa4b9292878b72f3ff1480e2606c3) + +Co-authored-by: Christian Heimes +Signed-off-by: Peter Korsgaard +--- + Lib/test/talos-2019-0758.pem | 22 ++++++++++++++++++++++ + Lib/test/test_ssl.py | 22 ++++++++++++++++++++++ + .../2019-01-15-18-16-05.bpo-35746.nMSd0j.rst | 3 +++ + Modules/_ssl.c | 4 ++++ + 4 files changed, 51 insertions(+) + create mode 100644 Lib/test/talos-2019-0758.pem + create mode 100644 Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst + +diff --git a/Lib/test/talos-2019-0758.pem b/Lib/test/talos-2019-0758.pem +new file mode 100644 +index 0000000000..13b95a77fd +--- /dev/null ++++ b/Lib/test/talos-2019-0758.pem +@@ -0,0 +1,22 @@ ++-----BEGIN CERTIFICATE----- ++MIIDqDCCApKgAwIBAgIBAjALBgkqhkiG9w0BAQswHzELMAkGA1UEBhMCVUsxEDAO ++BgNVBAMTB2NvZHktY2EwHhcNMTgwNjE4MTgwMDU4WhcNMjgwNjE0MTgwMDU4WjA7 ++MQswCQYDVQQGEwJVSzEsMCoGA1UEAxMjY29kZW5vbWljb24tdm0tMi50ZXN0Lmxh ++bC5jaXNjby5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC63fGB ++J80A9Av1GB0bptslKRIUtJm8EeEu34HkDWbL6AJY0P8WfDtlXjlPaLqFa6sqH6ES ++V48prSm1ZUbDSVL8R6BYVYpOlK8/48xk4pGTgRzv69gf5SGtQLwHy8UPBKgjSZoD ++5a5k5wJXGswhKFFNqyyxqCvWmMnJWxXTt2XDCiWc4g4YAWi4O4+6SeeHVAV9rV7C ++1wxqjzKovVe2uZOHjKEzJbbIU6JBPb6TRfMdRdYOw98n1VXDcKVgdX2DuuqjCzHP ++WhU4Tw050M9NaK3eXp4Mh69VuiKoBGOLSOcS8reqHIU46Reg0hqeL8LIL6OhFHIF ++j7HR6V1X6F+BfRS/AgMBAAGjgdYwgdMwCQYDVR0TBAIwADAdBgNVHQ4EFgQUOktp ++HQjxDXXUg8prleY9jeLKeQ4wTwYDVR0jBEgwRoAUx6zgPygZ0ZErF9sPC4+5e2Io ++UU+hI6QhMB8xCzAJBgNVBAYTAlVLMRAwDgYDVQQDEwdjb2R5LWNhggkA1QEAuwb7 ++2s0wCQYDVR0SBAIwADAuBgNVHREEJzAlgiNjb2Rlbm9taWNvbi12bS0yLnRlc3Qu ++bGFsLmNpc2NvLmNvbTAOBgNVHQ8BAf8EBAMCBaAwCwYDVR0fBAQwAjAAMAsGCSqG ++SIb3DQEBCwOCAQEAvqantx2yBlM11RoFiCfi+AfSblXPdrIrHvccepV4pYc/yO6p ++t1f2dxHQb8rWH3i6cWag/EgIZx+HJQvo0rgPY1BFJsX1WnYf1/znZpkUBGbVmlJr ++t/dW1gSkNS6sPsM0Q+7HPgEv8CPDNK5eo7vU2seE0iWOkxSyVUuiCEY9ZVGaLVit ++p0C78nZ35Pdv4I+1cosmHl28+es1WI22rrnmdBpH8J1eY6WvUw2xuZHLeNVN0TzV ++Q3qq53AaCWuLOD1AjESWuUCxMZTK9DPS4JKXTK8RLyDeqOvJGjsSWp3kL0y3GaQ+ ++10T1rfkKJub2+m9A9duin1fn6tHc2wSvB7m3DA== ++-----END CERTIFICATE----- +diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py +index f1b9565c8d..b6794ce3a8 100644 +--- a/Lib/test/test_ssl.py ++++ b/Lib/test/test_ssl.py +@@ -116,6 +116,7 @@ NONEXISTINGCERT = data_file("XXXnonexisting.pem") + BADKEY = data_file("badkey.pem") + NOKIACERT = data_file("nokia.pem") + NULLBYTECERT = data_file("nullbytecert.pem") ++TALOS_INVALID_CRLDP = data_file("talos-2019-0758.pem") + + DHFILE = data_file("ffdh3072.pem") + BYTES_DHFILE = os.fsencode(DHFILE) +@@ -365,6 +366,27 @@ class BasicSocketTests(unittest.TestCase): + self.assertEqual(p['crlDistributionPoints'], + ('http://SVRIntl-G3-crl.verisign.com/SVRIntlG3.crl',)) + ++ def test_parse_cert_CVE_2019_5010(self): ++ p = ssl._ssl._test_decode_cert(TALOS_INVALID_CRLDP) ++ if support.verbose: ++ sys.stdout.write("\n" + pprint.pformat(p) + "\n") ++ self.assertEqual( ++ p, ++ { ++ 'issuer': ( ++ (('countryName', 'UK'),), (('commonName', 'cody-ca'),)), ++ 'notAfter': 'Jun 14 18:00:58 2028 GMT', ++ 'notBefore': 'Jun 18 18:00:58 2018 GMT', ++ 'serialNumber': '02', ++ 'subject': ((('countryName', 'UK'),), ++ (('commonName', ++ 'codenomicon-vm-2.test.lal.cisco.com'),)), ++ 'subjectAltName': ( ++ ('DNS', 'codenomicon-vm-2.test.lal.cisco.com'),), ++ 'version': 3 ++ } ++ ) ++ + def test_parse_cert_CVE_2013_4238(self): + p = ssl._ssl._test_decode_cert(NULLBYTECERT) + if support.verbose: +diff --git a/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst +new file mode 100644 +index 0000000000..dffe347eec +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2019-01-15-18-16-05.bpo-35746.nMSd0j.rst +@@ -0,0 +1,3 @@ ++[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did ++not handle CRL distribution points with empty DP or URI correctly. A ++malicious or buggy certificate can result into segfault. +diff --git a/Modules/_ssl.c b/Modules/_ssl.c +index 9894ad821d..9baec8a9bc 100644 +--- a/Modules/_ssl.c ++++ b/Modules/_ssl.c +@@ -1516,6 +1516,10 @@ _get_crl_dp(X509 *certificate) { + STACK_OF(GENERAL_NAME) *gns; + + dp = sk_DIST_POINT_value(dps, i); ++ if (dp->distpoint == NULL) { ++ /* Ignore empty DP value, CVE-2019-5010 */ ++ continue; ++ } + gns = dp->distpoint->name.fullname; + + for (j=0; j < sk_GENERAL_NAME_num(gns); j++) { +-- +2.11.0 + diff --git a/bsp/buildroot/package/python3/Config.in b/bsp/buildroot/package/python3/Config.in index 623fefe4..0c5018f0 100644 --- a/bsp/buildroot/package/python3/Config.in +++ b/bsp/buildroot/package/python3/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_PYTHON3 depends on BR2_TOOLCHAIN_HAS_THREADS # libffi depends on !BR2_STATIC_LIBS select BR2_PACKAGE_LIBFFI + select BR2_PACKAGE_BLUEZ5_UTILS_HEADERS if BR2_PACKAGE_BLUEZ5_UTILS help The python language interpreter. diff --git a/bsp/buildroot/package/python3/python3.hash b/bsp/buildroot/package/python3/python3.hash index 33adb188..5a525130 100644 --- a/bsp/buildroot/package/python3/python3.hash +++ b/bsp/buildroot/package/python3/python3.hash @@ -1,4 +1,5 @@ -# From https://www.python.org/downloads/release/python-363/ -md5 b9c2c36c33fb89bda1fefd37ad5af9be Python-3.6.3.tar.xz +# From https://www.python.org/downloads/release/python-372/ +md5 df6ec36011808205beda239c72f947cb Python-3.7.2.tar.xz # Locally computed -sha256 cda7d967c9a4bfa52337cdf551bcc5cff026b6ac50a8834e568ce4a794ca81da Python-3.6.3.tar.xz +sha256 d83fe8ce51b1bb48bbcf0550fd265b9a75cdfdfa93f916f9e700aef8444bf1bb Python-3.7.2.tar.xz +sha256 b9a6d9320b8f2693e8d41e496ce56caadacaddcca9be2a64a61749278f425cf2 LICENSE diff --git a/bsp/buildroot/package/python3/python3.mk b/bsp/buildroot/package/python3/python3.mk index 6e611086..ef2c4857 100644 --- a/bsp/buildroot/package/python3/python3.mk +++ b/bsp/buildroot/package/python3/python3.mk @@ -4,20 +4,13 @@ # ################################################################################ -PYTHON3_VERSION_MAJOR = 3.6 -PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).3 +PYTHON3_VERSION_MAJOR = 3.7 +PYTHON3_VERSION = $(PYTHON3_VERSION_MAJOR).2 PYTHON3_SOURCE = Python-$(PYTHON3_VERSION).tar.xz PYTHON3_SITE = https://python.org/ftp/python/$(PYTHON3_VERSION) PYTHON3_LICENSE = Python-2.0, others PYTHON3_LICENSE_FILES = LICENSE -# Python itself doesn't use libtool, but it includes the source code -# of libffi, which uses libtool. Unfortunately, it uses a beta version -# of libtool for which we don't have a matching patch. However, this -# is not a problem, because we don't use the libffi copy included in -# the Python sources, but instead use an external libffi library. -PYTHON3_LIBTOOL_PATCH = NO - # This host Python is installed in $(HOST_DIR), as it is needed when # cross-compiling third-party Python modules. @@ -47,7 +40,7 @@ HOST_PYTHON3_CONF_ENV += \ PYTHON3_DEPENDENCIES = host-python3 libffi -HOST_PYTHON3_DEPENDENCIES = host-expat host-zlib +HOST_PYTHON3_DEPENDENCIES = host-expat host-zlib host-libffi PYTHON3_INSTALL_STAGING = YES @@ -101,6 +94,11 @@ ifneq ($(BR2_PACKAGE_PYTHON3_UNICODEDATA),y) PYTHON3_CONF_OPTS += --disable-unicodedata endif +# Disable auto-detection of uuid.h (util-linux) +# which would add _uuid module support, instead +# default to the pure python implementation +PYTHON3_CONF_OPTS += --disable-uuid + ifeq ($(BR2_PACKAGE_PYTHON3_BZIP2),y) PYTHON3_DEPENDENCIES += bzip2 else @@ -256,6 +254,11 @@ endif # Provided to other packages PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/ +# Support for socket.AF_BLUETOOTH +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),y) +PYTHON3_DEPENDENCIES += bluez5_utils-headers +endif + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/qemu/0002-configure-improve-usbfs-check.patch b/bsp/buildroot/package/qemu/0002-configure-improve-usbfs-check.patch new file mode 100644 index 00000000..d693b5d7 --- /dev/null +++ b/bsp/buildroot/package/qemu/0002-configure-improve-usbfs-check.patch @@ -0,0 +1,60 @@ +From 9672cccd64c446369b5649fe23d575917638be46 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Tue, 5 Feb 2019 15:07:43 +0100 +Subject: [PATCH] configure: improve usbfs check + +The current check to test if usbfs support should be compiled or not +solely relies on the presence of , without +actually checking that all definition used by Qemu are provided by +this header file. + +With sufficiently old kernel headers, may be +present, but some of the definitions needed by Qemu may not be +available. + +This commit improves the check by building a small program that +actually tests whether the necessary definitions are available. + +In addition, it fixes a bug where have_usbfs was set to "yes" +regardless of the result of the test. + +Signed-off-by: Thomas Petazzoni +--- + configure | 19 +++++++++++++++++-- + 1 file changed, 17 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 3d89870d99..799c8e3b08 100755 +--- a/configure ++++ b/configure +@@ -4266,10 +4266,25 @@ fi + # check for usbfs + have_usbfs=no + if test "$linux_user" = "yes"; then +- if check_include linux/usbdevice_fs.h; then ++ cat > $TMPC << EOF ++#include ++ ++#ifndef USBDEVFS_GET_CAPABILITIES ++#error "USBDEVFS_GET_CAPABILITIES undefined" ++#endif ++ ++#ifndef USBDEVFS_DISCONNECT_CLAIM ++#error "USBDEVFS_DISCONNECT_CLAIM undefined" ++#endif ++ ++int main(void) ++{ ++ return 0; ++} ++EOF ++ if compile_prog "" ""; then + have_usbfs=yes + fi +- have_usbfs=yes + fi + + # check for fallocate +-- +2.20.1 + diff --git a/bsp/buildroot/package/qemu/Config.in b/bsp/buildroot/package/qemu/Config.in index cf25c351..33d4cccd 100644 --- a/bsp/buildroot/package/qemu/Config.in +++ b/bsp/buildroot/package/qemu/Config.in @@ -54,8 +54,29 @@ config BR2_PACKAGE_QEMU_CUSTOM_TARGETS x86_64-softmmu | sparc-bsd-user ... | ... -config QEMU_FOO - bool # To break the indentation +comment "Networking options" + +config BR2_PACKAGE_QEMU_SLIRP + bool "Enable user mode networking (SLIRP)" + help + Enable user mode network stack, which is the default + networking backend. It requires no administrator privileges + and generally is the easiest to use but has some + limitations: + + - there is a lot of overhead so the performance is poor; + - in general ICMP does not work (can't ping from/to a guest) + - on Linux hosts, ping does work from within the guest, but it + needs initial setup by root (once per host) + - the guest is not directly accessible from the host or the + external network + + User Networking is implemented using "slirp", which provides a + full TCP/IP stack within QEMU and uses that stack to implement + a virtual NAT'd network. + + Notice that this option does not disable other networking + modes. if BR2_PACKAGE_QEMU_CUSTOM_TARGETS = "" @@ -97,13 +118,15 @@ comment "Frontends" config BR2_PACKAGE_QEMU_SDL bool "Enable SDL frontend" - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_SDL - select BR2_PACKAGE_SDL_X11 + depends on !BR2_STATIC_LIBS # sdl2 + select BR2_PACKAGE_SDL2 help Say 'y' to enable the SDL frontend, that is, a graphical window presenting the VM's display. +comment "SDL frontend needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS + comment "Misc. features" config BR2_PACKAGE_QEMU_FDT diff --git a/bsp/buildroot/package/qemu/Config.in.host b/bsp/buildroot/package/qemu/Config.in.host index 957c7d2a..f99f3e05 100644 --- a/bsp/buildroot/package/qemu/Config.in.host +++ b/bsp/buildroot/package/qemu/Config.in.host @@ -67,4 +67,10 @@ config BR2_PACKAGE_HOST_QEMU_VDE2 Ethernet and can be used to create virtual switches to "plug" both physical and virtual machines in them. +config BR2_PACKAGE_HOST_QEMU_VIRTFS + bool "Virtual filesystem support" + help + Enables support for virtual filesystem in Qemu allowing + shared filesystem between Qemu and its emulated target. + endif diff --git a/bsp/buildroot/package/qemu/qemu.hash b/bsp/buildroot/package/qemu/qemu.hash index 2b27008b..338d2ae5 100644 --- a/bsp/buildroot/package/qemu/qemu.hash +++ b/bsp/buildroot/package/qemu/qemu.hash @@ -1,4 +1,4 @@ # Locally computed, tarball verified with GPG signature -sha256 33583800e0006cd00b78226b85be5a27c8e3b156bed2e60e83ecbeb7b9b8364f qemu-2.12.1.tar.xz +sha256 6a0508df079a0a33c2487ca936a56c12122f105b8a96a44374704bef6c69abfc qemu-3.1.0.tar.xz sha256 6f04ae8364d0079a192b14635f4b1da294ce18724c034c39a6a41d1b09df6100 COPYING sha256 48ffe9fc7f1d5462dbd19340bc4dd1d8a9e37c61ed535813e614cbe4a5f0d4df COPYING.LIB diff --git a/bsp/buildroot/package/qemu/qemu.mk b/bsp/buildroot/package/qemu/qemu.mk index 758c2239..30cd5972 100644 --- a/bsp/buildroot/package/qemu/qemu.mk +++ b/bsp/buildroot/package/qemu/qemu.mk @@ -4,7 +4,7 @@ # ################################################################################ -QEMU_VERSION = 2.12.1 +QEMU_VERSION = 3.1.0 QEMU_SOURCE = qemu-$(QEMU_VERSION).tar.xz QEMU_SITE = http://download.qemu.org QEMU_LICENSE = GPL-2.0, LGPL-2.1, MIT, BSD-3-Clause, BSD-2-Clause, Others/BSD-1c @@ -16,7 +16,7 @@ QEMU_LICENSE_FILES = COPYING COPYING.LIB #------------------------------------------------------------- # Target-qemu -QEMU_DEPENDENCIES = host-pkgconf host-python libglib2 zlib pixman +QEMU_DEPENDENCIES = host-pkgconf libglib2 zlib pixman # Need the LIBS variable because librt and libm are # not automatically pulled. :-( @@ -24,10 +24,7 @@ QEMU_LIBS = -lrt -lm QEMU_OPTS = -QEMU_VARS = \ - LIBTOOL=$(HOST_DIR)/bin/libtool \ - PYTHON=$(HOST_DIR)/bin/python2 \ - PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages +QEMU_VARS = LIBTOOL=$(HOST_DIR)/bin/libtool # If we want to specify only a subset of targets, we must still enable all # of them, so that QEMU properly builds its list of default targets, from @@ -55,10 +52,15 @@ endif endif +# There is no "--enable-slirp" +ifeq ($(BR2_PACKAGE_QEMU_SLIRP),) +QEMU_OPTS += --disable-slirp +endif + ifeq ($(BR2_PACKAGE_QEMU_SDL),y) QEMU_OPTS += --enable-sdl -QEMU_DEPENDENCIES += sdl -QEMU_VARS += SDL_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl-config +QEMU_DEPENDENCIES += sdl2 +QEMU_VARS += SDL2_CONFIG=$(BR2_STAGING_DIR)/usr/bin/sdl2-config else QEMU_OPTS += --disable-sdl endif @@ -76,6 +78,13 @@ else QEMU_OPTS += --disable-tools endif +ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) +QEMU_OPTS += --enable-seccomp +QEMU_DEPENDENCIES += libseccomp +else +QEMU_OPTS += --disable-seccomp +endif + ifeq ($(BR2_PACKAGE_LIBSSH2),y) QEMU_OPTS += --enable-libssh2 QEMU_DEPENDENCIES += libssh2 @@ -101,7 +110,6 @@ define QEMU_CONFIGURE_CMDS --enable-vhost-net \ --disable-bsd-user \ --disable-xen \ - --disable-slirp \ --disable-vnc \ --disable-virtfs \ --disable-brlapi \ @@ -117,7 +125,6 @@ define QEMU_CONFIGURE_CMDS --disable-libiscsi \ --disable-usb-redir \ --disable-strip \ - --disable-seccomp \ --disable-sparse \ --disable-mpath \ --disable-sanitizers \ @@ -147,13 +154,12 @@ $(eval $(generic-package)) #------------------------------------------------------------- # Host-qemu -HOST_QEMU_DEPENDENCIES = host-pkgconf host-python host-zlib host-libglib2 host-pixman +HOST_QEMU_DEPENDENCIES = host-pkgconf host-zlib host-libglib2 host-pixman # BR ARCH qemu # ------- ---- # arm arm # armeb armeb -# bfin not supported # i486 i386 # i586 i386 # i686 i386 @@ -251,6 +257,10 @@ HOST_QEMU_OPTS += --enable-vde HOST_QEMU_DEPENDENCIES += host-vde2 endif +ifdef ($(BR2_PACKAGE_HOST_QEMU_VIRTFS),y) +HOST_QEMU_OPTS += --enable-virtfs +endif + # Override CPP, as it expects to be able to call it like it'd # call the compiler. define HOST_QEMU_CONFIGURE_CMDS @@ -261,7 +271,6 @@ define HOST_QEMU_CONFIGURE_CMDS --interp-prefix=$(STAGING_DIR) \ --cc="$(HOSTCC)" \ --host-cc="$(HOSTCC)" \ - --python=$(HOST_DIR)/bin/python2 \ --extra-cflags="$(HOST_CFLAGS)" \ --extra-ldflags="$(HOST_LDFLAGS)" \ $(HOST_QEMU_OPTS) diff --git a/bsp/buildroot/package/qextserialport/Config.in b/bsp/buildroot/package/qextserialport/Config.in index 4e7ef137..f880d335 100644 --- a/bsp/buildroot/package/qextserialport/Config.in +++ b/bsp/buildroot/package/qextserialport/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_QEXTSERIALPORT bool "qextserialport" - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 help A Qt library to manage serial ports diff --git a/bsp/buildroot/package/qextserialport/qextserialport.mk b/bsp/buildroot/package/qextserialport/qextserialport.mk index e3e325ce..ecaff21e 100644 --- a/bsp/buildroot/package/qextserialport/qextserialport.mk +++ b/bsp/buildroot/package/qextserialport/qextserialport.mk @@ -14,16 +14,10 @@ ifeq ($(BR2_STATIC_LIBS),y) QEXTSERIALPORT_CONF_OPTS += CONFIG+=qesp_static endif -ifeq ($(BR2_PACKAGE_QT),y) -QEXTSERIALPORT_DEPENDENCIES += qt -QEXTSERIALPORT_QMAKE = $(QT_QMAKE) -else ifeq ($(BR2_PACKAGE_QT5),y) -QEXTSERIALPORT_DEPENDENCIES += qt5base -QEXTSERIALPORT_QMAKE = $(QT5_QMAKE) -endif +QEXTSERIALPORT_DEPENDENCIES = qt5base define QEXTSERIALPORT_CONFIGURE_CMDS - cd $(@D); $(TARGET_MAKE_ENV) $(QEXTSERIALPORT_QMAKE) $(QEXTSERIALPORT_CONF_OPTS) + cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE) $(QEXTSERIALPORT_CONF_OPTS) endef define QEXTSERIALPORT_BUILD_CMDS diff --git a/bsp/buildroot/package/qjson/Config.in b/bsp/buildroot/package/qjson/Config.in index 5c423bf3..adb06cdd 100644 --- a/bsp/buildroot/package/qjson/Config.in +++ b/bsp/buildroot/package/qjson/Config.in @@ -1,13 +1,8 @@ config BR2_PACKAGE_QJSON bool "qjson" - depends on !BR2_STATIC_LIBS - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 help QJson is a Qt-based library that maps JSON data to QVariant objects and vice versa. http://qjson.sourceforge.net - -comment "qjson needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - depends on !BR2_PACKAGE_QT && !BR2_PACKAGE_QT5 diff --git a/bsp/buildroot/package/qjson/qjson.mk b/bsp/buildroot/package/qjson/qjson.mk index 1777b945..718d6622 100644 --- a/bsp/buildroot/package/qjson/qjson.mk +++ b/bsp/buildroot/package/qjson/qjson.mk @@ -7,9 +7,7 @@ QJSON_VERSION = 0.9.0 QJSON_SITE = $(call github,flavio,qjson,$(QJSON_VERSION)) QJSON_INSTALL_STAGING = YES -QJSON_DEPENDENCIES = \ - $(if $(BR2_PACKAGE_QT),qt) \ - $(if $(BR2_PACKAGE_QT5),qt5base) +QJSON_DEPENDENCIES = qt5base QJSON_LICENSE = LGPL-2.1 QJSON_LICENSE_FILES = COPYING.lib diff --git a/bsp/buildroot/package/qpdf/qpdf.hash b/bsp/buildroot/package/qpdf/qpdf.hash index d27c9834..4bf2d3b3 100644 --- a/bsp/buildroot/package/qpdf/qpdf.hash +++ b/bsp/buildroot/package/qpdf/qpdf.hash @@ -1,2 +1,4 @@ -# From https://sourceforge.net/projects/qpdf/files/qpdf/8.1.0/qpdf-8.1.0.sha512/download -sha512 1831bcaaed87dae268db5d61805d1483ec5c101f6ce594be660664c119597ae67cf011c2b50092964d785a814d5f6c780935127a89401fe37a1026ae4d3af15c qpdf-8.1.0.tar.gz +# From https://sourceforge.net/projects/qpdf/files/qpdf/8.2.1/qpdf-8.2.1.sha512/download +sha512 ef3aeb4a7ca3ec48ab62341533eedcb2a6d0985767317ab72c22f0c0ecfef6849bfdc34b1bcec6427c7bde166143adb409c895ff40d8be6628e6323e27697a8c qpdf-8.2.1.tar.gz +# Locally computed: +sha256 fb929ac30decb4dc3a2eea2bec6c43296a797c5d2d602deb3784ee39430583d5 Artistic-2.0 diff --git a/bsp/buildroot/package/qpdf/qpdf.mk b/bsp/buildroot/package/qpdf/qpdf.mk index 4776d22b..2f6efdd7 100644 --- a/bsp/buildroot/package/qpdf/qpdf.mk +++ b/bsp/buildroot/package/qpdf/qpdf.mk @@ -4,7 +4,7 @@ # ################################################################################ -QPDF_VERSION = 8.1.0 +QPDF_VERSION = 8.2.1 QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION) QPDF_INSTALL_STAGING = YES QPDF_LICENSE = Artistic-2.0 diff --git a/bsp/buildroot/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch b/bsp/buildroot/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch new file mode 100644 index 00000000..1085804f --- /dev/null +++ b/bsp/buildroot/package/qpid-proton/0001-PROTON-1381-PROTON-1326-Modify-openssl-DH-code-to-wo.patch @@ -0,0 +1,78 @@ +From bc872440428073e86ce2631276dc8b7f62da4c33 Mon Sep 17 00:00:00 2001 +From: Andrew Stitcher +Date: Tue, 17 Jan 2017 02:10:48 -0500 +Subject: [PATCH] PROTON-1381, PROTON-1326: Modify openssl DH code to work with + openssl 1.1 Modified patch from Volker Diels-Grabsch + +Upstream: https://github.com/apache/qpid-proton/commit/bc872440428073e86ce2631276dc8b7f62da4c33 + +Signed-off-by: Matthew Weber +--- + proton-c/src/ssl/openssl.c | 37 +++++++++++++++++++++++++++---------- + 1 file changed, 27 insertions(+), 10 deletions(-) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index 0b7d157..0c51c03 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -356,12 +356,22 @@ static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx) + return preverify_ok; + } + ++// This was introduced in v1.1 ++#if OPENSSL_VERSION_NUMBER < 0x10100000 ++int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) ++{ ++ dh->p = p; ++ dh->q = q; ++ dh->g = g; ++ return 1; ++} ++#endif + + // this code was generated using the command: + // "openssl dhparam -C -2 2048" + static DH *get_dh2048(void) + { +- static const unsigned char dh2048_p[]={ ++ static const unsigned char dhp_2048[]={ + 0xAE,0xF7,0xE9,0x66,0x26,0x7A,0xAC,0x0A,0x6F,0x1E,0xCD,0x81, + 0xBD,0x0A,0x10,0x7E,0xFA,0x2C,0xF5,0x2D,0x98,0xD4,0xE7,0xD9, + 0xE4,0x04,0x8B,0x06,0x85,0xF2,0x0B,0xA3,0x90,0x15,0x56,0x0C, +@@ -385,17 +395,24 @@ static DH *get_dh2048(void) + 0xA4,0xED,0xFD,0x49,0x0B,0xE3,0x4A,0xF6,0x28,0xB3,0x98,0xB0, + 0x23,0x1C,0x09,0x33, + }; +- static const unsigned char dh2048_g[]={ ++ static const unsigned char dhg_2048[]={ + 0x02, + }; +- DH *dh; +- +- if ((dh=DH_new()) == NULL) return(NULL); +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if ((dh->p == NULL) || (dh->g == NULL)) +- { DH_free(dh); return(NULL); } +- return(dh); ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; + } + + typedef struct { +-- +1.9.1 + diff --git a/bsp/buildroot/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch b/bsp/buildroot/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch new file mode 100644 index 00000000..2adba9a5 --- /dev/null +++ b/bsp/buildroot/package/qpid-proton/0002-PROTON-1326-restore-anonymous-cyphers-by-lowering-Op.patch @@ -0,0 +1,62 @@ +From 8c54c62516671375de4068158ccaa0bc1dba0a4a Mon Sep 17 00:00:00 2001 +From: Cliff Jansen +Date: Wed, 2 Aug 2017 16:34:39 -0700 +Subject: [PATCH] PROTON-1326: restore anonymous cyphers by lowering OpenSSL + v1.1 security level just for the PN_SSL_ANONYMOUS_PEER verification mode + +Upstream: https://github.com/apache/qpid-proton/commit/8c54c62516671375de4068158ccaa0bc1dba0a4a + +Signed-off-by: Matthew Weber +--- + proton-c/src/ssl/openssl.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index 8cb4e7b..f37cf49 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -72,6 +72,9 @@ struct pn_ssl_domain_t { + char *trusted_CAs; + + int ref_count; ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ int default_seclevel; ++#endif + pn_ssl_mode_t mode; + pn_ssl_verify_mode_t verify_mode; + +@@ -524,6 +527,9 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_mode_t mode ) + // Mitigate the CRIME vulnerability + SSL_CTX_set_options(domain->ctx, SSL_OP_NO_COMPRESSION); + #endif ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx); ++#endif + + // by default, allow anonymous ciphers so certificates are not required 'out of the box' + if (!SSL_CTX_set_cipher_list( domain->ctx, CIPHERS_ANONYMOUS )) { +@@ -647,6 +653,10 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + case PN_SSL_VERIFY_PEER: + case PN_SSL_VERIFY_PEER_NAME: + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ SSL_CTX_set_security_level(domain->ctx, domain->default_seclevel); ++#endif ++ + if (!domain->has_ca_db) { + pn_transport_logf(NULL, "Error: cannot verify peer without a trusted CA configured.\n" + " Use pn_ssl_domain_set_trusted_ca_db()"); +@@ -685,6 +695,10 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + break; + + case PN_SSL_ANONYMOUS_PEER: // hippie free love mode... :) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ // Must use lowest OpenSSL security level to enable anonymous ciphers. ++ SSL_CTX_set_security_level(domain->ctx, 0); ++#endif + SSL_CTX_set_verify( domain->ctx, SSL_VERIFY_NONE, NULL ); + break; + +-- +1.9.1 + diff --git a/bsp/buildroot/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch b/bsp/buildroot/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch new file mode 100644 index 00000000..bbd3c7b8 --- /dev/null +++ b/bsp/buildroot/package/qpid-proton/0003-PROTON-1587-fix-openssl-error-handling-causing-spuri.patch @@ -0,0 +1,58 @@ +From c31ca95ac73d0da462f7e324e1c3a33b11c39f2c Mon Sep 17 00:00:00 2001 +From: Alan Conway +Date: Wed, 27 Sep 2017 18:37:24 -0400 +Subject: [PATCH] PROTON-1587: fix openssl error handling, causing spurious + errors + +From the SSL_get_error() man page: + + In addition to ssl and ret, SSL_get_error() inspects the current thread's OpenSSL error + queue. Thus, SSL_get_error() must be used in the same thread that performed the TLS/SSL I/O + operation, and no other OpenSSL function calls should appear in between. The current + thread's error queue must be empty before the TLS/SSL I/O operation is attempted, or + SSL_get_error() will not work reliably. + +Proton was not clearing the error queue, so the "shutdown-during-init" +error (which was introduced recently in OpenSSL) was left dangling, and was +reported incorrectly when the thread was used to serve another transport. + +Upstream: https://github.com/apache/qpid-proton/commit/c31ca95ac73d0da462f7e324e1c3a33b11c39f2c + +Signed-off-by: Matthew Weber +--- + proton-c/src/ssl/openssl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index 5c750b0..3a4e1a3 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -206,7 +206,7 @@ static int ssl_failed(pn_transport_t *transport) + // fake a shutdown so the i/o processing code will close properly + SSL_set_shutdown(ssl->ssl, SSL_SENT_SHUTDOWN|SSL_RECEIVED_SHUTDOWN); + // try to grab the first SSL error to add to the failure log +- char buf[128] = "Unknown error."; ++ char buf[256] = "Unknown error"; + unsigned long ssl_err = ERR_get_error(); + if (ssl_err) { + ERR_error_string_n( ssl_err, buf, sizeof(buf) ); +@@ -909,6 +909,7 @@ static ssize_t process_input_ssl( pn_transport_t *transport, unsigned int layer, + + do { + work_pending = false; ++ ERR_clear_error(); + + // Write to network bio as much as possible, consuming bytes/available + +@@ -1058,6 +1059,8 @@ static ssize_t process_output_ssl( pn_transport_t *transport, unsigned int layer + + do { + work_pending = false; ++ ERR_clear_error(); ++ + // first, get any pending application output, if possible + + if (!ssl->app_output_closed && ssl->out_count < ssl->out_size) { +-- +1.9.1 + diff --git a/bsp/buildroot/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch b/bsp/buildroot/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch new file mode 100644 index 00000000..f969671f --- /dev/null +++ b/bsp/buildroot/package/qpid-proton/0004-src-ssl-openssl-add-libressl-compatibility.patch @@ -0,0 +1,53 @@ +From 87c44b4ebc64c15f6324ed40852224b61fbe77a7 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Tue, 5 Feb 2019 06:10:16 -0600 +Subject: [PATCH] src/ssl/openssl: add libressl compatibility + +Similar to https://github.com/FreeRDP/FreeRDP/issues/5049 +libressl has `#define OPENSSL_VERSION_NUMBER ` defined the same as +openssl 1.1.x which results in SSL_CTX_set_security_level() getting used. + +This patch prevents SSL_CTX_set_security_level() from being used with +libressl. + +Upstream: https://github.com/apache/qpid-proton/pull/175 + +Signed-off-by: Matthew Weber +--- + c/src/ssl/openssl.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/proton-c/src/ssl/openssl.c b/proton-c/src/ssl/openssl.c +index c2b5869..541d0ae 100644 +--- a/proton-c/src/ssl/openssl.c ++++ b/proton-c/src/ssl/openssl.c +@@ -522,7 +522,7 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_mode_t mode ) + // Mitigate the CRIME vulnerability + SSL_CTX_set_options(domain->ctx, SSL_OP_NO_COMPRESSION); + #endif +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + domain->default_seclevel = SSL_CTX_get_security_level(domain->ctx); + #endif + +@@ -709,7 +709,7 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + case PN_SSL_VERIFY_PEER: + case PN_SSL_VERIFY_PEER_NAME: + +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + SSL_CTX_set_security_level(domain->ctx, domain->default_seclevel); + #endif + +@@ -749,7 +749,7 @@ int pn_ssl_domain_set_peer_authentication(pn_ssl_domain_t *domain, + break; + + case PN_SSL_ANONYMOUS_PEER: // hippie free love mode... :) +-#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(LIBRESSL_VERSION_NUMBER) + // Must use lowest OpenSSL security level to enable anonymous ciphers. + SSL_CTX_set_security_level(domain->ctx, 0); + #endif +-- +1.9.1 + diff --git a/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.hash b/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.hash index 8097c88c..666cb6ce 100644 --- a/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.hash +++ b/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 ec05f5bcb202265202a6f3ff74372516ce9beb82206ff67ca2b1b6fcb586ecd2 qt-webkit-kiosk-34efddb0bf0c36c8652f90dcd001db123f286f04.tar.gz +sha256 07fbc3f5053f55e4ef6566a15b42b74895314b48a0dfd46f0984f96f0fbb3e02 qt-webkit-kiosk-a7720e50f2bd70aad99e0b465f5c4a57aca48127.tar.gz diff --git a/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.mk b/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.mk index c279cbe7..a714fca9 100644 --- a/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.mk +++ b/bsp/buildroot/package/qt-webkit-kiosk/qt-webkit-kiosk.mk @@ -4,7 +4,7 @@ # ################################################################################ -QT_WEBKIT_KIOSK_VERSION = 34efddb0bf0c36c8652f90dcd001db123f286f04 +QT_WEBKIT_KIOSK_VERSION = a7720e50f2bd70aad99e0b465f5c4a57aca48127 QT_WEBKIT_KIOSK_SITE = https://github.com/sergey-dryabzhinsky/qt-webkit-kiosk.git QT_WEBKIT_KIOSK_SITE_METHOD = git QT_WEBKIT_KIOSK_DEPENDENCIES = qt5webkit qt5multimedia diff --git a/bsp/buildroot/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch b/bsp/buildroot/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch deleted file mode 100644 index 4cec4bde..00000000 --- a/bsp/buildroot/package/qt/0001-alsatest-fix-the-check-to-treat-alsalib-1.1.x-as-correct.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b8f98d956501dfa4ce03a137f15d404930a56066 Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Sat, 5 Mar 2016 10:25:33 +0300 -Subject: [PATCH] alsatest: Fix the check to treat alsalib 1.1.x as correct - version - -Task-number: QTBUG-51681 -Change-Id: I63266c33342f02f4d1a5ea5786f5fbc5a1b421b3 -Reviewed-by: Oswald Buddenhagen -[Upstream commit: https://github.com/qtproject/qtbase/commit/b8f98d956501dfa4ce03a137f15d404930a56066] -[Patch fixing ALSA detection. Taken from Qt5, but applies fine to Qt4.] -Signed-off-by: Thomas Petazzoni ---- - config.tests/unix/alsa/alsatest.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/config.tests/unix/alsa/alsatest.cpp b/config.tests/unix/alsa/alsatest.cpp -index cab6533977..0b45819b61 100644 ---- a/config.tests/unix/alsa/alsatest.cpp -+++ b/config.tests/unix/alsa/alsatest.cpp -@@ -32,7 +32,7 @@ - ****************************************************************************/ - - #include --#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10)) -+#if SND_LIB_VERSION < 0x1000a // 1.0.10 - #error "Alsa version found too old, require >= 1.0.10" - #endif - diff --git a/bsp/buildroot/package/qt/0002-configure.patch b/bsp/buildroot/package/qt/0002-configure.patch deleted file mode 100644 index 07c9630c..00000000 --- a/bsp/buildroot/package/qt/0002-configure.patch +++ /dev/null @@ -1,52 +0,0 @@ -Fix -hostprefix behaviour - -When -hostprefix ./configure option is used, Qt installs all its -headers, libraries and binaries inside the given host prefix, instead -of the prefix. This is used by Buildroot to make sure that all Qt -libraries and headers are installed in $(STAGING_DIR). - -Qt ./configure script also allows to tune the installation location of -various elements, for examples the plugins through the -plugindir -option. Unfortunately, this option only impact the installation path -on the target, but not on the host when -hostprefix is used. - -This patch modifies Qt ./configure script so that HOST_*PATH_STR -variables are composed of the host prefix concatenated with the path -of installation on the target. This way, the plugin installation local -in the $(STAGING_DIR) and on the target remains the same. - -Signed-off-by: Thomas Petazzoni - ---- - configure | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -Index: qt-everywhere-opensource-src-4.8.1/configure -=================================================================== ---- qt-everywhere-opensource-src-4.8.1.orig/configure -+++ qt-everywhere-opensource-src-4.8.1/configure -@@ -4661,15 +4661,15 @@ - - - if [ ! -z "$QT_HOST_PREFIX" ]; then -- HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX"` -- HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/doc"` -- HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/include"` -- HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/lib"` -- HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/bin"` -- HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/plugins"` -- HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/IMPORTS"` -- HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX"` -- HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/translations"` -+ HOSTPREFIX_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_prfxpath=$QT_HOST_PREFIX/$QT_INSTALL_PREFIX"` -+ HOSTDOCUMENTATION_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_docspath=$QT_HOST_PREFIX/$QT_INSTALL_DOCS"` -+ HOSTHEADERS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_hdrspath=$QT_HOST_PREFIX/$QT_INSTALL_HEADERS"` -+ HOSTLIBRARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_libspath=$QT_HOST_PREFIX/$QT_INSTALL_LIBS"` -+ HOSTBINARIES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_binspath=$QT_HOST_PREFIX/$QT_INSTALL_BINS"` -+ HOSTPLUGINS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_plugpath=$QT_HOST_PREFIX/$QT_INSTALL_PLUGINS"` -+ HOSTIMPORTS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_impspath=$QT_HOST_PREFIX/$QT_INSTALL_IMPORTS"` -+ HOSTDATA_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_datapath=$QT_HOST_PREFIX/$QT_INSTALL_DATA"` -+ HOSTTRANSLATIONS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_trnspath=$QT_HOST_PREFIX/$QT_INSTALL_TRANSLATIONS"` - HOSTSETTINGS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_stngpath=$QT_INSTALL_SETTINGS"` - HOSTEXAMPLES_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_xmplpath=$QT_INSTALL_EXAMPLES"` - HOSTDEMOS_PATH_STR=`"$relpath/config.tests/unix/padstring" 268 "qt_demopath=$QT_INSTALL_DEMOS"` diff --git a/bsp/buildroot/package/qt/0003-eglwsegl-use-system.patch b/bsp/buildroot/package/qt/0003-eglwsegl-use-system.patch deleted file mode 100644 index cb303813..00000000 --- a/bsp/buildroot/package/qt/0003-eglwsegl-use-system.patch +++ /dev/null @@ -1,802 +0,0 @@ -Patch to remove obsolete powervr headers and instead use the headers provided -on the system. - -Signed-off-by: Spenser Gilliland ---- -Index: qt-4.8.5/src/3rdparty/powervr/pvr2d.h -=================================================================== ---- qt-4.8.5.orig/src/3rdparty/powervr/pvr2d.h 2013-07-08 11:24:33.010516867 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,502 +0,0 @@ --/*!**************************************************************************** --@File pvr2d.h --@Title PVR2D external header file --@Author Imagination Technologies --@Copyright Copyright (c) by Imagination Technologies Limited. -- This specification is protected by copyright laws and contains -- material proprietary to Imagination Technologies Limited. -- You may use and distribute this specification free of charge for implementing -- the functionality therein, without altering or removing any trademark, copyright, -- or other notice from the specification. --@Platform Generic --@Description PVR2D definitions for PVR2D clients --******************************************************************************/ -- -- --/****************************************************************************** --Modifications :- --$Log: pvr2d.h $ --******************************************************************************/ -- --#ifndef _PVR2D_H_ --#define _PVR2D_H_ -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* PVR2D Platform-specific definitions */ --#define PVR2D_EXPORT --#define PVR2D_IMPORT -- -- --#define PVR2D_REV_MAJOR 2 --#define PVR2D_REV_MINOR 1 -- --typedef enum --{ -- PVR2D_FALSE = 0, -- PVR2D_TRUE --} PVR2D_BOOL; -- -- --/* error codes */ --typedef enum --{ -- PVR2D_OK = 0, -- PVR2DERROR_INVALID_PARAMETER = -1, -- PVR2DERROR_DEVICE_UNAVAILABLE = -2, -- PVR2DERROR_INVALID_CONTEXT = -3, -- PVR2DERROR_MEMORY_UNAVAILABLE = -4, -- PVR2DERROR_DEVICE_NOT_PRESENT = -5, -- PVR2DERROR_IOCTL_ERROR = -6, -- PVR2DERROR_GENERIC_ERROR = -7, -- PVR2DERROR_BLT_NOTCOMPLETE = -8, -- PVR2DERROR_HW_FEATURE_NOT_SUPPORTED = -9, -- PVR2DERROR_NOT_YET_IMPLEMENTED = -10, -- PVR2DERROR_MAPPING_FAILED = -11 --}PVR2DERROR; -- -- --/* pixel formats */ --typedef enum --{ -- PVR2D_1BPP = 0, -- PVR2D_RGB565, -- PVR2D_ARGB4444, -- PVR2D_RGB888, -- PVR2D_ARGB8888, -- PVR2D_ARGB1555, -- PVR2D_ALPHA8, -- PVR2D_ALPHA4, -- PVR2D_PAL2, -- PVR2D_PAL4, -- PVR2D_PAL8, -- PVR2D_VGAEMU -- --}PVR2DFORMAT; -- -- --/* wrap surface type */ --typedef enum --{ -- PVR2D_WRAPFLAG_NONCONTIGUOUS = 0, -- PVR2D_WRAPFLAG_CONTIGUOUS = 1, -- --}PVR2DWRAPFLAGS; -- --/* flags for control information of additional blits */ --typedef enum --{ -- PVR2D_BLIT_DISABLE_ALL = 0x0000, /* disable all additional controls */ -- PVR2D_BLIT_CK_ENABLE = 0x0001, /* enable colour key */ -- PVR2D_BLIT_GLOBAL_ALPHA_ENABLE = 0x0002, /* enable standard global alpha */ -- PVR2D_BLIT_PERPIXEL_ALPHABLEND_ENABLE = 0x0004, /* enable per-pixel alpha bleding */ -- PVR2D_BLIT_PAT_SURFACE_ENABLE = 0x0008, /* enable pattern surf (disable fill) */ -- PVR2D_BLIT_FULLY_SPECIFIED_ALPHA_ENABLE = 0x0010, /* enable fully specified alpha */ -- PVR2D_BLIT_ROT_90 = 0x0020, /* apply 90 degree rotation to the blt */ -- PVR2D_BLIT_ROT_180 = 0x0040, /* apply 180 degree rotation to the blt */ -- PVR2D_BLIT_ROT_270 = 0x0080, /* apply 270 degree rotation to the blt */ -- PVR2D_BLIT_COPYORDER_TL2BR = 0x0100, /* copy order overrides */ -- PVR2D_BLIT_COPYORDER_BR2TL = 0x0200, -- PVR2D_BLIT_COPYORDER_TR2BL = 0x0400, -- PVR2D_BLIT_COPYORDER_BL2TR = 0x0800, -- PVR2D_BLIT_COLKEY_SOURCE = 0x1000, /* Key colour is on the source surface */ -- PVR2D_BLIT_COLKEY_DEST = 0x2000 /* Key colour is on the destination surface */ -- --} PVR2DBLITFLAGS; -- --/* standard alpha-blending functions, AlphaBlendingFunc field of PVR2DBLTINFO */ --typedef enum --{ -- PVR2D_ALPHA_OP_SRC_DSTINV = 1, /* source alpha : Cdst = Csrc*Asrc + Cdst*(1-Asrc) */ -- PVR2D_ALPHA_OP_SRCP_DSTINV = 2 /* premultiplied source alpha : Cdst = Csrc + Cdst*(1-Asrc) */ --} PVR2D_ALPHABLENDFUNC; -- --/* blend ops for fully specified alpha */ --typedef enum --{ -- PVR2D_BLEND_OP_ZERO = 0, -- PVR2D_BLEND_OP_ONE = 1, -- PVR2D_BLEND_OP_SRC = 2, -- PVR2D_BLEND_OP_DST = 3, -- PVR2D_BLEND_OP_GLOBAL = 4, -- PVR2D_BLEND_OP_SRC_PLUS_GLOBAL = 5, -- PVR2D_BLEND_OP_DST_PLUS_GLOBAL = 6 --}PVR2D_BLEND_OP; -- -- --typedef void* PVR2D_HANDLE; -- -- --/* Fully specified alpha blend : pAlpha field of PVR2DBLTINFO structure */ --/* a fully specified Alpha Blend operation is defined as */ --/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (ALPHA_3 * DST (ALPHA)) */ --/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (ALPHA_4 * DST (RGB)) */ --/* if the pre-multiplication stage is enabled then the equations become the following: */ --/* PRE_MUL = ((SRC(A)) * (Global Alpha Value)) */ --/* DST (ALPHA) = (ALPHA_1 * SRC (ALPHA)) + (PRE_MUL * DST (ALPHA)) */ --/* DST (RGB) = (ALPHA_2 * SRC (RGB)) + (PRE_MUL * DST (RGB)) */ --/* if the transparent source alpha stage is enabled then a source alpha of zero forces the */ --/* source to be transparent for that pixel regardless of the blend equation being used. */ --typedef struct _PVR2D_ALPHABLT --{ -- PVR2D_BLEND_OP eAlpha1; -- PVR2D_BOOL bAlpha1Invert; -- PVR2D_BLEND_OP eAlpha2; -- PVR2D_BOOL bAlpha2Invert; -- PVR2D_BLEND_OP eAlpha3; -- PVR2D_BOOL bAlpha3Invert; -- PVR2D_BLEND_OP eAlpha4; -- PVR2D_BOOL bAlpha4Invert; -- PVR2D_BOOL bPremulAlpha; /* enable pre-multiplication stage */ -- PVR2D_BOOL bTransAlpha; /* enable transparent source alpha stage */ -- PVR2D_BOOL bUpdateAlphaLookup; /* enable and update the 1555-Lookup alpha table */ -- unsigned char uAlphaLookup0; /* 8 bit alpha when A=0 in a 1555-Lookup surface */ -- unsigned char uAlphaLookup1; /* 8 bit alpha when A=1 in a 1555-Lookup surface */ -- unsigned char uGlobalRGB; /* Global Alpha Value for RGB, 0=transparent 255=opaque */ -- unsigned char uGlobalA; /* Global Alpha Value for Alpha */ -- --} PVR2D_ALPHABLT, *PPVR2D_ALPHABLT; -- -- --/* surface memory info structure */ --typedef struct _PVR2DMEMINFO --{ -- void *pBase; -- unsigned long ui32MemSize; -- unsigned long ui32DevAddr; -- unsigned long ulFlags; -- void *hPrivateData; -- void *hPrivateMapData; -- --}PVR2DMEMINFO, *PPVR2DMEMINFO; -- -- --#define PVR2D_MAX_DEVICE_NAME 20 -- --typedef struct _PVR2DDEVICEINFO --{ -- unsigned long ulDevID; -- char szDeviceName[PVR2D_MAX_DEVICE_NAME]; --}PVR2DDEVICEINFO; -- -- --typedef struct _PVR2DISPLAYINFO --{ -- unsigned long ulMaxFlipChains; -- unsigned long ulMaxBuffersInChain; -- PVR2DFORMAT eFormat; -- unsigned long ulWidth; -- unsigned long ulHeight; -- long lStride; -- unsigned long ulMinFlipInterval; -- unsigned long ulMaxFlipInterval; -- --}PVR2DDISPLAYINFO; -- -- --typedef struct _PVR2DBLTINFO --{ -- unsigned long CopyCode; /* rop code */ -- unsigned long Colour; /* fill colour */ -- unsigned long ColourKey; /* colour key */ -- unsigned char GlobalAlphaValue; /* global alpha blending */ -- unsigned char AlphaBlendingFunc; /* per-pixel alpha-blending function */ -- -- PVR2DBLITFLAGS BlitFlags; /* additional blit control information */ -- -- PVR2DMEMINFO *pDstMemInfo; /* destination memory */ -- unsigned long DstOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ -- long DstStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long DstX, DstY; /* pixel offset from start of dest surface to start of blt rectangle */ -- long DSizeX,DSizeY; /* blt size */ -- PVR2DFORMAT DstFormat; /* dest format */ -- unsigned long DstSurfWidth; /* size of dest surface in pixels */ -- unsigned long DstSurfHeight; /* size of dest surface in pixels */ -- -- PVR2DMEMINFO *pSrcMemInfo; /* source mem, (source fields are also used for patterns) */ -- unsigned long SrcOffset; /* byte offset from start of allocation to src/pat surface pixel 0,0 */ -- long SrcStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long SrcX, SrcY; /* pixel offset from start of surface to start of source rectangle */ -- /* for patterns this is the start offset within the pattern */ -- long SizeX,SizeY; /* source rectangle size or pattern size in pixels */ -- PVR2DFORMAT SrcFormat; /* source/pattern format */ -- PVR2DMEMINFO *pPalMemInfo; /* source/pattern palette memory containing argb8888 colour table */ -- unsigned long PalOffset; /* byte offset from start of allocation to start of palette */ -- unsigned long SrcSurfWidth; /* size of source surface in pixels */ -- unsigned long SrcSurfHeight; /* size of source surface in pixels */ -- -- PVR2DMEMINFO *pMaskMemInfo; /* mask memory, 1bpp format implied */ -- unsigned long MaskOffset; /* byte offset from start of allocation to mask surface pixel 0,0 */ -- long MaskStride; /* signed stride, the number of bytes from pixel 0,0 to 0,1 */ -- long MaskX, MaskY; /* mask rect top left (mask size = blt size) */ -- unsigned long MaskSurfWidth; /* size of mask surface in pixels */ -- unsigned long MaskSurfHeight; /* size of mask surface in pixels */ -- -- PPVR2D_ALPHABLT pAlpha; /* fully specified alpha blend */ -- --}PVR2DBLTINFO, *PPVR2DBLTINFO; -- --typedef struct _PVR2DRECT --{ -- long left, top; -- long right, bottom; --} PVR2DRECT; -- --typedef struct --{ -- PVR2DMEMINFO *pSurfMemInfo; /* surface memory */ -- unsigned long SurfOffset; /* byte offset from start of allocation to destination surface pixel 0,0 */ -- long Stride; /* signed stride */ -- PVR2DFORMAT Format; -- unsigned long SurfWidth; /* surface size in pixels */ -- unsigned long SurfHeight; -- --} PVR2D_SURFACE, *PPVR2D_SURFACE; -- --typedef struct --{ -- unsigned long *pUseCode; /* USSE code */ -- unsigned long UseCodeSize; /* usse code size in bytes */ -- --} PVR2D_USECODE, *PPVR2D_USECODE; -- --typedef struct --{ -- PVR2D_SURFACE sDst; /* destination surface */ -- PVR2D_SURFACE sSrc; /* source surface */ -- PVR2DRECT rcDest; /* destination rectangle */ -- PVR2DRECT rcSource; /* source rectangle */ -- PVR2D_HANDLE hUseCode; /* custom USE code (NULL implies source copy) */ -- unsigned long UseParams[2]; /* per-blt params for use code */ -- --} PVR2D_3DBLT, *PPVR2D_3DBLT; -- -- --#define MAKE_COPY_BLIT(src,soff,dest,doff,sx,sy,dx,dy,sz) -- --typedef void* PVR2DCONTEXTHANDLE; --typedef void* PVR2DFLIPCHAINHANDLE; -- -- --// CopyCode field of PVR2DBLTINFO structure: --// the CopyCode field of the PVR2DBLTINFO structure should contain a rop3 or rop4 code. --// a rop3 is an 8 bit code that describes a blt with three inputs : source dest and pattern --// rop4 is a 16 bit code that describes a blt with four inputs : source dest pattern and mask --// common rop3 codes are defined below --// a colour fill blt is processed in the pattern channel as a constant colour with a rop code of 0xF0 --// PVR2D_BLIT_PAT_SURFACE_ENABLE defines whether the pattern channel is a surface or a fill colour. --// a rop4 is defined by two rop3 codes, and the 1 bit-per-pixel mask surface defines which is used. --// a common rop4 is 0xAAF0 which is the mask copy blt used for text glyphs. --// CopyCode is taken to be a rop4 when pMaskMemInfo is non zero, otherwise it is assumed to be a rop3 --// use the PVR2DMASKROP4 macro below to construct a rop4 from two rop3's --// rop3a is the rop used when mask pixel = 1, and rop3b when mask = 0 --#define PVR2DROP4(rop3b, rop3a) ((rop3b<<8)|rop3a) -- --/* common rop codes */ --#define PVR2DROPclear 0x00 /* 0 (whiteness) */ --#define PVR2DROPset 0xFF /* 1 (blackness) */ --#define PVR2DROPnoop 0xAA /* dst (used for masked blts) */ -- --/* source and dest rop codes */ --#define PVR2DROPand 0x88 /* src AND dst */ --#define PVR2DROPandReverse 0x44 /* src AND NOT dst */ --#define PVR2DROPcopy 0xCC /* src (used for source copy and alpha blts) */ --#define PVR2DROPandInverted 0x22 /* NOT src AND dst */ --#define PVR2DROPxor 0x66 /* src XOR dst */ --#define PVR2DROPor 0xEE /* src OR dst */ --#define PVR2DROPnor 0x11 /* NOT src AND NOT dst */ --#define PVR2DROPequiv 0x99 /* NOT src XOR dst */ --#define PVR2DROPinvert 0x55 /* NOT dst */ --#define PVR2DROPorReverse 0xDD /* src OR NOT dst */ --#define PVR2DROPcopyInverted 0x33 /* NOT src */ --#define PVR2DROPorInverted 0xBB /* NOT src OR dst */ --#define PVR2DROPnand 0x77 /* NOT src OR NOT dst */ -- --/* pattern rop codes */ --#define PVR2DPATROPand 0xA0 /* pat AND dst */ --#define PVR2DPATROPandReverse 0x50 /* pat AND NOT dst */ --#define PVR2DPATROPcopy 0xF0 /* pat (used for solid color fills and pattern blts) */ --#define PVR2DPATROPandInverted 0x0A /* NOT pat AND dst */ --#define PVR2DPATROPxor 0x5A /* pat XOR dst */ --#define PVR2DPATROPor 0xFA /* pat OR dst */ --#define PVR2DPATROPnor 0x05 /* NOT pat AND NOT dst */ --#define PVR2DPATROPequiv 0xA5 /* NOT pat XOR dst */ --#define PVR2DPATROPinvert 0x55 /* NOT dst */ --#define PVR2DPATROPorReverse 0xF5 /* pat OR NOT dst */ --#define PVR2DPATROPcopyInverted 0x0F /* NOT pat */ --#define PVR2DPATROPorInverted 0xAF /* NOT pat OR dst */ --#define PVR2DPATROPnand 0x5F /* NOT pat OR NOT dst */ -- --/* common rop4 codes */ --#define PVR2DROP4MaskedCopy PVR2DROP4(PVR2DROPnoop,PVR2DROPcopy) /* masked source copy blt (used for rounded window corners etc) */ --#define PVR2DROP4MaskedFill PVR2DROP4(PVR2DROPnoop,PVR2DPATROPcopy) /* masked colour fill blt (used for text) */ -- --/* Legacy support */ --#define PVR2DROP3_PATMASK PVR2DPATROPcopy --#define PVR2DROP3_SRCMASK PVR2DROPcopy -- --/* pixmap memory alignment */ --#define PVR2D_ALIGNMENT_4 4 /* DWORD alignment */ --#define PVR2D_ALIGNMENT_ANY 0 /* no alignment */ --#define PVR2D_ALIGNMENT_PALETTE 16 /* 16 byte alignment is required for palettes */ -- --/* Heap number for PVR2DGetFrameBuffer */ --#define PVR2D_FB_PRIMARY_SURFACE 0 -- --#define PVR2D_PRESENT_PROPERTY_SRCSTRIDE (1 << 0) --#define PVR2D_PRESENT_PROPERTY_DSTSIZE (1 << 1) --#define PVR2D_PRESENT_PROPERTY_DSTPOS (1 << 2) --#define PVR2D_PRESENT_PROPERTY_CLIPRECTS (1 << 3) --#define PVR2D_PRESENT_PROPERTY_INTERVAL (1 << 4) -- -- --#define PVR2D_CREATE_FLIPCHAIN_SHARED (1 << 0) --#define PVR2D_CREATE_FLIPCHAIN_QUERY (1 << 1) -- --/* Functions that the library exports */ -- --PVR2D_IMPORT --int PVR2DEnumerateDevices(PVR2DDEVICEINFO *pDevInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DCreateDeviceContext(unsigned long ulDevID, -- PVR2DCONTEXTHANDLE* phContext, -- unsigned long ulFlags); -- --PVR2D_IMPORT --PVR2DERROR PVR2DDestroyDeviceContext(PVR2DCONTEXTHANDLE hContext); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetDeviceInfo(PVR2DCONTEXTHANDLE hContext, -- PVR2DDISPLAYINFO *pDisplayInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetScreenMode(PVR2DCONTEXTHANDLE hContext, -- PVR2DFORMAT *pFormat, -- long *plWidth, -- long *plHeight, -- long *plStride, -- int *piRefreshRate); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetFrameBuffer(PVR2DCONTEXTHANDLE hContext, -- int nHeap, -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemAlloc(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulBytes, -- unsigned long ulAlign, -- unsigned long ulFlags, -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemWrap(PVR2DCONTEXTHANDLE hContext, -- void *pMem, -- unsigned long ulFlags, -- unsigned long ulBytes, -- unsigned long alPageAddress[], -- PVR2DMEMINFO **ppsMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemMap(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulFlags, -- void *hPrivateMapData, -- PVR2DMEMINFO **ppsDstMem); -- --PVR2D_IMPORT --PVR2DERROR PVR2DMemFree(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *psMemInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBlt(PVR2DCONTEXTHANDLE hContext, -- PVR2DBLTINFO *pBltInfo); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBltClipped(PVR2DCONTEXTHANDLE hContext, -- PVR2DBLTINFO *pBltInfo, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects); -- --PVR2D_IMPORT --PVR2DERROR PVR2DQueryBlitsComplete(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *pMemInfo, -- unsigned int uiWaitForComplete); -- --PVR2D_IMPORT --PVR2DERROR PVR2DSetPresentBltProperties(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulPropertyMask, -- long lSrcStride, -- unsigned long ulDstWidth, -- unsigned long ulDstHeight, -- long lDstXPos, -- long lDstYPos, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects, -- unsigned long ulSwapInterval); -- --PVR2D_IMPORT --PVR2DERROR PVR2DPresentBlt(PVR2DCONTEXTHANDLE hContext, -- PVR2DMEMINFO *pMemInfo, -- long lRenderID); -- --PVR2D_IMPORT --PVR2DERROR PVR2DCreateFlipChain(PVR2DCONTEXTHANDLE hContext, -- unsigned long ulFlags, -- unsigned long ulNumBuffers, -- unsigned long ulWidth, -- unsigned long ulHeight, -- PVR2DFORMAT eFormat, -- long *plStride, -- unsigned long *pulFlipChainID, -- PVR2DFLIPCHAINHANDLE *phFlipChain); -- --PVR2D_IMPORT --PVR2DERROR PVR2DDestroyFlipChain(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetFlipChainBuffers(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- unsigned long *pulNumBuffers, -- PVR2DMEMINFO *psMemInfo[]); -- --PVR2D_IMPORT --PVR2DERROR PVR2DSetPresentFlipProperties(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- unsigned long ulPropertyMask, -- long lDstXPos, -- long lDstYPos, -- unsigned long ulNumClipRects, -- PVR2DRECT *pClipRects, -- unsigned long ulSwapInterval); -- --PVR2D_IMPORT --PVR2DERROR PVR2DPresentFlip(PVR2DCONTEXTHANDLE hContext, -- PVR2DFLIPCHAINHANDLE hFlipChain, -- PVR2DMEMINFO *psMemInfo, -- long lRenderID); -- --PVR2D_IMPORT --PVR2DERROR PVR2DGetAPIRev(long *lRevMajor, long *lRevMinor); -- --PVR2D_IMPORT --PVR2DERROR PVR2DLoadUseCode (const PVR2DCONTEXTHANDLE hContext, const unsigned char *pUseCode, -- const unsigned long UseCodeSize, PVR2D_HANDLE *pUseCodeHandle); --PVR2D_IMPORT --PVR2DERROR PVR2DFreeUseCode (const PVR2DCONTEXTHANDLE hContext, const PVR2D_HANDLE hUseCodeHandle); -- --PVR2D_IMPORT --PVR2DERROR PVR2DBlt3D (const PVR2DCONTEXTHANDLE hContext, const PPVR2D_3DBLT pBlt3D); -- --#ifdef __cplusplus --} --#endif -- --#endif /* _PVR2D_H_ */ -- --/****************************************************************************** -- End of file (pvr2d.h) --******************************************************************************/ -Index: qt-4.8.5/src/3rdparty/powervr/wsegl.h -=================================================================== ---- qt-4.8.5.orig/src/3rdparty/powervr/wsegl.h 2013-07-08 11:24:33.010516867 -0500 -+++ /dev/null 1970-01-01 00:00:00.000000000 +0000 -@@ -1,240 +0,0 @@ --/****************************************************************************** -- Name : wsegl.h -- Copyright : Copyright (c) Imagination Technologies Limited. -- This specification is protected by copyright laws and contains -- material proprietary to Imagination Technologies Limited. -- You may use and distribute this specification free of charge for implementing -- the functionality therein, without altering or removing any trademark, copyright, -- or other notice from the specification. -- Platform : ANSI --*****************************************************************************/ -- -- --#if !defined(__WSEGL_H__) --#define __WSEGL_H__ -- --#ifdef __cplusplus --extern "C" { --#endif -- --/* --// WSEGL Platform-specific definitions --*/ --#define WSEGL_EXPORT --#define WSEGL_IMPORT -- --/* --// WSEGL API Version Number --*/ -- --#define WSEGL_VERSION 1 --#define WSEGL_DEFAULT_DISPLAY 0 --#define WSEGL_DEFAULT_NATIVE_ENGINE 0 -- --#define WSEGL_FALSE 0 --#define WSEGL_TRUE 1 --#define WSEGL_NULL 0 -- --#define WSEGL_UNREFERENCED_PARAMETER(param) (param) = (param) -- --/* --// WSEGL handles --*/ --typedef void *WSEGLDisplayHandle; --typedef void *WSEGLDrawableHandle; -- --/* --// Display capability type --*/ --typedef enum WSEGLCapsType_TAG --{ -- WSEGL_NO_CAPS = 0, -- WSEGL_CAP_MIN_SWAP_INTERVAL = 1, /* System default value = 1 */ -- WSEGL_CAP_MAX_SWAP_INTERVAL = 2, /* System default value = 1 */ -- WSEGL_CAP_WINDOWS_USE_HW_SYNC = 3, /* System default value = 0 (FALSE) */ -- WSEGL_CAP_PIXMAPS_USE_HW_SYNC = 4, /* System default value = 0 (FALSE) */ -- --} WSEGLCapsType; -- --/* --// Display capability --*/ --typedef struct WSEGLCaps_TAG --{ -- WSEGLCapsType eCapsType; -- unsigned long ui32CapsValue; -- --} WSEGLCaps; -- --/* --// Drawable type --*/ --#define WSEGL_NO_DRAWABLE 0x0 --#define WSEGL_DRAWABLE_WINDOW 0x1 --#define WSEGL_DRAWABLE_PIXMAP 0x2 -- -- --/* --// Pixel format of display/drawable --*/ --typedef enum WSEGLPixelFormat_TAG --{ -- WSEGL_PIXELFORMAT_565 = 0, -- WSEGL_PIXELFORMAT_4444 = 1, -- WSEGL_PIXELFORMAT_8888 = 2, -- WSEGL_PIXELFORMAT_1555 = 3 -- --} WSEGLPixelFormat; -- --/* --// Transparent of display/drawable --*/ --typedef enum WSEGLTransparentType_TAG --{ -- WSEGL_OPAQUE = 0, -- WSEGL_COLOR_KEY = 1, -- --} WSEGLTransparentType; -- --/* --// Display/drawable configuration --*/ --typedef struct WSEGLConfig_TAG --{ -- /* -- // Type of drawables this configuration applies to - -- // OR'd values of drawable types. -- */ -- unsigned long ui32DrawableType; -- -- /* Pixel format */ -- WSEGLPixelFormat ePixelFormat; -- -- /* Native Renderable - set to WSEGL_TRUE if native renderable */ -- unsigned long ulNativeRenderable; -- -- /* FrameBuffer Level Parameter */ -- unsigned long ulFrameBufferLevel; -- -- /* Native Visual ID */ -- unsigned long ulNativeVisualID; -- -- /* Native Visual */ -- void *hNativeVisual; -- -- /* Transparent Type */ -- WSEGLTransparentType eTransparentType; -- -- /* Transparent Color - only used if transparent type is COLOR_KEY */ -- unsigned long ulTransparentColor; /* packed as 0x00RRGGBB */ -- -- --} WSEGLConfig; -- --/* --// WSEGL errors --*/ --typedef enum WSEGLError_TAG --{ -- WSEGL_SUCCESS = 0, -- WSEGL_CANNOT_INITIALISE = 1, -- WSEGL_BAD_NATIVE_DISPLAY = 2, -- WSEGL_BAD_NATIVE_WINDOW = 3, -- WSEGL_BAD_NATIVE_PIXMAP = 4, -- WSEGL_BAD_NATIVE_ENGINE = 5, -- WSEGL_BAD_DRAWABLE = 6, -- WSEGL_BAD_CONFIG = 7, -- WSEGL_OUT_OF_MEMORY = 8 -- --} WSEGLError; -- --/* --// Drawable orientation (in degrees anti-clockwise) --*/ --typedef enum WSEGLRotationAngle_TAG --{ -- WSEGL_ROTATE_0 = 0, -- WSEGL_ROTATE_90 = 1, -- WSEGL_ROTATE_180 = 2, -- WSEGL_ROTATE_270 = 3 -- --} WSEGLRotationAngle; -- --/* --// Drawable information required by OpenGL-ES driver --*/ --typedef struct WSEGLDrawableParams_TAG --{ -- /* Width in pixels of the drawable */ -- unsigned long ui32Width; -- -- /* Height in pixels of the drawable */ -- unsigned long ui32Height; -- -- /* Stride in pixels of the drawable */ -- unsigned long ui32Stride; -- -- /* Pixel format of the drawable */ -- WSEGLPixelFormat ePixelFormat; -- -- /* User space cpu virtual address of the drawable */ -- void *pvLinearAddress; -- -- /* HW address of the drawable */ -- unsigned long ui32HWAddress; -- -- /* Private data for the drawable */ -- void *hPrivateData; -- --} WSEGLDrawableParams; -- -- --/* --// Table of function pointers that is returned by WSEGL_GetFunctionTablePointer() --// --// The first entry in the table is the version number of the wsegl.h header file that --// the module has been written against, and should therefore be set to WSEGL_VERSION --*/ --typedef struct WSEGL_FunctionTable_TAG --{ -- unsigned long ui32WSEGLVersion; -- -- WSEGLError (*pfnWSEGL_IsDisplayValid)(NativeDisplayType); -- -- WSEGLError (*pfnWSEGL_InitialiseDisplay)(NativeDisplayType, WSEGLDisplayHandle *, const WSEGLCaps **, WSEGLConfig **); -- -- WSEGLError (*pfnWSEGL_CloseDisplay)(WSEGLDisplayHandle); -- -- WSEGLError (*pfnWSEGL_CreateWindowDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativeWindowType, WSEGLRotationAngle *); -- -- WSEGLError (*pfnWSEGL_CreatePixmapDrawable)(WSEGLDisplayHandle, WSEGLConfig *, WSEGLDrawableHandle *, NativePixmapType, WSEGLRotationAngle *); -- -- WSEGLError (*pfnWSEGL_DeleteDrawable)(WSEGLDrawableHandle); -- -- WSEGLError (*pfnWSEGL_SwapDrawable)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_SwapControlInterval)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_WaitNative)(WSEGLDrawableHandle, unsigned long); -- -- WSEGLError (*pfnWSEGL_CopyFromDrawable)(WSEGLDrawableHandle, NativePixmapType); -- -- WSEGLError (*pfnWSEGL_CopyFromPBuffer)(void *, unsigned long, unsigned long, unsigned long, WSEGLPixelFormat, NativePixmapType); -- -- WSEGLError (*pfnWSEGL_GetDrawableParameters)(WSEGLDrawableHandle, WSEGLDrawableParams *, WSEGLDrawableParams *); -- -- --} WSEGL_FunctionTable; -- -- --WSEGL_IMPORT const WSEGL_FunctionTable *WSEGL_GetFunctionTablePointer(void); -- --#ifdef __cplusplus --} --#endif -- --#endif /* __WSEGL_H__ */ -- --/****************************************************************************** -- End of file (wsegl.h) --******************************************************************************/ -Index: qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c -=================================================================== ---- qt-4.8.5.orig/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:24:33.010516867 -0500 -+++ qt-4.8.5/src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c 2013-07-08 11:28:26.142521123 -0500 -@@ -39,7 +39,7 @@ - ** - ****************************************************************************/ - --#include -+#include - #include - #include - #include -@@ -379,6 +379,20 @@ - return WSEGL_SUCCESS; - } - -+/* Function stub for ConnectDrawable() */ -+static WSEGLError wseglConnectDrawable(WSEGLDrawableHandle hDrawable) -+{ -+ WSEGL_UNREFERENCED_PARAMETER(hDrawable); -+ return WSEGL_SUCCESS; -+} -+ -+/* Function stub for DisconnectDrawable() */ -+static WSEGLError wseglDisconnectDrawable(WSEGLDrawableHandle hDrawable) -+{ -+ WSEGL_UNREFERENCED_PARAMETER(hDrawable); -+ return WSEGL_SUCCESS; -+} -+ - static WSEGL_FunctionTable const wseglFunctions = { - WSEGL_VERSION, - wseglIsDisplayValid, -@@ -392,7 +406,9 @@ - wseglWaitNative, - wseglCopyFromDrawable, - wseglCopyFromPBuffer, -- wseglGetDrawableParameters -+ wseglGetDrawableParameters, -+ wseglConnectDrawable, -+ wseglDisconnectDrawable - }; - - /* Return the table of WSEGL functions to the EGL implementation */ diff --git a/bsp/buildroot/package/qt/0004-fix-const-atomics.patch b/bsp/buildroot/package/qt/0004-fix-const-atomics.patch deleted file mode 100644 index 64853565..00000000 --- a/bsp/buildroot/package/qt/0004-fix-const-atomics.patch +++ /dev/null @@ -1,50 +0,0 @@ -From d4d07dac01796b2aa0fb501c14865cab7e42b3a9 Mon Sep 17 00:00:00 2001 -From: Mischa Jonker -Date: Sun, 4 Nov 2012 11:42:04 +0100 -Subject: [PATCH] Fix const-related build error in generic atomic ops - -It's still not entirely const-correct though. In all other architectures -this is obfuscated through the use of inline asm (which the compiler -doesn't check). This patch obfuscates through const_cast ---- - src/corelib/arch/generic/qatomic_generic_unix.cpp | 8 ++++---- - src/corelib/arch/qatomic_generic.h | 2 +- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/corelib/arch/generic/qatomic_generic_unix.cpp b/src/corelib/arch/generic/qatomic_generic_unix.cpp -index 1c6cbf0..6fce81d 100644 ---- a/src/corelib/arch/generic/qatomic_generic_unix.cpp -+++ b/src/corelib/arch/generic/qatomic_generic_unix.cpp -@@ -85,13 +85,13 @@ int QBasicAtomicInt_fetchAndAddOrdered(volatile int *_q_value, int valueToAdd) - - Q_CORE_EXPORT - bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *_q_value, -- void *expectedValue, -- void *newValue) -+ const void *expectedValue, -+ const void *newValue) - { - bool returnValue = false; - pthread_mutex_lock(&qAtomicMutex); - if (*_q_value == expectedValue) { -- *_q_value = newValue; -+ *_q_value = const_cast(newValue); - returnValue = true; - } - pthread_mutex_unlock(&qAtomicMutex); -diff --git a/src/corelib/arch/qatomic_generic.h b/src/corelib/arch/qatomic_generic.h -index 621a767..4c14679 100644 ---- a/src/corelib/arch/qatomic_generic.h -+++ b/src/corelib/arch/qatomic_generic.h -@@ -105,7 +105,7 @@ Q_CORE_EXPORT bool QBasicAtomicInt_testAndSetOrdered(volatile int *, int, int); - Q_CORE_EXPORT int QBasicAtomicInt_fetchAndStoreOrdered(volatile int *, int); - Q_CORE_EXPORT int QBasicAtomicInt_fetchAndAddOrdered(volatile int *, int); - --Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, void *, void *); -+Q_CORE_EXPORT bool QBasicAtomicPointer_testAndSetOrdered(void * volatile *, const void *, const void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndStoreOrdered(void * volatile *, void *); - Q_CORE_EXPORT void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *, qptrdiff); - --- -1.7.0.4 - diff --git a/bsp/buildroot/package/qt/0005-pthread_getattr_np.patch b/bsp/buildroot/package/qt/0005-pthread_getattr_np.patch deleted file mode 100644 index 28f0c841..00000000 --- a/bsp/buildroot/package/qt/0005-pthread_getattr_np.patch +++ /dev/null @@ -1,107 +0,0 @@ -Add pthred_getattr_np / phread_attr_getstrack alternatives for uClibc - -Based on https://dev.openwrt.org/log/packages/Xorg/lib/qt4/patches/100-fix-webkit-for-uclibc.patch?rev=20371 - -Signed-off-by: Johan Sagaert ---- - src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp | 61 ++++++++++ - 1 file changed, 61 insertions(+) - -Index: qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -=================================================================== ---- qt-everywhere-opensource-src-4.8.1.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -+++ qt-everywhere-opensource-src-4.8.1/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Collector.cpp -@@ -70,6 +70,23 @@ - #endif - #include - -+#if defined(QT_LINUXBASE) -+#include -+#endif -+ -+#if defined(__UCLIBC__) -+// versions of uClibc 0.9.32 and below with linuxthreads.old do not have -+// pthread_getattr_np or pthread_attr_getstack. -+#if __UCLIBC_MAJOR__ == 0 && \ -+ (__UCLIBC_MINOR__ < 9 || \ -+ (__UCLIBC_MINOR__ == 9 && __UCLIBC_SUBLEVEL__ <= 32)) && \ -+ defined(__LINUXTHREADS_OLD__) -+#define UCLIBC_USE_PROC_SELF_MAPS 1 -+#include -+extern int *__libc_stack_end; -+#endif -+#endif -+ - #if OS(SOLARIS) - #include - #else -@@ -648,6 +665,37 @@ - get_thread_info(find_thread(NULL), &threadInfo); - return threadInfo.stack_end; - #elif OS(UNIX) -+#ifdef UCLIBC_USE_PROC_SELF_MAPS -+ // Read /proc/self/maps and locate the line whose address -+ // range contains __libc_stack_end. -+ FILE *file = fopen("/proc/self/maps", "r"); -+ if (!file) -+ return 0; -+ __fsetlocking(file, FSETLOCKING_BYCALLER); -+ char *line = NULL; -+ size_t lineLen = 0; -+ while (!feof_unlocked(file)) { -+ if (getdelim(&line, &lineLen, '\n', file) <= 0) -+ break; -+ -+ long from; -+ long to; -+ if (sscanf (line, "%lx-%lx", &from, &to) != 2) -+ continue; -+ if (from <= (long)__libc_stack_end && (long)__libc_stack_end < to) { -+ fclose(file); -+ free(line); -+#ifdef _STACK_GROWS_UP -+ return (void *)from; -+#else -+ return (void *)to; -+#endif -+ } -+ } -+ fclose(file); -+ free(line); -+ return 0; -+#else - AtomicallyInitializedStatic(Mutex&, mutex = *new Mutex); - MutexLocker locker(mutex); - static void* stackBase = 0; -@@ -655,11 +703,23 @@ - static pthread_t stackThread; - pthread_t thread = pthread_self(); - if (stackBase == 0 || thread != stackThread) { -+ -+#if defined(QT_LINUXBASE) -+ // LinuxBase is missing pthread_getattr_np - resolve it once at runtime instead -+ // see http://bugs.linuxbase.org/show_bug.cgi?id=2364 -+ typedef int (*GetAttrPtr)(pthread_t, pthread_attr_t *); -+ static int (*pthread_getattr_np_ptr)(pthread_t, pthread_attr_t *) = 0; -+ if (!pthread_getattr_np_ptr) -+ *(void **)&pthread_getattr_np_ptr = dlsym(RTLD_DEFAULT, "pthread_getattr_np"); -+#endif - pthread_attr_t sattr; - pthread_attr_init(&sattr); - #if HAVE(PTHREAD_NP_H) || OS(NETBSD) - // e.g. on FreeBSD 5.4, neundorf@kde.org - pthread_attr_get_np(thread, &sattr); -+#elif defined(QT_LINUXBASE) -+ if (pthread_getattr_np_ptr) -+ pthread_getattr_np_ptr(thread, &sattr); - #else - // FIXME: this function is non-portable; other POSIX systems may have different np alternatives - pthread_getattr_np(thread, &sattr); -@@ -671,6 +731,7 @@ - stackThread = thread; - } - return static_cast(stackBase) + stackSize; -+#endif - #else - #error Need a way to get the stack base on this platform - #endif diff --git a/bsp/buildroot/package/qt/0006-script-qtdbus-no-gui.patch b/bsp/buildroot/package/qt/0006-script-qtdbus-no-gui.patch deleted file mode 100644 index e29e9e4a..00000000 --- a/bsp/buildroot/package/qt/0006-script-qtdbus-no-gui.patch +++ /dev/null @@ -1,22 +0,0 @@ -[PATCH] fix build with script+dbus enabled, but no gui - -The script/qtdbus plugin doesn't need gui support, so don't try to -link it against libQtGui. - -Signed-off-by: Peter Korsgaard ---- - src/plugins/script/qtdbus/qtdbus.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro -=================================================================== ---- qt-4.7.3.orig/src/plugins/script/qtdbus/qtdbus.pro -+++ qt-4.7.3/src/plugins/script/qtdbus/qtdbus.pro -@@ -1,6 +1,6 @@ - TARGET = qtscriptdbus - include(../../qpluginbase.pri) --QT = core gui script -+QT = core script - CONFIG += qdbus - - SOURCES += main.cpp diff --git a/bsp/buildroot/package/qt/0007-Add-initial-support-of-ARC-architecture.patch b/bsp/buildroot/package/qt/0007-Add-initial-support-of-ARC-architecture.patch deleted file mode 100644 index 4470d3b0..00000000 --- a/bsp/buildroot/package/qt/0007-Add-initial-support-of-ARC-architecture.patch +++ /dev/null @@ -1,183 +0,0 @@ -From a695eec2ef21240bbc6cd8cd1bdbab76f8da8dfd Mon Sep 17 00:00:00 2001 -From: Vineet Gupta -Date: Wed, 20 May 2015 10:37:25 +0300 -Subject: [PATCH 1/2] Add initial support of ARC architecture - -DesignWare ARC 700 and ARC HS38 are families of 32-bit CPUs -developed by Synopsys, Inc. - -This change implements following: - [1] Defines ARC as one embedded targets - [2] Defines default tools prefixed for ARC like - arc-linux-g++ etc - [3] Defines "inotify" syscall numbers for ARC - (note ARC fully compliant to Linux UAPI headers) - [4] Disables 16-bit aligned data access - -For now we're using generic atomic ops even though it may -introduce performance panalty. - -Change-Id: I91e879ac55c2f3643a544f97cd59671a81ccc3c2 - -This patch was submited in upstream Qt4 and if it ever gets accepted, -it should be removed from Buildroot. - -https://codereview.qt-project.org/#/c/112667 ---- - configure | 6 ++++ - mkspecs/qws/linux-arc-g++/qmake.conf | 21 ++++++++++++++ - mkspecs/qws/linux-arc-g++/qplatformdefs.h | 42 +++++++++++++++++++++++++++ - src/corelib/arch/qatomic_arch.h | 2 ++ - src/corelib/io/qfilesystemwatcher_inotify.cpp | 5 ++++ - src/gui/painting/qblendfunctions.cpp | 4 +-- - 6 files changed, 78 insertions(+), 2 deletions(-) - create mode 100644 mkspecs/qws/linux-arc-g++/qmake.conf - create mode 100644 mkspecs/qws/linux-arc-g++/qplatformdefs.h - -diff --git a/configure b/configure -index 10ad7ca..c7ef074 100755 ---- a/configure -+++ b/configure -@@ -2829,6 +2829,9 @@ if [ "$CFG_EMBEDDED" != "no" ]; then - *86_64) - CFG_EMBEDDED=x86_64 - ;; -+ *arc) -+ CFG_EMBEDDED=arc -+ ;; - *) - CFG_EMBEDDED=generic - ;; -@@ -3309,6 +3312,9 @@ if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then - arm*) - CFG_ARCH=arm - ;; -+ arc) -+ CFG_ARCH=arc -+ ;; - *) - CFG_ARCH="$CFG_EMBEDDED" - ;; -diff --git a/mkspecs/qws/linux-arc-g++/qmake.conf b/mkspecs/qws/linux-arc-g++/qmake.conf -new file mode 100644 -index 0000000..a14587b ---- /dev/null -+++ b/mkspecs/qws/linux-arc-g++/qmake.conf -@@ -0,0 +1,21 @@ -+# -+# qmake configuration for building with arc-linux-g++ -+# -+ -+include(../../common/linux.conf) -+include(../../common/gcc-base-unix.conf) -+include(../../common/g++-unix.conf) -+include(../../common/qws.conf) -+ -+# modifications to g++.conf -+QMAKE_CC = arc-linux-gcc -+QMAKE_CXX = arc-linux-g++ -+QMAKE_LINK = arc-linux-g++ -+QMAKE_LINK_SHLIB = arc-linux-g++ -+ -+# modifications to linux.conf -+QMAKE_AR = arc-linux-ar cqs -+QMAKE_OBJCOPY = arc-linux-objcopy -+QMAKE_STRIP = arc-linux-strip -+ -+load(qt_config) -diff --git a/mkspecs/qws/linux-arc-g++/qplatformdefs.h b/mkspecs/qws/linux-arc-g++/qplatformdefs.h -new file mode 100644 -index 0000000..a654aa7 ---- /dev/null -+++ b/mkspecs/qws/linux-arc-g++/qplatformdefs.h -@@ -0,0 +1,42 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include "../../linux-g++/qplatformdefs.h" -diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h -index d154b7e..a48c42a 100644 ---- a/src/corelib/arch/qatomic_arch.h -+++ b/src/corelib/arch/qatomic_arch.h -@@ -94,6 +94,8 @@ QT_BEGIN_HEADER - # include "QtCore/qatomic_sh4a.h" - #elif defined(QT_ARCH_NACL) - # include "QtCore/qatomic_generic.h" -+#elif defined(QT_ARCH_ARC) -+# include "QtCore/qatomic_generic.h" - #else - # error "Qt has not been ported to this architecture" - #endif -diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp -index 8bca422..e3e2565 100644 ---- a/src/corelib/io/qfilesystemwatcher_inotify.cpp -+++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp -@@ -143,6 +143,11 @@ - # define __NR_inotify_add_watch 27 - # define __NR_inotify_rm_watch 28 - // no inotify_init for aarch64 -+#elif defined (__arc__) -+# define __NR_inotify_init 1043 -+# define __NR_inotify_add_watch 27 -+# define __NR_inotify_rm_watch 28 -+# define __NR_inotify_init1 26 - #else - # error "This architecture is not supported. Please talk to qt-bugs@trolltech.com" - #endif -diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp -index de8790a..cc2f5b6 100644 ---- a/src/gui/painting/qblendfunctions.cpp -+++ b/src/gui/painting/qblendfunctions.cpp -@@ -309,9 +309,9 @@ template void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl, - const uchar *src = srcPixels + y * sbpl; - const uchar *srcEnd = src + srcOffset; - while (src < srcEnd) { --#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) -+#if defined(QT_ARCH_ARMV5) || defined(QT_ARCH_POWERPC) || defined(QT_ARCH_SH) || defined(QT_ARCH_AVR32) || (defined(QT_ARCH_WINDOWSCE) && !defined(_X86_)) || (defined(QT_ARCH_SPARC) && defined(Q_CC_GNU)) || (defined(QT_ARCH_INTEGRITY) && !defined(_X86_)) || defined(QT_ARCH_ARC) - // non-16-bit aligned memory access is not possible on PowerPC, -- // ARM -Date: Wed, 20 May 2015 10:53:59 +0300 -Subject: [PATCH 2/2] Prevent unaligned access on ARC - -As many other architectures ARC cores by default don't support -unaligned word access to data. - -Even though it's possible to enable unaligned access to data in -ARC HS38 core (we're talking about configuration of core design) -to make sure Qt could be executed on any flavour of ARC fall-back -to byte-accesses is used. - -Change-Id: I96068d40b449f11ba987ed1e5d5e44f493d1eb5f - -This patch was submited in upstream Qt4 and if it ever gets accepted, -it should be removed from Buildroot. - -https://codereview.qt-project.org/#/c/112668 ---- - src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h | 2 +- - src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 13 ++++++++++++- - .../webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp | 2 +- - .../webkit/Source/JavaScriptCore/wtf/text/StringHash.h | 2 +- - 4 files changed, 15 insertions(+), 4 deletions(-) - -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h -index 2d76809..ee9b7f0 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/UString.h -@@ -202,7 +202,7 @@ struct UStringHash { - - // FIXME: perhaps we should have a more abstract macro that indicates when - // going 4 bytes at a time is unsafe --#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) -+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC) - const UChar* aChars = a->characters(); - const UChar* bChars = b->characters(); - for (unsigned i = 0; i != aLength; ++i) { -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h -index e8b03be..cd17e9c 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h -@@ -369,7 +369,18 @@ - - #endif /* ARM */ - --#if CPU(ARM) || CPU(MIPS) || CPU(SH4) -+/* CPU(ARC) - ARC, any version*/ -+#if defined(arc) \ -+ || defined(__arc__) \ -+ || defined(ARC) \ -+ || defined(_ARC_) -+#define WTF_CPU_ARC 1 -+#if defined(__BIG_ENDIAN__) -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+#endif -+ -+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(ARC) - #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 - #endif - -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp -index 9dd655e..bd3ab95 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/AtomicString.cpp -@@ -142,7 +142,7 @@ static inline bool equal(StringImpl* string, const UChar* characters, unsigned l - - // FIXME: perhaps we should have a more abstract macro that indicates when - // going 4 bytes at a time is unsafe --#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) -+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC) - const UChar* stringCharacters = string->characters(); - for (unsigned i = 0; i != length; ++i) { - if (*stringCharacters++ != *characters++) -diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h -index 4637c3d..91cef81 100644 ---- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h -+++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/text/StringHash.h -@@ -55,7 +55,7 @@ namespace WTF { - - // FIXME: perhaps we should have a more abstract macro that indicates when - // going 4 bytes at a time is unsafe --#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) -+#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC) || CPU(ARC) - const UChar* aChars = a->characters(); - const UChar* bChars = b->characters(); - for (unsigned i = 0; i != aLength; ++i) { --- -2.1.0 - diff --git a/bsp/buildroot/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch b/bsp/buildroot/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch deleted file mode 100644 index d7d387a7..00000000 --- a/bsp/buildroot/package/qt/0009-Fix-conversion-constructor-error-for-legacy-c-compil.patch +++ /dev/null @@ -1,163 +0,0 @@ -From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Fri, 27 Feb 2015 21:30:52 +0100 -Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes the following compile error with legacy c++ compiler: - -error: in C++98 ‘blitRect’ must be initialized by constructor, not by ‘{...}’ - -Signed-off-by: Peter Seiderer ---- - src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp | 14 +++++++------- - src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp | 6 +++--- - src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 6 +++--- - src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 2 +- - 4 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp -index 876d0c2..ed69386 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp -@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize, - IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize); - // ### how does this play with setDFBColor - src->SetColor(src, 0, 0, 0, const_alpha); -- const DFBRectangle rect = { 0, 0, length, 1 }; -+ const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 }; - d->surface->Blit(d->surface, src, &rect, x, y); - } - -@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s, - const QRect dr = engine->state()->matrix.mapRect(dest).toRect(); - if (dr.isEmpty()) - return; -- const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() }; -+ const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() }; - DFBResult result; - - if (dr.size() == sr.size()) { - result = surface->Blit(surface, s, &sRect, dr.x(), dr.y()); - } else { - Q_ASSERT(supportsStretchBlit()); -- const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() }; -+ const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() }; - result = surface->StretchBlit(surface, s, &sRect, &dRect); - } - if (result != DFB_OK) -@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix - if (newClip.isNull()) - return; - -- const DFBRegion clip = { -+ const DFBRegion clip = (DFBRegion_C){ - newClip.x(), - newClip.y(), - newClip.right(), -@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix - while (y <= destinationRect.bottom()) { - qreal x = startX; - while (x <= destinationRect.right()) { -- const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() }; -+ const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() }; - surface->StretchBlit(surface, sourceSurface, 0, &destination); - x += mappedSize.width(); - } -@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix - if (currentClip.isEmpty()) { - surface->SetClip(surface, 0); - } else { -- const DFBRegion clip = { -+ const DFBRegion clip = (DFBRegion_C){ - currentClip.x(), - currentClip.y(), - currentClip.right(), -@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip() - surface->SetClip(surface, NULL); - clipType = NoClip; - } else if (clipData->hasRectClip) { -- const DFBRegion r = { -+ const DFBRegion r = (DFBRegion_C){ - clipData->clipRect.x(), - clipData->clipRect.y(), - clipData->clipRect.right(), -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp -index 412e684..c59c47d 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp -@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect) - } else { - dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX); - } -- const DFBRectangle blitRect = { rect.x(), rect.y(), -+ const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(), - rect.width(), rect.height() }; - w = rect.width(); - h = rect.height(); -@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform, - } - data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags); - -- const DFBRectangle destRect = { 0, 0, size.width(), size.height() }; -+ const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() }; - data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect); - data->w = size.width(); - data->h = size.height(); -@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect) - return false; - } - -- const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() }; -+ const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() }; - result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy); - if (result != DFB_OK) { - DirectFBError("QDirectFBPixmapData::scroll", result); -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp -index eab9580..d26e5bf 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp -@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion ®ion) - static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect) - { - Q_ASSERT(surface); -- const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() }; -+ const DFBRegion region = (DFBRegion_C){ rect.left(), rect.top(), rect.right(), rect.bottom() }; - // could just reinterpret_cast this to a DFBRegion - surface->SetClip(surface, ®ion); - surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha()); -@@ -1716,14 +1716,14 @@ void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags - const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT; - for (int i=0; iFlip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags); - } - } else { - const QRect r = region.boundingRect(); -- const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(), -+ const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(), - r.right() + offset.x(), - r.bottom() + offset.y() }; - surface->Flip(surface, &dfbReg, flipFlags); -diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp -index 4dff907..25ad06b 100644 ---- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp -+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp -@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion ®ion, int dx, int dy) - } - dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX); - const QRect r = region.boundingRect(); -- const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() }; -+ const DFBRectangle rect = (DFBRectangle_C){ r.x(), r.y(), r.width(), r.height() }; - dfbSurface->Blit(dfbSurface, dfbSurface, &rect, r.x() + dx, r.y() + dy); - return true; - } --- -2.1.4 - diff --git a/bsp/buildroot/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch b/bsp/buildroot/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch deleted file mode 100644 index 9b165532..00000000 --- a/bsp/buildroot/package/qt/0010-Fix-for-platform-socklen_t-on-other-C-libraries-than.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0bf90de93b9fe21df32319e27b2507154fa8a21d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Fri, 15 Apr 2016 00:37:26 +0200 -Subject: [PATCH] Fix for platform socklen_t on other C libraries than glibc -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This helps to make sure that QT_SOCKLEN_T is defined to be 'int' -only when its glibc < 2 and not also for the libraries which may define -it as per standards but are not glibc, e.g. musl. - -This patch is adapted from Qt5 [1]. - -[1] -https://github.com/qtproject/qtbase/commit/813f468a14fb84af43c1f8fc0a1430277358eba2 - -Signed-off-by: Jörg Krause ---- - mkspecs/linux-g++/qplatformdefs.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/mkspecs/linux-g++/qplatformdefs.h b/mkspecs/linux-g++/qplatformdefs.h -index de751dd..d4146ed 100644 ---- a/mkspecs/linux-g++/qplatformdefs.h -+++ b/mkspecs/linux-g++/qplatformdefs.h -@@ -86,10 +86,10 @@ - - #undef QT_SOCKLEN_T - --#if defined(__GLIBC__) && (__GLIBC__ >= 2) --#define QT_SOCKLEN_T socklen_t --#else -+#if defined(__GLIBC__) && (__GLIBC__ < 2) - #define QT_SOCKLEN_T int -+#else -+#define QT_SOCKLEN_T socklen_t - #endif - - #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) --- -2.8.0 - diff --git a/bsp/buildroot/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch b/bsp/buildroot/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch deleted file mode 100644 index f3d47f75..00000000 --- a/bsp/buildroot/package/qt/0011-Link-with-ldl-option-only-when-it-is-supported.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 438f088ad520ac91ae47dba9a515ab0d1088c89c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Fri, 15 Apr 2016 03:32:02 +0200 -Subject: [PATCH] Link with -ldl option only when it is supported -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -`-ldl` option is used unconditionally in `QMAKE_LIBS_DYNLOAD` while libdl is -not supported when libc is static. As the value of `QMAKE_LIBS_DYNLOAD` goes -into 'Libs.private' field of the pkgconfig files created by qmake, static -linking with qt will fail with: - /usr/bin/ld: cannot find -ldl - -Fix this issue by adding a build test to configure to check if libdl is -supported. `QMAKE_LIBS_DYNLOAD` in "src/corelib/plugin/plugin.pri" is now used -only if libdl is available. - -Backported from Qt5: -https://github.com/qtproject/qtbase/commit/f669ea0d54302de31456d57286aa0e4ca1443e98 - -Signed-off-by: Jörg Krause ---- - config.tests/unix/libdl/libdl.cpp | 39 +++++++++++++++++++++++++++++++++++++++ - config.tests/unix/libdl/libdl.pro | 3 +++ - configure | 6 ++++++ - src/corelib/plugin/plugin.pri | 2 +- - 4 files changed, 49 insertions(+), 1 deletion(-) - create mode 100644 config.tests/unix/libdl/libdl.cpp - create mode 100644 config.tests/unix/libdl/libdl.pro - -diff --git a/config.tests/unix/libdl/libdl.cpp b/config.tests/unix/libdl/libdl.cpp -new file mode 100644 -index 0000000..28a8233 ---- /dev/null -+++ b/config.tests/unix/libdl/libdl.cpp -@@ -0,0 +1,39 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the config.tests of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL21$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include -+ -+int main(int, char **) -+{ -+ dlopen(0, 0); -+} -diff --git a/config.tests/unix/libdl/libdl.pro b/config.tests/unix/libdl/libdl.pro -new file mode 100644 -index 0000000..a643934 ---- /dev/null -+++ b/config.tests/unix/libdl/libdl.pro -@@ -0,0 +1,3 @@ -+SOURCES = libdl.cpp -+CONFIG -= qt dylib -+LIBS += -ldl -\ No newline at end of file -diff --git a/configure b/configure -index 10ad7ca..1c70691 100755 ---- a/configure -+++ b/configure -@@ -5506,6 +5506,12 @@ if [ "$CFG_LIBPNG" = "auto" ]; then - fi - fi - -+# detect dl -+if ! compileTest unix/libdl "libdl"; then -+ QMakeVar add DEFINES QT_NO_DYNAMIC_LIBRARY -+ QMAKE_CONFIG="$QMAKE_CONFIG no-libdl" -+fi -+ - # detect accessibility - if [ "$CFG_ACCESSIBILITY" = "auto" ]; then - if [ "$XPLATFORM_SYMBIAN" = "yes" ]; then -diff --git a/src/corelib/plugin/plugin.pri b/src/corelib/plugin/plugin.pri -index eb7a7f7..c342f2e 100644 ---- a/src/corelib/plugin/plugin.pri -+++ b/src/corelib/plugin/plugin.pri -@@ -32,4 +32,4 @@ integrity { - SOURCES += plugin/qlibrary_unix.cpp - } - --LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD -+!no-libdl: LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD --- -2.8.0 - diff --git a/bsp/buildroot/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch b/bsp/buildroot/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch deleted file mode 100644 index 8c65d1db..00000000 --- a/bsp/buildroot/package/qt/0012-OpenGL-EGL-Avoid-X11-header-collision.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 87c9c18fad02744238336a6cf1ce70d3ec2c89c2 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sat, 11 Jun 2016 17:03:07 +0200 -Subject: [PATCH 1/1] OpenGL/EGL: Avoid X11 header collision - -Including X11 headers via EGL/egl.h leads to a collision of defines -between Qt and X11. To fix this qt5 added - DEFINES += MESA_EGL_NO_X11_HEADERS -in various files: - -https://github.com/qtproject/qtbase/blob/dev/src/platformsupport/eglconvenience/eglconvenience.pri#L19 -https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/minimalegl/minimalegl.pro#L10 -https://github.com/qtproject/qtbase/blob/dev/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro#L6 -[...] - -This patch fixes a similar compile error in qt4: -http://autobuild.buildroot.net/results/9b0/9b0ed92984eead89d148eaa71aff6e2f1e117837/ -http://autobuild.buildroot.org/results/4fd/4fd57553336d36439fab32a7221fc8639758e887/ -http://autobuild.buildroot.org/results/5cb/5cb8072f8220f7203fa79936eedcc43eab53ec66/ - -Signed-off-by: Bernd Kuhls -(patch not sent upstream because qt4 branch is closed: - http://blog.qt.io/blog/2015/05/26/qt-4-8-7-released/) ---- - - src/gui/egl/egl.pri | 3 +++ - src/opengl/opengl.pro | 3 +++ - 2 files changed, 6 insertions(+) - -diff --git a/src/gui/egl/egl.pri b/src/gui/egl/egl.pri -index 8e8664c..715ffd7 100644 ---- a/src/gui/egl/egl.pri -+++ b/src/gui/egl/egl.pri -@@ -22,6 +22,9 @@ contains(QT_CONFIG, egl): { - !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL - } - -+ # Avoid X11 header collision -+ DEFINES += MESA_EGL_NO_X11_HEADERS -+ - wince*: SOURCES += egl/qegl_wince.cpp - - unix { -diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro -index ce1a5d2..65b1031 100644 ---- a/src/opengl/opengl.pro -+++ b/src/opengl/opengl.pro -@@ -149,6 +149,9 @@ embedded { - qglwindowsurface_qws_p.h \ - qgl_egl_p.h - -+ # Avoid X11 header collision -+ DEFINES += MESA_EGL_NO_X11_HEADERS -+ - contains(QT_CONFIG, fontconfig) { - include($$QT_SOURCE_TREE/config.tests/unix/freetype/freetype.pri) - } else { --- -2.8.1 - diff --git a/bsp/buildroot/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch b/bsp/buildroot/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch deleted file mode 100644 index 645041ac..00000000 --- a/bsp/buildroot/package/qt/0013-src-corelib-arch-qatomic_arm.h-fix-build-on-ARMv8-32.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2281fa50f6e13278d3fd4f028377b8249b7b3cdb Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 8 Sep 2017 09:06:54 +0200 -Subject: [PATCH] src/corelib/arch/qatomic_arm.h: fix build on ARMv8 32-bit - -The Qt build fails on ARMv8 32-bit because it falls back to using the -ARMv5 code that uses the swp instruction, which no longer exists: - -/tmp/ccSxVIzw.s: Assembler messages: -/tmp/ccSxVIzw.s:127: Error: swp{b} use is obsoleted for ARMv8 and later -/tmp/ccSxVIzw.s:190: Error: swp{b} use is obsoleted for ARMv8 and later - -So, this commit adjusts the ARM atomic code to assume ARMv8 is similar -to ARMv7. - -Signed-off-by: Thomas Petazzoni ---- - src/corelib/arch/qatomic_arm.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/corelib/arch/qatomic_arm.h b/src/corelib/arch/qatomic_arm.h -index 77cd66f272..e011929d3e 100644 ---- a/src/corelib/arch/qatomic_arm.h -+++ b/src/corelib/arch/qatomic_arm.h -@@ -47,7 +47,8 @@ QT_BEGIN_HEADER - #if defined(__ARM_ARCH_7__) \ - || defined(__ARM_ARCH_7A__) \ - || defined(__ARM_ARCH_7R__) \ -- || defined(__ARM_ARCH_7M__) -+ || defined(__ARM_ARCH_7M__) \ -+ || defined(__ARM_ARCH_8A__) - # define QT_ARCH_ARMV7 - QT_BEGIN_INCLUDE_HEADER - # include "QtCore/qatomic_armv7.h" --- -2.13.5 - diff --git a/bsp/buildroot/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch b/bsp/buildroot/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch deleted file mode 100644 index 1e555e72..00000000 --- a/bsp/buildroot/package/qt/0014-Enable-QtWebKit-with-newer-GCC.patch +++ /dev/null @@ -1,50 +0,0 @@ -From f566411fb314b7e4ab01f28e25e942cfaf8c59b7 Mon Sep 17 00:00:00 2001 -From: Evgeniy Didin -Date: Fri, 15 Sep 2017 19:43:48 +0300 -Subject: [PATCH] qt: Allow enabling of QtWebKit with GCC 6+ - -Building Qt with QtWebKit on configuration step there is -a check which disables QtWebKit build with GCC 6+. -Back in the day nobody thought about building Qt with GCC -version greater than 5.x. And now with modern GCCs like -6.x and 7.x this assumption gets in the way. - -Given in Buildroot today we don't have GCC older than 4.9 -it should be safe to remove now meaningless check completely. - -Signed-off-by: Evgeniy Didin -Cc: Alexey Brodkin -Cc: Thomas Petazzoni - ---- - configure | 14 -------------- - 1 file changed, 14 deletions(-) - -diff --git a/configure b/configure -index 10ad7ca0b0..8771144a65 100755 ---- a/configure -+++ b/configure -@@ -7731,20 +7731,6 @@ case "$XPLATFORM" in - canBuildWebKit="no" - canBuildQtXmlPatterns="no" - ;; -- *-g++*) -- # Check gcc's version -- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in -- 5*|4*|3.4*) -- ;; -- 3.3*) -- canBuildWebKit="no" -- ;; -- *) -- canBuildWebKit="no" -- canBuildQtXmlPatterns="no" -- ;; -- esac -- ;; - solaris-cc*) - # Check the compiler version - case `${QMAKE_CONF_COMPILER} -V 2>&1 | awk '{print $4}'` in --- -2.11.0 - diff --git a/bsp/buildroot/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch b/bsp/buildroot/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch deleted file mode 100644 index a5995484..00000000 --- a/bsp/buildroot/package/qt/0015-configure-fix-build-on-non-x86-platforms.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 02e9698c96ca78342b82fa7239e93bab4aa45db2 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Fri, 17 Nov 2017 22:20:06 +0100 -Subject: [PATCH] configure: fix build on non-x86 platforms - -When building for an uncommon platform on a ppc64le machine, Qt build -fails because it builds qmake with the target compiler instead of -using the host compiler. This is due to the fact that Qt configure -script believes that both the host and target platforms are "powerpc", -even though the target really is Xtensa or ARC for example. - -Qt's configure script defines a variable called PLATFORM that points to -the mkspecs describing the host machine. For x86, its value is -qws/linux-x86-g++ and for x86-64, its value is -qws/linux-x86_64-g++. For any other host architecture, its value is -qws/linux-generic-g++. - -In parallel to this, Qt's configure script defines a variable called -XPLATFORM that points to the mkspecs describing the target machine. It -points to qws/linux-${CFG_EMBEDDED}-g++, where CFG_EMBEDDED is -simply "generic" for most uncommon architectures. - -Therefore, when we're building for an uncommon architecture, on a -ppc64le machine, we have: - - PLATFORM = qws/linux-generic-g++ - XPLATFORM = qws/linux-generic-g++ - -i.e, both values are equal. Due to this, the following condition is -false: - -if [ "$PLATFORM" != "$XPLATFORM" -a "$CFG_EMBEDDED" != "no" ]; then - -which causes Qt's configure script to fallback to: - -elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then - CFG_ARCH=$CFG_HOST_ARCH -fi - -because CFG_ARCH is not defined, and therefore gets defined to -CFG_HOST_ARCH. So we have CFG_ARCH == CFG_HOST_ARCH, and Qt believes -we're doing a native build. - -Therefore, we need to ensure that PLATFORM and XPLATFORM always have a -different value. To achieve this, we create a -qws/linux-host-generic-g++ mkspecs, which is always used as -PLATFORM. It is identical to qws/linux-x86-g++. Compared to -qws/linux-x86_64-g++, the only difference is that we're not passing -the -m64 flag, but that isn't needed when building host tools. - -Signed-off-by: Thomas Petazzoni ---- - configure | 8 +---- - mkspecs/qws/linux-host-generic-g++/qmake.conf | 10 ++++++ - mkspecs/qws/linux-host-generic-g++/qplatformdefs.h | 42 ++++++++++++++++++++++ - 3 files changed, 53 insertions(+), 7 deletions(-) - create mode 100644 mkspecs/qws/linux-host-generic-g++/qmake.conf - create mode 100644 mkspecs/qws/linux-host-generic-g++/qplatformdefs.h - -diff --git a/configure b/configure -index 10ad7ca0b0..d25f90be1e 100755 ---- a/configure -+++ b/configure -@@ -2806,14 +2806,8 @@ if [ "$CFG_EMBEDDED" != "no" ]; then - Linux:*) - if [ -z "$PLATFORM" ]; then - case "$UNAME_MACHINE" in -- *86) -- PLATFORM=qws/linux-x86-g++ -- ;; -- *86_64) -- PLATFORM=qws/linux-x86_64-g++ -- ;; - *) -- PLATFORM=qws/linux-generic-g++ -+ PLATFORM=qws/linux-host-generic-g++ - ;; - esac - fi -diff --git a/mkspecs/qws/linux-host-generic-g++/qmake.conf b/mkspecs/qws/linux-host-generic-g++/qmake.conf -new file mode 100644 -index 0000000000..55011ec52b ---- /dev/null -+++ b/mkspecs/qws/linux-host-generic-g++/qmake.conf -@@ -0,0 +1,10 @@ -+# -+# qmake configuration for building with linux-g++ -+# -+ -+include(../../common/linux.conf) -+include(../../common/gcc-base-unix.conf) -+include(../../common/g++-unix.conf) -+include(../../common/qws.conf) -+ -+load(qt_config) -diff --git a/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h -new file mode 100644 -index 0000000000..a654aa78a2 ---- /dev/null -+++ b/mkspecs/qws/linux-host-generic-g++/qplatformdefs.h -@@ -0,0 +1,42 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file is part of the qmake spec of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** GNU General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU -+** General Public License version 3.0 as published by the Free Software -+** Foundation and appearing in the file LICENSE.GPL included in the -+** packaging of this file. Please review the following information to -+** ensure the GNU General Public License version 3.0 requirements will be -+** met: http://www.gnu.org/copyleft/gpl.html. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+#include "../../linux-g++/qplatformdefs.h" --- -2.13.6 - diff --git a/bsp/buildroot/package/qt/Config.gfx.in b/bsp/buildroot/package/qt/Config.gfx.in deleted file mode 100644 index 5e6619c7..00000000 --- a/bsp/buildroot/package/qt/Config.gfx.in +++ /dev/null @@ -1,31 +0,0 @@ -menu "Graphics drivers" - -config BR2_PACKAGE_QT_GFX_LINUXFB - bool "Linux Framebuffer" - default y - -config BR2_PACKAGE_QT_GFX_TRANSFORMED - bool "Transformed" - -config BR2_PACKAGE_QT_GFX_QVFB - bool "Qt Virtual Framebuffer" - -config BR2_PACKAGE_QT_GFX_VNC - bool "VNC" - -config BR2_PACKAGE_QT_GFX_MULTISCREEN - bool "multiscreen" - -comment "directfb Qt driver not available (need directfb)" - depends on !BR2_PACKAGE_DIRECTFB - -config BR2_PACKAGE_QT_GFX_DIRECTFB - bool "directFB" - depends on BR2_PACKAGE_DIRECTFB - -config BR2_PACKAGE_QT_GFX_POWERVR - bool "powervr" - depends on BR2_PACKAGE_QT_OPENGL_ES - depends on BR2_PACKAGE_HAS_POWERVR - -endmenu diff --git a/bsp/buildroot/package/qt/Config.in b/bsp/buildroot/package/qt/Config.in deleted file mode 100644 index a1218ecf..00000000 --- a/bsp/buildroot/package/qt/Config.in +++ /dev/null @@ -1,543 +0,0 @@ -comment "qt needs a toolchain w/ C++, threads" - depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS - -menuconfig BR2_PACKAGE_QT - bool "Qt (obsolete)" - depends on BR2_USE_MMU # fork - depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS - help - Qt is a cross-platform application and UI framework for - developers using C++. - - http://qt-project.org - -if BR2_PACKAGE_QT - -choice - prompt "Qt installation" - help - Selects the type of installation: standard or embedded - -config BR2_PACKAGE_QT_EMBEDDED - bool "Qt embedded" - help - The embedded Qt installation targets embedded systems - without X.org. Provides backends for framebuffer. - If unsure, say Y. - -comment "Qt standard (X11) not available (need X.org)" - depends on !BR2_PACKAGE_XORG7 - -config BR2_PACKAGE_QT_X11 - bool "Qt standard (X11)" - depends on BR2_PACKAGE_XORG7 - select BR2_PACKAGE_FONTCONFIG - select BR2_PACKAGE_XLIB_LIBXI - select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XLIB_LIBXCURSOR - select BR2_PACKAGE_XLIB_LIBXRANDR - select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XLIB_LIBXV - select BR2_PACKAGE_QT_SYSTEMFREETYPE - select BR2_PACKAGE_QT_GUI_MODULE - help - The standard Qt installation provides X.org backend. If you - don't want to use X.org, say N. - -endchoice - -config BR2_PACKAGE_QT_DEBUG - bool "Compile with debug support" - help - If unsure, say N. - -config BR2_PACKAGE_QT_DEMOS - bool "Compile and install Qt demos (with code)" - select BR2_PACKAGE_QT_GUI_MODULE - help - If unsure, say N. - -config BR2_PACKAGE_QT_TRANSLATION_FILES - bool "Install translation files" - help - Install binary .qm translation files. - Say y if you need these files. They will take about 8 MB - on the target root filesystem. - -config BR2_PACKAGE_QT_EXAMPLES - bool "Compile and install Qt examples (with code)" - select BR2_PACKAGE_QT_GUI_MODULE - help - If unsure, say N. - -choice - prompt "Library type" - help - Selects the library type: Shared or Static - -config BR2_PACKAGE_QT_SHARED - bool "Shared library" - depends on !BR2_STATIC_LIBS - help - Create and use shared Qt libraries. - If you have multiple programs that depend on Qt or intend to - use plugins, say Y. - -config BR2_PACKAGE_QT_STATIC - bool "Static Library" - help - Create and use static Qt libraries. - If you don't have multiple programs on the target that - depends on Qt, then this will save you quite some of storage - space. - If unsure, say Y. - -endchoice - -config BR2_PACKAGE_QT_CONFIG_FILE - string "Config file" - help - Configure options allow to set which modules are being - compiled or not in Qt, but Qt also provide a more - fine-grained mechanism to configure which features should be - enabled or disabled, through a header file. Examples of such - header files can be found in src/corelib/global/qconfig-*.h - in the Qt sources. - - This option allows to set the path of such a configuration - file, which Buildroot will give to Qt at compile time. - -config BR2_PACKAGE_QT_QT3SUPPORT - bool "Compatibility with Qt3" - depends on BR2_PACKAGE_QT_GUI_MODULE - select BR2_PACKAGE_QT_SQL_MODULE - help - Turns on support for older Qt3. This will create an - additional library with proxy code and increase the space - required on target. If unsure say n. - -config BR2_PACKAGE_QT_GUI_MODULE - bool "Gui Module" - default y - select BR2_PACKAGE_QT_NETWORK - help - Turns on support for Gui applications. If your board doesn't - have video output, or you don't require Qt GUI, say n. - -if BR2_PACKAGE_QT_GUI_MODULE - -if BR2_PACKAGE_QT_EMBEDDED - -menu "Pixel depths" -comment "Deselecting each option leads to Qt's default (8,16,32)" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_1 - bool "1 bpp, black/white" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_4 - bool "4 bpp, grayscale" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_8 - bool "8 bpp, paletted" - default y - -config BR2_PACKAGE_QT_PIXEL_DEPTH_12 - bool "12 bpp, rgb 4-4-4" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_15 - bool "15 bpp, rgb 5-5-5" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_16 - bool "16 bpp, rgb 5-6-5" - default y - -config BR2_PACKAGE_QT_PIXEL_DEPTH_18 - bool "18 bpp, rgb 6-6-6" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_24 - bool "24 bpp, rgb 8-8-8" - -config BR2_PACKAGE_QT_PIXEL_DEPTH_32 - bool "32 bpp, argb 8-8-8-8 and rgb 8-8-8" - default y - -endmenu - -menu "Fonts" - -config BR2_PACKAGE_QT_FONT_TRUETYPE - bool "dejavu/vera" - default y - depends on BR2_PACKAGE_QT_QTFREETYPE || BR2_PACKAGE_QT_SYSTEMFREETYPE - -comment "dejavu/vera fonts need freetype support" - depends on !BR2_PACKAGE_QT_QTFREETYPE && !BR2_PACKAGE_QT_SYSTEMFREETYPE - -config BR2_PACKAGE_QT_FONT_MICRO - bool "micro" - default y - -config BR2_PACKAGE_QT_FONT_FIXED - bool "fixed" - default y - -config BR2_PACKAGE_QT_FONT_HELVETICA - bool "helvetica" - default y - -config BR2_PACKAGE_QT_FONT_JAPANESE - bool "japanese" - -config BR2_PACKAGE_QT_FONT_UNIFONT - bool "unicode" - -endmenu - -endif # BR2_PACKAGE_QT_EMBEDDED - -choice - prompt "freetype2 support" - default BR2_PACKAGE_QT_NOFREETYPE - help - Select freetype2 support. - -config BR2_PACKAGE_QT_NOFREETYPE - bool "no freetype2 support" - depends on BR2_PACKAGE_QT_EMBEDDED - help - Do not compile in Freetype2 support. - -comment "Qt freetype2 needs Qt embedded" - depends on BR2_PACKAGE_QT_X11 - -config BR2_PACKAGE_QT_QTFREETYPE - bool "Qt freetype2" - depends on BR2_PACKAGE_QT_EMBEDDED - help - Use the libfreetype bundled with Qt. - -config BR2_PACKAGE_QT_SYSTEMFREETYPE - bool "System freetype2" - select BR2_PACKAGE_FREETYPE - help - Use shared libfreetype from the target system. - See http://www.freetype.org/ -endchoice - -config BR2_PACKAGE_QT_GIF - bool "Enable GIF support" - help - This compiles and installs the plugin for GIF reading support. - -config BR2_PACKAGE_QT_LIBMNG - bool "Enable libmng support" - help - This compiles and installs the plugin for MNG support. - -choice - prompt "JPEG support" - default BR2_PACKAGE_QT_NOJPEG - help - Select libjpeg support. - -config BR2_PACKAGE_QT_NOJPEG - bool "No jpeg support" - help - Disable JPEG support - -config BR2_PACKAGE_QT_SYSTEMJPEG - bool "System libjpeg" - select BR2_PACKAGE_JPEG - help - Link against system libjpeg - -config BR2_PACKAGE_QT_QTJPEG - bool "Use Qt bundled libjpeg" - help - Link against libjpeg provided with Qt -endchoice - -choice - prompt "PNG support" - default BR2_PACKAGE_QT_NOPNG - help - Select which library to use if PNG support should be enabled. - -config BR2_PACKAGE_QT_NOPNG - bool "No PNG support" - -config BR2_PACKAGE_QT_SYSTEMPNG - bool "System libpng" - select BR2_PACKAGE_LIBPNG - -config BR2_PACKAGE_QT_QTPNG - bool "Use Qt bundled libpng" -endchoice - -choice - prompt "TIFF support" - default BR2_PACKAGE_QT_NOTIFF - help - Select which library to use if TIFF support should be enabled. - -config BR2_PACKAGE_QT_NOTIFF - bool "No TIFF support" - -config BR2_PACKAGE_QT_SYSTEMTIFF - bool "System libtiff" - select BR2_PACKAGE_TIFF - -config BR2_PACKAGE_QT_QTTIFF - bool "Use Qt bundled libtiff" -endchoice - -config BR2_PACKAGE_QT_ACCESSIBILITY - bool "Enable accessibility support" - help - This enables and compiles the accessibility support. - -endif # BR2_PACKAGE_QT_GUI_MODULE - -choice - prompt "zlib support" - default BR2_PACKAGE_QT_QTZLIB - help - Select zlib support. - -config BR2_PACKAGE_QT_QTZLIB - bool "Qt zlib" - depends on !BR2_STATIC_LIBS - help - Use the zlib bundled with Qt. - -comment "Qt zlib needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - -config BR2_PACKAGE_QT_SYSTEMZLIB - bool "System zlib" - select BR2_PACKAGE_ZLIB - help - Use the shared zlib from the system. -endchoice - -source "package/qt/Config.sql.in" -if BR2_PACKAGE_QT_GUI_MODULE -if BR2_PACKAGE_QT_EMBEDDED -source "package/qt/Config.gfx.in" -source "package/qt/Config.mouse.in" -source "package/qt/Config.keyboard.in" -endif - -config BR2_PACKAGE_QT_PHONON - bool "Phonon Module" - default y - depends on BR2_PACKAGE_GSTREAMER - select BR2_PACKAGE_GST_PLUGINS_BASE - help - Build the Phonon module. Support for different audio/video - formats can be configured at the GStreamer package. - If unsure, say n. - -comment "Phonon module needs gstreamer" - depends on !BR2_PACKAGE_GSTREAMER - -config BR2_PACKAGE_QT_PHONON_BACKEND - bool "Phonon Module Backend" - depends on BR2_PACKAGE_QT_PHONON - help - Build the platform Phonon plugin. - If unsure, say n. - -config BR2_PACKAGE_QT_OPENGL - bool "OpenGL support" - default y - depends on (BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_QT_X11) || \ - (BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES) - help - This option enables OpenGL support. - -if BR2_PACKAGE_QT_OPENGL - -choice - prompt "OpenGL API" - help - Select OpenGL API. - -comment "Desktop OpenGL not available (needs Qt standard (X11))" - depends on !BR2_PACKAGE_QT_X11 - -config BR2_PACKAGE_QT_OPENGL_GL_DESKTOP - bool "Desktop OpenGL" - depends on BR2_PACKAGE_HAS_LIBGL - depends on BR2_PACKAGE_QT_X11 - help - Use desktop OpenGL. - -config BR2_PACKAGE_QT_OPENGL_ES - bool "OpenGL ES v2.x support" - depends on BR2_PACKAGE_HAS_LIBGLES - depends on BR2_PACKAGE_HAS_LIBEGL - help - Enable the OpenGL ES v2.x support. - -endchoice - -endif # BR2_PACKAGE_QT_OPENGL - -endif - -config BR2_PACKAGE_QT_DBUS - bool "DBus Module" - depends on BR2_TOOLCHAIN_HAS_THREADS # dbus - depends on BR2_USE_MMU # dbus - select BR2_PACKAGE_DBUS - help - Build the Qt DBus module. - -comment "DBus Module needs a toolchain w/ threads" - depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS - -config BR2_PACKAGE_QT_XML - bool "XML Module" - default y - help - Build the XML module. - -config BR2_PACKAGE_QT_XMLPATTERNS - bool "XML Patterns Module" - depends on BR2_PACKAGE_QT_XML - help - Build QtXmlPatterns module. - If unsure, say n - -config BR2_PACKAGE_QT_MULTIMEDIA - bool "Multimedia Module" - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Build QtMultimedia module. - -config BR2_PACKAGE_QT_AUDIO_BACKEND - bool "QtMultimedia Audio backend" - depends on BR2_PACKAGE_QT_MULTIMEDIA - depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib - select BR2_PACKAGE_ALSA_LIB - help - Build the ALSA audio backend into QtMultimedia - -config BR2_PACKAGE_QT_SVG - bool "SVG Module" - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Build the SVG module. - If unsure, say n - -config BR2_PACKAGE_QT_NETWORK - bool "Network Module" - default y - help - Install the Network module. - if unsure, say y - -config BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - bool - # see src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h - # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html - default y if BR2_arc || BR2_arm || BR2_armeb || BR2_i386 || BR2_microblazeel || \ - BR2_microblazebe || BR2_mips || BR2_mipsel || \ - (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_NABI32 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_x86_64 || \ - BR2_sh4 || BR2_sh4eb || BR2_sh4a || BR2_sh4aeb - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - -config BR2_PACKAGE_QT_WEBKIT - bool "WebKit Module" - depends on BR2_PACKAGE_QT_SCRIPT - depends on BR2_PACKAGE_QT_SHARED - depends on BR2_PACKAGE_QT_GUI_MODULE - depends on BR2_PACKAGE_QT_NETWORK - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() - depends on BR2_PACKAGE_GSTREAMER - select BR2_PACKAGE_GST_PLUGINS_BASE - select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP - help - Build the WebKit module. - If unsure, say n. - -comment "WebKit needs a toolchain w/ dynamic library, NPTL" - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIB - -comment "WebKit needs QtShared/Script/Gui/Network and Gstreamer 0.10" - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_WEBKIT - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL && !BR2_STATIC_LIB - depends on !BR2_PACKAGE_QT_SCRIPT || !BR2_PACKAGE_QT_SHARED \ - || !BR2_PACKAGE_QT_GUI_MODULE || !BR2_PACKAGE_QT_NETWORK \ - || !BR2_PACKAGE_GSTREAMER - -config BR2_PACKAGE_QT_STL - bool "STL support" - help - Compile STL support. - If unsure, say n. - -config BR2_PACKAGE_QT_OPENSSL - bool "Enable OpenSSL support" - depends on BR2_PACKAGE_QT_NETWORK - select BR2_PACKAGE_OPENSSL - help - Enable support for the OpenSSL encryption library. If you use - QSslSocket say y here, otherwise, say no to save space on the - target. - If unsure, say n. - -config BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT - bool - # see http://lists.busybox.net/pipermail/buildroot/2014-November/112605.html - default y if BR2_arc || BR2_arm || BR2_armeb || BR2_aarch64 || BR2_i386 || \ - BR2_microblazeel || BR2_microblazebe || BR2_mips || BR2_mipsel || \ - BR2_mips64 || BR2_mips64el || BR2_nios2 || BR2_powerpc || \ - BR2_powerpc64 || BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \ - BR2_sh4a || BR2_sh4aeb || BR2_x86_64 - depends on BR2_TOOLCHAIN_HAS_SYNC_4 - -config BR2_PACKAGE_QT_SCRIPT - bool "Script Module" - default y - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT - depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # needs pthread_getattr_np() - help - Build the Qt Script module. - if unsure, say y. - -comment "Script Module needs a toolchain with NPTL" - depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL - depends on BR2_PACKAGE_QT_ARCH_SUPPORTS_SCRIPT - -config BR2_PACKAGE_QT_SCRIPTTOOLS - bool "Script Tools Module" - depends on BR2_PACKAGE_QT_SCRIPT - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Build the Qt Script Tools module. - if unsure, say n. - -config BR2_PACKAGE_QT_DECLARATIVE - bool "Declarative module" - depends on BR2_PACKAGE_QT_SCRIPT - depends on BR2_PACKAGE_QT_GUI_MODULE - depends on BR2_PACKAGE_QT_SQL_MODULE - help - Build the Qt Declarative Module for qml support - if unsure, say n. - -config BR2_PACKAGE_QT_TEST - bool "Test Module" - help - Install the Test module. - -endif # BR2_PACKAGE_QT diff --git a/bsp/buildroot/package/qt/Config.keyboard.in b/bsp/buildroot/package/qt/Config.keyboard.in deleted file mode 100644 index b0425471..00000000 --- a/bsp/buildroot/package/qt/Config.keyboard.in +++ /dev/null @@ -1,12 +0,0 @@ -menu "Keyboard drivers" - -config BR2_PACKAGE_QT_KEYBOARD_TTY - bool "tty" - -config BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT - bool "linux input" - -config BR2_PACKAGE_QT_KEYBOARD_QVFB - bool "qvfb" - -endmenu diff --git a/bsp/buildroot/package/qt/Config.mouse.in b/bsp/buildroot/package/qt/Config.mouse.in deleted file mode 100644 index 1062facb..00000000 --- a/bsp/buildroot/package/qt/Config.mouse.in +++ /dev/null @@ -1,26 +0,0 @@ -menu "Mouse drivers" - -config BR2_PACKAGE_QT_MOUSE_PC - bool "pc" - -config BR2_PACKAGE_QT_MOUSE_LINUXTP - bool "linuxtp" - -config BR2_PACKAGE_QT_MOUSE_LINUXINPUT - bool "linux input" - -config BR2_PACKAGE_QT_MOUSE_TSLIB - bool "tslib" - select BR2_PACKAGE_TSLIB - -config BR2_PACKAGE_QT_MOUSE_QVFB - bool "qvfb" - -comment "Mouse Options" - -config BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR - bool "Hide the mouse cursor" - help - Do not show the mouse cursor in QWS. - -endmenu diff --git a/bsp/buildroot/package/qt/Config.sql.in b/bsp/buildroot/package/qt/Config.sql.in deleted file mode 100644 index 6d39bb97..00000000 --- a/bsp/buildroot/package/qt/Config.sql.in +++ /dev/null @@ -1,59 +0,0 @@ -menuconfig BR2_PACKAGE_QT_SQL_MODULE - bool "SQL Module" - help - Compile Qt SQL Module - -if BR2_PACKAGE_QT_SQL_MODULE -config BR2_PACKAGE_QT_MYSQL - bool "MySQL Driver" - depends on BR2_USE_MMU # mysql - select BR2_PACKAGE_MYSQL - select BR2_PACKAGE_NCURSES - select BR2_PACKAGE_READLINE - help - Build MySQL driver - If unsure, say n. - -config BR2_PACKAGE_QT_ODBC - bool "ODBC Driver" - select BR2_PACKAGE_UNIXODBC - help - Build ODBC driver - If unsure, say n. - -config BR2_PACKAGE_QT_PSQL - bool "PostgreSQL Driver" - depends on !BR2_STATIC_LIBS - select BR2_PACKAGE_POSTGRESQL - help - Build PostgreSQL driver - If unsure, say n. - -comment "PostgreSQL driver needs a toolchain w/ dynamic library" - depends on BR2_STATIC_LIBS - -choice - prompt "SQLite 3 support" - default BR2_PACKAGE_QT_SQLITE_NONE - help - Select SQLite support. - -config BR2_PACKAGE_QT_SQLITE_NONE - bool "No sqlite support" - help - Do not compile any kind of SQLite support. - -config BR2_PACKAGE_QT_SQLITE_QT - bool "Qt SQLite" - help - Use Qt bundled SQLite support. - -config BR2_PACKAGE_QT_SQLITE_SYSTEM - bool "System SQLite" - select BR2_PACKAGE_SQLITE - help - Use system SQLite. - -endchoice - -endif diff --git a/bsp/buildroot/package/qt/powervr.ini b/bsp/buildroot/package/qt/powervr.ini deleted file mode 100644 index 57863ebc..00000000 --- a/bsp/buildroot/package/qt/powervr.ini +++ /dev/null @@ -1,2 +0,0 @@ -[default] -WindowSystem=libpvrQWSWSEGL.so.1 diff --git a/bsp/buildroot/package/qt/qt.hash b/bsp/buildroot/package/qt/qt.hash deleted file mode 100644 index 301010ca..00000000 --- a/bsp/buildroot/package/qt/qt.hash +++ /dev/null @@ -1,3 +0,0 @@ -# md5 http://download.qt.io/official_releases/qt/4.8/4.8.7/md5sums-4.8.7, sha256 locally computed: -md5 d990ee66bf7ab0c785589776f35ba6ad qt-everywhere-opensource-src-4.8.7.tar.gz -sha256 e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0 qt-everywhere-opensource-src-4.8.7.tar.gz diff --git a/bsp/buildroot/package/qt/qt.mk b/bsp/buildroot/package/qt/qt.mk deleted file mode 100644 index 23cb94c1..00000000 --- a/bsp/buildroot/package/qt/qt.mk +++ /dev/null @@ -1,725 +0,0 @@ -################################################################################ -# -# qt -# -################################################################################ - -QT_VERSION_MAJOR = 4.8 -QT_VERSION = $(QT_VERSION_MAJOR).7 -QT_SOURCE = qt-everywhere-opensource-src-$(QT_VERSION).tar.gz -QT_SITE = http://download.qt.io/archive/qt/$(QT_VERSION_MAJOR)/$(QT_VERSION) -QT_DEPENDENCIES = host-pkgconf -QT_INSTALL_STAGING = YES - -QT_LICENSE := LGPL-2.1 with exceptions or GPL-3.0 -QT_LICENSE_FILES = LICENSE.LGPL LGPL_EXCEPTION.txt LICENSE.GPL3 - -# Opensource licenses are the only one we catter about -QT_CONFIGURE_OPTS += -opensource -confirm-license - -QT_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT_CONFIG_FILE)) - -ifneq ($(QT_CONFIG_FILE),) -QT_CONFIGURE_OPTS += -qconfig buildroot -endif - -QT_CFLAGS = $(TARGET_CFLAGS) -QT_CXXFLAGS = $(TARGET_CXXFLAGS) -QT_LDFLAGS = $(TARGET_LDFLAGS) - -# Qt WebKit build fails when gcc-6 is used for build, because -# 'std::auto_ptr' is deprecated starting from gcc 6.x. So, we have to -# use an older c++ standard to prevent build failure -QT_CXXFLAGS += -std=gnu++98 - -# gcc bug internal compiler error: in validate_condition_mode, at -# config/rs6000/rs6000.c:180744. Bug is fixed since gcc 7. -# Workaround is to set -mno-isel, see -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60818 and -# https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01036.html -ifeq ($(BR2_powerpc_8540)$(BR2_powerpc_8548)$(BR2_powerpc_e500mc)$(BR2_powerpc_e5500):$(BR2_TOOLCHAIN_GCC_AT_LEAST_7),y:) -QT_CXXFLAGS += -mno-isel -endif - -# Qt has some assembly function that are not present in thumb1 mode: -# Error: selected processor does not support Thumb mode `swp r3,r7,[r4]' -# so, we desactivate thumb mode -ifeq ($(BR2_ARM_INSTRUCTIONS_THUMB),y) -QT_CFLAGS += -marm -QT_CXXFLAGS += -marm -endif - -ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y) -QT_CONFIGURE_OPTS += -qt3support -else -QT_CONFIGURE_OPTS += -no-qt3support -endif - -ifeq ($(BR2_PACKAGE_QT_DEMOS),y) -QT_CONFIGURE_OPTS += -demosdir $(TARGET_DIR)/usr/share/qt/demos -else -QT_CONFIGURE_OPTS += -nomake demos -endif -ifeq ($(BR2_PACKAGE_QT_EXAMPLES),y) -QT_CONFIGURE_OPTS += -examplesdir $(TARGET_DIR)/usr/share/qt/examples -else -QT_CONFIGURE_OPTS += -nomake examples -endif - -# ensure glib is built first if enabled for Qt's glib support -ifeq ($(BR2_PACKAGE_LIBGLIB2),y) -QT_CONFIGURE_OPTS += -glib -QT_DEPENDENCIES += libglib2 -else -QT_CONFIGURE_OPTS += -no-glib -endif - -### Pixel depths -QT_PIXEL_DEPTHS = # empty -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_1),y) -QT_PIXEL_DEPTHS += 1 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_4),y) -QT_PIXEL_DEPTHS += 4 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_8),y) -QT_PIXEL_DEPTHS += 8 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_12),y) -QT_PIXEL_DEPTHS += 12 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_15),y) -QT_PIXEL_DEPTHS += 15 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_16),y) -QT_PIXEL_DEPTHS += 16 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_18),y) -QT_PIXEL_DEPTHS += 18 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_24),y) -QT_PIXEL_DEPTHS += 24 -endif -ifeq ($(BR2_PACKAGE_QT_PIXEL_DEPTH_32),y) -QT_PIXEL_DEPTHS += 32 -endif -ifneq ($(QT_PIXEL_DEPTHS),) -QT_CONFIGURE_OPTS += -depths $(subst $(space),$(comma),$(strip $(QT_PIXEL_DEPTHS))) -endif - -### Display drivers -ifeq ($(BR2_PACKAGE_QT_GFX_LINUXFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-linuxfb -else -QT_CONFIGURE_OPTS += -no-gfx-linuxfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_TRANSFORMED),y) -QT_CONFIGURE_OPTS += -qt-gfx-transformed -else -QT_CONFIGURE_OPTS += -no-gfx-transformed -endif -ifeq ($(BR2_PACKAGE_QT_GFX_QVFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-qvfb -else -QT_CONFIGURE_OPTS += -no-gfx-qvfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_VNC),y) -QT_CONFIGURE_OPTS += -qt-gfx-vnc -else -QT_CONFIGURE_OPTS += -no-gfx-vnc -endif -ifeq ($(BR2_PACKAGE_QT_GFX_MULTISCREEN),y) -QT_CONFIGURE_OPTS += -qt-gfx-multiscreen -else -QT_CONFIGURE_OPTS += -no-gfx-multiscreen -endif -ifeq ($(BR2_PACKAGE_QT_GFX_DIRECTFB),y) -QT_CONFIGURE_OPTS += -qt-gfx-directfb -QT_DEPENDENCIES += directfb -else -QT_CONFIGURE_OPTS += -no-gfx-directfb -endif -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -QT_CONFIGURE_OPTS += \ - -plugin-gfx-powervr -D QT_NO_QWS_CURSOR -D QT_QWS_CLIENTBLIT -QT_DEPENDENCIES += powervr -endif - -### Mouse drivers -ifeq ($(BR2_PACKAGE_QT_MOUSE_PC),y) -QT_CONFIGURE_OPTS += -qt-mouse-pc -else -QT_CONFIGURE_OPTS += -no-mouse-pc -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXTP),y) -QT_CONFIGURE_OPTS += -qt-mouse-linuxtp -else -QT_CONFIGURE_OPTS += -no-mouse-linuxtp -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_LINUXINPUT),y) -QT_CONFIGURE_OPTS += -qt-mouse-linuxinput -else -QT_CONFIGURE_OPTS += -no-mouse-linuxinput -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_TSLIB),y) -QT_CONFIGURE_OPTS += -qt-mouse-tslib -QT_DEPENDENCIES += tslib -else -QT_CONFIGURE_OPTS += -no-mouse-tslib -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_QVFB),y) -QT_CONFIGURE_OPTS += -qt-mouse-qvfb -else -QT_CONFIGURE_OPTS += -no-mouse-qvfb -endif -ifeq ($(BR2_PACKAGE_QT_MOUSE_NO_QWS_CURSOR),y) -QT_CONFIGURE_OPTS += -D QT_NO_QWS_CURSOR -endif - -### Keyboard drivers -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_TTY),y) -QT_CONFIGURE_OPTS += -qt-kbd-tty -else -QT_CONFIGURE_OPTS += -no-kbd-tty -endif -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_LINUXINPUT),y) -QT_CONFIGURE_OPTS += -qt-kbd-linuxinput -else -QT_CONFIGURE_OPTS += -no-kbd-linuxinput -endif -ifeq ($(BR2_PACKAGE_QT_KEYBOARD_QVFB),y) -QT_CONFIGURE_OPTS += -qt-kbd-qvfb -else -QT_CONFIGURE_OPTS += -no-kbd-qvfb -endif - -ifeq ($(BR2_PACKAGE_QT_DEBUG),y) -QT_CONFIGURE_OPTS += -debug -else -QT_CONFIGURE_OPTS += -release -endif - -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -QT_CONFIGURE_OPTS += -shared -else -QT_CONFIGURE_OPTS += -static -endif - -ifeq ($(BR2_STATIC_LIBS),y) -QT_CONFIGURE_OPTS += -D QT_NO_DYNAMIC_LIBRARY -endif - -ifeq ($(BR2_ENDIAN),"LITTLE") -QT_CONFIGURE_OPTS += -little-endian -else -QT_CONFIGURE_OPTS += -big-endian -endif - -ifeq ($(BR2_arm)$(BR2_armeb),y) -QT_EMB_PLATFORM = arm -else ifeq ($(BR2_i386),y) -QT_EMB_PLATFORM = x86 -else ifeq ($(BR2_x86_64),y) -QT_EMB_PLATFORM = x86_64 -else ifeq ($(BR2_mips)$(BR2_mipsel),y) -QT_EMB_PLATFORM = mips -else ifeq ($(BR2_powerpc),y) -QT_EMB_PLATFORM = powerpc -else ifeq ($(BR2_sh4)$(BR2_sh4eb)$(BR2_sh4a)$(BR2_sh4aeb),y) -QT_EMB_PLATFORM = sh -else -QT_EMB_PLATFORM = generic -endif - -ifeq ($(BR2_PACKAGE_QT_X11),y) -QT_DEPENDENCIES += fontconfig xlib_libXi xlib_libX11 xlib_libXrender \ - xlib_libXcursor xlib_libXrandr xlib_libXext xlib_libXv -# Using pkg-config avoids us some logic to redefine and sed again mkspecs files -# to add X11 include path and link options -QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11` -QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags x11` -QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs x11 xext` -QT_CONFIGURE_OPTS += -arch $(QT_EMB_PLATFORM) \ - -xplatform qws/linux-$(QT_EMB_PLATFORM)-g++ -x11 -no-gtkstyle -no-sm \ - -no-openvg -else # if BR2_PACKAGE_QT_EMBEDDED -QT_CONFIGURE_OPTS += -embedded $(QT_EMB_PLATFORM) -endif - -ifneq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -QT_CONFIGURE_OPTS += -no-gui -endif - -ifneq ($(BR2_PACKAGE_QT_GIF),y) -QT_CONFIGURE_OPTS += -no-gif -endif - -ifeq ($(BR2_PACKAGE_QT_LIBMNG),y) -QT_CONFIGURE_OPTS += -qt-libmng -else -QT_CONFIGURE_OPTS += -no-libmng -endif - -ifeq ($(BR2_PACKAGE_QT_ACCESSIBILITY),y) -QT_CONFIGURE_OPTS += -accessibility -else -QT_CONFIGURE_OPTS += -no-accessibility -endif - -ifeq ($(BR2_PACKAGE_QT_QTZLIB),y) -QT_CONFIGURE_OPTS += -qt-zlib -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMZLIB),y) -QT_CONFIGURE_OPTS += -system-zlib -QT_DEPENDENCIES += zlib -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTJPEG),y) -QT_CONFIGURE_OPTS += -qt-libjpeg -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMJPEG),y) -QT_CONFIGURE_OPTS += -system-libjpeg -QT_DEPENDENCIES += jpeg -else -QT_CONFIGURE_OPTS += -no-libjpeg -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTPNG),y) -QT_CONFIGURE_OPTS += -qt-libpng -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMPNG),y) -QT_CONFIGURE_OPTS += -system-libpng -QT_DEPENDENCIES += libpng -else -QT_CONFIGURE_OPTS += -no-libpng -endif -endif - -ifeq ($(BR2_PACKAGE_QT_QTTIFF),y) -QT_CONFIGURE_OPTS += -qt-libtiff -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMTIFF),y) -QT_CONFIGURE_OPTS += -system-libtiff -QT_DEPENDENCIES += tiff -else -QT_CONFIGURE_OPTS += -no-libtiff -endif -endif - -QT_FONTS = $(addprefix $(STAGING_DIR)/usr/lib/fonts/, $(addsuffix *.qpf, \ - $(if $(BR2_PACKAGE_QT_FONT_MICRO),micro) \ - $(if $(BR2_PACKAGE_QT_FONT_FIXED),fixed) \ - $(if $(BR2_PACKAGE_QT_FONT_HELVETICA),helvetica) \ - $(if $(BR2_PACKAGE_QT_FONT_JAPANESE),japanese) \ - $(if $(BR2_PACKAGE_QT_FONT_UNIFONT),unifont))) - -ifeq ($(BR2_PACKAGE_QT_QTFREETYPE),y) -QT_CONFIGURE_OPTS += -qt-freetype -else -ifeq ($(BR2_PACKAGE_QT_SYSTEMFREETYPE),y) -QT_CONFIGURE_OPTS += -system-freetype -QT_CONFIGURE_OPTS += -I $(STAGING_DIR)/usr/include/freetype2/ -QT_DEPENDENCIES += freetype -else -QT_CONFIGURE_OPTS += -no-freetype -endif -endif - -ifeq ($(BR2_PACKAGE_QT_DBUS),y) -QT_DEPENDENCIES += dbus -endif - -ifeq ($(BR2_PACKAGE_QT_OPENSSL),y) -QT_CONFIGURE_OPTS += -openssl -QT_DEPENDENCIES += openssl -else -QT_CONFIGURE_OPTS += -no-openssl -endif - -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -QT_CONFIGURE_OPTS += -opengl es2 -egl -QT_DEPENDENCIES += libgles libegl -QT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -QT_CXXFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl` -QT_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs egl` -else ifeq ($(BR2_PACKAGE_QT_OPENGL_GL_DESKTOP),y) -QT_CONFIGURE_OPTS += -opengl desktop -QT_DEPENDENCIES += libgl -else -QT_CONFIGURE_OPTS += -no-opengl -endif - -# Qt SQL Drivers -ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -ifeq ($(BR2_PACKAGE_QT_MYSQL),y) -QT_CONFIGURE_OPTS += -qt-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config -QT_DEPENDENCIES += mysql -endif -ifeq ($(BR2_PACKAGE_QT_ODBC),y) -QT_CONFIGURE_OPTS += -qt-sql-odbc -QT_DEPENDENCIES += unixodbc -endif -ifeq ($(BR2_PACKAGE_QT_PSQL),y) -QT_CONFIGURE_OPTS += -qt-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config -QT_DEPENDENCIES += postgresql -endif -ifeq ($(BR2_PACKAGE_QT_SQLITE_QT),y) -QT_CONFIGURE_OPTS += -qt-sql-sqlite -else -ifeq ($(BR2_PACKAGE_QT_SQLITE_SYSTEM),y) -QT_CONFIGURE_OPTS += -system-sqlite -QT_DEPENDENCIES += sqlite -else -QT_CONFIGURE_OPTS += -no-sql-sqlite -endif -endif -ifeq ($(BR2_PACKAGE_QT_SQLITE2),y) -QT_CONFIGURE_OPTS += -qt-sql-sqlite2 -endif -else -# By default, no SQL driver is turned on by configure. -# but it seems sqlite isn't disabled despite what says -# configure --help -QT_CONFIGURE_OPTS += -no-sql-sqlite -endif - -ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y) -QT_CONFIGURE_OPTS += -xmlpatterns -exceptions -else -QT_CONFIGURE_OPTS += -no-xmlpatterns -endif - -ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y) -QT_CONFIGURE_OPTS += -multimedia -else -QT_CONFIGURE_OPTS += -no-multimedia -endif - -ifeq ($(BR2_PACKAGE_QT_AUDIO_BACKEND),y) -QT_CONFIGURE_OPTS += -audio-backend -QT_DEPENDENCIES += alsa-lib -else -QT_CONFIGURE_OPTS += -no-audio-backend -endif - -ifeq ($(BR2_PACKAGE_QT_PHONON),y) -QT_CONFIGURE_OPTS += -phonon -QT_DEPENDENCIES += gstreamer gst-plugins-base -else -QT_CONFIGURE_OPTS += -no-phonon -endif - -ifeq ($(BR2_PACKAGE_QT_PHONON_BACKEND),y) -QT_CONFIGURE_OPTS += -phonon-backend -else -QT_CONFIGURE_OPTS += -no-phonon-backend -endif - -ifeq ($(BR2_PACKAGE_QT_SVG),y) -QT_CONFIGURE_OPTS += -svg -else -QT_CONFIGURE_OPTS += -no-svg -endif - -ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) -QT_CONFIGURE_OPTS += -webkit -QT_DEPENDENCIES += gstreamer gst-plugins-base -else -QT_CONFIGURE_OPTS += -no-webkit -endif - -ifeq ($(BR2_PACKAGE_QT_SCRIPT),y) -QT_CONFIGURE_OPTS += -script -else -QT_CONFIGURE_OPTS += -no-script -endif - -ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y) -QT_CONFIGURE_OPTS += -scripttools -else -QT_CONFIGURE_OPTS += -no-scripttools -endif - -ifeq ($(BR2_PACKAGE_QT_STL),y) -QT_CONFIGURE_OPTS += -stl -else -QT_CONFIGURE_OPTS += -no-stl -endif - -ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y) -QT_CONFIGURE_OPTS += -declarative -else -QT_CONFIGURE_OPTS += -no-declarative -endif - -# -no-pch is needed to workaround the issue described at -# http://comments.gmane.org/gmane.comp.lib.qt.devel/5933. -# In addition, ccache and precompiled headers don't play well together -QT_CONFIGURE_OPTS += -no-pch - -# x86x86fix -# Workaround Qt Embedded bug when crosscompiling for x86 under x86 with linux -# host. It's unclear if this would happen on other hosts. -ifneq ($(findstring linux,$(GNU_HOST_NAME)),) -ifneq ($(findstring x86,$(QT_EMB_PLATFORM)),) -QT_CONFIGURE_OPTS += -platform linux-g++ -endif -endif -# End of workaround. - -# Variable for other Qt applications to use -QT_QMAKE = $(HOST_DIR)/bin/qmake -spec qws/linux-$(QT_EMB_PLATFORM)-g++ - -################################################################################ -# QT_QMAKE_SET -- helper macro to set = in -# the qmake.conf file. Will remove existing variable declaration if -# available. -# -# Argument 1 is the variable name -# Argument 2 is the value to set variable to -# Argument 3 is the base source directory of Qt -# -# E.G. use like this: -# $(call QT_QMAKE_SET,variable,value,directory) -################################################################################ -define QT_QMAKE_SET - $(SED) '/$(1)/d' $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf - $(SED) "/include.*qws.conf/a$(1) = $(2)" $(3)/mkspecs/qws/linux-$(QT_EMB_PLATFORM)-g++/qmake.conf -endef - -ifneq ($(QT_CONFIG_FILE),) -define QT_CONFIGURE_CONFIG_FILE - cp $(QT_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h -endef -endif - -define QT_CONFIGURE_CMDS - -[ -f $(@D)/Makefile ] && $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) confclean - $(QT_CONFIGURE_IPV6) - $(QT_CONFIGURE_CONFIG_FILE) - # Fix compiler path - $(call QT_QMAKE_SET,QMAKE_CC,$(TARGET_CC),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CXX,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LINK,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LINK_SHLIB,$(TARGET_CXX),$(@D)) - $(call QT_QMAKE_SET,QMAKE_AR,$(TARGET_AR) cqs,$(@D)) - $(call QT_QMAKE_SET,QMAKE_OBJCOPY,$(TARGET_OBJCOPY),$(@D)) - $(call QT_QMAKE_SET,QMAKE_RANLIB,$(TARGET_RANLIB),$(@D)) - $(call QT_QMAKE_SET,QMAKE_STRIP,$(TARGET_STRIP),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CFLAGS,$(QT_CFLAGS),$(@D)) - $(call QT_QMAKE_SET,QMAKE_CXXFLAGS,$(QT_CXXFLAGS),$(@D)) - $(call QT_QMAKE_SET,QMAKE_LFLAGS,$(QT_LDFLAGS),$(@D)) - $(call QT_QMAKE_SET,PKG_CONFIG,$(HOST_DIR)/bin/pkg-config,$(@D)) -# Don't use TARGET_CONFIGURE_OPTS here, qmake would be compiled for the target -# instead of the host then. So set PKG_CONFIG* manually. - (cd $(@D); \ - PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ - PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig:$(PKG_CONFIG_PATH)" \ - $(TARGET_MAKE_ENV) \ - MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" ./configure \ - $(if $(VERBOSE),-verbose,-silent) \ - -force-pkg-config \ - $(QT_CONFIGURE_OPTS) \ - -no-xinerama \ - -no-cups \ - -no-nis \ - -no-separate-debug-info \ - -prefix /usr \ - -plugindir /usr/lib/qt/plugins \ - -importdir /usr/lib/qt/imports \ - -translationdir /usr/share/qt/translations \ - -hostprefix $(STAGING_DIR) \ - -fast \ - -no-rpath \ - ) -endef - -define QT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -endef - -# Build the list of libraries and plugins to install to the target - -QT_INSTALL_LIBS += QtCore -QT_HOST_PROGRAMS += moc rcc qmake lrelease - -ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -QT_INSTALL_LIBS += QtGui -QT_HOST_PROGRAMS += uic -endif -ifeq ($(BR2_PACKAGE_QT_SQL_MODULE),y) -QT_INSTALL_LIBS += QtSql -endif -ifeq ($(BR2_PACKAGE_QT_MULTIMEDIA),y) -QT_INSTALL_LIBS += QtMultimedia -endif -ifeq ($(BR2_PACKAGE_QT_PHONON),y) -QT_INSTALL_LIBS += phonon -endif -ifeq ($(BR2_PACKAGE_QT_SVG),y) -QT_INSTALL_LIBS += QtSvg -endif -ifeq ($(BR2_PACKAGE_QT_NETWORK),y) -QT_INSTALL_LIBS += QtNetwork -endif -ifeq ($(BR2_PACKAGE_QT_WEBKIT),y) -QT_INSTALL_LIBS += QtWebKit -endif -ifeq ($(BR2_PACKAGE_QT_XML),y) -QT_INSTALL_LIBS += QtXml -endif -ifeq ($(BR2_PACKAGE_QT_DBUS),y) -QT_INSTALL_LIBS += QtDBus -endif -ifeq ($(BR2_PACKAGE_QT_XMLPATTERNS),y) -QT_INSTALL_LIBS += QtXmlPatterns -endif -ifeq ($(BR2_PACKAGE_QT_SCRIPT),y) -QT_INSTALL_LIBS += QtScript -endif -ifeq ($(BR2_PACKAGE_QT_SCRIPTTOOLS),y) -QT_INSTALL_LIBS += QtScriptTools -endif -ifeq ($(BR2_PACKAGE_QT_DECLARATIVE),y) -QT_INSTALL_LIBS += QtDeclarative -endif -ifeq ($(BR2_PACKAGE_QT_QT3SUPPORT),y) -QT_INSTALL_LIBS += Qt3Support -endif -ifeq ($(BR2_PACKAGE_QT_OPENGL_ES),y) -QT_INSTALL_LIBS += QtOpenGL -endif -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -QT_INSTALL_LIBS += pvrQWSWSEGL -endif -ifeq ($(BR2_PACKAGE_QT_TEST),y) -QT_INSTALL_LIBS += QtTest -endif - -QT_CONF_FILE = $(HOST_DIR)/bin/qt.conf - -# Since host programs and spec files have been moved to $(HOST_DIR), -# we need to tell qmake the new location of the various elements, -# through a qt.conf file. -define QT_INSTALL_QT_CONF - mkdir -p $(dir $(QT_CONF_FILE)) - echo "[Paths]" > $(QT_CONF_FILE) - echo "Prefix=$(HOST_DIR)" >> $(QT_CONF_FILE) - echo "Headers=$(STAGING_DIR)/usr/include" >> $(QT_CONF_FILE) - echo "Libraries=$(STAGING_DIR)/usr/lib" >> $(QT_CONF_FILE) - echo "Data=$(HOST_DIR)" >> $(QT_CONF_FILE) - echo "Binaries=$(HOST_DIR)/bin" >> $(QT_CONF_FILE) -endef - -# After running Qt normal installation process (which installs -# everything in the STAGING_DIR), we move host programs such as qmake, -# rcc or uic to the HOST_DIR so that they are available at the usual -# location. A qt.conf file is generated to make sure that all host -# programs still find all files they need. The .pc files are tuned to -# remove the sysroot path from them, since pkg-config already adds it -# automatically. -define QT_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install - mkdir -p $(HOST_DIR)/bin - mv $(addprefix $(STAGING_DIR)/usr/bin/,$(QT_HOST_PROGRAMS)) $(HOST_DIR)/bin - ln -sf $(STAGING_DIR)/usr/mkspecs $(HOST_DIR)/mkspecs - $(QT_INSTALL_QT_CONF) - for i in moc uic rcc lupdate lrelease ; do \ - $(SED) "s,^$${i}_location=.*,$${i}_location=$(HOST_DIR)/bin/$${i}," \ - $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc ; \ - done - $(SED) "s,$(STAGING_DIR)/,,g" $(STAGING_DIR)/usr/lib/pkgconfig/Qt*.pc -endef - -# Library installation -ifeq ($(BR2_PACKAGE_QT_SHARED),y) -define QT_INSTALL_TARGET_LIBS - mkdir -p $(TARGET_DIR)/usr/lib - for lib in $(QT_INSTALL_LIBS); do \ - cp -dpf $(STAGING_DIR)/usr/lib/lib$${lib}.so.* $(TARGET_DIR)/usr/lib ; \ - done -endef -endif - -# Plugin installation -define QT_INSTALL_TARGET_PLUGINS - if [ -d $(STAGING_DIR)/usr/lib/qt/plugins/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins ; \ - cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins ; \ - fi -endef - -# Import installation -define QT_INSTALL_TARGET_IMPORTS - if [ -d $(STAGING_DIR)/usr/lib/qt/imports/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/lib/qt/imports ; \ - cp -dpfr $(STAGING_DIR)/usr/lib/qt/imports/* $(TARGET_DIR)/usr/lib/qt/imports ; \ - fi -endef - -# Fonts installation -ifeq ($(BR2_PACKAGE_QT_EMBEDDED),y) -ifneq ($(QT_FONTS),) -define QT_INSTALL_TARGET_FONTS - mkdir -p $(TARGET_DIR)/usr/lib/fonts - cp -dpf $(QT_FONTS) $(TARGET_DIR)/usr/lib/fonts -endef -ifneq ($(BR2_PACKAGE_QT_FONT_MICRO)$(BR2_PACKAGE_QT_FONT_FIXED),) -# as stated in the font source src/3rdparty/fonts/micro.bdf -# source src/3rdparty/fonts/5x7.bdf and source src/3rdparty/fonts/6x13.bdf -QT_LICENSE := $(QT_LICENSE), Public Domain (Micro/Fixed font) -endif -ifneq ($(BR2_PACKAGE_QT_FONT_HELVETICA)$(BR2_PACKAGE_QT_FONT_JAPANESE),) -QT_LICENSE := $(QT_LICENSE), Adobe Helvetica license (Helvetica/Japanese fonts) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYING.Helvetica -endif -ifeq ($(BR2_PACKAGE_QT_FONT_UNIFONT),y) -QT_LICENSE := $(QT_LICENSE), Freeware (Unifont font) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.Unifont -endif -endif # QT_FONTS - -ifeq ($(BR2_PACKAGE_QT_FONT_TRUETYPE),y) -define QT_INSTALL_TARGET_FONTS_TTF - mkdir -p $(TARGET_DIR)/usr/lib/fonts - cp -dpf $(STAGING_DIR)/usr/lib/fonts/*.ttf $(TARGET_DIR)/usr/lib/fonts -endef -QT_LICENSE := $(QT_LICENSE), Bitstream license (DejaVu/Vera TrueType fonts) -QT_LICENSE_FILES += src/3rdparty/fonts/COPYRIGHT.DejaVu \ - src/3rdparty/fonts/README.DejaVu \ - src/3rdparty/fonts/COPYRIGHT.Vera -endif -endif # BR2_PACKAGE_QT_EMBEDDED - -ifeq ($(BR2_PACKAGE_QT_GFX_POWERVR),y) -define QT_INSTALL_TARGET_POWERVR - # Note: this overwrites the default powervr.ini provided by the ti-gfx - # package. - $(INSTALL) -D -m 0644 package/qt/powervr.ini \ - $(TARGET_DIR)/etc/powervr.ini -endef -endif - -ifeq ($(BR2_PACKAGE_QT_TRANSLATION_FILES),y) -define QT_INSTALL_TARGET_TRANSLATIONS - if [ -d $(STAGING_DIR)/usr/share/qt/translations/ ] ; then \ - mkdir -p $(TARGET_DIR)/usr/share/qt/translations ; \ - cp -dpfr $(STAGING_DIR)/usr/share/qt/translations/* $(TARGET_DIR)/usr/share/qt/translations ; \ - fi -endef -endif - -define QT_INSTALL_TARGET_CMDS - $(QT_INSTALL_TARGET_LIBS) - $(QT_INSTALL_TARGET_PLUGINS) - $(QT_INSTALL_TARGET_IMPORTS) - $(QT_INSTALL_TARGET_FONTS) - $(QT_INSTALL_TARGET_FONTS_TTF) - $(QT_INSTALL_TARGET_POWERVR) - $(QT_INSTALL_TARGET_TRANSLATIONS) -endef - -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/Config.in b/bsp/buildroot/package/qt5/Config.in index a9ee44c1..a50b57a8 100644 --- a/bsp/buildroot/package/qt5/Config.in +++ b/bsp/buildroot/package/qt5/Config.in @@ -12,7 +12,6 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on !BR2_ARM_CPU_ARMV4 comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library" - depends on !BR2_PACKAGE_QT depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS menuconfig BR2_PACKAGE_QT5 @@ -21,7 +20,6 @@ menuconfig BR2_PACKAGE_QT5 depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS - depends on !BR2_PACKAGE_QT select BR2_PACKAGE_QT5BASE help This option enables the Qt5 framework. Sub-options allow to @@ -35,14 +33,14 @@ choice prompt "Qt5 version" config BR2_PACKAGE_QT5_VERSION_LATEST - bool "Latest (5.9)" + bool "Latest (5.11)" depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11 depends on !BR2_ARM_CPU_ARMV4 # needs ARMv5+ # no built-in double-conversion support depends on !BR2_arc && !BR2_nios2 && !BR2_xtensa help - This option builds Qt 5.9, which is licensed under + This option builds Qt 5.11, which is licensed under (L)GPL-3.0+. comment "Latest Qt version needs host/toolchain w/ gcc >= 4.8" diff --git a/bsp/buildroot/package/qt5/qt5.mk b/bsp/buildroot/package/qt5/qt5.mk index 84b7a4a4..88ba1958 100644 --- a/bsp/buildroot/package/qt5/qt5.mk +++ b/bsp/buildroot/package/qt5/qt5.mk @@ -5,11 +5,13 @@ ################################################################################ ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) -QT5_VERSION_MAJOR = 5.9 -QT5_VERSION = $(QT5_VERSION_MAJOR).6 +QT5_VERSION_MAJOR = 5.11 +QT5_VERSION = $(QT5_VERSION_MAJOR).3 +QT5_SOURCE_TARBALL_PREFIX = everywhere-src else QT5_VERSION_MAJOR = 5.6 QT5_VERSION = $(QT5_VERSION_MAJOR).3 +QT5_SOURCE_TARBALL_PREFIX = opensource-src endif QT5_SITE = https://download.qt.io/official_releases/qt/$(QT5_VERSION_MAJOR)/$(QT5_VERSION)/submodules diff --git a/bsp/buildroot/package/qt5/qt53d/qt53d.hash b/bsp/buildroot/package/qt5/qt53d/qt53d.hash index dfa595dc..2da55005 100644 --- a/bsp/buildroot/package/qt5/qt53d/qt53d.hash +++ b/bsp/buildroot/package/qt5/qt53d/qt53d.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qt3d-opensource-src-5.6.3.tar.xz.mirrorlist sha256 10d05a30e925fcad971126c7f47a5e32c39f007dab96b298b2094501f9607ffe qt3d-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qt3d-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 c89cbc12fde5a279e5b127651a194cae75003ba8113f9e7e7b24e67495ecff09 qt3d-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qt3d-everywhere-src-5.11.3.tar.xz.sha256 +sha256 04a55c21f365d897ec75042ee83f9ad59a847992c6f55fae0763ad2701d99eab qt3d-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPL diff --git a/bsp/buildroot/package/qt5/qt53d/qt53d.mk b/bsp/buildroot/package/qt5/qt53d/qt53d.mk index 557f643a..48a931d6 100644 --- a/bsp/buildroot/package/qt5/qt53d/qt53d.mk +++ b/bsp/buildroot/package/qt5/qt53d/qt53d.mk @@ -6,7 +6,7 @@ QT53D_VERSION = $(QT5_VERSION) QT53D_SITE = $(QT5_SITE) -QT53D_SOURCE = qt3d-opensource-src-$(QT53D_VERSION).tar.xz +QT53D_SOURCE = qt3d-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT53D_VERSION).tar.xz QT53D_DEPENDENCIES = qt5base qt5declarative QT53D_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5base/5.11.3/0001-qtbase-Fix-build-error-when-using-EGL.patch b/bsp/buildroot/package/qt5/qt5base/5.11.3/0001-qtbase-Fix-build-error-when-using-EGL.patch new file mode 100644 index 00000000..68764980 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.11.3/0001-qtbase-Fix-build-error-when-using-EGL.patch @@ -0,0 +1,37 @@ +From c11299086b7718332e2b4fbc37ce6f6ff427c5ba Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Mon, 27 Mar 2017 15:33:35 +0800 +Subject: [PATCH] qtbase: Fix build error when using EGL +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +A build error was occurring due to missing EGL configuration. + +Fixed by adding the necessary ties to the EGL pkg-config. + +Task-number: QTBUG-61712 +Change-Id: I87190ea39392b4604c563cf9d89edb85068d85fc +Upstream-Status: Pending +Signed-off-by: Gaël PORTAY +--- + mkspecs/features/egl.prf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf +index 9fa0c9e219..85d5852ba6 100644 +--- a/mkspecs/features/egl.prf ++++ b/mkspecs/features/egl.prf +@@ -1,3 +1,9 @@ ++# egl headers need a definition ++PKG_CONFIG = $$pkgConfigExecutable() ++PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl) ++PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*) ++QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS ++ + INCLUDEPATH += $$QMAKE_INCDIR_EGL + LIBS_PRIVATE += $$QMAKE_LIBS_EGL + QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL +-- +2.16.1 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.11.3/0002-double-conversion-enable-for-aarch64_be.patch b/bsp/buildroot/package/qt5/qt5base/5.11.3/0002-double-conversion-enable-for-aarch64_be.patch new file mode 100644 index 00000000..838f4dd7 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.11.3/0002-double-conversion-enable-for-aarch64_be.patch @@ -0,0 +1,26 @@ +From e81ba4e0de16ff741417ae7ed7dfe7b5a83d66e2 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Mon, 13 Aug 2018 20:15:05 +0200 +Subject: [PATCH] double-conversion: enable for aarch64_be + +Signed-off-by: Peter Seiderer +--- + .../double-conversion/include/double-conversion/utils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h +index 20bfd36c84..77baa2861a 100644 +--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h ++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h +@@ -65,7 +65,7 @@ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ +- defined(__AARCH64EL__) ++ defined(__AARCH64EL__) || defined(__AARCH64EB__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) + #if defined(_WIN32) +-- +2.18.0 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.11.3/0003-double-conversion-enable-for-or1k.patch b/bsp/buildroot/package/qt5/qt5base/5.11.3/0003-double-conversion-enable-for-or1k.patch new file mode 100644 index 00000000..53c5a318 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.11.3/0003-double-conversion-enable-for-or1k.patch @@ -0,0 +1,27 @@ +From f9920819e6600a68829fb4600f11b70ebc2a33e7 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Sat, 18 Aug 2018 23:44:20 +0200 +Subject: [PATCH] double-conversion: enable for or1k + +Signed-off-by: Peter Seiderer +--- + .../double-conversion/include/double-conversion/utils.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h +index 77baa2861a..b0a7d5d4f4 100644 +--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h ++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h +@@ -65,7 +65,8 @@ + defined(__sparc__) || defined(__sparc) || defined(__s390__) || \ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ +- defined(__AARCH64EL__) || defined(__AARCH64EB__) ++ defined(__AARCH64EL__) || defined(__AARCH64EB__) || \ ++ defined(__or1k__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) + #if defined(_WIN32) +-- +2.18.0 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.11.3/0004-double-conversion-enable-for-microblaze.patch b/bsp/buildroot/package/qt5/qt5base/5.11.3/0004-double-conversion-enable-for-microblaze.patch new file mode 100644 index 00000000..2d7164b6 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.11.3/0004-double-conversion-enable-for-microblaze.patch @@ -0,0 +1,27 @@ +From 372d33fbe549ea73318c187505716ac99fbf3054 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Tue, 21 Aug 2018 21:11:40 +0200 +Subject: [PATCH] double-conversion: enable for microblaze + +Signed-off-by: Peter Seiderer +--- + .../double-conversion/include/double-conversion/utils.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h +index b0a7d5d4f4..485f680180 100644 +--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h ++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h +@@ -66,7 +66,8 @@ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ + defined(__AARCH64EL__) || defined(__AARCH64EB__) || \ +- defined(__or1k__) ++ defined(__or1k__) || \ ++ defined(__microblaze__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) || defined(__i386) + #if defined(_WIN32) +-- +2.18.0 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch b/bsp/buildroot/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch new file mode 100644 index 00000000..0bdfd491 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.11.3/0005-double-conversion-enable-for-riscv.patch @@ -0,0 +1,31 @@ +From 982801a21c3abad7025a7110275a49e200bc460f Mon Sep 17 00:00:00 2001 +From: Stefan O'Rear +Date: Thu, 17 Nov 2016 09:54:33 -0800 +Subject: [PATCH] double-conversion: enable for riscv + +Original double conversion patch [1] 'Add support for RISC-V' ported +to qtbase-5.11.3. + +[1] Upstream: https://github.com/google/double-conversion/commit/8316ed5bf405835558a476e528d8e1d0adf69dd9 + +Change-Id: Id88a356940f4d61dbcec3741a74db695e47af3f0 +Signed-off-by: Peter Seiderer +--- + src/3rdparty/double-conversion/include/double-conversion/utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h +index 485f680180..a736b14d1e 100644 +--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h ++++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h +@@ -66,6 +66,7 @@ + defined(__SH4__) || defined(__alpha__) || \ + defined(_MIPS_ARCH_MIPS32R2) || \ + defined(__AARCH64EL__) || defined(__AARCH64EB__) || \ ++ defined(__riscv) || \ + defined(__or1k__) || \ + defined(__microblaze__) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-- +2.20.1 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.11.3/qt5base.hash b/bsp/buildroot/package/qt5/qt5base/5.11.3/qt5base.hash new file mode 100644 index 00000000..964bcf1a --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.11.3/qt5base.hash @@ -0,0 +1,11 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtbase-everywhere-src-5.11.3.tar.xz.sha256 +sha256 c6bf887732b83ce072eb72eddb7497bedcdf9ca794e7ed91261a93f063623e1c qtbase-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 88ec689407cf2df9b2eb5c45952564d51ce73c129a3bdffb15c0d2d161ad7558 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 1f4fa3d202198f5d836993748eac9d91157e2cec7fb8426f56000a02a677cdc5 header.BSD +sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING diff --git a/bsp/buildroot/package/qt5/qt5base/5.6.3/0002-qtbase-Fix-build-error-when-using-EGL.patch b/bsp/buildroot/package/qt5/qt5base/5.6.3/0002-qtbase-Fix-build-error-when-using-EGL.patch new file mode 100644 index 00000000..0d0e0f92 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.6.3/0002-qtbase-Fix-build-error-when-using-EGL.patch @@ -0,0 +1,37 @@ +From d69bd3fd52502c7eb2799397fea14afe350e2cbf Mon Sep 17 00:00:00 2001 +From: Yuqing Zhu +Date: Mon, 27 Mar 2017 15:33:35 +0800 +Subject: [PATCH] qtbase: Fix build error when using EGL +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +A build error was occurring due to missing EGL configuration. + +Fixed by adding the necessary ties to the EGL pkg-config. + +Task-number: QTBUG-61712 +Change-Id: I87190ea39392b4604c563cf9d89edb85068d85fc +Upstream-Status: Pending +Signed-off-by: Gaël PORTAY +--- + mkspecs/features/egl.prf | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf +index 9fa0c9e219..85d5852ba6 100644 +--- a/mkspecs/features/egl.prf ++++ b/mkspecs/features/egl.prf +@@ -1,3 +1,9 @@ ++# egl headers need a definition ++PKG_CONFIG = $$pkgConfigExecutable() ++PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl) ++PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*) ++QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS ++ + INCLUDEPATH += $$QMAKE_INCDIR_EGL + LIBS_PRIVATE += $$QMAKE_LIBS_EGL + QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL +-- +2.16.1 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch b/bsp/buildroot/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch new file mode 100644 index 00000000..c8fc426f --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5base/5.6.3/0003-libressl-add-fpermissive-gcc-flag-to-allow-compilati.patch @@ -0,0 +1,29 @@ +From 62588f2d8267c67c2337004e83e80695280db9eb Mon Sep 17 00:00:00 2001 +From: James Grant +Date: Sun, 3 Mar 2019 17:29:29 +1300 +Subject: [PATCH 1/1] libressl - add -fpermissive gcc flag to allow + compilation. + +Workaround for 'const BIO_METHOD *' vs. 'BIO_METHOD *' changes to BIO_new() and BIO_s_mem() function signatures. + +Signed-off-by: James Grant +--- + src/network/ssl/ssl.pri | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri +index 29c47cd7..f0aad448 100644 +--- a/src/network/ssl/ssl.pri ++++ b/src/network/ssl/ssl.pri +@@ -77,7 +77,7 @@ android:!android-no-sdk: SOURCES += ssl/qsslsocket_openssl_android.cpp + LIBS_PRIVATE += $$OPENSSL_LIBS_RELEASE + } + +- QMAKE_CXXFLAGS += $$OPENSSL_CFLAGS ++ QMAKE_CXXFLAGS += $$OPENSSL_CFLAGS -fpermissive + LIBS_PRIVATE += $$OPENSSL_LIBS + win32: LIBS_PRIVATE += -lcrypt32 + } +-- +2.18.1 + diff --git a/bsp/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash b/bsp/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash index f113f82c..2dae2e8b 100644 --- a/bsp/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash +++ b/bsp/buildroot/package/qt5/qt5base/5.6.3/qt5base.hash @@ -1,3 +1,6 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 fef48529a6fc2617a30d75d952cb327c6be341fd104154993922184b3b3b4da1 qtbase-opensource-src-5.6.3.tar.xz + # Hashes for license files: sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 66f6bb53f6d985a4d651bf1ecfe8bbcbe32b0f744708d588f047580ee85d8ec8 LICENSE.LGPLv21 diff --git a/bsp/buildroot/package/qt5/qt5base/Config.in b/bsp/buildroot/package/qt5/qt5base/Config.in index b5755e2b..696e6897 100644 --- a/bsp/buildroot/package/qt5/qt5base/Config.in +++ b/bsp/buildroot/package/qt5/qt5base/Config.in @@ -75,14 +75,15 @@ config BR2_PACKAGE_QT5BASE_PSQL bool "PostgreSQL Plugin" depends on BR2_USE_MMU # postgresql depends on !BR2_STATIC_LIBS + depends on BR2_USE_WCHAR # postgresql select BR2_PACKAGE_POSTGRESQL help Build PostgreSQL plugin If unsure, say n. -comment "PostgreSQL plugin needs a toolchain w/ dynamic library" +comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library" depends on BR2_USE_MMU - depends on BR2_STATIC_LIBS + depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR choice prompt "SQLite 3 support" @@ -103,6 +104,7 @@ config BR2_PACKAGE_QT5BASE_SQLITE_QT config BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM bool "System SQLite" select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA help Use system SQLite. @@ -284,6 +286,12 @@ comment "icu support needs a toolchain w/ gcc >= 4.8, host gcc >= 4.8" depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ !BR2_HOST_GCC_AT_LEAST_4_8 +config BR2_PACKAGE_QT5BASE_OPENSSL + bool + # No OpenSSL 1.1.x support in Qt 5.6.x + default y if BR2_PACKAGE_QT5_VERSION_5_6 && BR2_PACKAGE_LIBRESSL + default y if BR2_PACKAGE_QT5_VERSION_LATEST && BR2_PACKAGE_OPENSSL + config BR2_PACKAGE_QT5BASE_TSLIB bool "Enable Tslib support" select BR2_PACKAGE_TSLIB diff --git a/bsp/buildroot/package/qt5/qt5base/qt5base.hash b/bsp/buildroot/package/qt5/qt5base/qt5base.hash index 950785c0..5316f03b 100644 --- a/bsp/buildroot/package/qt5/qt5base/qt5base.hash +++ b/bsp/buildroot/package/qt5/qt5base/qt5base.hash @@ -1,14 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz.mirrorlist -sha256 fef48529a6fc2617a30d75d952cb327c6be341fd104154993922184b3b3b4da1 qtbase-opensource-src-5.6.3.tar.xz - -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtbase-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 eed620cb268b199bd83b3fc6a471c51d51e1dc2dbb5374fc97a0cc75facbe36f qtbase-opensource-src-5.9.6.tar.xz - -# Hashes for license files: -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 -sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 -sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT -sha256 68afaf3392f8c04218fbf29db43cc0b18bf651c1db086556aa584046de9f3e35 LICENSE.LGPLv3 -sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL -sha256 8fdefa0b45d9f791f687da6c2c4c83c1b701aaee2c08008f55d522af214b88f0 header.BSD -sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/qt5/qt5base/qt5base.mk b/bsp/buildroot/package/qt5/qt5base/qt5base.mk index b79059c2..e7f6e658 100644 --- a/bsp/buildroot/package/qt5/qt5base/qt5base.mk +++ b/bsp/buildroot/package/qt5/qt5base/qt5base.mk @@ -6,7 +6,7 @@ QT5BASE_VERSION = $(QT5_VERSION) QT5BASE_SITE = $(QT5_SITE) -QT5BASE_SOURCE = qtbase-opensource-src-$(QT5BASE_VERSION).tar.xz +QT5BASE_SOURCE = qtbase-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5BASE_VERSION).tar.xz QT5BASE_DEPENDENCIES = host-pkgconf zlib QT5BASE_INSTALL_STAGING = YES @@ -33,7 +33,24 @@ else QT5BASE_DEPENDENCIES += pcre2 endif -QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) +ifeq ($(BR2_X86_CPU_HAS_SSE2),) +QT5BASE_CONFIGURE_OPTS += -no-sse2 +else ifeq ($(BR2_X86_CPU_HAS_SSE3),) +QT5BASE_CONFIGURE_OPTS += -no-sse3 +else ifeq ($(BR2_X86_CPU_HAS_SSSE3),) +QT5BASE_CONFIGURE_OPTS += -no-ssse3 +else ifeq ($(BR2_X86_CPU_HAS_SSE4),) +QT5BASE_CONFIGURE_OPTS += -no-sse4.1 +else ifeq ($(BR2_X86_CPU_HAS_SSE42),) +QT5BASE_CONFIGURE_OPTS += -no-sse4.2 +else ifeq ($(BR2_X86_CPU_HAS_AVX),) +QT5BASE_CONFIGURE_OPTS += -no-avx +else ifeq ($(BR2_X86_CPU_HAS_AVX2),) +QT5BASE_CONFIGURE_OPTS += -no-avx2 +else +# no buildroot BR2_X86_CPU_HAS_AVX512 option yet for qt configure +# option '-no-avx512' (available for latest only) +endif ifeq ($(BR2_PACKAGE_LIBDRM),y) QT5BASE_CONFIGURE_OPTS += -kms @@ -63,7 +80,7 @@ endif QT5BASE_CONFIGURE_OPTS += -opensource -confirm-license ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5BASE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) -QT5BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL else QT5BASE_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5BASE_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL @@ -171,8 +188,15 @@ else QT5BASE_CONFIGURE_OPTS += -no-eglfs endif +ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) +# No OpenSSL 1.1.x support in Qt 5.6.x +# LibreSSL works with shared linkage only and -fpermissive patch +QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBRESSL),-openssl-linked,-no-openssl) +QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBRESSL),openssl) +else QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl) +endif QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig) QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig) @@ -247,9 +271,14 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus -ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_IMX_GPU_VIV),yy) +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) # use vivante backend QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_viv +else ifeq ($(BR2_PACKAGE_SUNXI_MALI)$(BR2_PACKAGE_SUNXI_MALI_MAINLINE),y) +# use mali backend +QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_mali +endif endif ifneq ($(QT5BASE_CONFIG_FILE),) @@ -266,6 +295,15 @@ define QT5BASE_CONFIGURE_ARCH_CONFIG endef endif +# This allows to use ccache when available +define QT5BASE_CONFIGURE_HOSTCC + $(SED) 's,^QMAKE_CC\s*=.*,QMAKE_CC = $(HOSTCC),' $(@D)/mkspecs/common/g++-base.conf + $(SED) 's,^QMAKE_CXX\s*=.*,QMAKE_CXX = $(HOSTCXX),' $(@D)/mkspecs/common/g++-base.conf +endef + +# Must be last so can override all options set by Buildroot +QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS)) + define QT5BASE_CONFIGURE_CMDS mkdir -p $(@D)/mkspecs/devices/linux-buildroot-g++/ sed 's/@EGLFS_DEVICE@/$(QT5BASE_EGLFS_DEVICE)/g' \ @@ -276,11 +314,10 @@ define QT5BASE_CONFIGURE_CMDS $(QT5BASE_CONFIGURE_CONFIG_FILE) touch $(QT5BASE_ARCH_CONFIG_FILE) $(QT5BASE_CONFIGURE_ARCH_CONFIG) + $(QT5BASE_CONFIGURE_HOSTCC) (cd $(@D); \ $(TARGET_MAKE_ENV) \ PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \ - PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \ - PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \ MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \ ./configure \ -v \ @@ -294,8 +331,8 @@ define QT5BASE_CONFIGURE_CMDS -nomake tests \ -device buildroot \ -device-option CROSS_COMPILE="$(TARGET_CROSS)" \ - -device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS) $(QT5BASE_EXTRA_CFLAGS)" \ - -device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS) $(QT5BASE_EXTRA_CFLAGS)" \ + -device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \ + -device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \ $(QT5BASE_CONFIGURE_OPTS) \ ) endef diff --git a/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash b/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash index be353fbc..4fc7c613 100644 --- a/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash +++ b/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.hash @@ -1,10 +1,14 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtcanvas3d-opensource-src-5.6.3.tar.xz.mirrorlist sha256 e99e0e159f2fba539b7947a1921072f6807f20958d32809edbf12aac571f56ff qtcanvas3d-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtcanvas3d-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 9da45991f62152c2c76931aed8a6059375fdce441b38752991e1ad2c77507c22 qtcanvas3d-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtcanvas3d-everywhere-src-5.11.3.tar.xz.sha256 +sha256 d5a004848588c1c53ea7ed9d36bb5bfe3a813ffc45290066d2f6cfcace072138 qtcanvas3d-everywhere-src-5.11.3.tar.xz # Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 diff --git a/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk b/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk index 97b0ec49..ef5b373d 100644 --- a/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk +++ b/bsp/buildroot/package/qt5/qt5canvas3d/qt5canvas3d.mk @@ -6,12 +6,17 @@ QT5CANVAS3D_VERSION = $(QT5_VERSION) QT5CANVAS3D_SITE = $(QT5_SITE) -QT5CANVAS3D_SOURCE = qtcanvas3d-opensource-src-$(QT5CANVAS3D_VERSION).tar.xz +QT5CANVAS3D_SOURCE = qtcanvas3d-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CANVAS3D_VERSION).tar.xz QT5CANVAS3D_DEPENDENCIES = qt5base qt5declarative QT5CANVAS3D_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5CANVAS3D_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools) +QT5CANVAS3D_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 +else QT5CANVAS3D_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0 QT5CANVAS3D_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv3 +endif define QT5CANVAS3D_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) @@ -26,8 +31,15 @@ define QT5CANVAS3D_INSTALL_STAGING_CMDS $(QT5_LA_PRL_FILES_FIXUP) endef +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5CANVAS3D_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/canvas3d $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + define QT5CANVAS3D_INSTALL_TARGET_CMDS cp -dpfr $(STAGING_DIR)/usr/qml/QtCanvas3D $(TARGET_DIR)/usr/qml/ + $(QT5CANVAS3D_INSTALL_TARGET_EXAMPLES) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5charts/Config.in b/bsp/buildroot/package/qt5/qt5charts/Config.in index 78f08fe6..db199922 100644 --- a/bsp/buildroot/package/qt5/qt5charts/Config.in +++ b/bsp/buildroot/package/qt5/qt5charts/Config.in @@ -1,9 +1,5 @@ -comment "qt5charts needs at least qt-5.7" - depends on !BR2_PACKAGE_QT5_VERSION_LATEST - config BR2_PACKAGE_QT5CHARTS bool "qt5charts" - depends on BR2_PACKAGE_QT5_VERSION_LATEST select BR2_PACKAGE_QT5BASE select BR2_PACKAGE_QT5BASE_GUI select BR2_PACKAGE_QT5BASE_WIDGETS diff --git a/bsp/buildroot/package/qt5/qt5charts/qt5charts.hash b/bsp/buildroot/package/qt5/qt5charts/qt5charts.hash index 84e89591..2519b8f1 100644 --- a/bsp/buildroot/package/qt5/qt5charts/qt5charts.hash +++ b/bsp/buildroot/package/qt5/qt5charts/qt5charts.hash @@ -1,5 +1,8 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtcharts-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 5fd60f08b1815b0e7b813c75a0ec726bffc7cc686b160bebf1e710e882ceadab qtcharts-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtcharts-opensource-src-2.1.3.tar.xz.mirrorlist +sha256 f636a9b1c255f678f11b36cd73abc807d16dae0c31ecbc75c09524703aae7d2f qtcharts-opensource-src-2.1.3.tar.xz + +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtcharts-everywhere-src-5.11.3.tar.xz.sha256 +sha256 4798f3ebc4d937d1c190db7ff718ad5affa907caa56b5557e593f6b5a60d95dc qtcharts-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 diff --git a/bsp/buildroot/package/qt5/qt5charts/qt5charts.mk b/bsp/buildroot/package/qt5/qt5charts/qt5charts.mk index c15e4e02..9e2e6de8 100644 --- a/bsp/buildroot/package/qt5/qt5charts/qt5charts.mk +++ b/bsp/buildroot/package/qt5/qt5charts/qt5charts.mk @@ -4,9 +4,14 @@ # ################################################################################ +# Qt5Charts does not follow Qt versionning for 5.6 +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5CHARTS_VERSION = $(QT5_VERSION) +else +QT5CHARTS_VERSION = 2.1.3 +endif QT5CHARTS_SITE = $(QT5_SITE) -QT5CHARTS_SOURCE = qtcharts-opensource-src-$(QT5CHARTS_VERSION).tar.xz +QT5CHARTS_SOURCE = qtcharts-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CHARTS_VERSION).tar.xz QT5CHARTS_DEPENDENCIES = qt5base QT5CHARTS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash b/bsp/buildroot/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash new file mode 100644 index 00000000..54fda648 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5connectivity/5.11.3/qt5connectivity.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtconnectivity-everywhere-src-5.11.3.tar.xz.sha256 +sha256 148cfcbceb3d0a70059f4d92fa069baf56babb627b16a4203b318ca6f0d0b32a qtconnectivity-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash b/bsp/buildroot/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash new file mode 100644 index 00000000..c1a03c5e --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5connectivity/5.6.3/qt5connectivity.hash @@ -0,0 +1,10 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 fa406e3d63fa4a2acc8ecae6d110f20c766f19a21c7061a12f3c167deb07ccde qtconnectivity-opensource-src-5.6.3.tar.xz + +# Hashes for license files: +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt diff --git a/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash b/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash index 1da448ad..5316f03b 100644 --- a/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash +++ b/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.hash @@ -1,5 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz.mirrorlist -sha256 fa406e3d63fa4a2acc8ecae6d110f20c766f19a21c7061a12f3c167deb07ccde qtconnectivity-opensource-src-5.6.3.tar.xz - -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtconnectivity-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 6c696855c2d4e63709ba81d22c85cab30f66418eac2fb2810a02a4b47a531c57 qtconnectivity-opensource-src-5.9.6.tar.xz +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.mk b/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.mk index 4369a411..6de1536b 100644 --- a/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.mk +++ b/bsp/buildroot/package/qt5/qt5connectivity/qt5connectivity.mk @@ -6,7 +6,7 @@ QT5CONNECTIVITY_VERSION = $(QT5_VERSION) QT5CONNECTIVITY_SITE = $(QT5_SITE) -QT5CONNECTIVITY_SOURCE = qtconnectivity-opensource-src-$(QT5CONNECTIVITY_VERSION).tar.xz +QT5CONNECTIVITY_SOURCE = qtconnectivity-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5CONNECTIVITY_VERSION).tar.xz QT5CONNECTIVITY_DEPENDENCIES = qt5base QT5CONNECTIVITY_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch b/bsp/buildroot/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch new file mode 100644 index 00000000..1c0f6ecc --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5declarative/5.11.3/0001-qsgtexture-fix-debug-build-with-uclibc.patch @@ -0,0 +1,45 @@ +From 2a5711651bee9d021733da19126a71aeda45e646 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 29 Nov 2018 23:33:10 +0100 +Subject: [PATCH] qsgtexture: fix debug build with uclibc + +Debug build of gsgtexture fails on uclibc since version 5.11 and +https://github.com/qt/qtdeclarative/commit/7c507eaac3f848f92f2ebdafe8ded4a064d68351: + +scenegraph/util/qsgtexture.cpp:69:22: fatal error: execinfo.h: No such file or directory + #include + +Indeed, !defined(__UCLIBC__) has been replaced by defined(__GBLIBC__) to +fix build on musl but as a result, build fails on uclibc because uclibc +also defines __GLIBC__ (and it does not have execinfo like musl) + +This error is raised only when building in debug mode because +CAN_BACKTRACE_EXECINFO is undefined if QT_NO_DEBUG is set + +So keep defined(__GLIBC__), but put back !defined(__UCLIBC__) + +Fixes: + - http://autobuild.buildroot.org/results/6fce0ce5aea943e097532efbbc8d1e28f41e5866 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/qt/qtdeclarative/pull/4] +--- + src/quick/scenegraph/util/qsgtexture.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp +index fea92a512..a26191006 100644 +--- a/src/quick/scenegraph/util/qsgtexture.cpp ++++ b/src/quick/scenegraph/util/qsgtexture.cpp +@@ -53,7 +53,7 @@ + #endif + #include + +-#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) && defined(__GLIBC__) ++#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID) && defined(__GLIBC__) && !defined(__UCLIBC__) + #define CAN_BACKTRACE_EXECINFO + #endif + +-- +2.14.1 + diff --git a/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.hash b/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.hash index 9bbda422..3ce4e502 100644 --- a/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.hash +++ b/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-opensource-src-5.6.3.tar.xz.mirrorlist sha256 f63fc053d0d16b8a9ca9308f8ead77874b470ae31b66057e2bd336bf648191fc qtdeclarative-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtdeclarative-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 058fd99a779a753fc5f5e887f1afb799aa53b9f010faa06374b1cfb6fc8bad8a qtdeclarative-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtdeclarative-everywhere-src-5.11.3.tar.xz.sha256 +sha256 8e263621d706f1c4def5d71212a6ae37b0d3c378da89d9e3e5fc0b5557721ae6 qtdeclarative-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.mk b/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.mk index de8b0483..2fe72b3b 100644 --- a/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.mk +++ b/bsp/buildroot/package/qt5/qt5declarative/qt5declarative.mk @@ -6,7 +6,7 @@ QT5DECLARATIVE_VERSION = $(QT5_VERSION) QT5DECLARATIVE_SITE = $(QT5_SITE) -QT5DECLARATIVE_SOURCE = qtdeclarative-opensource-src-$(QT5DECLARATIVE_VERSION).tar.xz +QT5DECLARATIVE_SOURCE = qtdeclarative-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5DECLARATIVE_VERSION).tar.xz QT5DECLARATIVE_DEPENDENCIES = qt5base qt5xmlpatterns QT5DECLARATIVE_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5enginio/qt5enginio.mk b/bsp/buildroot/package/qt5/qt5enginio/qt5enginio.mk index 603b2a51..38f30964 100644 --- a/bsp/buildroot/package/qt5/qt5enginio/qt5enginio.mk +++ b/bsp/buildroot/package/qt5/qt5enginio/qt5enginio.mk @@ -7,7 +7,7 @@ # Qt5Enginio does not follow Qt versionning # see https://bugreports.qt.io/browse/QTBUG-50111 QT5ENGINIO_VERSION = 1.6.3 -QT5ENGINIO_SITE = $(QT5_SITE) +QT5ENGINIO_SITE = https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules QT5ENGINIO_SOURCE = qtenginio-opensource-src-$(QT5ENGINIO_VERSION).tar.xz QT5ENGINIO_DEPENDENCIES = openssl qt5base QT5ENGINIO_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash b/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash index c7f93129..36dd3452 100644 --- a/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash +++ b/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtgraphicaleffects-opensource-src-5.6.3.tar.xz.mirrorlist sha256 c742592d5e45b122b29df60b69be23ba7c817f2dc471db86e054f6ea24a999ed qtgraphicaleffects-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtgraphicaleffects-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 5f98bc62e8f27bd13853e90306e7e10f47fb06d7cd38f2e7be76bd907ef37154 qtgraphicaleffects-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtgraphicaleffects-everywhere-src-5.11.3.tar.xz.sha256 +sha256 14d86983fcdd119daefad235ffee7d8ca691e6074ef360cb6347b8aae66f57e2 qtgraphicaleffects-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk b/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk index 2f6380f7..c5011a94 100644 --- a/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk +++ b/bsp/buildroot/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk @@ -6,7 +6,7 @@ QT5GRAPHICALEFFECTS_VERSION = $(QT5_VERSION) QT5GRAPHICALEFFECTS_SITE = $(QT5_SITE) -QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-opensource-src-$(QT5GRAPHICALEFFECTS_VERSION).tar.xz +QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5GRAPHICALEFFECTS_VERSION).tar.xz QT5GRAPHICALEFFECTS_DEPENDENCIES = qt5base qt5declarative QT5GRAPHICALEFFECTS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash b/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash index d24e5505..1c1f81bb 100644 --- a/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash +++ b/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtimageformats-opensource-src-5.6.3.tar.xz.mirrorlist sha256 efe4da3c90c976c9b9a2eb6b081d2b8e1435935695104456276ce98e8a5848c3 qtimageformats-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtimageformats-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 158272da5e49a388b43423399592372968984323bfd543a5a992bbd466ff4060 qtimageformats-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtimageformats-everywhere-src-5.11.3.tar.xz.sha256 +sha256 04b261bc3d7a277fbe9ac8619ecd037d7089b356eaee41b2d41d7a2ff58b087f qtimageformats-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.mk b/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.mk index f70f131d..fa13ebed 100644 --- a/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.mk +++ b/bsp/buildroot/package/qt5/qt5imageformats/qt5imageformats.mk @@ -6,7 +6,7 @@ QT5IMAGEFORMATS_VERSION = $(QT5_VERSION) QT5IMAGEFORMATS_SITE = $(QT5_SITE) -QT5IMAGEFORMATS_SOURCE = qtimageformats-opensource-src-$(QT5IMAGEFORMATS_VERSION).tar.xz +QT5IMAGEFORMATS_SOURCE = qtimageformats-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5IMAGEFORMATS_VERSION).tar.xz QT5IMAGEFORMATS_DEPENDENCIES = qt5base QT5IMAGEFORMATS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5location/5.11.3/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch b/bsp/buildroot/package/qt5/qt5location/5.11.3/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch new file mode 100644 index 00000000..f893c33d --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5location/5.11.3/0001-qdeclarativegeomap-fix-building-with-GCC-5.x.patch @@ -0,0 +1,48 @@ +From ad78b1a671edac369ede86bff376ec8af2cafbf2 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 5 Sep 2018 12:51:41 +0200 +Subject: [PATCH] qdeclarativegeomap: fix building with GCC < 5.x + +With GCC < 5.x implicit casts don't work as expected, in particular +QPointer in m_map QDeclarativeGeoMap class when passed to +connect(m_map, ...) should directly cast to m_map.data(). + +Workaround this using connect(m_map.data(), ...). + +Signed-off-by: Giulio Benetti +--- + src/location/declarativemaps/qdeclarativegeomap.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/location/declarativemaps/qdeclarativegeomap.cpp b/src/location/declarativemaps/qdeclarativegeomap.cpp +index 09f9d01c..dc5a32ed 100644 +--- a/src/location/declarativemaps/qdeclarativegeomap.cpp ++++ b/src/location/declarativemaps/qdeclarativegeomap.cpp +@@ -694,11 +694,11 @@ void QDeclarativeGeoMap::mappingManagerInitialized() + QImage copyrightImage; + if (!m_initialized && width() > 0 && height() > 0) { + QMetaObject::Connection copyrightStringCatcherConnection = +- connect(m_map, ++ connect(m_map.data(), + QOverload::of(&QGeoMap::copyrightsChanged), + [©rightString](const QString ©){ copyrightString = copy; }); + QMetaObject::Connection copyrightImageCatcherConnection = +- connect(m_map, ++ connect(m_map.data(), + QOverload::of(&QGeoMap::copyrightsChanged), + [©rightImage](const QImage ©){ copyrightImage = copy; }); + m_map->setViewportSize(QSize(width(), height())); +@@ -719,8 +719,8 @@ void QDeclarativeGeoMap::mappingManagerInitialized() + emit m_map->copyrightsChanged(copyrightImage); + + +- connect(m_map, &QGeoMap::sgNodeChanged, this, &QQuickItem::update); +- connect(m_map, &QGeoMap::cameraCapabilitiesChanged, this, &QDeclarativeGeoMap::onCameraCapabilitiesChanged); ++ connect(m_map.data(), &QGeoMap::sgNodeChanged, this, &QQuickItem::update); ++ connect(m_map.data(), &QGeoMap::cameraCapabilitiesChanged, this, &QDeclarativeGeoMap::onCameraCapabilitiesChanged); + + // This prefetches a buffer around the map + m_map->prefetchData(); +-- +2.17.1 + diff --git a/bsp/buildroot/package/qt5/qt5location/Config.in b/bsp/buildroot/package/qt5/qt5location/Config.in index e1778182..7c39979e 100644 --- a/bsp/buildroot/package/qt5/qt5location/Config.in +++ b/bsp/buildroot/package/qt5/qt5location/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_QT5LOCATION bool "qt5location" select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5BASE_GUI help Qt is a cross-platform application and UI framework for developers using C++. diff --git a/bsp/buildroot/package/qt5/qt5location/qt5location.hash b/bsp/buildroot/package/qt5/qt5location/qt5location.hash index a21e7077..be0ac7c3 100644 --- a/bsp/buildroot/package/qt5/qt5location/qt5location.hash +++ b/bsp/buildroot/package/qt5/qt5location/qt5location.hash @@ -1,13 +1,16 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtlocation-opensource-src-5.6.3.tar.xz.mirrorlist sha256 b7a81c58cc331fb15bea8fba21d3c9a59f6dc6ad2e4855e30a14ce59a2af1466 qtlocation-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtlocation-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 7d65c8e155c617719e2fb56d39f11cf2bc911a43cf6667c124d86cc1a12619c9 qtlocation-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtlocation-everywhere-src-5.11.3.tar.xz.sha256 +sha256 58e498a5b496e3a38925398b244bbd57ba68cbb482f2a0d2ae51572e037100eb qtlocation-everywhere-src-5.11.3.tar.xz # Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 diff --git a/bsp/buildroot/package/qt5/qt5location/qt5location.mk b/bsp/buildroot/package/qt5/qt5location/qt5location.mk index e9f1e4d9..da0aad79 100644 --- a/bsp/buildroot/package/qt5/qt5location/qt5location.mk +++ b/bsp/buildroot/package/qt5/qt5location/qt5location.mk @@ -6,13 +6,13 @@ QT5LOCATION_VERSION = $(QT5_VERSION) QT5LOCATION_SITE = $(QT5_SITE) -QT5LOCATION_SOURCE = qtlocation-opensource-src-$(QT5LOCATION_VERSION).tar.xz +QT5LOCATION_SOURCE = qtlocation-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5LOCATION_VERSION).tar.xz QT5LOCATION_DEPENDENCIES = qt5base QT5LOCATION_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5LOCATION_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) -QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5LOCATION_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else QT5LOCATION_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL @@ -44,6 +44,17 @@ define QT5LOCATION_INSTALL_TARGET_LOCATION cp -dpf $(STAGING_DIR)/usr/lib/libQt5Location.so.* $(TARGET_DIR)/usr/lib cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/geoservices $(TARGET_DIR)/usr/lib/qt/plugins/ endef +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +define QT5LOCATION_INSTALL_TARGET_POSITION_QUICK + cp -dpf $(STAGING_DIR)/usr/lib/libQt5PositioningQuick.so.* $(TARGET_DIR)/usr/lib +endef +endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5LOCATION_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/location $(TARGET_DIR)/usr/lib/qt/examples/ + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/positioning $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif endif define QT5LOCATION_INSTALL_TARGET_POSITION @@ -53,8 +64,10 @@ endef define QT5LOCATION_INSTALL_TARGET_CMDS $(QT5LOCATION_INSTALL_TARGET_POSITION) + $(QT5LOCATION_INSTALL_TARGET_POSITION_QUICK) $(QT5LOCATION_INSTALL_TARGET_LOCATION) $(QT5LOCATION_INSTALL_TARGET_QMLS) + $(QT5LOCATION_INSTALL_TARGET_EXAMPLES) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash b/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash index 69a378f4..851cbc35 100644 --- a/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash +++ b/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtmultimedia-opensource-src-5.6.3.tar.xz.mirrorlist sha256 ae36039ea8037742342f1615687e0ca2188f3ed0d700627a5e5be546c15e1b46 qtmultimedia-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtmultimedia-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 9edc11d74e10e4ef857ab38a66700259829e6b5baa4ab0b30655f549d8939fff qtmultimedia-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtmultimedia-everywhere-src-5.11.3.tar.xz.sha256 +sha256 728078eff7dc21495d704a7cd17c604d74604604b45a3c58271608f90dea3c41 qtmultimedia-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 @@ -14,3 +14,4 @@ sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE. sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 c1d75c15db4409bcbb182180d582f410a263dc9a631cd546b256e95f1da42165 examples/multimedia/spectrum/3rdparty/fftreal/license.txt diff --git a/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk b/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk index 041ef490..d044b7b9 100644 --- a/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk +++ b/bsp/buildroot/package/qt5/qt5multimedia/qt5multimedia.mk @@ -6,7 +6,7 @@ QT5MULTIMEDIA_VERSION = $(QT5_VERSION) QT5MULTIMEDIA_SITE = $(QT5_SITE) -QT5MULTIMEDIA_SOURCE = qtmultimedia-opensource-src-$(QT5MULTIMEDIA_VERSION).tar.xz +QT5MULTIMEDIA_SOURCE = qtmultimedia-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5MULTIMEDIA_VERSION).tar.xz QT5MULTIMEDIA_DEPENDENCIES = qt5base QT5MULTIMEDIA_INSTALL_STAGING = YES @@ -34,15 +34,8 @@ ifeq ($(BR2_PACKAGE_ALSA_LIB),y) QT5MULTIMEDIA_DEPENDENCIES += alsa-lib endif -# The mesa's EGL/eglplatform.h header includes X11 headers unless the flag -# MESA_EGL_NO_X11_HEADERS is defined. Tell to not include X11 headers if -# the libxcb is not selected. -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)x$(BR2_PACKAGE_LIBXCB),yx) -QT5MULTIMEDIA_QMAKEFLAGS += QMAKE_CXXFLAGS+=-DMESA_EGL_NO_X11_HEADERS -endif - define QT5MULTIMEDIA_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5MULTIMEDIA_QMAKEFLAGS)) + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake) endef define QT5MULTIMEDIA_BUILD_CMDS @@ -55,7 +48,9 @@ define QT5MULTIMEDIA_INSTALL_STAGING_CMDS endef ifeq ($(BR2_STATIC_LIBS),) -ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) +# since Qt5.10.1 libqgsttools was renamed to libQtMultimediaGstTools +# and is installed by the default target install step below +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)x$(BR2_PACKAGE_GST1_PLUGINS_BASE),xy) define QT5MULTIMEDIA_INSTALL_TARGET_QGSTTOOLS_LIB cp -dpf $(STAGING_DIR)/usr/lib/libqgsttools*.so.* $(TARGET_DIR)/usr/lib endef @@ -66,7 +61,7 @@ define QT5MULTIMEDIA_INSTALL_TARGET_LIBS cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins $(QT5MULTIMEDIA_INSTALL_TARGET_QGSTTOOLS_LIB) endef -endif +endif # !BR2_STATIC_LIBS # this is only built with quick/opengl support enabled ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5_GL_AVAILABLE),yy) @@ -76,6 +71,8 @@ endef endif ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +QT5MULTIMEDIA_LICENSE := $(QT5MULTIMEDIA_LICENSE), LGPL-2.1+ (examples/multimedia/spectrum/3rdparty/fftreal) +QT5MULTIMEDIA_LICENSE_FILES += examples/multimedia/spectrum/3rdparty/fftreal/license.txt define QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/multimedia* $(TARGET_DIR)/usr/lib/qt/examples/ endef diff --git a/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash b/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash index 37ddd005..25c41c6e 100644 --- a/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash +++ b/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols-opensource-src-5.6.3.tar.xz.mirrorlist sha256 31bb0fc8f21b855af6ff02c415be3246128b523d0ef7c05e248e92281ab0db8e qtquickcontrols-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtquickcontrols-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 da4dd353802197c2bb53c92a36cf7749c7d9dc29b4acc919b692683e9c1c3313 qtquickcontrols-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols-everywhere-src-5.11.3.tar.xz.sha256 +sha256 4e4e5da02ab0b06d35b09356170013cfe36a773d15f92281f7e6d085c3f07537 qtquickcontrols-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 diff --git a/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk index 87b85593..3e0c5eff 100644 --- a/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk +++ b/bsp/buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk @@ -6,7 +6,7 @@ QT5QUICKCONTROLS_VERSION = $(QT5_VERSION) QT5QUICKCONTROLS_SITE = $(QT5_SITE) -QT5QUICKCONTROLS_SOURCE = qtquickcontrols-opensource-src-$(QT5QUICKCONTROLS_VERSION).tar.xz +QT5QUICKCONTROLS_SOURCE = qtquickcontrols-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5QUICKCONTROLS_VERSION).tar.xz QT5QUICKCONTROLS_DEPENDENCIES = qt5base qt5declarative QT5QUICKCONTROLS_INSTALL_STAGING = YES @@ -30,6 +30,12 @@ define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install endef +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5QUICKCONTROLS_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/quickcontrols $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5BASE_WIDGETS),yy) define QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick @@ -48,6 +54,7 @@ define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick $(QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS) $(QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS) + $(QT5QUICKCONTROLS_INSTALL_TARGET_EXAMPLES) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash b/bsp/buildroot/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash new file mode 100644 index 00000000..b1caf464 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5quickcontrols2/5.11.3/qt5quickcontrols2.hash @@ -0,0 +1,7 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols2-everywhere-src-5.11.3.tar.xz.sha256 +sha256 f45630b652585b62204405b28432977e67c148ca5f1789a794654fd6c1bad086 qtquickcontrols2-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 +sha256 9e63a04ce021b8bf811b30881fa51c8c3db88afeead942cd59322f2fb69c75bc LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash b/bsp/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash index 6f5bf294..01fe5dcd 100644 --- a/bsp/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash +++ b/bsp/buildroot/package/qt5/qt5quickcontrols2/5.6.3/qt5quickcontrols2.hash @@ -1,3 +1,6 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 ec5078470abe2da888c2be5d1749b5961ef5132487c180ce4d4aa19ea7ff81cb qtquickcontrols2-opensource-src-5.6.3.tar.xz + # Hashes for license files: sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 diff --git a/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash b/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash index ae6fb01f..5316f03b 100644 --- a/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash +++ b/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash @@ -1,10 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz.mirrorlist -sha256 ec5078470abe2da888c2be5d1749b5961ef5132487c180ce4d4aa19ea7ff81cb qtquickcontrols2-opensource-src-5.6.3.tar.xz - -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtquickcontrols2-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 24b41ae6acec9372190147736ba31bf0b4467c71cc4b14817e3a82a750481679 qtquickcontrols2-opensource-src-5.9.6.tar.xz - -# Hashes for license files: -sha256 d2cfc059acb4abd8e513cd0a73cd8489f34cbafa7bc34d5d31fb3210821cf8ca LICENSE.GPLv3 -sha256 9e63a04ce021b8bf811b30881fa51c8c3db88afeead942cd59322f2fb69c75bc LICENSE.LGPLv3 -sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk index f27cafc6..c2004c2e 100644 --- a/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk +++ b/bsp/buildroot/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk @@ -6,7 +6,7 @@ QT5QUICKCONTROLS2_VERSION = $(QT5_VERSION) QT5QUICKCONTROLS2_SITE = $(QT5_SITE) -QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-opensource-src-$(QT5QUICKCONTROLS2_VERSION).tar.xz +QT5QUICKCONTROLS2_SOURCE = qtquickcontrols2-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5QUICKCONTROLS2_VERSION).tar.xz QT5QUICKCONTROLS2_DEPENDENCIES = qt5base qt5declarative QT5QUICKCONTROLS2_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5script/qt5script.hash b/bsp/buildroot/package/qt5/qt5script/qt5script.hash index acbd3dfa..245d66be 100644 --- a/bsp/buildroot/package/qt5/qt5script/qt5script.hash +++ b/bsp/buildroot/package/qt5/qt5script/qt5script.hash @@ -1,13 +1,15 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtscript-opensource-src-5.6.3.tar.xz.mirrorlist sha256 f08720dd0e3a70377c1cb7fa3b129e24f4cdedade279e51b67c9271ab470b389 qtscript-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtscript-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 8dbf41abee35be4eb34a56ca3276fac83f3b8671db54c3c7e91c877225727220 qtscript-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtscript-everywhere-src-5.11.3.tar.xz.sha256 +sha256 bb84f3cc581078df4ff76705c5623cd88287f70f7405cbccf99e6fb6dedbec08 qtscript-everywhere-src-5.11.3.tar.xz # Hashes for license files: -sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL sha256 5094ecb9c9dcd0eadc34f3c11511d9b5535063032bc150164ecd1a5d5a445547 src/3rdparty/javascriptcore/JavaScriptCore/COPYING.LIB diff --git a/bsp/buildroot/package/qt5/qt5script/qt5script.mk b/bsp/buildroot/package/qt5/qt5script/qt5script.mk index 9539f56d..4a292c95 100644 --- a/bsp/buildroot/package/qt5/qt5script/qt5script.mk +++ b/bsp/buildroot/package/qt5/qt5script/qt5script.mk @@ -6,7 +6,7 @@ QT5SCRIPT_VERSION = $(QT5_VERSION) QT5SCRIPT_SITE = $(QT5_SITE) -QT5SCRIPT_SOURCE = qtscript-opensource-src-$(QT5SCRIPT_VERSION).tar.xz +QT5SCRIPT_SOURCE = qtscript-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SCRIPT_VERSION).tar.xz QT5SCRIPT_DEPENDENCIES = qt5base QT5SCRIPT_INSTALL_STAGING = YES @@ -16,7 +16,8 @@ QT5SCRIPT_INSTALL_STAGING = YES # libQt5ScriptTools is under the normal Qt opensource license. ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5SCRIPT_LICENSE = LGPL-2.1, BSD-3-Clause, LGPL-3.0 or GPL-2.0+ (libQt5ScriptTools), GFDL-1.3 (docs) -QT5SCRIPT_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LICENSE.GPLv3 LICENSE.FDL +# LGPL-2.1 license file is missing +QT5SCRIPT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.LGPL3 LICENSE.FDL else QT5SCRIPT_LICENSE = LGPL-2.1, BSD-3-Clause, LGPL-2.1 with exception or LGPL-3.0 with exception (libQt5ScriptTools), GFDL-1.3 (docs) QT5SCRIPT_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LGPL_EXCEPTION.txt LICENSE.FDL @@ -40,9 +41,20 @@ define QT5SCRIPT_INSTALL_STAGING_CMDS endef ifeq ($(BR2_STATIC_LIBS),) -define QT5SCRIPT_INSTALL_TARGET_CMDS +define QT5SCRIPT_INSTALL_TARGET_LIBS cp -dpf $(STAGING_DIR)/usr/lib/libQt5Script*.so.* $(TARGET_DIR)/usr/lib endef endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5SCRIPT_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/script $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + +define QT5SCRIPT_INSTALL_TARGET_CMDS + $(QT5SCRIPT_INSTALL_TARGET_LIBS) + $(QT5SCRIPT_INSTALL_TARGET_EXAMPLES) +endef + $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.hash b/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.hash index 4a1b3833..d2184c94 100644 --- a/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.hash +++ b/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.hash @@ -1,5 +1,5 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtscxml-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 33947621fd6675c68d67ba11325746a82e7d582599ca0f04e03da4f60d82339a qtscxml-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtscxml-everywhere-src-5.11.3.tar.xz.sha256 +sha256 13172767eda404f1b71ab35998a95af6633d700d2417fff3648d8c6dc6af68d7 qtscxml-everywhere-src-5.11.3.tar.xz # Hashes for license files: diff --git a/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.mk b/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.mk index 2d197a2b..de9ece59 100644 --- a/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.mk +++ b/bsp/buildroot/package/qt5/qt5scxml/qt5scxml.mk @@ -6,7 +6,7 @@ QT5SCXML_VERSION = $(QT5_VERSION) QT5SCXML_SITE = $(QT5_SITE) -QT5SCXML_SOURCE = qtscxml-opensource-src-$(QT5SCXML_VERSION).tar.xz +QT5SCXML_SOURCE = qtscxml-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SCXML_VERSION).tar.xz QT5SCXML_DEPENDENCIES = qt5base qt5declarative QT5SCXML_INSTALL_STAGING = YES @@ -35,6 +35,10 @@ define QT5SCXML_INSTALL_TARGET_LIBS endef endif +define QT5SCXML_INSTALL_TARGET_QMLS + cp -dpfr $(STAGING_DIR)/usr/qml/QtScxml/ $(TARGET_DIR)/usr/qml/ +endef + ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) define QT5SCXML_INSTALL_TARGET_EXAMPLES cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/scxml $(TARGET_DIR)/usr/lib/qt/examples/ @@ -43,6 +47,7 @@ endif define QT5SCXML_INSTALL_TARGET_CMDS $(QT5SCXML_INSTALL_TARGET_LIBS) + $(QT5SCXML_INSTALL_TARGET_QMLS) $(QT5SCXML_INSTALL_TARGET_EXAMPLES) endef diff --git a/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.hash b/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.hash index cf26d8f2..a8d325d3 100644 --- a/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.hash +++ b/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsensors-opensource-src-5.6.3.tar.xz.mirrorlist sha256 7502d4dc5571865a7eea2a4180c3be396dfb8ce22df4c4f3d7e9ff32ab334973 qtsensors-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtsensors-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 047fac53c555e685c346be53faacf581cb98d9e2a3193cb55f4e7e81fc51de27 qtsensors-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtsensors-everywhere-src-5.11.3.tar.xz.sha256 +sha256 a75753d1d5607d4cb27b1849ea9612a65bb3a5271bb31bf0817edd143b620859 qtsensors-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.mk b/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.mk index d4dc47e8..2d5cf327 100644 --- a/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.mk +++ b/bsp/buildroot/package/qt5/qt5sensors/qt5sensors.mk @@ -6,7 +6,7 @@ QT5SENSORS_VERSION = $(QT5_VERSION) QT5SENSORS_SITE = $(QT5_SITE) -QT5SENSORS_SOURCE = qtsensors-opensource-src-$(QT5SENSORS_VERSION).tar.xz +QT5SENSORS_SOURCE = qtsensors-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SENSORS_VERSION).tar.xz QT5SENSORS_DEPENDENCIES = qt5base QT5SENSORS_INSTALL_STAGING = YES @@ -48,9 +48,16 @@ define QT5SENSORS_INSTALL_TARGET_QMLS endef endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5SENSORS_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/sensors $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + define QT5SENSORS_INSTALL_TARGET_CMDS $(QT5SENSORS_INSTALL_TARGET_LIBS) $(QT5SENSORS_INSTALL_TARGET_QMLS) + $(QT5SENSORS_INSTALL_TARGET_EXAMPLES) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash b/bsp/buildroot/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash new file mode 100644 index 00000000..7d8d9b34 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5serialbus/5.11.3/qt5serialbus.hash @@ -0,0 +1,8 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtserialbus-everywhere-src-5.11.3.tar.xz.sha256 +sha256 5664def35d4ad4aedef14bc529679851450262ea81477a69031ba81aa614c16d qtserialbus-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash b/bsp/buildroot/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash new file mode 100644 index 00000000..6715392e --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5serialbus/5.6.3/qt5serialbus.hash @@ -0,0 +1,8 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 71c89be3879414e2a11cad93a4882758f9259b1c0aec980560309192c99f9a9e qtserialbus-opensource-src-5.6.3.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 f827ad079686ba92cc94811e35492d0e8966f704008b6da9eeda0b659fb58a8d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash b/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash index 8a77ab4d..5316f03b 100644 --- a/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash +++ b/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.hash @@ -1,11 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz.mirrorlist -sha256 71c89be3879414e2a11cad93a4882758f9259b1c0aec980560309192c99f9a9e qtserialbus-opensource-src-5.6.3.tar.xz - -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtserialbus-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 f3e8d0e6ff836198c9fc5b9a2a89dea3c5d604c63a62126fab6d11c2763f172a qtserialbus-opensource-src-5.9.6.tar.xz - -# Hashes for license files: -sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 -sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 -sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 -sha256 f827ad079686ba92cc94811e35492d0e8966f704008b6da9eeda0b659fb58a8d LICENSE.FDL +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk b/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk index 218aba4e..98c4466c 100644 --- a/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk +++ b/bsp/buildroot/package/qt5/qt5serialbus/qt5serialbus.mk @@ -6,7 +6,7 @@ QT5SERIALBUS_VERSION = $(QT5_VERSION) QT5SERIALBUS_SITE = $(QT5_SITE) -QT5SERIALBUS_SOURCE = qtserialbus-opensource-src-$(QT5SERIALBUS_VERSION).tar.xz +QT5SERIALBUS_SOURCE = qtserialbus-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SERIALBUS_VERSION).tar.xz QT5SERIALBUS_DEPENDENCIES = qt5base qt5serialport QT5SERIALBUS_INSTALL_STAGING = YES @@ -36,8 +36,15 @@ define QT5SERIALBUS_INSTALL_TARGET_LIBS endef endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES)$(BR2_PACKAGE_QT5BASE_WIDGETS),yy) +define QT5SERIALBUS_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/serialbus $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + define QT5SERIALBUS_INSTALL_TARGET_CMDS $(QT5SERIALBUS_INSTALL_TARGET_LIBS) + $(QT5SERIALBUS_INSTALL_TARGET_EXAMPLES) $(INSTALL) -m 0755 -D $(@D)/bin/canbusutil \ $(TARGET_DIR)/usr/bin/canbusutil endef diff --git a/bsp/buildroot/package/qt5/qt5serialport/5.11.3/qt5serialport.hash b/bsp/buildroot/package/qt5/qt5serialport/5.11.3/qt5serialport.hash new file mode 100644 index 00000000..63e0cb61 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5serialport/5.11.3/qt5serialport.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtserialport-everywhere-src-5.11.3.tar.xz.mirrorlist +sha256 96c45e6d0d470626815f82b38ee48bf941e1bbfc10863087b69cc5f7bb766bda qtserialport-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5serialport/5.6.3/qt5serialport.hash b/bsp/buildroot/package/qt5/qt5serialport/5.6.3/qt5serialport.hash new file mode 100644 index 00000000..e6f46c1c --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5serialport/5.6.3/qt5serialport.hash @@ -0,0 +1,10 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz.mirrorlist +sha256 082d1fee2703aed19f840c4e4031e37c9b929e5bd8ebef2ebac4b28c509bae1a qtserialport-opensource-src-5.6.3.tar.xz + +# Hashes for license files: +sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 +sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 79949ee74297883df6e4e7c4bfe1e75a6e7695376b4a87ffc013e27bda509cb2 LGPL_EXCEPTION.txt +sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 +sha256 e1251235ce9853eecfecfa905da9ee29e9b76e4db2a1c9c4a20699f460419b08 LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.hash b/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.hash index 21519d83..5316f03b 100644 --- a/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.hash +++ b/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.hash @@ -1,17 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz.mirrorlist -sha256 082d1fee2703aed19f840c4e4031e37c9b929e5bd8ebef2ebac4b28c509bae1a qtserialport-opensource-src-5.6.3.tar.xz - -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtserialport-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 741dfe9d132aed411ad163304fd4485df2da0b40fe57ebce2f6ed4b4043dfcb9 qtserialport-opensource-src-5.9.6.tar.xz - -# Hashes for license files: -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 -sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 -sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 -sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT -sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 -sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 -sha256 e1251235ce9853eecfecfa905da9ee29e9b76e4db2a1c9c4a20699f460419b08 LICENSE.FDL -sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 -sha256 79949ee74297883df6e4e7c4bfe1e75a6e7695376b4a87ffc013e27bda509cb2 LGPL_EXCEPTION.txt +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.mk b/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.mk index 05442375..2b095358 100644 --- a/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.mk +++ b/bsp/buildroot/package/qt5/qt5serialport/qt5serialport.mk @@ -6,7 +6,7 @@ QT5SERIALPORT_VERSION = $(QT5_VERSION) QT5SERIALPORT_SITE = $(QT5_SITE) -QT5SERIALPORT_SOURCE = qtserialport-opensource-src-$(QT5SERIALPORT_VERSION).tar.xz +QT5SERIALPORT_SOURCE = qtserialport-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SERIALPORT_VERSION).tar.xz QT5SERIALPORT_DEPENDENCIES = qt5base QT5SERIALPORT_INSTALL_STAGING = YES @@ -32,9 +32,20 @@ define QT5SERIALPORT_INSTALL_STAGING_CMDS endef ifeq ($(BR2_STATIC_LIBS),) -define QT5SERIALPORT_INSTALL_TARGET_CMDS +define QT5SERIALPORT_INSTALL_TARGET_LIBS cp -dpf $(STAGING_DIR)/usr/lib/libQt5SerialPort.so.* $(TARGET_DIR)/usr/lib endef endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5SERIALPORT_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/serialport $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + +define QT5SERIALPORT_INSTALL_TARGET_CMDS + $(QT5SERIALPORT_INSTALL_TARGET_LIBS) + $(QT5SERIALPORT_INSTALL_TARGET_EXAMPLES) +endef + $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5svg/qt5svg.hash b/bsp/buildroot/package/qt5/qt5svg/qt5svg.hash index ee2a77ff..3c2f0fe4 100644 --- a/bsp/buildroot/package/qt5/qt5svg/qt5svg.hash +++ b/bsp/buildroot/package/qt5/qt5svg/qt5svg.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtsvg-opensource-src-5.6.3.tar.xz.mirrorlist sha256 100f183517b46554079beabd8d2cabe3070a74dd0a2e64b6a304eac71cfadcec qtsvg-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtsvg-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 4318ce3c1f94ca865e3405aefb927f257ca824c5adc482302f1449ed34dbd8b8 qtsvg-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtsvg-everywhere-src-5.11.3.tar.xz.sha256 +sha256 21ea2c9c4e78101e98163bc19e463b8d8cdffa20e1ccd523ccc925b9f2cd4491 qtsvg-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5svg/qt5svg.mk b/bsp/buildroot/package/qt5/qt5svg/qt5svg.mk index 5a12755f..48ff04bd 100644 --- a/bsp/buildroot/package/qt5/qt5svg/qt5svg.mk +++ b/bsp/buildroot/package/qt5/qt5svg/qt5svg.mk @@ -6,7 +6,7 @@ QT5SVG_VERSION = $(QT5_VERSION) QT5SVG_SITE = $(QT5_SITE) -QT5SVG_SOURCE = qtsvg-opensource-src-$(QT5SVG_VERSION).tar.xz +QT5SVG_SOURCE = qtsvg-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SVG_VERSION).tar.xz QT5SVG_DEPENDENCIES = qt5base QT5SVG_INSTALL_STAGING = YES @@ -37,12 +37,23 @@ define QT5SVG_INSTALL_ICONENGINES endef endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5SVG_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/svg $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + ifeq ($(BR2_STATIC_LIBS),) -define QT5SVG_INSTALL_TARGET_CMDS +define QT5SVG_INSTALL_TARGET_LIBS cp -dpf $(STAGING_DIR)/usr/lib/libQt5Svg*.so.* $(TARGET_DIR)/usr/lib cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/imageformats/libqsvg.so $(TARGET_DIR)/usr/lib/qt/plugins/imageformats/ $(QT5SVG_INSTALL_ICONENGINES) endef endif +define QT5SVG_INSTALL_TARGET_CMDS + $(QT5SVG_INSTALL_TARGET_LIBS) + $(QT5SVG_INSTALL_TARGET_EXAMPLES) +endef + $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5tools/qt5tools.hash b/bsp/buildroot/package/qt5/qt5tools/qt5tools.hash index f3030b13..94f1254b 100644 --- a/bsp/buildroot/package/qt5/qt5tools/qt5tools.hash +++ b/bsp/buildroot/package/qt5/qt5tools/qt5tools.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qttools-opensource-src-5.6.3.tar.xz.mirrorlist sha256 1a63ba838058d73cb540040589b235ded77f76402693decfd6d4d3c75ea67926 qttools-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qttools-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 50e75417ec0c74bb8b1989d1d8e981ee83690dce7dfc0c2169f7c00f397e5117 qttools-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qttools-everywhere-src-5.11.3.tar.xz.sha256 +sha256 c205e81bba9b87c6186604a05ab48e4e6cac0cd511525749dfd00b107b6f9f8e qttools-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5tools/qt5tools.mk b/bsp/buildroot/package/qt5/qt5tools/qt5tools.mk index cf181e57..a972756d 100644 --- a/bsp/buildroot/package/qt5/qt5tools/qt5tools.mk +++ b/bsp/buildroot/package/qt5/qt5tools/qt5tools.mk @@ -6,7 +6,7 @@ QT5TOOLS_VERSION = $(QT5_VERSION) QT5TOOLS_SITE = $(QT5_SITE) -QT5TOOLS_SOURCE = qttools-opensource-src-$(QT5TOOLS_VERSION).tar.xz +QT5TOOLS_SOURCE = qttools-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5TOOLS_VERSION).tar.xz QT5TOOLS_DEPENDENCIES = qt5base QT5TOOLS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/0001-remove-weird-install-path-for-example.patch b/bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/0001-remove-weird-install-path-for-example.patch new file mode 100644 index 00000000..367cc4a1 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/0001-remove-weird-install-path-for-example.patch @@ -0,0 +1,38 @@ +From aef55eb7b3470ba6dee4abc67acda1d308c90e97 Mon Sep 17 00:00:00 2001 +From: Oswald Buddenhagen +Date: Mon, 4 Apr 2016 14:25:54 +0200 +Subject: [PATCH 1/1] remove weird install path for example + +the deployment system on top should deal with this. + +Upstream-Status: Backport [with adaptations] +Change-Id: I1befb3e0c9bb6546afc59a40e525d1d600475a86 +Reviewed-by: Joerg Bornemann +Signed-off-by: Gaël PORTAY +[gportay: update basic.pro path] +--- + examples/virtualkeyboard/basic/basic.pro | 8 ++----- + 1 file changed, 2 insertions(+), 6 deletions(-) + +diff --git a/examples/virtualkeyboard/basic/basic.pro b/examples/virtualkeyboard/basic/basic.pro +index 28cc4dc..0f71e0e 100644 +--- a/examples/virtualkeyboard/basic/basic.pro ++++ b/examples/virtualkeyboard/basic/basic.pro +@@ -7,12 +7,8 @@ static { + QT += svg + QTPLUGIN += qtvirtualkeyboardplugin + } +-android-no-sdk|!isEmpty(CROSS_COMPILE) { +- TARGETPATH = /data/user/qt/virtualkeyboard/basic +-} else { +- TARGETPATH = $$[QT_INSTALL_EXAMPLES]/virtualkeyboard/basic +-} +-target.path = $$TARGETPATH ++ ++target.path = $$[QT_INSTALL_EXAMPLES]/virtualkeyboard/basic + INSTALLS += target + + RESOURCES += \ +-- +2.17.1 + diff --git a/bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash b/bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash new file mode 100644 index 00000000..0cc4f9c8 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5virtualkeyboard/2.0/qt5virtualkeyboard.hash @@ -0,0 +1,8 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtvirtualkeyboard-opensource-src-2.0.tar.xz.mirrorlist +sha256 1d543a851e83fc3de40f48c2935f70278e842589b9a235c2b22f41733e561aec qtvirtualkeyboard-opensource-src-2.0.tar.xz + +# Hashes for license files: +sha256 6148d2793ca4e62ba3935a27bd3e46971a5d7c871dbe8f2687a867bd2c2589fb src/virtualkeyboard/3rdparty/lipi-toolkit/license.txt +sha256 05cc719deafd0ab083b03296bb2911de10d116953b626a7629b9ca59938038b1 src/virtualkeyboard/3rdparty/openwnn/NOTICE +sha256 b5830d96fb5a7e7e7ebcc295f352846b4b998e78fdc8f9aa68e134d2e4b39986 src/virtualkeyboard/3rdparty/pinyin/NOTICE +sha256 ca3dd653e13c4a935622cfce00dc4e2d7a8295b64da99bd1d4f2a8ddb6b0956e src/virtualkeyboard/3rdparty/tcime/COPYING diff --git a/bsp/buildroot/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash b/bsp/buildroot/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash new file mode 100644 index 00000000..c7d27870 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5virtualkeyboard/5.11.3/qt5virtualkeyboard.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz.sha256 +sha256 8c5c40245a9dd2e9e504ce2d47d45079d8280436146797b24b8115ef163b4b9e qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt +sha256 05cc719deafd0ab083b03296bb2911de10d116953b626a7629b9ca59938038b1 src/virtualkeyboard/3rdparty/openwnn/NOTICE +sha256 b5830d96fb5a7e7e7ebcc295f352846b4b998e78fdc8f9aa68e134d2e4b39986 src/virtualkeyboard/3rdparty/pinyin/NOTICE +sha256 9400a6128693d2f25653698e695f554660c71efccc8c21af28bf143e35199db6 src/virtualkeyboard/3rdparty/tcime/COPYING diff --git a/bsp/buildroot/package/qt5/qt5virtualkeyboard/Config.in b/bsp/buildroot/package/qt5/qt5virtualkeyboard/Config.in index f0e4f03f..3a60c273 100644 --- a/bsp/buildroot/package/qt5/qt5virtualkeyboard/Config.in +++ b/bsp/buildroot/package/qt5/qt5virtualkeyboard/Config.in @@ -1,11 +1,9 @@ -comment "qt5virtualkeyboard needs at least qt-5.7 and an OpenGL backend" +comment "qt5virtualkeyboard needs an OpenGL-capable backend" depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE - depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && !BR2_PACKAGE_QT5_VERSION_LATEST + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE config BR2_PACKAGE_QT5VIRTUALKEYBOARD bool "qt5virtualkeyboard" - # needs at least Qt 5.7 - depends on BR2_PACKAGE_QT5_VERSION_LATEST depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_PACKAGE_QT5_VERSION_LATEST # qt5declarative/quick select BR2_PACKAGE_QT5DECLARATIVE @@ -55,4 +53,10 @@ config BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING Lipi Toolkit (LipiTk) is an open source toolkit for online Handwriting Recognition. +config BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION + bool "Arrow key navigation" + help + Allows controlling the keyboard using the arrow and return + keys. + endif diff --git a/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash b/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash index f31129b4..5316f03b 100644 --- a/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash +++ b/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.hash @@ -1,6 +1,2 @@ -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtvirtualkeyboard-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 217d8502f3f53b62e6e9108e0afb3694cf1d8ae8a6348d3625e3192fc126128c qtvirtualkeyboard-opensource-src-5.9.6.tar.xz - -# Hashes for license files: -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 -sha256 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt +# This hash file is not used; instead, update the +# hash files in the per-version sub-directories. diff --git a/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk b/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk index 7d2201b5..8ce31697 100644 --- a/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk +++ b/bsp/buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk @@ -4,14 +4,21 @@ # ################################################################################ +# Module does not follow Qt versionning for 5.6 +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION) +else +QT5VIRTUALKEYBOARD_VERSION = 2.0 +endif QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE) -QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-opensource-src-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz +QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES QT5VIRTUALKEYBOARD_LICENSE = GPL-3.0 +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3 +endif QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS = $(call qstrip,$(BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)) ifneq ($(strip $(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),) @@ -39,8 +46,16 @@ ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING),y) QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=handwriting QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), MIT (lipi-toolkit) +ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) +QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/license.txt +else QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt endif +endif + +ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION),y) +QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=arrow-key-navigation +endif ifdef QT5VIRTUALKEYBOARD_3RDPARTY_PARTS define QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS @@ -60,6 +75,18 @@ define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install endef +ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y) +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_QML + mkdir -p $(TARGET_DIR)/usr/qml/QtQuick/Enterprise + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Enterprise/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick/Enterprise/ +endef +else +define QT5VIRTUALKEYBOARD_INSTALL_TARGET_QML + mkdir -p $(TARGET_DIR)/usr/qml/QtQuick + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick/ +endef +endif + ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) define QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/virtualkeyboard $(TARGET_DIR)/usr/lib/qt/examples/ @@ -70,7 +97,7 @@ define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so \ $(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts - cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick + $(QT5VIRTUALKEYBOARD_INSTALL_TARGET_QML) $(QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS) $(QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES) endef diff --git a/bsp/buildroot/package/qt5/qt5wayland/Config.in b/bsp/buildroot/package/qt5/qt5wayland/Config.in index 0182d3ca..0d5a1089 100644 --- a/bsp/buildroot/package/qt5/qt5wayland/Config.in +++ b/bsp/buildroot/package/qt5/qt5wayland/Config.in @@ -1,12 +1,9 @@ comment "qt5wayland needs an OpenGL-capable backend" - depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE depends on !BR2_PACKAGE_QT5_GL_AVAILABLE config BR2_PACKAGE_QT5WAYLAND bool "qt5wayland" depends on BR2_PACKAGE_QT5_GL_AVAILABLE - depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative - select BR2_PACKAGE_QT5DECLARATIVE select BR2_PACKAGE_WAYLAND help Qt is a cross-platform application and UI framework for diff --git a/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.hash b/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.hash index 6e9079b9..40d1bb0b 100644 --- a/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.hash +++ b/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.hash @@ -1,8 +1,8 @@ # hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwayland-opensource-src-5.6.3.tar.xz.mirrorlist sha256 5a475278b2db73aa7fa7f3ba6d98d8d72774f5c77e172495007d79f91d09daa3 qtwayland-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwayland-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 6dd066b1ab518b16dc2bebc4b3629528a30161cfce48ce5d8482c67a570667d8 qtwayland-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwayland-everywhere-src-5.11.3.tar.xz.sha256 +sha256 62c94f29e461c849e479f39d21577b0c72f0f084250e126021edcf0719271fb2 qtwayland-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.mk b/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.mk index 8a7f2e1f..d6fb6e18 100644 --- a/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.mk +++ b/bsp/buildroot/package/qt5/qt5wayland/qt5wayland.mk @@ -6,10 +6,14 @@ QT5WAYLAND_VERSION = $(QT5_VERSION) QT5WAYLAND_SITE = $(QT5_SITE) -QT5WAYLAND_SOURCE = qtwayland-opensource-src-$(QT5WAYLAND_VERSION).tar.xz -QT5WAYLAND_DEPENDENCIES = qt5base qt5declarative wayland +QT5WAYLAND_SOURCE = qtwayland-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WAYLAND_VERSION).tar.xz +QT5WAYLAND_DEPENDENCIES = qt5base wayland QT5WAYLAND_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y) +QT5WAYLAND_DEPENDENCIES += qt5declarative +endif + ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y) QT5WAYLAND_DEPENDENCIES += libxkbcommon endif @@ -26,13 +30,6 @@ ifeq ($(BR2_PACKAGE_QT5WAYLAND_COMPOSITOR),y) QT5WAYLAND_QMAKEFLAGS += CONFIG+=wayland-compositor endif -# The mesa's EGL/eglplatform.h header includes X11 headers unless the flag -# MESA_EGL_NO_X11_HEADERS is defined. Tell to not include X11 headers if -# the libxcb is not selected. -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)x$(BR2_PACKAGE_LIBXCB),yx) -QT5WAYLAND_QMAKEFLAGS += QMAKE_CXXFLAGS+=-DMESA_EGL_NO_X11_HEADERS -endif - define QT5WAYLAND_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5WAYLAND_QMAKEFLAGS)) endef @@ -58,11 +55,18 @@ endef endif endif +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) +define QT5WAYLAND_INSTALL_TARGET_EXAMPLES + cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/wayland $(TARGET_DIR)/usr/lib/qt/examples/ +endef +endif + define QT5WAYLAND_INSTALL_TARGET_CMDS cp -dpf $(STAGING_DIR)/usr/lib/libQt5WaylandClient.so* $(TARGET_DIR)/usr/lib cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/wayland* $(TARGET_DIR)/usr/lib/qt/plugins cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/platforms/libqwayland* $(TARGET_DIR)/usr/lib/qt/plugins/platforms $(QT5WAYLAND_INSTALL_COMPOSITOR) + $(QT5WAYLAND_INSTALL_TARGET_EXAMPLES) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash b/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash index b78f9172..7c87683b 100644 --- a/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash +++ b/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebchannel-opensource-src-5.6.3.tar.xz.mirrorlist sha256 8eb1b0ac2286653c7932758c21e7760788a5d7cfd6162da09afa926d5be50713 qtwebchannel-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwebchannel-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 222df712c661d4003eebf28806cfd25047721e1c21b70ca320c5978c4a2c7ba5 qtwebchannel-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwebchannel-everywhere-src-5.11.3.tar.xz.sha256 +sha256 3c254fa41b1af09c1e951131f3a1336dee70a15cbb8a82112488b38d29572df3 qtwebchannel-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.mk b/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.mk index d46e053a..f1c08532 100644 --- a/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.mk +++ b/bsp/buildroot/package/qt5/qt5webchannel/qt5webchannel.mk @@ -6,7 +6,7 @@ QT5WEBCHANNEL_VERSION = $(QT5_VERSION) QT5WEBCHANNEL_SITE = $(QT5_SITE) -QT5WEBCHANNEL_SOURCE = qtwebchannel-opensource-src-$(QT5WEBCHANNEL_VERSION).tar.xz +QT5WEBCHANNEL_SOURCE = qtwebchannel-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBCHANNEL_VERSION).tar.xz QT5WEBCHANNEL_DEPENDENCIES = qt5base qt5websockets QT5WEBCHANNEL_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5webengine/Config.in b/bsp/buildroot/package/qt5/qt5webengine/Config.in index 7c992550..744d6595 100644 --- a/bsp/buildroot/package/qt5/qt5webengine/Config.in +++ b/bsp/buildroot/package/qt5/qt5webengine/Config.in @@ -20,12 +20,18 @@ comment "qt5webengine needs an OpenGL and EGL-capable backend" depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL +comment "qt5webengine needs a toolchain not affected by GCC bug 85862" + depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS + depends on !BR2_PACKAGE_QT5_VERSION_5_6 + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_85862 # libnss + config BR2_PACKAGE_QT5WEBENGINE bool "qt5webengine" depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo depends on BR2_HOST_GCC_AT_LEAST_4_8 # qt5base-icu depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # qt5base-icu + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_85862 || BR2_PACKAGE_QT5_VERSION_5_6 # libnss depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libvpx, qt5base-dbus depends on BR2_USE_WCHAR # libglib2 depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs @@ -38,6 +44,7 @@ config BR2_PACKAGE_QT5WEBENGINE select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium select BR2_PACKAGE_FFMPEG select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_LIBNSS if !BR2_PACKAGE_QT5_VERSION_5_6 select BR2_PACKAGE_LIBVPX select BR2_PACKAGE_OPUS select BR2_PACKAGE_WEBP diff --git a/bsp/buildroot/package/qt5/qt5webengine/chromium-latest.inc b/bsp/buildroot/package/qt5/qt5webengine/chromium-latest.inc index da709fd5..671b2383 100644 --- a/bsp/buildroot/package/qt5/qt5webengine/chromium-latest.inc +++ b/bsp/buildroot/package/qt5/qt5webengine/chromium-latest.inc @@ -1,310 +1,431 @@ -CHROMIUM_LICENSE_FILES = \ - src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \ - src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \ - src/3rdparty/chromium/base/third_party/icu/LICENSE \ - src/3rdparty/chromium/base/third_party/libevent/LICENSE \ +QT5WEBENGINE_CHROMIUM_LICENSE_FILES = \ + src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \ + src/3rdparty/chromium/tools/symsrc/COPYING-pefile \ + src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \ + src/3rdparty/chromium/tools/gyp/LICENSE \ + src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \ + src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \ + src/3rdparty/chromium/v8/third_party/inspector_protocol/LICENSE \ + src/3rdparty/chromium/v8/third_party/colorama/LICENSE \ + src/3rdparty/chromium/v8/LICENSE.v8 \ + src/3rdparty/chromium/v8/LICENSE.strongtalk \ + src/3rdparty/chromium/v8/LICENSE.fdlibm \ + src/3rdparty/chromium/v8/LICENSE.valgrind \ + src/3rdparty/chromium/v8/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/utf8-decoder/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \ src/3rdparty/chromium/base/third_party/nspr/LICENSE \ src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \ - src/3rdparty/chromium/base/third_party/symbolize/LICENSE \ - src/3rdparty/chromium/base/third_party/valgrind/LICENSE \ src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \ + src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \ src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \ - src/3rdparty/chromium/buildtools/LICENSE \ - src/3rdparty/chromium/buildtools/third_party/libc++abi/trunk/LICENSE.TXT \ - src/3rdparty/chromium/buildtools/third_party/libc++/trunk/LICENSE.TXT \ - src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \ - src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \ - src/3rdparty/chromium/LICENSE \ - src/3rdparty/chromium/LICENSE.chromium_os \ - src/3rdparty/chromium/mojo/public/LICENSE \ - src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \ - src/3rdparty/chromium/net/third_party/nss/LICENSE \ + src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \ + src/3rdparty/chromium/base/third_party/valgrind/LICENSE \ + src/3rdparty/chromium/base/third_party/icu/LICENSE \ + src/3rdparty/chromium/base/third_party/libevent/LICENSE \ + src/3rdparty/chromium/base/third_party/symbolize/LICENSE \ src/3rdparty/chromium/ppapi/LICENSE \ - src/3rdparty/chromium/sdch/open-vcdiff/COPYING \ - src/3rdparty/chromium/testing/gmock/LICENSE \ - src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \ - src/3rdparty/chromium/testing/gtest/LICENSE \ - src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \ - src/3rdparty/chromium/third_party/afl/src/docs/COPYING \ - src/3rdparty/chromium/third_party/angle/LICENSE \ - src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \ - src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \ - src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \ - src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \ - src/3rdparty/chromium/third_party/apache_velocity/LICENSE \ - src/3rdparty/chromium/third_party/apple_apsl/LICENSE \ - src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \ - src/3rdparty/chromium/third_party/blanketjs/LICENSE \ - src/3rdparty/chromium/third_party/blimp_fonts/LICENSE \ - src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.Apache \ - src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.OFL \ - src/3rdparty/chromium/third_party/boringssl/src/LICENSE \ - src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \ - src/3rdparty/chromium/third_party/bouncycastle/LICENSE \ - src/3rdparty/chromium/third_party/brotli/LICENSE \ - src/3rdparty/chromium/third_party/bspatch/LICENSE \ - src/3rdparty/chromium/third_party/byte_buddy/LICENSE \ - src/3rdparty/chromium/third_party/ced/LICENSE \ - src/3rdparty/chromium/third_party/ced/src/LICENSE \ - src/3rdparty/chromium/third_party/chaijs/LICENSE \ - src/3rdparty/chromium/third_party/checkstyle/LICENSE \ - src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \ - src/3rdparty/chromium/third_party/cld_3/LICENSE \ - src/3rdparty/chromium/third_party/cld_3/src/LICENSE \ - src/3rdparty/chromium/third_party/cld/LICENSE \ - src/3rdparty/chromium/third_party/closure_compiler/compiler/COPYING \ - src/3rdparty/chromium/third_party/closure_compiler/LICENSE \ - src/3rdparty/chromium/third_party/closure_linter/LICENSE \ - src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \ - src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \ - src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ - src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ - src/3rdparty/chromium/third_party/cros_system_api/LICENSE \ - src/3rdparty/chromium/third_party/cros_system_api/MODULE_LICENSE_BSD \ - src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \ - src/3rdparty/chromium/third_party/d3/src/LICENSE \ - src/3rdparty/chromium/third_party/decklink/LICENSE \ - src/3rdparty/chromium/third_party/devscripts/COPYING \ - src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \ - src/3rdparty/chromium/third_party/dpkg-dev/LICENSE \ - src/3rdparty/chromium/third_party/drmemory/LICENSE \ - src/3rdparty/chromium/third_party/errorprone/LICENSE \ - src/3rdparty/chromium/third_party/espresso/LICENSE \ - src/3rdparty/chromium/third_party/expat/files/COPYING \ - src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \ - src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 \ - src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 \ - src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \ - src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 \ - src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \ - src/3rdparty/chromium/third_party/fips181/COPYING \ - src/3rdparty/chromium/third_party/flac/COPYING.FDL \ - src/3rdparty/chromium/third_party/flac/COPYING.GPL \ - src/3rdparty/chromium/third_party/flac/COPYING.LGPL \ - src/3rdparty/chromium/third_party/flac/COPYING.Xiph \ + src/3rdparty/chromium/third_party/hamcrest/LICENSE \ src/3rdparty/chromium/third_party/flatbuffers/LICENSE \ src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \ - src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/libxslt/linux/COPYING \ + src/3rdparty/chromium/third_party/proguard/LICENSE \ + src/3rdparty/chromium/third_party/pexpect/LICENSE \ + src/3rdparty/chromium/third_party/usb_ids/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \ + src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \ + src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \ + src/3rdparty/chromium/third_party/fips181/COPYING \ + src/3rdparty/chromium/third_party/devscripts/COPYING \ + src/3rdparty/chromium/third_party/webdriver/COPYING \ + src/3rdparty/chromium/third_party/webdriver/LICENSE \ + src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE \ + src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/pdfium/LICENSE \ + src/3rdparty/chromium/third_party/inspector_protocol/LICENSE \ + src/3rdparty/chromium/third_party/jsoncpp/LICENSE \ + src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING \ + src/3rdparty/chromium/third_party/metrics_proto/LICENSE \ + src/3rdparty/chromium/third_party/libevdev/LICENSE \ + src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \ + src/3rdparty/chromium/third_party/s2cellid/LICENSE \ + src/3rdparty/chromium/third_party/bspatch/LICENSE \ + src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \ + src/3rdparty/chromium/third_party/apk-patch-size-estimator/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/third_party/googletest/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/third_party/fiat/LICENSE \ + src/3rdparty/chromium/third_party/boringssl/src/LICENSE \ + src/3rdparty/chromium/third_party/leakcanary/LICENSE \ + src/3rdparty/chromium/third_party/errorprone/LICENSE \ src/3rdparty/chromium/third_party/fontconfig/LICENSE \ src/3rdparty/chromium/third_party/fontconfig/src/COPYING \ - src/3rdparty/chromium/third_party/freetype2/src/docs/GPLv2.TXT \ - src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \ - src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \ src/3rdparty/chromium/third_party/gif_player/LICENSE \ - src/3rdparty/chromium/third_party/glslang/LICENSE \ - src/3rdparty/chromium/third_party/grpc/LICENSE \ - src/3rdparty/chromium/third_party/grpc/src/node/health_check/LICENSE \ - src/3rdparty/chromium/third_party/grpc/src/php/ext/grpc/LICENSE \ - src/3rdparty/chromium/third_party/grpc/third_party/nanopb/LICENSE.txt \ - src/3rdparty/chromium/third_party/grpc/third_party/rake-compiler-dock/LICENSE.txt \ - src/3rdparty/chromium/third_party/guava/LICENSE \ - src/3rdparty/chromium/third_party/gvr-android-sdk/LICENSE \ - src/3rdparty/chromium/third_party/haha/LICENSE \ - src/3rdparty/chromium/third_party/hamcrest/LICENSE \ - src/3rdparty/chromium/third_party/harfbuzz-ng/COPYING \ - src/3rdparty/chromium/third_party/hunspell/COPYING \ - src/3rdparty/chromium/third_party/hunspell/COPYING.LGPL \ - src/3rdparty/chromium/third_party/hunspell/COPYING.MPL \ - src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.hunspell \ - src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.myspell \ - src/3rdparty/chromium/third_party/hwcplus/LICENSE \ + src/3rdparty/chromium/third_party/bazel/LICENSE \ + src/3rdparty/chromium/third_party/sinonjs/LICENSE \ src/3rdparty/chromium/third_party/iaccessible2/LICENSE \ - src/3rdparty/chromium/third_party/iccjpeg/LICENSE \ - src/3rdparty/chromium/third_party/icu4j/LICENSE \ - src/3rdparty/chromium/third_party/icu/LICENSE \ - src/3rdparty/chromium/third_party/icu/license.html \ - src/3rdparty/chromium/third_party/icu/scripts/LICENSE \ - src/3rdparty/chromium/third_party/ijar/LICENSE \ - src/3rdparty/chromium/third_party/inspector_protocol/LICENSE \ - src/3rdparty/chromium/third_party/intellij/LICENSE \ - src/3rdparty/chromium/third_party/isimpledom/LICENSE \ - src/3rdparty/chromium/third_party/javax_inject/LICENSE \ - src/3rdparty/chromium/third_party/jinja2/LICENSE \ - src/3rdparty/chromium/third_party/jmake/LICENSE \ - src/3rdparty/chromium/third_party/jsoncpp/LICENSE \ - src/3rdparty/chromium/third_party/jstemplate/COPYING \ - src/3rdparty/chromium/third_party/khronos/LICENSE \ - src/3rdparty/chromium/third_party/leakcanary/LICENSE \ - src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \ - src/3rdparty/chromium/third_party/libaddressinput/LICENSE \ - src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \ - src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE \ - src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \ - src/3rdparty/chromium/third_party/libjpeg/LICENSE \ - src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \ + src/3rdparty/chromium/third_party/cros_system_api/LICENSE \ + src/3rdparty/chromium/third_party/shaderc/LICENSE \ + src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \ + src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang \ + src/3rdparty/chromium/third_party/shaderc/src/LICENSE \ + src/3rdparty/chromium/third_party/openvr/src/LICENSE \ src/3rdparty/chromium/third_party/libpng/LICENSE \ - src/3rdparty/chromium/third_party/libsecret/LICENSE \ - src/3rdparty/chromium/third_party/libsrtp/LICENSE \ - src/3rdparty/chromium/third_party/libsync/LICENSE \ - src/3rdparty/chromium/third_party/libudev/LICENSE \ - src/3rdparty/chromium/third_party/libusb/src/COPYING \ - src/3rdparty/chromium/third_party/libva/COPYING \ - src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE \ - src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \ - src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \ - src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \ - src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \ - src/3rdparty/chromium/third_party/libwebp/LICENSE \ - src/3rdparty/chromium/third_party/libxml/src/COPYING \ - src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \ - src/3rdparty/chromium/third_party/libxslt/linux/COPYING \ - src/3rdparty/chromium/third_party/libyuv/LICENSE \ - src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \ - src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \ - src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \ + src/3rdparty/chromium/third_party/skia/third_party/gif/LICENSE \ + src/3rdparty/chromium/third_party/skia/LICENSE \ + src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l \ + src/3rdparty/chromium/third_party/iccjpeg/LICENSE \ + src/3rdparty/chromium/third_party/vulkan/LICENSE \ + src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \ + src/3rdparty/chromium/third_party/wayland-protocols/src/COPYING \ + src/3rdparty/chromium/third_party/qunit/LICENSE \ + src/3rdparty/chromium/third_party/zlib/LICENSE \ + src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \ + src/3rdparty/chromium/third_party/axe-core/LICENSE \ + src/3rdparty/chromium/third_party/minigbm/LICENSE \ + src/3rdparty/chromium/third_party/minigbm/src/LICENSE \ + src/3rdparty/chromium/third_party/tlslite/LICENSE \ + src/3rdparty/chromium/third_party/qcms/src/COPYING \ src/3rdparty/chromium/third_party/mach_override/LICENSE \ - src/3rdparty/chromium/third_party/markupsafe/LICENSE \ src/3rdparty/chromium/third_party/mesa/LICENSE \ src/3rdparty/chromium/third_party/mesa/src/docs/COPYING \ src/3rdparty/chromium/third_party/mesa/src/docs/license.html \ src/3rdparty/chromium/third_party/mesa/src/src/gallium/drivers/radeon/LICENSE.TXT \ - src/3rdparty/chromium/third_party/minigbm/LICENSE \ - src/3rdparty/chromium/third_party/mocha/LICENSE \ - src/3rdparty/chromium/third_party/mockito/LICENSE \ - src/3rdparty/chromium/third_party/modp_b64/LICENSE \ - src/3rdparty/chromium/third_party/molokocacao/LICENSE \ - src/3rdparty/chromium/third_party/motemplate/LICENSE \ - src/3rdparty/chromium/third_party/mozilla/LICENSE \ - src/3rdparty/chromium/third_party/mt19937ar/LICENSE \ - src/3rdparty/chromium/third_party/netty4/LICENSE \ - src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \ - src/3rdparty/chromium/third_party/objenesis/LICENSE \ - src/3rdparty/chromium/third_party/ocmock/License.txt \ - src/3rdparty/chromium/third_party/openh264/src/LICENSE \ - src/3rdparty/chromium/third_party/openmax_dl/LICENSE \ - src/3rdparty/chromium/third_party/opus/src/COPYING \ - src/3rdparty/chromium/third_party/ots/LICENSE \ - src/3rdparty/chromium/third_party/ow2_asm/LICENSE \ - src/3rdparty/chromium/third_party/pdfium/LICENSE \ - src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE \ - src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \ - src/3rdparty/chromium/third_party/pexpect/LICENSE \ - src/3rdparty/chromium/third_party/ply/LICENSE \ - src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \ - src/3rdparty/chromium/third_party/proguard/LICENSE \ - src/3rdparty/chromium/third_party/protobuf/LICENSE \ - src/3rdparty/chromium/third_party/pycoverage/LICENSE \ - src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \ - src/3rdparty/chromium/third_party/pyelftools/LICENSE \ - src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \ - src/3rdparty/chromium/third_party/pymock/LICENSE.txt \ - src/3rdparty/chromium/third_party/python_gflags/COPYING \ - src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \ - src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \ - src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \ - src/3rdparty/chromium/third_party/qcms/src/COPYING \ - src/3rdparty/chromium/third_party/qunit/LICENSE \ - src/3rdparty/chromium/third_party/re2/LICENSE \ - src/3rdparty/chromium/third_party/re2/src/LICENSE \ - src/3rdparty/chromium/third_party/requests/LICENSE \ - src/3rdparty/chromium/third_party/robolectric/LICENSE \ + src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ + src/3rdparty/chromium/third_party/usrsctp/LICENSE \ + src/3rdparty/chromium/third_party/guava/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ + src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ + src/3rdparty/chromium/third_party/webrtc/license_template.txt \ + src/3rdparty/chromium/third_party/webrtc/LICENSE \ + src/3rdparty/chromium/third_party/libwebp/LICENSE \ + src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \ + src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \ + src/3rdparty/chromium/third_party/yara/src/COPYING \ + src/3rdparty/chromium/third_party/snappy/src/COPYING \ src/3rdparty/chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt \ src/3rdparty/chromium/third_party/robolectric/licenses/javolution.license.txt \ src/3rdparty/chromium/third_party/robolectric/licenses/pivotal.labs.license.txt \ - src/3rdparty/chromium/third_party/sfntly/COPYING.txt \ - src/3rdparty/chromium/third_party/sfntly/src/cpp/COPYING.txt \ - src/3rdparty/chromium/third_party/sfntly/src/java/COPYING \ - src/3rdparty/chromium/third_party/shaderc/LICENSE \ - src/3rdparty/chromium/third_party/shaderc/src/LICENSE \ - src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang \ - src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \ - src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \ - src/3rdparty/chromium/third_party/sinonjs/LICENSE \ - src/3rdparty/chromium/third_party/skia/LICENSE \ - src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \ - src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \ - src/3rdparty/chromium/third_party/skia/third_party/gif/LICENSE \ - src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \ - src/3rdparty/chromium/third_party/smhasher/LICENSE \ - src/3rdparty/chromium/third_party/snappy/src/COPYING \ - src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \ - src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \ - src/3rdparty/chromium/third_party/sqlite4java/LICENSE \ - src/3rdparty/chromium/third_party/sqlite/LICENSE \ - src/3rdparty/chromium/third_party/sqlite/sqlite-src-3100200/autoconf/tea/license.terms \ - src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms \ - src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \ - src/3rdparty/chromium/third_party/swiftshader/LICENSE.txt \ - src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/autoconf/LICENSE.TXT \ - src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/include/llvm/Support/LICENSE.TXT \ - src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/LICENSE.TXT \ - src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/projects/sample/autoconf/LICENSE.TXT \ - src/3rdparty/chromium/third_party/swiftshader/third_party/llvm-subzero/LICENSE.TXT \ - src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/utils/unittest/googletest/LICENSE.TXT \ - src/3rdparty/chromium/third_party/swiftshader/third_party/PowerVR_SDK/License.txt \ - src/3rdparty/chromium/third_party/tcmalloc/LICENSE \ - src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING \ - src/3rdparty/chromium/third_party/tlslite/LICENSE \ + src/3rdparty/chromium/third_party/robolectric/LICENSE \ + src/3rdparty/chromium/third_party/flot/LICENSE.txt \ + src/3rdparty/chromium/third_party/openmax_dl/LICENSE \ + src/3rdparty/chromium/third_party/cld_3/LICENSE \ + src/3rdparty/chromium/third_party/cld_3/src/LICENSE \ + src/3rdparty/chromium/third_party/harfbuzz-ng/COPYING \ + src/3rdparty/chromium/third_party/protobuf/LICENSE \ src/3rdparty/chromium/third_party/typ/LICENSE \ - src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \ - src/3rdparty/chromium/third_party/usb_ids/LICENSE \ - src/3rdparty/chromium/third_party/usrsctp/LICENSE \ - src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \ - src/3rdparty/chromium/third_party/v4l2capture/LICENSE \ - src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l \ - src/3rdparty/chromium/third_party/visualmetrics/src/LICENSE \ - src/3rdparty/chromium/third_party/vulkan/LICENSE \ - src/3rdparty/chromium/third_party/wayland/LICENSE \ - src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \ - src/3rdparty/chromium/third_party/wayland-protocols/src/COPYING \ - src/3rdparty/chromium/third_party/wayland/src/COPYING \ - src/3rdparty/chromium/third_party/wds/LICENSE \ - src/3rdparty/chromium/third_party/wds/src/COPYING \ - src/3rdparty/chromium/third_party/web-animations-js/LICENSE \ - src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING \ - src/3rdparty/chromium/third_party/webdriver/COPYING \ - src/3rdparty/chromium/third_party/webdriver/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \ + src/3rdparty/chromium/third_party/d3/src/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \ + src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \ + src/3rdparty/chromium/third_party/expat/files/COPYING \ + src/3rdparty/chromium/third_party/smhasher/LICENSE \ + src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \ + src/3rdparty/chromium/third_party/intellij/LICENSE \ + src/3rdparty/chromium/third_party/glslang/LICENSE \ + src/3rdparty/chromium/third_party/byte_buddy/LICENSE \ src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \ - src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \ src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \ - src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/audits2_worker/lighthouse/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \ - src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \ + src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/NonCopyingSort.h \ + src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/dtoa/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/dtoa/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/scripts/closure/COPYING \ src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/formatter_worker/acorn/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/gonzales/MIT-LICENSE.txt \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/audits2/lighthouse/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/audits2_worker/lighthouse/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \ + src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \ src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/LICENSE \ src/3rdparty/chromium/third_party/WebKit/Source/devtools/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/Source/devtools/scripts/closure/COPYING \ - src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/COPYING \ - src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING \ - src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \ - src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Source/build/scripts/license.py \ + src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \ src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/six/LICENSE \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/html5lib/LICENSE \ src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \ - src/3rdparty/chromium/third_party/webpagereplay/COPYING \ - src/3rdparty/chromium/third_party/webpagereplay/third_party/dns/LICENSE \ - src/3rdparty/chromium/third_party/webpagereplay/third_party/ipaddr/COPYING \ - src/3rdparty/chromium/third_party/webpagereplay/third_party/ipfw_win32/LICENSE \ - src/3rdparty/chromium/third_party/webpagereplay/third_party/jsmin/LICENSE.txt \ - src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \ - src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \ - src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE \ - src/3rdparty/chromium/third_party/webrtc/LICENSE \ - src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \ - src/3rdparty/chromium/third_party/webtreemap/src/COPYING \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE.md \ + src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING \ + src/3rdparty/chromium/third_party/modp_b64/LICENSE \ + src/3rdparty/chromium/third_party/icu4j/LICENSE \ + src/3rdparty/chromium/third_party/molokocacao/LICENSE \ + src/3rdparty/chromium/third_party/wayland/LICENSE \ + src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \ + src/3rdparty/chromium/third_party/ocmock/License.txt \ + src/3rdparty/chromium/third_party/swiftshader/LICENSE.txt \ + src/3rdparty/chromium/third_party/swiftshader/third_party/PowerVR_SDK/License.txt \ + src/3rdparty/chromium/third_party/swiftshader/third_party/subzero/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/llvm-subzero/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/projects/sample/autoconf/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/utils/unittest/googletest/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/autoconf/LICENSE.TXT \ + src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/include/llvm/Support/LICENSE.TXT \ + src/3rdparty/chromium/third_party/breakpad/breakpad/LICENSE \ + src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/curl/COPYING \ + src/3rdparty/chromium/third_party/breakpad/breakpad/src/third_party/libdisasm/LICENSE \ + src/3rdparty/chromium/third_party/breakpad/LICENSE \ + src/3rdparty/chromium/third_party/espresso/LICENSE \ + src/3rdparty/chromium/third_party/pystache/LICENSE \ + src/3rdparty/chromium/third_party/libsecret/LICENSE \ + src/3rdparty/chromium/third_party/jinja2/LICENSE \ + src/3rdparty/chromium/third_party/decklink/LICENSE \ + src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \ + src/3rdparty/chromium/third_party/haha/LICENSE \ + src/3rdparty/chromium/third_party/wds/LICENSE \ + src/3rdparty/chromium/third_party/wds/src/COPYING \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/signal-exit/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/js-yaml/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/functional-red-black-tree/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/string_decoder/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/escape-string-regexp/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/figures/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/write/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/pinkie-promise/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/run-async/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/co/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/esquery/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/require-uncached/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/type-check/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/ansi-regex/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/has-ansi/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/js-tokens/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/path-is-absolute/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/slice-ansi/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/is-path-inside/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/acorn-jsx/node_modules/acorn/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/acorn-jsx/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/iconv-lite/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/optionator/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/inflight/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/supports-color/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/pluralize/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/fast-levenshtein/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/string-width/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/minimist/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/semver/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/cli-width/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/lodash/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/color-convert/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/fast-json-stable-stringify/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/espree/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/ajv/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/inherits/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/estraverse/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/shebang-regex/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/globals/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/mimic-fn/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/pseudomap/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/has-flag/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/which/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/pinkie/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/tmp/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/wordwrap/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/prelude-ls/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/array-union/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/concat-map/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/strip-json-comments/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/esutils/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/graceful-fs/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/resolve-from/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/is-resolvable/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/ms/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/chardet/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/arrify/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/util-deprecate/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/once/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/path-is-inside/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/argparse/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/object-assign/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/color-name/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/table/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/levn/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/is-fullwidth-code-point/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/babel-code-frame/node_modules/chalk/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/babel-code-frame/node_modules/strip-ansi/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/through/LICENSE.MIT \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/through/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/typedarray/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/eslint-scope/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/lru-cache/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/chalk/node_modules/supports-color/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/chalk/node_modules/ansi-styles/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/chalk/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/concat-stream/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/text-table/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/core-util-is/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/file-entry-cache/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/readable-stream/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/rimraf/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/shebang-command/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/balanced-match/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/safe-buffer/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/glob/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/onetime/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/yallist/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/wrappy/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/fast-deep-equal/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/minimatch/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/globby/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/sprintf-js/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/json-stable-stringify-without-jsonify/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/progress/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/acorn/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/eslint/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/mkdirp/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/external-editor/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/os-tmpdir/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/pify/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/esprima/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/debug/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/fs.realpath/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/strip-ansi/node_modules/ansi-regex/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/strip-ansi/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/array-uniq/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/deep-is/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/is-promise/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/mute-stream/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/doctrine/LICENSE.esprima \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/doctrine/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/json-schema-traverse/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/flat-cache/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/del/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/ajv-keywords/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/circular-json/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/cross-spawn/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/ansi-escapes/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/isexe/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/restore-cursor/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/process-nextick-args/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/cli-cursor/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/third_party/node_modules/ansi-styles/LICENSE \ + src/3rdparty/chromium/third_party/devtools-node-modules/LICENSE \ + src/3rdparty/chromium/third_party/hunspell/COPYING \ + src/3rdparty/chromium/third_party/hunspell/COPYING.LESSER \ + src/3rdparty/chromium/third_party/hunspell/COPYING.MPL \ + src/3rdparty/chromium/third_party/libaddressinput/LICENSE \ + src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \ + src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \ + src/3rdparty/chromium/third_party/pyelftools/LICENSE \ + src/3rdparty/chromium/third_party/jmake/LICENSE \ + src/3rdparty/chromium/third_party/gvr-android-keyboard/LICENSE \ + src/3rdparty/chromium/third_party/ced/LICENSE \ + src/3rdparty/chromium/third_party/ced/src/LICENSE \ + src/3rdparty/chromium/third_party/gestures/gestures/LICENSE \ + src/3rdparty/chromium/third_party/gestures/LICENSE \ + src/3rdparty/chromium/third_party/requests/LICENSE \ + src/3rdparty/chromium/third_party/googletest/src/googletest/LICENSE \ + src/3rdparty/chromium/third_party/googletest/src/googlemock/scripts/generator/LICENSE \ + src/3rdparty/chromium/third_party/googletest/src/googlemock/LICENSE \ + src/3rdparty/chromium/third_party/googletest/src/LICENSE \ + src/3rdparty/chromium/third_party/ijar/LICENSE \ + src/3rdparty/chromium/third_party/minizip/src/LICENSE \ + src/3rdparty/chromium/third_party/javax_inject/LICENSE \ + src/3rdparty/chromium/third_party/pycoverage/LICENSE \ + src/3rdparty/chromium/third_party/visualmetrics/src/LICENSE \ + src/3rdparty/chromium/third_party/gson/LICENSE \ + src/3rdparty/chromium/third_party/re2/LICENSE \ + src/3rdparty/chromium/third_party/re2/src/LICENSE \ + src/3rdparty/chromium/third_party/blanketjs/LICENSE \ + src/3rdparty/chromium/third_party/libjingle_xmpp/LICENSE \ + src/3rdparty/chromium/third_party/sqlite4java/LICENSE \ + src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \ + src/3rdparty/chromium/third_party/crc32c/src/LICENSE \ + src/3rdparty/chromium/third_party/libprotobuf-mutator/src/LICENSE \ + src/3rdparty/chromium/third_party/netty4/LICENSE \ + src/3rdparty/chromium/third_party/objenesis/LICENSE \ + src/3rdparty/chromium/third_party/libusb/src/COPYING \ + src/3rdparty/chromium/third_party/xstream/LICENSE \ + src/3rdparty/chromium/third_party/libsrtp/LICENSE \ + src/3rdparty/chromium/third_party/opus/src/LICENSE_PLEASE_READ.txt \ + src/3rdparty/chromium/third_party/opus/src/COPYING \ + src/3rdparty/chromium/third_party/isimpledom/LICENSE \ + src/3rdparty/chromium/third_party/mt19937ar/LICENSE \ + src/3rdparty/chromium/third_party/openh264/src/LICENSE \ + src/3rdparty/chromium/third_party/gvr-android-sdk/LICENSE \ + src/3rdparty/chromium/third_party/markupsafe/LICENSE \ + src/3rdparty/chromium/third_party/ply/license.patch \ + src/3rdparty/chromium/third_party/ply/LICENSE \ + src/3rdparty/chromium/third_party/khronos/LICENSE \ + src/3rdparty/chromium/third_party/sfntly/COPYING.txt \ + src/3rdparty/chromium/third_party/sfntly/src/cpp/COPYING.txt \ + src/3rdparty/chromium/third_party/ots/LICENSE \ + src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/brotli/LICENSE \ + src/3rdparty/chromium/third_party/icu/scripts/LICENSE \ + src/3rdparty/chromium/third_party/icu/license.html \ + src/3rdparty/chromium/third_party/icu/LICENSE \ + src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \ + src/3rdparty/chromium/third_party/motemplate/LICENSE \ + src/3rdparty/chromium/third_party/apple_apsl/LICENSE \ + src/3rdparty/chromium/third_party/angle/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/common/third_party/smhasher/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \ + src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \ + src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \ + src/3rdparty/chromium/third_party/libjpeg/LICENSE \ + src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE \ src/3rdparty/chromium/third_party/woff2/LICENSE \ - src/3rdparty/chromium/third_party/x86inc/LICENSE \ + src/3rdparty/chromium/third_party/ow2_asm/LICENSE \ + src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING \ + src/3rdparty/chromium/third_party/tcmalloc/LICENSE \ + src/3rdparty/chromium/third_party/jstemplate/COPYING \ + src/3rdparty/chromium/third_party/content_shell_fonts/LICENSE \ + src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \ + src/3rdparty/chromium/third_party/mocha/LICENSE \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \ + src/3rdparty/chromium/third_party/checkstyle/LICENSE \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/jpeg.txt \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/mips.txt \ + src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/oggparse_ahlberg_rullgayrd_2005.txt \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 \ + src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \ + src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \ + src/3rdparty/chromium/third_party/flac/COPYING.Xiph \ + src/3rdparty/chromium/third_party/flac/COPYING.GPL \ + src/3rdparty/chromium/third_party/flac/COPYING.LGPL \ + src/3rdparty/chromium/third_party/flac/COPYING.FDL \ + src/3rdparty/chromium/third_party/material_design_icons/LICENSE \ + src/3rdparty/chromium/third_party/pymock/LICENSE.txt \ + src/3rdparty/chromium/third_party/sqlite/sqlite-src-3210000/autoconf/tea/license.terms \ + src/3rdparty/chromium/third_party/sqlite/LICENSE \ + src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms \ + src/3rdparty/chromium/third_party/libovr/LICENSE \ src/3rdparty/chromium/third_party/xdg-utils/LICENSE \ - src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING \ - src/3rdparty/chromium/third_party/yasm/source/patched-yasm/GNU_GPL-2.0 \ - src/3rdparty/chromium/third_party/yasm/source/patched-yasm/GNU_LGPL-2.0 \ - src/3rdparty/chromium/third_party/zlib/LICENSE \ - src/3rdparty/chromium/tools/gn/out/Release/obj/third_party/widevine/cdm/widevine_test_license_server.ninja \ - src/3rdparty/chromium/tools/gyp/LICENSE \ - src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \ - src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \ - src/3rdparty/chromium/tools/symsrc/COPYING-pefile \ - src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \ - src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \ - src/3rdparty/chromium/v8/LICENSE \ - src/3rdparty/chromium/v8/LICENSE.fdlibm \ - src/3rdparty/chromium/v8/LICENSE.strongtalk \ - src/3rdparty/chromium/v8/LICENSE.v8 \ - src/3rdparty/chromium/v8/LICENSE.valgrind \ - src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \ - src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \ - src/3rdparty/chromium/v8/third_party/inspector_protocol/LICENSE \ - + src/3rdparty/chromium/third_party/mockito/LICENSE \ + src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \ + src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \ + src/3rdparty/chromium/third_party/libudev/LICENSE \ + src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \ + src/3rdparty/chromium/third_party/libyuv/LICENSE \ + src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \ + src/3rdparty/chromium/third_party/bouncycastle/LICENSE \ + src/3rdparty/chromium/third_party/freetype/src/docs/LICENSE.TXT \ + src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \ + src/3rdparty/chromium/third_party/node/LICENSE \ + src/3rdparty/chromium/third_party/libxml/src/COPYING \ + src/3rdparty/chromium/third_party/chaijs/LICENSE \ + src/3rdparty/chromium/third_party/libsync/LICENSE \ + src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING \ + src/3rdparty/chromium/third_party/web-animations-js/LICENSE \ + src/3rdparty/chromium/third_party/mozilla/LICENSE \ + src/3rdparty/chromium/LICENSE.chromium_os \ + src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \ + src/3rdparty/chromium/net/third_party/nss/LICENSE \ + src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \ + src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \ + src/3rdparty/chromium/LICENSE \ + src/3rdparty/chromium/mojo/public/LICENSE \ + src/3rdparty/chromium/buildtools/LICENSE \ + src/3rdparty/ninja/COPYING diff --git a/bsp/buildroot/package/qt5/qt5webengine/chromium-lts.inc b/bsp/buildroot/package/qt5/qt5webengine/chromium-lts.inc index bff79316..d45e9692 100644 --- a/bsp/buildroot/package/qt5/qt5webengine/chromium-lts.inc +++ b/bsp/buildroot/package/qt5/qt5webengine/chromium-lts.inc @@ -1,4 +1,4 @@ -CHROMIUM_LICENSE_FILES = \ +QT5WEBENGINE_CHROMIUM_LICENSE_FILES = \ src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \ src/3rdparty/chromium/sdch/open-vcdiff/COPYING \ src/3rdparty/chromium/tools/gyp/LICENSE \ diff --git a/bsp/buildroot/package/qt5/qt5webengine/host-pkg-config.in b/bsp/buildroot/package/qt5/qt5webengine/host-pkg-config.in new file mode 100644 index 00000000..86a98064 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5webengine/host-pkg-config.in @@ -0,0 +1,6 @@ +#!/bin/sh +PKG_CONFIG_SYSROOT_DIR="/" \ +PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \ +PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \ +PKG_CONFIG_LIBDIR="@HOST_DIR@/lib/pkgconfig:@HOST_DIR@/share/pkgconfig" \ +exec @HOST_DIR@/bin/pkgconf "$@" diff --git a/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.hash b/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.hash index 27ce5898..73035261 100644 --- a/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.hash +++ b/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.hash @@ -1,5 +1,5 @@ # Hash from https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebengine-opensource-src-5.6.3.tar.xz.mirrorlist sha256 009d69fb39f6c0e2b0cd89a7e9302cd0ae1872d02c787d3a37f2cacca5ddb7a7 qtwebengine-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwebengine-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 4766707f5d8c174a284c0ed813bc6163db0220d69736424d3370b44b640443a1 qtwebengine-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwebengine-everywhere-src-5.11.3.tar.xz.sha256 +sha256 5bb49ead71b851db4dc56f8fd97e0db72a268b22104129a06bac201d55d3b8fe qtwebengine-everywhere-src-5.11.3.tar.xz diff --git a/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.mk b/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.mk index 0efc34cc..a3cfcec2 100644 --- a/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.mk +++ b/bsp/buildroot/package/qt5/qt5webengine/qt5webengine.mk @@ -6,7 +6,7 @@ QT5WEBENGINE_VERSION = $(QT5_VERSION) QT5WEBENGINE_SITE = $(QT5_SITE) -QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz +QT5WEBENGINE_SOURCE = qtwebengine-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBENGINE_VERSION).tar.xz QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp qt5base \ qt5declarative qt5webchannel host-bison host-flex host-gperf \ host-pkgconf host-python @@ -19,13 +19,17 @@ include package/qt5/qt5webengine/chromium-lts.inc endif QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \ - LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES) + LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES) ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y) QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \ xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst endif +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +QT5WEBENGINE_DEPENDENCIES += host-libpng host-libnss libnss +endif + QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y) @@ -48,6 +52,17 @@ define QT5WEBENGINE_PYTHON2_SYMLINK endef QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK +QT5WEBENGINE_ENV += NINJAFLAGS="-j$(PARALLEL_JOBS)" + +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) +define QT5WEBENGINE_CREATE_HOST_PKG_CONFIG + sed s%@HOST_DIR@%$(HOST_DIR)%g $(QT5WEBENGINE_PKGDIR)/host-pkg-config.in > $(@D)/host-bin/host-pkg-config + chmod +x $(@D)/host-bin/host-pkg-config +endef +QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_CREATE_HOST_PKG_CONFIG +QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config +endif + define QT5WEBENGINE_CONFIGURE_CMDS (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS)) endef diff --git a/bsp/buildroot/package/qt5/qt5webkit-examples/qt5webkit-examples.mk b/bsp/buildroot/package/qt5/qt5webkit-examples/qt5webkit-examples.mk index 4c01d831..94153fd6 100644 --- a/bsp/buildroot/package/qt5/qt5webkit-examples/qt5webkit-examples.mk +++ b/bsp/buildroot/package/qt5/qt5webkit-examples/qt5webkit-examples.mk @@ -4,7 +4,7 @@ # ################################################################################ -# no 5.9.2 package available, fall back to 5.9.1 version +# no 5.10 package available, fall back to 5.9.1 version ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5WEBKIT_EXAMPLES_VERSION = 5.9.1 QT5WEBKIT_EXAMPLES_SITE = https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules diff --git a/bsp/buildroot/package/qt5/qt5webkit/5.9.1/0005-Fix-installation-of-class-headers.patch b/bsp/buildroot/package/qt5/qt5webkit/5.9.1/0005-Fix-installation-of-class-headers.patch new file mode 100644 index 00000000..abddfe5d --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5webkit/5.9.1/0005-Fix-installation-of-class-headers.patch @@ -0,0 +1,31 @@ +Fix installation of class headers + +Since Qt 5.11 (see commit [1]), the key word HEADER_CLASSES has been +removed. It has been replaced by a new variable GENERATED_HEADER_FILES. + +The class headers were not generated, this commit moves them directly to +HEADER_FILES. + +[1]: https://github.com/qt/qtbase/commit/9c4c136bc9f29bab1cc9684dfced55a92a8bbe96 + +Signed-off-by: Gaël PORTAY +diff -Nurd qtwebkit-opensource-src-5.9.1.orig/include/QtWebKit/headers.pri qtwebkit-opensource-src-5.9.1/include/QtWebKit/headers.pri +--- qtwebkit-opensource-src-5.9.1.orig/include/QtWebKit/headers.pri 2018-06-29 09:21:06.395038976 -0400 ++++ qtwebkit-opensource-src-5.9.1/include/QtWebKit/headers.pri 2018-06-29 17:37:52.500020060 -0400 +@@ -1,5 +1,4 @@ +-SYNCQT.HEADER_FILES = WebKit/qt/Api/qwebdatabase.h WebKit/qt/Api/qwebelement.h WebKit/qt/Api/qwebhistory.h WebKit/qt/Api/qwebhistoryinterface.h WebKit/qt/Api/qwebkitglobal.h WebKit/qt/Api/qwebkitplatformplugin.h WebKit/qt/Api/qwebpluginfactory.h WebKit/qt/Api/qwebsecurityorigin.h WebKit/qt/Api/qwebsettings.h ../include/QtWebKit/qtwebkitversion.h ../include/QtWebKit/QtWebKit +-SYNCQT.HEADER_CLASSES = ../include/QtWebKit/QWebDatabase ../include/QtWebKit/QWebElement ../include/QtWebKit/QWebElementCollection ../include/QtWebKit/QWebHistoryItem ../include/QtWebKit/QWebHistory ../include/QtWebKit/QWebHistoryInterface ../include/QtWebKit/QWebSelectData ../include/QtWebKit/QWebSelectMethod ../include/QtWebKit/QWebNotificationData ../include/QtWebKit/QWebNotificationPresenter ../include/QtWebKit/QWebHapticFeedbackPlayer ../include/QtWebKit/QWebTouchModifier ../include/QtWebKit/QWebFullScreenVideoHandler ../include/QtWebKit/QWebSpellChecker ../include/QtWebKit/QWebKitPlatformPlugin ../include/QtWebKit/QWebPluginFactory ../include/QtWebKit/QWebSecurityOrigin ../include/QtWebKit/QWebSettings ../include/QtWebKit/QtWebKitVersion ++SYNCQT.HEADER_FILES = WebKit/qt/Api/qwebdatabase.h WebKit/qt/Api/qwebelement.h WebKit/qt/Api/qwebhistory.h WebKit/qt/Api/qwebhistoryinterface.h WebKit/qt/Api/qwebkitglobal.h WebKit/qt/Api/qwebkitplatformplugin.h WebKit/qt/Api/qwebpluginfactory.h WebKit/qt/Api/qwebsecurityorigin.h WebKit/qt/Api/qwebsettings.h ../include/QtWebKit/qtwebkitversion.h ../include/QtWebKit/QtWebKit ../include/QtWebKit/QWebDatabase ../include/QtWebKit/QWebElement ../include/QtWebKit/QWebElementCollection ../include/QtWebKit/QWebHistoryItem ../include/QtWebKit/QWebHistory ../include/QtWebKit/QWebHistoryInterface ../include/QtWebKit/QWebSelectData ../include/QtWebKit/QWebSelectMethod ../include/QtWebKit/QWebNotificationData ../include/QtWebKit/QWebNotificationPresenter ../include/QtWebKit/QWebHapticFeedbackPlayer ../include/QtWebKit/QWebTouchModifier ../include/QtWebKit/QWebFullScreenVideoHandler ../include/QtWebKit/QWebSpellChecker ../include/QtWebKit/QWebKitPlatformPlugin ../include/QtWebKit/QWebPluginFactory ../include/QtWebKit/QWebSecurityOrigin ../include/QtWebKit/QWebSettings ../include/QtWebKit/QtWebKitVersion + SYNCQT.PRIVATE_HEADER_FILES = WebKit/qt/Api/qhttpheader_p.h WebKit/qt/Api/qwebdatabase_p.h WebKit/qt/Api/qwebelement_p.h WebKit/qt/Api/qwebhistory_p.h WebKit/qt/Api/qwebplugindatabase_p.h WebKit/qt/Api/qwebscriptworld.h WebKit/qt/Api/qwebscriptworld_p.h WebKit/qt/Api/qwebsecurityorigin_p.h WebKit2/UIProcess/API/qt/qquicknetworkreply_p.h WebKit2/UIProcess/API/qt/qquicknetworkrequest_p.h WebKit2/UIProcess/API/qt/qquickurlschemedelegate_p.h WebKit2/UIProcess/API/qt/qquickwebpage_p.h WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h WebKit2/UIProcess/API/qt/qquickwebview_p.h WebKit2/UIProcess/API/qt/qquickwebview_p_p.h WebKit2/UIProcess/API/qt/qtwebsecurityorigin_p.h WebKit2/UIProcess/API/qt/qwebchannelwebkittransport_p.h WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h WebKit2/UIProcess/API/qt/qwebdownloaditem_p_p.h WebKit2/UIProcess/API/qt/qwebiconimageprovider_p.h WebKit2/UIProcess/API/qt/qwebkittest_p.h WebKit2/UIProcess/API/qt/qwebloadrequest_p.h WebKit2/UIProcess/API/qt/qwebnavigationhistory_p.h WebKit2/UIProcess/API/qt/qwebnavigationhistory_p_p.h WebKit2/UIProcess/API/qt/qwebnavigationrequest_p.h WebKit2/UIProcess/API/qt/qwebpermissionrequest_p.h WebKit2/UIProcess/API/qt/qwebpreferences_p.h WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h WebKit2/UIProcess/API/qt/raw/qrawwebview_p.h WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h WebKit2/UIProcess/API/qt/tests/testwindow.h WebKit2/UIProcess/API/qt/tests/util.h + SYNCQT.INJECTED_PRIVATE_HEADER_FILES = + SYNCQT.QPA_HEADER_FILES = +diff -Nurd qtwebkit-opensource-src-5.9.1.orig/include/QtWebKitWidgets/headers.pri qtwebkit-opensource-src-5.9.1/include/QtWebKitWidgets/headers.pri +--- qtwebkit-opensource-src-5.9.1.orig/include/QtWebKitWidgets/headers.pri 2018-06-29 09:21:06.391705602 -0400 ++++ qtwebkit-opensource-src-5.9.1/include/QtWebKitWidgets/headers.pri 2018-06-29 17:38:47.660648435 -0400 +@@ -1,5 +1,4 @@ +-SYNCQT.HEADER_FILES = WebKit/qt/WidgetApi/qgraphicswebview.h WebKit/qt/WidgetApi/qwebframe.h WebKit/qt/WidgetApi/qwebinspector.h WebKit/qt/WidgetApi/qwebpage.h WebKit/qt/WidgetApi/qwebview.h ../include/QtWebKitWidgets/qtwebkitwidgetsversion.h ../include/QtWebKitWidgets/QtWebKitWidgets +-SYNCQT.HEADER_CLASSES = ../include/QtWebKitWidgets/QGraphicsWebView ../include/QtWebKitWidgets/QWebHitTestResult ../include/QtWebKitWidgets/QWebFrame ../include/QtWebKitWidgets/QWebInspector ../include/QtWebKitWidgets/QWebPage ../include/QtWebKitWidgets/QWebView ../include/QtWebKitWidgets/QtWebKitWidgetsVersion ++SYNCQT.HEADER_FILES = WebKit/qt/WidgetApi/qgraphicswebview.h WebKit/qt/WidgetApi/qwebframe.h WebKit/qt/WidgetApi/qwebinspector.h WebKit/qt/WidgetApi/qwebpage.h WebKit/qt/WidgetApi/qwebview.h ../include/QtWebKitWidgets/qtwebkitwidgetsversion.h ../include/QtWebKitWidgets/QtWebKitWidgets ../include/QtWebKitWidgets/QGraphicsWebView ../include/QtWebKitWidgets/QWebHitTestResult ../include/QtWebKitWidgets/QWebFrame ../include/QtWebKitWidgets/QWebInspector ../include/QtWebKitWidgets/QWebPage ../include/QtWebKitWidgets/QWebView ../include/QtWebKitWidgets/QtWebKitWidgetsVersion + SYNCQT.PRIVATE_HEADER_FILES = WebKit/qt/WidgetApi/qwebframe_p.h WebKit/qt/WidgetApi/qwebinspector_p.h WebKit/qt/WidgetApi/qwebpage_p.h WebKit/qt/WidgetApi/qwebviewaccessible_p.h + SYNCQT.INJECTED_PRIVATE_HEADER_FILES = + SYNCQT.QPA_HEADER_FILES = diff --git a/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk b/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk index 51866716..e8d368fb 100644 --- a/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk +++ b/bsp/buildroot/package/qt5/qt5webkit/qt5webkit.mk @@ -44,15 +44,8 @@ define QT5WEBKIT_PYTHON2_SYMLINK endef QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK -# The mesa's EGL/eglplatform.h header includes X11 headers unless the flag -# MESA_EGL_NO_X11_HEADERS is defined. Tell to not include X11 headers if -# the libxcb is not selected. -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)x$(BR2_PACKAGE_LIBXCB),yx) -QT5WEBKIT_QMAKEFLAGS += QMAKE_CXXFLAGS+=-DMESA_EGL_NO_X11_HEADERS -endif - define QT5WEBKIT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBKIT_QMAKEFLAGS)) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/bin/qmake) endef define QT5WEBKIT_BUILD_CMDS diff --git a/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.hash b/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.hash index 28f0f89a..0df4ac98 100644 --- a/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.hash +++ b/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtwebsockets-opensource-src-5.6.3.tar.xz.mirrorlist sha256 a2439045616c89dfe06333734ff4726075c92e01db6e6b6863bc138e39c028eb qtwebsockets-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtwebsockets-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 7609eba33ebc9c6954644470ebbb1292cdae50f36d0c8ff5ab068b249e4a3c8e qtwebsockets-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtwebsockets-everywhere-src-5.11.3.tar.xz.sha256 +sha256 021090c1a92f11fcf2914168741c1364235896793685b7fae2bc23e3dd55d5b9 qtwebsockets-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.mk b/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.mk index 661bc83e..c67db198 100644 --- a/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.mk +++ b/bsp/buildroot/package/qt5/qt5websockets/qt5websockets.mk @@ -6,7 +6,7 @@ QT5WEBSOCKETS_VERSION = $(QT5_VERSION) QT5WEBSOCKETS_SITE = $(QT5_SITE) -QT5WEBSOCKETS_SOURCE = qtwebsockets-opensource-src-$(QT5WEBSOCKETS_VERSION).tar.xz +QT5WEBSOCKETS_SOURCE = qtwebsockets-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WEBSOCKETS_VERSION).tar.xz QT5WEBSOCKETS_DEPENDENCIES = qt5base QT5WEBSOCKETS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash b/bsp/buildroot/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash new file mode 100644 index 00000000..9a0e85d8 --- /dev/null +++ b/bsp/buildroot/package/qt5/qt5x11extras/5.11.3/qt5x11extras.hash @@ -0,0 +1,9 @@ +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtx11extras-everywhere-src-5.11.3.tar.xz.mirrorlist +sha256 f99eebe685f7cdbb71cd62903c2b2511548345535841bcc3f6b662205815cd85 qtx11extras-everywhere-src-5.11.3.tar.xz + +# Hashes for license files: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3 +sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 da7eabb7bafdf7d3ae5e9f223aa5bdc1eece45ac569dc21b3b037520b4464768 LICENSE.LGPL3 +sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.hash b/bsp/buildroot/package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash similarity index 64% rename from bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.hash rename to bsp/buildroot/package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash index b52d2da5..b34c0599 100644 --- a/bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.hash +++ b/bsp/buildroot/package/qt5/qt5x11extras/5.6.3/qt5x11extras.hash @@ -1,12 +1,10 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtx11extras-opensource-src-5.6.3.tar.xz.mirrorlist sha256 1e7a8e96e0629f2b2b78de684b156b357210cf5df6b42f30789423f2cb07677f qtx11extras-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtx11extras-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 65b83df79d87043d63808e709778b3c6fddaafa3c7864d7104ee9a9da5909493 qtx11extras-opensource-src-5.9.6.tar.xz - # Hashes for license files: sha256 edfe70e99be2a7c109d860b19204609e582720b211c50caedac729da372a1253 LICENSE.GPLv2 sha256 245248009fd0af1725d183248380e476c1283383909358a13686606352bf2a17 LICENSE.GPLv3 -sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT +sha256 1996a36160b2158c2be264d2ddfa6148ebe0f1ececff55aca8d754a1ddcc7bb8 LICENSE.LGPLv21 +sha256 438c1f9a2b256e47dac33249f2ad6d4a9df643f1ec5312216d528a2f7ad82084 LGPL_EXCEPTION.txt sha256 5ceb37d1c7c1d92878b82af3c0fd5558087f3d5a08a3a4d43850bad4ad265a52 LICENSE.LGPLv3 sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk b/bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk index 0905d5f7..9d54c110 100644 --- a/bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk +++ b/bsp/buildroot/package/qt5/qt5x11extras/qt5x11extras.mk @@ -6,13 +6,13 @@ QT5X11EXTRAS_VERSION = $(QT5_VERSION) QT5X11EXTRAS_SITE = $(QT5_SITE) -QT5X11EXTRAS_SOURCE = qtx11extras-opensource-src-$(QT5X11EXTRAS_VERSION).tar.xz +QT5X11EXTRAS_SOURCE = qtx11extras-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5X11EXTRAS_VERSION).tar.xz QT5X11EXTRAS_DEPENDENCIES = qt5base QT5X11EXTRAS_INSTALL_STAGING = YES ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y) QT5X11EXTRAS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs) -QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL +QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL else QT5X11EXTRAS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs) QT5X11EXTRAS_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL diff --git a/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash b/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash index 13876777..5c66a54e 100644 --- a/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash +++ b/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash @@ -1,8 +1,8 @@ # Hash from: https://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/qtxmlpatterns-opensource-src-5.6.3.tar.xz.mirrorlist sha256 a461ff9f0d7310de9b9904ff9cd34919e958bf4071a6fc7096450b8990ab51f6 qtxmlpatterns-opensource-src-5.6.3.tar.xz -# Hash from: https://download.qt.io/official_releases/qt/5.9/5.9.6/submodules/qtxmlpatterns-opensource-src-5.9.6.tar.xz.mirrorlist -sha256 6a435b14b85e17268b7acf764e7ed92430045a7bb6eb741a1ea200d2df0986dc qtxmlpatterns-opensource-src-5.9.6.tar.xz +# Hash from: https://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/qtxmlpatterns-everywhere-src-5.11.3.tar.xz.sha256 +sha256 8bd00be30722570d22382b99679d07787a2d62d4891d1c47d738d634e2db0eee qtxmlpatterns-everywhere-src-5.11.3.tar.xz # Hashes for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2 diff --git a/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index 0e02258a..0a8b47ac 100644 --- a/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/bsp/buildroot/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -6,7 +6,7 @@ QT5XMLPATTERNS_VERSION = $(QT5_VERSION) QT5XMLPATTERNS_SITE = $(QT5_SITE) -QT5XMLPATTERNS_SOURCE = qtxmlpatterns-opensource-src-$(QT5XMLPATTERNS_VERSION).tar.xz +QT5XMLPATTERNS_SOURCE = qtxmlpatterns-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5XMLPATTERNS_VERSION).tar.xz QT5XMLPATTERNS_DEPENDENCIES = qt5base QT5XMLPATTERNS_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/qt5cinex/qt5cinex.mk b/bsp/buildroot/package/qt5cinex/qt5cinex.mk index d9254f53..89c38ee3 100644 --- a/bsp/buildroot/package/qt5cinex/qt5cinex.mk +++ b/bsp/buildroot/package/qt5cinex/qt5cinex.mk @@ -8,7 +8,7 @@ QT5CINEX_VERSION = 1.0 QT5CINEX_SITE = http://quitcoding.com/download ifeq ($(BR2_PACKAGE_QT5CINEX_HD),y) -QT5CINEX_HD = "rpi_" +QT5CINEX_HD = rpi_ endif QT5CINEX_SOURCE = Qt5_CinematicExperience_$(QT5CINEX_HD)$(QT5CINEX_VERSION).tgz diff --git a/bsp/buildroot/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch b/bsp/buildroot/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch deleted file mode 100644 index 99337026..00000000 --- a/bsp/buildroot/package/qtuio/0001-TuioServer.cpp-add-missing-include.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 4dd7cad8c95484a882eaa2aeaa74595a3dd93a07 Mon Sep 17 00:00:00 2001 -From: Stephan Hoffmann -Date: Sun, 2 Dec 2012 13:36:41 +0100 -Subject: [PATCH] TuioServer.cpp: add missing include - -If usleep() is used the header has to be included - -Signed-off-by: Stephan Hoffmann ---- - src/3rdparty/tuio/TuioServer.cpp | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/src/3rdparty/tuio/TuioServer.cpp b/src/3rdparty/tuio/TuioServer.cpp -index f17bef9..851144c 100644 ---- a/src/3rdparty/tuio/TuioServer.cpp -+++ b/src/3rdparty/tuio/TuioServer.cpp -@@ -25,6 +25,8 @@ using namespace TUIO; - using namespace osc; - - #ifndef WIN32 -+#include -+ - static void* ThreadFunc( void* obj ) - #else - static DWORD WINAPI ThreadFunc( LPVOID obj ) --- -1.7.0.4 - diff --git a/bsp/buildroot/package/qtuio/0002-dont-append-_d-for-debug.patch b/bsp/buildroot/package/qtuio/0002-dont-append-_d-for-debug.patch deleted file mode 100644 index fbaaf192..00000000 --- a/bsp/buildroot/package/qtuio/0002-dont-append-_d-for-debug.patch +++ /dev/null @@ -1,29 +0,0 @@ -[PATCH] don't append _d to library name when Qt is built with debug support - -qtuio appends _d to the library name when Qt was built with debug support, -breaking linking step for examples and staging/target install. - -There's no real advantage to the _d suffix, so simply fix it by removing -the logic appending _d. - -Signed-off-by: Peter Korsgaard ---- - src/qTUIO.pro | 5 ----- - 1 file changed, 5 deletions(-) - -Index: qtuio-abe4973ff6/src/qTUIO.pro -=================================================================== ---- qtuio-abe4973ff6.orig/src/qTUIO.pro -+++ qtuio-abe4973ff6/src/qTUIO.pro -@@ -16,11 +16,6 @@ - win32:LIBS += ws2_32.lib \ - winmm.lib - --# Changes the name of the target, when is debug mode --CONFIG( debug, debug|release ) { -- TARGET = $${TARGET}_d -- BUILD_NAME = debug --} - CONFIG( release, debug|release ):BUILD_NAME = release - - # Temporary folders for the auxiliar files diff --git a/bsp/buildroot/package/qtuio/Config.in b/bsp/buildroot/package/qtuio/Config.in deleted file mode 100644 index f46f1dd4..00000000 --- a/bsp/buildroot/package/qtuio/Config.in +++ /dev/null @@ -1,22 +0,0 @@ -config BR2_PACKAGE_QTUIO - bool "qtuio" - depends on BR2_PACKAGE_QT - depends on BR2_PACKAGE_QT_GUI_MODULE - help - Implementation of an interface connecting TUIO messages - and QT events - - https://github.com/x29a/qTUIO - -if BR2_PACKAGE_QTUIO - -config BR2_QTUIO_EXAMPLES - bool "qtuio examples" - help - Build and install qtuio examples - -endif - -comment "qtuio depends on QT gui module" - depends on BR2_PACKAGE_QT - depends on !BR2_PACKAGE_QT_GUI_MODULE diff --git a/bsp/buildroot/package/qtuio/qtuio.hash b/bsp/buildroot/package/qtuio/qtuio.hash deleted file mode 100644 index bb9bdb18..00000000 --- a/bsp/buildroot/package/qtuio/qtuio.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 65308adb59e910d552d4885772c7f99c7d19dec5e924d852a5a39a1972f8d223 qtuio-abe4973ff60654aad9df7037c4ca15c45f811d24.tar.gz diff --git a/bsp/buildroot/package/qtuio/qtuio.mk b/bsp/buildroot/package/qtuio/qtuio.mk deleted file mode 100644 index 6b90a2c0..00000000 --- a/bsp/buildroot/package/qtuio/qtuio.mk +++ /dev/null @@ -1,72 +0,0 @@ -################################################################################ -# -# qtuio -# -################################################################################ - -QTUIO_VERSION = abe4973ff60654aad9df7037c4ca15c45f811d24 -QTUIO_SITE = $(call github,x29a,qTUIO,$(QTUIO_VERSION)) -QTUIO_INSTALL_STAGING = YES -QTUIO_DEPENDENCIES = qt - -QTUIO_LICENSE = GPL-3.0+ -QTUIO_LICENSE_FILES = COPYING - -# The pong example needs QtOpenGL support, which might become available -# some time in the future. Then add pong to the list of examples. -QTUIO_EXAMPLES = dials fingerpaint knobs pinchzoom - -ifeq ($(BR2_QTUIO_EXAMPLES),y) -define QTUIO_CONFIGURE_EXAMPLES - for example in $(QTUIO_EXAMPLES) ; do \ - (cd $(@D)/examples/$${example} && $(TARGET_MAKE_ENV) $(QT_QMAKE)) || exit 1; \ - done -endef -endif - -define QTUIO_CONFIGURE_CMDS - cd $(@D)/src && $(TARGET_MAKE_ENV) $(QT_QMAKE) - $(QTUIO_CONFIGURE_EXAMPLES) -endef - -ifeq ($(BR2_QTUIO_EXAMPLES),y) -define QTUIO_BUILD_EXAMPLES - for example in $(QTUIO_EXAMPLES) ; do \ - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/examples/$${example} || exit 1; \ - done -endef -endif - -define QTUIO_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src - $(QTUIO_BUILD_EXAMPLES) -endef - -# Unfortunately, there is no working "install" target available -ifeq ($(BR2_QTUIO_EXAMPLES),y) -define QTUIO_INSTALL_EXAMPLES - for example in $(QTUIO_EXAMPLES) ; do \ - $(INSTALL) -D -m 0755 $(@D)/examples/$${example}/$${example} $(TARGET_DIR)/usr/share/qtuio/$${example} || exit 1 ; \ - done -endef -endif - -ifeq ($(BR2_PACKAGE_QT_STATIC),y) -QTUIO_LIBRARY = libqTUIO.a -else -QTUIO_LIBRARY = libqTUIO.so* -define QTUIO_INSTALL_TARGET_LIBRARY - cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(TARGET_DIR)/usr/lib -endef -endif - -define QTUIO_INSTALL_TARGET_CMDS - $(QTUIO_INSTALL_TARGET_LIBRARY) - $(QTUIO_INSTALL_EXAMPLES) -endef - -define QTUIO_INSTALL_STAGING_CMDS - cp -dpf $(@D)/lib/$(QTUIO_LIBRARY) $(STAGING_DIR)/usr/lib -endef - -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/quagga/0002-configure-fix-static-linking-with-readline.patch b/bsp/buildroot/package/quagga/0002-configure-fix-static-linking-with-readline.patch deleted file mode 100644 index 243dfaf7..00000000 --- a/bsp/buildroot/package/quagga/0002-configure-fix-static-linking-with-readline.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 62ede7482da15d276b880f6d8540dce400dc50a7 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 26 Nov 2015 15:59:07 +0100 -Subject: [PATCH] configure: fix static linking with readline - -When static linking is used, the order of the libraries is important, -and the libraries using a symbol from another library should be listed -*before* the library providing that symbol (see -http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking) -for details. - -When vtysh is linked statically, the command line contains "-lcurses --lreadline", which causes a build failure due to unresolved -symbols. This is because readline is using symbols from the curses -library: the order should be the opposite. - -This patch fixes that problem by putting the -lreadline at the -beginning of the LIBREADLINE variable calcualted by the configure -script. - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 3003e62..290953d 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -652,7 +652,7 @@ dnl [TODO] on Linux, and in [TODO] on Solaris. - )] - )] - ) -- AC_CHECK_LIB(readline, main, LIBREADLINE="$LIBREADLINE -lreadline",, -+ AC_CHECK_LIB(readline, main, LIBREADLINE="-lreadline $LIBREADLINE",, - "$LIBREADLINE") - if test $ac_cv_lib_readline_main = no; then - AC_MSG_ERROR([vtysh needs libreadline but was not found and usable on your system.]) --- -2.6.3 - diff --git a/bsp/buildroot/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch b/bsp/buildroot/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch deleted file mode 100644 index 6990f47c..00000000 --- a/bsp/buildroot/package/quagga/0003-lib-memory-fix-indirect-static-link-with-zlib.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 008dd9771057dbbd7ce971c43bce2a0b05e2cf97 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Sun, 21 Aug 2016 08:56:57 +0300 -Subject: [PATCH] lib/memory: fix indirect static link with zlib - -quagga SNMP support depends on netsnmp, that optionally depends on OpenSSL, -which in turn requires zlib. zlib exports the 'zcalloc' symbol, which collides -with a function of the same name in memory.c. This is not a problem when -linking dynamically, since quagga does not use zlib directly. But static -linking fails with the error: - - CCLD ospfd -.../output/host/usr/mips64el-buildroot-linux-uclibc/sysroot/usr/lib/libz.a(zutil.o): In function `zcalloc': -zutil.c:(.text+0x48): multiple definition of `zcalloc' -.../output/build/quagga-1.0.20160315/lib/.libs/libzebra.a(memory.o):memory.c:(.text+0x1a0): first defined here - -Rename 'zcalloc' to 'zzcalloc' to avoid symbol collision. - -Signed-off-by: Baruch Siach ---- -Patch status: posted upstream -https://lists.quagga.net/pipermail/quagga-dev/2016-August/016109.html - - lib/memory.c | 14 ++++++++------ - lib/memory.h | 4 ++-- - 2 files changed, 10 insertions(+), 8 deletions(-) - -diff --git a/lib/memory.c b/lib/memory.c -index 269520d5a435..b1680a5e6f07 100644 ---- a/lib/memory.c -+++ b/lib/memory.c -@@ -80,9 +80,11 @@ zmalloc (int type, size_t size) - - /* - * Allocate memory as in zmalloc, and also clear the memory. -+ * Add an extra 'z' prefix to function name to avoid collision when linking -+ * statically with zlib that exports the 'zcalloc' symbol. - */ - void * --zcalloc (int type, size_t size) -+zzcalloc (int type, size_t size) - { - void *memory; - -@@ -97,9 +99,9 @@ zcalloc (int type, size_t size) - } - - /* -- * Given a pointer returned by zmalloc or zcalloc, free it and -+ * Given a pointer returned by zmalloc or zzcalloc, free it and - * return a pointer to a new size, basically acting like realloc(). -- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the -+ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the - * same type. - * Effects: Returns a pointer to the new memory, or aborts. - */ -@@ -109,7 +111,7 @@ zrealloc (int type, void *ptr, size_t size) - void *memory; - - if (ptr == NULL) /* is really alloc */ -- return zcalloc(type, size); -+ return zzcalloc(type, size); - - memory = realloc (ptr, size); - if (memory == NULL) -@@ -122,7 +124,7 @@ zrealloc (int type, void *ptr, size_t size) - - /* - * Free memory allocated by z*alloc or zstrdup. -- * Requires: ptr was returned by zmalloc, zcalloc, or zrealloc with the -+ * Requires: ptr was returned by zmalloc, zzcalloc, or zrealloc with the - * same type. - * Effects: The memory is freed and may no longer be referenced. - */ -@@ -196,7 +198,7 @@ mtype_zcalloc (const char *file, int line, int type, size_t size) - mstat[type].c_calloc++; - mstat[type].t_calloc++; - -- memory = zcalloc (type, size); -+ memory = zzcalloc (type, size); - mtype_log ("xcalloc", memory, file, line, type); - - return memory; -diff --git a/lib/memory.h b/lib/memory.h -index 23962235dbfe..501352993d21 100644 ---- a/lib/memory.h -+++ b/lib/memory.h -@@ -56,7 +56,7 @@ extern struct mlist mlists[]; - mtype_zstrdup (__FILE__, __LINE__, (mtype), (str)) - #else - #define XMALLOC(mtype, size) zmalloc ((mtype), (size)) --#define XCALLOC(mtype, size) zcalloc ((mtype), (size)) -+#define XCALLOC(mtype, size) zzcalloc ((mtype), (size)) - #define XREALLOC(mtype, ptr, size) zrealloc ((mtype), (ptr), (size)) - #define XFREE(mtype, ptr) do { \ - zfree ((mtype), (ptr)); \ -@@ -67,7 +67,7 @@ extern struct mlist mlists[]; - - /* Prototypes of memory function. */ - extern void *zmalloc (int type, size_t size); --extern void *zcalloc (int type, size_t size); -+extern void *zzcalloc (int type, size_t size); - extern void *zrealloc (int type, void *ptr, size_t size); - extern void zfree (int type, void *ptr); - extern char *zstrdup (int type, const char *str); --- -2.8.1 - diff --git a/bsp/buildroot/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch b/bsp/buildroot/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch deleted file mode 100644 index 1425cf04..00000000 --- a/bsp/buildroot/package/quagga/0004-bgpd-Fix-AS_PATH-size-calculation-for-long-paths.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7a42b78be9a4108d98833069a88e6fddb9285008 Mon Sep 17 00:00:00 2001 -From: Andreas Jaggi -Date: Mon, 2 Oct 2017 19:38:43 +0530 -Subject: [PATCH] bgpd: Fix AS_PATH size calculation for long paths - -If you have an AS_PATH with more entries than -what can be written into a single AS_SEGMENT_MAX -it needs to be broken up. The code that noticed -that the AS_PATH needs to be broken up was not -correctly calculating the size of the resulting -message. This patch addresses this issue. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_aspath.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c -index b7af5e88..d813bfba 100644 ---- a/bgpd/bgp_aspath.c -+++ b/bgpd/bgp_aspath.c -@@ -903,7 +903,7 @@ aspath_put (struct stream *s, struct aspath *as, int use32bit ) - assegment_header_put (s, seg->type, AS_SEGMENT_MAX); - assegment_data_put (s, seg->as, AS_SEGMENT_MAX, use32bit); - written += AS_SEGMENT_MAX; -- bytes += ASSEGMENT_SIZE (written, use32bit); -+ bytes += ASSEGMENT_SIZE (AS_SEGMENT_MAX, use32bit); - } - - /* write the final segment, probably is also the first */ --- -2.11.0 - diff --git a/bsp/buildroot/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch b/bsp/buildroot/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch deleted file mode 100644 index b64109d0..00000000 --- a/bsp/buildroot/package/quagga/0005-bgpd-security-invalid-attr-length-sends-NOTIFY-with-.patch +++ /dev/null @@ -1,69 +0,0 @@ -From cc2e6770697e343f4af534114ab7e633d5beabec Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Wed, 3 Jan 2018 23:57:33 +0000 -Subject: [PATCH] bgpd/security: invalid attr length sends NOTIFY with data - overrun - -Security issue: Quagga-2018-0543 - -See: https://www.quagga.net/security/Quagga-2018-0543.txt - -* bgpd/bgp_attr.c: (bgp_attr_parse) An invalid attribute length is correctly - checked, and a NOTIFY prepared. The NOTIFY can include the incorrect - received data with the NOTIFY, for debug purposes. Commit - c69698704806a9ac5 modified the code to do that just, and also send the - malformed attr with the NOTIFY. However, the invalid attribute length was - used as the length of the data to send back. - - The result is a read past the end of data, which is then written to the - NOTIFY message and sent to the peer. - - A configured BGP peer can use this bug to read up to 64 KiB of memory from - the bgpd process, or crash the process if the invalid read is caught by - some means (unmapped page and SEGV, or other mechanism) resulting in a DoS. - - This bug _ought_ /not/ be exploitable by anything other than the connected - BGP peer, assuming the underlying TCP transport is secure. For no BGP - peer should send on an UPDATE with this attribute. Quagga will not, as - Quagga always validates the attr header length, regardless of type. - - However, it is possible that there are BGP implementations that do not - check lengths on some attributes (e.g. optional/transitive ones of a type - they do not recognise), and might pass such malformed attrs on. If such - implementations exists and are common, then this bug might be triggerable - by BGP speakers further hops away. Those peers will not receive the - NOTIFY (unless they sit on a shared medium), however they might then be - able to trigger a DoS. - - Fix: use the valid bound to calculate the length. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_attr.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c -index ef58beb1..9564637e 100644 ---- a/bgpd/bgp_attr.c -+++ b/bgpd/bgp_attr.c -@@ -2147,6 +2147,8 @@ bgp_attr_parse (struct peer *peer, struct attr *attr, bgp_size_t size, - memset (seen, 0, BGP_ATTR_BITMAP_SIZE); - - /* End pointer of BGP attribute. */ -+ assert (size <= stream_get_size (BGP_INPUT (peer))); -+ assert (size <= stream_get_endp (BGP_INPUT (peer))); - endp = BGP_INPUT_PNT (peer) + size; - - /* Get attributes to the end of attribute length. */ -@@ -2228,7 +2230,7 @@ bgp_attr_parse (struct peer *peer, struct attr *attr, bgp_size_t size, - bgp_notify_send_with_data (peer, - BGP_NOTIFY_UPDATE_ERR, - BGP_NOTIFY_UPDATE_ATTR_LENG_ERR, -- startp, attr_endp - startp); -+ startp, endp - startp); - return BGP_ATTR_PARSE_ERROR; - } - --- -2.11.0 - diff --git a/bsp/buildroot/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch b/bsp/buildroot/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch deleted file mode 100644 index 0e32817f..00000000 --- a/bsp/buildroot/package/quagga/0006-bgpd-security-Fix-double-free-of-unknown-attribute.patch +++ /dev/null @@ -1,112 +0,0 @@ -From e69b535f92eafb599329bf725d9b4c6fd5d7fded Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Sat, 6 Jan 2018 19:52:10 +0000 -Subject: [PATCH] bgpd/security: Fix double free of unknown attribute - -Security issue: Quagga-2018-1114 -See: https://www.quagga.net/security/Quagga-2018-1114.txt - -It is possible for bgpd to double-free an unknown attribute. This can happen -via bgp_update_receive receiving an UPDATE with an invalid unknown attribute. -bgp_update_receive then will call bgp_attr_unintern_sub and bgp_attr_flush, -and the latter may try free an already freed unknown attr. - -* bgpd/bgp_attr.c: (transit_unintern) Take a pointer to the caller's storage - for the (struct transit *), so that transit_unintern can NULL out the - caller's reference if the (struct transit) is freed. - (cluster_unintern) By inspection, appears to have a similar issue. - (bgp_attr_unintern_sub) adjust for above. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_attr.c | 33 +++++++++++++++++++-------------- - bgpd/bgp_attr.h | 4 ++-- - 2 files changed, 21 insertions(+), 16 deletions(-) - -diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c -index 9564637e..0c2806b5 100644 ---- a/bgpd/bgp_attr.c -+++ b/bgpd/bgp_attr.c -@@ -199,15 +199,17 @@ cluster_intern (struct cluster_list *cluster) - } - - void --cluster_unintern (struct cluster_list *cluster) -+cluster_unintern (struct cluster_list **cluster) - { -- if (cluster->refcnt) -- cluster->refcnt--; -+ struct cluster_list *c = *cluster; -+ if (c->refcnt) -+ c->refcnt--; - -- if (cluster->refcnt == 0) -+ if (c->refcnt == 0) - { -- hash_release (cluster_hash, cluster); -- cluster_free (cluster); -+ hash_release (cluster_hash, c); -+ cluster_free (c); -+ *cluster = NULL; - } - } - -@@ -357,15 +359,18 @@ transit_intern (struct transit *transit) - } - - void --transit_unintern (struct transit *transit) -+transit_unintern (struct transit **transit) - { -- if (transit->refcnt) -- transit->refcnt--; -+ struct transit *t = *transit; -+ -+ if (t->refcnt) -+ t->refcnt--; - -- if (transit->refcnt == 0) -+ if (t->refcnt == 0) - { -- hash_release (transit_hash, transit); -- transit_free (transit); -+ hash_release (transit_hash, t); -+ transit_free (t); -+ *transit = NULL; - } - } - -@@ -820,11 +825,11 @@ bgp_attr_unintern_sub (struct attr *attr) - UNSET_FLAG(attr->flag, ATTR_FLAG_BIT (BGP_ATTR_LARGE_COMMUNITIES)); - - if (attr->extra->cluster) -- cluster_unintern (attr->extra->cluster); -+ cluster_unintern (&attr->extra->cluster); - UNSET_FLAG(attr->flag, ATTR_FLAG_BIT (BGP_ATTR_CLUSTER_LIST)); - - if (attr->extra->transit) -- transit_unintern (attr->extra->transit); -+ transit_unintern (&attr->extra->transit); - } - } - -diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h -index 9ff074b2..052acc7d 100644 ---- a/bgpd/bgp_attr.h -+++ b/bgpd/bgp_attr.h -@@ -187,10 +187,10 @@ extern unsigned long int attr_unknown_count (void); - - /* Cluster list prototypes. */ - extern int cluster_loop_check (struct cluster_list *, struct in_addr); --extern void cluster_unintern (struct cluster_list *); -+extern void cluster_unintern (struct cluster_list **); - - /* Transit attribute prototypes. */ --void transit_unintern (struct transit *); -+void transit_unintern (struct transit **); - - /* Below exported for unit-test purposes only */ - struct bgp_attr_parser_args { --- -2.11.0 - diff --git a/bsp/buildroot/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch b/bsp/buildroot/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch deleted file mode 100644 index aeb50ae5..00000000 --- a/bsp/buildroot/package/quagga/0007-bgpd-security-debug-print-of-received-NOTIFY-data-ca.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 9e5251151894aefdf8e9392a2371615222119ad8 Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Sat, 6 Jan 2018 22:31:52 +0000 -Subject: [PATCH] bgpd/security: debug print of received NOTIFY data can - over-read msg array - -Security issue: Quagga-2018-1550 -See: https://www.quagga.net/security/Quagga-2018-1550.txt - -* bgpd/bgp_debug.c: (struct message) Nearly every one of the NOTIFY - code/subcode message arrays has their corresponding size variables off - by one, as most have 1 as first index. - - This means (bgp_notify_print) can cause mes_lookup to overread the (struct - message) by 1 pointer value if given an unknown index. - - Fix the bgp_notify_..._msg_max variables to use the compiler to calculate - the correct sizes. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_debug.c | 21 ++++++++++++--------- - 1 file changed, 12 insertions(+), 9 deletions(-) - -diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c -index ba797228..43faee7c 100644 ---- a/bgpd/bgp_debug.c -+++ b/bgpd/bgp_debug.c -@@ -29,6 +29,7 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - #include "log.h" - #include "sockunion.h" - #include "filter.h" -+#include "memory.h" - - #include "bgpd/bgpd.h" - #include "bgpd/bgp_aspath.h" -@@ -73,7 +74,8 @@ const struct message bgp_status_msg[] = - { Clearing, "Clearing" }, - { Deleted, "Deleted" }, - }; --const int bgp_status_msg_max = BGP_STATUS_MAX; -+#define BGP_DEBUG_MSG_MAX(msg) const int msg ## _max = array_size (msg) -+BGP_DEBUG_MSG_MAX (bgp_status_msg); - - /* BGP message type string. */ - const char *bgp_type_str[] = -@@ -84,7 +86,8 @@ const char *bgp_type_str[] = - "NOTIFICATION", - "KEEPALIVE", - "ROUTE-REFRESH", -- "CAPABILITY" -+ "CAPABILITY", -+ NULL, - }; - - /* message for BGP-4 Notify */ -@@ -98,15 +101,15 @@ static const struct message bgp_notify_msg[] = - { BGP_NOTIFY_CEASE, "Cease"}, - { BGP_NOTIFY_CAPABILITY_ERR, "CAPABILITY Message Error"}, - }; --static const int bgp_notify_msg_max = BGP_NOTIFY_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_msg); - - static const struct message bgp_notify_head_msg[] = - { - { BGP_NOTIFY_HEADER_NOT_SYNC, "/Connection Not Synchronized"}, - { BGP_NOTIFY_HEADER_BAD_MESLEN, "/Bad Message Length"}, -- { BGP_NOTIFY_HEADER_BAD_MESTYPE, "/Bad Message Type"} -+ { BGP_NOTIFY_HEADER_BAD_MESTYPE, "/Bad Message Type"}, - }; --static const int bgp_notify_head_msg_max = BGP_NOTIFY_HEADER_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_head_msg); - - static const struct message bgp_notify_open_msg[] = - { -@@ -119,7 +122,7 @@ static const struct message bgp_notify_open_msg[] = - { BGP_NOTIFY_OPEN_UNACEP_HOLDTIME, "/Unacceptable Hold Time"}, - { BGP_NOTIFY_OPEN_UNSUP_CAPBL, "/Unsupported Capability"}, - }; --static const int bgp_notify_open_msg_max = BGP_NOTIFY_OPEN_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_open_msg); - - static const struct message bgp_notify_update_msg[] = - { -@@ -136,7 +139,7 @@ static const struct message bgp_notify_update_msg[] = - { BGP_NOTIFY_UPDATE_INVAL_NETWORK, "/Invalid Network Field"}, - { BGP_NOTIFY_UPDATE_MAL_AS_PATH, "/Malformed AS_PATH"}, - }; --static const int bgp_notify_update_msg_max = BGP_NOTIFY_UPDATE_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_update_msg); - - static const struct message bgp_notify_cease_msg[] = - { -@@ -150,7 +153,7 @@ static const struct message bgp_notify_cease_msg[] = - { BGP_NOTIFY_CEASE_COLLISION_RESOLUTION, "/Connection collision resolution"}, - { BGP_NOTIFY_CEASE_OUT_OF_RESOURCE, "/Out of Resource"}, - }; --static const int bgp_notify_cease_msg_max = BGP_NOTIFY_CEASE_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_cease_msg); - - static const struct message bgp_notify_capability_msg[] = - { -@@ -159,7 +162,7 @@ static const struct message bgp_notify_capability_msg[] = - { BGP_NOTIFY_CAPABILITY_INVALID_LENGTH, "/Invalid Capability Length"}, - { BGP_NOTIFY_CAPABILITY_MALFORMED_CODE, "/Malformed Capability Value"}, - }; --static const int bgp_notify_capability_msg_max = BGP_NOTIFY_CAPABILITY_MAX; -+BGP_DEBUG_MSG_MAX (bgp_notify_capability_msg); - - /* Origin strings. */ - const char *bgp_origin_str[] = {"i","e","?"}; --- -2.11.0 - diff --git a/bsp/buildroot/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch b/bsp/buildroot/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch deleted file mode 100644 index 0a06da93..00000000 --- a/bsp/buildroot/package/quagga/0008-bgpd-security-fix-infinite-loop-on-certain-invalid-O.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ce07207c50a3d1f05d6dd49b5294282e59749787 Mon Sep 17 00:00:00 2001 -From: Paul Jakma -Date: Sat, 6 Jan 2018 21:20:51 +0000 -Subject: [PATCH] bgpd/security: fix infinite loop on certain invalid OPEN - messages - -Security issue: Quagga-2018-1975 -See: https://www.quagga.net/security/Quagga-2018-1975.txt - -* bgpd/bgp_packet.c: (bgp_capability_msg_parse) capability parser can infinite - loop due to checks that issue 'continue' without bumping the input - pointer. - -Signed-off-by: Peter Korsgaard ---- - bgpd/bgp_packet.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c -index b3d601fc..f9338d8d 100644 ---- a/bgpd/bgp_packet.c -+++ b/bgpd/bgp_packet.c -@@ -2328,7 +2328,8 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length) - - end = pnt + length; - -- while (pnt < end) -+ /* XXX: Streamify this */ -+ for (; pnt < end; pnt += hdr->length + 3) - { - /* We need at least action, capability code and capability length. */ - if (pnt + 3 > end) -@@ -2416,7 +2417,6 @@ bgp_capability_msg_parse (struct peer *peer, u_char *pnt, bgp_size_t length) - zlog_warn ("%s unrecognized capability code: %d - ignored", - peer->host, hdr->code); - } -- pnt += hdr->length + 3; - } - return 0; - } --- -2.11.0 - diff --git a/bsp/buildroot/package/quagga/Config.in b/bsp/buildroot/package/quagga/Config.in index 98b9d348..9427475d 100644 --- a/bsp/buildroot/package/quagga/Config.in +++ b/bsp/buildroot/package/quagga/Config.in @@ -38,6 +38,12 @@ config BR2_PACKAGE_QUAGGA_ISISD help Enable isisd support in quagga. +config BR2_PACKAGE_QUAGGA_NHRPD + bool "NHRPD protocol" + select BR2_PACKAGE_C_ARES + help + Build Next Hop Routing Protocol daemon. + config BR2_PACKAGE_QUAGGA_OSPFD bool "OSPFv2 protocol" help diff --git a/bsp/buildroot/package/quagga/quagga.hash b/bsp/buildroot/package/quagga/quagga.hash index 6da37cf8..93fc42c8 100644 --- a/bsp/buildroot/package/quagga/quagga.hash +++ b/bsp/buildroot/package/quagga/quagga.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 b5a94e5bdad3062e04595a5692b8cc435f0a85102f75dfdca0a06d093b4ef63f quagga-1.1.1.tar.gz +sha256 ee2c0907a106902abbdcaf63b4f28c67241c4f3396989ed54da7b4976eecad31 quagga-1.2.3.tar.gz + +# Hash for license file +sha256 b39c1bad4e51e2a3389cd25fc4addebe41a3ae7c11100795683f9330de1536e5 COPYING diff --git a/bsp/buildroot/package/quagga/quagga.mk b/bsp/buildroot/package/quagga/quagga.mk index b2b4e2a1..420d72c7 100644 --- a/bsp/buildroot/package/quagga/quagga.mk +++ b/bsp/buildroot/package/quagga/quagga.mk @@ -4,7 +4,7 @@ # ################################################################################ -QUAGGA_VERSION = 1.1.1 +QUAGGA_VERSION = 1.2.3 QUAGGA_SITE = http://download.savannah.gnu.org/releases/quagga QUAGGA_DEPENDENCIES = host-gawk host-pkgconf QUAGGA_LICENSE = GPL-2.0+ @@ -18,9 +18,6 @@ QUAGGA_CONF_OPTS = \ --sysconfdir=/etc/quagga \ --localstatedir=/var/run/quagga -# 0002-configure-fix-static-linking-with-readline.patch -QUAGGA_AUTORECONF = YES - ifeq ($(BR2_PACKAGE_LIBCAP),y) QUAGGA_CONF_OPTS += --enable-capabilities QUAGGA_DEPENDENCIES += libcap @@ -45,7 +42,7 @@ QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_PIMD),--enable-pimd,--disable-pimd QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_WATCHQUAGGA),--enable-watchquagga,--disable-watchquagga) QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_ISISD),--enable-isisd,--disable-isisd) QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE),--enable-bgp-announce,--disable-bgp-announce) -QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_TCP_ZERBRA),--enable-tcp-zebra,--disable-tcp-zebra) +QUAGGA_CONF_OPTS += $(if $(BR2_PACKAGE_QUAGGA_TCP_ZEBRA),--enable-tcp-zebra,--disable-tcp-zebra) define QUAGGA_USERS quagga -1 quagga -1 * - - - Quagga priv drop user @@ -61,6 +58,13 @@ define QUAGGA_PERMISSIONS /etc/quagga d 755 quagga quagga - - - - - endef +ifeq ($(BR2_PACKAGE_QUAGGA_NHRPD),y) +QUAGGA_CONF_OPTS += --enable-nhrpd +QUAGGA_DEPENDENCIES += c-ares +else +QUAGGA_CONF_OPTS += --disable-nhrpd +endif + ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y) QUAGGA_CONF_ENV += ac_cv_path_NETSNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config QUAGGA_CONF_OPTS += --enable-snmp=agentx diff --git a/bsp/buildroot/package/quazip/Config.in b/bsp/buildroot/package/quazip/Config.in index 83537d46..e9802975 100644 --- a/bsp/buildroot/package/quazip/Config.in +++ b/bsp/buildroot/package/quazip/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_QUAZIP bool "quazip" + depends on BR2_PACKAGE_QT5 select BR2_PACKAGE_ZLIB help QuaZIP is a simple C++ wrapper over Gilles Vollant's diff --git a/bsp/buildroot/package/quazip/quazip.hash b/bsp/buildroot/package/quazip/quazip.hash index 87bf7c2c..9f43643d 100644 --- a/bsp/buildroot/package/quazip/quazip.hash +++ b/bsp/buildroot/package/quazip/quazip.hash @@ -1,2 +1,2 @@ -# Locally computed: -sha256 2ad4f354746e8260d46036cde1496c223ec79765041ea28eb920ced015e269b5 quazip-0.7.3.tar.gz +# From github release page +sha256 4118a830a375a81211956611cc34b1b5b4ddc108c126287b91b40c2493046b70 quazip-0.7.6.tar.gz diff --git a/bsp/buildroot/package/quazip/quazip.mk b/bsp/buildroot/package/quazip/quazip.mk index 09037a54..aba82745 100644 --- a/bsp/buildroot/package/quazip/quazip.mk +++ b/bsp/buildroot/package/quazip/quazip.mk @@ -4,24 +4,17 @@ # ################################################################################ -QUAZIP_VERSION = 0.7.3 -QUAZIP_SITE = http://sourceforge.net/projects/quazip/files/quazip/$(QUAZIP_VERSION) +QUAZIP_VERSION = 0.7.6 +QUAZIP_SITE = $(call github,stachenov,quazip,$(QUAZIP_VERSION)) QUAZIP_INSTALL_STAGING = YES QUAZIP_DEPENDENCIES = \ zlib \ - $(if $(BR2_PACKAGE_QT),qt) \ - $(if $(BR2_PACKAGE_QT5),qt5base) + qt5base QUAZIP_LICENSE = LGPL-2.1 QUAZIP_LICENSE_FILES = COPYING -ifeq ($(BR2_PACKAGE_QT5),y) -QUAZIP_QMAKE = $(QT5_QMAKE) -else -QUAZIP_QMAKE = $(QT_QMAKE) -endif - define QUAZIP_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QUAZIP_QMAKE) PREFIX=/usr) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE) PREFIX=/usr) endef define QUAZIP_BUILD_CMDS diff --git a/bsp/buildroot/package/quotatool/0001-fix-missing-__P-definition-for-musl-compile.patch b/bsp/buildroot/package/quotatool/0001-fix-missing-__P-definition-for-musl-compile.patch new file mode 100644 index 00000000..927e62ba --- /dev/null +++ b/bsp/buildroot/package/quotatool/0001-fix-missing-__P-definition-for-musl-compile.patch @@ -0,0 +1,36 @@ +From 0e096badc901f755f3bcefabdc57091725a5a0c5 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 1 Feb 2018 23:50:43 +0100 +Subject: [PATCH] fix missing __P definition for musl compile +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes: + + In file included from src/quota.h:40:0, + from src/parse.c:26: + src/linux/linux_quota.h:120:15: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__P’ + long quotactl __P((int, const char *, qid_t, caddr_t)); + ^~~ + +Signed-off-by: Peter Seiderer +--- + src/linux/linux_quota.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/linux/linux_quota.h b/src/linux/linux_quota.h +index 11f9871..2b29a89 100644 +--- a/src/linux/linux_quota.h ++++ b/src/linux/linux_quota.h +@@ -14,6 +14,7 @@ + #ifndef LINUX_QUOTA_H + #define LINUX_QUOTA_H + ++#include + #include + #include "system.h" + +-- +2.16.1 + diff --git a/bsp/buildroot/package/quotatool/Config.in b/bsp/buildroot/package/quotatool/Config.in new file mode 100644 index 00000000..4015cef6 --- /dev/null +++ b/bsp/buildroot/package/quotatool/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_QUOTATOOL + bool "quotatool" + help + Quotatool is a utility to manipulate filesystem quotas from + the commandline. + + http://quotatool.ekenberg.se/ diff --git a/bsp/buildroot/package/quotatool/quotatool.hash b/bsp/buildroot/package/quotatool/quotatool.hash new file mode 100644 index 00000000..45b47783 --- /dev/null +++ b/bsp/buildroot/package/quotatool/quotatool.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 e53adc480d54ae873d160dc0e88d78095f95d9131e528749fd982245513ea090 quotatool-1.6.2.tar.gz + +# Hash for license files: +sha256 94686eeb98a40edc64106c6f8644068d8a08816a510a3cde75e50f1bf470564d COPYING diff --git a/bsp/buildroot/package/quotatool/quotatool.mk b/bsp/buildroot/package/quotatool/quotatool.mk new file mode 100644 index 00000000..7b63c013 --- /dev/null +++ b/bsp/buildroot/package/quotatool/quotatool.mk @@ -0,0 +1,17 @@ +################################################################################ +# +# quotatool +# +################################################################################ + +QUOTATOOL_VERSION = 1.6.2 +QUOTATOOL_SITE = http://quotatool.ekenberg.se +QUOTATOOL_LICENSE = GPL-2.0 +QUOTATOOL_LICENSE_FILES = COPYING + +# men="" allows to disable installing the man pages, which fails +# because the package Makefile doesn't create the appropriate +# directory. +QUOTATOOL_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install men="" + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/qwt/Config.in b/bsp/buildroot/package/qwt/Config.in index 041c2d10..2e9cec19 100644 --- a/bsp/buildroot/package/qwt/Config.in +++ b/bsp/buildroot/package/qwt/Config.in @@ -1,10 +1,10 @@ config BR2_PACKAGE_QWT bool "qwt" - depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT_GUI_MODULE if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5BASE_GUI if BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT5BASE_WIDGETS if BR2_PACKAGE_QT5 # printsupport - select BR2_PACKAGE_QT5BASE_CONCURRENT if BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5BASE + select BR2_PACKAGE_QT5BASE_GUI + select BR2_PACKAGE_QT5BASE_WIDGETS # printsupport + select BR2_PACKAGE_QT5BASE_CONCURRENT help Qwt is a graphics extension to the Qt GUI application framework. It provides a 2D plotting widget and more. @@ -15,18 +15,15 @@ if BR2_PACKAGE_QWT config BR2_PACKAGE_QWT_SVG bool "SVG support" - select BR2_PACKAGE_QT_SVG if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5 + select BR2_PACKAGE_QT5SVG config BR2_PACKAGE_QWT_MATHML bool "MathML support" config BR2_PACKAGE_QWT_OPENGL bool "OpenGL support" - depends on (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_QT) || \ - (BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_QT5) - select BR2_PACKAGE_QT_OPENGL if BR2_PACKAGE_QT - select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5 - select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5 + depends on BR2_PACKAGE_QT5_GL_AVAILABLE + select BR2_PACKAGE_QT5BASE_OPENGL + select BR2_PACKAGE_QT5BASE_OPENGL_LIB endif diff --git a/bsp/buildroot/package/qwt/qwt.mk b/bsp/buildroot/package/qwt/qwt.mk index 619453bf..f381ebbb 100644 --- a/bsp/buildroot/package/qwt/qwt.mk +++ b/bsp/buildroot/package/qwt/qwt.mk @@ -8,13 +8,7 @@ QWT_VERSION = 6.1.3 QWT_SOURCE = qwt-$(QWT_VERSION).tar.bz2 QWT_SITE = http://downloads.sourceforge.net/project/qwt/qwt/$(QWT_VERSION) QWT_INSTALL_STAGING = YES -ifeq ($(BR2_PACKAGE_QT),y) -QWT_DEPENDENCIES = qt -QWT_QMAKE = $(QT_QMAKE) -else ifeq ($(BR2_PACKAGE_QT5),y) -QWT_DEPENDENCIES += qt5base -QWT_QMAKE = $(QT5_QMAKE) -endif +QWT_DEPENDENCIES = qt5base QWT_LICENSE = LGPL-2.1 with exceptions QWT_LICENSE_FILES = COPYING @@ -49,7 +43,7 @@ endif define QWT_CONFIGURE_CMDS $(SED) $(QWT_CONFIG) $(@D)/qwtconfig.pri - (cd $(@D); $(TARGET_MAKE_ENV) $(QWT_QMAKE)) + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE)) endef define QWT_BUILD_CMDS diff --git a/bsp/buildroot/package/rabbitmq-c/Config.in b/bsp/buildroot/package/rabbitmq-c/Config.in index b330c904..6dbd1467 100644 --- a/bsp/buildroot/package/rabbitmq-c/Config.in +++ b/bsp/buildroot/package/rabbitmq-c/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_RABBITMQ_C bool "rabbitmq-c" + depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HAS_THREADS help This is a C-language AMQP client library for use with v2.0+ @@ -7,5 +8,5 @@ config BR2_PACKAGE_RABBITMQ_C https://github.com/alanxz/rabbitmq-c -comment "rabbitmq-c needs a toolchain w/ threads" - depends on !BR2_TOOLCHAIN_HAS_THREADS +comment "rabbitmq-c needs a toolchain w/ dynamic library, threads" + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.hash b/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.hash index 45e8cbd8..0af88774 100644 --- a/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.hash +++ b/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 d8ed9dcb49903d83d79d7b227da35ef68c60e5e0b08d0fc1fb4e4dc577b8802b rabbitmq-c-v0.8.0.tar.gz +sha256 316c0d156452b488124806911a62e0c2aa8a546d38fc8324719cd29aaa493024 rabbitmq-c-v0.9.0.tar.gz +sha256 94a12c906acb31a66c2c8a6c1b6e46cab52bc5694c5ada2a06d86b05d3d3f422 LICENSE-MIT diff --git a/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.mk b/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.mk index d496a4c0..6385ccb6 100644 --- a/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.mk +++ b/bsp/buildroot/package/rabbitmq-c/rabbitmq-c.mk @@ -4,7 +4,7 @@ # ################################################################################ -RABBITMQ_C_VERSION = v0.8.0 +RABBITMQ_C_VERSION = v0.9.0 RABBITMQ_C_SITE = $(call github,alanxz,rabbitmq-c,$(RABBITMQ_C_VERSION)) RABBITMQ_C_LICENSE = MIT RABBITMQ_C_LICENSE_FILES = LICENSE-MIT @@ -13,29 +13,26 @@ RABBITMQ_C_CONF_OPTS = \ -DBUILD_API_DOCS=OFF \ -DBUILD_TOOLS_DOCS=OFF +# Before CMake 3.10, passing THREADS_PTHREAD_ARG=OFF was needed to +# disable a try_run() call in the FindThreads tests, which caused a +# build failure when cross-compiling. +RABBITMQ_C_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF + # BUILD_SHARED_LIBS is handled in pkg-cmake.mk as it is a generic cmake variable -ifeq ($(BR2_STATIC_LIBS),y) -RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON -else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +ifeq ($(BR2_SHARED_STATIC_LIBS),y) RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=ON else ifeq ($(BR2_SHARED_LIBS),y) RABBITMQ_C_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF endif -# CMake OpenSSL detection is buggy, and doesn't properly use -# pkg-config, so it fails when statically linking. See -# https://gitlab.kitware.com/cmake/cmake/issues/16885. -ifeq ($(BR2_PACKAGE_OPENSSL):$(BR2_STATIC_LIBS),y:) +ifeq ($(BR2_PACKAGE_OPENSSL),y) RABBITMQ_C_CONF_OPTS += -DENABLE_SSL_SUPPORT=ON RABBITMQ_C_DEPENDENCIES += openssl else RABBITMQ_C_CONF_OPTS += -DENABLE_SSL_SUPPORT=OFF endif -# Popt is sometimes linked against libintl, but CMake doesn't know -# about that, and there's no way to tell manually CMake to link -# against an additional library. -ifeq ($(BR2_PACKAGE_POPT):$(BR2_STATIC_LIBS),y:) +ifeq ($(BR2_PACKAGE_POPT),y) RABBITMQ_C_CONF_OPTS += -DBUILD_TOOLS=ON RABBITMQ_C_DEPENDENCIES += popt else diff --git a/bsp/buildroot/package/rabbitmq-server/S50rabbitmq-server b/bsp/buildroot/package/rabbitmq-server/S50rabbitmq-server old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/radvd/S50radvd b/bsp/buildroot/package/radvd/S50radvd old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/rapidxml/rapidxml.mk b/bsp/buildroot/package/rapidxml/rapidxml.mk index 2bec8fe1..9d034d82 100644 --- a/bsp/buildroot/package/rapidxml/rapidxml.mk +++ b/bsp/buildroot/package/rapidxml/rapidxml.mk @@ -15,7 +15,7 @@ RAPIDXML_INSTALL_TARGET = NO RAPIDXML_INSTALL_STAGING = YES define RAPIDXML_EXTRACT_CMDS - $(UNZIP) -d $(@D) $(DL_DIR)/$(RAPIDXML_SOURCE) + $(UNZIP) -d $(@D) $(RAPIDXML_DL_DIR)/$(RAPIDXML_SOURCE) mv $(@D)/rapidxml-$(RAPIDXML_VERSION)/* $(@D)/ rmdir $(@D)/rapidxml-$(RAPIDXML_VERSION) endef diff --git a/bsp/buildroot/package/rauc/Config.in b/bsp/buildroot/package/rauc/Config.in index 6433b827..456f8f38 100644 --- a/bsp/buildroot/package/rauc/Config.in +++ b/bsp/buildroot/package/rauc/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_RAUC select BR2_PACKAGE_LIBGLIB2 select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_DBUS # run-time dependency + select BR2_PACKAGE_SQUASHFS # run-time dependency help RAUC is the Robust Auto-Update Controller developed by Pengutronix. It supports updating embedded Linux diff --git a/bsp/buildroot/package/rauc/rauc.hash b/bsp/buildroot/package/rauc/rauc.hash index 91d7c1d6..54c6c932 100644 --- a/bsp/buildroot/package/rauc/rauc.hash +++ b/bsp/buildroot/package/rauc/rauc.hash @@ -1,3 +1,3 @@ # Locally calculated, after verifying against -# https://github.com/rauc/rauc/releases/download/v0.3/rauc-0.3.tar.xz.asc -sha256 dc01bfb08b1830376782f9a51cfec290171519267ab97cc909435da9ac6d6d98 rauc-0.3.tar.xz +# https://github.com/rauc/rauc/releases/download/v0.4/rauc-0.4.tar.xz.asc +sha256 8875ab0d02b4cb38a211b236855361c18b874b385e6f18dde394ac699f2cf2aa rauc-1.0.tar.xz diff --git a/bsp/buildroot/package/rauc/rauc.mk b/bsp/buildroot/package/rauc/rauc.mk index 63fbc530..3848a010 100644 --- a/bsp/buildroot/package/rauc/rauc.mk +++ b/bsp/buildroot/package/rauc/rauc.mk @@ -4,7 +4,7 @@ # ################################################################################ -RAUC_VERSION = 0.3 +RAUC_VERSION = 1.0 RAUC_SITE = https://github.com/rauc/rauc/releases/download/v$(RAUC_VERSION) RAUC_SOURCE = rauc-$(RAUC_VERSION).tar.xz RAUC_LICENSE = LGPL-2.1 diff --git a/bsp/buildroot/package/rcw/Config.in.host b/bsp/buildroot/package/rcw/Config.in.host new file mode 100644 index 00000000..ba40f76d --- /dev/null +++ b/bsp/buildroot/package/rcw/Config.in.host @@ -0,0 +1,12 @@ +config BR2_PACKAGE_HOST_RCW + bool "host rcw" + help + This package provides an reset configuration word(RCW) + compiler to build NXP QoriQ/LS PBL/RCW binary(s). + + The package installs example configurations and scripts + for each devkit supported in the current release see + $(HOST_DIR)/share/rcw. Either a SDK or post scripts can + then use this toolset and examples. + + https://source.codeaurora.org/external/qoriq/qoriq-components/rcw/ diff --git a/bsp/buildroot/package/rcw/rcw.hash b/bsp/buildroot/package/rcw/rcw.hash new file mode 100644 index 00000000..7de1ec65 --- /dev/null +++ b/bsp/buildroot/package/rcw/rcw.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 1421ada9fec10b12ff21cd9ad82f0a835b191cb2dde80f03547764574b1346c3 rcw-LSDK-18.12.tar.gz +sha256 a531b3146425e592db17a51ff39c4801cb01fb4055ffdaada0572decc0655bcd LICENSE diff --git a/bsp/buildroot/package/rcw/rcw.mk b/bsp/buildroot/package/rcw/rcw.mk new file mode 100644 index 00000000..f4570b9b --- /dev/null +++ b/bsp/buildroot/package/rcw/rcw.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# rcw +# +################################################################################ + +RCW_VERSION = LSDK-18.12 +RCW_SITE = https://source.codeaurora.org/external/qoriq/qoriq-components/rcw +RCW_SITE_METHOD = git +RCW_LICENSE = BSD-3-Clause +RCW_LICENSE_FILES = LICENSE + +# Copy source files and script into $(HOST_DIR)/share/rcw/ so a developer +# could use a post image or SDK to build/install PBL files. +define HOST_RCW_INSTALL_CMDS + mkdir -p $(HOST_DIR)/share/rcw + cp -a $(@D)/* $(HOST_DIR)/share/rcw +endef + +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/rdesktop/0002-openssl11.patch b/bsp/buildroot/package/rdesktop/0002-openssl11.patch new file mode 100644 index 00000000..050d6f69 --- /dev/null +++ b/bsp/buildroot/package/rdesktop/0002-openssl11.patch @@ -0,0 +1,130 @@ +From bd6aa6acddf0ba640a49834807872f4cc0d0a773 Mon Sep 17 00:00:00 2001 +From: Jani Hakala +Date: Thu, 16 Jun 2016 14:28:15 +0300 +Subject: [PATCH] Fix OpenSSL 1.1 compability issues + +Some data types have been made opaque in OpenSSL version 1.1 so +stack allocation and accessing struct fields directly does not work. + +Downloaded from upstream commit +https://github.com/rdesktop/rdesktop/commit/bd6aa6acddf0ba640a49834807872f4cc0d0a773 + +Signed-off-by: Bernd Kuhls +--- + ssl.c | 65 ++++++++++++++++++++++++++++++++++++----------------------- + 1 file changed, 40 insertions(+), 25 deletions(-) + +diff --git a/ssl.c b/ssl.c +index 48751255..032e9b9e 100644 +--- a/ssl.c ++++ b/ssl.c +@@ -88,7 +88,7 @@ rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * + uint8 * exponent) + { + BN_CTX *ctx; +- BIGNUM mod, exp, x, y; ++ BIGNUM *mod, *exp, *x, *y; + uint8 inr[SEC_MAX_MODULUS_SIZE]; + int outlen; + +@@ -98,24 +98,24 @@ rdssl_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * + reverse(inr, len); + + ctx = BN_CTX_new(); +- BN_init(&mod); +- BN_init(&exp); +- BN_init(&x); +- BN_init(&y); +- +- BN_bin2bn(modulus, modulus_size, &mod); +- BN_bin2bn(exponent, SEC_EXPONENT_SIZE, &exp); +- BN_bin2bn(inr, len, &x); +- BN_mod_exp(&y, &x, &exp, &mod, ctx); +- outlen = BN_bn2bin(&y, out); ++ mod = BN_new(); ++ exp = BN_new(); ++ x = BN_new(); ++ y = BN_new(); ++ ++ BN_bin2bn(modulus, modulus_size, mod); ++ BN_bin2bn(exponent, SEC_EXPONENT_SIZE, exp); ++ BN_bin2bn(inr, len, x); ++ BN_mod_exp(y, x, exp, mod, ctx); ++ outlen = BN_bn2bin(y, out); + reverse(out, outlen); + if (outlen < (int) modulus_size) + memset(out + outlen, 0, modulus_size - outlen); + +- BN_free(&y); +- BN_clear_free(&x); +- BN_free(&exp); +- BN_free(&mod); ++ BN_free(y); ++ BN_clear_free(x); ++ BN_free(exp); ++ BN_free(mod); + BN_CTX_free(ctx); + } + +@@ -146,12 +146,20 @@ rdssl_cert_to_rkey(RDSSL_CERT * cert, uint32 * key_len) + + Kudos to Richard Levitte for the following (. intiutive .) + lines of code that resets the OID and let's us extract the key. */ +- nid = OBJ_obj2nid(cert->cert_info->key->algor->algorithm); ++ ++ X509_PUBKEY *key = NULL; ++ X509_ALGOR *algor = NULL; ++ ++ key = X509_get_X509_PUBKEY(cert); ++ algor = X509_PUBKEY_get0_param(NULL, NULL, 0, &algor, key); ++ ++ nid = OBJ_obj2nid(algor->algorithm); ++ + if ((nid == NID_md5WithRSAEncryption) || (nid == NID_shaWithRSAEncryption)) + { + DEBUG_RDP5(("Re-setting algorithm type to RSA in server certificate\n")); +- ASN1_OBJECT_free(cert->cert_info->key->algor->algorithm); +- cert->cert_info->key->algor->algorithm = OBJ_nid2obj(NID_rsaEncryption); ++ X509_PUBKEY_set0_param(key, OBJ_nid2obj(NID_rsaEncryption), ++ 0, NULL, NULL, 0); + } + epk = X509_get_pubkey(cert); + if (NULL == epk) +@@ -201,14 +209,24 @@ rdssl_rkey_get_exp_mod(RDSSL_RKEY * rkey, uint8 * exponent, uint32 max_exp_len, + { + int len; + +- if ((BN_num_bytes(rkey->e) > (int) max_exp_len) || +- (BN_num_bytes(rkey->n) > (int) max_mod_len)) ++ BIGNUM *e = NULL; ++ BIGNUM *n = NULL; ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ e = rkey->e; ++ n = rkey->n; ++#else ++ RSA_get0_key(rkey, &e, &n, NULL); ++#endif ++ ++ if ((BN_num_bytes(e) > (int) max_exp_len) || ++ (BN_num_bytes(n) > (int) max_mod_len)) + { + return 1; + } +- len = BN_bn2bin(rkey->e, exponent); ++ len = BN_bn2bin(e, exponent); + reverse(exponent, len); +- len = BN_bn2bin(rkey->n, modulus); ++ len = BN_bn2bin(n, modulus); + reverse(modulus, len); + return 0; + } +@@ -229,8 +247,5 @@ void + rdssl_hmac_md5(const void *key, int key_len, const unsigned char *msg, int msg_len, + unsigned char *md) + { +- HMAC_CTX ctx; +- HMAC_CTX_init(&ctx); + HMAC(EVP_md5(), key, key_len, msg, msg_len, md, NULL); +- HMAC_CTX_cleanup(&ctx); + } diff --git a/bsp/buildroot/package/readline/readline.hash b/bsp/buildroot/package/readline/readline.hash index 43f8c64b..560154c2 100644 --- a/bsp/buildroot/package/readline/readline.hash +++ b/bsp/buildroot/package/readline/readline.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 750d437185286f40a369e1e4f4764eda932b9459b5ec9a731628393dd3d32334 readline-7.0.tar.gz +sha256 e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461 readline-8.0.tar.gz + +# Hash for license file +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/readline/readline.mk b/bsp/buildroot/package/readline/readline.mk index cc5d4f29..f5d7d5bf 100644 --- a/bsp/buildroot/package/readline/readline.mk +++ b/bsp/buildroot/package/readline/readline.mk @@ -4,33 +4,21 @@ # ################################################################################ -READLINE_VERSION = 7.0 +READLINE_VERSION = 8.0 READLINE_SITE = $(BR2_GNU_MIRROR)/readline READLINE_INSTALL_STAGING = YES -READLINE_DEPENDENCIES = ncurses -HOST_READLINE_DEPENDENCIES = host-ncurses +READLINE_DEPENDENCIES = ncurses host-autoconf +HOST_READLINE_DEPENDENCIES = host-ncurses host-autoconf READLINE_CONF_ENV = bash_cv_func_sigsetjmp=yes \ bash_cv_wcwidth_broken=no +READLINE_CONF_OPTS = --disable-install-examples READLINE_LICENSE = GPL-3.0+ READLINE_LICENSE_FILES = COPYING -define READLINE_PURGE_EXAMPLES - rm -rf $(TARGET_DIR)/usr/share/readline -endef -READLINE_POST_INSTALL_TARGET_HOOKS += READLINE_PURGE_EXAMPLES - define READLINE_INSTALL_INPUTRC $(INSTALL) -D -m 644 package/readline/inputrc $(TARGET_DIR)/etc/inputrc endef READLINE_POST_INSTALL_TARGET_HOOKS += READLINE_INSTALL_INPUTRC -ifneq ($(BR2_STATIC_LIBS),y) -# libraries get installed read only, so strip fails -define READLINE_INSTALL_FIXUPS_SHARED - chmod +w $(addprefix $(TARGET_DIR)/usr/lib/,libhistory.so.* libreadline.so.*) -endef -READLINE_POST_INSTALL_TARGET_HOOKS += READLINE_INSTALL_FIXUPS_SHARED -endif - $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/reaver/0001-fix-271.patch b/bsp/buildroot/package/reaver/0001-fix-271.patch new file mode 100644 index 00000000..9f6b3951 --- /dev/null +++ b/bsp/buildroot/package/reaver/0001-fix-271.patch @@ -0,0 +1,32 @@ +From c7040da3a9ff98cd8063b9d5b5a7721374186391 Mon Sep 17 00:00:00 2001 +From: rofl0r +Date: Fri, 22 Feb 2019 17:38:24 +0000 +Subject: [PATCH] fix #271 + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/t6x/reaver-wps-fork-t6x/commit/c7040da3a9ff98cd8063b9d5b5a7721374186391] +--- + src/wps/wps_attr_parse.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/wps/wps_attr_parse.c b/src/wps/wps_attr_parse.c +index 30b0e79..d681b70 100644 +--- a/src/wps/wps_attr_parse.c ++++ b/src/wps/wps_attr_parse.c +@@ -443,12 +443,12 @@ int wps_parse_msg(const struct wpabuf *msg, struct wps_parse_attr *attr) + * Mac OS X 10.6 seems to be adding 0x00 padding to the + * end of M1. Skip those to avoid interop issues. + */ +- int i; +- for (i = 0; i < end - pos; i++) { ++ uintptr_t i, left = end - pos; ++ for (i = 0; i < left; i++) { + if (pos[i]) + break; + } +- if (i == end - pos) { ++ if (i == left) { + wpa_printf(MSG_DEBUG, "WPS: Workaround - skip " + "unexpected message padding"); + break; diff --git a/bsp/buildroot/package/reaver/Config.in b/bsp/buildroot/package/reaver/Config.in new file mode 100644 index 00000000..0fd8ab7c --- /dev/null +++ b/bsp/buildroot/package/reaver/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_REAVER + bool "reaver" + select BR2_PACKAGE_LIBPCAP + help + Reaver is a tool to audit networks against brute WPS pins + attacks. It is complementary to "Aircrack-ng". + + https://code.google.com/archive/p/reaver-wps/wikis/README.wiki + https://github.com/t6x/reaver-wps-fork-t6x diff --git a/bsp/buildroot/package/reaver/reaver.hash b/bsp/buildroot/package/reaver/reaver.hash new file mode 100644 index 00000000..6d2baccd --- /dev/null +++ b/bsp/buildroot/package/reaver/reaver.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 350a89b068f8b461e6459b739d4f5f301db01f115d75f4d698a1f2830149c412 reaver-9bae55bd30b6d46b42da3a09dc23c8b0f9341996.tar.gz +sha256 bb40cfd5e9ca6e8465ea3c236f3f2293e8300af1bfe87e72fabe482ae6cc995a docs/LICENSE diff --git a/bsp/buildroot/package/reaver/reaver.mk b/bsp/buildroot/package/reaver/reaver.mk new file mode 100644 index 00000000..d9a621a8 --- /dev/null +++ b/bsp/buildroot/package/reaver/reaver.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# reaver +# +################################################################################ + +# Older repos for this project will not cross-compile easily +# while this one works right away +REAVER_VERSION = 9bae55bd30b6d46b42da3a09dc23c8b0f9341996 +REAVER_SITE = $(call github,t6x,reaver-wps-fork-t6x,$(REAVER_VERSION)) +REAVER_LICENSE = GPL-2.0+ +REAVER_LICENSE_FILES = docs/LICENSE + +REAVER_SUBDIR = src +REAVER_DEPENDENCIES = libpcap + +ifeq ($(BR2_STATIC_LIBS),y) +REAVER_CONF_ENV += \ + LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" \ + LDFLAGS="$(TARGET_LDFLAGS) `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`" +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/redis/Config.in b/bsp/buildroot/package/redis/Config.in index 5d7edd81..2450ccdf 100644 --- a/bsp/buildroot/package/redis/Config.in +++ b/bsp/buildroot/package/redis/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_REDIS bool "redis" depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # dlfcn.h depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_TOOLCHAIN_HAS_THREADS help @@ -10,7 +11,7 @@ config BR2_PACKAGE_REDIS http://www.redis.io -comment "redis needs a toolchain w/ threads" +comment "redis needs a toolchain w/ dynamic library, threads" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_ATOMIC - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/redis/redis.hash b/bsp/buildroot/package/redis/redis.hash index d9a14cef..0b4e25c6 100644 --- a/bsp/buildroot/package/redis/redis.hash +++ b/bsp/buildroot/package/redis/redis.hash @@ -1,4 +1,5 @@ # From https://github.com/antirez/redis-hashes/blob/master/README -sha256 98c4254ae1be4e452aa7884245471501c9aa657993e0318d88f048093e7f88fd redis-3.2.12.tar.gz +sha256 fc53e73ae7586bcdacb4b63875d1ff04f68c5474c1ddeda78f00e5ae2eed1bbb redis-4.0.11.tar.gz + # Locally calculated sha256 cbf420a3672475a6e2765e3c0984c1f81efe0212afb94a3c998ee63bfd661063 COPYING diff --git a/bsp/buildroot/package/redis/redis.mk b/bsp/buildroot/package/redis/redis.mk index cbd2d7bd..da2307d6 100644 --- a/bsp/buildroot/package/redis/redis.mk +++ b/bsp/buildroot/package/redis/redis.mk @@ -4,7 +4,7 @@ # ################################################################################ -REDIS_VERSION = 3.2.12 +REDIS_VERSION = 4.0.11 REDIS_SITE = http://download.redis.io/releases REDIS_LICENSE = BSD-3-Clause (core); MIT and BSD family licenses (Bundled components) REDIS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/restorecond/restorecond.hash b/bsp/buildroot/package/restorecond/restorecond.hash index f52bbd21..d171c505 100644 --- a/bsp/buildroot/package/restorecond/restorecond.hash +++ b/bsp/buildroot/package/restorecond/restorecond.hash @@ -1,2 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 cb8e0a8d706cb2c1f105125f3514dffffefcbcfb49199183a7f91ab0bdf1f24d restorecond-2.7.tar.gz +sha256 323cab1128e5308cd85fea0e5c98e3c8973e1ada0b659f2fce76187e192271bf restorecond-2.8.tar.gz + +# Hash for license file +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/restorecond/restorecond.mk b/bsp/buildroot/package/restorecond/restorecond.mk index aaa59b33..7e43d9c8 100644 --- a/bsp/buildroot/package/restorecond/restorecond.mk +++ b/bsp/buildroot/package/restorecond/restorecond.mk @@ -4,8 +4,8 @@ # ################################################################################ -RESTORECOND_VERSION = 2.7 -RESTORECOND_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +RESTORECOND_VERSION = 2.8 +RESTORECOND_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 RESTORECOND_LICENSE = GPL-2.0 RESTORECOND_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/rhash/rhash.hash b/bsp/buildroot/package/rhash/rhash.hash index 5efc3a67..9a29b988 100644 --- a/bsp/buildroot/package/rhash/rhash.hash +++ b/bsp/buildroot/package/rhash/rhash.hash @@ -1,3 +1,6 @@ -# From https://sourceforge.net/projects/rhash/files/rhash/1.3.4/ -md5 0b51010604659e9e99f6307b053ba13b rhash-1.3.4-src.tar.gz -sha1 411d8c7ba84fa9763bc49fa2fd3a7587712fd52c rhash-1.3.4-src.tar.gz +# From https://sourceforge.net/projects/rhash/files/rhash/1.3.5/ +md5 f586644019c10c83c6b6835de4b99e74 rhash-1.3.5-src.tar.gz +sha1 990c9a0135afe48dee4ce1dbf83578e44735f302 rhash-1.3.5-src.tar.gz +# Locally calculated +sha256 98e0688acae29e68c298ffbcdbb0f838864105f9b2bd8857980664435b1f1f2e rhash-1.3.5-src.tar.gz +sha256 8cf876d3406a2eed6c17ae804c8958bd78d3a0f63c30d6e2e789ab575e9fde40 COPYING diff --git a/bsp/buildroot/package/rhash/rhash.mk b/bsp/buildroot/package/rhash/rhash.mk index 53f49d8d..28fffe45 100644 --- a/bsp/buildroot/package/rhash/rhash.mk +++ b/bsp/buildroot/package/rhash/rhash.mk @@ -4,7 +4,7 @@ # ################################################################################ -RHASH_VERSION = 1.3.4 +RHASH_VERSION = 1.3.5 RHASH_SOURCE = rhash-$(RHASH_VERSION)-src.tar.gz RHASH_SITE = https://sourceforge.net/projects/rhash/files/rhash/$(RHASH_VERSION) RHASH_LICENSE = MIT diff --git a/bsp/buildroot/package/riemann-c-client/Config.in b/bsp/buildroot/package/riemann-c-client/Config.in index 91b13b79..c241487c 100644 --- a/bsp/buildroot/package/riemann-c-client/Config.in +++ b/bsp/buildroot/package/riemann-c-client/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT depends on BR2_INSTALL_LIBSTDCPP # protobuf-c depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # protobuf-c - depends on BR2_HOST_GCC_AT_LEAST_4_5 # protobuf-c + depends on BR2_HOST_GCC_AT_LEAST_4_8 # protobuf-c select BR2_PACKAGE_PROTOBUF_C help Riemann-c-client is a C client library for the Riemann @@ -13,7 +13,7 @@ config BR2_PACKAGE_RIEMANN_C_CLIENT https://github.com/algernon/riemann-c-client -comment "riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 4.5" +comment "riemann-c-client needs a toolchain w/ C++, threads, host gcc >= 4.8" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_HOST_GCC_AT_LEAST_4_5 + || !BR2_HOST_GCC_AT_LEAST_4_8 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" diff --git a/bsp/buildroot/package/riemann-c-client/riemann-c-client.mk b/bsp/buildroot/package/riemann-c-client/riemann-c-client.mk index 09f79009..b051145f 100644 --- a/bsp/buildroot/package/riemann-c-client/riemann-c-client.mk +++ b/bsp/buildroot/package/riemann-c-client/riemann-c-client.mk @@ -16,9 +16,4 @@ RIEMANN_C_CLIENT_DEPENDENCIES = \ $(if $(BR2_PACKAGE_GNUTLS),gnutls) \ $(if $(BR2_PACKAGE_JSON_C),json-c) -ifeq ($(BR2_bfin),y) -# ld symbol versioning not working on bfin -RIEMANN_C_CLIENT_CONF_ENV += ac_cv_prog_ld_version_script=no -endif - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/rings/Config.in b/bsp/buildroot/package/rings/Config.in index 87ade07c..d1f1efe5 100644 --- a/bsp/buildroot/package/rings/Config.in +++ b/bsp/buildroot/package/rings/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_RINGS bool "rings" - depends on BR2_PACKAGE_HAS_LUAINTERPRETER help Provides a way to create new Lua states from within Lua. diff --git a/bsp/buildroot/package/rings/rings.hash b/bsp/buildroot/package/rings/rings.hash index 59da2fa3..c9a758b5 100644 --- a/bsp/buildroot/package/rings/rings.hash +++ b/bsp/buildroot/package/rings/rings.hash @@ -1,2 +1,3 @@ -# Locally calculated -sha256 627ac55d4a420fab766e6870fcd82cb39da12fb4ec8efddc7220b188a4ad4bc3 rings-1.3.0-1.src.rock +# computed by luarocks/buildroot +sha256 627ac55d4a420fab766e6870fcd82cb39da12fb4ec8efddc7220b188a4ad4bc3 rings-1.3.0-1.src.rock +sha256 f582a0c43737391070827ef273df0145b594b095ad2f49595701368b729e024f rings-v_1_3_0/doc/us/license.html diff --git a/bsp/buildroot/package/rng-tools/S21rngd b/bsp/buildroot/package/rng-tools/S21rngd old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/rp-pppoe/Config.in b/bsp/buildroot/package/rp-pppoe/Config.in index 8a692711..12f981d8 100644 --- a/bsp/buildroot/package/rp-pppoe/Config.in +++ b/bsp/buildroot/package/rp-pppoe/Config.in @@ -16,4 +16,4 @@ config BR2_PACKAGE_RP_PPPOE devices. Otherwise the normal client functionality already exists in the pppd package (and kernel). - http://www.roaringpenguin.com/pppoe.html + https://dianne.skoll.ca/projects/rp-pppoe/ diff --git a/bsp/buildroot/package/rpi-bt-firmware/Config.in b/bsp/buildroot/package/rpi-bt-firmware/Config.in index dfc1cee0..45643d6a 100644 --- a/bsp/buildroot/package/rpi-bt-firmware/Config.in +++ b/bsp/buildroot/package/rpi-bt-firmware/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_RPI_BT_FIRMWARE depends on BR2_arm || BR2_aarch64 help Raspberry Pi 3 and Zero W Broadcom BCM43438 Bluetooth module - firmware. + firmware. Raspberry Pi 3 Model B+ Broadcom BCM4345C0 + Bluetooth module firmware. - https://aur.archlinux.org/packages/pi-bluetooth + https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi diff --git a/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash b/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash index f1d06e8c..eeb7b605 100644 --- a/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash +++ b/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 5d9c9364277414ffd67b4a266cdf88e92f28eb937e5a413750e87b7a94161bef rpi-bt-firmware-a439f892bf549ddfefa9ba7ad1999cc515f233bf.tar.gz +sha256 155ebd5f08b819e0ce4e1950fcc972b2086cee3c16d36aba348beba1910c1fd2 rpi-bt-firmware-8c1e2bff1da9850f68efcfff3da5d939ec27a2ee.tar.gz +sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk b/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk index 255da192..f9f300da 100644 --- a/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk +++ b/bsp/buildroot/package/rpi-bt-firmware/rpi-bt-firmware.mk @@ -4,18 +4,14 @@ # ################################################################################ -RPI_BT_FIRMWARE_VERSION = a439f892bf549ddfefa9ba7ad1999cc515f233bf -RPI_BT_FIRMWARE_SITE = https://aur.archlinux.org/pi-bluetooth.git -RPI_BT_FIRMWARE_SITE_METHOD = git +RPI_BT_FIRMWARE_VERSION = 8c1e2bff1da9850f68efcfff3da5d939ec27a2ee +RPI_BT_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_BT_FIRMWARE_VERSION)) RPI_BT_FIRMWARE_LICENSE = PROPRIETARY RPI_BT_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx -# The BlueZ hciattach utility looks for firmware in /etc/firmware. Add a -# compatibility symlink. define RPI_BT_FIRMWARE_INSTALL_TARGET_CMDS - ln -sf ../lib/firmware $(TARGET_DIR)/etc/firmware - $(INSTALL) -D -m 0644 $(@D)/BCM43430A1.hcd \ - $(TARGET_DIR)/lib/firmware/BCM43430A1.hcd + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm + $(INSTALL) -m 0644 $(@D)/firmware/brcm/*.hcd $(TARGET_DIR)/lib/firmware/brcm endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/rpi-firmware/rpi-firmware.hash b/bsp/buildroot/package/rpi-firmware/rpi-firmware.hash index 833a7fbe..9988dda7 100644 --- a/bsp/buildroot/package/rpi-firmware/rpi-firmware.hash +++ b/bsp/buildroot/package/rpi-firmware/rpi-firmware.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 0451e1a843bf02df81126a1625d9a15dfdf19dcb2f9e95b0613a63e59fd31ca8 rpi-firmware-2067241bc7cdf238fdeab7f5a3c22faa57dd5617.tar.gz +sha256 f1d631920ed4ae15f368ba7b8b3caa4ed604f5223372cc6debbd39a101eb8d74 rpi-firmware-81cca1a9380c828299e884dba5efd0d4acb39e8d.tar.gz diff --git a/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk b/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk index 22eaaa28..e41b3442 100644 --- a/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk +++ b/bsp/buildroot/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 2067241bc7cdf238fdeab7f5a3c22faa57dd5617 +RPI_FIRMWARE_VERSION = 81cca1a9380c828299e884dba5efd0d4acb39e8d RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3-Clause RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom @@ -12,10 +12,9 @@ RPI_FIRMWARE_INSTALL_IMAGES = YES ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS),y) define RPI_FIRMWARE_INSTALL_DTB - $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b.dtb - $(INSTALL) -D -m 0644 $(@D)/boot/bcm2708-rpi-b-plus.dtb $(BINARIES_DIR)/rpi-firmware/bcm2708-rpi-b-plus.dtb - $(INSTALL) -D -m 0644 $(@D)/boot/bcm2709-rpi-2-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2709-rpi-2-b.dtb - $(INSTALL) -D -m 0644 $(@D)/boot/bcm2710-rpi-3-b.dtb $(BINARIES_DIR)/rpi-firmware/bcm2710-rpi-3-b.dtb + $(foreach dtb,$(wildcard $(@D)/boot/*.dtb), \ + $(INSTALL) -D -m 0644 $(dtb) $(BINARIES_DIR)/rpi-firmware/$(notdir $(dtb)) + ) endef endif diff --git a/bsp/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch b/bsp/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch index 64ae8ed2..7fb2f979 100644 --- a/bsp/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch +++ b/bsp/buildroot/package/rpi-userland/0003-Disable-Werror-everywhere.patch @@ -1,4 +1,4 @@ -From 67924a43d52862a7b4c9076d49071449313fea85 Mon Sep 17 00:00:00 2001 +From 8275a380658070336df0c404f0ff585d27681836 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Thu, 22 Sep 2016 22:59:11 +0200 Subject: [PATCH] Disable Werror everywhere @@ -12,6 +12,9 @@ Signed-off-by: "Yann E. MORIN" [Rebased for rpi-userland-a1b89e91f393c7134b4cdc36431f863bb3333163] Signed-off-by: Peter Seiderer + +[Rebased for rpi-userland-8f0abfb07b96e7ee85f46e59d895014ec5e25f5e] +Signed-off-by: Peter Seiderer --- host_applications/android/apps/vidtex/CMakeLists.txt | 2 +- host_applications/linux/apps/gencmd/CMakeLists.txt | 2 +- @@ -27,17 +30,17 @@ Signed-off-by: Peter Seiderer 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/host_applications/android/apps/vidtex/CMakeLists.txt b/host_applications/android/apps/vidtex/CMakeLists.txt -index 1f705ef..37d037d 100644 +index 6d66d69..06a3192 100644 --- a/host_applications/android/apps/vidtex/CMakeLists.txt +++ b/host_applications/android/apps/vidtex/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.8) -SET(COMPILE_DEFINITIONS -Werror -Wall) -+SET(COMPILE_DEFINITIONS -Wall) - include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/bcm_host/include) ++SET(COMPILE_DEFINITIONS -Wall) - set (VIDTEX_SOURCES + # Set --no-as-needed to stop the linker discarding mmal_vc_client + # as it can't see that the constructor registers a load of functionality diff --git a/host_applications/linux/apps/gencmd/CMakeLists.txt b/host_applications/linux/apps/gencmd/CMakeLists.txt index f95d1a1..034bf20 100644 --- a/host_applications/linux/apps/gencmd/CMakeLists.txt @@ -52,7 +55,7 @@ index f95d1a1..034bf20 100644 include_directories( ../../../.. diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt -index 2afc145..04e446f 100644 +index 42636e8..d778f09 100644 --- a/host_applications/linux/apps/raspicam/CMakeLists.txt +++ b/host_applications/linux/apps/raspicam/CMakeLists.txt @@ -1,7 +1,7 @@ @@ -62,8 +65,8 @@ index 2afc145..04e446f 100644 -SET(COMPILE_DEFINITIONS -Werror) +SET(COMPILE_DEFINITIONS ) - include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/libs/bcm_host/include) - include_directories(${PROJECT_SOURCE_DIR}/host_applications/linux/apps/raspicam/) + # Set --no-as-needed to stop the linker discarding mmal_vc_client + # as it can't see that the constructor registers a load of functionality diff --git a/host_applications/linux/apps/smem/CMakeLists.txt b/host_applications/linux/apps/smem/CMakeLists.txt index 0fa8328..f0d1e77 100644 --- a/host_applications/linux/apps/smem/CMakeLists.txt @@ -78,7 +81,7 @@ index 0fa8328..f0d1e77 100644 include_directories ( diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt -index 1f29ead..fb78cea 100644 +index 2154e53..c23779b 100644 --- a/host_applications/linux/libs/bcm_host/CMakeLists.txt +++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt @@ -3,7 +3,7 @@ if (WIN32) @@ -89,9 +92,9 @@ index 1f29ead..fb78cea 100644 + add_definitions(-Wall ) endif () - include_directories( ../../../.. + # set this as we want all the source of vchostif to be available in libbcm_host diff --git a/host_applications/linux/libs/sm/CMakeLists.txt b/host_applications/linux/libs/sm/CMakeLists.txt -index c6bf764..4bca0b0 100644 +index 5ce5aca..02aea7c 100644 --- a/host_applications/linux/libs/sm/CMakeLists.txt +++ b/host_applications/linux/libs/sm/CMakeLists.txt @@ -3,7 +3,7 @@ if (WIN32) @@ -143,7 +146,7 @@ index 1d81ca3..b35cd8e 100644 endif () diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt -index 0b3adc9..c5156d8 100755 +index fde18da..802c158 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -2,7 +2,7 @@ @@ -167,5 +170,5 @@ index aed0e83..d834b3f 100644 # vcfiled - serves files to videocore. used for media handlers from # OpenMAX/IL and loading VLLs. -- -2.8.1 +2.19.0 diff --git a/bsp/buildroot/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch b/bsp/buildroot/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch deleted file mode 100644 index 2900eb74..00000000 --- a/bsp/buildroot/package/rpi-userland/0006-host-apps-dtoverlay-don-t-install-script-in-random-l.patch +++ /dev/null @@ -1,45 +0,0 @@ -From a5a4e361c8116ca9228a896f672102c02be56bb7 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 7 Mar 2017 22:01:39 +0100 -Subject: [PATCH] host-apps/dtoverlay: don't install script in random location - -Currently, we add a custom command that installs the dtoverlay pre/post -scripts in ${CMAKE_BINARY_DIR}/../../bin - -However: - - - this points outside of the package directory.; it even points two - directories higher; - - - when doing cross-compilation, this is definitely not the place where - the /bin directory really is; - - - the scripts are already properly installed without this code. - -Remove that code, it serves no purpose and breaks for cross-compilation. - -Signed-off-by: "Yann E. MORIN" ---- - host_applications/linux/apps/dtoverlay/CMakeLists.txt | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/host_applications/linux/apps/dtoverlay/CMakeLists.txt b/host_applications/linux/apps/dtoverlay/CMakeLists.txt -index 9009200..dd48d83 100755 ---- a/host_applications/linux/apps/dtoverlay/CMakeLists.txt -+++ b/host_applications/linux/apps/dtoverlay/CMakeLists.txt -@@ -22,12 +22,4 @@ add_custom_command(TARGET dtoverlay POST_BUILD COMMAND ln;-sf;dtoverlay;dtparam) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dtparam DESTINATION bin) - - set(DTOVERLAY_SCRIPTS dtoverlay-pre dtoverlay-post) --foreach(_script ${DTOVERLAY_SCRIPTS}) -- add_custom_command( -- TARGET dtoverlay -- COMMAND ${CMAKE_COMMAND} -- -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${_script} -- ${CMAKE_BINARY_DIR}/../../bin/${_script} -- ) --endforeach() - install(PROGRAMS ${DTOVERLAY_SCRIPTS} DESTINATION bin) --- -2.7.4 - diff --git a/bsp/buildroot/package/rpi-userland/S94vcfiled b/bsp/buildroot/package/rpi-userland/S94vcfiled old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/rpi-userland/rpi-userland.hash b/bsp/buildroot/package/rpi-userland/rpi-userland.hash index f1bb5e67..44d446ea 100644 --- a/bsp/buildroot/package/rpi-userland/rpi-userland.hash +++ b/bsp/buildroot/package/rpi-userland/rpi-userland.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 8ed745ea28ef9d5e6d2e5534acabe1ea1a6c6be9bab7f683527ce5da5a3f77cb rpi-userland-a7976021a89451de0d008aa48f16c4e88872899b.tar.gz +sha256 9424ffa45ef888fb61483c63fd66532c1c648e071fea72c93762efbb3c2a8669 rpi-userland-e5803f2c986cbf8c919c60278b3231dcdf4271a6.tar.gz diff --git a/bsp/buildroot/package/rpi-userland/rpi-userland.mk b/bsp/buildroot/package/rpi-userland/rpi-userland.mk index a798795b..20ef2fca 100644 --- a/bsp/buildroot/package/rpi-userland/rpi-userland.mk +++ b/bsp/buildroot/package/rpi-userland/rpi-userland.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_USERLAND_VERSION = a7976021a89451de0d008aa48f16c4e88872899b +RPI_USERLAND_VERSION = e5803f2c986cbf8c919c60278b3231dcdf4271a6 RPI_USERLAND_SITE = $(call github,raspberrypi,userland,$(RPI_USERLAND_VERSION)) RPI_USERLAND_LICENSE = BSD-3-Clause RPI_USERLAND_LICENSE_FILES = LICENCE diff --git a/bsp/buildroot/package/rpi-wifi-firmware/Config.in b/bsp/buildroot/package/rpi-wifi-firmware/Config.in index 2c87c758..7e81b286 100644 --- a/bsp/buildroot/package/rpi-wifi-firmware/Config.in +++ b/bsp/buildroot/package/rpi-wifi-firmware/Config.in @@ -1,10 +1,13 @@ config BR2_PACKAGE_RPI_WIFI_FIRMWARE bool "rpi-wifi-firmware" depends on BR2_arm || BR2_aarch64 - select BR2_PACKAGE_LINUX_FIRMWARE - select BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX # runtime + depends on !BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX help Raspberry Pi 3 and Zero W Broadcom BCM43430 wifi module - NVRAM data. + NVRAM data. Raspberry Pi 3 Model B+ Broadcom BCM43455 + wifi module NVRAM data. - https://github.com/RPi-Distro/firmware-nonfree/ + https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi + +comment "rpi-wifi-firmware conflicts with linux-firmware Broadcom BRCM bcm43xx" + depends on BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX diff --git a/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash index c2050653..c61a47ec 100644 --- a/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash +++ b/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 872fde4f9942d9aba805880d6eaddfe050305626fd58ad955bfe77c04f6b75a5 brcmfmac43430-sdio.txt +sha256 155ebd5f08b819e0ce4e1950fcc972b2086cee3c16d36aba348beba1910c1fd2 rpi-wifi-firmware-8c1e2bff1da9850f68efcfff3da5d939ec27a2ee.tar.gz +sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx diff --git a/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk index 6c855a8e..2eb8ceec 100644 --- a/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk +++ b/bsp/buildroot/package/rpi-wifi-firmware/rpi-wifi-firmware.mk @@ -4,20 +4,14 @@ # ################################################################################ -RPI_WIFI_FIRMWARE_VERSION = 54bab3d6a6d43239c71d26464e6e10e5067ffea7 -# brcmfmac43430-sdio.bin comes from linux-firmware -RPI_WIFI_FIRMWARE_SOURCE = brcmfmac43430-sdio.txt -# git repo contains a lot of unrelated files -RPI_WIFI_FIRMWARE_SITE = https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/$(RPI_WIFI_FIRMWARE_VERSION)/brcm80211/brcm +RPI_WIFI_FIRMWARE_VERSION = 8c1e2bff1da9850f68efcfff3da5d939ec27a2ee +RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION)) RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY - -define RPI_WIFI_FIRMWARE_EXTRACT_CMDS - cp $(DL_DIR)/$($(PKG)_SOURCE) $(@D)/ -endef +RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0644 $(@D)/$(RPI_WIFI_FIRMWARE_SOURCE) \ - $(TARGET_DIR)/lib/firmware/brcm/$(RPI_WIFI_FIRMWARE_SOURCE) + $(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm + $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/rrdtool/rrdtool.hash b/bsp/buildroot/package/rrdtool/rrdtool.hash index cff5501d..66406734 100644 --- a/bsp/buildroot/package/rrdtool/rrdtool.hash +++ b/bsp/buildroot/package/rrdtool/rrdtool.hash @@ -1,2 +1,4 @@ -# Locally calculated -sha256 cd948e89cd2d8825fab4a6fb0323f810948d934af7d92c9ee8b5e9e1350e52d7 rrdtool-1.6.0.tar.gz +# Locally calculated sha256 +sha256 f97d348935b91780f2cd80399719e20c0b91f0a23537c0a85f9ff306d4c5526b rrdtool-1.7.0.tar.gz +sha256 884385795ee48cd820082e8823bc748cd20574112da2cc7d2ef505b47b1058c3 COPYRIGHT +sha256 14079d501f3092405a192463603f66e13da88fc5894981e2962e2e6aec4ab178 LICENSE diff --git a/bsp/buildroot/package/rrdtool/rrdtool.mk b/bsp/buildroot/package/rrdtool/rrdtool.mk index ea5c892e..144bbcfb 100644 --- a/bsp/buildroot/package/rrdtool/rrdtool.mk +++ b/bsp/buildroot/package/rrdtool/rrdtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -RRDTOOL_VERSION = 1.6.0 +RRDTOOL_VERSION = 1.7.0 RRDTOOL_SITE = http://oss.oetiker.ch/rrdtool/pub RRDTOOL_LICENSE = GPL-2.0+ with FLOSS license exceptions as explained in COPYRIGHT RRDTOOL_LICENSE_FILES = COPYRIGHT LICENSE diff --git a/bsp/buildroot/package/rsyslog/S01logging b/bsp/buildroot/package/rsyslog/S01logging deleted file mode 100644 index 8e4a59c2..00000000 --- a/bsp/buildroot/package/rsyslog/S01logging +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -start() { - printf "Starting rsyslog daemon: " - start-stop-daemon -S -q -p /var/run/rsyslogd.pid --exec /usr/sbin/rsyslogd - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -stop() { - printf "Stopping rsyslog daemon: " - start-stop-daemon -K -q -p /var/run/rsyslogd.pid - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -restart() { - stop - sleep 1 - start -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - restart - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/bsp/buildroot/package/rsyslog/S01rsyslogd b/bsp/buildroot/package/rsyslog/S01rsyslogd new file mode 100644 index 00000000..e9922d93 --- /dev/null +++ b/bsp/buildroot/package/rsyslog/S01rsyslogd @@ -0,0 +1,53 @@ +#!/bin/sh + +DAEMON="rsyslogd" +PIDFILE="/var/run/$DAEMON.pid" + +RSYSLOGD_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $RSYSLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +case "$1" in + start|stop|restart) + "$1";; + reload) + # Restart, since there is no true "reload" feature (does not + # reconfigure/restart on SIGHUP, just closes all open files). + restart;; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/rsyslog/rsyslog.mk b/bsp/buildroot/package/rsyslog/rsyslog.mk index e32505be..fcd476ce 100644 --- a/bsp/buildroot/package/rsyslog/rsyslog.mk +++ b/bsp/buildroot/package/rsyslog/rsyslog.mk @@ -17,11 +17,6 @@ RSYSLOG_PLUGINS = imdiag imfile impstats imptcp \ RSYSLOG_CONF_OPTS = --disable-generate-man-pages \ $(foreach x,$(call qstrip,$(RSYSLOG_PLUGINS)),--enable-$(x)) -# Build after BusyBox -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -RSYSLOG_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_GNUTLS),y) RSYSLOG_DEPENDENCIES += gnutls RSYSLOG_CONF_OPTS += --enable-gnutls @@ -77,8 +72,8 @@ RSYSLOG_CONF_OPTS += \ endif define RSYSLOG_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/rsyslog/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 0755 -D package/rsyslog/S01rsyslogd \ + $(TARGET_DIR)/etc/init.d/S01rsyslogd endef # The rsyslog.service is installed by rsyslog, but the link is not created diff --git a/bsp/buildroot/package/rtc-tools/Config.in b/bsp/buildroot/package/rtc-tools/Config.in new file mode 100644 index 00000000..78f5c060 --- /dev/null +++ b/bsp/buildroot/package/rtc-tools/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_RTC_TOOLS + bool "rtc-tools" + help + This package provide a set of user-space tools that can be + used to manipulate Real Time Clock Devices. + + https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git/ diff --git a/bsp/buildroot/package/rtc-tools/rtc-tools.hash b/bsp/buildroot/package/rtc-tools/rtc-tools.hash new file mode 100644 index 00000000..81be1afe --- /dev/null +++ b/bsp/buildroot/package/rtc-tools/rtc-tools.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 152d8455bae5ad672e99bb91dfbed5b8b4bd8b0325146d1cf1c4d80b6e0d8a16 rtc-tools-33ef4aa1c92b0c92a351284d93d1ac5570de9cc7.tar.gz +sha256 7ae50a5344af14d6231aff6814632a220b3127da4099aea2c6070fd79c407c1a COPYING diff --git a/bsp/buildroot/package/rtc-tools/rtc-tools.mk b/bsp/buildroot/package/rtc-tools/rtc-tools.mk new file mode 100644 index 00000000..2ef850a8 --- /dev/null +++ b/bsp/buildroot/package/rtc-tools/rtc-tools.mk @@ -0,0 +1,30 @@ +################################################################################ +# +# rtc-tools +# +################################################################################ + +RTC_TOOLS_VERSION = 33ef4aa1c92b0c92a351284d93d1ac5570de9cc7 +RTC_TOOLS_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/rtc-tools.git +RTC_TOOLS_LICENSE = GPL-2.0 +RTC_TOOLS_LICENSE_FILES = COPYING + +RTC_TOOLS_BINARIES = rtc rtc-range + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +RTC_TOOLS_BINARIES += rtc-sync +endif + +define RTC_TOOLS_BUILD_CMDS + $(foreach bin,$(RTC_TOOLS_BINARIES),\ + $(TARGET_CC) $(TARGET_CFLAGS) -o $(@D)/$(bin) $(@D)/$(bin).c + ) +endef + +define RTC_TOOLS_INSTALL_TARGET_CMDS + $(foreach bin,$(RTC_TOOLS_BINARIES),\ + $(INSTALL) -D -m 0755 $(@D)/$(bin) $(TARGET_DIR)/usr/bin/$(bin) + ) +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/rtl8188eu/rtl8188eu.hash b/bsp/buildroot/package/rtl8188eu/rtl8188eu.hash index 6f68f442..9ec2ffee 100644 --- a/bsp/buildroot/package/rtl8188eu/rtl8188eu.hash +++ b/bsp/buildroot/package/rtl8188eu/rtl8188eu.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 9f16fab009bd7bc9e377cf7dcdf82be1b60e7f88e27f2833eea5b422d104e3fe rtl8188eu-ced2b64a1139dcaf86947e3a9f7617dffbd64239.tar.gz +sha256 cc872aa0991c044d35abfcc81543bad950c6aae487e37d5a09d1cbf8c4cb3058 rtl8188eu-4b0ecca485b9f11f58670b69aa9f90ecad7da02f.tar.gz diff --git a/bsp/buildroot/package/rtl8188eu/rtl8188eu.mk b/bsp/buildroot/package/rtl8188eu/rtl8188eu.mk index 5c1cc73d..f292bba1 100644 --- a/bsp/buildroot/package/rtl8188eu/rtl8188eu.mk +++ b/bsp/buildroot/package/rtl8188eu/rtl8188eu.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTL8188EU_VERSION = ced2b64a1139dcaf86947e3a9f7617dffbd64239 +RTL8188EU_VERSION = 4b0ecca485b9f11f58670b69aa9f90ecad7da02f RTL8188EU_SITE = $(call github,lwfinger,rtl8188eu,$(RTL8188EU_VERSION)) RTL8188EU_LICENSE = GPL-2.0, proprietary (rtl8188eufw.bin firmware blob) RTL8188EU_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/rtmpdump/rtmpdump.mk b/bsp/buildroot/package/rtmpdump/rtmpdump.mk index f5d430ce..03cdd9d0 100644 --- a/bsp/buildroot/package/rtmpdump/rtmpdump.mk +++ b/bsp/buildroot/package/rtmpdump/rtmpdump.mk @@ -16,9 +16,6 @@ RTMPDUMP_DEPENDENCIES = zlib ifeq ($(BR2_PACKAGE_GNUTLS),y) RTMPDUMP_DEPENDENCIES += gnutls RTMPDUMP_CRYPTO = GNUTLS -else ifeq ($(BR2_PACKAGE_OPENSSL),y) -RTMPDUMP_DEPENDENCIES += openssl -RTMPDUMP_CRYPTO = OPENSSL else # no crypto RTMPDUMP_CRYPTO = diff --git a/bsp/buildroot/package/rtorrent/0001-cross_compile.patch b/bsp/buildroot/package/rtorrent/0001-cross_compile.patch index a8ad696e..1c40eaeb 100644 --- a/bsp/buildroot/package/rtorrent/0001-cross_compile.patch +++ b/bsp/buildroot/package/rtorrent/0001-cross_compile.patch @@ -4,29 +4,18 @@ Date: Mon, 5 Oct 2015 00:52:26 +0100 Subject: [PATCH] Fix cross compilation, based on OpenWRT patch. [Vincent: tweak the patch for version 0.9.6] +[Bernd: tweak the patch for version 0.9.7] Signed-off-by: Gustavo Zacarias Signed-off-by: Vicente Olivert Riera +Signed-off-by: Bernd Kuhls --- - configure.ac | 1 - - scripts/checks.m4 | 2 +- - scripts/common.m4 | 4 ++-- - 3 files changed, 3 insertions(+), 4 deletions(-) + scripts/checks.m4 | 2 +- + scripts/common.m4 | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) -diff --git a/configure.ac b/configure.ac -index ba5bbf2..0821d4e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4,7 +4,6 @@ AC_DEFINE(API_VERSION, 9, api version) - - AM_INIT_AUTOMAKE - AC_CONFIG_HEADERS(config.h) --AM_PATH_CPPUNIT(1.9.6) - - AC_PROG_CXX - AC_PROG_LIBTOOL diff --git a/scripts/checks.m4 b/scripts/checks.m4 -index 598f39b..0e5abe0 100644 +index 8d77fc5..c446995 100644 --- a/scripts/checks.m4 +++ b/scripts/checks.m4 @@ -96,7 +96,7 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [ @@ -39,10 +28,10 @@ index 598f39b..0e5abe0 100644 #include #include diff --git a/scripts/common.m4 b/scripts/common.m4 -index 5127624..cc68269 100644 +index 9885b03..a0af7e7 100644 --- a/scripts/common.m4 +++ b/scripts/common.m4 -@@ -223,7 +223,7 @@ dnl Need to fix this so that it uses the stuff defined by the system. +@@ -153,7 +153,7 @@ dnl Need to fix this so that it uses the stuff defined by the system. AC_DEFUN([TORRENT_CHECK_EXECINFO], [ AC_MSG_CHECKING(for execinfo.h) @@ -51,7 +40,7 @@ index 5127624..cc68269 100644 #include int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;} ])], -@@ -238,7 +238,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [ +@@ -168,7 +168,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [ AC_DEFUN([TORRENT_CHECK_ALIGNED], [ AC_MSG_CHECKING(the byte alignment) @@ -61,5 +50,5 @@ index 5127624..cc68269 100644 int main() { char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 }; -- -1.7.1 +2.18.0 diff --git a/bsp/buildroot/package/rtorrent/Config.in b/bsp/buildroot/package/rtorrent/Config.in index 190e50fe..6bbcaaf5 100644 --- a/bsp/buildroot/package/rtorrent/Config.in +++ b/bsp/buildroot/package/rtorrent/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_RTORRENT depends on BR2_USE_WCHAR depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() + # gcc < 4.9 cause an "internal compiler error" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 depends on BR2_TOOLCHAIN_HAS_SYNC_1 && BR2_TOOLCHAIN_HAS_SYNC_4 select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBTORRENT @@ -14,7 +16,8 @@ config BR2_PACKAGE_RTORRENT https://github.com/rakshasa/rtorrent -comment "rtorrent needs a toolchain w/ C++, threads, wchar" +comment "rtorrent needs a toolchain w/ C++, threads, wchar, gcc >= 4.9" depends on BR2_USE_MMU depends on BR2_TOOLCHAIN_HAS_SYNC_1 && BR2_TOOLCHAIN_HAS_SYNC_4 - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS) + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \ + BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_GCC_AT_LEAST_4_9) diff --git a/bsp/buildroot/package/rtorrent/rtorrent.hash b/bsp/buildroot/package/rtorrent/rtorrent.hash index 15257acf..9f5ef2b4 100644 --- a/bsp/buildroot/package/rtorrent/rtorrent.hash +++ b/bsp/buildroot/package/rtorrent/rtorrent.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 1e69c24f1f26f8f07d58d673480dc392bfc4317818c1115265b08a7813ff5b0e rtorrent-0.9.6.tar.gz +sha256 5d9842fe48c9582fbea2c7bf9f51412c1ccbba07d059b257039ad53b863fe8bb rtorrent-0.9.7.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/rtorrent/rtorrent.mk b/bsp/buildroot/package/rtorrent/rtorrent.mk index 51dc9eec..aaf86be6 100644 --- a/bsp/buildroot/package/rtorrent/rtorrent.mk +++ b/bsp/buildroot/package/rtorrent/rtorrent.mk @@ -4,7 +4,7 @@ # ################################################################################ -RTORRENT_VERSION = 0.9.6 +RTORRENT_VERSION = 0.9.7 RTORRENT_SITE = http://rtorrent.net/downloads RTORRENT_DEPENDENCIES = host-pkgconf libcurl libtorrent ncurses RTORRENT_AUTORECONF = YES diff --git a/bsp/buildroot/package/ruby/ruby.mk b/bsp/buildroot/package/ruby/ruby.mk index d6e5fdb4..3e71596b 100644 --- a/bsp/buildroot/package/ruby/ruby.mk +++ b/bsp/buildroot/package/ruby/ruby.mk @@ -40,13 +40,6 @@ RUBY_CONF_ENV += \ ac_cv_func_isnan=yes endif -ifeq ($(BR2_bfin),y) -RUBY_CONF_ENV += ac_cv_func_dl_iterate_phdr=no -# Blackfin doesn't have FFI closure support, needed by the fiddle -# extension. -RUBY_CONF_OPTS += --with-out-ext=fiddle -endif - ifeq ($(BR2_TOOLCHAIN_HAS_SSP),) RUBY_CONF_ENV += stack_protector=no endif diff --git a/bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch b/bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch new file mode 100644 index 00000000..a0bc7ba3 --- /dev/null +++ b/bsp/buildroot/package/runc/0001-nsenter-clone-proc-self-exe-to-avoid-exposing-host-b.patch @@ -0,0 +1,338 @@ +From 0a8e4117e7f715d5fbeef398405813ce8e88558b Mon Sep 17 00:00:00 2001 +From: Aleksa Sarai +Date: Wed, 9 Jan 2019 13:40:01 +1100 +Subject: [PATCH] nsenter: clone /proc/self/exe to avoid exposing host binary + to container + +There are quite a few circumstances where /proc/self/exe pointing to a +pretty important container binary is a _bad_ thing, so to avoid this we +have to make a copy (preferably doing self-clean-up and not being +writeable). + +We require memfd_create(2) -- though there is an O_TMPFILE fallback -- +but we can always extend this to use a scratch MNT_DETACH overlayfs or +tmpfs. The main downside to this approach is no page-cache sharing for +the runc binary (which overlayfs would give us) but this is far less +complicated. + +This is only done during nsenter so that it happens transparently to the +Go code, and any libcontainer users benefit from it. This also makes +ExtraFiles and --preserve-fds handling trivial (because we don't need to +worry about it). + +Fixes: CVE-2019-5736 +Co-developed-by: Christian Brauner +Signed-off-by: Aleksa Sarai +Signed-off-by: Peter Korsgaard +--- + libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++++++++++ + libcontainer/nsenter/nsexec.c | 11 ++ + 2 files changed, 279 insertions(+) + create mode 100644 libcontainer/nsenter/cloned_binary.c + +diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c +new file mode 100644 +index 00000000..c8a42c23 +--- /dev/null ++++ b/libcontainer/nsenter/cloned_binary.c +@@ -0,0 +1,268 @@ ++/* ++ * Copyright (C) 2019 Aleksa Sarai ++ * Copyright (C) 2019 SUSE LLC ++ * ++ * Licensed under the Apache License, Version 2.0 (the "License"); ++ * you may not use this file except in compliance with the License. ++ * You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ ++#define _GNU_SOURCE ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* Use our own wrapper for memfd_create. */ ++#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) ++# define SYS_memfd_create __NR_memfd_create ++#endif ++#ifdef SYS_memfd_create ++# define HAVE_MEMFD_CREATE ++/* memfd_create(2) flags -- copied from . */ ++# ifndef MFD_CLOEXEC ++# define MFD_CLOEXEC 0x0001U ++# define MFD_ALLOW_SEALING 0x0002U ++# endif ++int memfd_create(const char *name, unsigned int flags) ++{ ++ return syscall(SYS_memfd_create, name, flags); ++} ++#endif ++ ++/* This comes directly from . */ ++#ifndef F_LINUX_SPECIFIC_BASE ++# define F_LINUX_SPECIFIC_BASE 1024 ++#endif ++#ifndef F_ADD_SEALS ++# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) ++# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) ++#endif ++#ifndef F_SEAL_SEAL ++# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ ++# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ ++# define F_SEAL_GROW 0x0004 /* prevent file from growing */ ++# define F_SEAL_WRITE 0x0008 /* prevent writes */ ++#endif ++ ++#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */ ++#ifdef HAVE_MEMFD_CREATE ++# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe" ++# define RUNC_MEMFD_SEALS \ ++ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) ++#endif ++ ++static void *must_realloc(void *ptr, size_t size) ++{ ++ void *old = ptr; ++ do { ++ ptr = realloc(old, size); ++ } while(!ptr); ++ return ptr; ++} ++ ++/* ++ * Verify whether we are currently in a self-cloned program (namely, is ++ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather ++ * for shmem files), and we want to be sure it's actually sealed. ++ */ ++static int is_self_cloned(void) ++{ ++ int fd, ret, is_cloned = 0; ++ ++ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); ++ if (fd < 0) ++ return -ENOTRECOVERABLE; ++ ++#ifdef HAVE_MEMFD_CREATE ++ ret = fcntl(fd, F_GET_SEALS); ++ is_cloned = (ret == RUNC_MEMFD_SEALS); ++#else ++ struct stat statbuf = {0}; ++ ret = fstat(fd, &statbuf); ++ if (ret >= 0) ++ is_cloned = (statbuf.st_nlink == 0); ++#endif ++ close(fd); ++ return is_cloned; ++} ++ ++/* ++ * Basic wrapper around mmap(2) that gives you the file length so you can ++ * safely treat it as an ordinary buffer. Only gives you read access. ++ */ ++static char *read_file(char *path, size_t *length) ++{ ++ int fd; ++ char buf[4096], *copy = NULL; ++ ++ if (!length) ++ return NULL; ++ ++ fd = open(path, O_RDONLY | O_CLOEXEC); ++ if (fd < 0) ++ return NULL; ++ ++ *length = 0; ++ for (;;) { ++ int n; ++ ++ n = read(fd, buf, sizeof(buf)); ++ if (n < 0) ++ goto error; ++ if (!n) ++ break; ++ ++ copy = must_realloc(copy, (*length + n) * sizeof(*copy)); ++ memcpy(copy + *length, buf, n); ++ *length += n; ++ } ++ close(fd); ++ return copy; ++ ++error: ++ close(fd); ++ free(copy); ++ return NULL; ++} ++ ++/* ++ * A poor-man's version of "xargs -0". Basically parses a given block of ++ * NUL-delimited data, within the given length and adds a pointer to each entry ++ * to the array of pointers. ++ */ ++static int parse_xargs(char *data, int data_length, char ***output) ++{ ++ int num = 0; ++ char *cur = data; ++ ++ if (!data || *output != NULL) ++ return -1; ++ ++ while (cur < data + data_length) { ++ num++; ++ *output = must_realloc(*output, (num + 1) * sizeof(**output)); ++ (*output)[num - 1] = cur; ++ cur += strlen(cur) + 1; ++ } ++ (*output)[num] = NULL; ++ return num; ++} ++ ++/* ++ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. ++ * This is necessary because we are running in a context where we don't have a ++ * main() that we can just get the arguments from. ++ */ ++static int fetchve(char ***argv, char ***envp) ++{ ++ char *cmdline = NULL, *environ = NULL; ++ size_t cmdline_size, environ_size; ++ ++ cmdline = read_file("/proc/self/cmdline", &cmdline_size); ++ if (!cmdline) ++ goto error; ++ environ = read_file("/proc/self/environ", &environ_size); ++ if (!environ) ++ goto error; ++ ++ if (parse_xargs(cmdline, cmdline_size, argv) <= 0) ++ goto error; ++ if (parse_xargs(environ, environ_size, envp) <= 0) ++ goto error; ++ ++ return 0; ++ ++error: ++ free(environ); ++ free(cmdline); ++ return -EINVAL; ++} ++ ++static int clone_binary(void) ++{ ++ int binfd, memfd; ++ ssize_t sent = 0; ++ ++#ifdef HAVE_MEMFD_CREATE ++ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); ++#else ++ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); ++#endif ++ if (memfd < 0) ++ return -ENOTRECOVERABLE; ++ ++ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC); ++ if (binfd < 0) ++ goto error; ++ ++ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX); ++ close(binfd); ++ if (sent < 0) ++ goto error; ++ ++#ifdef HAVE_MEMFD_CREATE ++ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); ++ if (err < 0) ++ goto error; ++#else ++ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */ ++ int newfd; ++ char *fdpath = NULL; ++ ++ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) ++ goto error; ++ newfd = open(fdpath, O_RDONLY | O_CLOEXEC); ++ free(fdpath); ++ if (newfd < 0) ++ goto error; ++ ++ close(memfd); ++ memfd = newfd; ++#endif ++ return memfd; ++ ++error: ++ close(memfd); ++ return -EIO; ++} ++ ++int ensure_cloned_binary(void) ++{ ++ int execfd; ++ char **argv = NULL, **envp = NULL; ++ ++ /* Check that we're not self-cloned, and if we are then bail. */ ++ int cloned = is_self_cloned(); ++ if (cloned > 0 || cloned == -ENOTRECOVERABLE) ++ return cloned; ++ ++ if (fetchve(&argv, &envp) < 0) ++ return -EINVAL; ++ ++ execfd = clone_binary(); ++ if (execfd < 0) ++ return -EIO; ++ ++ fexecve(execfd, argv, envp); ++ return -ENOEXEC; ++} +diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c +index 28269dfc..7750af35 100644 +--- a/libcontainer/nsenter/nsexec.c ++++ b/libcontainer/nsenter/nsexec.c +@@ -534,6 +534,9 @@ void join_namespaces(char *nslist) + free(namespaces); + } + ++/* Defined in cloned_binary.c. */ ++extern int ensure_cloned_binary(void); ++ + void nsexec(void) + { + int pipenum; +@@ -549,6 +552,14 @@ void nsexec(void) + if (pipenum == -1) + return; + ++ /* ++ * We need to re-exec if we are not in a cloned binary. This is necessary ++ * to ensure that containers won't be able to access the host binary ++ * through /proc/self/exe. See CVE-2019-5736. ++ */ ++ if (ensure_cloned_binary() < 0) ++ bail("could not ensure we are a cloned binary"); ++ + /* Parse all of the netlink configuration. */ + nl_parse(pipenum, &config); + +-- +2.11.0 + diff --git a/bsp/buildroot/package/runc/Config.in b/bsp/buildroot/package/runc/Config.in index fd5dee7c..cfd26e98 100644 --- a/bsp/buildroot/package/runc/Config.in +++ b/bsp/buildroot/package/runc/Config.in @@ -3,13 +3,18 @@ config BR2_PACKAGE_RUNC depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS depends on BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 # O_TMPFILE + depends on !BR2_TOOLCHAIN_USES_UCLIBC # no fexecve + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM # glibc < 2.19 help runC is a CLI tool for spawning and running containers according to the OCP specification. https://github.com/opencontainers/runc -comment "runc needs a toolchain w/ threads" +comment "runc needs a glibc or musl toolchain w/ threads, headers >= 3.11" depends on BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS && \ BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 || BR2_TOOLCHAN_USES_UCLIBC + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM diff --git a/bsp/buildroot/package/runc/runc.hash b/bsp/buildroot/package/runc/runc.hash index 3e188c5c..1636e5b8 100644 --- a/bsp/buildroot/package/runc/runc.hash +++ b/bsp/buildroot/package/runc/runc.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 b5c50d7d9a5f610d5424f96196efa306ec708fd9299302dd919545099c16b7c1 runc-9c2d8d184e5da67c95d601382adf14862e4f2228.tar.gz +sha256 a221f8380e7b5806031f54d423af6dde24c305dad49868056cf70e5f5f4ef771 runc-v1.0.0-rc6.tar.gz +sha256 552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243 LICENSE diff --git a/bsp/buildroot/package/runc/runc.mk b/bsp/buildroot/package/runc/runc.mk index fb3fec20..05396612 100644 --- a/bsp/buildroot/package/runc/runc.mk +++ b/bsp/buildroot/package/runc/runc.mk @@ -4,47 +4,20 @@ # ################################################################################ -RUNC_VERSION = 9c2d8d184e5da67c95d601382adf14862e4f2228 +RUNC_VERSION = v1.0.0-rc6 RUNC_SITE = $(call github,opencontainers,runc,$(RUNC_VERSION)) RUNC_LICENSE = Apache-2.0 RUNC_LICENSE_FILES = LICENSE -RUNC_DEPENDENCIES = host-go +RUNC_WORKSPACE = Godeps/_workspace -RUNC_GOPATH = "$(@D)/Godeps/_workspace" -RUNC_MAKE_ENV = $(HOST_GO_TARGET_ENV) \ - CGO_ENABLED=1 \ - GOBIN="$(@D)/bin" \ - GOPATH="$(RUNC_GOPATH)" \ - PATH=$(BR_PATH) +RUNC_LDFLAGS = -X main.gitCommit=$(RUNC_VERSION) -RUNC_GLDFLAGS = \ - -X main.gitCommit=$(RUNC_VERSION) - -ifeq ($(BR2_STATIC_LIBS),y) -RUNC_GLDFLAGS += -extldflags '-static' -endif - -RUNC_GOTAGS = cgo static_build +RUNC_TAGS = cgo static_build ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) -RUNC_GOTAGS += seccomp +RUNC_TAGS += seccomp RUNC_DEPENDENCIES += libseccomp host-pkgconf endif -define RUNC_CONFIGURE_CMDS - mkdir -p $(RUNC_GOPATH)/src/github.com/opencontainers - ln -s $(@D) $(RUNC_GOPATH)/src/github.com/opencontainers/runc -endef - -define RUNC_BUILD_CMDS - cd $(@D) && $(RUNC_MAKE_ENV) $(HOST_DIR)/bin/go \ - build -v -o $(@D)/bin/runc \ - -tags "$(RUNC_GOTAGS)" -ldflags "$(RUNC_GLDFLAGS)" . -endef - -define RUNC_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/bin/runc $(TARGET_DIR)/usr/bin/runc -endef - -$(eval $(generic-package)) +$(eval $(golang-package)) diff --git a/bsp/buildroot/package/rust-bin/rust-bin.hash b/bsp/buildroot/package/rust-bin/rust-bin.hash index 5b34a6aa..36f959f2 100644 --- a/bsp/buildroot/package/rust-bin/rust-bin.hash +++ b/bsp/buildroot/package/rust-bin/rust-bin.hash @@ -1,33 +1,33 @@ -# From https://static.rust-lang.org/dist/rustc-1.23.0-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 243de2826b2d545b8428414a3f7e86ce5e86163ec927a374958052a047b55e69 rustc-1.23.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rustc-1.23.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 d72674a683dcc8a07ad72d6ae08b96a7dfc72cf08433e2ae69c0f8a2b9c79c17 rustc-1.23.0-x86_64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-aarch64-unknown-linux-gnu.tar.xz.sha256 -sha256 0d9c976c46a277ef860ce5766387ea8e40f84657e5f9962cba91be62a00ca345 rust-std-1.23.0-aarch64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-arm-unknown-linux-gnueabi.tar.xz.sha256 -sha256 3d7ce58f6d2bbf6faf91049893e96611a172b0af02d98190e36a49e8b0f974ee rust-std-1.23.0-arm-unknown-linux-gnueabi.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-arm-unknown-linux-gnueabihf.tar.xz.sha256 -sha256 0a2a43668c2ddc2516e85e1c097d2672acaf61541d2b70f40daba548b3ccbee1 rust-std-1.23.0-arm-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-armv7-unknown-linux-gnueabihf.tar.xz.sha256 -sha256 b2f7f4e2e31d86302e929d0435b6f40778c22fc9306f0850b0edc4738ff2634e rust-std-1.23.0-armv7-unknown-linux-gnueabihf.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-i686-unknown-linux-gnu.tar.xz.sha256 -sha256 f9659f844ccd2e25e9f01a49fb7adf0ce26cbbec7a4df7081dd2d0929a86b2d3 rust-std-1.23.0-i686-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-mips-unknown-linux-gnu.tar.xz.sha256 -sha256 8324d9c1eacba0de31fff29841d0f0567261489ee46a270e30be929095bfe19a rust-std-1.23.0-mips-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-mips64-unknown-linux-gnuabi64.tar.xz.sha256 -sha256 521f70f3346ff8e28e33350fd5ad9bbba7dfc9038389f3965bcfa2f1d1a498a5 rust-std-1.23.0-mips64-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 -sha256 d08f5792bd0d4f5d3d81a4ec1b3a2b36e7c389de2ecf2e777e390461ff015d08 rust-std-1.23.0-mips64el-unknown-linux-gnuabi64.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-mipsel-unknown-linux-gnu.tar.xz.sha256 -sha256 77291fff357b9e1764a4d7975bdbecdb37aeb0d37d85ccb68f7d785f4da1a056 rust-std-1.23.0-mipsel-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-powerpc-unknown-linux-gnu.tar.xz.sha256 -sha256 d1b862d32c4921058ff4ea5b7fead3b2954b5f0f036603b1c58a600e602d1f25 rust-std-1.23.0-powerpc-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-powerpc64-unknown-linux-gnu.tar.xz.sha256 -sha256 e03bf7907914c88d2f19e719f07641b1b1ffbb65cf9daae8b028f4ab4619b4ff rust-std-1.23.0-powerpc64-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-powerpc64le-unknown-linux-gnu.tar.xz.sha256 -sha256 674f74245341119409e203109c22d432d0ed3312a6ff4d3b03cab251e61cc53a rust-std-1.23.0-powerpc64le-unknown-linux-gnu.tar.xz -# From https://static.rust-lang.org/dist/rust-std-1.23.0-x86_64-unknown-linux-gnu.tar.xz.sha256 -sha256 0d87225dd081c7ea5002fdeb21983d23bc52fa37d23c88d5c97b2c44660f8af9 rust-std-1.23.0-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rustc-1.29.2-i686-unknown-linux-gnu.tar.xz.sha256 +sha256 d251b3ade6a66856ff62ea86ed8d34f8cc2a9cd683bf42c3b0c0345f0d955b7c rustc-1.29.2-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rustc-1.29.2-x86_64-unknown-linux-gnu.tar.xz.sha256 +sha256 b0ea41cd20caf9af62394601b09d2c8b12814293f3cc1247a8c61fb672477499 rustc-1.29.2-x86_64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-aarch64-unknown-linux-gnu.tar.xz.sha256 +sha256 df62bdb6839e313f8f9c3a92b4de63ba2c37b9c7b534449a392db1ede0f6a741 rust-std-1.29.2-aarch64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-arm-unknown-linux-gnueabi.tar.xz.sha256 +sha256 7729765dab2945c688d0f10faf313c14aed22f6cfdc96a0a07292292662f260a rust-std-1.29.2-arm-unknown-linux-gnueabi.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-arm-unknown-linux-gnueabihf.tar.xz.sha256 +sha256 5e4f02edccd013b19b6d03c2a28bff4f81b9cdf7475882e1480aeb21378f93cf rust-std-1.29.2-arm-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz.sha256 +sha256 d7e6ba57e790fc4e5d02c0b4b0471178b05341cf932bfc349b90ced9b939209e rust-std-1.29.2-armv7-unknown-linux-gnueabihf.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-i686-unknown-linux-gnu.tar.xz.sha256 +sha256 4e8c54a54b3060cde9e24d0c32585360098cc75a120543429ccf498d8b83b5d0 rust-std-1.29.2-i686-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-mips-unknown-linux-gnu.tar.xz.sha256 +sha256 556596ac7e2dc462573e8379fd1596dc59394044b3a11f0c50f54642439cf8ab rust-std-1.29.2-mips-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-mips64-unknown-linux-gnuabi64.tar.xz.sha256 +sha256 8dac2dfc4db7932e6214e98494824453a7be8bb42cf29d5395cc2363fc2fb0c2 rust-std-1.29.2-mips64-unknown-linux-gnuabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-mips64el-unknown-linux-gnuabi64.tar.xz.sha256 +sha256 361d70abfc27b7fdbe8642bc7413f9b55463e90350465de96183ff048fcf149f rust-std-1.29.2-mips64el-unknown-linux-gnuabi64.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-mipsel-unknown-linux-gnu.tar.xz.sha256 +sha256 8005463e56932bdf272a047281cc20087db68d8fef4cbcf8cf4edf9a2260f8cc rust-std-1.29.2-mipsel-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-powerpc-unknown-linux-gnu.tar.xz.sha256 +sha256 6cda45f5ee39dbfef95d516a1e0e25744b11d1a8147188b71c21f85f65bca9a9 rust-std-1.29.2-powerpc-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-powerpc64-unknown-linux-gnu.tar.xz.sha256 +sha256 612f175c895a495e401205025805a9e8dffa53b2f105a55f92894b159a87fe28 rust-std-1.29.2-powerpc64-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz.sha256 +sha256 16034975bd09b57eb1579b659010f83b869733c9c018c2a189a385fa77923875 rust-std-1.29.2-powerpc64le-unknown-linux-gnu.tar.xz +# From https://static.rust-lang.org/dist/rust-std-1.29.2-x86_64-unknown-linux-gnu.tar.xz.sha256 +sha256 be16e9db4e39e5e1af0621eea715d13e0fdc56f7b14c3d7310905dc34dfa618a rust-std-1.29.2-x86_64-unknown-linux-gnu.tar.xz # Locally generated sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/bsp/buildroot/package/rust-bin/rust-bin.mk b/bsp/buildroot/package/rust-bin/rust-bin.mk index cd5844b1..624ec94b 100644 --- a/bsp/buildroot/package/rust-bin/rust-bin.mk +++ b/bsp/buildroot/package/rust-bin/rust-bin.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_BIN_VERSION = 1.23.0 +RUST_BIN_VERSION = 1.29.2 RUST_BIN_SITE = https://static.rust-lang.org/dist RUST_BIN_LICENSE = Apache-2.0 or MIT RUST_BIN_LICENSE_FILES = LICENSE-APACHE LICENSE-MIT @@ -14,19 +14,22 @@ HOST_RUST_BIN_PROVIDES = host-rustc HOST_RUST_BIN_SOURCE = rustc-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz HOST_RUST_BIN_EXTRA_DOWNLOADS = \ - rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz \ - rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz + rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME).tar.xz + +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) +HOST_RUST_BIN_EXTRA_DOWNLOADS += rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME).tar.xz +endif HOST_RUST_BIN_LIBSTD_HOST_PREFIX = rust-std-$(RUST_BIN_VERSION)-$(RUSTC_HOST_NAME)/rust-std-$(RUSTC_HOST_NAME) define HOST_RUST_BIN_LIBSTD_EXTRACT mkdir -p $(@D)/std $(foreach f,$(HOST_RUST_BIN_EXTRA_DOWNLOADS), \ - $(call suitable-extractor,$(f)) $(DL_DIR)/$(f) | \ + $(call suitable-extractor,$(f)) $(HOST_RUST_BIN_DL_DIR)/$(f) | \ $(TAR) -C $(@D)/std $(TAR_OPTIONS) - ) - cd $(@D)/rustc/lib/rustlib; \ - ln -sf ../../../std/$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME) + cd $(@D)/rustc/lib/rustlib/$(RUSTC_HOST_NAME); \ + ln -sf ../../../../std/$(HOST_RUST_BIN_LIBSTD_HOST_PREFIX)/lib/rustlib/$(RUSTC_HOST_NAME)/lib endef HOST_RUST_BIN_POST_EXTRACT_HOOKS += HOST_RUST_BIN_LIBSTD_EXTRACT @@ -35,7 +38,6 @@ HOST_RUST_BIN_INSTALL_OPTS = \ --prefix=$(HOST_DIR) \ --disable-ldconfig -ifeq ($(BR2_PACKAGE_HOST_RUST_BIN),y) define HOST_RUST_BIN_INSTALL_RUSTC (cd $(@D); \ ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS)) @@ -46,6 +48,7 @@ define HOST_RUST_BIN_INSTALL_LIBSTD_HOST ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS)) endef +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) define HOST_RUST_BIN_INSTALL_LIBSTD_TARGET (cd $(@D)/std/rust-std-$(RUST_BIN_VERSION)-$(RUSTC_TARGET_NAME); \ ./install.sh $(HOST_RUST_BIN_INSTALL_OPTS)) diff --git a/bsp/buildroot/package/rust/rust.hash b/bsp/buildroot/package/rust/rust.hash index d6731b6d..1caab5a4 100644 --- a/bsp/buildroot/package/rust/rust.hash +++ b/bsp/buildroot/package/rust/rust.hash @@ -1,5 +1,5 @@ -# From https://static.rust-lang.org/dist/rustc-1.23.0-src.tar.xz.sha256 -sha256 7196032371b50dd5582465b3bfa79ffd783b74f0711420d99b61b26c96fb3d80 rustc-1.23.0-src.tar.xz +# From https://static.rust-lang.org/dist/rustc-1.29.2-src.tar.xz.sha256 +sha256 bc7b9d4c041fe8454892a4211a116a4d5243cb04583a18c5292914fc829cb2f6 rustc-1.29.2-src.tar.xz # Locally generated sha256 a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2 LICENSE-APACHE sha256 23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3 LICENSE-MIT diff --git a/bsp/buildroot/package/rust/rust.mk b/bsp/buildroot/package/rust/rust.mk index ff2634b9..bf110f8a 100644 --- a/bsp/buildroot/package/rust/rust.mk +++ b/bsp/buildroot/package/rust/rust.mk @@ -4,7 +4,7 @@ # ################################################################################ -RUST_VERSION = 1.23.0 +RUST_VERSION = 1.29.2 RUST_SOURCE = rustc-$(RUST_VERSION)-src.tar.xz RUST_SITE = https://static.rust-lang.org/dist RUST_LICENSE = Apache-2.0 or MIT @@ -61,6 +61,7 @@ define HOST_RUST_CONFIGURE_CMDS echo 'prefix = "$(HOST_DIR)"'; \ echo '[rust]'; \ echo 'use-jemalloc = $(HOST_RUST_JEMALLOC_ENABLED)'; \ + echo 'channel = "stable"'; \ echo '[target.$(RUSTC_TARGET_NAME)]'; \ echo 'cc = "$(TARGET_CROSS)gcc"'; \ echo $(HOST_RUST_JEMALLOC_CONF); \ diff --git a/bsp/buildroot/package/rustc/Config.in.host b/bsp/buildroot/package/rustc/Config.in.host index 1c79eede..c58ffdf3 100644 --- a/bsp/buildroot/package/rustc/Config.in.host +++ b/bsp/buildroot/package/rustc/Config.in.host @@ -1,4 +1,10 @@ +# All host rust packages should depend on this option config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS + bool + default y if BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + +# All target rust packages should depend on this option +config BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS bool # The pre-built Rust standard library is only available for the # following architectures/ABIs, and is built against glibc. @@ -7,12 +13,12 @@ config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS default y if BR2_aarch64 default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5 \ && !(BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI) - default y if BR2_powerpc || BR2_powerpc64 + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_CPU_MIPS32R6 default y if (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_CPU_MIPS64R6 \ && BR2_MIPS_NABI64 depends on BR2_TOOLCHAIN_USES_GLIBC - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS config BR2_PACKAGE_HOST_RUSTC_ARCH string @@ -46,7 +52,6 @@ config BR2_PACKAGE_HOST_RUST depends on BR2_HOST_GCC_AT_LEAST_4_7 # required by LLVM # triggers ICE on trunc_int_for_mode, at explow.c:56 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_aarch64 - select BR2_PACKAGE_HAS_HOST_RUSTC help This package will build the compiler for the host as well as two flavors of the standard library: one for the host, another @@ -61,19 +66,17 @@ comment "host-rust needs host gcc >= 4.7" config BR2_PACKAGE_HOST_RUST_BIN bool "host rust (pre-built)" - select BR2_PACKAGE_HAS_HOST_RUSTC help This package will install pre-built versions of the compiler for the host and the Rust standard library for the target. endchoice -config BR2_PACKAGE_HAS_HOST_RUSTC - bool +endif config BR2_PACKAGE_PROVIDES_HOST_RUSTC string default "host-rust" if BR2_PACKAGE_HOST_RUST - default "host-rust-bin" if BR2_PACKAGE_HOST_RUST_BIN - -endif + # Default to host-rust-bin as long as host arch supports it + default "host-rust-bin" if !BR2_PACKAGE_HOST_RUST + depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS diff --git a/bsp/buildroot/package/rustc/rustc.mk b/bsp/buildroot/package/rustc/rustc.mk index bed74f3c..6eea9b4f 100644 --- a/bsp/buildroot/package/rustc/rustc.mk +++ b/bsp/buildroot/package/rustc/rustc.mk @@ -7,7 +7,9 @@ RUSTC_ARCH = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ARCH)) RUSTC_ABI = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ABI)) +ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y) RUSTC_TARGET_NAME = $(RUSTC_ARCH)-unknown-linux-gnu$(RUSTC_ABI) +endif ifeq ($(HOSTARCH),x86) RUSTC_HOST_ARCH = i686 diff --git a/bsp/buildroot/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch b/bsp/buildroot/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch deleted file mode 100644 index 6e1f5287..00000000 --- a/bsp/buildroot/package/rygel/0001-Allow-UI-build-without-gstreamer-video.patch +++ /dev/null @@ -1,37 +0,0 @@ -From f3a49ad1a4ba172e97bd860bc067f7e9ebe69509 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 8 Jan 2018 13:27:42 +0100 -Subject: [PATCH] Allow UI build without gstreamer-video - -If EXAMPLE_UI dependencies are not met, only display a warning. -Indeed, currently, we can't build rygel UI without gstreamer-video which -is only a dependency of fullscreen-renderer application. - -fullscreen-renderer won't be build without gstreamer as HAVE_GSTREAMER -has to be true to check HAVE_UI in examples/Makefile.am - -Signed-off-by: Fabrice Fontaine ---- - configure.ac | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 00b94da..d140a27 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -359,7 +359,11 @@ if test x$try_ui = xyes ; then - [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED - gssdp-1.0 >= $GSSDP_REQUIRED - gstreamer-video-1.0 >= $GSTREAMER_REQUIRED -- gtk+-3.0 >= $GTK_REQUIRED]) -+ gtk+-3.0 >= $GTK_REQUIRED],, -+ [ -+ AC_MSG_WARN([Example UI dependencies not found.]) -+ AC_MSG_WARN([Example UI applications will not be built.]) -+ ]) - ], - [ - AC_MSG_WARN([UI dependencies not found.]) --- -2.7.4 - diff --git a/bsp/buildroot/package/rygel/rygel.hash b/bsp/buildroot/package/rygel/rygel.hash index 028af21b..0d8c95a6 100644 --- a/bsp/buildroot/package/rygel/rygel.hash +++ b/bsp/buildroot/package/rygel/rygel.hash @@ -1,5 +1,5 @@ -# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.36/rygel-0.36.0.sha256sum: -sha256 31e8ade78b4ea59978d1b59056fa5cd8aef6b9c1457d3dd06de4d2e75a01813f rygel-0.36.0.tar.xz +# Hash from: http://ftp.gnome.org/pub/gnome/sources/rygel/0.36/rygel-0.36.2.sha256sum: +sha256 d332c76c76716de1e5085f0ca0c152174352efd652a80e5b94ec7df797f92244 rygel-0.36.2.tar.xz # Locally calculated sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/rygel/rygel.mk b/bsp/buildroot/package/rygel/rygel.mk index cd8897ce..1f917b20 100644 --- a/bsp/buildroot/package/rygel/rygel.mk +++ b/bsp/buildroot/package/rygel/rygel.mk @@ -5,7 +5,7 @@ ################################################################################ RYGEL_VERSION_MAJOR = 0.36 -RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).0 +RYGEL_VERSION = $(RYGEL_VERSION_MAJOR).2 RYGEL_SOURCE = rygel-$(RYGEL_VERSION).tar.xz RYGEL_SITE = http://ftp.gnome.org/pub/gnome/sources/rygel/$(RYGEL_VERSION_MAJOR) RYGEL_LICENSE = LGPL-2.1+, CC-BY-SA-3.0 (logo) diff --git a/bsp/buildroot/package/s6-linux-init/s6-linux-init.hash b/bsp/buildroot/package/s6-linux-init/s6-linux-init.hash index 03aeaf3a..8f3c7fa2 100644 --- a/bsp/buildroot/package/s6-linux-init/s6-linux-init.hash +++ b/bsp/buildroot/package/s6-linux-init/s6-linux-init.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 9ee2e8a5abc250bcb2be7d07566592ba5cbe3abce858f60853d3ac45b1ccdd79 s6-linux-init-0.3.1.1.tar.gz -sha256 43cdbc05eceb0781d71a0661bbb6b9335efc4b733fbd02847c0c6667fd440993 COPYING +sha256 d4ac9b8bde3e678353c85dad1a2a25066a40f843c53840c4210839068635ed7e s6-linux-init-0.4.0.0.tar.gz +sha256 1377d3b18a31de11e8bb06f0f46888a23bc16cbc57285035793bf7e7943bbcb3 COPYING diff --git a/bsp/buildroot/package/s6-linux-init/s6-linux-init.mk b/bsp/buildroot/package/s6-linux-init/s6-linux-init.mk index c5dee028..d25504ae 100644 --- a/bsp/buildroot/package/s6-linux-init/s6-linux-init.mk +++ b/bsp/buildroot/package/s6-linux-init/s6-linux-init.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_LINUX_INIT_VERSION = 0.3.1.1 +S6_LINUX_INIT_VERSION = 0.4.0.0 S6_LINUX_INIT_SITE = http://skarnet.org/software/s6-linux-init S6_LINUX_INIT_LICENSE = ISC S6_LINUX_INIT_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.hash b/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.hash index 34fc5ea9..20af7328 100644 --- a/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.hash +++ b/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 9562ef293c916c4448d16fcbbc065eb28fd995ac34cd3538179cbc3ee056ab93 s6-linux-utils-2.4.0.1.tar.gz -sha256 6ee77e7199d69b707ab864ea7a838f9562717aaa41c89413bdb2cf835f95052f COPYING +sha256 78571574464c76fc623ef50dc14800138b4fd98c5fa877af6850fdd9c2f90213 s6-linux-utils-2.5.0.0.tar.gz +sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.mk b/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.mk index 3f174570..619f4c37 100644 --- a/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.mk +++ b/bsp/buildroot/package/s6-linux-utils/s6-linux-utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_LINUX_UTILS_VERSION = 2.4.0.1 +S6_LINUX_UTILS_VERSION = 2.5.0.0 S6_LINUX_UTILS_SITE = http://skarnet.org/software/s6-linux-utils S6_LINUX_UTILS_LICENSE = ISC S6_LINUX_UTILS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/s6-networking/s6-networking.mk b/bsp/buildroot/package/s6-networking/s6-networking.mk index 7c9f0870..b621eb22 100644 --- a/bsp/buildroot/package/s6-networking/s6-networking.mk +++ b/bsp/buildroot/package/s6-networking/s6-networking.mk @@ -25,7 +25,7 @@ S6_NETWORKING_CONF_OPTS = \ ifeq ($(BR2_PACKAGE_LIBRESSL),y) S6_NETWORKING_CONF_OPTS += --enable-ssl=libressl -S6_NETWORKING_DEPENDENCIES = libressl +S6_NETWORKING_DEPENDENCIES += libressl endif define S6_NETWORKING_CONFIGURE_CMDS diff --git a/bsp/buildroot/package/s6-rc/s6-rc.hash b/bsp/buildroot/package/s6-rc/s6-rc.hash index 76ab69df..e8bb7ae3 100644 --- a/bsp/buildroot/package/s6-rc/s6-rc.hash +++ b/bsp/buildroot/package/s6-rc/s6-rc.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 96b8e7f275d42113b9ba7ef1d8856f64183b9421c39702f8332e6f5686496fba s6-rc-0.4.0.0.tar.gz +sha256 4b4b6205e31e85be583a165a994552d0f30ebcdabbdd919f9f469815d7679e5c s6-rc-0.4.0.1.tar.gz sha256 1377d3b18a31de11e8bb06f0f46888a23bc16cbc57285035793bf7e7943bbcb3 COPYING diff --git a/bsp/buildroot/package/s6-rc/s6-rc.mk b/bsp/buildroot/package/s6-rc/s6-rc.mk index 396adaea..222ba139 100644 --- a/bsp/buildroot/package/s6-rc/s6-rc.mk +++ b/bsp/buildroot/package/s6-rc/s6-rc.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_RC_VERSION = 0.4.0.0 +S6_RC_VERSION = 0.4.0.1 S6_RC_SITE = http://skarnet.org/software/s6-rc S6_RC_LICENSE = ISC S6_RC_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/s6/s6.hash b/bsp/buildroot/package/s6/s6.hash index 4a20e0f9..12791a97 100644 --- a/bsp/buildroot/package/s6/s6.hash +++ b/bsp/buildroot/package/s6/s6.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 6617cbf82c73273c67c6102a1a5c48449ef65ffbe8d0db6a587b7f0078dc6e13 s6-2.7.0.0.tar.gz +sha256 f37547f2890eb50bcb4cd46ffa38bad5ec9e6fd6bc7b73a8df0bdf0cf11f01a9 s6-2.7.1.1.tar.gz sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/bsp/buildroot/package/s6/s6.mk b/bsp/buildroot/package/s6/s6.mk index 5556bfff..83945b08 100644 --- a/bsp/buildroot/package/s6/s6.mk +++ b/bsp/buildroot/package/s6/s6.mk @@ -4,7 +4,7 @@ # ################################################################################ -S6_VERSION = 2.7.0.0 +S6_VERSION = 2.7.1.1 S6_SITE = http://skarnet.org/software/s6 S6_LICENSE = ISC S6_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/safeclib/0001-Add-disable-doc-option.patch b/bsp/buildroot/package/safeclib/0001-Add-disable-doc-option.patch new file mode 100644 index 00000000..5d71173f --- /dev/null +++ b/bsp/buildroot/package/safeclib/0001-Add-disable-doc-option.patch @@ -0,0 +1,59 @@ +From 0d56b6327f6b652511c3e4c72382f4dc4d194e10 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 15 Mar 2018 20:12:28 +0100 +Subject: [PATCH] Add --disable-doc option + +This option allows the user to disable man pages even if pod2man and +doxygen programs are found + +Signed-off-by: Fabrice Fontaine +Upstream-status: Accepted (https://github.com/rurban/safeclib/commit/86404f0e2a7f2a9cad9c916b643594d4d07721d1) +--- + Makefile.am | 2 ++ + configure.ac | 10 ++++++++++ + 2 files changed, 12 insertions(+) + +diff --git a/Makefile.am b/Makefile.am +index 0f65c5c1..ce1424bb 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -104,6 +104,7 @@ LIBTOOL_DISTCLEAN_FILES = \ + build-tools/test-driver + DISTCLEANFILES = .version + ++if ENABLE_DOC + MAN1_SOURCES = doc/man/man1/check_for_unsafe_apis.1 + dist_man_MANS = + if HAVE_POD2MAN +@@ -560,6 +561,7 @@ clean-local: + rm -rf $(builddir)/doc/html + rm -rf $(builddir)/doc/man + endif ++endif + + if ENABLE_GCOV + gcov: check +diff --git a/configure.ac b/configure.ac +index 0e4e5eea..33ed7326 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -339,6 +339,16 @@ else + AC_MSG_RESULT([no (default)]) + fi + ++AC_ARG_ENABLE(doc, ++ AS_HELP_STRING([--disable-doc], ++ [disable documentation @<:@default=no@:>@]), ++ [case "${enableval}" in ++ yes) enable_doc=true ;; ++ no) enable_doc=false ;; ++ *) AC_MSG_ERROR([bad value ${enableval} for --enable-doc]) ;; ++ esac], [enable_doc=true]) ++AM_CONDITIONAL(ENABLE_DOC, test "x$enable_doc" = "xtrue") ++ + dnl for windows dllimport. checking pic_flag DLL_EXPORT would be better, + dnl but this is only enabled for the shared objs, and we need it in the config + dnl for our tests. +-- +2.14.1 + diff --git a/bsp/buildroot/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch b/bsp/buildroot/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch deleted file mode 100644 index c34002d2..00000000 --- a/bsp/buildroot/package/safeclib/0001-Fix-install-when-HAVE_WCHAR-is-unset.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 5991f0d4b86c02a3d7739509b96815ccfa734be7 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Mon, 18 Dec 2017 17:17:54 +0100 -Subject: [PATCH] Fix install when HAVE_WCHAR is unset - -Don't build WCSNORM_xxx man pages if HAVE_WHCAR is not set otherwise -installation will fail as the wcsnorm_mode enum is not defined in -safe_str_lib.h when SAFECLIB_DISABLE_WCHAR is set - -Signed-off-by: Fabrice Fontaine ---- - Makefile.am | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 31398d1..b7e65a5 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -142,12 +142,6 @@ dist_man_MANS += \ - doc/man/man3/SAFE_STR_PASSWORD_MIN_LENGTH.3 \ - doc/man/man3/STRTOK_DELIM_MAX_LEN.3 \ - doc/man/man3/TMP_MAX_S.3 \ -- doc/man/man3/WCSNORM_FCC.3 \ -- doc/man/man3/WCSNORM_FCD.3 \ -- doc/man/man3/WCSNORM_NFC.3 \ -- doc/man/man3/WCSNORM_NFD.3 \ -- doc/man/man3/WCSNORM_NFKC.3 \ -- doc/man/man3/WCSNORM_NFKD.3 \ - doc/man/man3/abort_handler_s.3 \ - doc/man/man3/abort_handler_s.c.3 \ - doc/man/man3/asctime_s.3 \ -@@ -461,6 +455,15 @@ dist_man_MANS += \ - doc/man/man3/wprintf_s.c.3 \ - doc/man/man3/wscanf_s.3 \ - doc/man/man3/wscanf_s.c.3 -+if ENABLE_WCHAR -+dist_man_MANS += \ -+ doc/man/man3/WCSNORM_FCC.3 \ -+ doc/man/man3/WCSNORM_FCD.3 \ -+ doc/man/man3/WCSNORM_NFC.3 \ -+ doc/man/man3/WCSNORM_NFD.3 \ -+ doc/man/man3/WCSNORM_NFKC.3 \ -+ doc/man/man3/WCSNORM_NFKD.3 -+endif - CLEANFILES += Doxyfile doc/footer README.md - - # avoid parallel doxygen --- -2.7.4 - diff --git a/bsp/buildroot/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch b/bsp/buildroot/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch new file mode 100644 index 00000000..f4f4eaab --- /dev/null +++ b/bsp/buildroot/package/safeclib/0002-add-pic_flag-to-RETPOLINE-cflags-and-ldflags.patch @@ -0,0 +1,62 @@ +From 23ae79fe84a3fa5d995b8c6b9be70587e37a6cd8 Mon Sep 17 00:00:00 2001 +From: Reini Urban +Date: Mon, 26 Mar 2018 18:31:30 +0200 +Subject: [PATCH] add pic_flag to RETPOLINE cflags and ldflags + +This fixes the linke probe, and fixes #55. +Also: libtool is stripping pic_flags from the shared link cmd. + +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/rurban/safeclib/commit/23ae79fe84a3fa5d995b8c6b9be70587e37a6cd8] +--- + configure.ac | 2 +- + m4/ax_compiler_flags_cflags.m4 | 4 ++-- + m4/ax_compiler_flags_ldflags.m4 | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 33ed7326..10325dc6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4,7 +4,7 @@ + # 2017 Reini Urban + # + # Copyright (c) 2012, 2013 Cisco Systems +-# Copyright (c) 2017 Reini Urban ++# Copyright (c) 2017, 2018 Reini Urban + # All rights reserved. + # + # Permission is hereby granted, free of charge, to any person +diff --git a/m4/ax_compiler_flags_cflags.m4 b/m4/ax_compiler_flags_cflags.m4 +index 31e3ba8c..1dec00b2 100644 +--- a/m4/ax_compiler_flags_cflags.m4 ++++ b/m4/ax_compiler_flags_cflags.m4 +@@ -66,12 +66,12 @@ AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[ + ]) + + # retpoline: clang-7. Note: requires lld-7 linker support +- AX_APPEND_COMPILE_FLAGS(["-mretpoline -DRETPOLINE"], ++ AX_APPEND_COMPILE_FLAGS(["-mretpoline -DRETPOLINE $lt_prog_compiler_pic"], + [RETPOLINE_CFLAGS],[$ax_compiler_flags_test]) + # or the equivalent gcc-7.3 variant + if test -z "$RETPOLINE_CFLAGS"; then + AX_APPEND_COMPILE_FLAGS( +- ["-mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-register -DRETPOLINE"], ++ ["-mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-register $lt_prog_compiler_pic -DRETPOLINE"], + [RETPOLINE_CFLAGS],[$ax_compiler_flags_test]) + fi + +diff --git a/m4/ax_compiler_flags_ldflags.m4 b/m4/ax_compiler_flags_ldflags.m4 +index d0287852..193f412e 100644 +--- a/m4/ax_compiler_flags_ldflags.m4 ++++ b/m4/ax_compiler_flags_ldflags.m4 +@@ -66,7 +66,7 @@ AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[ + dnl /usr/bin/ld: warning: -z retpolineplt ignored. + case $RETPOLINE_CFLAGS in + *-mretpoline*|*-mindirect-branch=thunk-extern*) +- AX_APPEND_LINK_FLAGS([-Wl,-z,retpolineplt], ++ AX_APPEND_LINK_FLAGS(["$RETPOLINE_CFLAGS -Wl,-z,retpolineplt"], + [RETPOLINE_LDFLAGS],[$ax_compiler_flags_test]) + if test -n "$RETPOLINE_LDFLAGS"; then + AM_CFLAGS="$AM_CFLAGS $RETPOLINE_CFLAGS" diff --git a/bsp/buildroot/package/safeclib/safeclib.hash b/bsp/buildroot/package/safeclib/safeclib.hash index 95a862ee..2a6fe86a 100644 --- a/bsp/buildroot/package/safeclib/safeclib.hash +++ b/bsp/buildroot/package/safeclib/safeclib.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9c09c6e9fc95207c7d45944f8b669f2454056bef2bbaef70c94ba3f81be1cbb2 safeclib-v09102017.tar.gz +sha256 51f66832853322a4fbe677e196ab4c68317261829edb5e56725ed96a07ea50e6 safeclib-v03032018.tar.gz sha256 c33e77efd5781e3d59a2bb648c82d2a615035ef0d24cf58880380e3af906510b COPYING diff --git a/bsp/buildroot/package/safeclib/safeclib.mk b/bsp/buildroot/package/safeclib/safeclib.mk index b1aa2599..e4aaa3ff 100644 --- a/bsp/buildroot/package/safeclib/safeclib.mk +++ b/bsp/buildroot/package/safeclib/safeclib.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAFECLIB_VERSION = v09102017 +SAFECLIB_VERSION = v03032018 SAFECLIB_SITE = $(call github,rurban,safeclib,$(SAFECLIB_VERSION)) SAFECLIB_LICENSE = MIT SAFECLIB_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/sam-ba/sam-ba.hash b/bsp/buildroot/package/sam-ba/sam-ba.hash index 61feb32d..ae1fb5ee 100644 --- a/bsp/buildroot/package/sam-ba/sam-ba.hash +++ b/bsp/buildroot/package/sam-ba/sam-ba.hash @@ -1,2 +1,5 @@ -# Locally calculated -sha256 302734f53e471b5d1a292c9af937262f4fd766ec47ebfea62439761e7c1cd9d7 sam-ba_2.16_linux.zip +# sha256 locally computed +sha256 40d5e66b77261d83780fe2b38633b8d9f5c9a26718c2b9de1d5877e853e35e96 sam-ba_cdc_linux.zip +sha256 f9cac240acadbfd8f4f1c0d65132f85427384697bd6337da6444c531138d56ee doc/license.txt +sha256 255564ff8953ea95c11a4ab1d56f1edf332298faad209ca80daf745c7ed95124 tcl_lib/boards.tcl +sha256 74ae62858139cb4e18acc3448483be80ea6b36fdb87260b665f43762ca354ede applets/sam4c/libraries/libchip_sam4c/include/sam4c/sam4c32e-1.h diff --git a/bsp/buildroot/package/sam-ba/sam-ba.mk b/bsp/buildroot/package/sam-ba/sam-ba.mk index a7941459..49505589 100644 --- a/bsp/buildroot/package/sam-ba/sam-ba.mk +++ b/bsp/buildroot/package/sam-ba/sam-ba.mk @@ -4,16 +4,16 @@ # ################################################################################ -SAM_BA_SITE = http://www.atmel.com/dyn/resources/prod_documents -SAM_BA_VERSION = 2.16 -SAM_BA_SOURCE = sam-ba_$(SAM_BA_VERSION)_linux.zip +SAM_BA_SITE = http://ww1.microchip.com/downloads/en/DeviceDoc +SAM_BA_VERSION = 2.18 +SAM_BA_SOURCE = sam-ba_cdc_linux.zip SAM_BA_LICENSE = SAM-BA license (sam-ba executable), \ BSD-2-Clause like, BSD-4-Clause (TCL and applets code) SAM_BA_LICENSE_FILES = doc/license.txt tcl_lib/boards.tcl \ applets/sam4c/libraries/libchip_sam4c/include/sam4c/sam4c32e-1.h define HOST_SAM_BA_EXTRACT_CMDS - $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(SAM_BA_SOURCE) + $(UNZIP) -d $(BUILD_DIR) $(HOST_SAM_BA_DL_DIR)/$(SAM_BA_SOURCE) mv $(BUILD_DIR)/sam-ba_cdc_linux/* $(@D) rmdir $(BUILD_DIR)/sam-ba_cdc_linux/ endef @@ -32,6 +32,7 @@ endif define HOST_SAM_BA_INSTALL_CMDS mkdir -p $(HOST_DIR)/opt/sam-ba/ cp -a $(@D)/* $(HOST_DIR)/opt/sam-ba/ + mkdir -p $(HOST_DIR)/bin/ ln -sf ../opt/sam-ba/$(SAM_BA_BIN_NAME) $(HOST_DIR)/bin/sam-ba endef diff --git a/bsp/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch b/bsp/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch index 4794cb02..ae46c447 100644 --- a/bsp/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch +++ b/bsp/buildroot/package/samba4/0001-libreplace-disable-libbsd-support.patch @@ -9,17 +9,17 @@ This causes redefinition conflicts for link(2) when both standard unistd.h and bsd/unistd.h get included. Signed-off-by: Gustavo Zacarias -(rebased for versions 4.7.3 & 4.8.0) +[Bernd: rebased for versions 4.7.3, 4.8.0 & 4.8.5] Signed-off-by: Bernd Kuhls --- - lib/replace/wscript | 12 ------------ - 1 file changed, 12 deletions(-) + lib/replace/wscript | 15 --------------- + 1 file changed, 15 deletions(-) diff --git a/lib/replace/wscript b/lib/replace/wscript -index 1dfd902..456be9b 100644 +index 6c7de5953f0..ac230d719f7 100644 --- a/lib/replace/wscript +++ b/lib/replace/wscript -@@ -296,21 +296,6 @@ +@@ -304,21 +304,6 @@ def configure(conf): strlcpy_in_bsd = False @@ -42,5 +42,5 @@ index 1dfd902..456be9b 100644 struct ucred cred; socklen_t cred_len; -- -2.7.3 +2.18.0 diff --git a/bsp/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch b/bsp/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch index 0f174d53..c1418bd8 100644 --- a/bsp/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch +++ b/bsp/buildroot/package/samba4/0003-Fix-uClibc-build-on-64bit-platforms-by-including-std.patch @@ -1,4 +1,4 @@ -From 3d91847322eba55e97adc76c5c95570382af7059 Mon Sep 17 00:00:00 2001 +From 5627ea3826a00c149ff3d49c40706217043a014d Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 28 Jan 2018 11:57:11 +0100 Subject: [PATCH] Fix uClibc build on 64bit platforms by including stdint.h @@ -21,18 +21,36 @@ Patch sent upstream: https://lists.samba.org/archive/samba-technical/2018-January/125306.html [updated for samba-4.8.4, v2 sent upstream - https://lists.samba.org/archive/samba-technical/2018-August/129732.html] + https://lists.samba.org/archive/samba-technical/2018-August/129732.html, + updated for samba-4.9.1] Signed-off-by: Bernd Kuhls --- + lib/ldb/tests/ldb_kv_ops_test.c | 1 + lib/ldb/tests/ldb_mod_op_test.c | 1 + lib/ldb/tests/ldb_msg.c | 1 + + lib/ldb/tests/ldb_tdb_test.c | 1 + + lib/ldb/tests/test_ldb_qsort.c | 1 + + lib/util/tests/test_ms_fnmatch.c | 1 + libcli/auth/tests/ntlm_check.c | 1 + libcli/smb/test_smb1cli_session.c | 1 + - 4 files changed, 4 insertions(+) + source3/lib/test_tldap.c | 1 + + 9 files changed, 9 insertions(+) +diff --git a/lib/ldb/tests/ldb_kv_ops_test.c b/lib/ldb/tests/ldb_kv_ops_test.c +index 30ce019fac8..3ac7763b307 100644 +--- a/lib/ldb/tests/ldb_kv_ops_test.c ++++ b/lib/ldb/tests/ldb_kv_ops_test.c +@@ -46,6 +46,7 @@ + */ + #include + #include ++#include + #include + #include + diff --git a/lib/ldb/tests/ldb_mod_op_test.c b/lib/ldb/tests/ldb_mod_op_test.c -index c8b9c1aa9ff..4893dc3b38b 100644 +index 01667af3865..a1a20d38f28 100644 --- a/lib/ldb/tests/ldb_mod_op_test.c +++ b/lib/ldb/tests/ldb_mod_op_test.c @@ -13,6 +13,7 @@ @@ -55,6 +73,42 @@ index f8de418e0dc..31786a9a318 100644 #include #include +diff --git a/lib/ldb/tests/ldb_tdb_test.c b/lib/ldb/tests/ldb_tdb_test.c +index 686a35104ea..2e312e60a3c 100644 +--- a/lib/ldb/tests/ldb_tdb_test.c ++++ b/lib/ldb/tests/ldb_tdb_test.c +@@ -40,6 +40,7 @@ + */ + #include + #include ++#include + #include + #include + +diff --git a/lib/ldb/tests/test_ldb_qsort.c b/lib/ldb/tests/test_ldb_qsort.c +index 06e80d94379..663cf0e7564 100644 +--- a/lib/ldb/tests/test_ldb_qsort.c ++++ b/lib/ldb/tests/test_ldb_qsort.c +@@ -19,6 +19,7 @@ + + #include + #include ++#include + #include + #include + +diff --git a/lib/util/tests/test_ms_fnmatch.c b/lib/util/tests/test_ms_fnmatch.c +index 7fe8ed05e28..d11c7bed4be 100644 +--- a/lib/util/tests/test_ms_fnmatch.c ++++ b/lib/util/tests/test_ms_fnmatch.c +@@ -19,6 +19,7 @@ + + #include + #include ++#include + #include + #include + diff --git a/libcli/auth/tests/ntlm_check.c b/libcli/auth/tests/ntlm_check.c index e87a0a276d4..65c7b086008 100644 --- a/libcli/auth/tests/ntlm_check.c @@ -78,6 +132,18 @@ index d1e21d5431e..6a526c96b61 100644 #include #include +diff --git a/source3/lib/test_tldap.c b/source3/lib/test_tldap.c +index a6c2f2117cb..659c5a7371a 100644 +--- a/source3/lib/test_tldap.c ++++ b/source3/lib/test_tldap.c +@@ -20,6 +20,7 @@ + + #include + #include ++#include + #include + #include + -- -2.18.0 +2.19.0 diff --git a/bsp/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch b/bsp/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch index 41a06801..ad871263 100644 --- a/bsp/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch +++ b/bsp/buildroot/package/samba4/0004-Disable-build-of-manpages-and-documentation.patch @@ -19,12 +19,13 @@ the build of manpages and documentation. Patch was downloaded from https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/network/samba/patches/samba-950-no-man.patch +[Bernd: rebased for samba-4.8.5] Signed-off-by: Bernd Kuhls --- - buildtools/wafsamba/wafsamba.py | 10 +++++----- - docs-xml/wscript_build | 34 +++++++++++++++++----------------- + buildtools/wafsamba/wafsamba.py | 10 ++++----- + docs-xml/wscript_build | 40 ++++++++++++++++----------------- source4/scripting/wscript_build | 4 ++-- - 3 files changed, 24 insertions(+), 24 deletions(-) + 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 4bb19d070e2..a255d841111 100644 @@ -55,10 +56,10 @@ index 4bb19d070e2..a255d841111 100644 Build.BuildContext.SAMBA_BINARY = SAMBA_BINARY diff --git a/docs-xml/wscript_build b/docs-xml/wscript_build -index 954c62a29bc..1169158fd57 100644 +index ec5d28fc62a..f81c125bcd4 100644 --- a/docs-xml/wscript_build +++ b/docs-xml/wscript_build -@@ -147,20 +147,20 @@ bld.SAMBA_GENERATOR(parameter_all, +@@ -148,23 +148,23 @@ bld.SAMBA_GENERATOR(parameter_all, rule=smbdotconf_generate_parameter_list, dep_vars=bld.dynconfig_varnames()) @@ -77,6 +78,9 @@ index 954c62a29bc..1169158fd57 100644 - if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'): - bld.SAMBAMANPAGES(krb5_locator_manpages) - +- if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'): +- bld.SAMBAMANPAGES(krb5_localauth_manpages) +- - if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'): - bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8') +#def SMBDOTCONF_MANPAGE(bld, target): @@ -94,6 +98,9 @@ index 954c62a29bc..1169158fd57 100644 +# if bld.CONFIG_SET('HAVE_KRB5_LOCATE_PLUGIN_H'): +# bld.SAMBAMANPAGES(krb5_locator_manpages) +# ++# if bld.CONFIG_SET('HAVE_KRB5_LOCALAUTH_PLUGIN_H'): ++# bld.SAMBAMANPAGES(krb5_localauth_manpages) ++# +# if bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'): +# bld.SAMBAMANPAGES('manpages/vfs_zfsacl.8') diff --git a/source4/scripting/wscript_build b/source4/scripting/wscript_build @@ -112,5 +119,5 @@ index 2f53cce12b7..9841ae0a116 100644 if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'): bld.INSTALL_FILES('${BINDIR}', -- -2.14.4 +2.18.0 diff --git a/bsp/buildroot/package/samba4/Config.in b/bsp/buildroot/package/samba4/Config.in index 298fdc66..4ccd22aa 100644 --- a/bsp/buildroot/package/samba4/Config.in +++ b/bsp/buildroot/package/samba4/Config.in @@ -30,6 +30,7 @@ if BR2_PACKAGE_SAMBA4 config BR2_PACKAGE_SAMBA4_AD_DC bool "AD DC" select BR2_PACKAGE_GNUTLS + select BR2_PACKAGE_JANSSON help Enable Active Directory Domain Controller functionality. diff --git a/bsp/buildroot/package/samba4/samba4-cache.txt b/bsp/buildroot/package/samba4/samba4-cache.txt index 0485f0db..e3a3720f 100644 --- a/bsp/buildroot/package/samba4/samba4-cache.txt +++ b/bsp/buildroot/package/samba4/samba4-cache.txt @@ -39,3 +39,4 @@ Checking value of SIGRTMAX: "64" Checking value of SIGRTMIN: "34" Checking errno of iconv for illegal multibyte sequence: "0" checking for clnt_create(): OK +Checking for a 64-bit host to support lmdb: NO diff --git a/bsp/buildroot/package/samba4/samba4.hash b/bsp/buildroot/package/samba4/samba4.hash index 00c84660..de349c30 100644 --- a/bsp/buildroot/package/samba4/samba4.hash +++ b/bsp/buildroot/package/samba4/samba4.hash @@ -1,4 +1,4 @@ # Locally calculated after checking pgp signature -# https://download.samba.org/pub/samba/stable/samba-4.8.4.tar.asc -sha256 f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406 samba-4.8.4.tar.gz +# https://download.samba.org/pub/samba/stable/samba-4.9.4.tar.asc +sha256 6d98a8d8bcccbe788e4bbb406362e6676311aca711a3f3cc9b3a404bb9ff0b4f samba-4.9.4.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/samba4/samba4.mk b/bsp/buildroot/package/samba4/samba4.mk index 83a02d54..9f771cf8 100644 --- a/bsp/buildroot/package/samba4/samba4.mk +++ b/bsp/buildroot/package/samba4/samba4.mk @@ -4,7 +4,7 @@ # ################################################################################ -SAMBA4_VERSION = 4.8.4 +SAMBA4_VERSION = 4.9.4 SAMBA4_SITE = https://download.samba.org/pub/samba/stable SAMBA4_SOURCE = samba-$(SAMBA4_VERSION).tar.gz SAMBA4_INSTALL_STAGING = YES @@ -69,6 +69,13 @@ else SAMBA4_CONF_OPTS += --disable-gnutls endif +ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) +SAMBA4_CONF_OPTS += --with-libarchive +SAMBA4_DEPENDENCIES += libarchive +else +SAMBA4_CONF_OPTS += --without-libarchive +endif + ifeq ($(BR2_PACKAGE_NCURSES),y) SAMBA4_CONF_ENV += NCURSES_CONFIG="$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)" SAMBA4_DEPENDENCIES += ncurses @@ -108,6 +115,8 @@ define SAMBA4_CONFIGURE_CMDS --disable-iprint \ --without-pam \ --without-dmapi \ + --without-gpgme \ + --without-ldb-lmdb \ --disable-glusterfs \ --with-cluster-support \ --bundled-libraries='!asn1_compile,!compile_et' \ @@ -127,8 +136,10 @@ define SAMBA4_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install endef -ifeq ($(BR2_PACKAGE_SAMBA4_AD_DC),) -SAMBA4_CONF_OPTS += --without-ad-dc +ifeq ($(BR2_PACKAGE_SAMBA4_AD_DC),y) +SAMBA4_DEPENDENCIES += jansson +else +SAMBA4_CONF_OPTS += --without-ad-dc --without-json-audit endif ifeq ($(BR2_PACKAGE_SAMBA4_ADS),y) diff --git a/bsp/buildroot/package/sconeserver/Config.in b/bsp/buildroot/package/sconeserver/Config.in index 7027bd9a..e984801d 100644 --- a/bsp/buildroot/package/sconeserver/Config.in +++ b/bsp/buildroot/package/sconeserver/Config.in @@ -4,6 +4,7 @@ menuconfig BR2_PACKAGE_SCONESERVER depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on !BR2_STATIC_LIBS # dlopen() select BR2_PACKAGE_PCRE + select BR2_PACKAGE_ZLIB help Sconeserver is a modular, object-orientated and extremely versatile network server framework for GNU/Linux and diff --git a/bsp/buildroot/package/sconeserver/sconeserver.hash b/bsp/buildroot/package/sconeserver/sconeserver.hash index 978b442f..e1ff4486 100644 --- a/bsp/buildroot/package/sconeserver/sconeserver.hash +++ b/bsp/buildroot/package/sconeserver/sconeserver.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 38e72b962eb42bea8f0deb6f101833f8f2f2fa8c53f0dc03f3eb5d56873517c8 sconeserver-d659468cd164e6a6cc12932cc6780566b04f8328.tar.gz +sha256 dfdbbcd29c089eeb341dd3bbd434cca97fefaa97f94c91525e5953d3ab0a2d9a sconeserver-6b932d7d8dbb700b830205e7111e469cefff490c.tar.gz +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/sconeserver/sconeserver.mk b/bsp/buildroot/package/sconeserver/sconeserver.mk index cf7bcbcb..c160c8bf 100644 --- a/bsp/buildroot/package/sconeserver/sconeserver.mk +++ b/bsp/buildroot/package/sconeserver/sconeserver.mk @@ -4,13 +4,13 @@ # ################################################################################ -SCONESERVER_VERSION = d659468cd164e6a6cc12932cc6780566b04f8328 +SCONESERVER_VERSION = 6b932d7d8dbb700b830205e7111e469cefff490c SCONESERVER_SITE = $(call github,sconemad,sconeserver,$(SCONESERVER_VERSION)) SCONESERVER_LICENSE = GPL-2.0+ SCONESERVER_LICENSE_FILES = COPYING # fetching from Git, we need to generate the configure script SCONESERVER_AUTORECONF = YES -SCONESERVER_DEPENDENCIES = host-pkgconf pcre +SCONESERVER_DEPENDENCIES = host-pkgconf pcre zlib # disable markdown module because its git submodule cmark # https://github.com/sconemad/sconeserver/tree/master/markdown # has no cross-compile support provided by the sconeserver build system diff --git a/bsp/buildroot/package/screen/screen.mk b/bsp/buildroot/package/screen/screen.mk index 8d67c04b..37d43366 100644 --- a/bsp/buildroot/package/screen/screen.mk +++ b/bsp/buildroot/package/screen/screen.mk @@ -17,7 +17,14 @@ SCREEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SCREEN=screen install_bin define SCREEN_INSTALL_SCREENRC $(INSTALL) -m 0755 -D $(@D)/etc/screenrc $(TARGET_DIR)/etc/screenrc endef - SCREEN_POST_INSTALL_TARGET_HOOKS += SCREEN_INSTALL_SCREENRC +# Add /usr/bin/screen to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define SCREEN_ADD_SCREEN_TO_SHELLS + grep -qsE '^/usr/bin/screen$$' $(TARGET_DIR)/etc/shells \ + || echo "/usr/bin/screen" >> $(TARGET_DIR)/etc/shells +endef +SCREEN_TARGET_FINALIZE_HOOKS += SCREEN_ADD_SCREEN_TO_SHELLS + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/sdl/Config.in b/bsp/buildroot/package/sdl/Config.in index 65ac8a24..9f1e34de 100644 --- a/bsp/buildroot/package/sdl/Config.in +++ b/bsp/buildroot/package/sdl/Config.in @@ -17,10 +17,6 @@ config BR2_PACKAGE_SDL_DIRECTFB bool "SDL DirectFB video driver" depends on BR2_PACKAGE_DIRECTFB -config BR2_PACKAGE_SDL_QTOPIA - bool "SDL Qtopia video driver" - depends on BR2_PACKAGE_QT - config BR2_PACKAGE_SDL_X11 bool "SDL X11 video driver" depends on BR2_PACKAGE_XORG7 diff --git a/bsp/buildroot/package/sdl/sdl.mk b/bsp/buildroot/package/sdl/sdl.mk index 0a6a7de1..06564d61 100644 --- a/bsp/buildroot/package/sdl/sdl.mk +++ b/bsp/buildroot/package/sdl/sdl.mk @@ -23,6 +23,8 @@ HOST_SDL_PRE_CONFIGURE_HOOKS += SDL_RUN_AUTOGEN SDL_DEPENDENCIES += host-automake host-autoconf host-libtool HOST_SDL_DEPENDENCIES += host-automake host-autoconf host-libtool +SDL_CONF_OPTS += --enable-video-qtopia=no + ifeq ($(BR2_PACKAGE_SDL_FBCON),y) SDL_CONF_OPTS += --enable-video-fbcon=yes else @@ -37,13 +39,6 @@ else SDL_CONF_OPTS += --enable-video-directfb=no endif -ifeq ($(BR2_PACKAGE_SDL_QTOPIA),y) -SDL_CONF_OPTS += --enable-video-qtopia=yes -SDL_DEPENDENCIES += qt -else -SDL_CONF_OPTS += --enable-video-qtopia=no -endif - ifeq ($(BR2_PACKAGE_SDL_X11),y) SDL_CONF_OPTS += --enable-video-x11=yes SDL_DEPENDENCIES += \ diff --git a/bsp/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch b/bsp/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch deleted file mode 100644 index 53926c03..00000000 --- a/bsp/buildroot/package/sdl2/0001-Fixed-the-DirectFB-renderer-not-being-enabled-in-aut.patch +++ /dev/null @@ -1,42 +0,0 @@ -From a0acea5bcce3f47badbfeeab7bc2e36eba08fd84 Mon Sep 17 00:00:00 2001 -From: Sam Lantinga -Date: Mon, 27 Aug 2018 11:51:05 -0700 -Subject: [PATCH] Fixed the DirectFB renderer not being enabled in autoconf - builds - -Upstream-url: https://hg.libsdl.org/SDL/raw-rev/751cdc74d55c -Signed-off-by: Peter Korsgaard ---- - configure | 3 +++ - configure.in | 1 + - 2 files changed, 4 insertions(+) - -diff --git a/configure b/configure -index e88b38001..40ac14d21 100755 ---- a/configure -+++ b/configure -@@ -21501,6 +21501,9 @@ fi - - $as_echo "#define SDL_VIDEO_DRIVER_DIRECTFB 1" >>confdefs.h - -+ -+$as_echo "#define SDL_VIDEO_RENDER_DIRECTFB 1" >>confdefs.h -+ - SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" - EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" - -diff --git a/configure.in b/configure.in -index 5bf5d717b..ce1d57ea1 100644 ---- a/configure.in -+++ b/configure.in -@@ -2163,6 +2163,7 @@ AC_HELP_STRING([--enable-directfb-shared], [dynamically load directfb support [[ - , enable_directfb_shared=yes) - - AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB, 1, [ ]) -+ AC_DEFINE(SDL_VIDEO_RENDER_DIRECTFB, 1, [ ]) - SOURCES="$SOURCES $srcdir/src/video/directfb/*.c" - EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS" - --- -2.11.0 - diff --git a/bsp/buildroot/package/sdl2/0001-fix-build-with-disable-threads.patch b/bsp/buildroot/package/sdl2/0001-fix-build-with-disable-threads.patch new file mode 100644 index 00000000..81f7d744 --- /dev/null +++ b/bsp/buildroot/package/sdl2/0001-fix-build-with-disable-threads.patch @@ -0,0 +1,63 @@ +From 26646028f79d7f3d857df9b46cd6d0285796c699 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 21 Nov 2018 22:31:09 +0100 +Subject: [PATCH] fix build with --disable-threads + +SDL_LinuxSetThreadPriority() has been added since version 2.0.9 and +https://github.com/SDL-mirror/SDL/commit/f25a7fa870bdceb339e5105973f689606bcb9086 + +However, this function is used in src/dynapi/SDL_dynapi_procs.h even +when SDL_THREADS_DISABLED + +However, when SDL_THREADS_DISABLED is set, SDL_LinuxSetThreadPriority is +not defined because thread/pthread/SDL_systhread.c is not built + +So check SDL_THREADS_DISABLED in addition to __LINUX__ + +Fixes: + - http://autobuild.buildroot.org/results/539cb9ab6c605dc6be73ebe90debab1a998f2451 + +Signed-off-by: Fabrice Fontaine +--- + include/SDL_system.h | 4 ++-- + src/dynapi/SDL_dynapi_procs.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/include/SDL_system.h b/include/SDL_system.h +index 4dc372d6b..0513d7fa5 100644 +--- a/include/SDL_system.h ++++ b/include/SDL_system.h +@@ -77,7 +77,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_DXGIGetOutputInfo( int displayIndex, int *a + + + /* Platform specific functions for Linux */ +-#ifdef __LINUX__ ++#if defined(__LINUX__) && !defined(SDL_THREADS_DISABLED) + + /** + \brief Sets the UNIX nice value for a thread, using setpriority() if possible, and RealtimeKit if available. +@@ -86,7 +86,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_DXGIGetOutputInfo( int displayIndex, int *a + */ + extern DECLSPEC int SDLCALL SDL_LinuxSetThreadPriority(Sint64 threadID, int priority); + +-#endif /* __LINUX__ */ ++#endif /* defined(__LINUX__) && !defined(SDL_THREADS_DISABLED) */ + + /* Platform specific functions for iOS */ + #if defined(__IPHONEOS__) && __IPHONEOS__ +diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h +index c95cf708b..ee9bf60a6 100644 +--- a/src/dynapi/SDL_dynapi_procs.h ++++ b/src/dynapi/SDL_dynapi_procs.h +@@ -708,7 +708,7 @@ SDL_DYNAPI_PROC(SDL_bool,SDL_IsAndroidTV,(void),(),return) + SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return) + SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return) + SDL_DYNAPI_PROC(char*,SDL_GameControllerMappingForDeviceIndex,(int a),(a),return) +-#ifdef __LINUX__ ++#if defined(__LINUX__) && !defined(SDL_THREADS_DISABLED) + SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return) + #endif + SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return) +-- +2.17.1 + diff --git a/bsp/buildroot/package/sdl2/sdl2.hash b/bsp/buildroot/package/sdl2/sdl2.hash index 997b4a5d..0668883f 100644 --- a/bsp/buildroot/package/sdl2/sdl2.hash +++ b/bsp/buildroot/package/sdl2/sdl2.hash @@ -1,4 +1,4 @@ -# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.8.tar.gz.sig -sha256 edc77c57308661d576e843344d8638e025a7818bff73f8fbfab09c3c5fd092ec SDL2-2.0.8.tar.gz +# Locally calculated after checking http://www.libsdl.org/release/SDL2-2.0.9.tar.gz.sig +sha256 255186dc676ecd0c1dbf10ec8a2cc5d6869b5079d8a38194c2aecdff54b324b1 SDL2-2.0.9.tar.gz # Locally calculated sha256 61e627031e1160bf8b9bdbc9cda27656d422ea8eaab199b64b4a4a4168437154 COPYING.txt diff --git a/bsp/buildroot/package/sdl2/sdl2.mk b/bsp/buildroot/package/sdl2/sdl2.mk index bd71485f..d2fba9d8 100644 --- a/bsp/buildroot/package/sdl2/sdl2.mk +++ b/bsp/buildroot/package/sdl2/sdl2.mk @@ -4,7 +4,7 @@ # ################################################################################ -SDL2_VERSION = 2.0.8 +SDL2_VERSION = 2.0.9 SDL2_SOURCE = SDL2-$(SDL2_VERSION).tar.gz SDL2_SITE = http://www.libsdl.org/release SDL2_LICENSE = Zlib diff --git a/bsp/buildroot/package/sdl2_net/sdl2_net.mk b/bsp/buildroot/package/sdl2_net/sdl2_net.mk index 2fa4a8c2..93bf3a2e 100644 --- a/bsp/buildroot/package/sdl2_net/sdl2_net.mk +++ b/bsp/buildroot/package/sdl2_net/sdl2_net.mk @@ -10,6 +10,6 @@ SDL2_NET_SITE = http://www.libsdl.org/projects/SDL_net/release SDL2_NET_LICENSE = Zlib SDL2_NET_LICENSE_FILES = COPYING.txt SDL2_NET_INSTALL_STAGING = YES -SDL2_NET_DEPENDENCIES = sdl2 +SDL2_NET_DEPENDENCIES = sdl2 host-pkgconf $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/sdl_sound/sdl_sound.mk b/bsp/buildroot/package/sdl_sound/sdl_sound.mk index 2544b598..c6028e79 100644 --- a/bsp/buildroot/package/sdl_sound/sdl_sound.mk +++ b/bsp/buildroot/package/sdl_sound/sdl_sound.mk @@ -11,6 +11,11 @@ SDL_SOUND_LICENSE = LGPL-2.1+ SDL_SOUND_LICENSE_FILES = COPYING SDL_SOUND_INSTALL_STAGING = YES SDL_SOUND_DEPENDENCIES = sdl +SDL_SOUND_CONF_OPTS = \ + --with-sdl-prefix=$(STAGING_DIR)/usr \ + --with-sdl-exec-prefix=$(STAGING_DIR)/usr \ + --disable-sdltest \ + --enable-static ifneq ($(BR2_ENABLE_LOCALE),y) SDL_SOUND_DEPENDENCIES += libiconv @@ -52,12 +57,6 @@ else SDL_SOUND_CONF_OPTS += --disable-physfs endif -SDL_SOUND_CONF_OPTS = \ - --with-sdl-prefix=$(STAGING_DIR)/usr \ - --with-sdl-exec-prefix=$(STAGING_DIR)/usr \ - --disable-sdltest \ - --enable-static - ifeq ($(BR2_X86_CPU_HAS_MMX),y) SDL_SOUND_CONF_OPTS += --enable-mmx else diff --git a/bsp/buildroot/package/sed/sed.hash b/bsp/buildroot/package/sed/sed.hash index 652c5736..cc3bebaf 100644 --- a/bsp/buildroot/package/sed/sed.hash +++ b/bsp/buildroot/package/sed/sed.hash @@ -1,2 +1,6 @@ # Locally calculated after checking pgp signature -sha256 cbd6ebc5aaf080ed60d0162d7f6aeae58211a1ee9ba9bb25623daa6cd942683b sed-4.4.tar.xz +# https://ftp.gnu.org/gnu/sed/sed-4.7.tar.xz.sig +# with the key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE +sha256 2885768cd0a29ff8d58a6280a270ff161f6a3deb5690b2be6c49f46d4c67bd6a sed-4.7.tar.xz +# Locally calculated +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/bsp/buildroot/package/sed/sed.mk b/bsp/buildroot/package/sed/sed.mk index 28df140d..6fee598f 100644 --- a/bsp/buildroot/package/sed/sed.mk +++ b/bsp/buildroot/package/sed/sed.mk @@ -4,7 +4,7 @@ # ################################################################################ -SED_VERSION = 4.4 +SED_VERSION = 4.7 SED_SOURCE = sed-$(SED_VERSION).tar.xz SED_SITE = $(BR2_GNU_MIRROR)/sed SED_LICENSE = GPL-3.0 diff --git a/bsp/buildroot/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch b/bsp/buildroot/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch new file mode 100644 index 00000000..9cf74b67 --- /dev/null +++ b/bsp/buildroot/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch @@ -0,0 +1,37 @@ +From a7a48e1cda997afbfcdd985c594c3ec0516b6279 Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +Date: Tue, 25 Sep 2018 22:49:58 +0200 +Subject: [PATCH] Common/log.h: time(2) needs +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Otherwise the build fails with: + +In file included from ./linux/os.h:28:0, + from Common/DtaOptions.cpp:20: +./Common/log.h: In function ‘std::__cxx11::string NowTime()’: +./Common/log.h:349:12: error: ‘time’ was not declared in this scope + time(&t); + +Upstream-status: https://github.com/Drive-Trust-Alliance/sedutil/pull/250 +Signed-off-by: Peter Korsgaard +--- + Common/log.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Common/log.h b/Common/log.h +index 8c08c40..2b718ad 100644 +--- a/Common/log.h ++++ b/Common/log.h +@@ -341,6 +341,7 @@ inline std::string NowTime() { + + #else + ++#include + #include + + inline std::string NowTime() { +-- +2.11.0 + diff --git a/bsp/buildroot/package/sedutil/Config.in b/bsp/buildroot/package/sedutil/Config.in new file mode 100644 index 00000000..f3452b60 --- /dev/null +++ b/bsp/buildroot/package/sedutil/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS + bool + # no big endian support + default y if BR2_arcle || BR2_arm || BR2_aarch64 || BR2_csky \ + || BR2_i386 || BR2_microblazeel || BR2_mipsel \ + || BR2_mips64el || BR2_nios2 || BR2_powerpc64le \ + || BR2_sh4 || BR2_sh4a || BR2_x86_64 \ + || BR2_XTENSA_LITTLE_ENDIAN + +config BR2_PACKAGE_SEDUTIL + bool "sedutil" + depends on BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # linux/nvme.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS # 4.4.1 headers + depends on BR2_INSTALL_LIBSTDCPP + help + The Drive Trust Alliance Self Encrypting Drive Utility, + allowing configuration the SEDs that comply with the + TCG OPAL 2.00 standard. + + https://github.com/Drive-Trust-Alliance/sedutil + +comment "sedutil needs a toolchain w/ C++, gcc >= 4.8, headers >= 3.12" + depends on BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 diff --git a/bsp/buildroot/package/sedutil/sedutil.hash b/bsp/buildroot/package/sedutil/sedutil.hash new file mode 100644 index 00000000..9db10113 --- /dev/null +++ b/bsp/buildroot/package/sedutil/sedutil.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 9259466b4f73af276153c5245834a56f48f8721ea7263611b5d5e8326bc43d9e sedutil-1.15.1.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 Common/LICENSE.txt diff --git a/bsp/buildroot/package/sedutil/sedutil.mk b/bsp/buildroot/package/sedutil/sedutil.mk new file mode 100644 index 00000000..c80e4344 --- /dev/null +++ b/bsp/buildroot/package/sedutil/sedutil.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# sedutil +# +################################################################################ + +SEDUTIL_VERSION = 1.15.1 +SEDUTIL_SITE = $(call github,Drive-Trust-Alliance,sedutil,$(SEDUTIL_VERSION)) +SEDUTIL_LICENSE = GPL-3.0+ +SEDUTIL_LICENSE_FILES = Common/LICENSE.txt +# Fetched from Github with no configure script +SEDUTIL_AUTORECONF = YES + +# Calls git to figure out version info +define SEDUTIL_SET_VERSION + echo '#define GIT_VERSION "$(SEDUTIL_VERSION)"' > $(@D)/linux/Version.h +endef +SEDUTIL_POST_CONFIGURE_HOOKS += SEDUTIL_SET_VERSION + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch b/bsp/buildroot/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch deleted file mode 100644 index 156701a8..00000000 --- a/bsp/buildroot/package/selinux-python/0001-python-build-follow-standard-semantics-for-DESTD.patch +++ /dev/null @@ -1,117 +0,0 @@ -python: build: follow standard semantics for DESTDIR and PREFIX - -Signed-off-by: Marcus Folkesson - -diff -durN python.orig/audit2allow/Makefile python/audit2allow/Makefile ---- python.orig/audit2allow/Makefile 2017-08-04 15:31:00.000000000 +0200 -+++ python/audit2allow/Makefile 2018-01-17 09:44:35.659573123 +0100 -@@ -1,19 +1,17 @@ - PYTHON ?= python - - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --BINDIR ?= $(PREFIX)/bin --LIBDIR ?= $(PREFIX)/lib --MANDIR ?= $(PREFIX)/share/man --LOCALEDIR ?= /usr/share/locale --INCLUDEDIR ?= $(PREFIX)/include --LIBSEPOLA ?= $(LIBDIR)/libsepol.a -+PREFIX ?= /usr -+BINDIR ?= $(DESTDIR)$(PREFIX)/bin -+LIBDIR ?= $(DESTDIR)$(PREFIX)/lib -+MANDIR ?= $(DESTDIR)$(PREFIX)/share/man - - CFLAGS ?= -Werror -Wall -W - - all: audit2why sepolgen-ifgen-attr-helper - --sepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o $(LIBSEPOLA) -+sepolgen-ifgen-attr-helper: sepolgen-ifgen-attr-helper.o -+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ -l:libsepol.a - - audit2why: - ln -sf audit2allow audit2why -diff -durN python.orig/chcat/Makefile python/chcat/Makefile ---- python.orig/chcat/Makefile 2017-08-04 15:31:00.000000000 +0200 -+++ python/chcat/Makefile 2018-01-17 09:44:35.659573123 +0100 -@@ -1,8 +1,8 @@ - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --BINDIR ?= $(PREFIX)/bin --MANDIR ?= $(PREFIX)/share/man --LOCALEDIR ?= $(PREFIX)/share/locale -+PREFIX ?= /usr -+BINDIR ?= $(DESTDIR)$(PREFIX)/bin -+MANDIR ?= $(DESTDIR)$(PREFIX)/share/man -+LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale - - .PHONY: all - all: chcat -diff -durN python.orig/semanage/Makefile python/semanage/Makefile ---- python.orig/semanage/Makefile 2017-08-04 15:31:00.000000000 +0200 -+++ python/semanage/Makefile 2018-01-17 09:44:43.676239705 +0100 -@@ -1,13 +1,12 @@ - PYTHON ?= python - - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --LIBDIR ?= $(PREFIX)/lib --SBINDIR ?= $(PREFIX)/sbin --MANDIR = $(PREFIX)/share/man --PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(1))") -+PREFIX ?= /usr -+SBINDIR ?= $(DESTDIR)$(PREFIX)/sbin -+MANDIR = $(DESTDIR)$(PREFIX)/share/man -+PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(prefix='$(PREFIX)'))") - PACKAGEDIR ?= $(DESTDIR)/$(PYTHONLIBDIR) --BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions -+BASHCOMPLETIONDIR ?= $(DESTDIR)$(PREFIX)/share/bash-completion/completions - - TARGETS=semanage - -diff -durN python.orig/sepolgen/src/sepolgen/Makefile python/sepolgen/src/sepolgen/Makefile ---- python.orig/sepolgen/src/sepolgen/Makefile 2017-08-04 15:31:00.000000000 +0200 -+++ python/sepolgen/src/sepolgen/Makefile 2018-01-17 09:44:35.659573123 +0100 -@@ -1,5 +1,6 @@ -+PREFIX ?= /usr - PYTHON ?= python --PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(1))") -+PYTHONLIBDIR ?= $(shell $(PYTHON) -c "from distutils.sysconfig import *; print(get_python_lib(prefix='$(PREFIX)'))") - PACKAGEDIR ?= $(DESTDIR)/$(PYTHONLIBDIR)/sepolgen - - all: -diff -durN python.orig/sepolicy/Makefile python/sepolicy/Makefile ---- python.orig/sepolicy/Makefile 2017-08-04 15:31:00.000000000 +0200 -+++ python/sepolicy/Makefile 2018-01-17 09:44:35.659573123 +0100 -@@ -1,14 +1,14 @@ - PYTHON ?= python - - # Installation directories. --PREFIX ?= $(DESTDIR)/usr --LIBDIR ?= $(PREFIX)/lib --BINDIR ?= $(PREFIX)/bin --DATADIR ?= $(PREFIX)/share --MANDIR ?= $(PREFIX)/share/man --LOCALEDIR ?= /usr/share/locale --BASHCOMPLETIONDIR ?= $(DESTDIR)/usr/share/bash-completion/completions --SHAREDIR ?= $(PREFIX)/share/sandbox -+PREFIX ?= /usr -+LIBDIR ?= $(DESTDIR)$(PREFIX)/lib -+BINDIR ?= $(DESTDIR)$(PREFIX)/bin -+DATADIR ?= $(DESTDIR)$(PREFIX)/share -+MANDIR ?= $(DESTDIR)$(PREFIX)/share/man -+LOCALEDIR ?= $(DESTDIR)$(PREFIX)/share/locale -+BASHCOMPLETIONDIR ?= $(DESTDIR)$(PREFIX)/share/bash-completion/completions -+SHAREDIR ?= $(DESTDIR)$(PREFIX)/share/sandbox - CFLAGS ?= -Wall -Werror -Wextra -W - override CFLAGS += -DPACKAGE="policycoreutils" -DSHARED -shared - -@@ -30,7 +30,7 @@ - @$(PYTHON) test_sepolicy.py -v - - install: -- $(PYTHON) setup.py install `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` -+ $(PYTHON) setup.py install --prefix=$(PREFIX) `test -n "$(DESTDIR)" && echo --root $(DESTDIR)` - [ -d $(BINDIR) ] || mkdir -p $(BINDIR) - install -m 755 sepolicy.py $(BINDIR)/sepolicy - (cd $(BINDIR); ln -sf sepolicy sepolgen) diff --git a/bsp/buildroot/package/selinux-python/selinux-python.hash b/bsp/buildroot/package/selinux-python/selinux-python.hash index 42fe575e..99965004 100644 --- a/bsp/buildroot/package/selinux-python/selinux-python.hash +++ b/bsp/buildroot/package/selinux-python/selinux-python.hash @@ -1,2 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 4217cb965ecda96c91e15ffcc2e7ddd13ecc2bf5631100f3cd072a7616f140ed selinux-python-2.7.tar.gz +sha256 e69f5e24820cb247a3d881a9c90efba1e64d76af863c82fb81bc3b87ed71e238 selinux-python-2.8.tar.gz + +# Hash for license file +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/selinux-python/selinux-python.mk b/bsp/buildroot/package/selinux-python/selinux-python.mk index 25a2d041..2de55f33 100644 --- a/bsp/buildroot/package/selinux-python/selinux-python.mk +++ b/bsp/buildroot/package/selinux-python/selinux-python.mk @@ -4,8 +4,8 @@ # ################################################################################ -SELINUX_PYTHON_VERSION = 2.7 -SELINUX_PYTHON_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +SELINUX_PYTHON_VERSION = 2.8 +SELINUX_PYTHON_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 SELINUX_PYTHON_LICENSE = GPL-2.0 SELINUX_PYTHON_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/semodule-utils/semodule-utils.hash b/bsp/buildroot/package/semodule-utils/semodule-utils.hash index 18c8217c..be40918d 100644 --- a/bsp/buildroot/package/semodule-utils/semodule-utils.hash +++ b/bsp/buildroot/package/semodule-utils/semodule-utils.hash @@ -1,2 +1,5 @@ # https://github.com/SELinuxProject/selinux/wiki/Releases -sha256 90c98b3362a43b4da2a51a9176820a56f3e615225e23e3395bc566c4490786ba semodule-utils-2.7.tar.gz +sha256 44f59c13070c637440b143ceab4dfe1efb9018b1e47828dd8789def74c1ccadf semodule-utils-2.8.tar.gz + +# Hash for license file +sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING diff --git a/bsp/buildroot/package/semodule-utils/semodule-utils.mk b/bsp/buildroot/package/semodule-utils/semodule-utils.mk index 8f07fa0a..480e157c 100644 --- a/bsp/buildroot/package/semodule-utils/semodule-utils.mk +++ b/bsp/buildroot/package/semodule-utils/semodule-utils.mk @@ -4,8 +4,8 @@ # ################################################################################ -SEMODULE_UTILS_VERSION = 2.7 -SEMODULE_UTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804 +SEMODULE_UTILS_VERSION = 2.8 +SEMODULE_UTILS_SITE = https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524 SEMODULE_UTILS_LICENSE = GPL-2.0 SEMODULE_UTILS_LICENSE_FILES = COPYING SEMODULE_UTILS_DEPENDENCIES = libsepol diff --git a/bsp/buildroot/package/ser2net/Config.in b/bsp/buildroot/package/ser2net/Config.in index 3f0d15b3..cb4d69f7 100644 --- a/bsp/buildroot/package/ser2net/Config.in +++ b/bsp/buildroot/package/ser2net/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_SER2NET depends on BR2_USE_MMU # fork() help Ser2net provides a way for a user to connect from a network - connection to a serial port.. + connection to a serial port. http://ser2net.sourceforge.net diff --git a/bsp/buildroot/package/ser2net/ser2net.hash b/bsp/buildroot/package/ser2net/ser2net.hash index 67782357..c736c726 100644 --- a/bsp/buildroot/package/ser2net/ser2net.hash +++ b/bsp/buildroot/package/ser2net/ser2net.hash @@ -1,2 +1,6 @@ +# From https://sourceforge.net/projects/ser2net/files/ser2net/ +md5 e10e7c8c97e5bade5e85ce6e89bdf1f4 ser2net-3.5.tar.gz +sha1 0ad0affd37ef544c23f42a3f46d09e969d0d9116 ser2net-3.5.tar.gz # Locally computed: -sha256 d846066e27c3072565990745d030357aa0c278f96b7d1d4f59023347c1db8824 ser2net-3.4.tar.gz +sha256 ba9e1d60a89fd7ed075553b4a2074352902203f7fbd9b65b15048c05f0e3f3be ser2net-3.5.tar.gz +sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING diff --git a/bsp/buildroot/package/ser2net/ser2net.mk b/bsp/buildroot/package/ser2net/ser2net.mk index 833becc3..5ab5c4d2 100644 --- a/bsp/buildroot/package/ser2net/ser2net.mk +++ b/bsp/buildroot/package/ser2net/ser2net.mk @@ -4,7 +4,7 @@ # ################################################################################ -SER2NET_VERSION = 3.4 +SER2NET_VERSION = 3.5 SER2NET_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net SER2NET_LICENSE = GPL-2.0+ SER2NET_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch b/bsp/buildroot/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch new file mode 100644 index 00000000..63344506 --- /dev/null +++ b/bsp/buildroot/package/setools/0003-setup.py-drop-path-prefix-from-man-install.patch @@ -0,0 +1,42 @@ +From bc36cba1393120e65bfe4d0f642fd8d38010c0f7 Mon Sep 17 00:00:00 2001 +From: Matt Weber +Date: Wed, 28 Nov 2018 20:49:00 -0600 +Subject: [PATCH] setup.py: drop path prefix from man install + +If the directory is a relative path, it is interpreted relative to the +installation prefix (Python's sys.prefix for pure-Python packages, +sys.exec_prefix for packages that contain extension modules). +So the sys.prefix should not be joined because the correct one will be +added regardless. The reason why a relative path is going to work is +because the installation path is built internally joining python root +with python prefix, thus forming the correct path $(TARGET_DIR)/usr. +(https://docs.python.org/3/distutils/setupscript.html#installing-additional-files) + +For this man file install scenario, joining the sys.prefix makes the +path absolute (this was previously working by accident). + +Upstream: https://github.com/SELinuxProject/setools/pull/13/commits/bc36cba1393120e65bfe4d0f642fd8d38010c0f7 + +Cc: Angelo Compagnucci +Cc: Arnout Vandecappelle +Signed-off-by: Matthew Weber +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 3767fbc..80e0400 100644 +--- a/setup.py ++++ b/setup.py +@@ -136,7 +136,7 @@ setup(name='setools', + cmdclass={'build_qhc': QtHelpCommand, 'clean': CleanCommand}, + packages=['setools', 'setools.diff', 'setoolsgui', 'setoolsgui.apol'], + scripts=['apol', 'sediff', 'seinfo', 'seinfoflow', 'sesearch', 'sedta'], +- data_files=[(join(sys.prefix, 'share/man/man1'), glob.glob("man/*.1"))], ++ data_files=[('share/man/man1', glob.glob("man/*.1"))], + package_data={'': ['*.ui', '*.qhc', '*.qch'], 'setools': ['perm_map']}, + ext_modules=cythonize(ext_py_mods, include_path=['setools/policyrep'], + annotate=cython_annotate, +-- +1.9.1 + diff --git a/bsp/buildroot/package/setools/Config.in b/bsp/buildroot/package/setools/Config.in index ae0c45fe..0a7899b5 100644 --- a/bsp/buildroot/package/setools/Config.in +++ b/bsp/buildroot/package/setools/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_SETOOLS depends on BR2_USE_MMU select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON select BR2_PACKAGE_PYTHON_ENUM34 if !BR2_PACKAGE_PYTHON3 + select BR2_PACKAGE_PYTHON_NETWORKX # runtime select BR2_PACKAGE_PYTHON_SETUPTOOLS select BR2_PACKAGE_LIBSELINUX help @@ -16,6 +17,7 @@ config BR2_PACKAGE_SETOOLS * apol - analyze a SELinux policy. (requires python-qt5) * sediff - semantic policy difference tool for SELinux. * sedta - Perform domain transition analyses + * seinfoflow - information flow analysis for SELinux * sesearch - Search rules (allow, type_transition, etc.) https://github.com/TresysTechnology/setools diff --git a/bsp/buildroot/package/setools/setools.mk b/bsp/buildroot/package/setools/setools.mk index c152e541..63ca3651 100644 --- a/bsp/buildroot/package/setools/setools.mk +++ b/bsp/buildroot/package/setools/setools.mk @@ -11,7 +11,7 @@ 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-libselinux host-libsepol +HOST_SETOOLS_DEPENDENCIES = host-libselinux host-libsepol host-python-networkx ifeq ($(BR2_PACKAGE_PYTHON3),y) SETOOLS_PYLIBVER = python$(PYTHON3_VERSION_MAJOR) @@ -37,14 +37,6 @@ define HOST_SETOOLS_FIX_SETUP endef HOST_SETOOLS_POST_PATCH_HOOKS += HOST_SETOOLS_FIX_SETUP -# sedta and seinfoflow depend on python-networkx. This package is not -# available in buildroot. -define SETOOLS_REMOVE_BROKEN_SCRIPTS - $(RM) $(TARGET_DIR)/usr/bin/sedta - $(RM) $(TARGET_DIR)/usr/bin/seinfoflow -endef -SETOOLS_POST_INSTALL_TARGET_HOOKS += SETOOLS_REMOVE_BROKEN_SCRIPTS - # apol requires pyqt5. However, the setools installation # process will install apol even if pyqt5 is missing. # Remove these scripts from the target it pyqt5 is not selected. @@ -56,12 +48,8 @@ endef SETOOLS_POST_INSTALL_TARGET_HOOKS += SETOOLS_REMOVE_QT_SCRIPTS endif -# sedta and seinfoflow depend on python-networkx. This package is not -# available in buildroot. pyqt5 is not a host-package, remove apol -# from the host directory as well. +# pyqt5 is not a host-package, remove apol from the host directory. define HOST_SETOOLS_REMOVE_BROKEN_SCRIPTS - $(RM) $(HOST_DIR)/bin/sedta - $(RM) $(HOST_DIR)/bin/seinfoflow $(RM) $(HOST_DIR)/bin/apol endef HOST_SETOOLS_POST_INSTALL_HOOKS += HOST_SETOOLS_REMOVE_BROKEN_SCRIPTS diff --git a/bsp/buildroot/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch b/bsp/buildroot/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch new file mode 100644 index 00000000..34a4e114 --- /dev/null +++ b/bsp/buildroot/package/sg3_utils/0002-src-Makefile.am-add-missing-RT_LIB-for-sg_turs.patch @@ -0,0 +1,29 @@ +From 68b0591cf37760e09e358533bbcecf36eddfceed Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 10 Feb 2019 14:46:41 +0100 +Subject: [PATCH] src/Makefile.am: add missing @RT_LIB@ for sg_turs + +The sg_turs program uses clock_gettime(), so it should link against +librt, as provided by @RT_LIB@. + +Signed-off-by: Thomas Petazzoni +--- + src/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 881cf29..0eba680 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -170,7 +170,7 @@ sg_test_rwbuf_LDADD = ../lib/libsgutils2.la + + sg_timestamp_LDADD = ../lib/libsgutils2.la + +-sg_turs_LDADD = ../lib/libsgutils2.la ++sg_turs_LDADD = ../lib/libsgutils2.la @RT_LIB@ + + sg_unmap_LDADD = ../lib/libsgutils2.la + +-- +2.20.1 + diff --git a/bsp/buildroot/package/sg3_utils/Config.in b/bsp/buildroot/package/sg3_utils/Config.in index 4b74eda6..f4db4b9b 100644 --- a/bsp/buildroot/package/sg3_utils/Config.in +++ b/bsp/buildroot/package/sg3_utils/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_SG3_UTILS bool "sg3-utils" - depends on !BR2_bfin # symbol prefixing problems depends on BR2_TOOLCHAIN_HAS_THREADS help Low level utilities for devices that use a SCSI command set. @@ -16,5 +15,4 @@ config BR2_PACKAGE_SG3_UTILS_PROGS endif comment "sg3-utils needs a toolchain w/ threads" - depends on !BR2_bfin depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/sg3_utils/sg3_utils.hash b/bsp/buildroot/package/sg3_utils/sg3_utils.hash index a884063f..14b94947 100644 --- a/bsp/buildroot/package/sg3_utils/sg3_utils.hash +++ b/bsp/buildroot/package/sg3_utils/sg3_utils.hash @@ -1,2 +1,6 @@ # Locally calculated from download (no sig, hash) -sha256 97aeed65894feb2add896b4adfa4cf343966c8a61c7d206795ed0507640ee7b9 sg3_utils-1.42.tar.xz +sha256 ca94ac106510742cd8ff5ead4a7e5c89d410653291401daf4632d2bef2a35b05 sg3_utils-1.44.tar.xz + +# Hash for license files +sha256 d516b8b337a77e3d4c65dffe708ca7fb25b1cb4ec77ec362cf11ed659b9250bc COPYING +sha256 31f6d59679e0fb21c9358f22484e6e3c53e20ef08c0950fd38a4a867cb55edc9 BSD_LICENSE diff --git a/bsp/buildroot/package/sg3_utils/sg3_utils.mk b/bsp/buildroot/package/sg3_utils/sg3_utils.mk index 88827f33..79521fd0 100644 --- a/bsp/buildroot/package/sg3_utils/sg3_utils.mk +++ b/bsp/buildroot/package/sg3_utils/sg3_utils.mk @@ -4,7 +4,7 @@ # ################################################################################ -SG3_UTILS_VERSION = 1.42 +SG3_UTILS_VERSION = 1.44 SG3_UTILS_SOURCE = sg3_utils-$(SG3_UTILS_VERSION).tar.xz SG3_UTILS_SITE = http://sg.danny.cz/sg/p SG3_UTILS_LICENSE = BSD-3-Clause (library) @@ -14,7 +14,7 @@ SG3_UTILS_LICENSE := $(SG3_UTILS_LICENSE), GPL-2.0+ (programs), BSD-3-Clause (pr endif SG3_UTILS_LICENSE_FILES = COPYING BSD_LICENSE -# Patching configure.ac +# Patching configure.ac/Makefile.am SG3_UTILS_AUTORECONF = YES # install the libsgutils2 library @@ -51,3 +51,4 @@ SG3_UTILS_POST_INSTALL_TARGET_HOOKS += SG3_UTILS_REMOVE_PROGS endif $(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch b/bsp/buildroot/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch new file mode 100644 index 00000000..7ddb140e --- /dev/null +++ b/bsp/buildroot/package/shadowsocks-libev/0001-configure.ac-fix-static-build-with-netfilter_conntra.patch @@ -0,0 +1,31 @@ +From 9b4aebc840f444e5aa83633838e3890cec523017 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 18 Jan 2019 21:05:34 +0100 +Subject: [PATCH] configure.ac: fix static build with netfilter_conntrack + +Fixes: + - http://autobuild.buildroot.org/results/22a28e8fd8182e1c908541dbc5b0ee087c3803e6 + +Signed-off-by: Fabrice Fontaine +[Upstream status: +https://github.com/shadowsocks/shadowsocks-libev/pull/2270] +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a706591..c6dab8b 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -256,7 +256,7 @@ if test x"$enable_connmarktos" = "xyes" ; then + if test x"$enable_connmarktos" = "xyes"; then + AC_MSG_ERROR([--enable-connmarktos specified but libnetfilter-conntrack library not found]) + fi +- with_netfilter_conntrack=no]) ++ with_netfilter_conntrack=no], [-lnfnetlink]) + AC_CHECK_HEADERS([libnetfilter_conntrack/libnetfilter_conntrack.h \ + libnetfilter_conntrack/libnetfilter_conntrack_tcp.h],,[ + if test x"$enable_connmarktos" = "xyes"; then +-- +2.14.1 + diff --git a/bsp/buildroot/package/shadowsocks-libev/Config.in b/bsp/buildroot/package/shadowsocks-libev/Config.in new file mode 100644 index 00000000..fefb27bc --- /dev/null +++ b/bsp/buildroot/package/shadowsocks-libev/Config.in @@ -0,0 +1,34 @@ +config BR2_PACKAGE_SHADOWSOCKS_LIBEV + bool "shadowsocks-libev" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # for libcork + depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64 # for libcork + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU # fork() + select BR2_PACKAGE_C_ARES + select BR2_PACKAGE_LIBEV + select BR2_PACKAGE_LIBSODIUM + select BR2_PACKAGE_MBEDTLS + select BR2_PACKAGE_PCRE + help + Shadowsocks-libev is a lightweight secured SOCKS5 proxy for + embedded devices and low-end boxes. + + https://github.com/shadowsocks/shadowsocks-libev + +config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS + bool "connmarktos support in ss-server" + depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV + select BR2_PACKAGE_LIBNETFILTER_CONNTRACK + help + Build ss-server with the connmark to TOS feature. + + This feature requires advanced tc, iptables and conntrack + rules to perform QoS on the server side. + + If unsure, don't enable this option + +comment "shadowsocks-libev needs a toolchain w/ threads" + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64 + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash b/bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash new file mode 100644 index 00000000..a7c0dc07 --- /dev/null +++ b/bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.hash @@ -0,0 +1,7 @@ +# Locally computed +sha256 2befc27b1cc62af0450702343d17e347936f0d4e3d4b04ba9246c4f9b409b742 shadowsocks-libev-3.2.3.tar.gz + +# License files, locally calculated +sha256 736883f97d44dbec288bb82819f18f4f86d02ae3192f6a9abefa00db76bace41 COPYING +sha256 c41a4bc2c4c43e4daa3051e77e31b2d5c8500498afaeac6d831d55a4bb8de3fb libbloom/LICENSE +sha256 4fa2ada54f8c0410ec243265378242ffe862386d5ac517f8dd30a1911d25ae93 libcork/COPYING diff --git a/bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk b/bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk new file mode 100644 index 00000000..c2c33b7a --- /dev/null +++ b/bsp/buildroot/package/shadowsocks-libev/shadowsocks-libev.mk @@ -0,0 +1,26 @@ +################################################################################ +# +# shadowsocks-libev +# +################################################################################ + +SHADOWSOCKS_LIBEV_VERSION = 3.2.3 +SHADOWSOCKS_LIBEV_SITE = https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(SHADOWSOCKS_LIBEV_VERSION) +SHADOWSOCKS_LIBEV_LICENSE = GPL-3.0+, BSD-2-Clause (libbloom), BSD-3-Clause (libcork, libipset) +SHADOWSOCKS_LIBEV_LICENSE_FILES = COPYING libbloom/LICENSE libcork/COPYING +SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre +SHADOWSOCKS_LIBEV_INSTALL_STAGING = YES +# We're patching configure.ac +SHADOWSOCKS_LIBEV_AUTORECONF = YES +SHADOWSOCKS_LIBEV_CONF_OPTS = \ + --with-pcre=$(STAGING_DIR)/usr \ + --disable-ssp + +ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y) +SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack +SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos +else +SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos +endif + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/shairport-sync/S99shairport-sync b/bsp/buildroot/package/shairport-sync/S99shairport-sync index 5443ed13..80b2fddb 100644 --- a/bsp/buildroot/package/shairport-sync/S99shairport-sync +++ b/bsp/buildroot/package/shairport-sync/S99shairport-sync @@ -6,16 +6,18 @@ OPTIONS="-d" case "$1" in start) printf "Starting shairport-sync: " - start-stop-daemon -S -q -p /var/run/shairport-sync.pid --exec /usr/bin/shairport-sync -- $OPTIONS + start-stop-daemon -S -q --exec /usr/bin/shairport-sync -- $OPTIONS [ $? = 0 ] && echo "OK" || echo "FAIL" ;; stop) printf "Stopping shairport-sync: " - start-stop-daemon -K -q -p /var/run/shairport-sync.pid + start-stop-daemon -K -q --exec /usr/bin/shairport-sync \ + -p /var/run/shairport-sync/shairport-sync.pid [ $? = 0 ] && echo "OK" || echo "FAIL" ;; restart) $0 stop + sleep 1 $0 start ;; *) diff --git a/bsp/buildroot/package/shairport-sync/shairport-sync.hash b/bsp/buildroot/package/shairport-sync/shairport-sync.hash index e0eea4c4..076f0a21 100644 --- a/bsp/buildroot/package/shairport-sync/shairport-sync.hash +++ b/bsp/buildroot/package/shairport-sync/shairport-sync.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 90555f1a5e05bd777741147d5c0104543d0f26d4f95b9bfd44143c818a6f50f1 shairport-sync-3.1.6.tar.gz +sha256 1fe16856ec828704b086c571038a3b2eb907a3cf0a3847ed1b721b517554659d shairport-sync-3.2.1.tar.gz diff --git a/bsp/buildroot/package/shairport-sync/shairport-sync.mk b/bsp/buildroot/package/shairport-sync/shairport-sync.mk index 53ebcc58..f1857b0d 100644 --- a/bsp/buildroot/package/shairport-sync/shairport-sync.mk +++ b/bsp/buildroot/package/shairport-sync/shairport-sync.mk @@ -4,7 +4,7 @@ # ################################################################################ -SHAIRPORT_SYNC_VERSION = 3.1.6 +SHAIRPORT_SYNC_VERSION = 3.2.1 SHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION)) SHAIRPORT_SYNC_LICENSE = MIT, BSD-3-Clause diff --git a/bsp/buildroot/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch b/bsp/buildroot/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch deleted file mode 100644 index caa54566..00000000 --- a/bsp/buildroot/package/shellinabox/0002-launcher.c-include-sys-ttydefaults.h.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c8d9df500b1ca83ad6da9b6055549adaba6ee0d3 Mon Sep 17 00:00:00 2001 -From: Olivier Singla -Date: Thu, 4 Aug 2016 22:05:08 +0200 -Subject: [PATCH] launcher.c: include - -This include is needed to get the definition of TTYDEF_*. - -Signed-off-by: Olivier Singla ---- - shellinabox/launcher.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/shellinabox/launcher.c b/shellinabox/launcher.c -index 2bac171..c8ba6cb 100644 ---- a/shellinabox/launcher.c -+++ b/shellinabox/launcher.c -@@ -66,6 +66,7 @@ - #include - #include - #include -+#include - #include - #include - --- -2.7.4 - diff --git a/bsp/buildroot/package/shellinabox/shellinabox.hash b/bsp/buildroot/package/shellinabox/shellinabox.hash index 4bc11038..6e192070 100644 --- a/bsp/buildroot/package/shellinabox/shellinabox.hash +++ b/bsp/buildroot/package/shellinabox/shellinabox.hash @@ -1,2 +1,4 @@ -# Locally calculated after checking pgp signature -sha256 d25ba9f72f04471fc1a8a564c65ef466c4553280ff3eeb365ed9c897d05ed2da shellinabox-v2.19.tar.gz +# Locally calculated +sha256 27a5ec6c3439f87aee238c47cc56e7357a6249e5ca9ed0f044f0057ef389d81e shellinabox-v2.20.tar.gz +sha256 04ef60ab9b83cde6f0862ea18474454477efb34c52ebce1f8d8260a398a39362 COPYING +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 GPL-2 diff --git a/bsp/buildroot/package/shellinabox/shellinabox.mk b/bsp/buildroot/package/shellinabox/shellinabox.mk index 1db62e60..70db551e 100644 --- a/bsp/buildroot/package/shellinabox/shellinabox.mk +++ b/bsp/buildroot/package/shellinabox/shellinabox.mk @@ -4,7 +4,7 @@ # ################################################################################ -SHELLINABOX_VERSION = v2.19 +SHELLINABOX_VERSION = v2.20 SHELLINABOX_SITE = $(call github,shellinabox,shellinabox,$(SHELLINABOX_VERSION)) SHELLINABOX_LICENSE = GPL-2.0 with OpenSSL exception SHELLINABOX_LICENSE_FILES = COPYING GPL-2 @@ -23,7 +23,7 @@ SHELLINABOX_CONF_OPTS = \ # musl's implementation of utmpx is a dummy one, and some aspects of # it cause build failures in shellinabox ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) -SHELLINABOX_CONF_ENV += ac_cv_header_utmpx_h=no +SHELLINABOX_CONF_OPTS += --disable-utmp endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/sigrok-cli/Config.in b/bsp/buildroot/package/sigrok-cli/Config.in index 75bd8c6d..df1cd95b 100644 --- a/bsp/buildroot/package/sigrok-cli/Config.in +++ b/bsp/buildroot/package/sigrok-cli/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_SIGROK_CLI depends on !BR2_STATIC_LIBS # libsigrok depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on BR2_ENABLE_LOCALE select BR2_PACKAGE_LIBSIGROK help Sigrok-cli is a command-line frontend for the sigrok @@ -15,7 +16,8 @@ config BR2_PACKAGE_SIGROK_CLI http://sigrok.org/wiki/Sigrok-cli -comment "sigrok-cli needs a toolchain w/ wchar, threads, dynamic library, gcc >= 4.7" +comment "sigrok-cli needs a toolchain w/ locale, wchar, threads, dynamic library, gcc >= 4.7" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || BR2_STATIC_LIBS \ + || !BR2_ENABLE_LOCALE diff --git a/bsp/buildroot/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch b/bsp/buildroot/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch index 3ee0cddb..ad3b19eb 100644 --- a/bsp/buildroot/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch +++ b/bsp/buildroot/package/skalibs/0002-No-runtime-tests-for-type-sizes.patch @@ -1,6 +1,6 @@ -From df3a3e708653ca1cdb0eda77bbda5cb8de177571 Mon Sep 17 00:00:00 2001 +From f411b502222c8fe442d7b3beb00b530c9e16b7a2 Mon Sep 17 00:00:00 2001 From: "Van Bemten, Lionel (Nokia - BE/Antwerp)" -Date: Tue, 10 Oct 2017 19:51:18 +0200 +Date: Sun, 29 Apr 2018 19:53:40 +0200 Subject: [PATCH] No runtime tests for type sizes Replace build and execution of runtime test programs for determining @@ -11,14 +11,14 @@ This improves support for cross-compilation. Signed-off-by: "Van Bemten, Lionel (Nokia - BE/Antwerp)" Signed-off-by: Eric Le Bihan --- - configure | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 61 insertions(+), 16 deletions(-) + configure | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++------------- + 1 file changed, 60 insertions(+), 15 deletions(-) diff --git a/configure b/configure -index f2a77f3..8348b1f 100755 +index 434eec8..c09e9c8 100755 --- a/configure +++ b/configure -@@ -154,25 +154,70 @@ choose () { +@@ -155,23 +155,69 @@ choose () { fi } @@ -65,12 +65,12 @@ index f2a77f3..8348b1f 100755 +} +EOF + if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o trysignof${abbr} trysignof${abbr}.c 2>/dev/null; then -+ echo "#define ${package_macro_name}_HASSIGNED${caps}" >> $sysdeps/sysdeps.h -+ echo "#undef ${package_macro_name}_HASUNSIGNED${caps}" >> $sysdeps/sysdeps.h ++ echo "#define ${package_macro_name}_HAS${caps}" >> $sysdeps/sysdeps.h ++ echo "#undef ${package_macro_name}_HASUN${caps}" >> $sysdeps/sysdeps.h + echo "signed${abbr}: yes" >> $sysdeps/sysdeps + else -+ echo "#undef ${package_macro_name}_HASSIGNED${caps}" >> $sysdeps/sysdeps.h -+ echo "#define ${package_macro_name}_HASUNSIGNED${caps}" >> $sysdeps/sysdeps.h ++ echo "#undef ${package_macro_name}_HAS${caps}" >> $sysdeps/sysdeps.h ++ echo "#define ${package_macro_name}_HASUN${caps}" >> $sysdeps/sysdeps.h + echo "signed${abbr}: no" >> $sysdeps/sysdeps + fi + rm -f trysignof${abbr} trysignof${abbr}.c @@ -90,20 +90,26 @@ index f2a77f3..8348b1f 100755 - ./output-types | grep -F signed | while read key value ; do - caps=$(echo $key | sed s/:\$// | tr a-z A-Z) - if test $value = yes ; then -- echo "#define ${package_macro_name}_HASSIGNED${caps}" -- echo "#undef ${package_macro_name}_HASUNSIGNED${caps}" +- echo "#define ${package_macro_name}_HAS${caps}" +- echo "#undef ${package_macro_name}_HASUN${caps}" - else -- echo "#undef ${package_macro_name}_HASSIGNED${caps}" -- echo "#define ${package_macro_name}_HASUNSIGNED${caps}" +- echo "#undef ${package_macro_name}_HAS${caps}" +- echo "#define ${package_macro_name}_HASUN${caps}" - fi >> $sysdeps/sysdeps.h + for t in size uid gid pid time dev ino; do + findtypesize "${t}_t" "$t" + findtypesign "${t}_t" "$t" done -- rm -f output-types + rm -f output-types echo " ... done" - } +@@ -548,7 +594,6 @@ EOF + choose cl itimer ITIMER 'setitimer()' + choose cl namespaces NAMESPACES 'namespaces' + choose cl nsgetparent NSGETPARENT 'NS_GET_PARENT' +- choose cl explicit_bzero EXPLICIT_BZERO 'explicit_bzero()' + echo '#endif' >> $sysdeps/sysdeps.h + fi -- -2.13.6 +2.14.3 diff --git a/bsp/buildroot/package/skalibs/skalibs.hash b/bsp/buildroot/package/skalibs/skalibs.hash index a65aaadb..0646dbc0 100644 --- a/bsp/buildroot/package/skalibs/skalibs.hash +++ b/bsp/buildroot/package/skalibs/skalibs.hash @@ -1,3 +1,3 @@ # Locally generated -sha256 8508ca00d4e2355e9ec0ec7f4808e98b349999d6732d2f123ac53b4df5260c81 skalibs-2.6.3.1.tar.gz +sha256 30ac73f1e8da6387fcfa19cfe1e326a143b4d811aaf532988b280daefa56dcc7 skalibs-2.6.4.0.tar.gz sha256 3eadcf980c40da0f257b8292d805ff41e5e5a908c1942315d9a627732e1aa012 COPYING diff --git a/bsp/buildroot/package/skalibs/skalibs.mk b/bsp/buildroot/package/skalibs/skalibs.mk index 2ce0c33f..7672b0d3 100644 --- a/bsp/buildroot/package/skalibs/skalibs.mk +++ b/bsp/buildroot/package/skalibs/skalibs.mk @@ -4,7 +4,7 @@ # ################################################################################ -SKALIBS_VERSION = 2.6.3.1 +SKALIBS_VERSION = 2.6.4.0 SKALIBS_SITE = http://skarnet.org/software/skalibs SKALIBS_LICENSE = ISC SKALIBS_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/skeleton-custom/skeleton-custom.mk b/bsp/buildroot/package/skeleton-custom/skeleton-custom.mk index 8c575317..b05c834b 100644 --- a/bsp/buildroot/package/skeleton-custom/skeleton-custom.mk +++ b/bsp/buildroot/package/skeleton-custom/skeleton-custom.mk @@ -23,33 +23,11 @@ $(error No path specified for the custom skeleton) endif endif -# Extract the inode numbers for all of those directories. In case any is -# a symlink, we want to get the inode of the pointed-to directory, so we -# append '/.' to be sure we get the target directory. Since the symlinks -# can be anyway (/bin -> /usr/bin or /usr/bin -> /bin), we do that for -# all of them. -# -SKELETON_CUSTOM_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/lib/. 2>/dev/null) -SKELETON_CUSTOM_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/bin/. 2>/dev/null) -SKELETON_CUSTOM_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/sbin/. 2>/dev/null) -SKELETON_CUSTOM_USR_LIB_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/lib/. 2>/dev/null) -SKELETON_CUSTOM_USR_BIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/bin/. 2>/dev/null) -SKELETON_CUSTOM_USR_SBIN_INODE = $(shell stat -c '%i' $(SKELETON_CUSTOM_PATH)/usr/sbin/. 2>/dev/null) - # For a merged /usr, ensure that /lib, /bin and /sbin and their /usr # counterparts are appropriately setup as symlinks ones to the others. ifeq ($(BR2_ROOTFS_MERGED_USR),y) - -ifneq ($(SKELETON_CUSTOM_LIB_INODE),$(SKELETON_CUSTOM_USR_LIB_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /lib -endif -ifneq ($(SKELETON_CUSTOM_BIN_INODE),$(SKELETON_CUSTOM_USR_BIN_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /bin -endif -ifneq ($(SKELETON_CUSTOM_SBIN_INODE),$(SKELETON_CUSTOM_USR_SBIN_INODE)) -SKELETON_CUSTOM_NOT_MERGED_USR_DIRS += /sbin -endif - +SKELETON_CUSTOM_NOT_MERGED_USR_DIRS = \ + $(shell support/scripts/check-merged-usr.sh $(SKELETON_CUSTOM_PATH)) endif # merged /usr ifeq ($(BR2_PACKAGE_SKELETON_CUSTOM)$(BR_BUILDING),yy) @@ -64,6 +42,7 @@ endif # things we customise in the custom skeleton. define SKELETON_CUSTOM_INSTALL_TARGET_CMDS $(call SYSTEM_RSYNC,$(SKELETON_CUSTOM_PATH),$(TARGET_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ $(TARGET_DIR_WARNING_FILE) @@ -75,6 +54,7 @@ endef # skeleton to staging. define SKELETON_CUSTOM_INSTALL_STAGING_CMDS $(call SYSTEM_RSYNC,$(SKELETON_CUSTOM_PATH),$(STAGING_DIR)) + $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(STAGING_DIR)) $(call SYSTEM_LIB_SYMLINK,$(STAGING_DIR)) endef diff --git a/bsp/buildroot/package/skeleton-init-common/skeleton-init-common.mk b/bsp/buildroot/package/skeleton-init-common/skeleton-init-common.mk index 8228a810..e429b13d 100644 --- a/bsp/buildroot/package/skeleton-init-common/skeleton-init-common.mk +++ b/bsp/buildroot/package/skeleton-init-common/skeleton-init-common.mk @@ -20,6 +20,7 @@ define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS $(call SYSTEM_RSYNC,$(SKELETON_INIT_COMMON_PATH),$(TARGET_DIR)) $(call SYSTEM_USR_SYMLINKS_OR_DIRS,$(TARGET_DIR)) $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) + $(SED) 's,@PATH@,$(BR2_SYSTEM_DEFAULT_PATH),' $(TARGET_DIR)/etc/profile $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ $(TARGET_DIR_WARNING_FILE) endef @@ -41,10 +42,15 @@ SKELETON_INIT_COMMON_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_M SKELETON_INIT_COMMON_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH)) ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),) +SKELETON_INIT_COMMON_HOSTS_LINE = $(SKELETON_INIT_COMMON_HOSTNAME) +SKELETON_INIT_COMMON_SHORT_HOSTNAME = $(firstword $(subst ., ,$(SKELETON_INIT_COMMON_HOSTNAME))) +ifneq ($(SKELETON_INIT_COMMON_HOSTNAME),$(SKELETON_INIT_COMMON_SHORT_HOSTNAME)) +SKELETON_INIT_COMMON_HOSTS_LINE += $(SKELETON_INIT_COMMON_SHORT_HOSTNAME) +endif define SKELETON_INIT_COMMON_SET_HOSTNAME mkdir -p $(TARGET_DIR)/etc echo "$(SKELETON_INIT_COMMON_HOSTNAME)" > $(TARGET_DIR)/etc/hostname - $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTNAME)' \ + $(SED) '$$a \127.0.1.1\t$(SKELETON_INIT_COMMON_HOSTS_LINE)' \ -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts endef SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_SET_HOSTNAME @@ -79,6 +85,13 @@ define SKELETON_INIT_COMMON_SET_BIN_SH rm -f $(TARGET_DIR)/bin/sh endef else +# Add /bin/sh to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define SKELETON_INIT_COMMON_ADD_SH_TO_SHELLS + grep -qsE '^/bin/sh$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/sh" >> $(TARGET_DIR)/etc/shells +endef +SKELETON_INIT_COMMON_TARGET_FINALIZE_HOOKS += SKELETON_INIT_COMMON_ADD_SH_TO_SHELLS ifneq ($(SKELETON_INIT_COMMON_BIN_SH),) define SKELETON_INIT_COMMON_SET_BIN_SH ln -sf $(SKELETON_INIT_COMMON_BIN_SH) $(TARGET_DIR)/bin/sh diff --git a/bsp/buildroot/package/skeleton-init-systemd/skeleton-init-systemd.mk b/bsp/buildroot/package/skeleton-init-systemd/skeleton-init-systemd.mk index ff64205c..5d6b716f 100644 --- a/bsp/buildroot/package/skeleton-init-systemd/skeleton-init-systemd.mk +++ b/bsp/buildroot/package/skeleton-init-systemd/skeleton-init-systemd.mk @@ -55,12 +55,6 @@ define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR endef SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS += SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR -define SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR - rm -rf $(TARGET_DIR)/var - mv $(TARGET_DIR)/usr/share/factory/var $(TARGET_DIR)/var -endef -SKELETON_INIT_SYSTEMD_ROOTFS_POST_CMD_HOOKS += SKELETON_INIT_SYSTEMD_POST_ROOTFS_VAR - endif define SKELETON_INIT_SYSTEMD_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/skeleton/skeleton.mk b/bsp/buildroot/package/skeleton/skeleton.mk index d380f416..9d97f02f 100644 --- a/bsp/buildroot/package/skeleton/skeleton.mk +++ b/bsp/buildroot/package/skeleton/skeleton.mk @@ -11,4 +11,17 @@ SKELETON_ADD_TOOLCHAIN_DEPENDENCY = NO SKELETON_ADD_SKELETON_DEPENDENCY = NO +# We create a compatibility symlink in case a post-build script still +# uses $(HOST_DIR)/usr +define HOST_SKELETON_INSTALL_CMDS + $(Q)ln -snf . $(HOST_DIR)/usr + $(Q)mkdir -p $(HOST_DIR)/lib + $(Q)mkdir -p $(HOST_DIR)/include + $(Q)case $(HOSTARCH) in \ + (*64) ln -snf lib $(HOST_DIR)/lib64;; \ + (*) ln -snf lib $(HOST_DIR)/lib32;; \ + esac +endef + $(eval $(virtual-package)) +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/smcroute/smcroute.hash b/bsp/buildroot/package/smcroute/smcroute.hash index 0487ef6c..e5929bff 100644 --- a/bsp/buildroot/package/smcroute/smcroute.hash +++ b/bsp/buildroot/package/smcroute/smcroute.hash @@ -1,4 +1,5 @@ # Locally generated -sha256 cd6c5cc2edfa1348acb07ed026180ebfc8dd0f87153f5382cb27cb5557724c56 smcroute-2.3.1.tar.xz -# From https://github.com/troglobit/smcroute/releases/download/2.3.1/smcroute-2.3.1.tar.xz.md5 -md5 d8080828b7730bffb86969afd2bf94cb smcroute-2.3.1.tar.xz +sha256 d8c6abb45f5e13c8c557ad143f05e79778641eebef9bb28ef6eadb583d2a225e smcroute-2.4.2.tar.xz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +# From https://github.com/troglobit/smcroute/releases/download/2.4.2/smcroute-2.4.2.tar.xz.md5 +md5 85b8bbdf2dccecfea770bcd17a731cc7 smcroute-2.4.2.tar.xz diff --git a/bsp/buildroot/package/smcroute/smcroute.mk b/bsp/buildroot/package/smcroute/smcroute.mk index e7e6ef15..aacf2113 100644 --- a/bsp/buildroot/package/smcroute/smcroute.mk +++ b/bsp/buildroot/package/smcroute/smcroute.mk @@ -4,7 +4,7 @@ # ################################################################################ -SMCROUTE_VERSION = 2.3.1 +SMCROUTE_VERSION = 2.4.2 SMCROUTE_SOURCE = smcroute-$(SMCROUTE_VERSION).tar.xz SMCROUTE_SITE = https://github.com/troglobit/smcroute/releases/download/$(SMCROUTE_VERSION) SMCROUTE_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/snappy/snappy.hash b/bsp/buildroot/package/snappy/snappy.hash index 71a2500f..e9ac4324 100644 --- a/bsp/buildroot/package/snappy/snappy.hash +++ b/bsp/buildroot/package/snappy/snappy.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e701cd80f1154d648c762c86140ad6873a5c9b09ed1d754e3157be8193d2c39e snappy-be6dc3db83c4701e3e79694dcbfd1c3da03b91dd.tar.gz +sha256 3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4 snappy-1.1.7.tar.gz +sha256 55172044f7e241207117448a4d9d6ba1d0925c8ad66b5d4c08c70adfa9cc3de6 COPYING diff --git a/bsp/buildroot/package/snappy/snappy.mk b/bsp/buildroot/package/snappy/snappy.mk index a537ade5..74d398de 100644 --- a/bsp/buildroot/package/snappy/snappy.mk +++ b/bsp/buildroot/package/snappy/snappy.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNAPPY_VERSION = be6dc3db83c4701e3e79694dcbfd1c3da03b91dd +SNAPPY_VERSION = 1.1.7 SNAPPY_SITE = $(call github,google,snappy,$(SNAPPY_VERSION)) SNAPPY_LICENSE = BSD-3-Clause SNAPPY_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch b/bsp/buildroot/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch new file mode 100644 index 00000000..ec8a0f5d --- /dev/null +++ b/bsp/buildroot/package/sngrep/0001-capture-fix-typo-in-FILE-object.patch @@ -0,0 +1,43 @@ +From 604f6d0ce2ec42ac494d76c95e68850ea6e7da8f Mon Sep 17 00:00:00 2001 +From: Sebastian Kemper +Date: Sun, 4 Nov 2018 16:58:00 +0100 +Subject: [PATCH] capture: fix typo in FILE object + +FILE *fstdin is defined, but when calling freopen() stdin is used instead +of fstdin. + +This causes the compile to fail: + + CC sngrep-capture.o +capture.c: In function 'capture_offline': +capture.c:194:21: error: assignment of read-only variable 'stdin' + if (!(stdin = freopen("/dev/tty", "r", stdin))) { + ^ +make[5]: *** [Makefile:519: sngrep-capture.o] Error 1 + +This commit fixes the typo. + +Signed-off-by: Sebastian Kemper +Signed-off-by: Baruch Siach +--- +Upstream status: commit 604f6d0ce2ec + + src/capture.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/capture.c b/src/capture.c +index 911c35f43a35..a799413e2b0e 100644 +--- a/src/capture.c ++++ b/src/capture.c +@@ -191,7 +191,7 @@ capture_offline(const char *infile, const char *outfile) + + // Reopen tty for ncurses after pcap have used stdin + if (!strncmp(infile, "/dev/stdin", 10)) { +- if (!(stdin = freopen("/dev/tty", "r", stdin))) { ++ if (!(fstdin = freopen("/dev/tty", "r", stdin))) { + fprintf(stderr, "Failed to reopen tty while using stdin for capture."); + return 1; + } +-- +2.19.2 + diff --git a/bsp/buildroot/package/sngrep/sngrep.hash b/bsp/buildroot/package/sngrep/sngrep.hash index cd2dff55..f751a146 100644 --- a/bsp/buildroot/package/sngrep/sngrep.hash +++ b/bsp/buildroot/package/sngrep/sngrep.hash @@ -1,6 +1,6 @@ -# From https://github.com/irontec/sngrep/releases/download/v1.4.4/sngrep-1.4.4.tar.gz.md5sum -md5 8e2286c2e23f4b29667025e5809dc303 sngrep-1.4.4.tar.gz +# From https://github.com/irontec/sngrep/releases/download/v1.4.6/sngrep-1.4.6.tar.gz.md5sum +md5 094e76786b118258bac69e1514aac826 sngrep-1.4.6.tar.gz # Locally computed -sha256 2379b8b3e9498d426a0bc03b90d74170a80f98f167f89c126d53dcc66bc5f60b sngrep-v1.4.4.tar.gz +sha256 638d6557dc68db401b07d73b2e7f8276800281f021fe0c942992566d6b59a48a sngrep-v1.4.6.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE diff --git a/bsp/buildroot/package/sngrep/sngrep.mk b/bsp/buildroot/package/sngrep/sngrep.mk index 93a0c3f1..c6d2a292 100644 --- a/bsp/buildroot/package/sngrep/sngrep.mk +++ b/bsp/buildroot/package/sngrep/sngrep.mk @@ -4,7 +4,7 @@ # ################################################################################ -SNGREP_VERSION = v1.4.4 +SNGREP_VERSION = v1.4.6 SNGREP_SITE = $(call github,irontec,sngrep,$(SNGREP_VERSION)) SNGREP_LICENSE = GPL-3.0+ SNGREP_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/snort/0001-configure.in-Avoid-path-poisoning-with-libpcap.patch b/bsp/buildroot/package/snort/0001-configure.in-Avoid-path-poisoning-with-libpcap.patch new file mode 100644 index 00000000..286b6f58 --- /dev/null +++ b/bsp/buildroot/package/snort/0001-configure.in-Avoid-path-poisoning-with-libpcap.patch @@ -0,0 +1,35 @@ +From 732459ca3423799ae3386df3de3f5d6ea2af1b95 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 1 Apr 2018 15:18:51 +0200 +Subject: [PATCH] configure.in: Avoid path poisoning with libpcap + +Prevent usage of unsafe libpcap header path when cross compiling. + +Signed-off-by: Romain Naour +Cc: Sergio Prado +--- +From http://patchwork.ozlabs.org/patch/860363/ +--- + configure.in | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 4b3a5db..1e940b1 100644 +--- a/configure.in ++++ b/configure.in +@@ -70,8 +70,10 @@ case "$host" in + *-linux*) + linux="yes" + AC_DEFINE([LINUX],[1],[Define if Linux]) +- AC_SUBST(extra_incl) +- extra_incl="-I/usr/include/pcap" ++ if test -z "x$with_libpcap_includes"; then ++ AC_SUBST(extra_incl) ++ extra_incl="-I/usr/include/pcap" ++ fi + ;; + *-hpux10*|*-hpux11*) + AC_DEFINE([HPUX],[1],[Define if HP-UX 10 or 11]) +-- +2.14.3 + diff --git a/bsp/buildroot/package/snort/0002-configure.in-Allow-to-override-the-INADDR_NONE-check.patch b/bsp/buildroot/package/snort/0002-configure.in-Allow-to-override-the-INADDR_NONE-check.patch new file mode 100644 index 00000000..65751542 --- /dev/null +++ b/bsp/buildroot/package/snort/0002-configure.in-Allow-to-override-the-INADDR_NONE-check.patch @@ -0,0 +1,44 @@ +From a6817677a42d1294f1a3ce7b9f46b10ec557ddfa Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 1 Apr 2018 15:23:59 +0200 +Subject: [PATCH] configure.in: Allow to override the INADDR_NONE check + +Prevent configure script from trying to run programs in a cross +compilation environment to check if INADDR_NONE is defined. + +In the context of Buildroot, INADDR_NONE is always defined. +The snort package will set have_inaddr_none=yes in +SNORT_CONF_ENV. + +Signed-off-by: Romain Naour +Cc: Sergio Prado +--- + configure.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 1e940b1..938409f 100644 +--- a/configure.in ++++ b/configure.in +@@ -284,8 +284,8 @@ AC_CHECK_TYPES([int8_t,int16_t,int32_t,int64_t]) + AC_CHECK_TYPES([boolean]) + + # In case INADDR_NONE is not defined (like on Solaris) ++AC_CACHE_CHECK([for INADDR_NONE], [have_inaddr_none], [ + have_inaddr_none="no" +-AC_MSG_CHECKING([for INADDR_NONE]) + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[ +@@ -298,7 +298,7 @@ AC_RUN_IFELSE( + return 0; + ]])], + [have_inaddr_none="yes"], +-[have_inaddr_none="no"]) ++[have_inaddr_none="no"])]) + AC_MSG_RESULT($have_inaddr_none) + if test "x$have_inaddr_none" = "xno"; then + AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition]) +-- +2.14.3 + diff --git a/bsp/buildroot/package/snort/0003-configure.in-convert-AC_RUN_IFELSE-to-AC_CHECK_MEMBE.patch b/bsp/buildroot/package/snort/0003-configure.in-convert-AC_RUN_IFELSE-to-AC_CHECK_MEMBE.patch new file mode 100644 index 00000000..059190ff --- /dev/null +++ b/bsp/buildroot/package/snort/0003-configure.in-convert-AC_RUN_IFELSE-to-AC_CHECK_MEMBE.patch @@ -0,0 +1,239 @@ +From 1ef6bdaeb0463a208a14e5d90646ce337df738fc Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 1 Apr 2018 15:38:55 +0200 +Subject: [PATCH] configure.in: convert AC_RUN_IFELSE to AC_CHECK_MEMBERS + +With AC_CHECK_MEMBERS, we don't need to compile and run a test program +to check if a daq structure element is defined. + +Also check DAQ_Data_Channel_Params_t with params.flags + +typedef struct _DAQ_Data_Channel_Params_t +{ + unsigned flags; /* DAQ_DATA_CHANNEL_* flags*/ + unsigned timeout_ms;/* timeout of the data channel in milliseconds */ + unsigned length; /* [Future] length of the data associated with the data channel */ + uint8_t* data; /* [Future] opaque data blob to return with the data channel */ +} DAQ_Data_Channel_Params_t; + +https://github.com/Xiche/libdaq/blob/master/api/daq_common.h + +Signed-off-by: Romain Naour +Cc: Sergio Prado +--- + configure.in | 143 +++++++++++++++++------------------------------------------ + 1 file changed, 41 insertions(+), 102 deletions(-) + +diff --git a/configure.in b/configure.in +index 938409f..571322b 100644 +--- a/configure.in ++++ b/configure.in +@@ -718,17 +718,11 @@ fi + AC_CHECK_FUNCS([daq_hup_apply] [daq_acquire_with_meta] [daq_dp_add_dc]) + + AC_MSG_CHECKING([for daq real addresses]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.n_real_dPort = 0; +-]])], +-[have_daq_real_addresses="yes"], +-[have_daq_real_addresses="no"]) ++ ++AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.n_real_dPort], ++ [have_daq_real_addresses="yes"], ++ [have_daq_real_addresses="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_real_addresses) + if test "x$have_daq_real_addresses" = "xyes"; then + AC_DEFINE([HAVE_DAQ_REAL_ADDRESSES],[1], +@@ -756,17 +750,11 @@ if test "x$ac_cv_func_daq_dp_add_dc" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq address space ID]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.address_space_id = 0; +-]])], +-[have_daq_address_space_id="yes"], +-[have_daq_address_space_id="no"]) ++ ++AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.address_space_id], ++ [have_daq_address_space_id="yes"], ++ [have_daq_address_space_id="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_address_space_id) + if test "x$have_daq_address_space_id" = "xyes"; then + AC_DEFINE([HAVE_DAQ_ADDRESS_SPACE_ID],[1], +@@ -774,17 +762,10 @@ if test "x$have_daq_address_space_id" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq flow ID]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.flow_id = 0; +-]])], +-[have_daq_flow_id="yes"], +-[have_daq_flow_id="no"]) ++AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.flow_id], ++ [have_daq_flow_id="yes"], ++ [have_daq_flow_id="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_flow_id) + if test "x$have_daq_flow_id" = "xyes"; then + AC_DEFINE([HAVE_DAQ_FLOW_ID],[1], +@@ -792,19 +773,10 @@ if test "x$have_daq_flow_id" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq extended flow modifiers]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_ModFlow_t mod; +- mod.type = 0; +- mod.length = 0; +- mod.value = NULL; +-]])], +-[have_daq_ext_modflow="yes"], +-[have_daq_ext_modflow="no"]) ++AC_CHECK_MEMBERS([DAQ_ModFlow_t mod.type, DAQ_ModFlow_t mod.length, DAQ_ModFlow_t mod.value], ++ [have_daq_ext_modflow="yes"], ++ [have_daq_ext_modflow="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_ext_modflow) + if test "x$have_daq_ext_modflow" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_EXT_MODFLOW" +@@ -813,19 +785,11 @@ if test "x$have_daq_ext_modflow" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq query flow]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_QueryFlow_t mod; +- mod.type = 0; +- mod.length = 0; +- mod.value = NULL; +-]])], +-[have_daq_queryflow="yes"], +-[have_daq_queryflow="no"]) ++ ++AC_CHECK_MEMBERS([DAQ_QueryFlow_t mod.type, DAQ_QueryFlow_t mod.length, DAQ_QueryFlow_t mod.value], ++ [have_daq_queryflow="yes"], ++ [have_daq_queryflow="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_queryflow) + if test "x$have_daq_queryflow" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_QUERYFLOW" +@@ -834,16 +798,11 @@ if test "x$have_daq_queryflow" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq data channel flags]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_Data_Channel_Params_t params; +-]])], +-[have_daq_data_channel_flags="yes"], +-[have_daq_data_channel_flags="no"]) ++ ++AC_CHECK_MEMBERS([DAQ_Data_Channel_Params_t params.flags], ++ [have_daq_data_channel_flags="yes"], ++ [have_daq_data_channel_flags="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_data_channel_flags) + if test "x$have_daq_data_channel_flags" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_DATA_CHANNEL_PARAMS" +@@ -852,17 +811,10 @@ if test "x$have_daq_data_channel_flags" = "xyes"; then + fi + + AC_MSG_CHECKING([for separate IP versions on pinhole endpoints]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_DP_key_t dpKey; +- dpKey.src_af = 0; +-]])], +-[have_daq_data_channel_separate_ip_versions="yes"], +-[have_daq_data_channel_separate_ip_versions="no"]) ++AC_CHECK_MEMBERS([DAQ_DP_key_t dpKey.src_af], ++ [have_daq_data_channel_separate_ip_versions="yes"], ++ [have_daq_data_channel_separate_ip_versions="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_data_channel_separate_ip_versions) + if test "x$have_daq_data_channel_separate_ip_versions" = "xyes"; then + CCONFIGFLAGS="${CCONFIGFLAGS} -DHAVE_DAQ_DATA_CHANNEL_SEPARATE_IP_VERSIONS" +@@ -889,17 +841,10 @@ if test "x$have_daq_verdict_retry" = "xyes"; then + fi + + AC_MSG_CHECKING([for daq packet trace]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_PktHdr_t hdr; +- hdr.flags = DAQ_PKT_FLAG_TRACE_ENABLED; +-]])], +-[have_daq_packet_trace="yes"], +-[have_daq_packet_trace="no"]) ++AC_CHECK_MEMBERS([DAQ_PktHdr_t hdr.flags], ++ [have_daq_packet_trace="yes"], ++ [have_daq_packet_trace="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_packet_trace) + if test "x$have_daq_packet_trace" = "xyes"; then + AC_DEFINE([HAVE_DAQ_PKT_TRACE],[1], +@@ -909,17 +854,11 @@ else + fi + + AC_MSG_CHECKING([for daq verdict reason]) +-AC_RUN_IFELSE( +-[AC_LANG_PROGRAM( +-[[ +-#include +-]], +-[[ +- DAQ_ModFlow_t fl; +- fl.type = DAQ_MODFLOW_TYPE_VER_REASON; +-]])], +-[have_daq_verdict_reason="yes"], +-[have_daq_verdict_reason="no"]) ++ ++AC_CHECK_MEMBERS([DAQ_ModFlow_t fl.type], ++ [have_daq_verdict_reason="yes"], ++ [have_daq_verdict_reason="no"], ++ [[#include ]]) + AC_MSG_RESULT($have_daq_verdict_reason) + if test "x$have_daq_verdict_reason" = "xyes"; then + AC_DEFINE([HAVE_DAQ_VERDICT_REASON],[1], +-- +2.14.3 + diff --git a/bsp/buildroot/package/snort/0004-configure.in-convert-AC_RUN_IFELSE-to-AC_COMPILE_IFE.patch b/bsp/buildroot/package/snort/0004-configure.in-convert-AC_RUN_IFELSE-to-AC_COMPILE_IFE.patch new file mode 100644 index 00000000..9c5e611b --- /dev/null +++ b/bsp/buildroot/package/snort/0004-configure.in-convert-AC_RUN_IFELSE-to-AC_COMPILE_IFE.patch @@ -0,0 +1,48 @@ +From 075b5cf8d3940ed2c39fb37c1e14a652e4a6f2fc Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 1 Apr 2018 16:21:31 +0200 +Subject: [PATCH] configure.in: convert AC_RUN_IFELSE to AC_COMPILE_IFELSE + +Prevent configure script from trying to run programs in a cross +compilation environment. + +Signed-off-by: Romain Naour +Cc: Sergio Prado +--- + configure.in | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/configure.in b/configure.in +index 571322b..e489037 100644 +--- a/configure.in ++++ b/configure.in +@@ -431,7 +431,7 @@ if test "x$LPCAP" = "xno"; then + fi + + AC_MSG_CHECKING([for pcap_lex_destroy]) +-AC_RUN_IFELSE( ++AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ + #include +@@ -823,7 +823,7 @@ if test "x$have_daq_data_channel_separate_ip_versions" = "xyes"; then + fi + + AC_MSG_CHECKING([for DAQ_VERDICT_RETRY]) +-AC_RUN_IFELSE( ++AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ + #include +@@ -886,7 +886,7 @@ if eval "echo $host_cpu|grep -i sparc >/dev/null"; then + OLD_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -mcpu=v9 " + AC_MSG_CHECKING([for sparc %time register]) +- AC_RUN_IFELSE( ++ AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[]], + [[ +-- +2.14.3 + diff --git a/bsp/buildroot/package/snort/0005-fix-sparc.patch b/bsp/buildroot/package/snort/0005-fix-sparc.patch new file mode 100644 index 00000000..14792d2c --- /dev/null +++ b/bsp/buildroot/package/snort/0005-fix-sparc.patch @@ -0,0 +1,28 @@ +When checking if the architecture supports the %time register +instruction, do not force -mcpu to v9 while doing so. Otherwise it's +like "let's see if this v9 instruction exists when I force the compiler +to think I'm using v9", which is non-sensical. + +Signed-off-by: Fabrice Fontaine + +diff -Naurp ./snort-2.9.11.1-orig/configure.in snort-2.9.11.1/configure.in +--- ./snort-2.9.11.1-orig/configure.in 2018-05-10 12:20:19.253510678 +0200 ++++ snort-2.9.11.1/configure.in 2018-05-10 12:40:18.547584998 +0200 +@@ -942,8 +942,6 @@ fi + + # check for sparc %time register + if eval "echo $host_cpu|grep -i sparc >/dev/null"; then +- OLD_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -mcpu=v9 " + AC_MSG_CHECKING([for sparc %time register]) + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( +@@ -957,8 +955,6 @@ if eval "echo $host_cpu|grep -i sparc >/ + AC_MSG_RESULT($sparcv9) + if test "x$sparcv9" = "xyes"; then + AC_DEFINE([SPARCV9],[1],[For sparc v9 with %time register]) +- else +- CFLAGS="$OLD_CFLAGS" + fi + fi + diff --git a/bsp/buildroot/package/snort/Config.in b/bsp/buildroot/package/snort/Config.in new file mode 100644 index 00000000..7d2c52c3 --- /dev/null +++ b/bsp/buildroot/package/snort/Config.in @@ -0,0 +1,26 @@ +config BR2_PACKAGE_SNORT + bool "snort" + depends on BR2_USE_WCHAR + depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS # daq + depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS # libtirpc + select BR2_PACKAGE_LIBDNET + select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_DAQ + select BR2_PACKAGE_PCRE + select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC + help + Snort is a free and open source network intrusion + prevention system (IPS) and network intrusion detection + system (IDS). It can perform protocol analysis, content + searching/matching, and can be used to detect a variety + of attacks and probes, such as buffer overflows, stealth + port scans, CGI attacks, SMB probes, OS fingerprinting + attempts, and much more. + + https://www.snort.org + +comment "snort needs a toolchain w/ wchar, threads, dynamic library" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ + !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC) diff --git a/bsp/buildroot/package/snort/snort.hash b/bsp/buildroot/package/snort/snort.hash new file mode 100644 index 00000000..211e862b --- /dev/null +++ b/bsp/buildroot/package/snort/snort.hash @@ -0,0 +1,6 @@ +# Locally computed: +sha256 9f6b3aeac5a109f55504bd370564ac431cb1773507929dc461626898f33f46cd snort-2.9.11.1.tar.gz + +# Hash for license files: +sha256 f98260a6d3e5ef4ede8a2a6b698e5ac91d64c09243f7171e1c5b17b920a835c7 LICENSE +sha256 3f1cbfb20bb2c608e1a474421880d08b8cba6abb00ab7736d22c481d71656a6d COPYING diff --git a/bsp/buildroot/package/snort/snort.mk b/bsp/buildroot/package/snort/snort.mk new file mode 100644 index 00000000..56839346 --- /dev/null +++ b/bsp/buildroot/package/snort/snort.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# snort +# +################################################################################ + +SNORT_VERSION = 2.9.11.1 +SNORT_SITE = https://www.snort.org/downloads/snort +SNORT_LICENSE = GPL-2.0 +SNORT_LICENSE_FILES = LICENSE COPYING + +SNORT_DEPENDENCIES = libpcap libdnet daq pcre + +# patching configure.in +SNORT_AUTORECONF = YES + +SNORT_CONF_OPTS = \ + --with-libpcre-includes=$(STAGING_DIR)/usr/include \ + --with-libpcre-libraries=$(STAGING_DIR)/usr/lib \ + --with-libpcap-includes=$(STAGING_DIR)/usr/include/pcap \ + --disable-static-daq + +ifeq ($(BR2_PACKAGE_LIBTIRPC),y) +SNORT_DEPENDENCIES += libtirpc host-pkgconf +SNORT_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc` +SNORT_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc` +endif + +SNORT_CONF_ENV = \ + CFLAGS="$(TARGET_CFLAGS) $(SNORT_CFLAGS)" \ + LIBS="$(SNORT_LIBS)" \ + have_inaddr_none=yes + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/softether/0003-use-fhs-install-directories.patch b/bsp/buildroot/package/softether/0003-use-fhs-install-directories.patch index c489cc1a..ba00d9b6 100644 --- a/bsp/buildroot/package/softether/0003-use-fhs-install-directories.patch +++ b/bsp/buildroot/package/softether/0003-use-fhs-install-directories.patch @@ -15,20 +15,22 @@ https://github.com/dajhorn/SoftEtherVPN/commit/b9420c3bfc2a8b9d35d0c8e5f6849007c Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni + +[Updated for 4.28 build 9669 beta - src/Mayaqua/Encrypt.c dropped IsXRevoked() +Signed-off-by: Matthew Weber --- autotools/softether.am | 1 + src/Cedar/Admin.c | 2 +- src/Cedar/Command.c | 6 +++++- src/Cedar/Logging.c | 2 +- src/Cedar/Server.c | 4 ++-- - src/Mayaqua/Encrypt.c | 2 +- src/Mayaqua/FileIO.c | 39 ++++++++++++++++++++++++++++++++++++--- src/Mayaqua/FileIO.h | 2 ++ src/Mayaqua/Mayaqua.c | 4 ++++ src/Mayaqua/Table.c | 6 +++++- src/Mayaqua/Unix.c | 6 +++--- src/bin/hamcore/Makefile.am | 8 ++++++-- - 12 files changed, 67 insertions(+), 15 deletions(-) + 11 files changed, 66 insertions(+), 14 deletions(-) Index: b/autotools/softether.am =================================================================== @@ -115,19 +117,6 @@ Index: b/src/Cedar/Server.c Format(dir_full_path, sizeof(dir_full_path), "%s/%s", exe_dir, dirname); dir = EnumDir(dir_full_path); -Index: b/src/Mayaqua/Encrypt.c -=================================================================== ---- a/src/Mayaqua/Encrypt.c -+++ b/src/Mayaqua/Encrypt.c -@@ -579,7 +579,7 @@ - return false; - } - -- GetExeDir(dirname, sizeof(dirname)); -+ GetStateDir(dirname, sizeof(dirname)); - - // Search the CRL file - t = EnumDir(dirname); Index: b/src/Mayaqua/FileIO.c =================================================================== --- a/src/Mayaqua/FileIO.c diff --git a/bsp/buildroot/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch b/bsp/buildroot/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch new file mode 100644 index 00000000..20a1f062 --- /dev/null +++ b/bsp/buildroot/package/softether/0010-Encrypt-set-default-RSA-key-size-to-1024-everywhere-.patch @@ -0,0 +1,78 @@ +From 1fad008e1adba5cb596da6f9ec6a244d49a585cf Mon Sep 17 00:00:00 2001 +From: Davide Beatrici +Date: Mon, 9 Apr 2018 22:02:34 +0200 +Subject: [PATCH] Encrypt: set default RSA key size to 1024 everywhere, using + the RSA_KEY_SIZE macro + +This commit also fixes the problem described in #31, which was caused by the test key generated in RsaCheck() being too small for newer OpenSSL versions. + +Failure looks like +-- Alert: RsaCheck() -- +OpenSSL Library Init Failed. (too old?) +Please install the latest version of OpenSSL. + +Upstream: https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/commit/1fad008e1adba5cb596da6f9ec6a244d49a585cf +(Currently still on an active pull request https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/pull/1) + +Signed-off-by: Matthew Weber +--- + src/Mayaqua/Encrypt.c | 8 ++++---- + src/Mayaqua/Encrypt.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/Mayaqua/Encrypt.c b/src/Mayaqua/Encrypt.c +index 381d1c5..a557052 100644 +--- a/src/Mayaqua/Encrypt.c ++++ b/src/Mayaqua/Encrypt.c +@@ -2194,7 +2194,7 @@ bool RsaVerifyEx(void *data, UINT data_size, void *sign, K *k, UINT bits) + } + if (bits == 0) + { +- bits = 1024; ++ bits = RSA_KEY_SIZE; + } + + // Hash the data +@@ -2233,7 +2233,7 @@ bool RsaSignEx(void *dst, void *src, UINT size, K *k, UINT bits) + } + if (bits == 0) + { +- bits = 1024; ++ bits = RSA_KEY_SIZE; + } + + Zero(dst, bits / 8); +@@ -2302,7 +2302,7 @@ bool RsaCheck() + BIO *bio; + char errbuf[MAX_SIZE]; + UINT size = 0; +- UINT bit = 32; ++ UINT bit = RSA_KEY_SIZE; + // Validate arguments + + // Key generation +@@ -2372,7 +2372,7 @@ bool RsaGen(K **priv, K **pub, UINT bit) + } + if (bit == 0) + { +- bit = 1024; ++ bit = RSA_KEY_SIZE; + } + + // Key generation +diff --git a/src/Mayaqua/Encrypt.h b/src/Mayaqua/Encrypt.h +index d795d2d..0c48161 100644 +--- a/src/Mayaqua/Encrypt.h ++++ b/src/Mayaqua/Encrypt.h +@@ -128,7 +128,7 @@ void RAND_Free_For_SoftEther(); + #define DES_IV_SIZE 8 // DES IV size + #define DES_BLOCK_SIZE 8 // DES block size + #define DES3_KEY_SIZE (8 * 3) // 3DES key size +-#define RSA_KEY_SIZE 128 // RSA key size ++#define RSA_KEY_SIZE 1024 // RSA key size + #define DH_KEY_SIZE 128 // DH key size + #define RSA_MIN_SIGN_HASH_SIZE (15 + SHA1_HASH_SIZE) // Minimum RSA hash size + #define RSA_SIGN_HASH_SIZE (RSA_MIN_SIGN_HASH_SIZE) // RSA hash size +-- +1.9.1 + diff --git a/bsp/buildroot/package/softether/softether.hash b/bsp/buildroot/package/softether/softether.hash index ec6e0603..fdbbbca3 100644 --- a/bsp/buildroot/package/softether/softether.hash +++ b/bsp/buildroot/package/softether/softether.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 8e6310d36e579ea07171ce5fcb9ebe31235d218444c4e4836ca6c32aa49c1f93 softether-v4.22-9634-beta.tar.gz -sha256 7aeb873293fa0e44425dabf68a8e46e26c848fe58efcfd3ac7c90a3386f3edd1 LICENSE +sha256 fbf6e04c4451d0cb1555c3a53c178b5453c7d761119f82fd693538c9f115fecb softether-v4.28-9669-beta.tar.gz +sha256 0a889e7e7a277397d0a2d56c37814eefd8c6b6129d8b74ee2d27fc3415fad561 LICENSE diff --git a/bsp/buildroot/package/softether/softether.mk b/bsp/buildroot/package/softether/softether.mk index 05d2f20f..31378e8b 100644 --- a/bsp/buildroot/package/softether/softether.mk +++ b/bsp/buildroot/package/softether/softether.mk @@ -4,8 +4,8 @@ # ################################################################################ -SOFTETHER_VERSION = v4.22-9634-beta -SOFTETHER_SITE = $(call github,SoftEtherVPN,SoftEtherVPN,$(SOFTETHER_VERSION)) +SOFTETHER_VERSION = v4.28-9669-beta +SOFTETHER_SITE = $(call github,SoftEtherVPN,SoftEtherVPN_stable,$(SOFTETHER_VERSION)) SOFTETHER_LICENSE = GPL-2.0 SOFTETHER_LICENSE_FILES = LICENSE SOFTETHER_DEPENDENCIES = host-softether libopenssl readline diff --git a/bsp/buildroot/package/solarus/0001-cmake-remove-Werror.patch b/bsp/buildroot/package/solarus/0001-cmake-remove-Werror.patch index b27908c8..533ac91c 100644 --- a/bsp/buildroot/package/solarus/0001-cmake-remove-Werror.patch +++ b/bsp/buildroot/package/solarus/0001-cmake-remove-Werror.patch @@ -1,27 +1,26 @@ -From 4d315359d15e1221f3463b77a960a60093aac893 Mon Sep 17 00:00:00 2001 +From 5f372ba3502369c6501c77650a761300d26f64c0 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Thu, 22 Jun 2017 00:19:56 +0200 Subject: [PATCH] cmake: remove Werror Signed-off-by: Romain Naour --- - cmake/AddCompilationFlags.cmake | 3 --- - 1 file changed, 3 deletions(-) + cmake/AddCompilationFlags.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/AddCompilationFlags.cmake b/cmake/AddCompilationFlags.cmake -index 5159ff9..a506033 100644 +index 2c105db7f..cb5c5719a 100644 --- a/cmake/AddCompilationFlags.cmake +++ b/cmake/AddCompilationFlags.cmake -@@ -24,9 +24,6 @@ endif() - # Be less pedantic in release builds for users. - set(CMAKE_CXX_FLAGS_RELEASE "-Wno-error -Wall -Wextra -Wno-unknown-pragmas -Wno-fatal-errors ${CMAKE_CXX_FLAGS_RELEASE}") +@@ -25,7 +25,7 @@ endif() + set(CMAKE_CXX_FLAGS_RELEASE "-Wno-error -Wall -Wextra -Wno-unknown-pragmas -Wno-fatal-errors ${CMAKE_CXX_FLAGS_RELEASE} -O3") --# Be more pedantic in debug mode for developers. --set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall -Wextra -pedantic ${CMAKE_CXX_FLAGS_DEBUG}") -- - # Platform-specific flags. - if(WIN32) - # MinGW: disable the console by default. + # Be more pedantic in debug mode for developers. +-set(CMAKE_CXX_FLAGS_DEBUG "-Werror -Wall -Wextra -Wno-error=deprecated-declarations -pedantic ${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") ++set(CMAKE_CXX_FLAGS_DEBUG "-Wno-error -Wall -Wextra -Wno-error=deprecated-declarations -pedantic ${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") + if(CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wsuggest-override") + endif() -- -2.9.4 +2.14.5 diff --git a/bsp/buildroot/package/solarus/Config.in b/bsp/buildroot/package/solarus/Config.in index 30c7aa28..359ad15e 100644 --- a/bsp/buildroot/package/solarus/Config.in +++ b/bsp/buildroot/package/solarus/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_SOLARUS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal depends on !BR2_STATIC_LIBS # SDL2 + depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_LIBMODPLUG select BR2_PACKAGE_LIBOGG select BR2_PACKAGE_LIBPNG # runtime @@ -24,8 +25,9 @@ config BR2_PACKAGE_SOLARUS http://www.solarus-games.org https://github.com/solarus-games/solarus -comment "solarus needs a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library" +comment "solarus needs OpenGL and a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library" depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ - || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS \ + || !BR2_PACKAGE_HAS_LIBGL diff --git a/bsp/buildroot/package/solarus/solarus.hash b/bsp/buildroot/package/solarus/solarus.hash index 8ed5cafa..dab8d1a1 100644 --- a/bsp/buildroot/package/solarus/solarus.hash +++ b/bsp/buildroot/package/solarus/solarus.hash @@ -1,5 +1,4 @@ # Locally calculated -sha256 5930584e7c333089a2c1bf372ccc25ad3fb5c1d973189d2bf67f2308189af94d solarus-v1.5.3.tar.gz +sha256 d800fdf388f860732f2d40c8dd635c34fd1c452857f75bf9b3a421e3ef5ee751 solarus-1.6.0-src.tar.gz -sha256 09cb24006b6a3f2698d8851dc5df4f413c1a98e20d4008bffd76ec236f14244d license.txt -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 license_gpl.txt +sha256 309875d925041d909bc705473d6c4b7905272aea15c1c2389088c26c161bae1f license.txt diff --git a/bsp/buildroot/package/solarus/solarus.mk b/bsp/buildroot/package/solarus/solarus.mk index af37f81a..fd7bbea2 100644 --- a/bsp/buildroot/package/solarus/solarus.mk +++ b/bsp/buildroot/package/solarus/solarus.mk @@ -4,17 +4,18 @@ # ################################################################################ -SOLARUS_VERSION = v1.5.3 -SOLARUS_SITE = $(call github,solarus-games,solarus,$(SOLARUS_VERSION)) +SOLARUS_VERSION = 1.6.0 +SOLARUS_SITE = http://www.solarus-games.org/downloads/solarus +SOLARUS_SOURCE = solarus-$(SOLARUS_VERSION)-src.tar.gz SOLARUS_LICENSE = GPL-3.0 (code), CC-BY-SA-4.0 (Solarus logos and icons), \ CC-BY-SA-3.0 (GUI icons) -SOLARUS_LICENSE_FILES = license.txt license_gpl.txt +SOLARUS_LICENSE_FILES = license.txt # Install libsolarus.so SOLARUS_INSTALL_STAGING = YES -SOLARUS_DEPENDENCIES = libmodplug libogg libvorbis luajit openal physfs sdl2 \ +SOLARUS_DEPENDENCIES = libgl libmodplug libogg libvorbis luajit openal physfs sdl2 \ sdl2_image sdl2_ttf # Disable launcher GUI (requires Qt5) diff --git a/bsp/buildroot/package/spandsp/Config.in b/bsp/buildroot/package/spandsp/Config.in new file mode 100644 index 00000000..a2d5b85d --- /dev/null +++ b/bsp/buildroot/package/spandsp/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_SPANDSP + bool "spandsp" + select BR2_PACKAGE_TIFF + help + Spandsp is a library of many DSP functions for telephony. + These range from simple modules, such as DTMF detection, to + a complete software FAX machine. + + http://www.soft-switch.org/ diff --git a/bsp/buildroot/package/spandsp/spandsp.hash b/bsp/buildroot/package/spandsp/spandsp.hash new file mode 100644 index 00000000..1123e29c --- /dev/null +++ b/bsp/buildroot/package/spandsp/spandsp.hash @@ -0,0 +1,3 @@ +# sha256 locally computed +sha256 0fcdda74bd9703dd66c3e9721bf2d81bd7c185c539d1887768c2b332ab703d51 spandsp-20180108.tar.gz +sha256 366576cb0b869cd9e95a4882878607314650488ac635e5df0692180382e9666a COPYING diff --git a/bsp/buildroot/package/spandsp/spandsp.mk b/bsp/buildroot/package/spandsp/spandsp.mk new file mode 100644 index 00000000..e02c15a7 --- /dev/null +++ b/bsp/buildroot/package/spandsp/spandsp.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# spandsp +# +################################################################################ + +SPANDSP_VERSION = 20180108 +SPANDSP_SITE = https://www.soft-switch.org/downloads/spandsp/snapshots + +SPANDSP_LICENSE = LGPL-2.1 (library), GPL-2.0 (test suite) +SPANDSP_LICENSE_FILES = COPYING + +SPANDSP_DEPENDENCIES = tiff host-pkgconf +SPANDSP_INSTALL_STAGING = YES +SPANDSP_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libtiff-4`" + +SPANDSP_CONF_OPTS = \ + --disable-builtin-tiff \ + $(if $(BR2_X86_CPU_HAS_MMX),--enable-mmx,--disable-mmx) \ + $(if $(BR2_X86_CPU_HAS_SSE),--enable-sse,--disable-sse) \ + $(if $(BR2_X86_CPU_HAS_SSE2),--enable-sse2,--disable-sse2) \ + $(if $(BR2_X86_CPU_HAS_SSE3),--enable-sse3,--disable-sse3) \ + $(if $(BR2_X86_CPU_HAS_SSSE3),--enable-ssse3,--disable-ssse3) \ + $(if $(BR2_X86_CPU_HAS_SSE4),--enable-sse4-1,--disable-sse4-1) \ + $(if $(BR2_X86_CPU_HAS_SSE42),--enable-sse4-2,--disable-sse4-2) + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/speex/0001-thumb2-support.patch b/bsp/buildroot/package/speex/0001-thumb2-support.patch index b6f73692..092fa132 100644 --- a/bsp/buildroot/package/speex/0001-thumb2-support.patch +++ b/bsp/buildroot/package/speex/0001-thumb2-support.patch @@ -4,6 +4,8 @@ Patch written by Michael Hope from Linaro, available at http://lists.xiph.org/pipermail/speex-dev/2010-November/008041.html. Signed-off-by: Thomas Petazzoni +[Bernd: rebased for 1.2.0] +Signed-off-by: Bernd Kuhls diff --git a/libspeex/filters_arm4.h b/libspeex/filters_arm4.h index 7a74042..6ec1f75 100644 @@ -12,10 +14,10 @@ index 7a74042..6ec1f75 100644 @@ -47,8 +47,10 @@ int normalize16(const spx_sig_t *x, spx_word16_t *y, spx_sig_t max_scale, int le "\tldr %4, [%0], #4 \n" - "\tcmps %4, %1 \n" + "\tcmp %4, %1 \n" + "\tit gt \n" "\tmovgt %1, %4 \n" - "\tcmps %4, %3 \n" + "\tcmp %4, %3 \n" + "\tit lt \n" "\tmovlt %3, %4 \n" diff --git a/bsp/buildroot/package/speex/speex.hash b/bsp/buildroot/package/speex/speex.hash index c38a0a7b..f5235d62 100644 --- a/bsp/buildroot/package/speex/speex.hash +++ b/bsp/buildroot/package/speex/speex.hash @@ -1,2 +1,6 @@ -# From http://downloads.xiph.org/releases/speex/SHA256SUMS.txt -sha256 342f30dc57bd4a6dad41398365baaa690429660b10d866b7d508e8f1179cb7a6 speex-1.2rc1.tar.gz +# From https://downloads.xiph.org/releases/speex/SHA256SUMS.txt +sha256 eaae8af0ac742dc7d542c9439ac72f1f385ce838392dc849cae4536af9210094 speex-1.2.0.tar.gz +# From https://downloads.xiph.org/releases/speex/MD5SUMS +md5 8ab7bb2589110dfaf0ed7fa7757dc49c speex-1.2.0.tar.gz +# Locally computed +sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f COPYING diff --git a/bsp/buildroot/package/speex/speex.mk b/bsp/buildroot/package/speex/speex.mk index 1b278ea2..522f8cc0 100644 --- a/bsp/buildroot/package/speex/speex.mk +++ b/bsp/buildroot/package/speex/speex.mk @@ -4,18 +4,19 @@ # ################################################################################ -SPEEX_VERSION = 1.2rc1 -SPEEX_SITE = http://downloads.us.xiph.org/releases/speex +SPEEX_VERSION = 1.2.0 +SPEEX_SITE = https://downloads.xiph.org/releases/speex SPEEX_LICENSE = BSD-3-Clause SPEEX_LICENSE_FILES = COPYING - SPEEX_INSTALL_STAGING = YES -SPEEX_DEPENDENCIES = libogg +SPEEX_DEPENDENCIES = host-pkgconf libogg SPEEX_CONF_OPTS = \ - --with-ogg-libraries=$(STAGING_DIR)/usr/lib \ - --with-ogg-includes=$(STAGING_DIR)/usr/include \ --enable-fixed-point +ifeq ($(BR2_PACKAGE_SPEEXDSP),y) +SPEEX_DEPENDENCIES += speexdsp +endif + ifeq ($(BR2_PACKAGE_SPEEX_ARM4),y) SPEEX_CONF_OPTS += --enable-arm4-asm endif @@ -31,8 +32,4 @@ endef SPEEX_POST_CONFIGURE_HOOKS += SPEEX_LIBTOOL_FIXUP -define SPEEX_BUILD_CMDS - $($(PKG)_MAKE_ENV) $(MAKE) $($(PKG)_MAKE_OPTS) -C $(@D)/$($(PKG)_SUBDIR) -endef - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/speexdsp/0001-port-resample-neon-to-aarch64.patch b/bsp/buildroot/package/speexdsp/0001-port-resample-neon-to-aarch64.patch new file mode 100644 index 00000000..7f3da9c4 --- /dev/null +++ b/bsp/buildroot/package/speexdsp/0001-port-resample-neon-to-aarch64.patch @@ -0,0 +1,250 @@ +From: Frank Barchard +Date: Thu, 21 Jul 2016 23:01:19 +0000 (-0700) +Subject: resample: port resample_neon.h to aarch64 +X-Git-Url: https://git.xiph.org/?p=speexdsp.git;a=commitdiff_plain;h=3282cc7c3cd30cd1c092ad1e7ff03bd20d75c088 + +resample: port resample_neon.h to aarch64 + +port optimized inner_product_single and WORD2INT(x) for fixed +and floating point from 32 bit armv7 NEON to aarch64 NEON. + +Patch downloaded from upstream repo to fix aarch64 build error: +https://git.xiph.org/?p=speexdsp.git;a=commitdiff;h=3282cc7c3cd30cd1c092ad1e7ff03bd20d75c088#patch1 + +Signed-off-by: Bernd Kuhls +--- + +diff --git a/libspeexdsp/resample_neon.h b/libspeexdsp/resample_neon.h +index 0acbd27..e14ffe1 100644 +--- a/libspeexdsp/resample_neon.h ++++ b/libspeexdsp/resample_neon.h +@@ -36,14 +36,24 @@ + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#include +- + #ifdef FIXED_POINT +-#ifdef __thumb2__ ++#if defined(__aarch64__) ++static inline int32_t saturate_32bit_to_16bit(int32_t a) { ++ int32_t ret; ++ asm ("fmov s0, %w[a]\n" ++ "sqxtn h0, s0\n" ++ "sxtl v0.4s, v0.4h\n" ++ "fmov %w[ret], s0\n" ++ : [ret] "=r" (ret) ++ : [a] "r" (a) ++ : "v0" ); ++ return ret; ++} ++#elif defined(__thumb2__) + static inline int32_t saturate_32bit_to_16bit(int32_t a) { + int32_t ret; + asm ("ssat %[ret], #16, %[a]" +- : [ret] "=&r" (ret) ++ : [ret] "=r" (ret) + : [a] "r" (a) + : ); + return ret; +@@ -54,7 +64,7 @@ static inline int32_t saturate_32bit_to_16bit(int32_t a) { + asm ("vmov.s32 d0[0], %[a]\n" + "vqmovn.s32 d0, q0\n" + "vmov.s16 %[ret], d0[0]\n" +- : [ret] "=&r" (ret) ++ : [ret] "=r" (ret) + : [a] "r" (a) + : "q0"); + return ret; +@@ -64,7 +74,63 @@ static inline int32_t saturate_32bit_to_16bit(int32_t a) { + #define WORD2INT(x) (saturate_32bit_to_16bit(x)) + + #define OVERRIDE_INNER_PRODUCT_SINGLE +-/* Only works when len % 4 == 0 */ ++/* Only works when len % 4 == 0 and len >= 4 */ ++#if defined(__aarch64__) ++static inline int32_t inner_product_single(const int16_t *a, const int16_t *b, unsigned int len) ++{ ++ int32_t ret; ++ uint32_t remainder = len % 16; ++ len = len - remainder; ++ ++ asm volatile (" cmp %w[len], #0\n" ++ " b.ne 1f\n" ++ " ld1 {v16.4h}, [%[b]], #8\n" ++ " ld1 {v20.4h}, [%[a]], #8\n" ++ " subs %w[remainder], %w[remainder], #4\n" ++ " smull v0.4s, v16.4h, v20.4h\n" ++ " b.ne 4f\n" ++ " b 5f\n" ++ "1:" ++ " ld1 {v16.4h, v17.4h, v18.4h, v19.4h}, [%[b]], #32\n" ++ " ld1 {v20.4h, v21.4h, v22.4h, v23.4h}, [%[a]], #32\n" ++ " subs %w[len], %w[len], #16\n" ++ " smull v0.4s, v16.4h, v20.4h\n" ++ " smlal v0.4s, v17.4h, v21.4h\n" ++ " smlal v0.4s, v18.4h, v22.4h\n" ++ " smlal v0.4s, v19.4h, v23.4h\n" ++ " b.eq 3f\n" ++ "2:" ++ " ld1 {v16.4h, v17.4h, v18.4h, v19.4h}, [%[b]], #32\n" ++ " ld1 {v20.4h, v21.4h, v22.4h, v23.4h}, [%[a]], #32\n" ++ " subs %w[len], %w[len], #16\n" ++ " smlal v0.4s, v16.4h, v20.4h\n" ++ " smlal v0.4s, v17.4h, v21.4h\n" ++ " smlal v0.4s, v18.4h, v22.4h\n" ++ " smlal v0.4s, v19.4h, v23.4h\n" ++ " b.ne 2b\n" ++ "3:" ++ " cmp %w[remainder], #0\n" ++ " b.eq 5f\n" ++ "4:" ++ " ld1 {v18.4h}, [%[b]], #8\n" ++ " ld1 {v22.4h}, [%[a]], #8\n" ++ " subs %w[remainder], %w[remainder], #4\n" ++ " smlal v0.4s, v18.4h, v22.4h\n" ++ " b.ne 4b\n" ++ "5:" ++ " saddlv d0, v0.4s\n" ++ " sqxtn s0, d0\n" ++ " sqrshrn h0, s0, #15\n" ++ " sxtl v0.4s, v0.4h\n" ++ " fmov %w[ret], s0\n" ++ : [ret] "=r" (ret), [a] "+r" (a), [b] "+r" (b), ++ [len] "+r" (len), [remainder] "+r" (remainder) ++ : ++ : "cc", "v0", ++ "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23"); ++ return ret; ++} ++#else + static inline int32_t inner_product_single(const int16_t *a, const int16_t *b, unsigned int len) + { + int32_t ret; +@@ -112,33 +178,104 @@ static inline int32_t inner_product_single(const int16_t *a, const int16_t *b, u + " vqmovn.s64 d0, q0\n" + " vqrshrn.s32 d0, q0, #15\n" + " vmov.s16 %[ret], d0[0]\n" +- : [ret] "=&r" (ret), [a] "+r" (a), [b] "+r" (b), ++ : [ret] "=r" (ret), [a] "+r" (a), [b] "+r" (b), + [len] "+r" (len), [remainder] "+r" (remainder) + : + : "cc", "q0", +- "d16", "d17", "d18", "d19", +- "d20", "d21", "d22", "d23"); ++ "d16", "d17", "d18", "d19", "d20", "d21", "d22", "d23"); + + return ret; + } +-#elif defined(FLOATING_POINT) ++#endif // !defined(__aarch64__) + ++#elif defined(FLOATING_POINT) ++#if defined(__aarch64__) ++static inline int32_t saturate_float_to_16bit(float a) { ++ int32_t ret; ++ asm ("fcvtas s1, %s[a]\n" ++ "sqxtn h1, s1\n" ++ "sxtl v1.4s, v1.4h\n" ++ "fmov %w[ret], s1\n" ++ : [ret] "=r" (ret) ++ : [a] "w" (a) ++ : "v1"); ++ return ret; ++} ++#else + static inline int32_t saturate_float_to_16bit(float a) { + int32_t ret; + asm ("vmov.f32 d0[0], %[a]\n" + "vcvt.s32.f32 d0, d0, #15\n" + "vqrshrn.s32 d0, q0, #15\n" + "vmov.s16 %[ret], d0[0]\n" +- : [ret] "=&r" (ret) ++ : [ret] "=r" (ret) + : [a] "r" (a) + : "q0"); + return ret; + } ++#endif ++ + #undef WORD2INT + #define WORD2INT(x) (saturate_float_to_16bit(x)) + + #define OVERRIDE_INNER_PRODUCT_SINGLE +-/* Only works when len % 4 == 0 */ ++/* Only works when len % 4 == 0 and len >= 4 */ ++#if defined(__aarch64__) ++static inline float inner_product_single(const float *a, const float *b, unsigned int len) ++{ ++ float ret; ++ uint32_t remainder = len % 16; ++ len = len - remainder; ++ ++ asm volatile (" cmp %w[len], #0\n" ++ " b.ne 1f\n" ++ " ld1 {v16.4s}, [%[b]], #16\n" ++ " ld1 {v20.4s}, [%[a]], #16\n" ++ " subs %w[remainder], %w[remainder], #4\n" ++ " fmul v1.4s, v16.4s, v20.4s\n" ++ " b.ne 4f\n" ++ " b 5f\n" ++ "1:" ++ " ld1 {v16.4s, v17.4s, v18.4s, v19.4s}, [%[b]], #64\n" ++ " ld1 {v20.4s, v21.4s, v22.4s, v23.4s}, [%[a]], #64\n" ++ " subs %w[len], %w[len], #16\n" ++ " fmul v1.4s, v16.4s, v20.4s\n" ++ " fmul v2.4s, v17.4s, v21.4s\n" ++ " fmul v3.4s, v18.4s, v22.4s\n" ++ " fmul v4.4s, v19.4s, v23.4s\n" ++ " b.eq 3f\n" ++ "2:" ++ " ld1 {v16.4s, v17.4s, v18.4s, v19.4s}, [%[b]], #64\n" ++ " ld1 {v20.4s, v21.4s, v22.4s, v23.4s}, [%[a]], #64\n" ++ " subs %w[len], %w[len], #16\n" ++ " fmla v1.4s, v16.4s, v20.4s\n" ++ " fmla v2.4s, v17.4s, v21.4s\n" ++ " fmla v3.4s, v18.4s, v22.4s\n" ++ " fmla v4.4s, v19.4s, v23.4s\n" ++ " b.ne 2b\n" ++ "3:" ++ " fadd v16.4s, v1.4s, v2.4s\n" ++ " fadd v17.4s, v3.4s, v4.4s\n" ++ " cmp %w[remainder], #0\n" ++ " fadd v1.4s, v16.4s, v17.4s\n" ++ " b.eq 5f\n" ++ "4:" ++ " ld1 {v18.4s}, [%[b]], #16\n" ++ " ld1 {v22.4s}, [%[a]], #16\n" ++ " subs %w[remainder], %w[remainder], #4\n" ++ " fmla v1.4s, v18.4s, v22.4s\n" ++ " b.ne 4b\n" ++ "5:" ++ " faddp v1.4s, v1.4s, v1.4s\n" ++ " faddp %[ret].4s, v1.4s, v1.4s\n" ++ : [ret] "=w" (ret), [a] "+r" (a), [b] "+r" (b), ++ [len] "+r" (len), [remainder] "+r" (remainder) ++ : ++ : "cc", "v1", "v2", "v3", "v4", ++ "v16", "v17", "v18", "v19", "v20", "v21", "v22", "v23"); ++ return ret; ++} ++#else + static inline float inner_product_single(const float *a, const float *b, unsigned int len) + { + float ret; +@@ -191,11 +328,12 @@ static inline float inner_product_single(const float *a, const float *b, unsigne + " vadd.f32 d0, d0, d1\n" + " vpadd.f32 d0, d0, d0\n" + " vmov.f32 %[ret], d0[0]\n" +- : [ret] "=&r" (ret), [a] "+r" (a), [b] "+r" (b), ++ : [ret] "=r" (ret), [a] "+r" (a), [b] "+r" (b), + [len] "+l" (len), [remainder] "+l" (remainder) + : +- : "cc", "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7", "q8", +- "q9", "q10", "q11"); ++ : "cc", "q0", "q1", "q2", "q3", ++ "q4", "q5", "q6", "q7", "q8", "q9", "q10", "q11"); + return ret; + } ++#endif // defined(__aarch64__) + #endif diff --git a/bsp/buildroot/package/speexdsp/Config.in b/bsp/buildroot/package/speexdsp/Config.in new file mode 100644 index 00000000..2ae5b59d --- /dev/null +++ b/bsp/buildroot/package/speexdsp/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_SPEEXDSP + bool "speexdsp" + help + DSP library derived from speex. + + https://www.speex.org diff --git a/bsp/buildroot/package/speexdsp/speexdsp.hash b/bsp/buildroot/package/speexdsp/speexdsp.hash new file mode 100644 index 00000000..5c3d6b96 --- /dev/null +++ b/bsp/buildroot/package/speexdsp/speexdsp.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 e896489e045d11933723a94b9dd6f8e7d3d4e0d4b34c9612bcb2f4204261130c speexdsp-20ed3452074664ad07e380e51321b148acebdf20.tar.gz +sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f COPYING diff --git a/bsp/buildroot/package/speexdsp/speexdsp.mk b/bsp/buildroot/package/speexdsp/speexdsp.mk new file mode 100644 index 00000000..09c82856 --- /dev/null +++ b/bsp/buildroot/package/speexdsp/speexdsp.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# speexdsp +# +################################################################################ + +SPEEXDSP_VERSION = 20ed3452074664ad07e380e51321b148acebdf20 +SPEEXDSP_SITE = https://git.xiph.org/speexdsp.git +SPEEXDSP_SITE_METHOD = git +SPEEXDSP_LICENSE = BSD-3-Clause +SPEEXDSP_LICENSE_FILES = COPYING +SPEEXDSP_INSTALL_STAGING = YES +SPEEXDSP_DEPENDENCIES = host-pkgconf +SPEEXDSP_AUTORECONF = YES + +# Autoreconf step fails due to missing m4 directory +define SPEEXDSP_CREATE_M4_DIR + mkdir -p $(@D)/m4 +endef +SPEEXDSP_PRE_CONFIGURE_HOOKS += SPEEXDSP_CREATE_M4_DIR + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/spi-tools/spi-tools.hash b/bsp/buildroot/package/spi-tools/spi-tools.hash index 25c73814..8fe2d3e6 100644 --- a/bsp/buildroot/package/spi-tools/spi-tools.hash +++ b/bsp/buildroot/package/spi-tools/spi-tools.hash @@ -1,2 +1,3 @@ # locally computed hash -sha256 72a6c4a9d13011addc61bc3906543cd06f76f567270ae4b6ca4d0115fd6a9538 spi-tools-0.8.1.tar.gz +sha256 1f29548187c5a57ca5902d260b01ca9ce04d93e4406ff77f317e1d6423ed3610 spi-tools-0.8.3.tar.gz +sha256 a01259a1b522cf0de95824f9860613b453153eebac468e96196d5d7dba84786c LICENSE diff --git a/bsp/buildroot/package/spi-tools/spi-tools.mk b/bsp/buildroot/package/spi-tools/spi-tools.mk index e5f3774b..d21e4d64 100644 --- a/bsp/buildroot/package/spi-tools/spi-tools.mk +++ b/bsp/buildroot/package/spi-tools/spi-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -SPI_TOOLS_VERSION = 0.8.1 +SPI_TOOLS_VERSION = 0.8.3 SPI_TOOLS_SITE = $(call github,cpb-,spi-tools,$(SPI_TOOLS_VERSION)) # autoreconf must be run as specified in package documentation SPI_TOOLS_AUTORECONF = YES diff --git a/bsp/buildroot/package/spidev_test/spidev_test.mk b/bsp/buildroot/package/spidev_test/spidev_test.mk index 1d657803..bf8170cd 100644 --- a/bsp/buildroot/package/spidev_test/spidev_test.mk +++ b/bsp/buildroot/package/spidev_test/spidev_test.mk @@ -32,7 +32,7 @@ endef SPIDEV_TEST_POST_PATCH_HOOKS += SPIDEV_ADD_LINUX_IOCTL define SPIDEV_TEST_EXTRACT_CMDS - cp $(DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c + cp $(SPIDEV_TEST_DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c endef define SPIDEV_TEST_BUILD_CMDS diff --git a/bsp/buildroot/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch b/bsp/buildroot/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch new file mode 100644 index 00000000..4fa3e3c7 --- /dev/null +++ b/bsp/buildroot/package/sqlcipher/0001-Support-OpenSSL-1.1.0-and-prior.patch @@ -0,0 +1,97 @@ +From 43f71fa7b4c6a20f4078b9098369abb8d38a5617 Mon Sep 17 00:00:00 2001 +From: Nick Parker +Date: Fri, 9 Dec 2016 11:47:39 -0600 +Subject: [PATCH] Support OpenSSL 1.1.0 and prior + +(cherry picked from commit 939c83a007e4724436c3955ae2afd8b11b92d867) +Signed-off-by: Matt Weber +--- + src/crypto_openssl.c | 53 +++++++++++++++++++++++++++++++++++++--------------- + 1 file changed, 38 insertions(+), 15 deletions(-) + +diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c +index 150ab92..6822325 100644 +--- a/src/crypto_openssl.c ++++ b/src/crypto_openssl.c +@@ -47,6 +47,29 @@ static unsigned int openssl_external_init = 0; + static unsigned int openssl_init_count = 0; + static sqlite3_mutex* openssl_rand_mutex = NULL; + ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++static HMAC_CTX *HMAC_CTX_new(void) ++{ ++ HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx)); ++ if (ctx != NULL) { ++ HMAC_CTX_init(ctx); ++ } ++ return ctx; ++} ++ ++// Per 1.1.0 (https://wiki.openssl.org/index.php/1.1_API_Changes) ++// HMAC_CTX_free should call HMAC_CTX_cleanup, then EVP_MD_CTX_Cleanup. ++// HMAC_CTX_cleanup internally calls EVP_MD_CTX_cleanup so these ++// calls are not needed. ++static void HMAC_CTX_free(HMAC_CTX *ctx) ++{ ++ if (ctx != NULL) { ++ HMAC_CTX_cleanup(ctx); ++ OPENSSL_free(ctx); ++ } ++} ++#endif ++ + static int sqlcipher_openssl_add_random(void *ctx, void *buffer, int length) { + #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND + sqlite3_mutex_enter(openssl_rand_mutex); +@@ -143,14 +166,14 @@ static int sqlcipher_openssl_random (void *ctx, void *buffer, int length) { + } + + static int sqlcipher_openssl_hmac(void *ctx, unsigned char *hmac_key, int key_sz, unsigned char *in, int in_sz, unsigned char *in2, int in2_sz, unsigned char *out) { +- HMAC_CTX hctx; + unsigned int outlen; +- HMAC_CTX_init(&hctx); +- HMAC_Init_ex(&hctx, hmac_key, key_sz, EVP_sha1(), NULL); +- HMAC_Update(&hctx, in, in_sz); +- HMAC_Update(&hctx, in2, in2_sz); +- HMAC_Final(&hctx, out, &outlen); +- HMAC_CTX_cleanup(&hctx); ++ HMAC_CTX* hctx = HMAC_CTX_new(); ++ if(hctx == NULL) return SQLITE_ERROR; ++ HMAC_Init_ex(hctx, hmac_key, key_sz, EVP_sha1(), NULL); ++ HMAC_Update(hctx, in, in_sz); ++ HMAC_Update(hctx, in2, in2_sz); ++ HMAC_Final(hctx, out, &outlen); ++ HMAC_CTX_free(hctx); + return SQLITE_OK; + } + +@@ -160,18 +183,18 @@ static int sqlcipher_openssl_kdf(void *ctx, const unsigned char *pass, int pass_ + } + + static int sqlcipher_openssl_cipher(void *ctx, int mode, unsigned char *key, int key_sz, unsigned char *iv, unsigned char *in, int in_sz, unsigned char *out) { +- EVP_CIPHER_CTX ectx; + int tmp_csz, csz; +- +- EVP_CipherInit(&ectx, ((openssl_ctx *)ctx)->evp_cipher, NULL, NULL, mode); +- EVP_CIPHER_CTX_set_padding(&ectx, 0); // no padding +- EVP_CipherInit(&ectx, NULL, key, iv, mode); +- EVP_CipherUpdate(&ectx, out, &tmp_csz, in, in_sz); ++ EVP_CIPHER_CTX* ectx = EVP_CIPHER_CTX_new(); ++ if(ectx == NULL) return SQLITE_ERROR; ++ EVP_CipherInit_ex(ectx, ((openssl_ctx *)ctx)->evp_cipher, NULL, NULL, NULL, mode); ++ EVP_CIPHER_CTX_set_padding(ectx, 0); // no padding ++ EVP_CipherInit_ex(ectx, NULL, NULL, key, iv, mode); ++ EVP_CipherUpdate(ectx, out, &tmp_csz, in, in_sz); + csz = tmp_csz; + out += tmp_csz; +- EVP_CipherFinal(&ectx, out, &tmp_csz); ++ EVP_CipherFinal_ex(ectx, out, &tmp_csz); + csz += tmp_csz; +- EVP_CIPHER_CTX_cleanup(&ectx); ++ EVP_CIPHER_CTX_free(ectx); + assert(in_sz == csz); + return SQLITE_OK; + } +-- +1.9.1 + diff --git a/bsp/buildroot/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch b/bsp/buildroot/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch new file mode 100644 index 00000000..1585b8d4 --- /dev/null +++ b/bsp/buildroot/package/sqlcipher/0002-Guard-OpenSSL-init-and-cleanup-routines-on-versions-.patch @@ -0,0 +1,42 @@ +From 6b4dbecbcfe35d36fea264c04c41b338852d4e88 Mon Sep 17 00:00:00 2001 +From: Nick Parker +Date: Wed, 1 Mar 2017 15:35:43 -0600 +Subject: [PATCH] Guard OpenSSL init and cleanup routines on versions less + than 1.1.0 + +(cherry picked from commit 1c495b933cee3381f1ea6a70edcbcda1754d7409) +Signed-off-by: Matt Weber + +Conflicts: + src/crypto_openssl.c +--- + src/crypto_openssl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c +index 6822325..09bc2a2 100644 +--- a/src/crypto_openssl.c ++++ b/src/crypto_openssl.c +@@ -102,7 +102,9 @@ static int sqlcipher_openssl_activate(void *ctx) { + + if(openssl_init_count == 0 && openssl_external_init == 0) { + /* if the library was not externally initialized, then should be now */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + OpenSSL_add_all_algorithms(); ++#endif + } + + #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND +@@ -131,7 +133,9 @@ static int sqlcipher_openssl_deactivate(void *ctx) { + Note: this code will only be reached if OpensSSL_add_all_algorithms() + is called by SQLCipher internally. This should prevent SQLCipher from + "cleaning up" openssl when it was initialized externally by the program */ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + EVP_cleanup(); ++#endif + } + #ifndef SQLCIPHER_OPENSSL_NO_MUTEX_RAND + sqlite3_mutex_free(openssl_rand_mutex); +-- +1.9.1 + diff --git a/bsp/buildroot/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch b/bsp/buildroot/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch new file mode 100644 index 00000000..b15fabcb --- /dev/null +++ b/bsp/buildroot/package/sqlcipher/0003-correct-compliation-under-openssl-1.1.x.patch @@ -0,0 +1,48 @@ +From 3da532754fb2bb7d379d4386a8c3339742edfb0b Mon Sep 17 00:00:00 2001 +From: Stephen Lombardo +Date: Wed, 10 Oct 2018 15:55:49 -0400 +Subject: [PATCH] correct compliation under openssl 1.1.x + +(cherry picked from commit 57ea35296ce7f2c1c93ce79194eea19a008b69ae) +Signed-off-by: Matt Weber + +Conflicts: + src/crypto_openssl.c +--- + src/crypto_openssl.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/crypto_openssl.c b/src/crypto_openssl.c +index 09bc2a2..57a1104 100644 +--- a/src/crypto_openssl.c ++++ b/src/crypto_openssl.c +@@ -47,7 +47,7 @@ static unsigned int openssl_external_init = 0; + static unsigned int openssl_init_count = 0; + static sqlite3_mutex* openssl_rand_mutex = NULL; + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + static HMAC_CTX *HMAC_CTX_new(void) + { + HMAC_CTX *ctx = OPENSSL_malloc(sizeof(*ctx)); +@@ -102,7 +102,7 @@ static int sqlcipher_openssl_activate(void *ctx) { + + if(openssl_init_count == 0 && openssl_external_init == 0) { + /* if the library was not externally initialized, then should be now */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + OpenSSL_add_all_algorithms(); + #endif + } +@@ -133,7 +133,7 @@ static int sqlcipher_openssl_deactivate(void *ctx) { + Note: this code will only be reached if OpensSSL_add_all_algorithms() + is called by SQLCipher internally. This should prevent SQLCipher from + "cleaning up" openssl when it was initialized externally by the program */ +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) + EVP_cleanup(); + #endif + } +-- +1.9.1 + diff --git a/bsp/buildroot/package/sqlcipher/Config.in b/bsp/buildroot/package/sqlcipher/Config.in index 332754b1..b26bc770 100644 --- a/bsp/buildroot/package/sqlcipher/Config.in +++ b/bsp/buildroot/package/sqlcipher/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_SQLCIPHER depends on !BR2_PACKAGE_SQLITE depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL help SQLCipher is an SQLite extension that provides 256 bits AES encryption of database files. Note that it is a fork of diff --git a/bsp/buildroot/package/sqlcipher/sqlcipher.hash b/bsp/buildroot/package/sqlcipher/sqlcipher.hash index f3c7e0bd..8632cd7a 100644 --- a/bsp/buildroot/package/sqlcipher/sqlcipher.hash +++ b/bsp/buildroot/package/sqlcipher/sqlcipher.hash @@ -1,2 +1,3 @@ # locally computed sha256 25fa4f4cb38dcf9e52e4d1f46be8fee9c7aaef35b6df96912a216b289e22c2af sqlcipher-v3.2.0.tar.gz +sha256 3eee3c7964a9becc94d747bd36703d31fc86eb994680b06a61bfd4f2661eaac8 LICENSE diff --git a/bsp/buildroot/package/sqlcipher/sqlcipher.mk b/bsp/buildroot/package/sqlcipher/sqlcipher.mk index db94d06c..812ae7fa 100644 --- a/bsp/buildroot/package/sqlcipher/sqlcipher.mk +++ b/bsp/buildroot/package/sqlcipher/sqlcipher.mk @@ -6,6 +6,8 @@ SQLCIPHER_VERSION = v3.2.0 SQLCIPHER_SITE = $(call github,sqlcipher,sqlcipher,$(SQLCIPHER_VERSION)) +SQLCIPHER_LICENSE = BSD-3-Clause +SQLCIPHER_LICENSE_FILES = LICENSE SQLCIPHER_DEPENDENCIES = openssl host-tcl SQLCIPHER_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/sqlite/Config.in b/bsp/buildroot/package/sqlite/Config.in index ec739686..517af50e 100644 --- a/bsp/buildroot/package/sqlite/Config.in +++ b/bsp/buildroot/package/sqlite/Config.in @@ -16,6 +16,13 @@ config BR2_PACKAGE_SQLITE_STAT3 query planner that can help SQLite to choose a better query plan under certain situations. +config BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA + bool "Enable convenient access to meta-data about tables and queries" + help + When this option is defined there are some additional APIs + enabled to acces meta-data about tables and queries (see + https://sqlite.org/compile.html). + config BR2_PACKAGE_SQLITE_ENABLE_FTS3 bool "Enable version 3 of the full-text search engine" help diff --git a/bsp/buildroot/package/sqlite/sqlite.hash b/bsp/buildroot/package/sqlite/sqlite.hash index be5820e1..7be42a0a 100644 --- a/bsp/buildroot/package/sqlite/sqlite.hash +++ b/bsp/buildroot/package/sqlite/sqlite.hash @@ -1,6 +1,6 @@ -# From http://www.sqlite.org/download.html -sha1 f56fe3407d8297fc0a68a058f4c9e6b77e83575c sqlite-autoconf-3210000.tar.gz +# From https://www.sqlite.org/download.html +sha1 5d6dc7634ec59e7a6fffa8758c1e184b2522c2e5 sqlite-autoconf-3250300.tar.gz # Calculated based on the hash above -sha256 d7dd516775005ad87a57f428b6f86afd206cb341722927f104d3f0cf65fbbbe3 sqlite-autoconf-3210000.tar.gz +sha256 00ebf97be13928941940cc71de3d67e9f852698233cd98ce2d178fd08092f3dd sqlite-autoconf-3250300.tar.gz # Locally calculated sha256 66e056b6e8687f32af30d5187611b98b12a8f46f07aaf62f43585f276e8f0ac9 tea/license.terms diff --git a/bsp/buildroot/package/sqlite/sqlite.mk b/bsp/buildroot/package/sqlite/sqlite.mk index 5239592f..6cf5710e 100644 --- a/bsp/buildroot/package/sqlite/sqlite.mk +++ b/bsp/buildroot/package/sqlite/sqlite.mk @@ -4,9 +4,9 @@ # ################################################################################ -SQLITE_VERSION = 3210000 +SQLITE_VERSION = 3250300 SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_VERSION).tar.gz -SQLITE_SITE = http://www.sqlite.org/2017 +SQLITE_SITE = https://www.sqlite.org/2018 SQLITE_LICENSE = Public domain SQLITE_LICENSE_FILES = tea/license.terms SQLITE_INSTALL_STAGING = YES @@ -15,6 +15,10 @@ ifeq ($(BR2_PACKAGE_SQLITE_STAT3),y) SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT3 endif +ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA),y) +SQLITE_CFLAGS += -DSQLITE_ENABLE_COLUMN_METADATA +endif + ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_FTS3),y) SQLITE_CFLAGS += -DSQLITE_ENABLE_FTS3 endif @@ -35,7 +39,10 @@ ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y) SQLITE_CFLAGS += -DSQLITE_NO_SYNC endif -SQLITE_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) $(SQLITE_CFLAGS)" +# fallback to standard -O3 when -Ofast is present to avoid -ffast-math +SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS)) + +SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)" ifeq ($(BR2_STATIC_LIBS),y) SQLITE_CONF_OPTS += --enable-dynamic-extensions=no @@ -47,6 +54,7 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) SQLITE_CONF_OPTS += --enable-threadsafe else SQLITE_CONF_OPTS += --disable-threadsafe +SQLITE_CFLAGS += -DSQLITE_THREADSAFE=0 endif ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy) diff --git a/bsp/buildroot/package/squashfs/Config.in b/bsp/buildroot/package/squashfs/Config.in index 70c0fc98..f5ae5d9b 100644 --- a/bsp/buildroot/package/squashfs/Config.in +++ b/bsp/buildroot/package/squashfs/Config.in @@ -2,7 +2,13 @@ config BR2_PACKAGE_SQUASHFS bool "squashfs" depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_SQUASHFS_GZIP if !(BR2_PACKAGE_SQUASHFS_LZMA || BR2_PACKAGE_SQUASHFS_LZO) + # ensure at least on compression backend (defaults to gzip) + select BR2_PACKAGE_SQUASHFS_GZIP if !( \ + BR2_PACKAGE_SQUASHFS_LZ4 || \ + BR2_PACKAGE_SQUASHFS_LZMA || \ + BR2_PACKAGE_SQUASHFS_LZO || \ + BR2_PACKAGE_SQUASHFS_XZ || \ + BR2_PACKAGE_SQUASHFS_ZSTD) help Tools to generate SquashFS filesystems. @@ -41,6 +47,12 @@ config BR2_PACKAGE_SQUASHFS_XZ help Support XZ compression algorithm +config BR2_PACKAGE_SQUASHFS_ZSTD + bool "zstd support" + select BR2_PACKAGE_ZSTD + help + Support ZSTD compression algorithm + endif comment "squashfs needs a toolchain w/ threads" diff --git a/bsp/buildroot/package/squashfs/squashfs.mk b/bsp/buildroot/package/squashfs/squashfs.mk index e656218f..7467342c 100644 --- a/bsp/buildroot/package/squashfs/squashfs.mk +++ b/bsp/buildroot/package/squashfs/squashfs.mk @@ -9,7 +9,7 @@ SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4 @@ -39,6 +39,13 @@ else SQUASHFS_MAKE_ARGS += LZO_SUPPORT=0 endif +ifeq ($(BR2_PACKAGE_SQUASHFS_ZSTD),y) +SQUASHFS_DEPENDENCIES += zstd +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=1 COMP_DEFAULT=zstd +else +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=0 +endif + ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP),y) SQUASHFS_DEPENDENCIES += zlib SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 COMP_DEFAULT=gzip @@ -46,7 +53,7 @@ else SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 endif -HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz +HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd HOST_SQUASHFS_MAKE_ARGS = \ XATTR_SUPPORT=1 \ @@ -55,7 +62,7 @@ HOST_SQUASHFS_MAKE_ARGS = \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ LZMA_XZ_SUPPORT=1 \ - ZSTD_SUPPORT=0 + ZSTD_SUPPORT=1 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \ diff --git a/bsp/buildroot/package/squeezelite/0003-ffmpeg_2_9.patch b/bsp/buildroot/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch similarity index 80% rename from bsp/buildroot/package/squeezelite/0003-ffmpeg_2_9.patch rename to bsp/buildroot/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch index f69b829b..74d8f1be 100644 --- a/bsp/buildroot/package/squeezelite/0003-ffmpeg_2_9.patch +++ b/bsp/buildroot/package/squeezelite/0003-Replace-deprecated-FFmpeg-API.patch @@ -1,17 +1,22 @@ -Fix compilation with ffmpeg >= 2.9 +From cce6a0378ac319b87d2545d73f593d440bf686f5 Mon Sep 17 00:00:00 2001 +From: Andreas Cadhalpun +Date: Sat, 18 Aug 2018 13:25:23 +0200 +Subject: [PATCH] Replace deprecated FFmpeg API + +Fixes compilation with ffmpeg >= 2.9. Downloaded from Debian: -https://sources.debian.net/src/squeezelite/1.8-3/debian/patches/ffmpeg_2.9.patch/ +https://sources.debian.org/src/squeezelite/1.8-4.1/debian/patches/ffmpeg_2.9.patch/ Signed-off-by: Bernd Kuhls +--- + ffmpeg.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) - -Description: Replace deprecated FFmpeg API -Author: Andreas Cadhalpun -Last-Update: <2015-11-02> - ---- squeezelite-1.8.orig/ffmpeg.c -+++ squeezelite-1.8/ffmpeg.c +diff --git a/ffmpeg.c b/ffmpeg.c +index 279f31d..bc9136c 100644 +--- a/ffmpeg.c ++++ b/ffmpeg.c @@ -52,8 +52,8 @@ struct ff_s { unsigned (* avcodec_version)(void); AVCodec * (* avcodec_find_decoder)(int); @@ -55,3 +60,6 @@ Last-Update: <2015-11-02> ff->avcodec_decode_audio4 = dlsym(handle_codec, "avcodec_decode_audio4"); ff->av_init_packet = dlsym(handle_codec, "av_init_packet"); ff->av_free_packet = dlsym(handle_codec, "av_free_packet"); +-- +2.18.0 + diff --git a/bsp/buildroot/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch b/bsp/buildroot/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch new file mode 100644 index 00000000..25a5db3c --- /dev/null +++ b/bsp/buildroot/package/squeezelite/0004-Fix-FTBFS-with-FFmpeg-4.0.patch @@ -0,0 +1,31 @@ +From 4ad37284447e768d641768c7c8a69c4640c83181 Mon Sep 17 00:00:00 2001 +From: James Cowgill +Date: Sat, 18 Aug 2018 13:26:59 +0200 +Subject: [PATCH] Fix FTBFS with FFmpeg 4.0 + +Bug-Debian: https://bugs.debian.org/888335 + +Downloaded from Debian: +https://sources.debian.org/src/squeezelite/1.8-4.1/debian/patches/ffmpeg4.0.patch/ + +Signed-off-by: Bernd Kuhls +--- + ffmpeg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ffmpeg.c b/ffmpeg.c +index bc9136c..d51b08e 100644 +--- a/ffmpeg.c ++++ b/ffmpeg.c +@@ -264,7 +264,7 @@ static decode_state ff_decode(void) { + ff->mmsh_bytes_left = ff->mmsh_bytes_pad = ff->mmsh_packet_len = 0; + + if (!ff->readbuf) { +- ff->readbuf = AV(ff, malloc, READ_SIZE + FF_INPUT_BUFFER_PADDING_SIZE); ++ ff->readbuf = AV(ff, malloc, READ_SIZE + AV_INPUT_BUFFER_PADDING_SIZE); + } + + avio = AVIO(ff, alloc_context, ff->readbuf, READ_SIZE, 0, NULL, _read_data, NULL, NULL); +-- +2.18.0 + diff --git a/bsp/buildroot/package/squeezelite/squeezelite.hash b/bsp/buildroot/package/squeezelite/squeezelite.hash index 1dbb4c15..d56f5da6 100644 --- a/bsp/buildroot/package/squeezelite/squeezelite.hash +++ b/bsp/buildroot/package/squeezelite/squeezelite.hash @@ -1,2 +1,3 @@ # Locally calculated sha256 0c844e7714d3f15325629c59ee75e6309763116e61a6b73486b502e2e5cce5fd squeezelite-v1.8.tar.gz +sha256 3e4379e1f34b8c5da00e545cfe94369b94a57745902c5d12be43b6332c34c04e LICENSE.txt diff --git a/bsp/buildroot/package/squid/0001-assume-get-certificate-ok.patch b/bsp/buildroot/package/squid/0001-assume-get-certificate-ok.patch deleted file mode 100644 index e26b50d7..00000000 --- a/bsp/buildroot/package/squid/0001-assume-get-certificate-ok.patch +++ /dev/null @@ -1,17 +0,0 @@ -The openssl get_certificate working test isn't cross compile friendly. -Just assume it works ok since we're using a modern OpenSSL version. - -Signed-off-by: Gustavo Zacarias - -diff -Nura squid-3.5.1.orig/configure.ac squid-3.5.1/configure.ac ---- squid-3.5.1.orig/configure.ac 2015-01-27 11:09:15.035711981 -0300 -+++ squid-3.5.1/configure.ac 2015-01-27 11:09:25.829084482 -0300 -@@ -1342,7 +1342,7 @@ - AC_DEFINE(USE_OPENSSL,1,[OpenSSL support is available]) - - # check for other specific broken implementations -- SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS -+ #SQUID_CHECK_OPENSSL_GETCERTIFICATE_WORKS - SQUID_CHECK_OPENSSL_CONST_SSL_METHOD - SQUID_CHECK_OPENSSL_TXTDB - SQUID_CHECK_OPENSSL_HELLO_OVERWRITE_HACK diff --git a/bsp/buildroot/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch b/bsp/buildroot/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch new file mode 100644 index 00000000..cc1a9f05 --- /dev/null +++ b/bsp/buildroot/package/squid/0001-configure.ac-use-pkg-config-to-find-libxml2.patch @@ -0,0 +1,79 @@ +From 39edb8ef08f51ea6a454d286091d78a4514c89e0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 1 Dec 2018 18:21:55 +0100 +Subject: [PATCH] configure.ac: use pkg-config to find libxml2 + +Fix static build of squid with libxml2 by using pkg-config to find +libxml2 dependencies like -lz or -liconv + +Fixes: + - http://autobuild.buildroot.org/results/7f23eb98c311b294c7f0e165279fa26909a5ff93 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/squid-cache/squid/pull/338] +--- + configure.ac | 43 +++++++++++++++++++++++++------------------ + 1 file changed, 25 insertions(+), 18 deletions(-) + +diff --git a/configure.ac b/configure.ac +index f30d824aa..47553db46 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -900,29 +900,36 @@ fi + + AC_ARG_WITH(libxml2, AS_HELP_STRING([--without-libxml2],[Do not use libxml2 for ESI. Default: auto-detect])) + if test "x$squid_opt_use_esi" != "xno" -a "x$with_libxml2" != "xno" ; then +- AC_CHECK_LIB([xml2], [main], [XMLLIB="-lxml2"; HAVE_LIBXML2=1]) +- dnl Find the main header and include path... +- AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [ +- AC_CHECK_HEADERS([libxml/parser.h], [], [ +- AC_MSG_NOTICE([Testing in /usr/include/libxml2]) +- SAVED_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS" +- unset ac_cv_header_libxml_parser_h +- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/include/libxml2"], [ +- AC_MSG_NOTICE([Testing in /usr/local/include/libxml2]) +- CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS" ++ PKG_CHECK_MODULES([LIBXML2],[libxml-2.0],[ ++ CPPFLAGS="$CPPFLAGS $LIBXML2_CFLAGS"; ++ SQUID_CXXFLAGS="$SQUID_CXXFLAGS $LIBXML2_CFLAGS"; ++ XMLLIB="$LIBXML2_LIBS"; ++ HAVE_LIBXML2=1 ++ ],[ ++ AC_CHECK_LIB([xml2], [main], [XMLLIB="-lxml2"; HAVE_LIBXML2=1]) ++ dnl Find the main header and include path... ++ AC_CACHE_CHECK([location of libxml2 include files], [ac_cv_libxml2_include], [ ++ AC_CHECK_HEADERS([libxml/parser.h], [], [ ++ AC_MSG_NOTICE([Testing in /usr/include/libxml2]) ++ SAVED_CPPFLAGS="$CPPFLAGS" ++ CPPFLAGS="-I/usr/include/libxml2 $CPPFLAGS" + unset ac_cv_header_libxml_parser_h +- AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/local/include/libxml2"], [ +- AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h]) ++ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/include/libxml2"], [ ++ AC_MSG_NOTICE([Testing in /usr/local/include/libxml2]) ++ CPPFLAGS="-I/usr/local/include/libxml2 $SAVED_CPPFLAGS" ++ unset ac_cv_header_libxml_parser_h ++ AC_CHECK_HEADERS([libxml/parser.h], [ac_cv_libxml2_include="-I/usr/local/include/libxml2"], [ ++ AC_MSG_NOTICE([Failed to find libxml2 header file libxml/parser.h]) ++ ]) + ]) ++ CPPFLAGS="$SAVED_CPPFLAGS" + ]) +- CPPFLAGS="$SAVED_CPPFLAGS" + ]) ++ if test "x$ac_cv_libxml2_include" != "x"; then ++ SQUID_CXXFLAGS="$ac_cv_libxml2_include $SQUID_CXXFLAGS" ++ CPPFLAGS="$ac_cv_libxml2_include $CPPFLAGS" ++ fi + ]) +- if test "x$ac_cv_libxml2_include" != "x"; then +- SQUID_CXXFLAGS="$ac_cv_libxml2_include $SQUID_CXXFLAGS" +- CPPFLAGS="$ac_cv_libxml2_include $CPPFLAGS" +- fi + dnl Now that we know where to look find the headers... + AC_CHECK_HEADERS(libxml/parser.h libxml/HTMLparser.h libxml/HTMLtree.h) + AC_DEFINE_UNQUOTED(HAVE_LIBXML2, $HAVE_LIBXML2, [Define to 1 if you have the libxml2 library]) +-- +2.17.1 + diff --git a/bsp/buildroot/package/squid/0002-missing-include-time_h.patch b/bsp/buildroot/package/squid/0002-missing-include-time_h.patch deleted file mode 100644 index 18b3ab3b..00000000 --- a/bsp/buildroot/package/squid/0002-missing-include-time_h.patch +++ /dev/null @@ -1,28 +0,0 @@ -ipc/Kid.cc: add missing include of time.h - -Function time() comes from , so add the necessary include. -This fixes compilation on some configurations, for example -http://autobuild.buildroot.net/results/b33/b33e1f41e50b6e7ac3e30806b9a617d451bc27b4/ - -Signed-off-by: Thomas De Schampheleire -Upstream-status: submitted (http://bugs.squid-cache.org/show_bug.cgi?id=3967) - ---- - src/ipc/Kid.cc | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - - -diff --git a/src/ipc/Kid.cc b/src/ipc/Kid.cc ---- a/src/ipc/Kid.cc -+++ b/src/ipc/Kid.cc -@@ -11,6 +11,10 @@ - #include - #endif - -+#if HAVE_TIME_H -+#include -+#endif -+ - int TheProcessKind = pkOther; - - Kid::Kid(): diff --git a/bsp/buildroot/package/squid/Config.in b/bsp/buildroot/package/squid/Config.in index 141a5029..726160b0 100644 --- a/bsp/buildroot/package/squid/Config.in +++ b/bsp/buildroot/package/squid/Config.in @@ -1,13 +1,19 @@ -comment "squid needs a toolchain w/ C++" +comment "squid needs a toolchain w/ C++, gcc >= 4.8 not affected by bug 64735" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 config BR2_PACKAGE_SQUID bool "squid" + depends on BR2_TOOLCHAIN_HAS_ATOMIC depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::current_exception + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 # needs fork() depends on BR2_USE_MMU select BR2_PACKAGE_LIBCAP + select BR2_PACKAGE_LIBXML2 help Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. diff --git a/bsp/buildroot/package/squid/S97squid b/bsp/buildroot/package/squid/S97squid old mode 100755 new mode 100644 index 535b1d96..05fb93e3 --- a/bsp/buildroot/package/squid/S97squid +++ b/bsp/buildroot/package/squid/S97squid @@ -1,6 +1,5 @@ #!/bin/sh -[ -x /usr/sbin/squid ] || exit 0 [ -f /etc/squid.conf ] || exit 0 case "$1" in diff --git a/bsp/buildroot/package/squid/squid.hash b/bsp/buildroot/package/squid/squid.hash index 74637ca0..5e872707 100644 --- a/bsp/buildroot/package/squid/squid.hash +++ b/bsp/buildroot/package/squid/squid.hash @@ -1,7 +1,6 @@ -# From http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.28.tar.xz.asc -md5 9367e0375ea53ba0e99f77054d4402c5 squid-3.5.28.tar.xz -sha1 721241a270ec27d629d65ae17a50be56510e8441 squid-3.5.28.tar.xz +# From http://www.squid-cache.org/Versions/v4/squid-4.4.tar.xz.asc +md5 892504ca9700e1f139a53f84098613bd squid-4.4.tar.xz +sha1 0ab6b133f65866d825bf72cbbe8cef209768b2fa squid-4.4.tar.xz # Locally calculated -sha256 de5ea6fa5711aaa6d209de9e9e715c2702ff3597f009562ee1e571cc101670c7 squid-3.5-f1657a9decc820f748fa3aff68168d3145258031.patch -sha256 8f2518b5e9840e119c493f6ed793e773675e2f768de2bf1bd637fced27e4d527 squid-3.5-bc9786119f058a76ddf0625424bc33d36460b9a2.patch -sha256 58f5d05257af1fb964fde20e134d660fac9afa86b6fd8c70d63ead63068378fa COPYING +sha256 4905e6da7f5574d2583ba36f398bb062a12d51e70d67035078b6e85b09e9ee82 squid-4.4.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/squid/squid.mk b/bsp/buildroot/package/squid/squid.mk index 8be41357..5d5ec0c3 100644 --- a/bsp/buildroot/package/squid/squid.mk +++ b/bsp/buildroot/package/squid/squid.mk @@ -4,18 +4,14 @@ # ################################################################################ -SQUID_VERSION_MAJOR = 3.5 -SQUID_VERSION = $(SQUID_VERSION_MAJOR).28 +SQUID_VERSION = 4.4 SQUID_SOURCE = squid-$(SQUID_VERSION).tar.xz -SQUID_SITE = http://www.squid-cache.org/Versions/v3/$(SQUID_VERSION_MAJOR) -SQUID_PATCH = \ - http://www.squid-cache.org/Versions/v3/3.5/changesets/squid-3.5-f1657a9decc820f748fa3aff68168d3145258031.patch \ - http://www.squid-cache.org/Versions/v3/3.5/changesets/squid-3.5-bc9786119f058a76ddf0625424bc33d36460b9a2.patch +SQUID_SITE = http://www.squid-cache.org/Versions/v4 SQUID_LICENSE = GPL-2.0+ SQUID_LICENSE_FILES = COPYING -# For 0001-assume-get-certificate-ok.patch +# We're patching configure.ac SQUID_AUTORECONF = YES -SQUID_DEPENDENCIES = libcap host-libcap host-pkgconf \ +SQUID_DEPENDENCIES = libcap host-libcap libxml2 host-pkgconf \ $(if $(BR2_PACKAGE_LIBNETFILTER_CONNTRACK),libnetfilter_conntrack) SQUID_CONF_ENV = \ ac_cv_epoll_works=yes \ @@ -28,11 +24,10 @@ SQUID_CONF_ENV = \ BUILDCXXFLAGS="$(HOST_CXXFLAGS)" SQUID_CONF_OPTS = \ --enable-async-io=8 \ - $(if $(BR2_TOOLCHAIN_USES_MUSL),--disable-linux-netfilter,--enable-linux-netfilter) \ + --enable-linux-netfilter \ --enable-removal-policies="lru,heap" \ --with-filedescriptors=1024 \ --disable-ident-lookups \ - --without-mit-krb5 \ --enable-auth-basic="fake getpwnam" \ --enable-auth-digest="file" \ --enable-auth-negotiate="wrapper" \ @@ -44,13 +39,15 @@ SQUID_CONF_OPTS = \ --with-swapdir=/var/cache/squid/ \ --with-default-user=squid -# Atomics in Squid use __sync built-ins on 4 and 8 bytes. However, the -# configure script tests them using AC_TRY_RUN, so we have to give -# some hints. -ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4)$(BR2_TOOLCHAIN_HAS_SYNC_8),yy) -SQUID_CONF_ENV += squid_cv_gnu_atomics=yes +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +SQUID_CONF_ENV += LIBS=-latomic +endif + +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +SQUID_CONF_OPTS += --with-mit-krb5 +SQUID_DEPENDENCIES += libkrb5 else -SQUID_CONF_ENV += squid_cv_gnu_atomics=no +SQUID_CONF_OPTS += --without-mit-krb5 endif ifeq ($(BR2_PACKAGE_OPENSSL),y) diff --git a/bsp/buildroot/package/start-stop-daemon/start-stop-daemon.mk b/bsp/buildroot/package/start-stop-daemon/start-stop-daemon.mk index 7071f561..01a67197 100644 --- a/bsp/buildroot/package/start-stop-daemon/start-stop-daemon.mk +++ b/bsp/buildroot/package/start-stop-daemon/start-stop-daemon.mk @@ -19,8 +19,7 @@ START_STOP_DAEMON_CONF_ENV = \ dpkg_cv_va_copy=yes \ dpkg_cv_c99_snprintf=yes \ DPKG_DEVEL_MODE=1 -START_STOP_DAEMON_DEPENDENCIES = host-pkgconf \ - $(if $(BR2_PACKAGE_BUSYBOX),busybox) +START_STOP_DAEMON_DEPENDENCIES = host-pkgconf # Patching m4/dpkg-arch.m4 START_STOP_DAEMON_AUTORECONF = YES START_STOP_DAEMON_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/strace/0001-Fix-build-for-no-MMU-targets.patch b/bsp/buildroot/package/strace/0001-Fix-build-for-no-MMU-targets.patch new file mode 100644 index 00000000..1464fb69 --- /dev/null +++ b/bsp/buildroot/package/strace/0001-Fix-build-for-no-MMU-targets.patch @@ -0,0 +1,49 @@ +From 1b657bf8e2f4bf6f80b969b220900003d7ecbce6 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 8 Jan 2019 18:28:37 +0200 +Subject: [PATCH] Fix build for no-MMU targets + +Commit 7488ce9e23f1 ("Check whether PTRACE_GET_SYSCALL_INFO is supported +by the kernel") added a fork() call in test_ptrace_get_syscall_info() +which is included in the main strace executable code. Although the +test_ptrace_get_syscall_info() routine is not called on no-MMU targets, +the compiler can't optimize it out because it is a global symbol. So +build for no-MMU targets currently fails: + +strace-ptrace_syscall_info.o: In function `test_ptrace_get_syscall_info': +ptrace_syscall_info.c:(.text+0x1c): undefined reference to `fork' + +Make the test_ptrace_get_syscall_info() definition depend on HAVE_FORK +to fix that. + +Signed-off-by: Baruch Siach +--- +Upstream status: +https://lists.strace.io/pipermail/strace-devel/2019-January/008596.html + + ptrace_syscall_info.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ptrace_syscall_info.c b/ptrace_syscall_info.c +index 55eafddf7f71..cc6ce149649e 100644 +--- a/ptrace_syscall_info.c ++++ b/ptrace_syscall_info.c +@@ -40,6 +40,7 @@ static const unsigned int expected_seccomp_size = + * Test that PTRACE_GET_SYSCALL_INFO API is supported by the kernel, and + * that the semantics implemented in the kernel matches our expectations. + */ ++#ifdef HAVE_FORK + bool + test_ptrace_get_syscall_info(void) + { +@@ -255,6 +256,7 @@ done: + + return ptrace_get_syscall_info_supported; + } ++#endif /* HAVE_FORK */ + + void + print_ptrace_syscall_info(struct tcb *tcp, kernel_ulong_t addr, +-- +2.20.1 + diff --git a/bsp/buildroot/package/strace/0002-Fix-build-for-mips-targets.patch b/bsp/buildroot/package/strace/0002-Fix-build-for-mips-targets.patch new file mode 100644 index 00000000..430d4071 --- /dev/null +++ b/bsp/buildroot/package/strace/0002-Fix-build-for-mips-targets.patch @@ -0,0 +1,68 @@ +From 8150854b5dd030a47f601931daf827ca33bc9bd9 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 8 Jan 2019 19:52:21 +0200 +Subject: [PATCH] Fix build for mips targets + +Commit 917c2ccf3a67 ("Refactor stack pointers") removed +linux/mips/arch_regs.h that defines mips_REG_* macros and struct +mips_regs. These symbols are referenced in mips code. Restore +arch_regs.h to fix the build failure: + +syscall.c: In function 'decode_syscall_subcall': +syscall.c:370:7: error: 'mips_REG_SP' undeclared (first use in this function) + mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]), + ^~~~~~~~~~~ + +[ baruch: drop the Makefile.in hunk to avoid autoreconf ] +Signed-off-by: Baruch Siach +--- +Upstream status: +https://lists.strace.io/pipermail/strace-devel/2019-January/008598.html + + linux/mips/arch_regs.c | 4 +--- + linux/mips/arch_regs.h | 18 ++++++++++++++++++ + 3 files changed, 20 insertions(+), 3 deletions(-) + create mode 100644 linux/mips/arch_regs.h + +diff --git a/linux/mips/arch_regs.c b/linux/mips/arch_regs.c +index 0874e31efea4..3ed841ee7c1a 100644 +--- a/linux/mips/arch_regs.c ++++ b/linux/mips/arch_regs.c +@@ -5,9 +5,7 @@ + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +-static struct { +- uint64_t uregs[38]; +-} mips_regs; ++struct mips_regs mips_regs; /* not static */ + + #define REG_V0 2 + #define REG_A0 4 +diff --git a/linux/mips/arch_regs.h b/linux/mips/arch_regs.h +new file mode 100644 +index 000000000000..6372badce646 +--- /dev/null ++++ b/linux/mips/arch_regs.h +@@ -0,0 +1,18 @@ ++struct mips_regs { ++ uint64_t uregs[38]; ++}; ++ ++extern struct mips_regs mips_regs; ++ ++#define REG_V0 2 ++#define REG_A0 4 ++ ++#define mips_REG_V0 mips_regs.uregs[REG_V0] ++#define mips_REG_A0 mips_regs.uregs[REG_A0 + 0] ++#define mips_REG_A1 mips_regs.uregs[REG_A0 + 1] ++#define mips_REG_A2 mips_regs.uregs[REG_A0 + 2] ++#define mips_REG_A3 mips_regs.uregs[REG_A0 + 3] ++#define mips_REG_A4 mips_regs.uregs[REG_A0 + 4] ++#define mips_REG_A5 mips_regs.uregs[REG_A0 + 5] ++#define mips_REG_SP mips_regs.uregs[29] ++#define mips_REG_EPC mips_regs.uregs[34] +-- +2.20.1 + diff --git a/bsp/buildroot/package/strace/Config.in b/bsp/buildroot/package/strace/Config.in index b84b3fd1..c7649e57 100644 --- a/bsp/buildroot/package/strace/Config.in +++ b/bsp/buildroot/package/strace/Config.in @@ -7,6 +7,9 @@ config BR2_PACKAGE_STRACE Allows you to track what system calls a program makes while it is running. + If you want 'strace -k' to work, make sure to enable the + 'libunwind' package. + https://strace.io comment "strace needs a toolchain w/ headers >= 4.0 on nios2" diff --git a/bsp/buildroot/package/strace/strace.hash b/bsp/buildroot/package/strace/strace.hash index 404be397..fe58f239 100644 --- a/bsp/buildroot/package/strace/strace.hash +++ b/bsp/buildroot/package/strace/strace.hash @@ -1,7 +1,5 @@ -# From https://sourceforge.net/projects/strace/files/strace/4.20/ -md5 f2271ab0fac49ebee9cbd7f3469227cb strace-4.20.tar.xz -sha1 9cebc754af3434e4027a07745770892f685c0316 strace-4.20.tar.xz -# Locally calculated after checking signature -# https://sourceforge.net/projects/strace/files/strace/4.20/strace-4.20.tar.xz.asc -sha256 5bf3148dd17306a42566f7da17368fdd781afa147db05ea63a4ca2b50f58c523 strace-4.20.tar.xz -sha256 ea7ff222f36c9df0aa2924a8f7c7d2aec3ea11e752feba4b15ec79b695b6236a COPYING +# Locally calculated after checking signature with RSA key 0xA8041FA839E16E36 +# https://strace.io/files/4.26/strace-4.26.tar.xz +sha256 7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c strace-4.26.tar.xz +sha256 ba6d645dfe0f5e13bf1f117f0595e90076b845fc9aaa1d5778699792bb2d70b2 COPYING +sha256 7c379436436a562834aa7d2f5dcae1f80a25230fa74201046ca1fba4367d39aa LGPL-2.1-or-later diff --git a/bsp/buildroot/package/strace/strace.mk b/bsp/buildroot/package/strace/strace.mk index ba57774e..afcd5e71 100644 --- a/bsp/buildroot/package/strace/strace.mk +++ b/bsp/buildroot/package/strace/strace.mk @@ -4,11 +4,12 @@ # ################################################################################ -STRACE_VERSION = 4.20 +STRACE_VERSION = 4.26 STRACE_SOURCE = strace-$(STRACE_VERSION).tar.xz -STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VERSION) -STRACE_LICENSE = BSD-3-Clause -STRACE_LICENSE_FILES = COPYING +STRACE_SITE = https://strace.io/files/$(STRACE_VERSION) +STRACE_LICENSE = LGPL-2.1+ +STRACE_LICENSE_FILES = COPYING LGPL-2.1-or-later +STRACE_CONF_OPTS = --enable-mpers=check # strace bundle some kernel headers to build libmpers, this mixes userspace # headers and kernel headers which break the build with musl. @@ -18,10 +19,27 @@ STRACE_CONF_OPTS += st_cv_m32_mpers=no \ st_cv_mx32_mpers=no endif +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +STRACE_DEPENDENCIES += libunwind +STRACE_CONF_OPTS += --with-libunwind +else +STRACE_CONF_OPTS += --without-libunwind +endif + +# Demangling symbols in stack trace needs libunwind and libiberty. +ifeq ($(BR2_PACKAGE_BINUTILS)$(BR2_PACKAGE_LIBUNWIND),yy) +STRACE_DEPENDENCIES += binutils +STRACE_CONF_OPTS += --with-libiberty=check +else +STRACE_CONF_OPTS += --without-libiberty +endif + +ifeq ($(BR2_PACKAGE_PERL),) define STRACE_REMOVE_STRACE_GRAPH rm -f $(TARGET_DIR)/usr/bin/strace-graph endef STRACE_POST_INSTALL_TARGET_HOOKS += STRACE_REMOVE_STRACE_GRAPH +endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch b/bsp/buildroot/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch deleted file mode 100644 index 6cbba5e7..00000000 --- a/bsp/buildroot/package/stress-ng/0001-stress-netlink-proc-fix-build-with-kernel-v3.9.patch +++ /dev/null @@ -1,38 +0,0 @@ -From f3aa381322a4b73b9ca4e7940f802d74324ef24b Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Mon, 2 Jul 2018 21:06:43 +0300 -Subject: [PATCH] stress-netlink-proc: fix build with kernel v3.9 - -The PROC_EVENT_COREDUMP has been introduced in kernel version 3.10. -Don't use it with 3.9 headers. - -Fixes build failure: - -stress-netlink-proc.c: In function 'monitor': -stress-netlink-proc.c:108:8: error: 'PROC_EVENT_COREDUMP' undeclared (first use in this function) - case PROC_EVENT_COREDUMP: - ^ - -Signed-off-by: Baruch Siach ---- -Upstream status: https://github.com/ColinIanKing/stress-ng/pull/24 - - stress-netlink-proc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/stress-netlink-proc.c b/stress-netlink-proc.c -index 5845610dc816..6114a0b92af1 100644 ---- a/stress-netlink-proc.c -+++ b/stress-netlink-proc.c -@@ -104,7 +104,7 @@ static int monitor(const args_t *args, const int sock) - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) - case PROC_EVENT_SID: - #endif --#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) - case PROC_EVENT_COREDUMP: - #endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0) --- -2.18.0 - diff --git a/bsp/buildroot/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch b/bsp/buildroot/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch new file mode 100644 index 00000000..3d656f31 --- /dev/null +++ b/bsp/buildroot/package/stress-ng/0001-stress-ng.h-fix-include-on-semaphore.h.patch @@ -0,0 +1,34 @@ +From 818ed67f67c487d519bb55ed5656cff2dd58375e Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 4 Dec 2018 21:41:12 +0100 +Subject: [PATCH] stress-ng.h: fix include on semaphore.h + +semaphore.h is available only if HAVE_LIB_PTHREAD and +HAVE_SEM_POSIX are defined + +Fixes: + - http://autobuild.buildroot.org/results/1c95898b2833683a22bbe2ff8471fa08d94210e1 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/ColinIanKing/stress-ng/commit/9b861e679f9de32e4c68437453756f93e13c01fb] +--- + stress-ng.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/stress-ng.h b/stress-ng.h +index 0485dc1c..1bf2e207 100644 +--- a/stress-ng.h ++++ b/stress-ng.h +@@ -53,7 +53,9 @@ + #include + #include + #include ++#if defined(HAVE_LIB_PTHREAD) && (HAVE_SEM_POSIX) + #include ++#endif + #include + + #if defined(__GNUC__) && defined(__linux__) +-- +2.14.1 + diff --git a/bsp/buildroot/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch b/bsp/buildroot/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch new file mode 100644 index 00000000..8c1bf602 --- /dev/null +++ b/bsp/buildroot/package/stress-ng/0002-stress-stackmmap-needs-swapcontext.patch @@ -0,0 +1,29 @@ +From 748ac7e88833472211ccce82563beb5050528e00 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 4 Dec 2018 21:52:49 +0100 +Subject: [PATCH] stress-stackmmap: needs swapcontext + +Fixes: + - http://autobuild.buildroot.org/results/f2d3b06afa6e31527a71c03671c8f08eb3f46c36 + +Signed-off-by: Fabrice Fontaine +--- + stress-stackmmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/stress-stackmmap.c b/stress-stackmmap.c +index c2f4c31d..eb31d084 100644 +--- a/stress-stackmmap.c ++++ b/stress-stackmmap.c +@@ -24,7 +24,7 @@ + */ + #include "stress-ng.h" + +-#if defined(__linux__) ++#if defined(HAVE_SWAPCONTEXT) + + #include + +-- +2.14.1 + diff --git a/bsp/buildroot/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch b/bsp/buildroot/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch new file mode 100644 index 00000000..931aaff2 --- /dev/null +++ b/bsp/buildroot/package/stress-ng/0003-test-test-bsd-wchar-Explicitly-include-stdio.h.patch @@ -0,0 +1,29 @@ +From 291070801245da26e4841c321910b55016ca23c0 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Tue, 1 Jan 2019 17:24:54 +0200 +Subject: [PATCH] test/test-bsd-wchar: Explicitly include stdio.h + +libbsd's wchar requires FILE for some it's functions, for some +reason it is not included by wchar automatically and the test fails. So +include it explicitly. + +Signed-off-by: Vadim Kochan +--- + test/test-bsd-wchar.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/test/test-bsd-wchar.c b/test/test-bsd-wchar.c +index 4f7c7ca..6125968 100644 +--- a/test/test-bsd-wchar.c ++++ b/test/test-bsd-wchar.c +@@ -22,6 +22,7 @@ + * functionality. + * + */ ++#include + #include + + int main(void) +-- +2.14.1 + diff --git a/bsp/buildroot/package/stress-ng/Config.in b/bsp/buildroot/package/stress-ng/Config.in index 88163221..fe92a7eb 100644 --- a/bsp/buildroot/package/stress-ng/Config.in +++ b/bsp/buildroot/package/stress-ng/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_STRESS_NG bool "stress-ng" depends on BR2_USE_MMU # fork() # disabled on musl: stress-malloc.c needs mallopt() and M_MMAP_THRESHOLD - # disabled on uClibc: stress-aio.c needs aio.h - depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_TOOLCHAIN_USES_MUSL # perf.c needs PERF_COUNT_HW_REF_CPU_CYCLES depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 depends on !BR2_microblaze # keyutils @@ -21,8 +20,8 @@ config BR2_PACKAGE_STRESS_NG http://kernel.ubuntu.com/~cking/stress-ng/ -comment "stress-ng needs a glibc toolchain w/ dynamic library, headers >= 3.3" +comment "stress-ng needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.3" depends on !BR2_microblaze && !BR2_nios2 && !BR2_arc depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 \ - || !BR2_TOOLCHAIN_USES_GLIBC + || BR2_TOOLCHAIN_USES_MUSL diff --git a/bsp/buildroot/package/stress-ng/stress-ng.hash b/bsp/buildroot/package/stress-ng/stress-ng.hash index 7455288c..c7c6ec0f 100644 --- a/bsp/buildroot/package/stress-ng/stress-ng.hash +++ b/bsp/buildroot/package/stress-ng/stress-ng.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 0de97212a83b2f8a34ee31ef32a7bc69066ed49ebdc59b51aa4060cb95e29321 stress-ng-0.09.32.tar.xz +sha256 ed888f5192297855f3ce39b4591b1decc9c580c9753f2cc9c86449f50d23aeb0 stress-ng-0.09.47.tar.xz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/stress-ng/stress-ng.mk b/bsp/buildroot/package/stress-ng/stress-ng.mk index d8324081..42b27e3c 100644 --- a/bsp/buildroot/package/stress-ng/stress-ng.mk +++ b/bsp/buildroot/package/stress-ng/stress-ng.mk @@ -4,7 +4,7 @@ # ################################################################################ -STRESS_NG_VERSION = 0.09.32 +STRESS_NG_VERSION = 0.09.47 STRESS_NG_SOURCE = stress-ng-$(STRESS_NG_VERSION).tar.xz STRESS_NG_SITE = http://kernel.ubuntu.com/~cking/tarballs/stress-ng STRESS_NG_LICENSE = GPL-2.0+ @@ -12,6 +12,10 @@ STRESS_NG_LICENSE_FILES = COPYING STRESS_NG_DEPENDENCIES = attr keyutils +ifeq ($(BR2_PACKAGE_LIBBSD),y) +STRESS_NG_DEPENDENCIES += libbsd +endif + define STRESS_NG_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) endef diff --git a/bsp/buildroot/package/strongswan/strongswan.mk b/bsp/buildroot/package/strongswan/strongswan.mk index 30693de7..021a59ce 100644 --- a/bsp/buildroot/package/strongswan/strongswan.mk +++ b/bsp/buildroot/package/strongswan/strongswan.mk @@ -13,6 +13,7 @@ STRONGSWAN_PATCH = \ STRONGSWAN_LICENSE = GPL-2.0+ STRONGSWAN_LICENSE_FILES = COPYING LICENSE STRONGSWAN_DEPENDENCIES = host-pkgconf +STRONGSWAN_INSTALL_STAGING = YES STRONGSWAN_CONF_OPTS += \ --without-lib-prefix \ --enable-led \ @@ -39,7 +40,8 @@ STRONGSWAN_CONF_OPTS += \ --enable-swanctl=$(if $(BR2_PACKAGE_STRONGSWAN_VICI),yes,no) \ --with-ipseclibdir=/usr/lib \ --with-plugindir=/usr/lib/ipsec/plugins \ - --with-imcvdir=/usr/lib/ipsec/imcvs + --with-imcvdir=/usr/lib/ipsec/imcvs \ + --with-dev-headers=/usr/include ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) STRONGSWAN_CONF_ENV += LIBS='-latomic' diff --git a/bsp/buildroot/package/subversion/subversion.hash b/bsp/buildroot/package/subversion/subversion.hash index 6adb57c1..be0c8ec9 100644 --- a/bsp/buildroot/package/subversion/subversion.hash +++ b/bsp/buildroot/package/subversion/subversion.hash @@ -1,4 +1,5 @@ -# From http://subversion.apache.org/download.cgi#recommended-release -sha1 874b81749cdc3e88152d103243c3623ac6338388 subversion-1.9.7.tar.bz2 -# From https://www.apache.org/dist/subversion/subversion-1.9.7.tar.bz2.sha512 -sha512 a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b subversion-1.9.7.tar.bz2 +# From https://www.apache.org/dist/subversion/subversion-1.9.10.tar.bz2.sha512 +sha512 58ac11078e0e5a1720199e5c66da76e7a20b86d02edcb8d313f98e2ddc74ae70aa3e0763a7d8a8fcb5a1fd7d65186829625ff110d78028b1c447e91f420d6f48 subversion-1.9.10.tar.bz2 + +# Locally calculated +sha256 3202942c1aba495fd17390618dedc1d3542815c5bc11958da7fd98c985abc11a LICENSE diff --git a/bsp/buildroot/package/subversion/subversion.mk b/bsp/buildroot/package/subversion/subversion.mk index 55738a82..db7e36a6 100644 --- a/bsp/buildroot/package/subversion/subversion.mk +++ b/bsp/buildroot/package/subversion/subversion.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUBVERSION_VERSION = 1.9.7 +SUBVERSION_VERSION = 1.9.10 SUBVERSION_SOURCE = subversion-$(SUBVERSION_VERSION).tar.bz2 SUBVERSION_SITE = http://mirror.catn.com/pub/apache/subversion SUBVERSION_LICENSE = Apache-2.0 diff --git a/bsp/buildroot/package/sudo/sudo.hash b/bsp/buildroot/package/sudo/sudo.hash index 80448ff7..3f20ccb1 100644 --- a/bsp/buildroot/package/sudo/sudo.hash +++ b/bsp/buildroot/package/sudo/sudo.hash @@ -1,2 +1,4 @@ # From: http://www.sudo.ws/download.html -sha256 74c5746cd33a814e2431c39faf0d76f7f8a697379bd073862e3b156cf0d76368 sudo-1.8.21p2.tar.gz +sha256 d863d29b6fc87bc784a3223350e2b28a2ff2c4738f0fb8f1c92bb38c3017e679 sudo-1.8.23.tar.gz +# Locally calculated +sha256 b6625a7b58e9469a7adfd1732960579a19fe84b3508030f9a31641283e2250b8 doc/LICENSE diff --git a/bsp/buildroot/package/sudo/sudo.mk b/bsp/buildroot/package/sudo/sudo.mk index 77a95bd6..136b6c69 100644 --- a/bsp/buildroot/package/sudo/sudo.mk +++ b/bsp/buildroot/package/sudo/sudo.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUDO_VERSION = 1.8.21p2 +SUDO_VERSION = 1.8.23 SUDO_SITE = https://www.sudo.ws/sudo/dist SUDO_LICENSE = ISC, BSD-3-Clause SUDO_LICENSE_FILES = doc/LICENSE @@ -45,7 +45,7 @@ SUDO_CONF_OPTS += --with-ldap # it will fail with "undefined reference" errors. ifeq ($(BR2_STATIC_LIBS)$(BR2_PACKAGE_OPENSSL),yy) SUDO_DEPENDENCIES += host-pkgconf -SUDO_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" +SUDO_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libssl libcrypto`" endif else SUDO_CONF_OPTS += --without-ldap diff --git a/bsp/buildroot/package/sunxi-cedarx/sunxi-cedarx.mk b/bsp/buildroot/package/sunxi-cedarx/sunxi-cedarx.mk index 219f1bc7..5b99f041 100644 --- a/bsp/buildroot/package/sunxi-cedarx/sunxi-cedarx.mk +++ b/bsp/buildroot/package/sunxi-cedarx/sunxi-cedarx.mk @@ -19,7 +19,7 @@ SUNXI_CEDARX_BIN_DIR = $(@D)/libcedarv/linux-armel2 endif define SUNXI_CEDARX_BUILD_AVHEAP - $(TARGET_CC) $(TARGET_CFLAGS) \ + $(TARGET_CC) $(TARGET_CFLAGS) -fPIC \ -c $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.c \ -o $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap/avheap.o \ -I $(SUNXI_CEDARX_BIN_DIR)/adapter/avheap \ diff --git a/bsp/buildroot/package/sunxi-mali-mainline-driver/Config.in b/bsp/buildroot/package/sunxi-mali-mainline-driver/Config.in new file mode 100644 index 00000000..057f20db --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline-driver/Config.in @@ -0,0 +1,25 @@ +comment "sunxi-mali-mainline-driver needs a Linux kernel to be built" + depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE + depends on !BR2_LINUX_KERNEL + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER + bool "sunxi-mali-mainline-driver" + default y + depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE # runtime + depends on BR2_LINUX_KERNEL + select BR2_LINUX_NEEDS_MODULES # not using kernel-module infra + help + This package builds and installs the Linux kernel driver for + the Mali GPU on Allwinner platforms, compatible with recent + Linux kernels (>= 4.4). Note that it should be installed + together with the corresponding userspace OpenGL libraries, + which are provided as binaries only at: + https://github.com/bootlin/mali-blobs + + sunxi-mali-mainline-driver requires a Linux kernel >= 4.4 + with the following options enabled: + + - CONFIG_CMA + - CONFIG_DMA_CMA + + https://github.com/mripard/sunxi-mali/blob/master/README.md diff --git a/bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash b/bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash new file mode 100644 index 00000000..f2b18926 --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 c5f787cc498cc3e156efa70acc3fbf8dc636fba0f677aac66bdded2fda4a529d sunxi-mali-mainline-driver-e28c274f85c65ebec82cdf0f8d021895e105d917.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk b/bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk new file mode 100644 index 00000000..a77ee91f --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline-driver/sunxi-mali-mainline-driver.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# sunxi-mali-mainline-driver +# +################################################################################ + +SUNXI_MALI_MAINLINE_DRIVER_VERSION = e28c274f85c65ebec82cdf0f8d021895e105d917 +SUNXI_MALI_MAINLINE_DRIVER_SITE = $(call github,mripard,sunxi-mali,$(SUNXI_MALI_MAINLINE_DRIVER_VERSION)) +SUNXI_MALI_MAINLINE_DRIVER_DEPENDENCIES = linux +SUNXI_MALI_MAINLINE_DRIVER_LICENSE = GPL-2.0 +SUNXI_MALI_MAINLINE_DRIVER_LICENSE_FILES = LICENSE + +SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS = \ + $(LINUX_MAKE_FLAGS) \ + KDIR=$(LINUX_DIR) + +define SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES + ln -sf $(SUNXI_MALI_MAINLINE_REV)/series $(@D)/patches + $(SED) 's|quilt push -a|$(TOPDIR)/support/scripts/apply-patches.sh . ../patches|' \ + $(@D)/build.sh +endef + +SUNXI_MALI_MAINLINE_DRIVER_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_DRIVER_USE_APPLY_PATCHES + +define SUNXI_MALI_MAINLINE_DRIVER_BUILD_CMDS + cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \ + $(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -b +endef + +define SUNXI_MALI_MAINLINE_DRIVER_INSTALL_TARGET_CMDS + cd $(@D) && $(SUNXI_MALI_MAINLINE_DRIVER_MAKE_OPTS) \ + $(SHELL) ./build.sh -r $(SUNXI_MALI_MAINLINE_REV) -j $(PARALLEL_JOBS) -i +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/sunxi-mali-mainline/Config.in b/bsp/buildroot/package/sunxi-mali-mainline/Config.in new file mode 100644 index 00000000..a2fb95bd --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline/Config.in @@ -0,0 +1,42 @@ +config BR2_PACKAGE_SUNXI_MALI_MAINLINE + bool "sunxi-mali-mainline" + depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm) + depends on BR2_TOOLCHAIN_USES_GLIBC + select BR2_PACKAGE_HAS_LIBEGL + select BR2_PACKAGE_HAS_LIBGLES + help + Install userspace Allwinner OpenGL libraries. + + https://github.com/bootlin/mali-blobs + +if BR2_PACKAGE_SUNXI_MALI_MAINLINE + +config BR2_PACKAGE_PROVIDES_LIBEGL + default "sunxi-mali-mainline" + +config BR2_PACKAGE_PROVIDES_LIBGLES + default "sunxi-mali-mainline" + +choice + prompt "Version" + default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 + help + Select the version of the userspace module. + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 + bool "r6p2" +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 + bool "r8p1" + +endchoice + +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION + string + default "r6p2" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 + default "r8p1" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 + +endif + +comment "sunxi-mali needs an EABIhf glibc toolchain" + depends on BR2_arm + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF diff --git a/bsp/buildroot/package/sunxi-mali-mainline/egl.pc b/bsp/buildroot/package/sunxi-mali-mainline/egl.pc new file mode 100644 index 00000000..3854e5ff --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline/egl.pc @@ -0,0 +1,12 @@ +prefix=/usr/ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: egl +Description: ARM Mali implementation of EGL +Version: 1.4 +Requires: +Libs: -L${libdir} -lEGL -lGLESv2 +Cflags: -I${includedir} + diff --git a/bsp/buildroot/package/sunxi-mali-mainline/glesv2.pc b/bsp/buildroot/package/sunxi-mali-mainline/glesv2.pc new file mode 100644 index 00000000..6910b46a --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline/glesv2.pc @@ -0,0 +1,12 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: glesv2 +Description: ARM Mali implementation of OpenGL ESv2 +Version: 2.0 +Requires: +Libs: -L${libdir} -lGLESv2 -lGLESv1_CM +Cflags: -I${includedir} + diff --git a/bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.hash b/bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.hash new file mode 100644 index 00000000..978be010 --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 72969ecf470b9e5ce787c2f8f36242926e1e892af0891924ee59a2cd206de39f sunxi-mali-mainline-d691cb93884ca8ac67860502117bbec283dc19aa.tar.gz +sha256 8a06bcae44a41a886f339b4338422415a786787f113e9ed6456ae117104a0b6a EULA_for_Mali_400MP_AW.pdf diff --git a/bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk new file mode 100644 index 00000000..701a1fbb --- /dev/null +++ b/bsp/buildroot/package/sunxi-mali-mainline/sunxi-mali-mainline.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# sunxi-mali-mainline +# +################################################################################ + +SUNXI_MALI_MAINLINE_VERSION = d691cb93884ca8ac67860502117bbec283dc19aa +SUNXI_MALI_MAINLINE_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION)) +SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES +SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles +SUNXI_MALI_MAINLINE_LICENSE = Allwinner End User Licence Agreement +SUNXI_MALI_MAINLINE_EULA_ORIGINAL = EULA\ for\ Mali\ 400MP\ _AW.pdf +SUNXI_MALI_MAINLINE_EULA_NO_SPACES = EULA_for_Mali_400MP_AW.pdf +SUNXI_MALI_MAINLINE_LICENSE_FILES = $(SUNXI_MALI_MAINLINE_EULA_NO_SPACES) + +SUNXI_MALI_MAINLINE_REV = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION)) + +ifeq ($(BR2_arm),y) +SUNXI_MALI_MAINLINE_ARCH=arm +else ifeq ($(BR2_aarch64),y) +SUNXI_MALI_MAINLINE_ARCH=arm64 +endif + +define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS + mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include + + cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \ + $(STAGING_DIR)/usr/lib/ + cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/ + + $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/egl.pc + $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \ + $(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc +endef + +define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/lib + cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \ + $(TARGET_DIR)/usr/lib/ +endef + +define SUNXI_MALI_MAINLINE_FIXUP_LICENSE_FILE + mv $(@D)/$(SUNXI_MALI_MAINLINE_EULA_ORIGINAL) $(@D)/$(SUNXI_MALI_MAINLINE_EULA_NO_SPACES) +endef + +SUNXI_MALI_MAINLINE_POST_PATCH_HOOKS += SUNXI_MALI_MAINLINE_FIXUP_LICENSE_FILE + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/sunxi-tools/Config.in b/bsp/buildroot/package/sunxi-tools/Config.in index 02eba956..80a7130a 100644 --- a/bsp/buildroot/package/sunxi-tools/Config.in +++ b/bsp/buildroot/package/sunxi-tools/Config.in @@ -1,9 +1,69 @@ config BR2_PACKAGE_SUNXI_TOOLS - bool "sunxi nand-part" + bool "sunxi-tools" depends on BR2_arm help - nand-part is part of sunxi-tools for Allwinner A10 (aka - sun4i) and A13 (aka sun5i) based devices. It is a tool to - repartition the internal NAND on sunxi devices. + Tools for Allwinner A10 (aka sun4i) and A13 (aka sun5i) + based devices. http://linux-sunxi.org/Sunxi-tools + +if BR2_PACKAGE_SUNXI_TOOLS + +config BR2_PACKAGE_SUNXI_TOOLS_FEXC + bool "sunxi-fexc (fex2bin & bin2fex)" + help + Convert between .fex board definition files and binary + format. These tools are specific for the linux-sunxi kernel + and do not apply to the mainline Linux kernel version. + +config BR2_PACKAGE_SUNXI_TOOLS_BOOTINFO + bool "sunxi-bootinfo" + help + Displays information about sunxi boot code. + +config BR2_PACKAGE_SUNXI_TOOLS_FEL + bool "sunxi-fel" + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb + select BR2_PACKAGE_LIBUSB + help + The sunxi-fel command can interact with a sunxi device in + fel mode. This allows do download code to memory and execute + it. + +comment "sunxi-fel needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS + +config BR2_PACKAGE_SUNXI_TOOLS_NAND_PART + bool "sunxi-nand-part" + default y + help + The sunxi-nand-part command allows to repartition the internal + NAND on sunxi devices. + +config BR2_PACKAGE_SUNXI_TOOLS_PIO + bool "sunxi-pio" + help + GPIO manipulation tool for sunxi boards. + +config BR2_PACKAGE_SUNXI_TOOLS_MEMINFO + bool "sunxi-meminfo" + help + Utility to retrieve DRAM information from registers on + Allwinner SoCs. Specific for the linux-sunxi kernel - does + not apply to the mainline Linux kernel version. + +config BR2_PACKAGE_SUNXI_TOOLS_PHOENIX_INFO + bool "phoenix_info" + help + Display information about self-installing SD card images + (created with Phoenix Card). + + https://linux-sunxi.org/PhoenixCard + +config BR2_PACKAGE_SUNXI_TOOLS_NAND_IMAGE_BUILDER + bool "sunxi-nand-image-builder" + help + Creates a raw NAND image that can be read by the sunxi NAND + controller. + +endif # BR2_PACKAGE_SUNXI_TOOLS diff --git a/bsp/buildroot/package/sunxi-tools/sunxi-tools.mk b/bsp/buildroot/package/sunxi-tools/sunxi-tools.mk index 3a44cf6f..ee590fb9 100644 --- a/bsp/buildroot/package/sunxi-tools/sunxi-tools.mk +++ b/bsp/buildroot/package/sunxi-tools/sunxi-tools.mk @@ -11,25 +11,52 @@ SUNXI_TOOLS_LICENSE_FILES = LICENSE.md HOST_SUNXI_TOOLS_DEPENDENCIES = host-libusb host-pkgconf FEX2BIN = $(HOST_DIR)/bin/fex2bin +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_FEXC) += sunxi-fexc +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_BOOTINFO) += sunxi-bootinfo +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_FEL) += sunxi-fel +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_NAND_PART) += sunxi-nand-part +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_PIO) += sunxi-pio +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_MEMINFO) += sunxi-meminfo +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_PHOENIX_INFO) += phoenix_info +SUNXI_TOOLS_TARGETS_$(BR2_PACKAGE_SUNXI_TOOLS_NAND_IMAGE_BUILDER) += \ + sunxi-nand-image-builder + +ifeq ($(BR2_PACKAGE_SUNXI_TOOLS_FEXC),y) +SUNXI_TOOLS_FEXC_LINKS += fex2bin bin2fex +endif + +ifeq ($(BR2_PACKAGE_SUNXI_TOOLS_FEL),y) +SUNXI_TOOLS_DEPENDENCIES += libusb host-pkgconf +endif + define HOST_SUNXI_TOOLS_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) CC="$(HOSTCC)" PREFIX=$(HOST_DIR) \ - EXTRA_CFLAGS="$(HOST_CFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" \ - -C $(@D) tools + $(HOST_MAKE_ENV) $(MAKE) CROSS_COMPILE="" CC="$(HOSTCC)" \ + PREFIX=$(HOST_DIR) EXTRA_CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) tools misc endef define HOST_SUNXI_TOOLS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) PREFIX=$(HOST_DIR) \ - -C $(@D) install-tools + $(HOST_MAKE_ENV) $(MAKE) CROSS_COMPILE="" CC="$(HOSTCC)" \ + PREFIX=$(HOST_DIR) EXTRA_CFLAGS="$(HOST_CFLAGS)" \ + LDFLAGS="$(HOST_LDFLAGS)" -C $(@D) install-tools install-misc endef define SUNXI_TOOLS_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" PREFIX=/usr \ - EXTRA_CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" \ - -C $(@D) sunxi-nand-part + $(foreach t,$(SUNXI_TOOLS_TARGETS_y), \ + $(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \ + CC="$(TARGET_CC)" PREFIX=/usr \ + EXTRA_CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" -C $(@D) $(t) + ) endef define SUNXI_TOOLS_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/sunxi-nand-part $(TARGET_DIR)/usr/bin/sunxi-nand-part + $(foreach t,$(SUNXI_TOOLS_TARGETS_y), \ + $(INSTALL) -D -m 0755 $(@D)/$(t) $(TARGET_DIR)/usr/bin/$(t) + ) + $(foreach t,$(SUNXI_TOOLS_FEXC_LINKS), \ + ln -nfs sunxi-fexc $(TARGET_DIR)/usr/bin/$(t) + ) endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/supertux/Config.in b/bsp/buildroot/package/supertux/Config.in index 684c2cc9..c77d1ae2 100644 --- a/bsp/buildroot/package/supertux/Config.in +++ b/bsp/buildroot/package/supertux/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_SUPERTUX depends on BR2_PACKAGE_HAS_LIBGL # libglew depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on BR2_PACKAGE_XORG7 # libglew, SDL2 OpenGL (GLX) - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 gcc attributes noreturn + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # C++14 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # openal depends on BR2_USE_MMU # SDL2 OpenGL (GLX) depends on !BR2_STATIC_LIBS # SDL2 @@ -12,11 +12,14 @@ config BR2_PACKAGE_SUPERTUX select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BOOST_LOCALE select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_LIBCURL select BR2_PACKAGE_LIBGLEW select BR2_PACKAGE_LIBGLU # GL/glu.h select BR2_PACKAGE_LIBOGG + select BR2_PACKAGE_LIBPNG select BR2_PACKAGE_LIBVORBIS select BR2_PACKAGE_OPENAL select BR2_PACKAGE_PHYSFS @@ -30,10 +33,10 @@ config BR2_PACKAGE_SUPERTUX http://supertux.github.io/ -comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 4.8, NPTL, dynamic library, wchar" +comment "supertux needs OpenGL and a toolchain w/ C++, gcc >= 6, NPTL, dynamic library, wchar" depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGL || \ - !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/supertux/supertux.hash b/bsp/buildroot/package/supertux/supertux.hash index c56f608e..23e2645d 100644 --- a/bsp/buildroot/package/supertux/supertux.hash +++ b/bsp/buildroot/package/supertux/supertux.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 c9dc3b42991ce5c5d0d0cb94e44c4ec2373ad09029940f0e92331e7e9ada0ac5 SuperTux-v0.5.1-Source.tar.gz +sha256 c4c3e5fa6f90e87b8c5ad6b22a179e9a9839bf997e7f219e22bbcd1c97223ac0 SuperTux-v0.6.0-Source.tar.gz diff --git a/bsp/buildroot/package/supertux/supertux.mk b/bsp/buildroot/package/supertux/supertux.mk index e3974418..af25509d 100644 --- a/bsp/buildroot/package/supertux/supertux.mk +++ b/bsp/buildroot/package/supertux/supertux.mk @@ -4,7 +4,7 @@ # ################################################################################ -SUPERTUX_VERSION = 0.5.1 +SUPERTUX_VERSION = 0.6.0 SUPERTUX_SITE = https://github.com/SuperTux/supertux/releases/download/v$(SUPERTUX_VERSION) SUPERTUX_SOURCE = SuperTux-v$(SUPERTUX_VERSION)-Source.tar.gz @@ -15,8 +15,8 @@ SUPERTUX_LICENSE_FILES = LICENSE.txt data/AUTHORS # Use bundled squirrel, tinygettext sexp-cpp packages which are hardcoded in # the CMake build system. -SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \ - libogg libvorbis openal physfs sdl2 sdl2_image +SUPERTUX_DEPENDENCIES = host-pkgconf boost freetype libcurl libgl libglew libglu \ + libogg libpng libvorbis openal physfs sdl2 sdl2_image # ENABLE_BOOST_STATIC_LIBS=OFF: use boost shared libraries since supertux # depends on !BR2_STATIC_LIBS and boost provide only shared libraries with @@ -26,6 +26,7 @@ SUPERTUX_DEPENDENCIES = host-pkgconf boost libcurl libgl libglew libglu \ # Install the game directly in /usr/bin and game data in /usr/share/supertux2. # Force using physfs.so from staging since the check on PHYSFS_getPrefDir symbol # in physfs.h (CHECK_SYMBOL_EXISTS) doesn't work. +# ENABLE_OPENGLES2=OFF: Disable opengles2 for now. SUPERTUX_CONF_OPTS += \ -DENABLE_BOOST_STATIC_LIBS=OFF \ -DBUILD_DOCUMENTATION=OFF \ @@ -33,7 +34,8 @@ SUPERTUX_CONF_OPTS += \ -DGLBINDING_ENABLED=OFF \ -DINSTALL_SUBDIR_BIN="bin" \ -DINSTALL_SUBDIR_SHARE="share/supertux2" \ - -DUSE_SYSTEM_PHYSFS=ON + -DUSE_SYSTEM_PHYSFS=ON \ + -DENABLE_OPENGLES2=OFF # Avoid incompatible posix_memalign declaration on x86 and x86_64 with # musl. @@ -60,8 +62,6 @@ endif # [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58241#c3 ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) define SUPERTUX_FIX_ALTIVEC_ISSUE - $(SED) 's%std=c++0x%std=gnu++0x%' $(@D)/CMakeLists.txt - $(SED) 's%std=c++11%std=gnu++11%' $(@D)/CMakeLists.txt $(SED) 's%std=c++0x%std=gnu++0x%' $(@D)/external/tinygettext/CMakeLists.txt endef SUPERTUX_POST_PATCH_HOOKS += SUPERTUX_FIX_ALTIVEC_ISSUE diff --git a/bsp/buildroot/package/supervisor/S99supervisord b/bsp/buildroot/package/supervisor/S99supervisord old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/swig/Config.in.host b/bsp/buildroot/package/swig/Config.in.host new file mode 100644 index 00000000..fd2049d3 --- /dev/null +++ b/bsp/buildroot/package/swig/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_SWIG + bool "host swig" + help + swig is a software development tool that connects programs + written in C and C++ with a variety of high-level + programming languages. + + http://www.swig.org/ diff --git a/bsp/buildroot/package/swupdate/0001-compat.h-introduce-compatibility-header.patch b/bsp/buildroot/package/swupdate/0001-compat.h-introduce-compatibility-header.patch deleted file mode 100644 index 5e3bfb0f..00000000 --- a/bsp/buildroot/package/swupdate/0001-compat.h-introduce-compatibility-header.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 9867a9d6a21e6b0b9bcba57c3e2398fe671cea17 Mon Sep 17 00:00:00 2001 -From: Christian Storm -Date: Tue, 16 Jan 2018 10:34:52 +0100 -Subject: [PATCH] compat.h: introduce compatibility header -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Introduce a compat.h housing compatibility definitions -and macros along the lines of commit 7b49b8d having -introduced a compatibility mechanism for Lua. - -First use case (and motivation) is the support for -musl (https://www.musl-libc.org/) which doesn't -bother to provide - char *strndupa(const char *s, size_t n) - -Backported from: 9867a9d6a21e6b0b9bcba57c3e2398fe671cea17 - -Reviewed-by: Stefano Babic -Reported-by: Jörg Krause -Signed-off-by: Christian Storm -Signed-off-by: Jörg Krause ---- - include/compat.h | 24 ++++++++++++++++++++++++ - include/util.h | 1 + - ipc/network_ipc.c | 1 + - 3 files changed, 26 insertions(+) - create mode 100644 include/compat.h - -diff --git a/include/compat.h b/include/compat.h -new file mode 100644 -index 0000000..29d7af1 ---- /dev/null -+++ b/include/compat.h -@@ -0,0 +1,24 @@ -+/* -+ * Author: Christian Storm -+ * Copyright (C) 2018, Siemens AG -+ * -+ * SPDX-License-Identifier: GPL-2.0-or-later -+ */ -+ -+#pragma once -+ -+#ifndef strndupa -+/* -+ * Define char *strndupa(const char *s, size_t n) -+ * for, e.g., musl (https://www.musl-libc.org/) -+ * which does not bother to implement this function. -+ */ -+#define strndupa(s, n) \ -+ (__extension__({ \ -+ const char *__in = (s); \ -+ size_t __len = strnlen(__in, (n)) + 1; \ -+ char *__out = (char *)alloca(__len); \ -+ __out[__len - 1] = '\0'; \ -+ (char *)memcpy(__out, __in, __len - 1); \ -+ })) -+#endif -diff --git a/include/util.h b/include/util.h -index bec2975..d43cd8c 100644 ---- a/include/util.h -+++ b/include/util.h -@@ -12,6 +12,7 @@ - #include - #include "swupdate.h" - #include "swupdate_status.h" -+#include "compat.h" - - #define NOTIFY_BUF_SIZE 2048 - #define ENOMEM_ASPRINTF -1 -diff --git a/ipc/network_ipc.c b/ipc/network_ipc.c -index 3f197c7..48f6fcc 100644 ---- a/ipc/network_ipc.c -+++ b/ipc/network_ipc.c -@@ -27,6 +27,7 @@ - #include - - #include "network_ipc.h" -+#include "compat.h" - - #ifdef CONFIG_SOCKET_CTRL_PATH - static char* SOCKET_CTRL_PATH = (char*)CONFIG_SOCKET_CTRL_PATH; --- -2.15.1 - diff --git a/bsp/buildroot/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch b/bsp/buildroot/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch deleted file mode 100644 index 5e079955..00000000 --- a/bsp/buildroot/package/swupdate/0002-Fix-build-if-DOWNLOAD-is-set-but-no-JSON.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 37a6666a532e9cbc42b56301f27919ae7c00d2eb Mon Sep 17 00:00:00 2001 -From: Stefano Babic -Date: Tue, 23 Jan 2018 16:52:32 +0100 -Subject: [PATCH] Fix build if DOWNLOAD is set, but no JSON -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The downloader does not require JSON, but channel_curl is built -even if not called. Build fails with the error: - -corelib/channel_curl.c:27:10: fatal error: json-c/json.h: No such file or directory - -Add a CONFIG_CHANNEL_CURL that is automatically set by the modules -reuiring it (suricatta and swuforwarder). - -Backported from: 37a6666a532e9cbc42b56301f27919ae7c00d2eb - -Signed-off-by: Stefano Babic -Reported-by: Jörg Krause -Acked-by: Jörg Krause -Signed-off-by: Jörg Krause ---- - Kconfig | 7 +++++++ - corelib/Makefile | 2 +- - handlers/Config.in | 8 +++++--- - suricatta/Config.in | 3 +-- - 4 files changed, 14 insertions(+), 6 deletions(-) - -diff --git a/Kconfig b/Kconfig -index 4469096..e344572 100644 ---- a/Kconfig -+++ b/Kconfig -@@ -294,6 +294,13 @@ config DOWNLOAD - comment "Image downloading support needs libcurl" - depends on !HAVE_LIBCURL - -+config CHANNEL_CURL -+ bool -+ depends on HAVE_LIBCURL -+ depends on HAVE_JSON_C -+ select CURL -+ select JSON -+ - config HASH_VERIFY - bool "Allow to add sha256 hash to each image" - depends on HAVE_LIBSSL -diff --git a/corelib/Makefile b/corelib/Makefile -index 282bffd..4b30f9c 100644 ---- a/corelib/Makefile -+++ b/corelib/Makefile -@@ -17,4 +17,4 @@ lib-$(CONFIG_ENCRYPTED_IMAGES) += swupdate_decrypt.o - lib-$(CONFIG_LIBCONFIG) += swupdate_settings.o \ - parsing_library_libconfig.o - lib-$(CONFIG_JSON) += parsing_library_libjson.o --lib-$(CONFIG_CURL) += channel_curl.o -+lib-$(CONFIG_CHANNEL_CURL) += channel_curl.o -diff --git a/handlers/Config.in b/handlers/Config.in -index 596f069..6226b59 100644 ---- a/handlers/Config.in -+++ b/handlers/Config.in -@@ -54,7 +54,6 @@ config UBIVIDOFFSET - if your NAND driver incorrectly reports that it can handle - sub-page accesses when it should not. - -- - config CFI - bool "cfi" - depends on MTD -@@ -164,8 +163,8 @@ comment "remote handler needs zeromq" - config SWUFORWARDER_HANDLER - bool "SWU forwarder" - depends on HAVE_LIBCURL -- select CURL -- select JSON -+ depends on HAVE_JSON_C -+ select CHANNEL_CURL - default n - help - This allows to build a chain of updater. A -@@ -174,6 +173,9 @@ config SWUFORWARDER_HANDLER - embedded SWU to the other devices using the - Webserver REST API. - -+comment "swuforward handler needs json-c and curl" -+ depends on !HAVE_JSON_C || !HAVE_LIBCURL -+ - comment "SWU forwarder requires libcurl" - depends on !HAVE_LIBCURL - -diff --git a/suricatta/Config.in b/suricatta/Config.in -index 62e448a..2586169 100644 ---- a/suricatta/Config.in -+++ b/suricatta/Config.in -@@ -71,8 +71,7 @@ config SURICATTA_HAWKBIT - bool "hawkBit support" - depends on HAVE_LIBCURL - depends on HAVE_JSON_C -- select JSON -- select CURL -+ select CHANNEL_CURL - help - Support for hawkBit server. - https://projects.eclipse.org/projects/iot.hawkbit --- -2.16.1 - diff --git a/bsp/buildroot/package/swupdate/swupdate.config b/bsp/buildroot/package/swupdate/swupdate.config index 0f6e9615..730ebe50 100644 --- a/bsp/buildroot/package/swupdate/swupdate.config +++ b/bsp/buildroot/package/swupdate/swupdate.config @@ -12,6 +12,7 @@ CONFIG_HAVE_DOT_CONFIG=y # General Configuration # # CONFIG_CURL is not set +# CONFIG_CURL_SSL is not set # CONFIG_SYSTEMD is not set CONFIG_SCRIPTS=y # CONFIG_HW_COMPATIBILITY is not set @@ -49,6 +50,10 @@ CONFIG_EXTRA_LDLIBS="" # CONFIG_WERROR is not set # CONFIG_NOCLEANUP is not set +# +# EFI Boot Guard needs libebgenv and libz +# + # # U-Boot support needs libubootenv, libz # @@ -72,29 +77,13 @@ CONFIG_BOOTLOADER_NONE=y # # CONFIG_SURICATTA is not set CONFIG_WEBSERVER=y - -# -# Webserver Features -# CONFIG_MONGOOSE=y - -# -# Mongoose Feature -# CONFIG_MONGOOSEIPV6=y # # SSL support needs libcrypto, libssl # -# -# Archival Features -# - -# -# gunzip support needs libz -# - # # Parser Features # @@ -124,6 +113,10 @@ CONFIG_RAW=y # remote handler needs zeromq # +# +# swuforward handler needs json-c and curl +# + # # SWU forwarder requires libcurl # diff --git a/bsp/buildroot/package/swupdate/swupdate.hash b/bsp/buildroot/package/swupdate/swupdate.hash index d1b69c9a..138bd6d3 100644 --- a/bsp/buildroot/package/swupdate/swupdate.hash +++ b/bsp/buildroot/package/swupdate/swupdate.hash @@ -1,2 +1,6 @@ # Locally calculated -sha256 1e15d9675cf7e23886dca7ea058498282c35679a555845dbc85ffe688f2cc681 swupdate-2017.11.tar.gz +sha256 a65884ca18523cde1b0744d952d6f91462dbd4ad07941305f5684c6d4ec833dc swupdate-2018.11.tar.gz +sha256 43492b377cf2fb67942d1dd231146bd4e6578646ad13ef289297c9dd75cbc478 Licenses/Exceptions +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Licenses/gpl-2.0.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Licenses/lgpl-2.1.txt +sha256 89807acf2309bd285f033404ee78581602f3cd9b819a16ac2f0e5f60ff4a473e Licenses/mit.txt diff --git a/bsp/buildroot/package/swupdate/swupdate.mk b/bsp/buildroot/package/swupdate/swupdate.mk index aa232e58..78f23ec2 100644 --- a/bsp/buildroot/package/swupdate/swupdate.mk +++ b/bsp/buildroot/package/swupdate/swupdate.mk @@ -4,12 +4,18 @@ # ################################################################################ -SWUPDATE_VERSION = 2017.11 +SWUPDATE_VERSION = 2018.11 SWUPDATE_SITE = $(call github,sbabic,swupdate,$(SWUPDATE_VERSION)) -SWUPDATE_LICENSE = GPL-2.0+, MIT, Public Domain -SWUPDATE_LICENSE_FILES = COPYING +SWUPDATE_LICENSE = GPL-2.0+ with OpenSSL exception, LGPL-2.1+, MIT +SWUPDATE_LICENSE_FILES = Licenses/Exceptions Licenses/gpl-2.0.txt \ + Licenses/lgpl-2.1.txt Licenses/mit.txt -# swupdate bundles its own version of mongoose (version 3.8) +# swupdate uses $CROSS-cc instead of $CROSS-gcc, which is not +# available in all external toolchains, and use CC for linking. Ensure +# TARGET_CC is used for both. +SWUPDATE_MAKE_ENV = CC="$(TARGET_CC)" LD="$(TARGET_CC)" + +# swupdate bundles its own version of mongoose (version 6.11) ifeq ($(BR2_PACKAGE_JSON_C),y) SWUPDATE_DEPENDENCIES += json-c @@ -39,7 +45,7 @@ else SWUPDATE_MAKE_ENV += HAVE_LIBCURL=n endif -ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER),y) +ifeq ($(BR2_PACKAGE_HAS_LUAINTERPRETER):$(BR2_STATIC_LIBS),y:) SWUPDATE_DEPENDENCIES += luainterpreter host-pkgconf # defines the base name for the pkg-config file ("lua" or "luajit") define SWUPDATE_SET_LUA_VERSION @@ -125,7 +131,7 @@ define SWUPDATE_INSTALL_TARGET_CMDS $(INSTALL) -D -m 0755 $(@D)/swupdate $(TARGET_DIR)/usr/bin/swupdate $(if $(BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE), \ mkdir -p $(TARGET_DIR)/var/www/swupdate; \ - cp -dpf $(@D)/www/* $(TARGET_DIR)/var/www/swupdate) + cp -dpfr $(@D)/examples/www/v2/* $(TARGET_DIR)/var/www/swupdate) endef # Checks to give errors that the user can understand diff --git a/bsp/buildroot/package/sylpheed/sylpheed.hash b/bsp/buildroot/package/sylpheed/sylpheed.hash index 39c09277..08a5d0a2 100644 --- a/bsp/buildroot/package/sylpheed/sylpheed.hash +++ b/bsp/buildroot/package/sylpheed/sylpheed.hash @@ -1,2 +1,4 @@ # Locally calculated after checking pgp signature -sha256 4aeb7c6436ad485a2cc101dd68a1fb84abcad4c6471ed9ddefec65e482e5b2b1 sylpheed-3.2.0.tar.bz2 +sha256 0d6bc5eb46f5d0a463757c62bc80b00d219b294b3c3662840e4540f6db2e3e49 sylpheed-3.7.0.tar.xz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING +sha256 a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861 COPYING.LIB diff --git a/bsp/buildroot/package/sylpheed/sylpheed.mk b/bsp/buildroot/package/sylpheed/sylpheed.mk index 14107f0a..0453fba5 100644 --- a/bsp/buildroot/package/sylpheed/sylpheed.mk +++ b/bsp/buildroot/package/sylpheed/sylpheed.mk @@ -4,9 +4,9 @@ # ################################################################################ -SYLPHEED_VERSION_MAJOR = 3.2 +SYLPHEED_VERSION_MAJOR = 3.7 SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).0 -SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2 +SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.xz SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR) SYLPHEED_LICENSE = GPL-2.0+ (executables), LGPL-2.1+ (library, attachment plugin) SYLPHEED_LICENSE_FILES = COPYING COPYING.LIB diff --git a/bsp/buildroot/package/synergy/0001-allow-building-of-synergy-without-tests.patch b/bsp/buildroot/package/synergy/0001-allow-building-of-synergy-without-tests.patch deleted file mode 100644 index 0c550eec..00000000 --- a/bsp/buildroot/package/synergy/0001-allow-building-of-synergy-without-tests.patch +++ /dev/null @@ -1,86 +0,0 @@ -From cb6b00947ea125c3246654bb3dd3986b64e974d4 Mon Sep 17 00:00:00 2001 -From: Pieterjan Camerlynck -Date: Mon, 27 Mar 2017 21:51:59 +0200 -Subject: [PATCH] allow building of synergy without tests - -Upstream status: https://github.com/symless/synergy/pull/5943 - -Signed-off-by: Pieterjan Camerlynck ---- - CMakeLists.txt | 2 ++ - src/CMakeLists.txt | 2 +- - src/lib/synergy/KeyMap.h | 4 ++++ - src/test/unittests/synergy/KeyMapTests.cpp | 2 ++ - 4 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 94c474e..cceac45 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,6 +39,8 @@ endif() - # First, declare project (important for prerequisite checks). - project(synergy C CXX) - -+option(BUILD_TESTS "Override building of tests" ON) -+ - # put binaries in a different dir to make them easier to find. - set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) - set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 237ba48..96dadd2 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -50,6 +50,6 @@ add_subdirectory(lib) - add_subdirectory(cmd) - add_subdirectory(micro) - --if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX") -+if (BUILD_TESTS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "IRIX") - add_subdirectory(test) - endif() -diff --git a/src/lib/synergy/KeyMap.h b/src/lib/synergy/KeyMap.h -index de869e6..51e7e07 100644 ---- a/src/lib/synergy/KeyMap.h -+++ b/src/lib/synergy/KeyMap.h -@@ -24,7 +24,9 @@ - #include "common/stdset.h" - #include "common/stdvector.h" - -+#ifdef TEST_ENV - #include "gtest/gtest_prod.h" -+#endif - - namespace synergy { - -@@ -326,6 +328,7 @@ public: - - //@} - -+#ifdef TEST_ENV - private: - FRIEND_TEST(KeyMapTests, - findBestKey_requiredDown_matchExactFirstItem); -@@ -340,6 +343,7 @@ private: - FRIEND_TEST(KeyMapTests, - findBestKey_onlyOneRequiredDown_matchTwoRequiredChangesItem); - FRIEND_TEST(KeyMapTests, findBestKey_noRequiredDown_cannotMatch); -+#endif - - private: - //! Ways to synthesize a key -diff --git a/src/test/unittests/synergy/KeyMapTests.cpp b/src/test/unittests/synergy/KeyMapTests.cpp -index 1a195af..fe2a5e4 100644 ---- a/src/test/unittests/synergy/KeyMapTests.cpp -+++ b/src/test/unittests/synergy/KeyMapTests.cpp -@@ -15,6 +15,8 @@ - * along with this program. If not, see . - */ - -+#define TEST_ENV -+ - #include "synergy/KeyMap.h" - - #include "test/global/gtest.h" --- -2.7.4 - diff --git a/bsp/buildroot/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch b/bsp/buildroot/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch deleted file mode 100644 index a261b6b1..00000000 --- a/bsp/buildroot/package/synergy/0002-do-not-change-output-path-when-building-in-debug.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2868add1b7375ef4e2427edb85e27759c5ee226b Mon Sep 17 00:00:00 2001 -From: Pieterjan Camerlynck -Date: Fri, 31 Mar 2017 20:05:30 +0200 -Subject: [PATCH] do not change output path when building in debug - -Signed-off-by: Pieterjan Camerlynck ---- - CMakeLists.txt | 9 --------- - 1 file changed, 9 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 94c474e..1080e41 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,15 +43,6 @@ project(synergy C CXX) - set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) - set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) - --# for unix, put debug files in a separate bin "debug" dir. --# release bin files should stay in the root of the bin dir. --if (CMAKE_GENERATOR STREQUAL "Unix Makefiles") -- if (CMAKE_BUILD_TYPE STREQUAL Debug) -- set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin/debug) -- set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib/debug) -- endif() --endif() -- - # Set some easy to type variables. - set(root_dir ${CMAKE_SOURCE_DIR}) - set(cmake_dir ${root_dir}/res) --- -2.7.4 - diff --git a/bsp/buildroot/package/synergy/Config.in b/bsp/buildroot/package/synergy/Config.in index 3bb8b8e9..c1216c4b 100644 --- a/bsp/buildroot/package/synergy/Config.in +++ b/bsp/buildroot/package/synergy/Config.in @@ -4,8 +4,7 @@ config BR2_PACKAGE_SYNERGY depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_LIBCURL - select BR2_PACKAGE_OPENSSL + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXTST help @@ -14,9 +13,10 @@ config BR2_PACKAGE_SYNERGY operating systems, each with its own display, without special hardware. - https://github.com/symless/synergy/ + https://github.com/symless/synergy-core/ -comment "synergy needs a toolchain w/ C++, wchar" +comment "synergy needs a toolchain w/ C++, wchar, gcc >= 4.9" depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU - depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \ + BR2_TOOLCHAIN_GCC_AT_LEAST_4_9) diff --git a/bsp/buildroot/package/synergy/synergy.hash b/bsp/buildroot/package/synergy/synergy.hash index 52f9d74d..664855fa 100644 --- a/bsp/buildroot/package/synergy/synergy.hash +++ b/bsp/buildroot/package/synergy/synergy.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 85c388f93881d741981ce3c675e840a52a76883cb2cea1da306c0c453c5d7d9b synergy-v1.8.8-stable.tar.gz +sha256 06d1cb1d43251b0b624212652e9c0ab2657d124ac4f7e7d0c7f3e448c953c2a8 synergy-v2.0.12-beta.tar.gz +sha256 4921009cd76e7d38a8e873c362b25dbaf032c320bbb36a40dec775ddbdcbe1d8 LICENSE diff --git a/bsp/buildroot/package/synergy/synergy.mk b/bsp/buildroot/package/synergy/synergy.mk index 76a4004f..46c4fbb1 100644 --- a/bsp/buildroot/package/synergy/synergy.mk +++ b/bsp/buildroot/package/synergy/synergy.mk @@ -4,11 +4,15 @@ # ################################################################################ -SYNERGY_VERSION = v1.8.8-stable -SYNERGY_SITE = $(call github,symless,synergy,$(SYNERGY_VERSION)) +SYNERGY_VERSION = v2.0.12-beta +SYNERGY_SITE = $(call github,symless,synergy-core,$(SYNERGY_VERSION)) SYNERGY_LICENSE = GPL-2.0 SYNERGY_LICENSE_FILES = LICENSE -SYNERGY_DEPENDENCIES = libcurl openssl xlib_libX11 xlib_libXtst +SYNERGY_DEPENDENCIES = xlib_libX11 xlib_libXtst + +# Avoid using buildroot commit hash inside cmake/Version.cmake +# by setting SYNERGY_VERSION_STAGE != snapshot +SYNERGY_CONF_ENV += SYNERGY_VERSION_STAGE="beta" ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT),y) SYNERGY_DEPENDENCIES += xlib_libXext diff --git a/bsp/buildroot/package/sysdig/Config.in b/bsp/buildroot/package/sysdig/Config.in index 6ccb706a..672c44d2 100644 --- a/bsp/buildroot/package/sysdig/Config.in +++ b/bsp/buildroot/package/sysdig/Config.in @@ -4,7 +4,9 @@ config BR2_PACKAGE_SYSDIG depends on BR2_INSTALL_LIBSTDCPP # libjson depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - depends on !BR2_STATIC_LIBS # luajit + depends on !BR2_STATIC_LIBS # luajit, elfutils + depends on BR2_USE_WCHAR # elfutils + depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils select BR2_PACKAGE_ZLIB select BR2_PACKAGE_LUAJIT select BR2_PACKAGE_JSONCPP @@ -13,6 +15,7 @@ config BR2_PACKAGE_SYSDIG select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_JQ select BR2_PACKAGE_LIBB64 + select BR2_PACKAGE_ELFUTILS help Sysdig is open source, system-level exploration: capture system state and activity from a running Linux @@ -22,7 +25,8 @@ config BR2_PACKAGE_SYSDIG http://sysdig.org -comment "sysdig needs a toolchain w/ C++, gcc >= 4.8, dynamic library and a Linux kernel to be built" +comment "sysdig needs a glibc or uclibc toolchain w/ C++, gcc >= 4.8, dynamic library and a Linux kernel to be built" depends on !BR2_LINUX_KERNEL || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || BR2_STATIC_LIBS + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || BR2_STATIC_LIBS \ + || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC) depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS diff --git a/bsp/buildroot/package/sysdig/sysdig.hash b/bsp/buildroot/package/sysdig/sysdig.hash index 63a9e385..565b1e98 100644 --- a/bsp/buildroot/package/sysdig/sysdig.hash +++ b/bsp/buildroot/package/sysdig/sysdig.hash @@ -1,2 +1,3 @@ -# locally computed -sha256 480d5d8fd7e7373c08008c30bd8e2c7595d5c45d710bf07bd15a522021b560f6 sysdig-0.19.1.tar.gz +# sha256 locally computed +sha256 57d5b713b875eba35546a1408bf3f20c2703904a17d956be115ee55272db4cfa sysdig-0.23.1.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/sysdig/sysdig.mk b/bsp/buildroot/package/sysdig/sysdig.mk index a9c9f21b..9ac990e3 100644 --- a/bsp/buildroot/package/sysdig/sysdig.mk +++ b/bsp/buildroot/package/sysdig/sysdig.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSDIG_VERSION = 0.19.1 +SYSDIG_VERSION = 0.23.1 SYSDIG_SITE = $(call github,draios,sysdig,$(SYSDIG_VERSION)) SYSDIG_LICENSE = GPL-2.0 SYSDIG_LICENSE_FILES = COPYING @@ -12,7 +12,7 @@ SYSDIG_CONF_OPTS = -DUSE_BUNDLED_LUAJIT=OFF -DUSE_BUNDLED_ZLIB=OFF \ -DUSE_BUNDLED_JSONCPP=OFF -DENABLE_DKMS=OFF -DUSE_BUNDLED_CURL=OFF \ -DUSE_BUNDLED_NCURSES=OFF -DUSE_BUNDLED_OPENSSL=OFF \ -DUSE_BUNDLED_JQ=OFF -DUSE_BUNDLED_B64=OFF -SYSDIG_DEPENDENCIES = zlib luajit jsoncpp libcurl ncurses openssl jq libb64 +SYSDIG_DEPENDENCIES = zlib luajit jsoncpp libcurl ncurses openssl jq libb64 elfutils SYSDIG_SUPPORTS_IN_SOURCE_BUILD = NO # sysdig creates the module Makefile from a template, which contains a diff --git a/bsp/buildroot/package/sysklogd/S01logging b/bsp/buildroot/package/sysklogd/S01logging deleted file mode 100644 index 1cbfe869..00000000 --- a/bsp/buildroot/package/sysklogd/S01logging +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -case "$1" in - start) - printf "Starting logging: " - /sbin/syslogd -m 0 - /sbin/klogd - echo "OK" - ;; - stop) - printf "Stopping logging: " - [ -f /var/run/klogd.pid ] && kill `cat /var/run/klogd.pid` - [ -f /var/run/syslogd.pid ] && kill `cat /var/run/syslogd.pid` - echo "OK" - ;; - restart|reload) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/bsp/buildroot/package/sysklogd/S01syslogd b/bsp/buildroot/package/sysklogd/S01syslogd new file mode 100644 index 00000000..d0951f02 --- /dev/null +++ b/bsp/buildroot/package/sysklogd/S01syslogd @@ -0,0 +1,62 @@ +#!/bin/sh + +DAEMON="syslogd" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOGD_ARGS="-m 0" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- $SYSLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# SIGHUP makes syslogd reload its configuration +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/sysklogd/S02klogd b/bsp/buildroot/package/sysklogd/S02klogd new file mode 100644 index 00000000..93f39e1f --- /dev/null +++ b/bsp/buildroot/package/sysklogd/S02klogd @@ -0,0 +1,65 @@ +#!/bin/sh + +DAEMON="klogd" +PIDFILE="/var/run/$DAEMON.pid" + +KLOGD_ARGS="" + +KLOGD_RELOAD="0" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/sbin/$DAEMON" \ + -- $KLOGD_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# SIGUSR1 makes klogd reload kernel module symbols +# SIGUSR2 makes klogd reload static kernel symbols and kernel module symbols +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s "$KLOGD_RELOAD" -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/sysklogd/sysklogd.mk b/bsp/buildroot/package/sysklogd/sysklogd.mk index 1c8259a9..976438c1 100644 --- a/bsp/buildroot/package/sysklogd/sysklogd.mk +++ b/bsp/buildroot/package/sysklogd/sysklogd.mk @@ -9,11 +9,6 @@ SYSKLOGD_SITE = http://www.infodrom.org/projects/sysklogd/download SYSKLOGD_LICENSE = GPL-2.0+ SYSKLOGD_LICENSE_FILES = COPYING -# Override BusyBox implementations if BusyBox is enabled. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -SYSKLOGD_DEPENDENCIES = busybox -endif - # Override SKFLAGS which is used as CFLAGS. define SYSKLOGD_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) SKFLAGS="$(TARGET_CFLAGS) -DSYSV" \ @@ -28,8 +23,10 @@ define SYSKLOGD_INSTALL_TARGET_CMDS endef define SYSKLOGD_INSTALL_INIT_SYSV - $(INSTALL) -m 755 -D package/sysklogd/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 755 -D package/sysklogd/S01syslogd \ + $(TARGET_DIR)/etc/init.d/S01syslogd + $(INSTALL) -m 755 -D package/sysklogd/S02klogd \ + $(TARGET_DIR)/etc/init.d/S02klogd endef define SYSKLOGD_INSTALL_INIT_SYSTEMD diff --git a/bsp/buildroot/package/syslog-ng/0001-fix-build-on-uclibc.patch b/bsp/buildroot/package/syslog-ng/0001-fix-build-on-uclibc.patch new file mode 100644 index 00000000..dbb9b66b --- /dev/null +++ b/bsp/buildroot/package/syslog-ng/0001-fix-build-on-uclibc.patch @@ -0,0 +1,51 @@ +From 98bd6106f8c48bc8f0a27bd712ed4ba6249e9a5f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 13 Jan 2019 11:03:51 +0100 +Subject: [PATCH] fix build on m68k with uclibc + +uclibc on m68k defines pthread_spinlock_t but does not define +pthread_spin_trylock so check for this function before using it + +Fixes: + - http://autobuild.buildroot.org/results/0a6de11c030a4f39e402917809fc6d33fb463d1b + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/buytenh/ivykis/pull/17] +--- + configure.ac | 3 +++ + src/spinlock.h | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/lib/ivykis/configure.ac b/lib/ivykis/configure.ac +index e9b10c0..24152a9 100644 +--- a/lib/ivykis/configure.ac ++++ b/lib/ivykis/configure.ac +@@ -110,6 +110,9 @@ AC_CACHE_CHECK(for linux/netfilter_ipv4.h, ac_cv_header_linux_netfilter_ipv4_h, + # Check for pthread_spinlock_t. + AC_CHECK_TYPES([pthread_spinlock_t], [], [], [[#include ]]) + ++# Check for pthread_spin_trylock ++AC_CHECK_FUNCS([pthread_spin_trylock]) ++ + # Check which header file defines 'struct timespec'. + for hdr in sys/time.h sys/timers.h time.h pthread.h + do +diff --git a/lib/ivykis/src/spinlock.h b/lib/ivykis/src/spinlock.h +index ebcdbec..d837df8 100644 +--- a/lib/ivykis/src/spinlock.h ++++ b/lib/ivykis/src/spinlock.h +@@ -76,7 +76,11 @@ static inline void fallback_spin_unlock(fallback_spinlock_t *lock) + + static inline int pthread_spinlocks_available(void) + { ++#ifdef HAVE_PTHREAD_SPIN_TRYLOCK + return !!(pthread_spin_trylock != NULL); ++#else ++ return 0; ++#endif + } + + +-- +2.14.1 + diff --git a/bsp/buildroot/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch b/bsp/buildroot/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch deleted file mode 100644 index b307ab5a..00000000 --- a/bsp/buildroot/package/syslog-ng/0001-modules-json-Adaptions-for-json-c-v0.13.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 1b824dd6389e209eab752d5a698c6093f311e3e3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= -Date: Mon, 11 Dec 2017 15:46:06 +0100 -Subject: [PATCH] modules/json: Adaptions for json-c v0.13 - -Signed-off-by: Baruch Siach ---- -Patch status: upstream commit 1b824dd6389e - - modules/json/json-parser.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/modules/json/json-parser.c b/modules/json/json-parser.c -index 0368ed8f7ffe..356df48b9fc7 100644 ---- a/modules/json/json-parser.c -+++ b/modules/json/json-parser.c -@@ -20,6 +20,8 @@ - * COPYING for details. - */ - -+#define JSON_C_VER_013 (13 << 8) -+ - #include "json-parser.h" - #include "dot-notation.h" - #include "scratch-buffers.h" -@@ -28,7 +30,10 @@ - #include - - #include -+ -+#if (!defined(JSON_C_VERSION_NUM)) || (JSON_C_VERSION_NUM < JSON_C_VER_013) - #include -+#endif - - typedef struct _JSONParser - { --- -2.15.1 - diff --git a/bsp/buildroot/package/syslog-ng/0002-build-make-dlsym-optional.patch b/bsp/buildroot/package/syslog-ng/0002-build-make-dlsym-optional.patch new file mode 100644 index 00000000..bb29e1ed --- /dev/null +++ b/bsp/buildroot/package/syslog-ng/0002-build-make-dlsym-optional.patch @@ -0,0 +1,160 @@ +From d85121c0dc700cad4bd9735b0ee1dab9addf9dd7 Mon Sep 17 00:00:00 2001 +From: Kokan +Date: Thu, 17 Jan 2019 18:44:41 +0100 +Subject: [PATCH] build: make dlsym optional + +In case of static uClibc-ng lib, the does not exists. + +The signal-handler.c solves an issue in case of program src/dst +and Java destination. That combination is really rare if not impossible. + +This patch simply disables own sigaction if is not present. + +Signed-off-by: Kokan + +Downloaded from upstream commit +https://github.com/balabit/syslog-ng/commit/d85121c0dc700cad4bd9735b0ee1dab9addf9dd7 + +Signed-off-by: Chris Packham +--- + CMakeLists.txt | 1 + + configure.ac | 1 + + lib/CMakeLists.txt | 1 - + lib/Makefile.am | 1 - + lib/signal-handler.c | 8 ++++---- + lib/signal-handler.h | 31 ------------------------------- + syslog-ng-config.h.in | 1 + + 7 files changed, 7 insertions(+), 37 deletions(-) + delete mode 100644 lib/signal-handler.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c847a547b..dee691388 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,6 +106,7 @@ check_symbol_exists("getrandom" "sys/random.h" SYSLOG_NG_HAVE_GETRANDOM) + + check_include_files(utmp.h SYSLOG_NG_HAVE_UTMP_H) + check_include_files(utmpx.h SYSLOG_NG_HAVE_UTMPX_H) ++check_include_files(dlfcn.h SYSLOG_NG_HAVE_DLFCN_H) + + check_struct_has_member("struct utmpx" "ut_type" "utmpx.h" UTMPX_HAS_UT_TYPE LANGUAGE C) + check_struct_has_member("struct utmp" "ut_type" "utmp.h" UTMP_HAS_UT_TYPE LANGUAGE C) +diff --git a/configure.ac b/configure.ac +index 6bdd8d252..6ef0ad2b4 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -627,6 +627,7 @@ dnl *************************************************************************** + + AC_HEADER_STDC + AC_CHECK_HEADER(dmalloc.h) ++AC_CHECK_HEADER(dlfcn.h) + AC_CHECK_HEADERS(strings.h \ + getopt.h \ + stropts.h \ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index be2da32a4..5268712e9 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -91,7 +91,6 @@ set (LIB_HEADERS + logthrdestdrv.h + logwriter.h + mainloop.h +- signal-handler.h + mainloop-call.h + mainloop-worker.h + mainloop-io-worker.h +diff --git a/lib/Makefile.am b/lib/Makefile.am +index ec1928795..5f9e93d79 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -129,7 +129,6 @@ pkginclude_HEADERS += \ + lib/logthrdestdrv.h \ + lib/logwriter.h \ + lib/mainloop.h \ +- lib/signal-handler.h \ + lib/mainloop-call.h \ + lib/mainloop-worker.h \ + lib/mainloop-io-worker.h \ +diff --git a/lib/signal-handler.c b/lib/signal-handler.c +index 5657ba182..8f52f675b 100644 +--- a/lib/signal-handler.c ++++ b/lib/signal-handler.c +@@ -21,14 +21,15 @@ + * COPYING for details. + * + */ +-#include "signal-handler.h" + + #include "syslog-ng.h" + #include "children.h" + +-#ifndef _WIN32 ++#include ++ ++#if SYSLOG_NG_HAVE_DLFCN_H ++ + #include +-#endif + + static const struct sigaction *sgchld_handler; + +@@ -41,7 +42,6 @@ trigger_sigchld_handler_chain(int signum) + } + } + +-#ifndef _WIN32 + static int + call_original_sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) + { +diff --git a/lib/signal-handler.h b/lib/signal-handler.h +deleted file mode 100644 +index 36e5ac293..000000000 +--- a/lib/signal-handler.h ++++ /dev/null +@@ -1,31 +0,0 @@ +-/* +- * Copyright (c) 2018 Balabit +- * Copyright (c) 2018 Kokan +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2.1 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the Free Software +- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +- * +- * As an additional exemption you are allowed to compile & link against the +- * OpenSSL libraries as published by the OpenSSL project. See the file +- * COPYING for details. +- * +- */ +-#ifndef SIGNAL_HANDLER_H_INCLUDED +-#define SIGNAL_HANDLER_H_INCLUDED +- +-#include +- +-void trigger_sigchld_handler_chain(int); +- +-#endif +diff --git a/syslog-ng-config.h.in b/syslog-ng-config.h.in +index 9e372f103..d8208eedd 100644 +--- a/syslog-ng-config.h.in ++++ b/syslog-ng-config.h.in +@@ -38,6 +38,7 @@ + #cmakedefine SYSLOG_NG_PATH_XSDDIR "@SYSLOG_NG_PATH_XSDDIR@" + #cmakedefine SYSLOG_NG_HAVE_GETUTENT @SYSLOG_NG_HAVE_GETUTENT@ + #cmakedefine SYSLOG_NG_HAVE_GETUTXENT @SYSLOG_NG_HAVE_GETUTXENT@ ++#cmakedefine SYSLOG_NG_HAVE_DLFCN_H @SYSLOG_NG_HAVE_DLFCN_H@ + #cmakedefine SYSLOG_NG_HAVE_UTMPX_H @SYSLOG_NG_HAVE_UTMPX_H@ + #cmakedefine SYSLOG_NG_HAVE_UTMP_H @SYSLOG_NG_HAVE_UTMP_H@ + #cmakedefine SYSLOG_NG_HAVE_MODERN_UTMP @SYSLOG_NG_HAVE_MODERN_UTMP@ +-- +2.20.1 + diff --git a/bsp/buildroot/package/syslog-ng/S01logging b/bsp/buildroot/package/syslog-ng/S01logging deleted file mode 100644 index d7c899a1..00000000 --- a/bsp/buildroot/package/syslog-ng/S01logging +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh - -start() { - printf "Starting syslog-ng daemon: " - start-stop-daemon -S -q -p /var/run/syslog-ng.pid \ - -x /usr/sbin/syslog-ng -- --pidfile /var/run/syslog-ng.pid - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -stop() { - printf "Stopping syslog-ng daemon: " - start-stop-daemon -K -q -p /var/run/syslog-ng.pid \ - -x /usr/sbin/syslog-ng - [ $? = 0 ] && echo "OK" || echo "FAIL" -} - -restart() { - stop - sleep 1 - start -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - restart - ;; - *) - echo "Usage: $0 {start|stop|restart}" - exit 1 -esac - -exit $? diff --git a/bsp/buildroot/package/syslog-ng/S01syslog-ng b/bsp/buildroot/package/syslog-ng/S01syslog-ng new file mode 100644 index 00000000..1d74bf88 --- /dev/null +++ b/bsp/buildroot/package/syslog-ng/S01syslog-ng @@ -0,0 +1,62 @@ +#!/bin/sh + +DAEMON="syslog-ng" +PIDFILE="/var/run/$DAEMON.pid" + +SYSLOG_NG_ARGS="" + +# shellcheck source=/dev/null +[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON" + +start() { + printf 'Starting %s: ' "$DAEMON" + # shellcheck disable=SC2086 # we need the word splitting + start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \ + -- $SYSLOG_NG_ARGS + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +stop() { + printf 'Stopping %s: ' "$DAEMON" + start-stop-daemon -K -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +restart() { + stop + sleep 1 + start +} + +# SIGHUP makes syslog-ng reload its configuration +reload() { + printf 'Reloading %s: ' "$DAEMON" + start-stop-daemon -K -s HUP -q -p "$PIDFILE" + status=$? + if [ "$status" -eq 0 ]; then + echo "OK" + else + echo "FAIL" + fi + return "$status" +} + +case "$1" in + start|stop|restart|reload) + "$1";; + *) + echo "Usage: $0 {start|stop|restart|reload}" + exit 1 +esac diff --git a/bsp/buildroot/package/syslog-ng/syslog-ng.conf b/bsp/buildroot/package/syslog-ng/syslog-ng.conf index e767255d..9a56a130 100644 --- a/bsp/buildroot/package/syslog-ng/syslog-ng.conf +++ b/bsp/buildroot/package/syslog-ng/syslog-ng.conf @@ -1,4 +1,4 @@ -@version: 3.10 +@version: 3.19 source s_sys { file("/proc/kmsg" program_override("kernel")); diff --git a/bsp/buildroot/package/syslog-ng/syslog-ng.hash b/bsp/buildroot/package/syslog-ng/syslog-ng.hash index d9c51e9f..1f83e39f 100644 --- a/bsp/buildroot/package/syslog-ng/syslog-ng.hash +++ b/bsp/buildroot/package/syslog-ng/syslog-ng.hash @@ -1,2 +1,5 @@ # Locally computed -sha256 a905fe7bad09dcf40bf03650ef1c287b511bf262d004464b8993a28ce58c9136 syslog-ng-3.10.1.tar.gz +sha256 5cf931a9d7bead0e6d9a2c65eee8f6005a005878f59aa280f3c4294257ed5178 syslog-ng-3.19.1.tar.gz +sha256 835219c8ca76156e6337236d1bcb8e617c0b1c2783b4a8bc478e18a86743d607 COPYING +sha256 ce3324c9f22299cfc7c281e5a6ab40fbe9c2ea1a67cee87226cb8cd39db1e1d2 GPL.txt +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LGPL.txt diff --git a/bsp/buildroot/package/syslog-ng/syslog-ng.mk b/bsp/buildroot/package/syslog-ng/syslog-ng.mk index 2b6f2c09..4ac25a67 100644 --- a/bsp/buildroot/package/syslog-ng/syslog-ng.mk +++ b/bsp/buildroot/package/syslog-ng/syslog-ng.mk @@ -6,22 +6,17 @@ # When updating the version, please check at runtime if the version in # syslog-ng.conf header needs to be updated -SYSLOG_NG_VERSION = 3.10.1 +SYSLOG_NG_VERSION = 3.19.1 SYSLOG_NG_SITE = https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$(SYSLOG_NG_VERSION) SYSLOG_NG_LICENSE = LGPL-2.1+ (syslog-ng core), GPL-2.0+ (modules) -SYSLOG_NG_LICENSE_FILES = COPYING +SYSLOG_NG_LICENSE_FILES = COPYING GPL.txt LGPL.txt SYSLOG_NG_DEPENDENCIES = host-bison host-flex host-pkgconf \ eventlog libglib2 openssl pcre -# rabbit-mq needs -lrt -SYSLOG_NG_CONF_ENV = LIBS=-lrt +# We're patching configure.ac +SYSLOG_NG_AUTORECONF = YES SYSLOG_NG_CONF_OPTS = --disable-manpages --localstatedir=/var/run \ --disable-java --disable-java-modules --disable-mongodb -# We override busybox's S01logging init script -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -SYSLOG_NG_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_GEOIP),y) SYSLOG_NG_DEPENDENCIES += geoip SYSLOG_NG_CONF_OPTS += --enable-geoip @@ -47,9 +42,7 @@ SYSLOG_NG_CONF_OPTS += \ --enable-python \ --with-python=$(PYTHON3_VERSION_MAJOR) else -SYSLOG_NG_CONF_OPTS += \ - --disable-python \ - --without-python +SYSLOG_NG_CONF_OPTS += --disable-python endif ifeq ($(BR2_PACKAGE_LIBESMTP),y) @@ -88,6 +81,13 @@ else SYSLOG_NG_CONF_OPTS += --disable-http endif +ifeq ($(BR2_PACKAGE_RABBITMQ_C),y) +SYSLOG_NG_DEPENDENCIES += rabbitmq-c +SYSLOG_NG_CONF_OPTS += --enable-amqp +else +SYSLOG_NG_CONF_OPTS += --disable-amqp +endif + ifeq ($(BR2_INIT_SYSTEMD),y) SYSLOG_NG_DEPENDENCIES += systemd SYSLOG_NG_CONF_OPTS += \ @@ -98,8 +98,18 @@ SYSLOG_NG_CONF_OPTS += --disable-systemd endif define SYSLOG_NG_INSTALL_INIT_SYSV - $(INSTALL) -m 0755 -D package/syslog-ng/S01logging \ - $(TARGET_DIR)/etc/init.d/S01logging + $(INSTALL) -m 0755 -D package/syslog-ng/S01syslog-ng \ + $(TARGET_DIR)/etc/init.d/S01syslog-ng +endef + +# By default syslog-ng installs a .service that requires a config file at +# /etc/default, so provide one with the default values. +define SYSLOG_NG_INSTALL_INIT_SYSTEMD + $(INSTALL) -m 0644 -D package/syslog-ng/syslog-ng@default \ + $(TARGET_DIR)/etc/default/syslog-ng@default + mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants + ln -sf ../../../../usr/lib/systemd/system/syslog-ng@.service \ + $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/syslog-ng@default.service endef # By default syslog-ng installs a number of sample configuration diff --git a/bsp/buildroot/package/syslog-ng/syslog-ng@default b/bsp/buildroot/package/syslog-ng/syslog-ng@default new file mode 100644 index 00000000..0fad00eb --- /dev/null +++ b/bsp/buildroot/package/syslog-ng/syslog-ng@default @@ -0,0 +1,8 @@ +# +# /etc/default/syslog-ng@default +# +CONFIG_FILE=/etc/syslog-ng.conf +PERSIST_FILE=/var/run/syslog-ng.persist +CONTROL_FILE=/var/run/syslog-ng.ctl +PID_FILE=/var/run/syslog-ng.pid +OTHER_OPTIONS="--enable-core" diff --git a/bsp/buildroot/package/sysstat/sysstat.hash b/bsp/buildroot/package/sysstat/sysstat.hash index a3563107..3bbefac1 100644 --- a/bsp/buildroot/package/sysstat/sysstat.hash +++ b/bsp/buildroot/package/sysstat/sysstat.hash @@ -1,5 +1,5 @@ # From: http://sebastien.godard.pagesperso-orange.fr/download.html -sha1 2eb3d20016084c9e6ff94c9b2f3b2ada7e8d26c6 sysstat-11.6.1.tar.xz +sha1 5300345489e455ac62547b072bb8531414758fdf sysstat-11.6.3.tar.xz # Locally calculated -sha256 4b2a2cfa8c8fe6ae0155e168ed9a7066caebc3ecb903b0e64a9ede28ecb68fcb sysstat-11.6.1.tar.xz +sha256 54b306a1634e39710767936d4d1be17e8b65062aa04c837b41479c4b28b511bd sysstat-11.6.3.tar.xz sha256 db296f2f7f35bca3a174efb0eb392b3b17bd94b341851429a3dff411b1c2fc73 COPYING diff --git a/bsp/buildroot/package/sysstat/sysstat.mk b/bsp/buildroot/package/sysstat/sysstat.mk index bdc0610e..490e8f1b 100644 --- a/bsp/buildroot/package/sysstat/sysstat.mk +++ b/bsp/buildroot/package/sysstat/sysstat.mk @@ -4,7 +4,7 @@ # ################################################################################ -SYSSTAT_VERSION = 11.6.1 +SYSSTAT_VERSION = 11.6.3 SYSSTAT_SOURCE = sysstat-$(SYSSTAT_VERSION).tar.xz SYSSTAT_SITE = http://pagesperso-orange.fr/sebastien.godard SYSSTAT_CONF_OPTS = --disable-file-attr --disable-sensors diff --git a/bsp/buildroot/package/systemd/0001-fix-getty-unit.patch b/bsp/buildroot/package/systemd/0001-fix-getty-unit.patch index b6947626..a12569f4 100644 --- a/bsp/buildroot/package/systemd/0001-fix-getty-unit.patch +++ b/bsp/buildroot/package/systemd/0001-fix-getty-unit.patch @@ -1,7 +1,10 @@ -From 7deb6387aeb07fa4300fa3cf9d6c039dabd120d7 Mon Sep 17 00:00:00 2001 +From 69e440f9b7a0e9a43ef582d4bb521722b448a7c2 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 31 Jul 2017 10:08:46 -0400 Subject: [PATCH] fix-getty-unit +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit Prefer getty to agetty in console setup systemd units @@ -9,13 +12,43 @@ Signed-off-by: Maxime Ripard Signed-off-by: Eric Le Bihan [aduskett@gmail.com: Update for systemd v237] Signed-off-by: Adam Duskett +[Jérémy: replace additional usage of agetty by getty.] +Signed-off-by: Jérémy Rosen --- - units/getty@.service.m4 | 5 +---- - units/serial-getty@.service.m4 | 2 +- - 2 files changed, 2 insertions(+), 5 deletions(-) + units/console-getty.service.m4 | 2 +- + units/container-getty@.service.m4 | 2 +- + units/getty@.service.m4 | 5 +---- + units/serial-getty@.service.m4 | 2 +- + 4 files changed, 4 insertions(+), 7 deletions(-) +diff --git a/units/console-getty.service.m4 b/units/console-getty.service.m4 +index 3c553240a..fd5ad9456 100644 +--- a/units/console-getty.service.m4 ++++ b/units/console-getty.service.m4 +@@ -23,7 +23,7 @@ ConditionPathExists=/dev/console + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud console 115200,38400,9600 $TERM ++ExecStart=-/sbin/getty -L console 115200 vt100 + Type=idle + Restart=always + UtmpIdentifier=cons +diff --git a/units/container-getty@.service.m4 b/units/container-getty@.service.m4 +index 087ab7f9b..30f7b66fe 100644 +--- a/units/container-getty@.service.m4 ++++ b/units/container-getty@.service.m4 +@@ -28,7 +28,7 @@ Before=rescue.service + # The '-o' option value tells agetty to replace 'login' arguments with an + # option to preserve environment (-p), followed by '--' for safety, and then + # the entered username. +-ExecStart=-/sbin/agetty -o '-p -- \\u' --noclear --keep-baud pts/%I 115200,38400,9600 $TERM ++ExecStart=-/sbin/getty -L %I 115200 vt100 + Type=idle + Restart=always + RestartSec=0 diff --git a/units/getty@.service.m4 b/units/getty@.service.m4 -index 2a84061..7ad588f 100644 +index 80e793bb7..385758c61 100644 --- a/units/getty@.service.m4 +++ b/units/getty@.service.m4 @@ -35,10 +35,7 @@ ConditionPathExists=/dev/tty0 @@ -31,7 +64,7 @@ index 2a84061..7ad588f 100644 Restart=always RestartSec=0 diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4 -index b7caeaf..c663612 100644 +index 757b86ab2..3d60efdb6 100644 --- a/units/serial-getty@.service.m4 +++ b/units/serial-getty@.service.m4 @@ -33,7 +33,7 @@ Before=rescue.service @@ -44,5 +77,5 @@ index b7caeaf..c663612 100644 Restart=always UtmpIdentifier=%I -- -2.13.3 +2.14.4 diff --git a/bsp/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch b/bsp/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch index 61a139e2..79332077 100644 --- a/bsp/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch +++ b/bsp/buildroot/package/systemd/0002-install-don-t-use-ln-relative.patch @@ -1,4 +1,4 @@ -From 17560d52e9ec0afebbfe31e694870c6433b36f60 Mon Sep 17 00:00:00 2001 +From 7f4a12d25bbb5859d266f32f7a3d794bb62c354e Mon Sep 17 00:00:00 2001 From: Adam Duskett Date: Sun, 31 Dec 2017 12:46:04 -0500 Subject: [PATCH] install: don't use ln --relative @@ -30,15 +30,15 @@ Signed-off-by: Trent Piepho 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build -index d4af95a44..d75f2b34c 100644 +index 04331dd41..359042c04 100644 --- a/meson.build +++ b/meson.build -@@ -586,7 +586,7 @@ endforeach +@@ -628,7 +628,7 @@ endforeach conf.set_quoted('TELINIT', get_option('telinit-path')) if run_command('ln', '--relative', '--help').returncode() != 0 -- error('ln does not support --relative') -+ message('ln does not support --relative') +- error('ln does not support --relative (added in coreutils 8.16)') ++ message('ln does not support --relative (added in coreutils 8.16)') endif ############################################################ @@ -76,5 +76,5 @@ index 70f7172ae..bb8155075 100755 +dds="$(printf "%s" "${linkdir#${DESTDIR:-}}" |sed -r -e 's:/+[^/]+:../:g; s:/$::')" +ln -vfs "$dds$unitpath" "$dir" -- -2.14.3 +2.14.4 diff --git a/bsp/buildroot/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch b/bsp/buildroot/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch deleted file mode 100644 index 1861a421..00000000 --- a/bsp/buildroot/package/systemd/0003-fix-am-path-libgcrypt-no-found.patch +++ /dev/null @@ -1,159 +0,0 @@ -From cb47c1da9c4a8f69662f9c17497aeeb8a922d41a Mon Sep 17 00:00:00 2001 -From: Eric Le Bihan -Date: Fri, 28 Jul 2017 07:13:51 -0400 -Subject: [PATCH] Fix AM_PATH_LIBGCRYPT not found - -This patch installs a copy of libgcrypt.m4 from the libgcrypt source tarball -to systemd m4 directory. - -Libgcrypt uses a custom m4 macro and not pkg-config to check if the -development files are available. Though libgcrypt support is optional in -systemd, this macro should be available whenever autoreconf is used, otherwise -the re-configuration will fail with: - - configure.ac:616: warning: macro 'AM_PATH_LIBGCRYPT' not found in library - -As asking the user to install the development package of libgcrypt on the host -machine or adding libgcrypt as a build dependency to systemd is not -acceptable, the required file is added to the m4 directory. - -Signed-off-by: Eric Le Bihan -[Adam: Refresh for 234] -Signed-off-by: Adam Duskett ---- - m4/libgcrypt.m4 | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 123 insertions(+) - create mode 100644 m4/libgcrypt.m4 - -diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4 -new file mode 100644 -index 0000000..831dc0c ---- /dev/null -+++ b/m4/libgcrypt.m4 -@@ -0,0 +1,123 @@ -+dnl Autoconf macros for libgcrypt -+dnl Copyright (C) 2002, 2004 Free Software Foundation, Inc. -+dnl -+dnl This file is free software; as a special exception the author gives -+dnl unlimited permission to copy and/or distribute it, with or without -+dnl modifications, as long as this notice is preserved. -+dnl -+dnl This file is distributed in the hope that it will be useful, but -+dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -+dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -+ -+ -+dnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION, -+dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -+dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. -+dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed -+dnl with the API version to also check the API compatibility. Example: -+dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed -+dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using -+dnl this features allows to prevent build against newer versions of libgcrypt -+dnl with a changed API. -+dnl -+AC_DEFUN([AM_PATH_LIBGCRYPT], -+[ AC_ARG_WITH(libgcrypt-prefix, -+ AC_HELP_STRING([--with-libgcrypt-prefix=PFX], -+ [prefix where LIBGCRYPT is installed (optional)]), -+ libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") -+ if test x$libgcrypt_config_prefix != x ; then -+ if test x${LIBGCRYPT_CONFIG+set} != xset ; then -+ LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config -+ fi -+ fi -+ -+ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) -+ tmp=ifelse([$1], ,1:1.2.0,$1) -+ if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then -+ req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` -+ min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` -+ else -+ req_libgcrypt_api=0 -+ min_libgcrypt_version="$tmp" -+ fi -+ -+ AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) -+ ok=no -+ if test "$LIBGCRYPT_CONFIG" != "no" ; then -+ req_major=`echo $min_libgcrypt_version | \ -+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` -+ req_minor=`echo $min_libgcrypt_version | \ -+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` -+ req_micro=`echo $min_libgcrypt_version | \ -+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` -+ libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` -+ major=`echo $libgcrypt_config_version | \ -+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -+ minor=`echo $libgcrypt_config_version | \ -+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` -+ micro=`echo $libgcrypt_config_version | \ -+ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` -+ if test "$major" -gt "$req_major"; then -+ ok=yes -+ else -+ if test "$major" -eq "$req_major"; then -+ if test "$minor" -gt "$req_minor"; then -+ ok=yes -+ else -+ if test "$minor" -eq "$req_minor"; then -+ if test "$micro" -ge "$req_micro"; then -+ ok=yes -+ fi -+ fi -+ fi -+ fi -+ fi -+ fi -+ if test $ok = yes; then -+ AC_MSG_RESULT([yes ($libgcrypt_config_version)]) -+ else -+ AC_MSG_RESULT(no) -+ fi -+ if test $ok = yes; then -+ # If we have a recent libgcrypt, we should also check that the -+ # API is compatible -+ if test "$req_libgcrypt_api" -gt 0 ; then -+ tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` -+ if test "$tmp" -gt 0 ; then -+ AC_MSG_CHECKING([LIBGCRYPT API version]) -+ if test "$req_libgcrypt_api" -eq "$tmp" ; then -+ AC_MSG_RESULT([okay]) -+ else -+ ok=no -+ AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) -+ fi -+ fi -+ fi -+ fi -+ if test $ok = yes; then -+ LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` -+ LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` -+ ifelse([$2], , :, [$2]) -+ if test x"$host" != x ; then -+ libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` -+ if test x"$libgcrypt_config_host" != xnone ; then -+ if test x"$libgcrypt_config_host" != x"$host" ; then -+ AC_MSG_WARN([[ -+*** -+*** The config script $LIBGCRYPT_CONFIG was -+*** built for $libgcrypt_config_host and thus may not match the -+*** used host $host. -+*** You may want to use the configure option --with-libgcrypt-prefix -+*** to specify a matching config script. -+***]]) -+ fi -+ fi -+ fi -+ else -+ LIBGCRYPT_CFLAGS="" -+ LIBGCRYPT_LIBS="" -+ ifelse([$3], , :, [$3]) -+ fi -+ AC_SUBST(LIBGCRYPT_CFLAGS) -+ AC_SUBST(LIBGCRYPT_LIBS) -+]) --- -2.13.3 - diff --git a/bsp/buildroot/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch b/bsp/buildroot/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch new file mode 100644 index 00000000..70d816fa --- /dev/null +++ b/bsp/buildroot/package/systemd/0003-meson-use-cross-compilation-compatible-c-check.patch @@ -0,0 +1,60 @@ +From 180a940333c84495015bd5b24d41c1dbfff509f2 Mon Sep 17 00:00:00 2001 +From: James Hilliard +Date: Thu, 27 Dec 2018 09:16:20 +0800 +Subject: [PATCH] meson: use cross compilation compatible c++ check + +[james.hilliard1@gmail.com: backport from upstream commit +46e63a2a3ed46ce97430ce38e4cc0798c57900eb] +Signed-off-by: James Hilliard +--- + meson.build | 4 +--- + src/systemd/meson.build | 3 +-- + src/test/meson.build | 2 +- + 3 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index b338886..1964b1a 100644 +--- a/meson.build ++++ b/meson.build +@@ -287,10 +287,8 @@ want_tests = get_option('tests') + slow_tests = want_tests != 'false' and get_option('slow-tests') + install_tests = get_option('install-tests') + +-cxx = find_program('c++', required : fuzzer_build) +-if cxx.found() ++if add_languages('cpp', required : fuzzer_build) + # Used only for tests +- add_languages('cpp') + cxx_cmd = ' '.join(meson.get_compiler('cpp').cmd_array()) + else + cxx_cmd = '' +diff --git a/src/systemd/meson.build b/src/systemd/meson.build +index e0c967e..75c48b0 100644 +--- a/src/systemd/meson.build ++++ b/src/systemd/meson.build +@@ -52,8 +52,7 @@ if cc.has_argument('-std=iso9899:2017') + opts += [['c', '-std=iso9899:2017']] + endif + +-cxx = find_program('c++', required : false) +-if cxx.found() ++if add_languages('cpp', required : false) + opts += [['c++'], + ['c++', '-std=c++98'], + ['c++', '-std=c++11']] +diff --git a/src/test/meson.build b/src/test/meson.build +index ea049a6..d9d87e0 100644 +--- a/src/test/meson.build ++++ b/src/test/meson.build +@@ -957,7 +957,7 @@ tests += [ + + ] + +-if cxx.found() ++if cxx_cmd != '' + tests += [ + [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc'], + [], +-- +2.7.4 + diff --git a/bsp/buildroot/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch b/bsp/buildroot/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch new file mode 100644 index 00000000..7b240d1b --- /dev/null +++ b/bsp/buildroot/package/systemd/0004-capability-fix-build-without-PR_CAP_AMBIENT.patch @@ -0,0 +1,61 @@ +From 822809d0afd0f984750a61b2391059411afa4333 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 16:07:00 +0100 +Subject: [PATCH] capability: fix build without PR_CAP_AMBIENT + +systemd fails to build on kernel without PR_CAP_AMBIENT (< 4.3) since +https://github.com/systemd/systemd/commit/2a03bb3e65327c73008f1db485ffc75c432dc6b2 + +To fix this error, include missing_prctl.h in all files using +PR_CAP_AMBIENT + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/basic/capability-util.c | 1 + + src/test/test-capability.c | 1 + + src/test/test-execute.c | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/src/basic/capability-util.c b/src/basic/capability-util.c +index a3f3ca9f5..b944ee6ea 100644 +--- a/src/basic/capability-util.c ++++ b/src/basic/capability-util.c +@@ -13,6 +13,7 @@ + #include "fileio.h" + #include "log.h" + #include "macro.h" ++#include "missing_prctl.h" + #include "parse-util.h" + #include "user-util.h" + #include "util.h" +diff --git a/src/test/test-capability.c b/src/test/test-capability.c +index dae85f2f9..3db05878a 100644 +--- a/src/test/test-capability.c ++++ b/src/test/test-capability.c +@@ -13,6 +13,7 @@ + #include "fd-util.h" + #include "fileio.h" + #include "macro.h" ++#include "missing_prctl.h" + #include "parse-util.h" + #include "tests.h" + #include "util.h" +diff --git a/src/test/test-execute.c b/src/test/test-execute.c +index 2115061ad..cea68b8cf 100644 +--- a/src/test/test-execute.c ++++ b/src/test/test-execute.c +@@ -13,6 +13,7 @@ + #include "fs-util.h" + #include "macro.h" + #include "manager.h" ++#include "missing_prctl.h" + #include "mkdir.h" + #include "path-util.h" + #include "rm-rf.h" +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch b/bsp/buildroot/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch deleted file mode 100644 index b91d0972..00000000 --- a/bsp/buildroot/package/systemd/0004-core-dont-include-libmount-h-in-a-header-file.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 227b8a762fea1458547be2cdf0e6e4aac0079730 Mon Sep 17 00:00:00 2001 -From: Michael Olbrich -Date: Mon, 26 Mar 2018 17:34:53 +0200 -Subject: [PATCH] core: don't include libmount.h in a header file (#8580) - -linux/fs.h sys/mount.h, libmount.h and missing.h all include MS_* -definitions. - -To avoid problems, only one of linux/fs.h, sys/mount.h and libmount.h -should be included. And missing.h must be included last. - -Without this, building systemd may fail with: - -In file included from [...]/libmount/libmount.h:31:0, - from ../systemd-238/src/core/manager.h:23, - from ../systemd-238/src/core/emergency-action.h:37, - from ../systemd-238/src/core/unit.h:34, - from ../systemd-238/src/core/dbus-timer.h:25, - from ../systemd-238/src/core/timer.c:26: -[...]/sys/mount.h:57:2: error: expected identifier before numeric constant - -Upstream: https://github.com/systemd/systemd/pull/8580 -Signed-off-by: Stefan Becker ---- - src/core/dbus-execute.c | 1 + - src/core/manager.h | 3 ++- - src/core/mount.c | 2 ++ - 3 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c -index 7344623ebf6..c342093bca4 100644 ---- a/src/core/dbus-execute.c -+++ b/src/core/dbus-execute.c -@@ -18,6 +18,7 @@ - along with systemd; If not, see . - ***/ - -+#include - #include - #include - -diff --git a/src/core/manager.h b/src/core/manager.h -index 28c5da225b1..e09e0cdf5e9 100644 ---- a/src/core/manager.h -+++ b/src/core/manager.h -@@ -20,7 +20,6 @@ - along with systemd; If not, see . - ***/ - --#include - #include - #include - -@@ -34,6 +33,8 @@ - #include "list.h" - #include "ratelimit.h" - -+struct libmnt_monitor; -+ - /* Enforce upper limit how many names we allow */ - #define MANAGER_MAX_NAMES 131072 /* 128K */ - -diff --git a/src/core/mount.c b/src/core/mount.c -index 0e755da5c02..0154ebda5d6 100644 ---- a/src/core/mount.c -+++ b/src/core/mount.c -@@ -23,6 +23,8 @@ - #include - #include - -+#include -+ - #include "sd-messages.h" - - #include "alloc-util.h" diff --git a/bsp/buildroot/package/systemd/0005-basic-macros-rename-noreturn.patch b/bsp/buildroot/package/systemd/0005-basic-macros-rename-noreturn.patch deleted file mode 100644 index 6cd84709..00000000 --- a/bsp/buildroot/package/systemd/0005-basic-macros-rename-noreturn.patch +++ /dev/null @@ -1,201 +0,0 @@ -From 848e863acc51ecfb0f3955c498874588201d9130 Mon Sep 17 00:00:00 2001 -From: Franck Bui -Date: Thu, 15 Mar 2018 06:23:46 +0100 -Subject: [PATCH] basic/macros: rename noreturn into _noreturn_ (#8456) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -"noreturn" is reserved and can be used in other header files we include: - - [ 16s] In file included from /usr/include/gcrypt.h:30:0, - [ 16s] from ../src/journal/journal-file.h:26, - [ 16s] from ../src/journal/journal-vacuum.c:31: - [ 16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token - [ 16s] void gpgrt_log_bug (const char *fmt, ...) GPGRT_ATTR_NR_PRINTF(1,2); - -Here we include grcrypt.h (which in turns include gpg-error.h) *after* we -"noreturn" was defined in macro.h. - -Upstream: https://github.com/systemd/systemd/pull/8456 -Signed-off-by: Stefan Becker ---- - src/basic/log.c | 4 ++-- - src/basic/log.h | 4 ++-- - src/basic/macro.h | 19 +++++++++---------- - src/basic/process-util.c | 2 +- - src/basic/process-util.h | 2 +- - src/core/main.c | 4 ++-- - src/journal/test-journal-interleaving.c | 2 +- - src/shared/pager.c | 2 +- - src/udev/collect/collect.c | 2 +- - 9 files changed, 20 insertions(+), 21 deletions(-) - -diff --git a/src/basic/log.c b/src/basic/log.c -index 7a7f2cbec13..16a2431c548 100644 ---- a/src/basic/log.c -+++ b/src/basic/log.c -@@ -814,7 +814,7 @@ static void log_assert( - log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); - } - --noreturn void log_assert_failed_realm( -+_noreturn_ void log_assert_failed_realm( - LogRealm realm, - const char *text, - const char *file, -@@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm( - abort(); - } - --noreturn void log_assert_failed_unreachable_realm( -+_noreturn_ void log_assert_failed_unreachable_realm( - LogRealm realm, - const char *text, - const char *file, -diff --git a/src/basic/log.h b/src/basic/log.h -index efcf0f1bfc1..314be128a23 100644 ---- a/src/basic/log.h -+++ b/src/basic/log.h -@@ -186,7 +186,7 @@ int log_dump_internal( - char *buffer); - - /* Logging for various assertions */ --noreturn void log_assert_failed_realm( -+_noreturn_ void log_assert_failed_realm( - LogRealm realm, - const char *text, - const char *file, -@@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm( - #define log_assert_failed(text, ...) \ - log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) - --noreturn void log_assert_failed_unreachable_realm( -+_noreturn_ void log_assert_failed_unreachable_realm( - LogRealm realm, - const char *text, - const char *file, -diff --git a/src/basic/macro.h b/src/basic/macro.h -index 95be63a2040..8911edfc4be 100644 ---- a/src/basic/macro.h -+++ b/src/basic/macro.h -@@ -53,6 +53,15 @@ - #else - #define _fallthrough_ - #endif -+/* Define C11 noreturn without and even on older gcc -+ * compiler versions */ -+#ifndef _noreturn_ -+#if __STDC_VERSION__ >= 201112L -+#define _noreturn_ _Noreturn -+#else -+#define _noreturn_ __attribute__((noreturn)) -+#endif -+#endif - - /* Temporarily disable some warnings */ - #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ -@@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) { - #endif - #endif - --/* Define C11 noreturn without and even on older gcc -- * compiler versions */ --#ifndef noreturn --#if __STDC_VERSION__ >= 201112L --#define noreturn _Noreturn --#else --#define noreturn __attribute__((noreturn)) --#endif --#endif -- - #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ - static inline void func##p(type *p) { \ - if (*p) \ -diff --git a/src/basic/process-util.c b/src/basic/process-util.c -index aa9846db5dc..e6120af5b68 100644 ---- a/src/basic/process-util.c -+++ b/src/basic/process-util.c -@@ -987,7 +987,7 @@ bool is_main_thread(void) { - return cached > 0; - } - --noreturn void freeze(void) { -+_noreturn_ void freeze(void) { - - log_close(); - -diff --git a/src/basic/process-util.h b/src/basic/process-util.h -index 93029e36e5f..5170adec7bb 100644 ---- a/src/basic/process-util.h -+++ b/src/basic/process-util.h -@@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid); - - bool is_main_thread(void); - --noreturn void freeze(void); -+_noreturn_ void freeze(void); - - bool oom_score_adjust_is_valid(int oa); - -diff --git a/src/core/main.c b/src/core/main.c -index 076846a41c0..4b2d1492373 100644 ---- a/src/core/main.c -+++ b/src/core/main.c -@@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX; - static sd_id128_t arg_machine_id = {}; - static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; - --noreturn static void freeze_or_reboot(void) { -+_noreturn_ static void freeze_or_reboot(void) { - - if (arg_crash_reboot) { - log_notice("Rebooting in 10s..."); -@@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) { - freeze(); - } - --noreturn static void crash(int sig) { -+_noreturn_ static void crash(int sig) { - struct sigaction sa; - pid_t pid; - -diff --git a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c -index 5a88b2774fa..d87bdbdd32a 100644 ---- a/src/journal/test-journal-interleaving.c -+++ b/src/journal/test-journal-interleaving.c -@@ -37,7 +37,7 @@ - - static bool arg_keep = false; - --noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { -+_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { - log_internal(LOG_CRIT, error, file, line, func, - "'%s' failed at %s:%u (%s): %m", text, file, line, func); - abort(); -diff --git a/src/shared/pager.c b/src/shared/pager.c -index 75db3c985bd..681af9c40e3 100644 ---- a/src/shared/pager.c -+++ b/src/shared/pager.c -@@ -47,7 +47,7 @@ static int stored_stderr = -1; - static bool stdout_redirected = false; - static bool stderr_redirected = false; - --noreturn static void pager_fallback(void) { -+_noreturn_ static void pager_fallback(void) { - int r; - - r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); -diff --git a/src/udev/collect/collect.c b/src/udev/collect/collect.c -index 2821640e93b..c8fa47b3d7d 100644 ---- a/src/udev/collect/collect.c -+++ b/src/udev/collect/collect.c -@@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node) - return container_of(node, struct _mate, node); - } - --noreturn static void sig_alrm(int signo) -+_noreturn_ static void sig_alrm(int signo) - { - exit(4); - } diff --git a/bsp/buildroot/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch b/bsp/buildroot/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch new file mode 100644 index 00000000..300fc544 --- /dev/null +++ b/bsp/buildroot/package/systemd/0005-basic-tmpfile-util.c-fix-build-without-O_TMPFILE.patch @@ -0,0 +1,34 @@ +From b1ca50178b97b3b827b0420ec7bdf9cb1d6fec56 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 16:36:06 +0100 +Subject: [PATCH] basic/tmpfile-util.c: fix build without O_TMPFILE + +systemd fails to build on kernel without O_TMPFILE (< 3.11) since +https://github.com/systemd/systemd/commit/dea72eda9cdbfeedd24cbe8c734ad0639bf96cde + +To fix this error, include missing_fcntl.h + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/basic/tmpfile-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/tmpfile-util.c b/src/basic/tmpfile-util.c +index 669eb2666..bc92d6a6d 100644 +--- a/src/basic/tmpfile-util.c ++++ b/src/basic/tmpfile-util.c +@@ -8,6 +8,7 @@ + #include "hexdecoct.h" + #include "macro.h" + #include "memfd-util.h" ++#include "missing_fcntl.h" + #include "missing_syscall.h" + #include "path-util.h" + #include "process-util.h" +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch b/bsp/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch deleted file mode 100644 index 6a72a389..00000000 --- a/bsp/buildroot/package/systemd/0005-dhcp6-make-sure-we-have-enough-space-for-the-DHCP6-o.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 49653743f69658aeeebdb14faf1ab158f1f2cb20 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 19 Oct 2018 12:12:33 +0200 -Subject: [PATCH] dhcp6: make sure we have enough space for the DHCP6 option - header - -Fixes CVE-2018-15688: -https://security-tracker.debian.org/tracker/CVE-2018-15688 - -Patch downloaded from upstream commit: -https://github.com/systemd/systemd/commit/49653743f69658aeeebdb14faf1ab158f1f2cb20 - -Signed-off-by: Bernd Kuhls ---- - src/libsystemd-network/dhcp6-option.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libsystemd-network/dhcp6-option.c b/src/libsystemd-network/dhcp6-option.c -index cbd4bc7a2a3..2806415100c 100644 ---- a/src/libsystemd-network/dhcp6-option.c -+++ b/src/libsystemd-network/dhcp6-option.c -@@ -106,7 +106,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, const DHCP6IA *ia) { - return -EINVAL; - } - -- if (*buflen < len) -+ if (*buflen < offsetof(DHCP6Option, data) + len) - return -ENOBUFS; - - ia_hdr = *buf; diff --git a/bsp/buildroot/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch b/bsp/buildroot/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch new file mode 100644 index 00000000..ace29be6 --- /dev/null +++ b/bsp/buildroot/package/systemd/0006-missing_if_link.h-add-IFLA_BOND_MODE.patch @@ -0,0 +1,49 @@ +From 9ab48a9b3bfadca4fbe055ddb4f6fc677ee4ae85 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 17:08:48 +0100 +Subject: [PATCH] missing_if_link.h: add IFLA_BOND_MODE + +systemd fails to build on kernel without IFLA_BOND_MODE (< 3.13) since +https://github.com/systemd/systemd/commit/9714c020fc4cda1823c2a77e3fd08aefa7d78b25 + +So put back IFLA_BOND_MODE definition + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + meson.build | 1 + + src/basic/missing_if_link.h | 3 +++ + 2 files changed, 4 insertions(+) + +diff --git a/meson.build b/meson.build +index 623c1ad6b..011e44980 100644 +--- a/meson.build ++++ b/meson.build +@@ -476,6 +476,7 @@ foreach decl : [['ETHTOOL_LINK_MODE_10baseT_Half_BIT', 'linux/ethtool.h'], + ['IFLA_TARGET_NETNSID', 'linux/if_link.h'], + ['IFLA_NEW_IFINDEX', 'linux/if_link.h'], + ['IFLA_MAX_MTU', 'linux/if_link.h'], ++ ['IFLA_BOND_MODE', 'linux/if_link.h'], + ['IFLA_BOND_ACTIVE_SLAVE', 'linux/if_link.h'], + ['IFLA_BOND_AD_INFO', 'linux/if_link.h'], + ['IFLA_BOND_AD_ACTOR_SYSTEM', 'linux/if_link.h'], +diff --git a/src/basic/missing_if_link.h b/src/basic/missing_if_link.h +index 07675426b..761797f56 100644 +--- a/src/basic/missing_if_link.h ++++ b/src/basic/missing_if_link.h +@@ -110,6 +110,9 @@ enum ipvlan_mode { + #define IFLA_MAX 51 + #endif + ++#if !HAVE_IFLA_BOND_MODE /* linux@90af231106c0b8d223c27d35464af95cb3d9cacf (3.13) */ ++#define IFLA_BOND_MODE 1 ++#endif + #if !HAVE_IFLA_BOND_ACTIVE_SLAVE /* linux@ec76aa49855f6d6fea5e01de179fb57dd47c619d (3.13) */ + #define IFLA_BOND_ACTIVE_SLAVE 2 + #endif +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0007-missing_syscall.h-include-errno.h.patch b/bsp/buildroot/package/systemd/0007-missing_syscall.h-include-errno.h.patch new file mode 100644 index 00000000..eb5d9eac --- /dev/null +++ b/bsp/buildroot/package/systemd/0007-missing_syscall.h-include-errno.h.patch @@ -0,0 +1,28 @@ +From 985d15d636b4d2c7086dbd305369c02756cdbe19 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 17:24:21 +0100 +Subject: [PATCH] missing_syscall.h: include errno.h + +This include is needed for errno and ENOSYS + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/basic/missing_syscall.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h +index d5d4b26ac..d1aa32218 100644 +--- a/src/basic/missing_syscall.h ++++ b/src/basic/missing_syscall.h +@@ -3,6 +3,7 @@ + + /* Missing glibc definitions to access certain kernel APIs */ + ++#include + #include + #include + #include +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch b/bsp/buildroot/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch new file mode 100644 index 00000000..1a1542c7 --- /dev/null +++ b/bsp/buildroot/package/systemd/0008-lockfile-util.c-fix-build-without-F_OFD_SETLK.patch @@ -0,0 +1,34 @@ +From badb5dafa9efc89384d9d2bea5648f7b017204d7 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 11 Jan 2019 17:30:32 +0100 +Subject: [PATCH] lockfile-util.c: fix build without F_OFD_SETLK + +systemd fails to build on kernel without F_OFD_SETLK since +https://github.com/systemd/systemd/commit/9714c020fc4cda1823c2a77e3fd08aefa7d78b25 + +So put include missing_fcntl.h + +Fixes: + - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/systemd/systemd/pull/11400] +--- + src/shared/lockfile-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/shared/lockfile-util.c b/src/shared/lockfile-util.c +index 4bae23b24..260c2088d 100644 +--- a/src/shared/lockfile-util.c ++++ b/src/shared/lockfile-util.c +@@ -12,6 +12,7 @@ + #include "fs-util.h" + #include "lockfile-util.h" + #include "macro.h" ++#include "missing_fcntl.h" + #include "path-util.h" + + int make_lock_file(const char *p, int operation, LockFile *ret) { +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch b/bsp/buildroot/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch new file mode 100644 index 00000000..dbf9bb51 --- /dev/null +++ b/bsp/buildroot/package/systemd/0009-journald-do-not-store-the-iovec-entry-for-process-co.patch @@ -0,0 +1,205 @@ +From 084eeb865ca63887098e0945fb4e93c852b91b0f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 5 Dec 2018 18:38:39 +0100 +Subject: [PATCH] journald: do not store the iovec entry for process + commandline on stack + +This fixes a crash where we would read the commandline, whose length is under +control of the sending program, and then crash when trying to create a stack +allocation for it. + +CVE-2018-16864 +https://bugzilla.redhat.com/show_bug.cgi?id=1653855 + +The message actually doesn't get written to disk, because +journal_file_append_entry() returns -E2BIG. + +[james.hilliard1@gmail.com: backport from upstream commit +084eeb865ca63887098e0945fb4e93c852b91b0f] +Signed-off-by: James Hilliard +--- + src/basic/io-util.c | 10 ++++++++++ + src/basic/io-util.h | 2 ++ + src/coredump/coredump.c | 31 +++++++++++-------------------- + src/journal/journald-server.c | 25 +++++++++++++++---------- + 4 files changed, 38 insertions(+), 30 deletions(-) + +diff --git a/src/basic/io-util.c b/src/basic/io-util.c +index 1f64cc9..575398f 100644 +--- a/src/basic/io-util.c ++++ b/src/basic/io-util.c +@@ -8,6 +8,7 @@ + #include + + #include "io-util.h" ++#include "string-util.h" + #include "time-util.h" + + int flush_fd(int fd) { +@@ -252,3 +253,12 @@ ssize_t sparse_write(int fd, const void *p, size_t sz, size_t run_length) { + + return q - (const uint8_t*) p; + } ++ ++char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) { ++ char *x; ++ ++ x = strappend(field, value); ++ if (x) ++ iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x); ++ return x; ++} +diff --git a/src/basic/io-util.h b/src/basic/io-util.h +index ed189b5..792a64a 100644 +--- a/src/basic/io-util.h ++++ b/src/basic/io-util.h +@@ -71,3 +71,5 @@ static inline bool FILE_SIZE_VALID_OR_INFINITY(uint64_t l) { + #define IOVEC_MAKE(base, len) (struct iovec) IOVEC_INIT(base, len) + #define IOVEC_INIT_STRING(string) IOVEC_INIT((char*) string, strlen(string)) + #define IOVEC_MAKE_STRING(string) (struct iovec) IOVEC_INIT_STRING(string) ++ ++char* set_iovec_string_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value); +diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c +index 20c1fb0..db2cf64 100644 +--- a/src/coredump/coredump.c ++++ b/src/coredump/coredump.c +@@ -1063,19 +1063,10 @@ static int send_iovec(const struct iovec iovec[], size_t n_iovec, int input_fd) + return 0; + } + +-static char* set_iovec_field(struct iovec *iovec, size_t *n_iovec, const char *field, const char *value) { +- char *x; +- +- x = strappend(field, value); +- if (x) +- iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(x); +- return x; +-} +- + static char* set_iovec_field_free(struct iovec *iovec, size_t *n_iovec, const char *field, char *value) { + char *x; + +- x = set_iovec_field(iovec, n_iovec, field, value); ++ x = set_iovec_string_field(iovec, n_iovec, field, value); + free(value); + return x; + } +@@ -1125,36 +1116,36 @@ static int gather_pid_metadata( + disable_coredumps(); + } + +- set_iovec_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]); ++ set_iovec_string_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]); + } + + if (cg_pid_get_user_unit(pid, &t) >= 0) + set_iovec_field_free(iovec, n_iovec, "COREDUMP_USER_UNIT=", t); + + /* The next few are mandatory */ +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_PID=", context[CONTEXT_PID])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_UID=", context[CONTEXT_UID])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_GID=", context[CONTEXT_GID])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL=", context[CONTEXT_SIGNAL])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_RLIMIT=", context[CONTEXT_RLIMIT])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_HOSTNAME=", context[CONTEXT_HOSTNAME])) + return log_oom(); + +- if (!set_iovec_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM])) ++ if (!set_iovec_string_field(iovec, n_iovec, "COREDUMP_COMM=", context[CONTEXT_COMM])) + return log_oom(); + + if (context[CONTEXT_EXE] && +- !set_iovec_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE])) ++ !set_iovec_string_field(iovec, n_iovec, "COREDUMP_EXE=", context[CONTEXT_EXE])) + return log_oom(); + + if (sd_pid_get_session(pid, &t) >= 0) +@@ -1222,7 +1213,7 @@ static int gather_pid_metadata( + iovec[(*n_iovec)++] = IOVEC_MAKE_STRING(t); + + if (safe_atoi(context[CONTEXT_SIGNAL], &signo) >= 0 && SIGNAL_VALID(signo)) +- set_iovec_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo)); ++ set_iovec_string_field(iovec, n_iovec, "COREDUMP_SIGNAL_NAME=SIG", signal_to_string(signo)); + + return 0; /* we successfully acquired all metadata */ + } +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index f096725..2a960eb 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -905,6 +905,7 @@ static void dispatch_message_real( + pid_t object_pid) { + + char source_time[sizeof("_SOURCE_REALTIME_TIMESTAMP=") + DECIMAL_STR_MAX(usec_t)]; ++ _cleanup_free_ char *cmdline1 = NULL, *cmdline2 = NULL; + uid_t journal_uid; + ClientContext *o; + +@@ -921,20 +922,23 @@ static void dispatch_message_real( + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->uid, uid_t, uid_is_valid, UID_FMT, "_UID"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->gid, gid_t, gid_is_valid, GID_FMT, "_GID"); + +- IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->cmdline, "_CMDLINE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE"); ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->comm, "_COMM"); /* At most TASK_COMM_LENGTH (16 bytes) */ ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->exe, "_EXE"); /* A path, so at most PATH_MAX (4096 bytes) */ + +- IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT"); ++ if (c->cmdline) ++ /* At most _SC_ARG_MAX (2MB usually), which is too much to put on stack. ++ * Let's use a heap allocation for this one. */ ++ cmdline1 = set_iovec_string_field(iovec, &n, "_CMDLINE=", c->cmdline); + ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->capeff, "_CAP_EFFECTIVE"); /* Read from /proc/.../status */ ++ IOVEC_ADD_SIZED_FIELD(iovec, n, c->label, c->label_size, "_SELINUX_CONTEXT"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "_AUDIT_SESSION"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->loginuid, uid_t, uid_is_valid, UID_FMT, "_AUDIT_LOGINUID"); + +- IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP"); ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->cgroup, "_SYSTEMD_CGROUP"); /* A path */ + IOVEC_ADD_STRING_FIELD(iovec, n, c->session, "_SYSTEMD_SESSION"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, c->owner_uid, uid_t, uid_is_valid, UID_FMT, "_SYSTEMD_OWNER_UID"); +- IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT"); ++ IOVEC_ADD_STRING_FIELD(iovec, n, c->unit, "_SYSTEMD_UNIT"); /* Unit names are bounded by UNIT_NAME_MAX */ + IOVEC_ADD_STRING_FIELD(iovec, n, c->user_unit, "_SYSTEMD_USER_UNIT"); + IOVEC_ADD_STRING_FIELD(iovec, n, c->slice, "_SYSTEMD_SLICE"); + IOVEC_ADD_STRING_FIELD(iovec, n, c->user_slice, "_SYSTEMD_USER_SLICE"); +@@ -955,13 +959,14 @@ static void dispatch_message_real( + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->uid, uid_t, uid_is_valid, UID_FMT, "OBJECT_UID"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->gid, gid_t, gid_is_valid, GID_FMT, "OBJECT_GID"); + ++ /* See above for size limits, only ->cmdline may be large, so use a heap allocation for it. */ + IOVEC_ADD_STRING_FIELD(iovec, n, o->comm, "OBJECT_COMM"); + IOVEC_ADD_STRING_FIELD(iovec, n, o->exe, "OBJECT_EXE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, o->cmdline, "OBJECT_CMDLINE"); +- IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE"); ++ if (o->cmdline) ++ cmdline2 = set_iovec_string_field(iovec, &n, "OBJECT_CMDLINE=", o->cmdline); + ++ IOVEC_ADD_STRING_FIELD(iovec, n, o->capeff, "OBJECT_CAP_EFFECTIVE"); + IOVEC_ADD_SIZED_FIELD(iovec, n, o->label, o->label_size, "OBJECT_SELINUX_CONTEXT"); +- + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->auditid, uint32_t, audit_session_is_valid, "%" PRIu32, "OBJECT_AUDIT_SESSION"); + IOVEC_ADD_NUMERIC_FIELD(iovec, n, o->loginuid, uid_t, uid_is_valid, UID_FMT, "OBJECT_AUDIT_LOGINUID"); + +-- +2.7.4 + diff --git a/bsp/buildroot/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch b/bsp/buildroot/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch new file mode 100644 index 00000000..df1ed806 --- /dev/null +++ b/bsp/buildroot/package/systemd/0010-journald-set-a-limit-on-the-number-of-fields-1k.patch @@ -0,0 +1,57 @@ +From 052c57f132f04a3cf4148f87561618da1a6908b4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Wed, 5 Dec 2018 22:45:02 +0100 +Subject: [PATCH] journald: set a limit on the number of fields (1k) + +We allocate a iovec entry for each field, so with many short entries, +our memory usage and processing time can be large, even with a relatively +small message size. Let's refuse overly long entries. + +CVE-2018-16865 +https://bugzilla.redhat.com/show_bug.cgi?id=1653861 + +What from I can see, the problem is not from an alloca, despite what the CVE +description says, but from the attack multiplication that comes from creating +many very small iovecs: (void* + size_t) for each three bytes of input message. + +[james.hilliard1@gmail.com: backport from upstream commit +052c57f132f04a3cf4148f87561618da1a6908b4] +Signed-off-by: James Hilliard +--- + src/journal/journald-native.c | 5 +++++ + src/shared/journal-importer.h | 3 +++ + 2 files changed, 8 insertions(+) + +diff --git a/src/journal/journald-native.c b/src/journal/journald-native.c +index e86178e..d0fee2a 100644 +--- a/src/journal/journald-native.c ++++ b/src/journal/journald-native.c +@@ -141,6 +141,11 @@ static int server_process_entry( + } + + /* A property follows */ ++ if (n > ENTRY_FIELD_COUNT_MAX) { ++ log_debug("Received an entry that has more than " STRINGIFY(ENTRY_FIELD_COUNT_MAX) " fields, ignoring entry."); ++ r = 1; ++ goto finish; ++ } + + /* n existing properties, 1 new, +1 for _TRANSPORT */ + if (!GREEDY_REALLOC(iovec, m, +diff --git a/src/shared/journal-importer.h b/src/shared/journal-importer.h +index 53354b7..7914c0c 100644 +--- a/src/shared/journal-importer.h ++++ b/src/shared/journal-importer.h +@@ -21,6 +21,9 @@ + #endif + #define LINE_CHUNK 8*1024u + ++/* The maximum number of fields in an entry */ ++#define ENTRY_FIELD_COUNT_MAX 1024 ++ + struct iovec_wrapper { + struct iovec *iovec; + size_t size_bytes; +-- +2.7.4 + diff --git a/bsp/buildroot/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch b/bsp/buildroot/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch new file mode 100644 index 00000000..7b74a31d --- /dev/null +++ b/bsp/buildroot/package/systemd/0011-journal-remote-verify-entry-length-from-header.patch @@ -0,0 +1,112 @@ +From 7fdb237f5473cb8fc2129e57e8a0039526dcb4fd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 7 Dec 2018 12:47:14 +0100 +Subject: [PATCH] journal-remote: verify entry length from header +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Calling mhd_respond(), which ulimately calls MHD_queue_response() is +ineffective at point, becuase MHD_queue_response() immediately returns +MHD_NO signifying an error, because the connection is in state +MHD_CONNECTION_CONTINUE_SENT. + +As Christian Grothoff kindly explained: +> You are likely calling MHD_queue_repsonse() too late: once you are +> receiving upload_data, HTTP forces you to process it all. At this time, +> MHD has already sent "100 continue" and cannot take it back (hence you +> get MHD_NO!). +> +> In your request handler, the first time when you are called for a +> connection (and when hence *upload_data_size == 0 and upload_data == +> NULL) you must check the content-length header and react (with +> MHD_queue_response) based on this (to prevent MHD from automatically +> generating 100 continue). + +If we ever encounter this kind of error, print a warning and immediately +abort the connection. (The alternative would be to keep reading the data, +but ignore it, and return an error after we get to the end of data. +That is possible, but of course puts additional load on both the +sender and reciever, and doesn't seem important enough just to return +a good error message.) + +Note that sending of the error does not work (the connection is always aborted +when MHD_queue_response is used with MHD_RESPMEM_MUST_FREE, as in this case) +with libµhttpd 0.59, but works with 0.61: +https://src.fedoraproject.org/rpms/libmicrohttpd/pull-request/1 + +[james.hilliard1@gmail.com: backport from upstream commit +7fdb237f5473cb8fc2129e57e8a0039526dcb4fd] +Signed-off-by: James Hilliard +--- + src/journal-remote/journal-remote-main.c | 34 ++++++++++++++++++++++---------- + 1 file changed, 24 insertions(+), 10 deletions(-) + +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index e1748cb..8543dba 100644 +--- a/src/journal-remote/journal-remote-main.c ++++ b/src/journal-remote/journal-remote-main.c +@@ -221,16 +221,14 @@ static int process_http_upload( + journal_remote_server_global->seal); + if (r == -EAGAIN) + break; +- else if (r < 0) { +- log_warning("Failed to process data for connection %p", connection); ++ if (r < 0) { + if (r == -E2BIG) +- return mhd_respondf(connection, +- r, MHD_HTTP_PAYLOAD_TOO_LARGE, +- "Entry is too large, maximum is " STRINGIFY(DATA_SIZE_MAX) " bytes."); ++ log_warning_errno(r, "Entry is too above maximum of %u, aborting connection %p.", ++ DATA_SIZE_MAX, connection); + else +- return mhd_respondf(connection, +- r, MHD_HTTP_UNPROCESSABLE_ENTITY, +- "Processing failed: %m."); ++ log_warning_errno(r, "Failed to process data, aborting connection %p: %m", ++ connection); ++ return MHD_NO; + } + } + +@@ -264,6 +262,7 @@ static int request_handler( + const char *header; + int r, code, fd; + _cleanup_free_ char *hostname = NULL; ++ size_t len; + + assert(connection); + assert(connection_cls); +@@ -283,12 +282,27 @@ static int request_handler( + if (!streq(url, "/upload")) + return mhd_respond(connection, MHD_HTTP_NOT_FOUND, "Not found."); + +- header = MHD_lookup_connection_value(connection, +- MHD_HEADER_KIND, "Content-Type"); ++ header = MHD_lookup_connection_value(connection, MHD_HEADER_KIND, "Content-Type"); + if (!header || !streq(header, "application/vnd.fdo.journal")) + return mhd_respond(connection, MHD_HTTP_UNSUPPORTED_MEDIA_TYPE, + "Content-Type: application/vnd.fdo.journal is required."); + ++ header = MHD_lookup_connection_value(connection, MHD_HEADER_KIND, "Content-Length"); ++ if (!header) ++ return mhd_respond(connection, MHD_HTTP_LENGTH_REQUIRED, ++ "Content-Length header is required."); ++ r = safe_atozu(header, &len); ++ if (r < 0) ++ return mhd_respondf(connection, r, MHD_HTTP_LENGTH_REQUIRED, ++ "Content-Length: %s cannot be parsed: %m", header); ++ ++ if (len > ENTRY_SIZE_MAX) ++ /* When serialized, an entry of maximum size might be slightly larger, ++ * so this does not correspond exactly to the limit in journald. Oh well. ++ */ ++ return mhd_respondf(connection, 0, MHD_HTTP_PAYLOAD_TOO_LARGE, ++ "Payload larger than maximum size of %u bytes", ENTRY_SIZE_MAX); ++ + { + const union MHD_ConnectionInfo *ci; + +-- +2.7.4 + diff --git a/bsp/buildroot/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch b/bsp/buildroot/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch new file mode 100644 index 00000000..e0aae98d --- /dev/null +++ b/bsp/buildroot/package/systemd/0012-journal-remote-set-a-limit-on-the-number-of-fields-i.patch @@ -0,0 +1,81 @@ +From ef4d6abe7c7fab6cbff975b32e76b09feee56074 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Fri, 7 Dec 2018 10:48:10 +0100 +Subject: [PATCH] journal-remote: set a limit on the number of fields in a + message + +Existing use of E2BIG is replaced with ENOBUFS (entry too long), and E2BIG is +reused for the new error condition (too many fields). + +This matches the change done for systemd-journald, hence forming the second +part of the fix for CVE-2018-16865 +(https://bugzilla.redhat.com/show_bug.cgi?id=1653861). + +[james.hilliard1@gmail.com: backport from upstream commit +ef4d6abe7c7fab6cbff975b32e76b09feee56074] +Signed-off-by: James Hilliard +--- + src/journal-remote/journal-remote-main.c | 7 +++++-- + src/journal-remote/journal-remote.c | 3 +++ + src/shared/journal-importer.c | 5 ++++- + 3 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index 8543dba..802c3ea 100644 +--- a/src/journal-remote/journal-remote-main.c ++++ b/src/journal-remote/journal-remote-main.c +@@ -222,9 +222,12 @@ static int process_http_upload( + if (r == -EAGAIN) + break; + if (r < 0) { +- if (r == -E2BIG) +- log_warning_errno(r, "Entry is too above maximum of %u, aborting connection %p.", ++ if (r == -ENOBUFS) ++ log_warning_errno(r, "Entry is above the maximum of %u, aborting connection %p.", + DATA_SIZE_MAX, connection); ++ else if (r == -E2BIG) ++ log_warning_errno(r, "Entry with more fields than the maximum of %u, aborting connection %p.", ++ ENTRY_FIELD_COUNT_MAX, connection); + else + log_warning_errno(r, "Failed to process data, aborting connection %p: %m", + connection); +diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c +index 3c0916c..1da32c5 100644 +--- a/src/journal-remote/journal-remote.c ++++ b/src/journal-remote/journal-remote.c +@@ -407,6 +407,9 @@ int journal_remote_handle_raw_source( + log_debug("%zu active sources remaining", s->active); + return 0; + } else if (r == -E2BIG) { ++ log_notice("Entry with too many fields, skipped"); ++ return 1; ++ } else if (r == -ENOBUFS) { + log_notice("Entry too big, skipped"); + return 1; + } else if (r == -EAGAIN) { +diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c +index b0e6192..8638cd3 100644 +--- a/src/shared/journal-importer.c ++++ b/src/shared/journal-importer.c +@@ -23,6 +23,9 @@ enum { + }; + + static int iovw_put(struct iovec_wrapper *iovw, void* data, size_t len) { ++ if (iovw->count >= ENTRY_FIELD_COUNT_MAX) ++ return -E2BIG; ++ + if (!GREEDY_REALLOC(iovw->iovec, iovw->size_bytes, iovw->count + 1)) + return log_oom(); + +@@ -97,7 +100,7 @@ static int get_line(JournalImporter *imp, char **line, size_t *size) { + + imp->scanned = imp->filled; + if (imp->scanned >= DATA_SIZE_MAX) +- return log_error_errno(SYNTHETIC_ERRNO(E2BIG), ++ return log_error_errno(SYNTHETIC_ERRNO(ENOBUFS), + "Entry is bigger than %u bytes.", + DATA_SIZE_MAX); + +-- +2.7.4 + diff --git a/bsp/buildroot/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch b/bsp/buildroot/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch new file mode 100644 index 00000000..eb7e0a27 --- /dev/null +++ b/bsp/buildroot/package/systemd/0013-Pass-separate-dev_t-var-to-device_path_parse_major_minor.patch @@ -0,0 +1,116 @@ +From f5855697aa19fb92637e72ab02e4623abe77f288 Mon Sep 17 00:00:00 2001 +From: YunQiang Su +Date: Tue, 25 Dec 2018 19:01:17 +0800 +Subject: [PATCH] Pass separate dev_t var to device_path_parse_major_minor + +MIPS/O32's st_rdev member of struct stat is unsigned long, which +is 32bit, while dev_t is defined as 64bit, which make some problems +in device_path_parse_major_minor. + +Don't pass st.st_rdev, st_mode to device_path_parse_major_minor, +while pass 2 seperate variables. The result of stat is alos copied +out into these 2 variables. Fixes: #11247 + +[Retrieved from: +https://github.com/systemd/systemd/commit/f5855697aa19fb92637e72ab02e4623abe77f288] +Signed-off-by: Fabrice Fontaine +--- + src/core/cgroup.c | 35 ++++++++++++++++++++++------------- + 1 file changed, 22 insertions(+), 13 deletions(-) + +diff --git a/src/core/cgroup.c b/src/core/cgroup.c +index 7b817dc225e..ed2f331b33e 100644 +--- a/src/core/cgroup.c ++++ b/src/core/cgroup.c +@@ -396,26 +396,31 @@ static void cgroup_xattr_apply(Unit *u) { + } + + static int lookup_block_device(const char *p, dev_t *ret) { +- struct stat st = {}; ++ dev_t rdev, dev = 0; ++ mode_t mode; + int r; + + assert(p); + assert(ret); + +- r = device_path_parse_major_minor(p, &st.st_mode, &st.st_rdev); ++ r = device_path_parse_major_minor(p, &mode, &rdev); + if (r == -ENODEV) { /* not a parsable device node, need to go to disk */ ++ struct stat st; + if (stat(p, &st) < 0) + return log_warning_errno(errno, "Couldn't stat device '%s': %m", p); ++ rdev = (dev_t)st.st_rdev; ++ dev = (dev_t)st.st_dev; ++ mode = st.st_mode; + } else if (r < 0) + return log_warning_errno(r, "Failed to parse major/minor from path '%s': %m", p); + +- if (S_ISCHR(st.st_mode)) { ++ if (S_ISCHR(mode)) { + log_warning("Device node '%s' is a character device, but block device needed.", p); + return -ENOTBLK; +- } else if (S_ISBLK(st.st_mode)) +- *ret = st.st_rdev; +- else if (major(st.st_dev) != 0) +- *ret = st.st_dev; /* If this is not a device node then use the block device this file is stored on */ ++ } else if (S_ISBLK(mode)) ++ *ret = rdev; ++ else if (major(dev) != 0) ++ *ret = dev; /* If this is not a device node then use the block device this file is stored on */ + else { + /* If this is btrfs, getting the backing block device is a bit harder */ + r = btrfs_get_block_device(p, ret); +@@ -436,7 +441,8 @@ static int lookup_block_device(const char *p, dev_t *ret) { + } + + static int whitelist_device(BPFProgram *prog, const char *path, const char *node, const char *acc) { +- struct stat st = {}; ++ dev_t rdev; ++ mode_t mode; + int r; + + assert(path); +@@ -445,11 +451,12 @@ static int whitelist_device(BPFProgram *prog, const char *path, const char *node + /* Some special handling for /dev/block/%u:%u, /dev/char/%u:%u, /run/systemd/inaccessible/chr and + * /run/systemd/inaccessible/blk paths. Instead of stat()ing these we parse out the major/minor directly. This + * means clients can use these path without the device node actually around */ +- r = device_path_parse_major_minor(node, &st.st_mode, &st.st_rdev); ++ r = device_path_parse_major_minor(node, &mode, &rdev); + if (r < 0) { + if (r != -ENODEV) + return log_warning_errno(r, "Couldn't parse major/minor from device path '%s': %m", node); + ++ struct stat st; + if (stat(node, &st) < 0) + return log_warning_errno(errno, "Couldn't stat device %s: %m", node); + +@@ -457,22 +464,24 @@ static int whitelist_device(BPFProgram *prog, const char *path, const char *node + log_warning("%s is not a device.", node); + return -ENODEV; + } ++ rdev = (dev_t) st.st_rdev; ++ mode = st.st_mode; + } + + if (cg_all_unified() > 0) { + if (!prog) + return 0; + +- return cgroup_bpf_whitelist_device(prog, S_ISCHR(st.st_mode) ? BPF_DEVCG_DEV_CHAR : BPF_DEVCG_DEV_BLOCK, +- major(st.st_rdev), minor(st.st_rdev), acc); ++ return cgroup_bpf_whitelist_device(prog, S_ISCHR(mode) ? BPF_DEVCG_DEV_CHAR : BPF_DEVCG_DEV_BLOCK, ++ major(rdev), minor(rdev), acc); + + } else { + char buf[2+DECIMAL_STR_MAX(dev_t)*2+2+4]; + + sprintf(buf, + "%c %u:%u %s", +- S_ISCHR(st.st_mode) ? 'c' : 'b', +- major(st.st_rdev), minor(st.st_rdev), ++ S_ISCHR(mode) ? 'c' : 'b', ++ major(rdev), minor(rdev), + acc); + + /* Changing the devices list of a populated cgroup might result in EINVAL, hence ignore EINVAL here. */ diff --git a/bsp/buildroot/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch b/bsp/buildroot/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch new file mode 100644 index 00000000..7a91aac5 --- /dev/null +++ b/bsp/buildroot/package/systemd/0014-networkd-brvlan.c-fix-build-without-BRIDGE_VLAN_INFO.patch @@ -0,0 +1,34 @@ +From 7bd188b1e628d11011cc6c98456e2e4ed72c645b Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 17:32:46 +0100 +Subject: [PATCH] networkd-brvlan.c: fix build without + BRIDGE_VLAN_INFO_RANGE_END + +systemd fails to build on kernel without BRIDGE_VLAN_INFO_RANGE_END +since 9714c02 + +So put include missing_if_bridge.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-brvlan.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c +index 8f9103f14..8377623da 100644 +--- a/src/network/networkd-brvlan.c ++++ b/src/network/networkd-brvlan.c +@@ -9,6 +9,7 @@ + + #include "alloc-util.h" + #include "conf-parser.h" ++#include "missing_if_bridge.h" + #include "netlink-util.h" + #include "networkd-brvlan.h" + #include "networkd-link.h" +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch b/bsp/buildroot/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch new file mode 100644 index 00000000..6351f05e --- /dev/null +++ b/bsp/buildroot/package/systemd/0015-networkd-ndisc.c-fix-build-without-IFA_F_NOPREFIXROU.patch @@ -0,0 +1,33 @@ +From d909e4af6ac61f6777d429a0c84ab5b3d1907c6d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 18:28:16 +0100 +Subject: [PATCH] networkd-ndisc.c: fix build without IFA_F_NOPREFIXROUTE + +systemd fails to build on kernel without IFA_F_NOPREFIXROUTE +since 9714c02 + +So put include missing_network.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-ndisc.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c +index 80bfd2cba..e5b8d1155 100644 +--- a/src/network/networkd-ndisc.c ++++ b/src/network/networkd-ndisc.c +@@ -8,6 +8,7 @@ + + #include "sd-ndisc.h" + ++#include "missing_network.h" + #include "networkd-ndisc.h" + #include "networkd-route.h" + #include "strv.h" +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch b/bsp/buildroot/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch new file mode 100644 index 00000000..33d3328a --- /dev/null +++ b/bsp/buildroot/package/systemd/0016-networkd-address.c-fix-build-without-IFA_F_NOPREFIXR.patch @@ -0,0 +1,33 @@ +From 081aea25022a987d349394ada2d6a959bf3ce4cd Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 18:33:39 +0100 +Subject: [PATCH] networkd-address.c: fix build without IFA_F_NOPREFIXROUTE + +systemd fails to build on kernel without IFA_F_NOPREFIXROUTE +since 9714c02 + +So put include missing_network.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-address.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c +index fa7f9b8d7..3cdbd9e37 100644 +--- a/src/network/networkd-address.c ++++ b/src/network/networkd-address.c +@@ -5,6 +5,7 @@ + #include "alloc-util.h" + #include "conf-parser.h" + #include "firewall-util.h" ++#include "missing_network.h" + #include "netlink-util.h" + #include "networkd-address.h" + #include "networkd-manager.h" +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch b/bsp/buildroot/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch new file mode 100644 index 00000000..2b7ae189 --- /dev/null +++ b/bsp/buildroot/package/systemd/0017-networkd-dhcp6.c-fix-build-without-IFA_F_NOPREFIXROU.patch @@ -0,0 +1,33 @@ +From aeed8332afa88728ed914b2917ce758d9c2218a4 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sun, 3 Feb 2019 18:38:10 +0100 +Subject: [PATCH] networkd-dhcp6.c: fix build without IFA_F_NOPREFIXROUTE + +systemd fails to build on kernel without IFA_F_NOPREFIXROUTE +since 9714c02 + +So put include missing_network.h + +Fixes: + - http://autobuild.buildroot.org/results/970b09e1d49b53dff12a07ca4ad424ef9dd29a69 + +Signed-off-by: Fabrice Fontaine +--- + src/network/networkd-dhcp6.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c +index f9df26d75..c1fba03f9 100644 +--- a/src/network/networkd-dhcp6.c ++++ b/src/network/networkd-dhcp6.c +@@ -11,6 +11,7 @@ + + #include "hashmap.h" + #include "hostname-util.h" ++#include "missing_network.h" + #include "network-internal.h" + #include "networkd-link.h" + #include "networkd-manager.h" +-- +2.14.1 + diff --git a/bsp/buildroot/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch b/bsp/buildroot/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch new file mode 100644 index 00000000..2de3b71b --- /dev/null +++ b/bsp/buildroot/package/systemd/0018-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch @@ -0,0 +1,53 @@ +From febef5e18558c114f4fb7c94f6c8ed3520c50cdf Mon Sep 17 00:00:00 2001 +From: Riccardo Schirone +Date: Mon, 4 Feb 2019 14:29:09 +0100 +Subject: [PATCH] Refuse dbus message paths longer than BUS_PATH_SIZE_MAX + limit. + +Even though the dbus specification does not enforce any length limit on the +path of a dbus message, having to analyze too long strings in PID1 may be +time-consuming and it may have security impacts. + +In any case, the limit is set so high that real-life applications should not +have a problem with it. + +(cherry picked from commit 61397a60d98e368a5720b37e83f3169e3eb511c4) +Signed-off-by: Baruch Siach +--- +Upstream status: commit 61397a60d98 + + src/libsystemd/sd-bus/bus-internal.c | 2 +- + src/libsystemd/sd-bus/bus-internal.h | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/libsystemd/sd-bus/bus-internal.c b/src/libsystemd/sd-bus/bus-internal.c +index 40acae213381..598b7f110c73 100644 +--- a/src/libsystemd/sd-bus/bus-internal.c ++++ b/src/libsystemd/sd-bus/bus-internal.c +@@ -43,7 +43,7 @@ bool object_path_is_valid(const char *p) { + if (slash) + return false; + +- return true; ++ return (q - p) <= BUS_PATH_SIZE_MAX; + } + + char* object_path_startswith(const char *a, const char *b) { +diff --git a/src/libsystemd/sd-bus/bus-internal.h b/src/libsystemd/sd-bus/bus-internal.h +index f208b294d8f1..a8d61bf72a4e 100644 +--- a/src/libsystemd/sd-bus/bus-internal.h ++++ b/src/libsystemd/sd-bus/bus-internal.h +@@ -332,6 +332,10 @@ struct sd_bus { + + #define BUS_MESSAGE_SIZE_MAX (128*1024*1024) + #define BUS_AUTH_SIZE_MAX (64*1024) ++/* Note that the D-Bus specification states that bus paths shall have no size limit. We enforce here one ++ * anyway, since truly unbounded strings are a security problem. The limit we pick is relatively large however, ++ * to not clash unnecessarily with real-life applications. */ ++#define BUS_PATH_SIZE_MAX (64*1024) + + #define BUS_CONTAINER_DEPTH 128 + +-- +2.20.1 + diff --git a/bsp/buildroot/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch b/bsp/buildroot/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch new file mode 100644 index 00000000..bd09e602 --- /dev/null +++ b/bsp/buildroot/package/systemd/0019-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch @@ -0,0 +1,194 @@ +From 9e3f5a77226d5320270c92df001f6c79be735af3 Mon Sep 17 00:00:00 2001 +From: Riccardo Schirone +Date: Mon, 4 Feb 2019 14:29:28 +0100 +Subject: [PATCH] Allocate temporary strings to hold dbus paths on the heap + +Paths are limited to BUS_PATH_SIZE_MAX but the maximum size is anyway too big +to be allocated on the stack, so let's switch to the heap where there is a +clear way to understand if the allocation fails. + +(cherry picked from commit f519a19bcd5afe674a9b8fc462cd77d8bad403c1) +[baruch: backport to v240] +Signed-off-by: Baruch Siach +--- +Upstream status: commit f519a19bcd5 + + src/libsystemd/sd-bus/bus-objects.c | 68 +++++++++++++++++++++++------ + 1 file changed, 54 insertions(+), 14 deletions(-) + +diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c +index d0538104ae25..54b977418e03 100644 +--- a/src/libsystemd/sd-bus/bus-objects.c ++++ b/src/libsystemd/sd-bus/bus-objects.c +@@ -1133,7 +1133,8 @@ static int object_manager_serialize_path_and_fallbacks( + const char *path, + sd_bus_error *error) { + +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -1149,7 +1150,12 @@ static int object_manager_serialize_path_and_fallbacks( + return 0; + + /* Second, add fallback vtables registered for any of the prefixes */ +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = object_manager_serialize_path(bus, reply, prefix, path, true, error); + if (r < 0) +@@ -1345,6 +1351,7 @@ static int object_find_and_run( + } + + int bus_process_object(sd_bus *bus, sd_bus_message *m) { ++ _cleanup_free_ char *prefix = NULL; + int r; + size_t pl; + bool found_object = false; +@@ -1369,9 +1376,12 @@ int bus_process_object(sd_bus *bus, sd_bus_message *m) { + assert(m->member); + + pl = strlen(m->path); +- do { +- char prefix[pl+1]; ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; + ++ do { + bus->nodes_modified = false; + + r = object_find_and_run(bus, m, m->path, false, &found_object); +@@ -1498,9 +1508,15 @@ static int bus_find_parent_object_manager(sd_bus *bus, struct node **out, const + + n = hashmap_get(bus->nodes, path); + if (!n) { +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; ++ ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; + +- prefix = alloca(strlen(path) + 1); + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + n = hashmap_get(bus->nodes, prefix); + if (n) +@@ -2083,8 +2099,9 @@ _public_ int sd_bus_emit_properties_changed_strv( + const char *interface, + char **names) { + ++ _cleanup_free_ char *prefix = NULL; + bool found_interface = false; +- char *prefix; ++ size_t pl; + int r; + + assert_return(bus, -EINVAL); +@@ -2105,6 +2122,12 @@ _public_ int sd_bus_emit_properties_changed_strv( + + BUS_DONT_DESTROY(bus); + ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + do { + bus->nodes_modified = false; + +@@ -2114,7 +2137,6 @@ _public_ int sd_bus_emit_properties_changed_strv( + if (bus->nodes_modified) + continue; + +- prefix = alloca(strlen(path) + 1); + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = emit_properties_changed_on_interface(bus, prefix, path, interface, true, &found_interface, names); + if (r != 0) +@@ -2246,7 +2268,8 @@ static int object_added_append_all_prefix( + + static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *path) { + _cleanup_set_free_ Set *s = NULL; +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -2291,7 +2314,12 @@ static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char *p + if (bus->nodes_modified) + return 0; + +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = object_added_append_all_prefix(bus, m, s, prefix, path, true); + if (r < 0) +@@ -2430,7 +2458,8 @@ static int object_removed_append_all_prefix( + + static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char *path) { + _cleanup_set_free_ Set *s = NULL; +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -2462,7 +2491,12 @@ static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const char + if (bus->nodes_modified) + return 0; + +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = object_removed_append_all_prefix(bus, m, s, prefix, path, true); + if (r < 0) +@@ -2612,7 +2646,8 @@ static int interfaces_added_append_one( + const char *path, + const char *interface) { + +- char *prefix; ++ _cleanup_free_ char *prefix = NULL; ++ size_t pl; + int r; + + assert(bus); +@@ -2626,7 +2661,12 @@ static int interfaces_added_append_one( + if (bus->nodes_modified) + return 0; + +- prefix = alloca(strlen(path) + 1); ++ pl = strlen(path); ++ assert(pl <= BUS_PATH_SIZE_MAX); ++ prefix = new(char, pl + 1); ++ if (!prefix) ++ return -ENOMEM; ++ + OBJECT_PATH_FOREACH_PREFIX(prefix, path) { + r = interfaces_added_append_one_prefix(bus, m, prefix, path, interface, true); + if (r != 0) +-- +2.20.1 + diff --git a/bsp/buildroot/package/systemd/Config.in b/bsp/buildroot/package/systemd/Config.in index 7b613df0..920b65db 100644 --- a/bsp/buildroot/package/systemd/Config.in +++ b/bsp/buildroot/package/systemd/Config.in @@ -5,7 +5,7 @@ config BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS BR2_mipsel || BR2_powerpc || BR2_powerpc64 || \ BR2_powerpc64le || BR2_sh4 || BR2_sh4eb || \ BR2_sh4a || BR2_sh4aeb || BR2_sparc || BR2_x86_64 || \ - BR2_aarch64 || BR2_m68k + BR2_aarch64 || BR2_m68k || BR2_arc menuconfig BR2_PACKAGE_SYSTEMD bool "systemd" @@ -215,6 +215,7 @@ config BR2_PACKAGE_SYSTEMD_NETWORKD config BR2_PACKAGE_SYSTEMD_POLKIT bool "enable polkit support" + depends on BR2_TOOLCHAIN_USES_GLIBC # polkit select BR2_PACKAGE_POLKIT help If enabled, systemd is built with polkit support and policy @@ -224,6 +225,9 @@ config BR2_PACKAGE_SYSTEMD_POLKIT http://wiki.freedesktop.org/www/Software/polkit/ +comment "polkit support needs a glibc toolchain" + depends on !BR2_TOOLCHAIN_USES_GLIBC + config BR2_PACKAGE_SYSTEMD_QUOTACHECK bool "enable quotacheck tools" help @@ -321,6 +325,7 @@ config BR2_PACKAGE_SYSTEMD_TMPFILES config BR2_PACKAGE_SYSTEMD_VCONSOLE bool "enable vconsole tool" + default y help systemd-vconsole-setup is an early boot service that configures the virtual console font and console keymap. diff --git a/bsp/buildroot/package/systemd/systemd.hash b/bsp/buildroot/package/systemd/systemd.hash index d580a29b..9c1a512c 100644 --- a/bsp/buildroot/package/systemd/systemd.hash +++ b/bsp/buildroot/package/systemd/systemd.hash @@ -1,5 +1,5 @@ # sha256 locally computed -sha256 c83dabbe1c9de6b9db1dafdb7e04140c7d0535705c68842f6c0768653ba4913c systemd-237.tar.gz +sha256 8f15aec1ac926e13a21a04d0ca3fe371f7004951448142a6f8952075c5b5f0b5 systemd-240.tar.gz sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 LICENSE.GPL2 sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 LICENSE.LGPL2.1 -sha256 9c7709aa401a41c4c3f33ea75c34ae5d5354d62c310c3391c2a5958952d8aadd README +sha256 a693f8f654fdf016e2aefe6b30aa6e1211728b8269ab325408a152c6c9b6ebe8 README diff --git a/bsp/buildroot/package/systemd/systemd.mk b/bsp/buildroot/package/systemd/systemd.mk index 4dea7d34..6f0e451b 100644 --- a/bsp/buildroot/package/systemd/systemd.mk +++ b/bsp/buildroot/package/systemd/systemd.mk @@ -4,52 +4,44 @@ # ################################################################################ -SYSTEMD_VERSION = 237 +SYSTEMD_VERSION = 240 SYSTEMD_SITE = $(call github,systemd,systemd,v$(SYSTEMD_VERSION)) SYSTEMD_LICENSE = LGPL-2.1+, GPL-2.0+ (udev), Public Domain (few source files, see README) SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 README SYSTEMD_INSTALL_STAGING = YES SYSTEMD_DEPENDENCIES = \ + $(if $(BR2_PACKAGE_BASH_COMPLETION),bash-completion) \ host-gperf \ host-intltool \ - host-meson \ kmod \ libcap \ util-linux SYSTEMD_PROVIDES = udev -# Make sure that systemd will always be built after busybox so that we have -# a consistent init setup between two builds -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -SYSTEMD_DEPENDENCIES += busybox -endif - SYSTEMD_CONF_OPTS += \ - --prefix=/usr \ - --libdir='/usr/lib' \ - --buildtype $(if $(BR2_ENABLE_DEBUG),debug,release) \ - --cross-file $(HOST_DIR)/etc/meson/cross-compilation.conf \ -Drootlibdir='/usr/lib' \ -Dblkid=true \ -Dman=false \ -Dima=false \ - -Dlibcryptsetup=false \ -Defi=false \ -Dgnu-efi=false \ -Dldconfig=false \ -Ddefault-dnssec=no \ -Dtests=false \ + -Dsplit-bin=true \ + -Dsplit-usr=false \ -Dsystem-uid-max=999 \ -Dsystem-gid-max=999 \ -Dtelinit-path=$(TARGET_DIR)/sbin/telinit \ - -Dkill-path=/usr/bin/kill \ -Dkmod-path=/usr/bin/kmod \ -Dkexec-path=/usr/sbin/kexec \ -Dsulogin-path=/usr/sbin/sulogin \ -Dmount-path=/usr/bin/mount \ -Dumount-path=/usr/bin/umount \ - -Dnobody-group=nogroup + -Dnobody-group=nogroup \ + -Didn=true \ + -Dnss-systemd=true ifeq ($(BR2_PACKAGE_ACL),y) SYSTEMD_DEPENDENCIES += acl @@ -65,11 +57,36 @@ else SYSTEMD_CONF_OPTS += -Daudit=false endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) -SYSTEMD_DEPENDENCIES += libidn -SYSTEMD_CONF_OPTS += -Dlibidn=true +ifeq ($(BR2_PACKAGE_CRYPTSETUP),y) +SYSTEMD_DEPENDENCIES += cryptsetup +SYSTEMD_CONF_OPTS += -Dlibcryptsetup=true else -SYSTEMD_CONF_OPTS += -Dlibidn=false +SYSTEMD_CONF_OPTS += -Dlibcryptsetup=false +endif + +ifeq ($(BR2_PACKAGE_ELFUTILS),y) +SYSTEMD_DEPENDENCIES += elfutils +SYSTEMD_CONF_OPTS += -Delfutils=true +else +SYSTEMD_CONF_OPTS += -Delfutils=false +endif + +ifeq ($(BR2_PACKAGE_IPTABLES),y) +SYSTEMD_DEPENDENCIES += iptables +SYSTEMD_CONF_OPTS += -Dlibiptc=true +else +SYSTEMD_CONF_OPTS += -Dlibiptc=false +endif + +# Both options can't be selected at the same time so prefer libidn2 +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +SYSTEMD_DEPENDENCIES += libidn2 +SYSTEMD_CONF_OPTS += -Dlibidn2=true -Dlibidn=false +else ifeq ($(BR2_PACKAGE_LIBIDN),y) +SYSTEMD_DEPENDENCIES += libidn +SYSTEMD_CONF_OPTS += -Dlibidn=true -Dlibidn2=false +else +SYSTEMD_CONF_OPTS += -Dlibidn=false -Dlibidn2=false endif ifeq ($(BR2_PACKAGE_LIBSECCOMP),y) @@ -107,6 +124,13 @@ else SYSTEMD_CONF_OPTS += -Dpam=false endif +ifeq ($(BR2_PACKAGE_VALGRIND),y) +SYSTEMD_DEPENDENCIES += valgrind +SYSTEMD_CONF_OPTS += -Dvalgrind=true +else +SYSTEMD_CONF_OPTS += -Dvalgrind=false +endif + ifeq ($(BR2_PACKAGE_XZ),y) SYSTEMD_DEPENDENCIES += xz SYSTEMD_CONF_OPTS += -Dxz=true @@ -135,6 +159,13 @@ else SYSTEMD_CONF_OPTS += -Dgcrypt=false endif +ifeq ($(BR2_PACKAGE_PCRE2),y) +SYSTEMD_DEPENDENCIES += pcre2 +SYSTEMD_CONF_OPTS += -Dpcre2=true +else +SYSTEMD_CONF_OPTS += -Dpcre2=false +endif + ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y) SYSTEMD_DEPENDENCIES += libmicrohttpd SYSTEMD_CONF_OPTS += -Dmicrohttpd=true @@ -240,9 +271,9 @@ SYSTEMD_CONF_OPTS += -Dhostnamed=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_MYHOSTNAME),y) -SYSTEMD_CONF_OPTS += -Dmyhostname=true +SYSTEMD_CONF_OPTS += -Dnss-myhostname=true else -SYSTEMD_CONF_OPTS += -Dmyhostname=false +SYSTEMD_CONF_OPTS += -Dnss-myhostname=false endif ifeq ($(BR2_PACKAGE_SYSTEMD_TIMEDATED),y) @@ -366,19 +397,26 @@ endef ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),) # systemd needs getty.service for VTs and serial-getty.service for serial ttys +# note that console-getty.service should be used on /dev/console as it should not have dependencies # also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that define SYSTEMD_INSTALL_SERVICE_TTY - if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \ + if [ $(BR2_TARGET_GENERIC_GETTY_PORT) = "console" ]; \ then \ - SERVICE="getty"; \ + TARGET="console-getty.service"; \ + LINK_NAME="console-getty.service"; \ + elif echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \ + then \ + TARGET="getty@.service"; \ + LINK_NAME="getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \ else \ - SERVICE="serial-getty"; \ + TARGET="serial-getty@.service"; \ + LINK_NAME="serial-getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \ fi; \ - ln -fs ../../../../lib/systemd/system/$${SERVICE}@.service \ - $(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${SERVICE}@$(BR2_TARGET_GENERIC_GETTY_PORT).service; \ + ln -fs ../../../../lib/systemd/system/$${TARGET} \ + $(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${LINK_NAME}; \ if [ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -gt 0 ] ; \ then \ - $(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${SERVICE}@.service; \ + $(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${TARGET}; \ fi endef endif @@ -390,28 +428,7 @@ define SYSTEMD_INSTALL_INIT_SYSTEMD $(SYSTEMD_INSTALL_NETWORK_CONFS) endef -SYSTEMD_NINJA_OPTS = $(if $(VERBOSE),-v) -j$(PARALLEL_JOBS) +SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV) +SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV) -SYSTEMD_ENV = $(TARGET_MAKE_ENV) $(HOST_UTF8_LOCALE_ENV) - -define SYSTEMD_CONFIGURE_CMDS - rm -rf $(@D)/build - mkdir -p $(@D)/build - $(SYSTEMD_ENV) meson $(SYSTEMD_CONF_OPTS) $(@D) $(@D)/build -endef - -define SYSTEMD_BUILD_CMDS - $(SYSTEMD_ENV) ninja $(SYSTEMD_NINJA_OPTS) -C $(@D)/build -endef - -define SYSTEMD_INSTALL_TARGET_CMDS - $(SYSTEMD_ENV) DESTDIR=$(TARGET_DIR) ninja $(SYSTEMD_NINJA_OPTS) \ - -C $(@D)/build install -endef - -define SYSTEMD_INSTALL_STAGING_CMDS - $(SYSTEMD_ENV) DESTDIR=$(STAGING_DIR) ninja $(SYSTEMD_NINJA_OPTS) \ - -C $(@D)/build install -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/sysvinit/0001-fix-libcrypt-test.patch b/bsp/buildroot/package/sysvinit/0001-fix-libcrypt-test.patch deleted file mode 100644 index 6c22436d..00000000 --- a/bsp/buildroot/package/sysvinit/0001-fix-libcrypt-test.patch +++ /dev/null @@ -1,20 +0,0 @@ -Make the libcrypt test somewhat cross-compilation compliant - -Signed-off-by: Thomas Petazzoni - -Index: b/src/Makefile -=================================================================== ---- a/src/Makefile -+++ b/src/Makefile -@@ -78,8 +78,9 @@ else - endif - - # Additional libs for GNU libc. --ifneq ($(wildcard /usr/lib*/libcrypt.a),) -- SULOGINLIBS += -lcrypt -+HAS_LIBCRYPT=$(shell f=`mktemp` && echo 'int main(void) {}' | $(CC) -o $$f -xc - -lcrypt >/dev/null 2>&1 && echo yes; rm -f $$f) -+ifeq ($(HAS_LIBCRYPT),yes) -+ SULOGINLIBS += -lcrypt - endif - - all: $(BIN) $(SBIN) $(USRBIN) diff --git a/bsp/buildroot/package/sysvinit/0002-musl-fix-compilation-errors.patch b/bsp/buildroot/package/sysvinit/0002-musl-fix-compilation-errors.patch deleted file mode 100644 index 5dcdecf7..00000000 --- a/bsp/buildroot/package/sysvinit/0002-musl-fix-compilation-errors.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix various compilation errors when compiling against must libc - -Signed-off-by: Dagg Stompler - -diff -Nupr a/src/init.c b/src/init.c ---- a/src/init.c 2017-08-13 18:44:27.000000000 +0300 -+++ b/src/init.c 2017-08-13 18:34:45.000000000 +0300 -@@ -37,6 +37,7 @@ - #include - #endif - #include -+#include - #include - #include - #include -diff -Nupr a/src/init.h b/src/init.h ---- a/src/init.h 2017-08-13 19:35:46.000000000 +0300 -+++ b/src/init.h 2017-08-13 19:36:01.000000000 +0300 -@@ -22,6 +22,8 @@ - * - */ - -+#include -+ - /* Standard configuration */ - #define CHANGE_WAIT 0 /* Change runlevel while - waiting for a process to exit? */ -diff -Nupr a/src/mountpoint.c b/src/mountpoint.c ---- a/src/mountpoint.c 2017-08-13 20:28:26.000000000 +0300 -+++ b/src/mountpoint.c 2017-08-13 20:28:40.000000000 +0300 -@@ -24,6 +24,7 @@ - */ - - #include -+#include - #include - #include - #include diff --git a/bsp/buildroot/package/sysvinit/sysvinit.hash b/bsp/buildroot/package/sysvinit/sysvinit.hash index 268b9841..2161fb38 100644 --- a/bsp/buildroot/package/sysvinit/sysvinit.hash +++ b/bsp/buildroot/package/sysvinit/sysvinit.hash @@ -1,3 +1,5 @@ -# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/sysvinit/sysvinit_2.88dsf-13.1%2Bsqueeze1.dsc -sha256 b016f937958d2809a020d407e1287bdc09abf1d44efaa96530e2ea57f544f4e8 sysvinit_2.88dsf.orig.tar.gz -sha256 26b456a31036b1e1c2486c22ca2b7fde6d723b7c63669604eacc61cfb6609ef8 sysvinit_2.88dsf-13.1+squeeze1.diff.gz +# Locally computed: +sha256 114cffc8ef514a38b9916de2050bb6d73b43dff7afd05aee6b09d2f6cea7664e sysvinit-2.90.tar.xz + +# Hash for license files: +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/bsp/buildroot/package/sysvinit/sysvinit.mk b/bsp/buildroot/package/sysvinit/sysvinit.mk index a606ddab..98aa5a41 100644 --- a/bsp/buildroot/package/sysvinit/sysvinit.mk +++ b/bsp/buildroot/package/sysvinit/sysvinit.mk @@ -4,36 +4,20 @@ # ################################################################################ -SYSVINIT_VERSION = 2.88 -SYSVINIT_SOURCE = sysvinit_$(SYSVINIT_VERSION)dsf.orig.tar.gz -SYSVINIT_PATCH = sysvinit_$(SYSVINIT_VERSION)dsf-13.1+squeeze1.diff.gz -SYSVINIT_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/s/sysvinit +SYSVINIT_VERSION = 2.90 +SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VERSION).tar.xz +SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit SYSVINIT_LICENSE = GPL-2.0+ SYSVINIT_LICENSE_FILES = COPYING SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR) -# Override BusyBox implementations if BusyBox is enabled. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -SYSVINIT_DEPENDENCIES = busybox -endif - ifeq ($(BR2_PACKAGE_LIBSELINUX),y) SYSVINIT_DEPENDENCIES += libselinux SYSVINIT_MAKE_OPTS += WITH_SELINUX="yes" endif -define SYSVINIT_DEBIAN_PATCHES - if [ -d $(@D)/debian/patches ]; then \ - $(APPLY_PATCHES) $(@D) $(@D)/debian/patches \*.patch; \ - fi -endef - -SYSVINIT_POST_PATCH_HOOKS = SYSVINIT_DEBIAN_PATCHES - define SYSVINIT_BUILD_CMDS - # Force sysvinit to link against libcrypt as it otherwise - # use an incorrect test to see if it's available $(TARGET_CONFIGURE_OPTS) $(MAKE) $(SYSVINIT_MAKE_OPTS) -C $(@D)/src endef diff --git a/bsp/buildroot/package/szip/szip.hash b/bsp/buildroot/package/szip/szip.hash index c6caf364..3b582d90 100644 --- a/bsp/buildroot/package/szip/szip.hash +++ b/bsp/buildroot/package/szip/szip.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 a816d95d5662e8279625abdbea7d0e62157d7d1f028020b1075500bf483ed5ef szip-2.1.tar.gz +sha256 21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412 szip-2.1.1.tar.gz +sha256 98cc66747133b26563fefc4630ad4c8c7848c722c7b8a60ecd4afbc4c7d7eb01 COPYING diff --git a/bsp/buildroot/package/szip/szip.mk b/bsp/buildroot/package/szip/szip.mk index f3a47581..7a8a5a82 100644 --- a/bsp/buildroot/package/szip/szip.mk +++ b/bsp/buildroot/package/szip/szip.mk @@ -4,8 +4,8 @@ # ################################################################################ -SZIP_VERSION = 2.1 -SZIP_SITE = http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src +SZIP_VERSION = 2.1.1 +SZIP_SITE = http://www.hdfgroup.org/ftp/lib-external/szip/2.1.1/src SZIP_LICENSE = szip license SZIP_LICENSE_FILES = COPYING SZIP_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/tar/tar.mk b/bsp/buildroot/package/tar/tar.mk index a8a15d95..6f609d7a 100644 --- a/bsp/buildroot/package/tar/tar.mk +++ b/bsp/buildroot/package/tar/tar.mk @@ -8,16 +8,11 @@ TAR_VERSION = 1.29 TAR_SOURCE = tar-$(TAR_VERSION).tar.xz TAR_SITE = $(BR2_GNU_MIRROR)/tar # busybox installs in /bin, so we need tar to install as well in /bin -# so that it overrides the Busybox symlinks. +# so that we don't end up with two different tar TAR_CONF_OPTS = --exec-prefix=/ TAR_LICENSE = GPL-3.0+ TAR_LICENSE_FILES = COPYING -# Prefer full-blown tar over buybox's version -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -TAR_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_ACL),y) TAR_DEPENDENCIES += acl TAR_CONF_OPTS += --with-posix-acls @@ -40,11 +35,16 @@ HOST_TAR_SOURCE = tar-$(TAR_VERSION).cpio.gz define HOST_TAR_EXTRACT_CMDS mkdir -p $(@D) cd $(@D) && \ - $(call suitable-extractor,$(HOST_TAR_SOURCE)) $(DL_DIR)/$(HOST_TAR_SOURCE) | cpio -i --preserve-modification-time + $(call suitable-extractor,$(HOST_TAR_SOURCE)) $(TAR_DL_DIR)/$(HOST_TAR_SOURCE) | cpio -i --preserve-modification-time mv $(@D)/tar-$(TAR_VERSION)/* $(@D) rmdir $(@D)/tar-$(TAR_VERSION) endef HOST_TAR_CONF_OPTS = --without-selinux +# we are built before ccache +HOST_TAR_CONF_ENV = \ + CC="$(HOSTCC_NOCCACHE)" \ + CXX="$(HOSTCXX_NOCCACHE)" + $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/targetcli-fb/S50target b/bsp/buildroot/package/targetcli-fb/S50target old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch b/bsp/buildroot/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch deleted file mode 100644 index fd2d61f3..00000000 --- a/bsp/buildroot/package/tcf-agent/0001-agent-add-install-target-to-the-CMakeLists.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 96c43b223c90746cb2f680d6d5e198afc690dd4d Mon Sep 17 00:00:00 2001 -From: Norbert Lange -Date: Mon, 4 Dec 2017 10:56:45 +0100 -Subject: [PATCH] agent: add install target to the CMakeLists - -It is common for CMake packages to make sure that 'make install' -works properly, and that's what most users expect. - -More specifically, build systems such as Buildroot also expect -'make install' to do the right thing for CMake-based packages - -Signed-off-by: Norbert Lange ---- - agent/CMakeLists.txt | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/agent/CMakeLists.txt b/agent/CMakeLists.txt -index aef15b96..605862b2 100644 ---- a/agent/CMakeLists.txt -+++ b/agent/CMakeLists.txt -@@ -1,6 +1,8 @@ - # -*- cmake -*- - - cmake_minimum_required(VERSION 2.8) -+project(tcfagent C) -+include(GNUInstallDirs) - - set(CMAKE_COLOR_MAKEFILE OFF) - -@@ -43,3 +45,15 @@ message(STATUS "machine:" ${TCF_MACHINE}) - - add_executable(agent tcf/main/main.c) - target_link_libraries(agent ${TCF_LIB_NAME}) -+ -+# executable and library cant have the same target name, -+# but we can rename the output -+set_target_properties(agent -+ PROPERTIES OUTPUT_NAME tcf-agent) -+ -+# add target to install all outputs -+install(TARGETS agent ${TCF_LIB_NAME} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) --- -2.15.1 - diff --git a/bsp/buildroot/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch b/bsp/buildroot/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch deleted file mode 100644 index 5c820394..00000000 --- a/bsp/buildroot/package/tcf-agent/0002-linux-remove-explicit-uses-of-__ptrace_request.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 3e662598e1d9ad682e470988764c3af5b1a78cb7 Mon Sep 17 00:00:00 2001 -From: Norbert Lange -Date: Fri, 1 Dec 2017 13:15:50 +0100 -Subject: [PATCH] linux: remove explicit uses of __ptrace_request - -This type is not to be used directly, and with musl it wont build - -Signed-off-by: Norbert Lange ---- - agent/machine/arm/tcf/cpudefs-mdep.c | 4 ++-- - agent/machine/arm/tcf/regset-mdep.h | 4 ++-- - agent/system/GNU/Linux/tcf/context-linux.c | 18 +++++++++--------- - 3 files changed, 13 insertions(+), 13 deletions(-) - -diff --git a/agent/machine/arm/tcf/cpudefs-mdep.c b/agent/machine/arm/tcf/cpudefs-mdep.c -index 27ab0129..0bc8b146 100644 ---- a/agent/machine/arm/tcf/cpudefs-mdep.c -+++ b/agent/machine/arm/tcf/cpudefs-mdep.c -@@ -89,10 +89,10 @@ static RegisterDefinition * lr_def = NULL; - static RegisterDefinition * cpsr_def = NULL; - - #if !defined(PTRACE_GETHBPREGS) --#define PTRACE_GETHBPREGS (enum __ptrace_request)29 -+#define PTRACE_GETHBPREGS 29 - #endif - #if !defined(PTRACE_SETHBPREGS) --#define PTRACE_SETHBPREGS (enum __ptrace_request)30 -+#define PTRACE_SETHBPREGS 30 - #endif - - #define ARM_DEBUG_ARCH_V6 1 -diff --git a/agent/machine/arm/tcf/regset-mdep.h b/agent/machine/arm/tcf/regset-mdep.h -index e5516042..893ba64f 100644 ---- a/agent/machine/arm/tcf/regset-mdep.h -+++ b/agent/machine/arm/tcf/regset-mdep.h -@@ -28,11 +28,11 @@ - #endif - - #ifndef PTRACE_GETREGSET --#define PTRACE_GETREGSET (enum __ptrace_request)0x4204 -+#define PTRACE_GETREGSET 0x4204 - #endif - - #ifndef PTRACE_SETREGSET --#define PTRACE_SETREGSET (enum __ptrace_request)0x4205 -+#define PTRACE_SETREGSET 0x4205 - #endif - - struct regset_gp { -diff --git a/agent/system/GNU/Linux/tcf/context-linux.c b/agent/system/GNU/Linux/tcf/context-linux.c -index d4eb5e6b..4c86021e 100644 ---- a/agent/system/GNU/Linux/tcf/context-linux.c -+++ b/agent/system/GNU/Linux/tcf/context-linux.c -@@ -60,10 +60,10 @@ - #endif - - #if !defined(PTRACE_SETOPTIONS) --#define PTRACE_SETOPTIONS (enum __ptrace_request)0x4200 --#define PTRACE_GETEVENTMSG (enum __ptrace_request)0x4201 --#define PTRACE_GETSIGINFO (enum __ptrace_request)0x4202 --#define PTRACE_SETSIGINFO (enum __ptrace_request)0x4203 -+#define PTRACE_SETOPTIONS 0x4200 -+#define PTRACE_GETEVENTMSG 0x4201 -+#define PTRACE_GETSIGINFO 0x4202 -+#define PTRACE_SETSIGINFO 0x4203 - - #define PTRACE_O_TRACESYSGOOD 0x00000001 - #define PTRACE_O_TRACEFORK 0x00000002 -@@ -85,8 +85,8 @@ - - #if defined(__arm__) || defined(__aarch64__) - #if !defined(PTRACE_GETVFPREGS) --#define PTRACE_GETVFPREGS (enum __ptrace_request)27 --#define PTRACE_SETVFPREGS (enum __ptrace_request)28 -+#define PTRACE_GETVFPREGS 27 -+#define PTRACE_SETVFPREGS 28 - #endif - #endif - -@@ -483,7 +483,7 @@ static const char * get_ptrace_cmd_name(int cmd) { - static int do_single_step(Context * ctx) { - uint32_t is_cont = 0; - ContextExtensionLinux * ext = EXT(ctx); -- enum __ptrace_request cmd = PTRACE_SINGLESTEP; -+ int cmd = PTRACE_SINGLESTEP; - - assert(!ext->pending_step); - -@@ -540,9 +540,9 @@ int context_continue(Context * ctx) { - int signal = 0; - ContextExtensionLinux * ext = EXT(ctx); - #if USE_PTRACE_SYSCALL -- enum __ptrace_request cmd = PTRACE_SYSCALL; -+ int cmd = PTRACE_SYSCALL; - #else -- enum __ptrace_request cmd = PTRACE_CONT; -+ int cmd = PTRACE_CONT; - #endif - - assert(is_dispatch_thread()); --- -2.15.1 - diff --git a/bsp/buildroot/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch b/bsp/buildroot/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch deleted file mode 100644 index 8532307d..00000000 --- a/bsp/buildroot/package/tcf-agent/0003-linux-provide-canonicalize_file_name-for-all-c-libs-.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1323aa4459004b9817f0cfbf4b59c31480d527cf Mon Sep 17 00:00:00 2001 -From: Norbert Lange -Date: Fri, 1 Dec 2017 13:34:08 +0100 -Subject: [PATCH] linux: provide canonicalize_file_name for all c libs except - glibc - -musl was not covered so far, and this library does not define a -macro for detection. -unless glibc is detected, a canonicalize_file_name implementation -will be provided. - -Signed-off-by: Norbert Lange ---- - agent/tcf/framework/mdep.c | 2 +- - agent/tcf/framework/mdep.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/agent/tcf/framework/mdep.c b/agent/tcf/framework/mdep.c -index 8aee811f..d38036be 100644 ---- a/agent/tcf/framework/mdep.c -+++ b/agent/tcf/framework/mdep.c -@@ -1097,7 +1097,7 @@ char * canonicalize_file_name(const char * path) { - return strdup(res); - } - --#elif defined(__UCLIBC__) -+#elif defined(__UCLIBC__) || !defined(__GLIBC_) - - char * canonicalize_file_name(const char * path) { - return realpath(path, NULL); -diff --git a/agent/tcf/framework/mdep.h b/agent/tcf/framework/mdep.h -index f90f03f2..3e331383 100644 ---- a/agent/tcf/framework/mdep.h -+++ b/agent/tcf/framework/mdep.h -@@ -292,7 +292,7 @@ extern int loc_clock_gettime(int, struct timespec *); - - #define O_BINARY 0 - --#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__sun__) -+#if (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) || defined(__sun__)) | !defined (__GLIBC__) - # define O_LARGEFILE 0 - extern char ** environ; - extern char * canonicalize_file_name(const char * path); --- -2.15.1 - diff --git a/bsp/buildroot/package/tcf-agent/Config.in b/bsp/buildroot/package/tcf-agent/Config.in index 9cd28310..50e58642 100644 --- a/bsp/buildroot/package/tcf-agent/Config.in +++ b/bsp/buildroot/package/tcf-agent/Config.in @@ -28,9 +28,8 @@ config BR2_PACKAGE_TCF_AGENT_ARCH default "i386" if BR2_i386 && !BR2_ARCH="i686" default "x86_64" if BR2_x86_64 default "powerpc" if BR2_powerpc || BR2_powerpcle -# those architectures fail to build currently -# default "ppc64" if BR2_powerpc64 || BR2_powerpc64le -# default "microblaze" if BR2_microblaze || BR2_microblazeel + default "ppc64" if BR2_powerpc64 || BR2_powerpc64le + default "microblaze" if BR2_microblaze || BR2_microblazeel config BR2_PACKAGE_TCF_AGENT_ARCH_SUPPORTS bool diff --git a/bsp/buildroot/package/tcf-agent/S55tcf-agent b/bsp/buildroot/package/tcf-agent/S55tcf-agent old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/tcf-agent/tcf-agent.hash b/bsp/buildroot/package/tcf-agent/tcf-agent.hash index d46d5206..3ff4d9a5 100644 --- a/bsp/buildroot/package/tcf-agent/tcf-agent.hash +++ b/bsp/buildroot/package/tcf-agent/tcf-agent.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 94e9277a52929791417d59b515235bf28ca29ffb05c9e89ad331ebc3256fb5df org.eclipse.tcf.agent-1.6.0.tar.gz +sha256 2f8c7be8a0bf7c86c72fd5680bc19a9e8f98792d40c94a0fee30ceb6428b8f33 org.eclipse.tcf.agent-1.7.0.tar.gz # Hash for license files: sha256 f82d01b74a513bd3504d08136026a5ac2a7e6ff62ebcde391fa74aa222d11ce0 agent/edl-v10.html diff --git a/bsp/buildroot/package/tcf-agent/tcf-agent.mk b/bsp/buildroot/package/tcf-agent/tcf-agent.mk index 7b615d31..5a0a991b 100644 --- a/bsp/buildroot/package/tcf-agent/tcf-agent.mk +++ b/bsp/buildroot/package/tcf-agent/tcf-agent.mk @@ -4,7 +4,7 @@ # ################################################################################ -TCF_AGENT_VERSION = 1.6.0 +TCF_AGENT_VERSION = 1.7.0 # the tar.xz link was broken the time this file got authored TCF_AGENT_SOURCE = org.eclipse.tcf.agent-$(TCF_AGENT_VERSION).tar.gz TCF_AGENT_SITE = http://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git/snapshot diff --git a/bsp/buildroot/package/tcpreplay/tcpreplay.hash b/bsp/buildroot/package/tcpreplay/tcpreplay.hash index b033d3c3..31b3d3eb 100644 --- a/bsp/buildroot/package/tcpreplay/tcpreplay.hash +++ b/bsp/buildroot/package/tcpreplay/tcpreplay.hash @@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature -sha256 043756c532dab93e2be33a517ef46b1341f7239278a1045ae670041dd8a4531d tcpreplay-4.2.6.tar.gz +# https://github.com/appneta/tcpreplay/releases/download/v4.3.1/tcpreplay-4.3.1.tar.xz.asc +# using key 84E4FA215C934A7D97DC76D5E9E2149793BDE17E +sha256 108924a25e616e3465139410c49cae629c338df73443dfc8fc155ea9f099c659 tcpreplay-4.3.1.tar.xz +sha256 5971b0c544622f4b210a9cc56436a970685d3b0666e373c09e3cf9304db15d05 docs/LICENSE diff --git a/bsp/buildroot/package/tcpreplay/tcpreplay.mk b/bsp/buildroot/package/tcpreplay/tcpreplay.mk index adccde0e..71e57d5b 100644 --- a/bsp/buildroot/package/tcpreplay/tcpreplay.mk +++ b/bsp/buildroot/package/tcpreplay/tcpreplay.mk @@ -4,24 +4,20 @@ # ################################################################################ -TCPREPLAY_VERSION = 4.2.6 +TCPREPLAY_VERSION = 4.3.1 TCPREPLAY_SITE = https://github.com/appneta/tcpreplay/releases/download/v$(TCPREPLAY_VERSION) +TCPREPLAY_SOURCE = tcpreplay-4.3.1.tar.xz TCPREPLAY_LICENSE = GPL-3.0 TCPREPLAY_LICENSE_FILES = docs/LICENSE TCPREPLAY_CONF_ENV = \ - tr_cv_libpcap_version=">= 0.7.0" \ - ac_cv_have_bpf=no \ - $(call AUTOCONF_AC_CHECK_FILE_VAL,$(STAGING_DIR)/usr/include/pcap-netmap.c)=no -TCPREPLAY_CONF_OPTS = --with-libpcap=$(STAGING_DIR)/usr + ac_cv_path_ac_pt_PCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config" +TCPREPLAY_CONF_OPTS = --with-libpcap=$(STAGING_DIR)/usr \ + --enable-pcapconfig TCPREPLAY_DEPENDENCIES = libpcap -# libpcap may depend on symbols in other libs -TCPREPLAY_LIBS = $(STAGING_DIR)/usr/bin/pcap-config --static --libs -TCPREPLAY_CONF_ENV += ac_cv_search_pcap_close="`$(TCPREPLAY_LIBS)`" \ - LIBS="`$(TCPREPLAY_LIBS)`" - ifeq ($(BR2_STATIC_LIBS),y) TCPREPLAY_CONF_OPTS += --enable-dynamic-link=no +TCPREPLAY_CONF_ENV += LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --libs`" endif ifeq ($(BR2_PACKAGE_TCPDUMP),y) diff --git a/bsp/buildroot/package/tekui/tekui.mk b/bsp/buildroot/package/tekui/tekui.mk index f9ae8490..3f390725 100644 --- a/bsp/buildroot/package/tekui/tekui.mk +++ b/bsp/buildroot/package/tekui/tekui.mk @@ -11,6 +11,9 @@ TEKUI_LICENSE = MIT TEKUI_LICENSE_FILES = COPYRIGHT TEKUI_DEPENDENCIES = freetype luainterpreter +# Package does not build in parallel due to improper make rules +TEKUI_MAKE = $(MAKE1) + TEKUI_MAKE_OPTS = \ CC="$(TARGET_CC) -fPIC" \ AR="$(TARGET_AR) rcu" \ diff --git a/bsp/buildroot/package/terminology/terminology.hash b/bsp/buildroot/package/terminology/terminology.hash index 81ae5d8d..1e0a85cd 100644 --- a/bsp/buildroot/package/terminology/terminology.hash +++ b/bsp/buildroot/package/terminology/terminology.hash @@ -1,2 +1,3 @@ -# From https://sourceforge.net/p/enlightenment/mailman/message/36026490/ -sha256 da12b8a24ca5248b2d292d9b1e19cabc61ae29b21f96d4b6f4f3e7b4feeecc16 terminology-1.1.1.tar.xz +# From https://sourceforge.net/p/enlightenment/mailman/message/36497308/ +sha256 b5171181da42cc5f384238f71e43302c2c760938f6a8ab931647ccdad4ef94cd terminology-1.3.2.tar.xz +sha256 605988548c7a52562d6f64d936a579b53f690e62ca92261b6a440bf9023ff521 COPYING diff --git a/bsp/buildroot/package/terminology/terminology.mk b/bsp/buildroot/package/terminology/terminology.mk index ed811b3a..c53f6829 100644 --- a/bsp/buildroot/package/terminology/terminology.mk +++ b/bsp/buildroot/package/terminology/terminology.mk @@ -4,13 +4,19 @@ # ################################################################################ -TERMINOLOGY_VERSION = 1.1.1 +TERMINOLOGY_VERSION = 1.3.2 TERMINOLOGY_SOURCE = terminology-$(TERMINOLOGY_VERSION).tar.xz TERMINOLOGY_SITE = https://download.enlightenment.org/rel/apps/terminology TERMINOLOGY_LICENSE = BSD-2-Clause TERMINOLOGY_LICENSE_FILES = COPYING -TERMINOLOGY_DEPENDENCIES = efl host-pkgconf -TERMINOLOGY_CONF_OPTS = --with-edje-cc=$(HOST_DIR)/bin/edje_cc +TERMINOLOGY_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) efl host-pkgconf +TERMINOLOGY_CONF_OPTS = -Dedje-cc=$(HOST_DIR)/bin/edje_cc -$(eval $(autotools-package)) +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) +TERMINOLOGY_CONF_OPTS += -Dnls=true +else +TERMINOLOGY_CONF_OPTS += -Dnls=false +endif + +$(eval $(meson-package)) diff --git a/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.hash b/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.hash index 9bb5b522..d9537588 100644 --- a/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.hash +++ b/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.hash @@ -1,8 +1,9 @@ # locally computed -sha256 3fe83e06d0f73b39f6e92ed9fc7ccba3ef734877b76aa5ddaaa778fac095d996 tesseract-ocr-3.05.00.tar.gz -sha256 c0515c9f1e0c79e1069fcc05c2b2f6a6841fb5e1082d695db160333c1154f06d eng.traineddata -sha256 86afb23ad146467f263e8ade56fd3951b1cc28f8c4eebc34f993d3c02d88a7ab fra.traineddata -sha256 cb7eb42a7e972cec7ef904fe81825d7b547c46df684c814fdb11a930b13bca3a deu.traineddata -sha256 f23985996bbcfe2b57864ccb082783c1c74c87429f04411a04a6ba4d3da2efda spa.traineddata -sha256 323ae74d4a2ff49e932dbb4d6282fe0e67ddfafda075ec85803ecd077207454c chi_sim.traineddata -sha256 774d566bd0b36e4b6c07415dfa5b6b57feb2575b1f5f231d7fe01a52dac5dd0e chi_tra.traineddata +sha256 a1f5422ca49a32e5f35c54dee5112b11b99928fc9f4ee6695cdc6768d69f61dd tesseract-ocr-4.0.0.tar.gz +sha256 d770c1ac1235bc018530701da1ce453367f7952a3075d12b9029f81a26c05f13 COPYING +sha256 daa0c97d651c19fba3b25e81317cd697e9908c8208090c94c3905381c23fc047 eng.traineddata +sha256 eac01c1d72540d6090facb7b2f42dd0a2ee8fc57c5be1b20548ae668e2761913 fra.traineddata +sha256 896b3b4956503ab9daa10285db330881b2d74b70d889b79262cc534b9ec699a4 deu.traineddata +sha256 0b0fcbb4665189e01ab8019e591f014dd7260460de072543edd4b2cb4ede7c96 spa.traineddata +sha256 fc05d89ab31d8b4e226910f16a8bcbf78e43bae3e2580bb5feefd052efdab363 chi_sim.traineddata +sha256 559067dc0f7c94788884742129d66a0117dde7f4ff12b263d92147173497db14 chi_tra.traineddata diff --git a/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.mk b/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.mk index 9e315b23..74b34496 100644 --- a/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.mk +++ b/bsp/buildroot/package/tesseract-ocr/tesseract-ocr.mk @@ -4,8 +4,8 @@ # ################################################################################ -TESSERACT_OCR_VERSION = 3.05.00 -TESSERACT_OCR_DATA_VERSION = 3.04.00 +TESSERACT_OCR_VERSION = 4.0.0 +TESSERACT_OCR_DATA_VERSION = 4.0.0 TESSERACT_OCR_SITE = $(call github,tesseract-ocr,tesseract,$(TESSERACT_OCR_VERSION)) TESSERACT_OCR_LICENSE = Apache-2.0 TESSERACT_OCR_LICENSE_FILES = COPYING @@ -19,6 +19,7 @@ TESSERACT_OCR_AUTORECONF = YES TESSERACT_OCR_DEPENDENCIES = leptonica host-pkgconf TESSERACT_OCR_INSTALL_STAGING = YES TESSERACT_OCR_CONF_ENV = \ + ac_cv_prog_have_asciidoc=false \ LIBLEPT_HEADERSDIR=$(STAGING_DIR)/usr/include/leptonica TESSERACT_OCR_CONF_OPTS = \ --disable-opencl @@ -62,7 +63,7 @@ TESSERACT_OCR_PRE_CONFIGURE_HOOKS += TESSERACT_OCR_PRECONFIGURE # Language data files installation define TESSERACT_OCR_INSTALL_LANG_DATA $(foreach langfile,$(TESSERACT_OCR_DATA_FILES), \ - $(INSTALL) -D -m 0644 $(DL_DIR)/$(langfile) \ + $(INSTALL) -D -m 0644 $(TESSERACT_OCR_DL_DIR)/$(langfile) \ $(TARGET_DIR)/usr/share/tessdata/$(langfile) ) endef diff --git a/bsp/buildroot/package/tftpd/S80tftpd-hpa b/bsp/buildroot/package/tftpd/S80tftpd-hpa old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/tftpd/tftpd.mk b/bsp/buildroot/package/tftpd/tftpd.mk index 78df835a..c42456af 100644 --- a/bsp/buildroot/package/tftpd/tftpd.mk +++ b/bsp/buildroot/package/tftpd/tftpd.mk @@ -9,11 +9,6 @@ TFTPD_SOURCE = tftp-hpa-$(TFTPD_VERSION).tar.xz TFTPD_SITE = $(BR2_KERNEL_MIRROR)/software/network/tftp/tftp-hpa TFTPD_CONF_OPTS = --without-tcpwrappers -# Override BusyBox implementations if BusyBox is enabled. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -TFTPD_DEPENDENCIES += busybox -endif - define TFTPD_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/tftp/tftp $(TARGET_DIR)/usr/bin/tftp $(INSTALL) -D $(@D)/tftpd/tftpd $(TARGET_DIR)/usr/sbin/tftpd diff --git a/bsp/buildroot/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch b/bsp/buildroot/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch new file mode 100644 index 00000000..92c55d05 --- /dev/null +++ b/bsp/buildroot/package/thrift/0001-Force-to-keep-TPipedTransport-peek-to-avoid-linker-e.patch @@ -0,0 +1,31 @@ +From f87ae3963e651fe9f4b3125192c77aae86c007e0 Mon Sep 17 00:00:00 2001 +From: Patrick Havelange +Date: Mon, 21 Jan 2019 09:49:23 +0100 +Subject: [PATCH] Force to keep TPipedTransport::peek() to avoid linker error. + +Otherwise got the "defined in discarded section" linker error +with x86-64-musl toolchain. This is probably a toolchain issue - the +compiler shouldn't remove that function. + +Signed-off-by: Patrick Havelange +Upstream-status: Not Applicable +--- + lib/cpp/src/thrift/transport/TTransportUtils.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/cpp/src/thrift/transport/TTransportUtils.h b/lib/cpp/src/thrift/transport/TTransportUtils.h +index f3b4c5a..7589182 100644 +--- a/lib/cpp/src/thrift/transport/TTransportUtils.h ++++ b/lib/cpp/src/thrift/transport/TTransportUtils.h +@@ -114,7 +114,7 @@ public: + + bool isOpen() { return srcTrans_->isOpen(); } + +- bool peek() { ++ bool __attribute__ ((used)) peek() { + if (rPos_ >= rLen_) { + // Double the size of the underlying buffer if it is full + if (rLen_ == rBufSize_) { +-- +2.17.1 + diff --git a/bsp/buildroot/package/thrift/0001-libevent-cross.patch b/bsp/buildroot/package/thrift/0001-libevent-cross.patch deleted file mode 100644 index f07caa76..00000000 --- a/bsp/buildroot/package/thrift/0001-libevent-cross.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make it cross-compile happy the hard way, there's no clean way. - -Signed-off-by: Gustavo Zacarias - -diff -Nura thrift-0.9.1.orig/aclocal/ax_lib_event.m4 thrift-0.9.1/aclocal/ax_lib_event.m4 ---- thrift-0.9.1.orig/aclocal/ax_lib_event.m4 2013-08-15 11:04:29.000000000 -0300 -+++ thrift-0.9.1/aclocal/ax_lib_event.m4 2013-10-07 20:40:44.076435613 -0300 -@@ -75,7 +75,7 @@ - AC_LANG_PUSH([C]) - dnl This can be changed to AC_LINK_IFELSE if you are cross-compiling, - dnl but then the version cannot be checked. -- AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include - #include - ]], [[ diff --git a/bsp/buildroot/package/thrift/0002-autoreconf.patch b/bsp/buildroot/package/thrift/0002-autoreconf.patch deleted file mode 100644 index 1a52f7c7..00000000 --- a/bsp/buildroot/package/thrift/0002-autoreconf.patch +++ /dev/null @@ -1,28 +0,0 @@ -Fillers to make autoreconf (automake) happy. - -Signed-off-by: Gustavo Zacarias - -diff -Nura thrift-0.9.2.orig/AUTHORS thrift-0.9.2/AUTHORS ---- thrift-0.9.2.orig/AUTHORS 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/AUTHORS 2014-12-05 14:46:20.431211224 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura thrift-0.9.2.orig/ChangeLog thrift-0.9.2/ChangeLog ---- thrift-0.9.2.orig/ChangeLog 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/ChangeLog 2014-12-05 14:46:34.290686170 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura thrift-0.9.2.orig/NEWS thrift-0.9.2/NEWS ---- thrift-0.9.2.orig/NEWS 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/NEWS 2014-12-05 14:46:32.308618241 -0300 -@@ -0,0 +1,2 @@ -+ -+ -diff -Nura thrift-0.9.2.orig/README thrift-0.9.2/README ---- thrift-0.9.2.orig/README 1969-12-31 21:00:00.000000000 -0300 -+++ thrift-0.9.2/README 2014-12-05 14:46:28.305481028 -0300 -@@ -0,0 +1,2 @@ -+ -+ diff --git a/bsp/buildroot/package/thrift/0003-zlib-cross.patch b/bsp/buildroot/package/thrift/0003-zlib-cross.patch deleted file mode 100644 index 3af39c46..00000000 --- a/bsp/buildroot/package/thrift/0003-zlib-cross.patch +++ /dev/null @@ -1,16 +0,0 @@ -Make zlib version detection cross-compile happy. - -Signed-off-by: Gustavo Zacarias - -diff -Nura thrift-0.9.1.orig/aclocal/ax_lib_zlib.m4 thrift-0.9.1/aclocal/ax_lib_zlib.m4 ---- thrift-0.9.1.orig/aclocal/ax_lib_zlib.m4 2013-08-15 11:04:29.000000000 -0300 -+++ thrift-0.9.1/aclocal/ax_lib_zlib.m4 2013-10-07 20:47:44.523177973 -0300 -@@ -73,7 +73,7 @@ - # (defined in the library). - AC_LANG_PUSH([C]) - dnl This can be changed to AC_LINK_IFELSE if you are cross-compiling. -- AC_RUN_IFELSE([AC_LANG_PROGRAM([[ -+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ - #include - #if ZLIB_VERNUM >= 0x$WANT_ZLIB_VERSION - #else diff --git a/bsp/buildroot/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch b/bsp/buildroot/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch deleted file mode 100644 index ec2e2256..00000000 --- a/bsp/buildroot/package/thrift/0004-THRIFT-3071-check-minimum-required-version-of-automa.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9b03d2b02d32302008d2bd0218b31b9a0ca5a748 Mon Sep 17 00:00:00 2001 -From: Jens Geyer -Date: Fri, 3 Apr 2015 12:37:03 +0200 -Subject: [PATCH] THRIFT-3071 check minimum required version of automake in bootstrap.sh -Client: Build process -Patch: James E. King, III - -This closes #421 - -- remove a warning when using libtool - -"libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([./aclocal])' to configure.ac," - -[Romain: - - This is upstream commit 4aa95df383bfa13c46a4dc0b41672ec29d476300 - - remove the part for bootstrap.sh which is not - bundled in thrift archive. - - fix the commit log accordingly] - -Signed-off-by: Romain Naour ---- - configure.ac | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 5fa611e..8daeb03 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -18,6 +18,7 @@ - # - - AC_PREREQ(2.65) -+AC_CONFIG_MACRO_DIR([./aclocal]) - - AC_INIT([thrift], [0.9.2]) - -@@ -540,6 +541,7 @@ AC_CHECK_FUNCS([memset]) - AC_CHECK_FUNCS([mkdir]) - AC_CHECK_FUNCS([realpath]) - AC_CHECK_FUNCS([select]) -+AC_CHECK_FUNCS([setlocale]) - AC_CHECK_FUNCS([socket]) - AC_CHECK_FUNCS([strchr]) - AC_CHECK_FUNCS([strdup]) --- -1.9.3 - diff --git a/bsp/buildroot/package/thrift/0005-configure.ac-C-11-is-optional.patch b/bsp/buildroot/package/thrift/0005-configure.ac-C-11-is-optional.patch deleted file mode 100644 index 9ed7e0a6..00000000 --- a/bsp/buildroot/package/thrift/0005-configure.ac-C-11-is-optional.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 9c3a7e79b256730dd85a7acadbaf57ab018b3127 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 7 Apr 2015 07:37:26 +0200 -Subject: [PATCH] configure.ac: C++11 is optional - -Thrift build fine whitout c++11 support. - -Signed-off-by: Romain Naour ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 8daeb03..bfd49ae 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -99,7 +99,7 @@ AC_PROG_AWK - AC_PROG_RANLIB - - AC_LANG([C++]) --AX_CXX_COMPILE_STDCXX_11([noext]) -+AX_CXX_COMPILE_STDCXX_11([noext], [optional]) - - AC_ARG_ENABLE([libs], - AS_HELP_STRING([--enable-libs], [build the Apache Thrift libraries [default=yes]]), --- -1.9.3 - diff --git a/bsp/buildroot/package/thrift/thrift.hash b/bsp/buildroot/package/thrift/thrift.hash index 811aa988..7aca8b5a 100644 --- a/bsp/buildroot/package/thrift/thrift.hash +++ b/bsp/buildroot/package/thrift/thrift.hash @@ -1,2 +1,4 @@ -# From https://www.apache.org/dist/thrift/0.9.2/thrift-0.9.2.tar.gz.md5 -md5 89f63cc4d0100912f4a1f8a9dee63678 thrift-0.9.2.tar.gz +# From https://www.apache.org/dist/thrift/0.12.0/thrift-0.12.0.tar.gz.sha256 +sha256 c336099532b765a6815173f62df0ed897528a9d551837d627c1f87fadad90428 thrift-0.12.0.tar.gz +# License files, locally calculated +sha256 23df881cec3192d1f4474633c14eb2ec30a45b84f8daeb82b9de5d2bd3ac8218 LICENSE diff --git a/bsp/buildroot/package/thrift/thrift.mk b/bsp/buildroot/package/thrift/thrift.mk index 741d33f5..8a284229 100644 --- a/bsp/buildroot/package/thrift/thrift.mk +++ b/bsp/buildroot/package/thrift/thrift.mk @@ -4,75 +4,67 @@ # ################################################################################ -THRIFT_VERSION = 0.9.2 +THRIFT_VERSION = 0.12.0 THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION) -THRIFT_DEPENDENCIES = host-autoconf-archive host-pkgconf host-thrift boost \ - libevent openssl zlib -THRIFT_INSTALL_STAGING = YES -HOST_THRIFT_DEPENDENCIES = host-autoconf-archive host-bison host-boost \ - host-flex host-libevent host-openssl host-pkgconf host-zlib - -THRIFT_CONF_OPTS = --with-sysroot=$(STAGING_DIR) \ - --with-boost \ - --with-boost-libdir=$(STAGING_DIR)/usr/lib \ - --disable-tests \ - --disable-tutorial -HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \ - --disable-tests \ - --disable-tutorial -THRIFT_AUTORECONF = YES -THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/share/autoconf-archive THRIFT_LICENSE = Apache-2.0 THRIFT_LICENSE_FILES = LICENSE +THRIFT_DEPENDENCIES = host-pkgconf host-thrift boost \ + libevent openssl zlib +THRIFT_INSTALL_STAGING = YES +HOST_THRIFT_DEPENDENCIES = host-bison host-boost \ + host-flex host-libevent host-openssl host-pkgconf host-zlib + +THRIFT_COMMON_CONF_OPTS = -DBUILD_TUTORIALS=OFF \ + -DBUILD_TESTING=OFF \ + -DWITH_PYTHON=OFF \ + -DWITH_JAVA=OFF \ + -DWITH_QT5=OFF + +THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=OFF +HOST_THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=ON + # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) THRIFT_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mxgot" endif +# thrift doesn't use the regular flags BUILD_{STATIC,SHARED}_LIBS ifeq ($(BR2_STATIC_LIBS),y) # openssl uses zlib, so we need to explicitly link with it when static THRIFT_CONF_ENV += LIBS=-lz +THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=ON -DWITH_SHARED_LIB=OFF +else ifeq ($(BR2_SHARED_LIBS),y) +THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=OFF -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON +else +# BR2_SHARED_STATIC_LIBS +THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON endif -# Language selection -# The generator (host tool) works with all of them regardless -# This is just for the libraries / bindings -THRIFT_LANG_CONF_OPTS += --without-csharp --without-java --without-erlang \ - --without-python --without-perl --without-php --without-php_extension \ - --without-ruby --without-haskell --without-go --without-d \ - --without-qt4 --without-lua -HOST_THRIFT_CONF_OPTS += $(THRIFT_LANG_CONF_OPTS) --without-c_glib -THRIFT_CONF_OPTS += $(THRIFT_LANG_CONF_OPTS) +# Language selection for the compiler +HOST_THRIFT_CONF_OPTS += -DTHRIFT_COMPILER_CSHARP=OFF \ + -DTHRIFT_COMPILER_JAVA=OFF \ + -DTHRIFT_COMPILER_ERL=OFF \ + -DTHRIFT_COMPILER_PY=OFF \ + -DTHRIFT_COMPILER_PERL=OFF \ + -DTHRIFT_COMPILER_PHP=OFF \ + -DTHRIFT_COMPILER_RB=OFF \ + -DTHRIFT_COMPILER_HS=OFF \ + -DTHRIFT_COMPILER_GO=OFF \ + -DTHRIFT_COMPILER_D=OFF \ + -DTHRIFT_COMPILER_LUA=OFF \ + -DBUILD_C_GLIB=OFF # C bindings ifeq ($(BR2_PACKAGE_LIBGLIB2),y) THRIFT_DEPENDENCIES += libglib2 +THRIFT_CONF_OPTS += -DBUILD_C_GLIB=ON else -THRIFT_CONF_OPTS += --without-c_glib +THRIFT_CONF_OPTS += -DBUILD_C_GLIB=OFF endif -# De-hardcode THRIFT for cross compiling -define THRIFT_TOOL_NO_HARDCODE - for f in `find $(@D) -name Makefile.am -type f`; do \ - $(SED) "/^THRIFT =/d" $$f; \ - done - $(SED) "s:top_builddir)/compiler/cpp/thrift:THRIFT):" $(@D)/tutorial/Makefile.am -endef - -THRIFT_POST_PATCH_HOOKS += THRIFT_TOOL_NO_HARDCODE - -define THRIFT_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) THRIFT=$(HOST_DIR)/bin/thrift -C $(@D) -endef - -# Install runtime only -define THRIFT_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/lib DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) +$(eval $(cmake-package)) +$(eval $(host-cmake-package)) # to be used by other packages THRIFT = $(HOST_DIR)/bin/thrift diff --git a/bsp/buildroot/package/ti-cgt-pru/ti-cgt-pru.mk b/bsp/buildroot/package/ti-cgt-pru/ti-cgt-pru.mk index 0b9a64b3..3665d2ce 100644 --- a/bsp/buildroot/package/ti-cgt-pru/ti-cgt-pru.mk +++ b/bsp/buildroot/package/ti-cgt-pru/ti-cgt-pru.mk @@ -13,8 +13,8 @@ TI_CGT_PRU_LICENSE_FILES = PRU_Code_Generation_Tools_2.2.x_manifest.html \ pru_rts_2_2_0_82167478-F8C9-49b2-82BD-12F8550770F9.spdx define HOST_TI_CGT_PRU_EXTRACT_CMDS - chmod +x $(DL_DIR)/$(TI_CGT_PRU_SOURCE) - $(DL_DIR)/$(TI_CGT_PRU_SOURCE) --prefix $(@D) --mode unattended + chmod +x $(HOST_TI_CGT_PRU_DL_DIR)/$(TI_CGT_PRU_SOURCE) + $(HOST_TI_CGT_PRU_DL_DIR)/$(TI_CGT_PRU_SOURCE) --prefix $(@D) --mode unattended mv $(@D)/ti-cgt-pru_$(TI_CGT_PRU_VERSION)/* $(@D) rmdir $(@D)/ti-cgt-pru_$(TI_CGT_PRU_VERSION)/ endef diff --git a/bsp/buildroot/package/ti-gfx/ti-gfx.mk b/bsp/buildroot/package/ti-gfx/ti-gfx.mk index 428878a0..9fad5537 100644 --- a/bsp/buildroot/package/ti-gfx/ti-gfx.mk +++ b/bsp/buildroot/package/ti-gfx/ti-gfx.mk @@ -94,8 +94,8 @@ TI_GFX_HDR_DIRS = OGLES2/EGL OGLES2/EWS OGLES2/GLES2 OGLES2/KHR \ OGLES/GLES bufferclass_ti/ pvr2d/ wsegl/ define TI_GFX_EXTRACT_CMDS - chmod +x $(DL_DIR)/$(TI_GFX_SOURCE) - printf "Y\nY\n qY\n\n" | $(DL_DIR)/$(TI_GFX_SOURCE) \ + chmod +x $(TI_GFX_DL_DIR)/$(TI_GFX_SOURCE) + printf "Y\nY\n qY\n\n" | $(TI_GFX_DL_DIR)/$(TI_GFX_SOURCE) \ --prefix $(@D) \ --mode console endef diff --git a/bsp/buildroot/package/ti-sgx-km/Config.in b/bsp/buildroot/package/ti-sgx-km/Config.in index a4c9bb8c..348efdeb 100644 --- a/bsp/buildroot/package/ti-sgx-km/Config.in +++ b/bsp/buildroot/package/ti-sgx-km/Config.in @@ -20,26 +20,30 @@ if BR2_PACKAGE_TI_SGX_KM choice prompt "Target" - default BR2_PACKAGE_TI_SGX_AM335X + default BR2_PACKAGE_TI_SGX_KM_AM335X if BR2_PACKAGE_TI_SGX_AM335X # legacy + default BR2_PACKAGE_TI_SGX_KM_AM437X if BR2_PACKAGE_TI_SGX_AM437X # legacy + default BR2_PACKAGE_TI_SGX_KM_AM4430 if BR2_PACKAGE_TI_SGX_AM4430 # legacy + default BR2_PACKAGE_TI_SGX_KM_AM5430 if BR2_PACKAGE_TI_SGX_AM5430 # legacy + default BR2_PACKAGE_TI_SGX_KM_AM335X help Select the SOC for which you would like to install drivers. -config BR2_PACKAGE_TI_SGX_AM335X +config BR2_PACKAGE_TI_SGX_KM_AM335X bool "AM335x" help AM335x CPU -config BR2_PACKAGE_TI_SGX_AM437X +config BR2_PACKAGE_TI_SGX_KM_AM437X bool "AM437x" help AM437x CPU -config BR2_PACKAGE_TI_SGX_AM4430 +config BR2_PACKAGE_TI_SGX_KM_AM4430 bool "AM4430" help AM4430 CPU -config BR2_PACKAGE_TI_SGX_AM5430 +config BR2_PACKAGE_TI_SGX_KM_AM5430 bool "AM5430" help AM5430 CPU diff --git a/bsp/buildroot/package/ti-sgx-km/ti-sgx-km.mk b/bsp/buildroot/package/ti-sgx-km/ti-sgx-km.mk index db74da9b..0e1bc339 100644 --- a/bsp/buildroot/package/ti-sgx-km/ti-sgx-km.mk +++ b/bsp/buildroot/package/ti-sgx-km/ti-sgx-km.mk @@ -17,13 +17,13 @@ TI_SGX_KM_MAKE_OPTS = \ KERNELDIR=$(LINUX_DIR) \ PVR_NULLDRM=1 -ifeq ($(BR2_PACKAGE_TI_SGX_AM335X),y) +ifeq ($(BR2_PACKAGE_TI_SGX_KM_AM335X),y) TI_SGX_KM_PLATFORM_NAME = omap335x -else ifeq ($(BR2_PACKAGE_TI_SGX_AM437X),y) +else ifeq ($(BR2_PACKAGE_TI_SGX_KM_AM437X),y) TI_SGX_KM_PLATFORM_NAME = omap437x -else ifeq ($(BR2_PACKAGE_TI_SGX_AM4430),y) +else ifeq ($(BR2_PACKAGE_TI_SGX_KM_AM4430),y) TI_SGX_KM_PLATFORM_NAME = omap4430 -else ifeq ($(BR2_PACKAGE_TI_SGX_5430),y) +else ifeq ($(BR2_PACKAGE_TI_SGX_KM_5430),y) TI_SGX_KM_PLATFORM_NAME = omap5430 endif diff --git a/bsp/buildroot/package/tidsp-binaries/Config.in b/bsp/buildroot/package/tidsp-binaries/Config.in deleted file mode 100644 index 48f85a5d..00000000 --- a/bsp/buildroot/package/tidsp-binaries/Config.in +++ /dev/null @@ -1,7 +0,0 @@ -config BR2_PACKAGE_TIDSP_BINARIES - bool "tidsp-binaries" - depends on BR2_cortex_a8 - help - TI OMAP3 DSP algorithms. - - https://gforge.ti.com/gf/project/openmax/ diff --git a/bsp/buildroot/package/tidsp-binaries/tidsp-binaries.hash b/bsp/buildroot/package/tidsp-binaries/tidsp-binaries.hash deleted file mode 100644 index 6649c76c..00000000 --- a/bsp/buildroot/package/tidsp-binaries/tidsp-binaries.hash +++ /dev/null @@ -1,2 +0,0 @@ -# locally computed -sha256 c56e5edd53c921768a033906426329279ca8ae6537c5d735c42b948e9778b05c tidsp-binaries-23.i3.8.tar.gz diff --git a/bsp/buildroot/package/tidsp-binaries/tidsp-binaries.mk b/bsp/buildroot/package/tidsp-binaries/tidsp-binaries.mk deleted file mode 100644 index 9736bc72..00000000 --- a/bsp/buildroot/package/tidsp-binaries/tidsp-binaries.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# tidsp-binaries -# -################################################################################ - -TIDSP_BINARIES_VERSION = 23.i3.8 -TIDSP_BINARIES_SITE = http://gst-dsp.googlecode.com/files -TIDSP_BINARIES_LICENSE = TI Proprietary License -TIDSP_BINARIES_LICENSE_FILES = LICENSE - -define TIDSP_BINARIES_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) -e DESTDIR=$(TARGET_DIR) install -endef - -$(eval $(generic-package)) diff --git a/bsp/buildroot/package/time/time.hash b/bsp/buildroot/package/time/time.hash index 7d395bfb..b843534a 100644 --- a/bsp/buildroot/package/time/time.hash +++ b/bsp/buildroot/package/time/time.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8a2f540155961a35ba9b84aec5e77e3ae36c74cecb4484db455960601b7a2e1b time-1.8.tar.gz +sha256 fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e time-1.9.tar.gz sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/time/time.mk b/bsp/buildroot/package/time/time.mk index c238ee6e..400eca0d 100644 --- a/bsp/buildroot/package/time/time.mk +++ b/bsp/buildroot/package/time/time.mk @@ -4,16 +4,10 @@ # ################################################################################ -TIME_VERSION = 1.8 +TIME_VERSION = 1.9 TIME_SITE = $(BR2_GNU_MIRROR)/time -TIME_CONF_ENV = ac_cv_func_wait3=yes +TIME_CONF_ENV = ac_cv_func_wait3_rusage=yes TIME_LICENSE = GPL-3.0+ TIME_LICENSE_FILES = COPYING -# time uses an old version of automake that does not support -# installing in DESTDIR. -define TIME_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 755 $(@D)/time $(TARGET_DIR)/usr/bin/time -endef - $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tini/Config.in b/bsp/buildroot/package/tini/Config.in new file mode 100644 index 00000000..719e1e1f --- /dev/null +++ b/bsp/buildroot/package/tini/Config.in @@ -0,0 +1,17 @@ +config BR2_PACKAGE_TINI + bool "tini" + depends on BR2_USE_MMU # fork() + help + tini is a simple but valid init binary to + act as PID 1 for containers. + + https://github.com/krallin/tini + +if BR2_PACKAGE_TINI + +config BR2_PACKAGE_TINI_MINIMAL + bool "build minimal variant" + help + Disables argument parsing and verbose output. + +endif diff --git a/bsp/buildroot/package/tini/tini.hash b/bsp/buildroot/package/tini/tini.hash new file mode 100644 index 00000000..34f919f0 --- /dev/null +++ b/bsp/buildroot/package/tini/tini.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 e5f46bca81266bdd511cf08018d66866870531794569c04f9b45f50dd23c28b0 LICENSE +sha256 1097675352d6317b547e73f9dc7c6839fd0bb0d96dafc2e5c95506bb324049a2 tini-v0.18.0.tar.gz diff --git a/bsp/buildroot/package/tini/tini.mk b/bsp/buildroot/package/tini/tini.mk new file mode 100644 index 00000000..132bfc99 --- /dev/null +++ b/bsp/buildroot/package/tini/tini.mk @@ -0,0 +1,35 @@ +################################################################################ +# +# tini +# +################################################################################ + +TINI_VERSION = v0.18.0 +TINI_SITE = $(call github,krallin,tini,$(TINI_VERSION)) +TINI_LICENSE = MIT +TINI_LICENSE_FILES = LICENSE + +TINI_CFLAGS = $(TARGET_CFLAGS) \ + -DTINI_VERSION=\"$(TINI_VERSION)\" \ + -DTINI_GIT=\"\" + +ifeq ($(BR2_PACKAGE_TINI_MINIMAL),y) +TINI_CFLAGS += -DTINI_MINIMAL +endif + +define TINI_CONFIGURE_CMDS + printf "#pragma once\n" > $(@D)/src/tiniConfig.h +endef + +define TINI_BUILD_CMDS + mkdir -p $(@D)/bin + $(TARGET_CC) $(TINI_CFLAGS) \ + -o $(@D)/bin/tini $(@D)/src/tini.c +endef + +define TINI_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/bin/tini $(TARGET_DIR)/usr/bin/tini +endef + +# Tini's CMakeLists.txt is not suitable for Buildroot. +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch b/bsp/buildroot/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch new file mode 100644 index 00000000..0547758b --- /dev/null +++ b/bsp/buildroot/package/tinycbor/0001-fix-undefined-encode_half-in-json2cbor.patch @@ -0,0 +1,44 @@ +From 77325101e41c149507c071c64a8dc9a21bf469d6 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 20 Sep 2018 19:23:54 +0200 +Subject: [PATCH] fix undefined encode_half in json2cbor + +encode_half has been moved from compilersupport_p.h to cborinternal_p.h +in commit bfc40dcf909f1998d7760c2bc0e1409979d3c8cb so include this file +in json2cbor to avoid the following build failure: + +/home/buildroot/autobuild/run/instance-0/output/host/bin/microblazeel-linux-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./src -std=gnu99 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -c -o tools/json2cbor/json2cbor.o tools/json2cbor/json2cbor.c +tools/json2cbor/json2cbor.c: In function 'decode_json_with_metadata': +tools/json2cbor/json2cbor.c:295:50: warning: implicit declaration of function 'encode_half' [-Wimplicit-function-declaration] + (half = encode_half(v), cbor_encode_half_float(encoder, &half)); + ^~~~~~~~~~~ +/home/buildroot/autobuild/run/instance-0/output/host/bin/microblazeel-linux-gcc -o bin/json2cbor tools/json2cbor/json2cbor.o lib/libtinycbor.so -lcjson -lm +tools/json2cbor/json2cbor.o: In function `decode_json_with_metadata': +(.text+0xe54): undefined reference to `encode_half' +collect2: error: ld returned 1 exit status +Makefile:151: recipe for target 'bin/json2cbor' failed + +Fixes: + - http://autobuild.buildroot.net/results/afd8d24f2a4e501264abff618cf421d4bd088ebf + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/intel/tinycbor/pull/139] +--- + tools/json2cbor/json2cbor.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/json2cbor/json2cbor.c b/tools/json2cbor/json2cbor.c +index 008a7de..c13a751 100644 +--- a/tools/json2cbor/json2cbor.c ++++ b/tools/json2cbor/json2cbor.c +@@ -25,6 +25,7 @@ + #define _POSIX_C_SOURCE 200809L + #define _GNU_SOURCE + #include "cbor.h" ++#include "cborinternal_p.h" + #include "compilersupport_p.h" + + #include +-- +2.17.1 + diff --git a/bsp/buildroot/package/tinycbor/tinycbor.hash b/bsp/buildroot/package/tinycbor/tinycbor.hash index affc7a6e..6a7282dc 100644 --- a/bsp/buildroot/package/tinycbor/tinycbor.hash +++ b/bsp/buildroot/package/tinycbor/tinycbor.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 37a06c618ccddd7edc3747277425fcd38fa71eab37c7aaf0b03818a49950da81 tinycbor-v0.4.2.tar.gz +sha256 dfa2a4550eb145a5f62ffff39e36accf2704987922c194e8e845124175c00441 tinycbor-v0.5.2.tar.gz sha256 3c6ba0b5bfa7830505301ffb336a17b0748e0d61c4d34216e9dc98f10e40395e LICENSE diff --git a/bsp/buildroot/package/tinycbor/tinycbor.mk b/bsp/buildroot/package/tinycbor/tinycbor.mk index b1848b56..40a828d5 100644 --- a/bsp/buildroot/package/tinycbor/tinycbor.mk +++ b/bsp/buildroot/package/tinycbor/tinycbor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINYCBOR_VERSION = v0.4.2 +TINYCBOR_VERSION = v0.5.2 TINYCBOR_SITE = $(call github,intel,tinycbor,$(TINYCBOR_VERSION)) TINYCBOR_LICENSE = MIT TINYCBOR_LICENSE_FILES = LICENSE @@ -18,6 +18,14 @@ endif TINYCBOR_MAKE_OPTS = $(TARGET_CONFIGURE_OPTS) V=1 +ifeq ($(BR2_STATIC_LIBS),y) +TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=0 +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +TINYCBOR_MAKE_OPTS += BUILD_STATIC=1 BUILD_SHARED=1 +else ifeq ($(BR2_SHARED_LIBS),y) +TINYCBOR_MAKE_OPTS += BUILD_STATIC=0 BUILD_SHARED=1 +endif + # disabled parallel build because of build failures while # producing the .config file define TINYCBOR_BUILD_CMDS diff --git a/bsp/buildroot/package/tinyhttpd/S85tinyhttpd b/bsp/buildroot/package/tinyhttpd/S85tinyhttpd old mode 100755 new mode 100644 index fb512a03..f3f1de69 --- a/bsp/buildroot/package/tinyhttpd/S85tinyhttpd +++ b/bsp/buildroot/package/tinyhttpd/S85tinyhttpd @@ -3,7 +3,6 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=tinyhttpd -test -x /usr/sbin/$NAME || exit 0 mkdir -p /var/www case "$1" in diff --git a/bsp/buildroot/package/tinymembench/tinymembench.hash b/bsp/buildroot/package/tinymembench/tinymembench.hash index 813a1df4..59ca70dc 100644 --- a/bsp/buildroot/package/tinymembench/tinymembench.hash +++ b/bsp/buildroot/package/tinymembench/tinymembench.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e8cfcf0817eb8430f736426bc7557273765cef0e8002a17cca51645114e723b7 tinymembench-v0.3.tar.gz +sha256 e37a2682065b2778f2fa7f22bd59472f5ca2191be48503952ae020b8f023f23d tinymembench-v0.4.tar.gz +sha256 8ba473aced4630aee2808efe17b53e904a9d68a9b3361de491717f9a4e75da39 LICENSE diff --git a/bsp/buildroot/package/tinymembench/tinymembench.mk b/bsp/buildroot/package/tinymembench/tinymembench.mk index ab479d64..b2ccc749 100644 --- a/bsp/buildroot/package/tinymembench/tinymembench.mk +++ b/bsp/buildroot/package/tinymembench/tinymembench.mk @@ -4,10 +4,10 @@ # ################################################################################ -TINYMEMBENCH_VERSION = v0.3 +TINYMEMBENCH_VERSION = v0.4 TINYMEMBENCH_SITE = $(call github,ssvb,tinymembench,$(TINYMEMBENCH_VERSION)) TINYMEMBENCH_LICENSE = MIT -TINYMEMBENCH_LICENSE_FILES = main.c +TINYMEMBENCH_LICENSE_FILES = LICENSE define TINYMEMBENCH_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) diff --git a/bsp/buildroot/package/tinyxml2/tinyxml2.hash b/bsp/buildroot/package/tinyxml2/tinyxml2.hash index e5e4d238..5f385464 100644 --- a/bsp/buildroot/package/tinyxml2/tinyxml2.hash +++ b/bsp/buildroot/package/tinyxml2/tinyxml2.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 14b38ef25cc136d71339ceeafb4856bb638d486614103453eccd323849267f20 tinyxml2-4.0.1.tar.gz +sha256 cdf0c2179ae7a7931dba52463741cf59024198bbf9673bf08415bcb46344110f tinyxml2-6.2.0.tar.gz +sha256 8b2ab0b6ffb86798a2512f45fcf50a3b04b3516782d2e3fb30ebf55dc18c7cce readme.md diff --git a/bsp/buildroot/package/tinyxml2/tinyxml2.mk b/bsp/buildroot/package/tinyxml2/tinyxml2.mk index e289ca9c..9439c5cb 100644 --- a/bsp/buildroot/package/tinyxml2/tinyxml2.mk +++ b/bsp/buildroot/package/tinyxml2/tinyxml2.mk @@ -4,7 +4,7 @@ # ################################################################################ -TINYXML2_VERSION = 4.0.1 +TINYXML2_VERSION = 6.2.0 TINYXML2_SITE = $(call github,leethomason,tinyxml2,$(TINYXML2_VERSION)) TINYXML2_LICENSE = Zlib TINYXML2_LICENSE_FILES = readme.md diff --git a/bsp/buildroot/package/tk/Config.in b/bsp/buildroot/package/tk/Config.in new file mode 100644 index 00000000..507b0bf9 --- /dev/null +++ b/bsp/buildroot/package/tk/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_TK + bool "tk" + depends on BR2_USE_MMU # tcl + depends on BR2_TOOLCHAIN_HAS_THREADS # tcl + depends on !BR2_STATIC_LIBS # tcl + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_TCL + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXFT + help + A windowing toolkit for use with tcl + + http://www.tcl.tk + +comment "tk needs a toolchain w/ threads, dynamic library" + depends on BR2_USE_MMU + depends on BR2_PACKAGE_XORG7 + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/tk/tk.hash b/bsp/buildroot/package/tk/tk.hash new file mode 100644 index 00000000..5fc0b6fc --- /dev/null +++ b/bsp/buildroot/package/tk/tk.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d62c371a71b4744ed830e3c21d27968c31dba74dd2c45f36b9b071e6d88eb19d tk8.6.6-src.tar.gz +sha256 2cde822b93ca16ae535c954b7dfe658b4ad10df2a193628d1b358f1765e8b198 license.terms diff --git a/bsp/buildroot/package/tk/tk.mk b/bsp/buildroot/package/tk/tk.mk new file mode 100644 index 00000000..102d3685 --- /dev/null +++ b/bsp/buildroot/package/tk/tk.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# tk +# +################################################################################ + +TK_VERSION_MAJOR = 8.6 +TK_VERSION = $(TK_VERSION_MAJOR).6 +TK_SOURCE = tk$(TK_VERSION)-src.tar.gz +TK_SITE = http://downloads.sourceforge.net/project/tcl/Tcl/$(TK_VERSION) +TK_LICENSE = TCL +TK_LICENSE_FILES = license.terms +TK_SUBDIR = unix +TK_INSTALL_STAGING = YES + +TK_DEPENDENCIES = tcl xlib_libX11 xlib_libXft + +# hopefully our strtod is not buggy +TK_CONF_ENV = tcl_cv_strtod_buggy=no + +TK_CONF_OPTS = --disable-rpath \ + --with-tcl=$(BUILD_DIR)/tcl-$(TCL_VERSION)/unix \ + --x-includes=$(STAGING_DIR)/usr/include \ + --x-libraries=$(STAGING_DIR)/usr/lib + +define TK_WISH_SYMLINK + ln -sf /usr/bin/wish$(TK_VERSION_MAJOR) $(TARGET_DIR)/usr/bin/wish +endef +TK_POST_INSTALL_TARGET_HOOKS += TK_WISH_SYMLINK + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tmux/tmux.hash b/bsp/buildroot/package/tmux/tmux.hash index 752bbb45..306dc52c 100644 --- a/bsp/buildroot/package/tmux/tmux.hash +++ b/bsp/buildroot/package/tmux/tmux.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 b17cd170a94d7b58c0698752e1f4f263ab6dc47425230df7e53a6435cc7cd7e8 tmux-2.6.tar.gz -sha256 94e2b1feb1202d3308cc7ab7ec42278d24f10562394bdf269f44649327c8198f README +sha256 7f6bf335634fafecff878d78de389562ea7f73a7367f268b66d37ea13617a2ba tmux-2.8.tar.gz +sha256 ce75f1345a76c93bd0f413d1b93ff1baa0669f34a7242779a00c1b862b4f813a COPYING diff --git a/bsp/buildroot/package/tmux/tmux.mk b/bsp/buildroot/package/tmux/tmux.mk index 6e03d01a..8b7a96e8 100644 --- a/bsp/buildroot/package/tmux/tmux.mk +++ b/bsp/buildroot/package/tmux/tmux.mk @@ -4,10 +4,18 @@ # ################################################################################ -TMUX_VERSION = 2.6 +TMUX_VERSION = 2.8 TMUX_SITE = https://github.com/tmux/tmux/releases/download/$(TMUX_VERSION) TMUX_LICENSE = ISC -TMUX_LICENSE_FILES = README +TMUX_LICENSE_FILES = COPYING TMUX_DEPENDENCIES = libevent ncurses host-pkgconf +# Add /usr/bin/tmux to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define TMUX_ADD_TMUX_TO_SHELLS + grep -qsE '^/usr/bin/tmux$$' $(TARGET_DIR)/etc/shells \ + || echo "/usr/bin/tmux" >> $(TARGET_DIR)/etc/shells +endef +TMUX_TARGET_FINALIZE_HOOKS += TMUX_ADD_TMUX_TO_SHELLS + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tn5250/0001-ssldir.patch b/bsp/buildroot/package/tn5250/0001-ssldir.patch deleted file mode 100644 index 6fc78dee..00000000 --- a/bsp/buildroot/package/tn5250/0001-ssldir.patch +++ /dev/null @@ -1,17 +0,0 @@ -Value is assigned to $with_ssl_dir but used from $with_ssl which is wrong. -Fix configure since it's a one-liner and avoid an autoreconf. - -Signed-off-by: Gustavo Zacarias - -diff -Nura tn5250-0.17.4.orig/configure tn5250-0.17.4/configure ---- tn5250-0.17.4.orig/configure 2014-09-10 08:33:15.689519554 -0300 -+++ tn5250-0.17.4/configure 2014-09-10 08:33:47.428613117 -0300 -@@ -23258,7 +23258,7 @@ - if test "${with_ssl_dir+set}" = set; then - withval=$with_ssl_dir; - if test "$with_ssl_dir" != "no"; then -- checksslinclude "$with_ssl" -+ checksslinclude "$with_ssl_dir" - else - for topdir in /usr/local /usr /usr/pkg /usr/lib /var/ssl /opt; do - for subdir in $topdir $topdir/openssl $topdir/ssl; do diff --git a/bsp/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch b/bsp/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch deleted file mode 100644 index 67f0fa63..00000000 --- a/bsp/buildroot/package/tn5250/0002-Allow-building-against-OpenSSL-without-SSLv2_SSLv3.patch +++ /dev/null @@ -1,32 +0,0 @@ -$OpenBSD: patch-lib5250_sslstream_c,v 1.1 2015/10/07 16:09:04 jca Exp $ - -Allow building against OpenSSL without SSLv2/SSLv3 support. - -Download from: -http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/tn5250/patches/patch-lib5250_sslstream_c - -Signed-off-by: Peter Korsgaard ---- a/lib5250/sslstream.c.orig Fri Nov 21 09:12:21 2008 -+++ b/lib5250/sslstream.c Tue Oct 6 21:32:29 2015 -@@ -368,13 +368,19 @@ int tn5250_ssl_stream_init (Tn5250Stream *This) - methstr[4] = '\0'; - } - -+#ifndef OPENSSL_NO_SSL2 - if (!strcmp(methstr, "ssl2")) { - meth = SSLv2_client_method(); - TN5250_LOG(("SSL Method = SSLv2_client_method()\n")); -- } else if (!strcmp(methstr, "ssl3")) { -+ } else -+#endif -+#ifndef OPENSSL_NO_SSL3 -+ if (!strcmp(methstr, "ssl3")) { - meth = SSLv3_client_method(); - TN5250_LOG(("SSL Method = SSLv3_client_method()\n")); -- } else { -+ } else -+#endif -+ { - meth = SSLv23_client_method(); - TN5250_LOG(("SSL Method = SSLv23_client_method()\n")); - } diff --git a/bsp/buildroot/package/tn5250/Config.in b/bsp/buildroot/package/tn5250/Config.in deleted file mode 100644 index 01be40bb..00000000 --- a/bsp/buildroot/package/tn5250/Config.in +++ /dev/null @@ -1,8 +0,0 @@ -config BR2_PACKAGE_TN5250 - bool "tn5250" - depends on BR2_USE_MMU # fork() - select BR2_PACKAGE_NCURSES - help - Telnet client that emulates 5250 terminals and printers. - - http://tn5250.sourceforge.net/ diff --git a/bsp/buildroot/package/tn5250/tn5250.hash b/bsp/buildroot/package/tn5250/tn5250.hash deleted file mode 100644 index ae65beab..00000000 --- a/bsp/buildroot/package/tn5250/tn5250.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed: -sha256 354237d400dc46af887cb3ffa4ed1f2c371f5b8bee8be046a683a4ac9db4f9c5 tn5250-0.17.4.tar.gz diff --git a/bsp/buildroot/package/tn5250/tn5250.mk b/bsp/buildroot/package/tn5250/tn5250.mk deleted file mode 100644 index 4c457a5d..00000000 --- a/bsp/buildroot/package/tn5250/tn5250.mk +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################ -# -# tn5250 -# -################################################################################ - -TN5250_VERSION = 0.17.4 -TN5250_SITE = http://downloads.sourceforge.net/project/tn5250/tn5250/$(TN5250_VERSION) -TN5250_MAKE_OPTS = CPPFLAGS="" -TN5250_DEPENDENCIES = ncurses -TN5250_LICENSE = LGPL-2.1+ -TN5250_LICENSE_FILES = COPYING - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -TN5250_CONF_OPTS += --with-ssl-dir=$(STAGING_DIR)/usr -TN5250_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs openssl`" -TN5250_DEPENDENCIES += openssl host-pkgconf -else -TN5250_CONF_OPTS += --without-ssl -endif - -define TN5250_INSTALL_FIXES - rm -f $(TARGET_DIR)/usr/bin/5250keys - rm -f $(TARGET_DIR)/usr/bin/xt5250 -endef - -TN5250_POST_INSTALL_TARGET_HOOKS += TN5250_INSTALL_FIXES - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch b/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch new file mode 100644 index 00000000..50ea00af --- /dev/null +++ b/bsp/buildroot/package/tor/0001-Fix-static-linking-with-OpenSSL.patch @@ -0,0 +1,95 @@ +From ba6b8ee5b6dee19493a150c3715b0e202440d206 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 24 Jan 2019 18:19:51 +0100 +Subject: [PATCH] Fix static linking with OpenSSL + +Adjust link order of libz to solve bug with static linking +and remove host paths when looking for openssl. + +[Vincent: + - Adapt the patch to make it apply on the new version.] +[Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9, 0.3.1.7, 0.3.2.10 & + 0.3.4.8, 0.3.5.7] +[Fabrice: fix detection of openssl functions in 0.3.5.8] +Signed-off-by: Vicente Olivert Riera +Signed-off-by: Bernd Kuhls +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 4 ++-- + src/test/include.am | 8 ++++---- + src/tools/include.am | 4 ++-- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 05e1392cf..580befa6b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -885,7 +885,7 @@ AC_ARG_WITH(ssl-dir, + ]) + + AC_MSG_NOTICE([Now, we'll look for OpenSSL >= 1.0.1]) +-TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI $TOR_LIB_WS32], ++TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI $TOR_LIB_WS32], + [#include + char *getenv(const char *);], + [struct ssl_cipher_st; +@@ -919,7 +919,7 @@ dnl Now check for particular openssl functions. + save_LIBS="$LIBS" + save_LDFLAGS="$LDFLAGS" + save_CPPFLAGS="$CPPFLAGS" +-LIBS="$TOR_OPENSSL_LIBS $LIBS" ++LIBS="$TOR_OPENSSL_LIBS -lz $LIBS" + LDFLAGS="$TOR_LDFLAGS_openssl $LDFLAGS" + CPPFLAGS="$TOR_CPPFLAGS_openssl $CPPFLAGS" + +diff --git a/src/test/include.am b/src/test/include.am +index ecb768957..39a622e88 100644 +--- a/src/test/include.am ++++ b/src/test/include.am +@@ -317,8 +317,8 @@ src_test_test_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) + src_test_test_ntor_cl_LDADD = \ + $(TOR_INTERNAL_LIBS) \ + $(rust_ldadd) \ +- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ +- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ ++ @TOR_LIB_MATH@ \ ++ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ \ + @CURVE25519_LIBS@ @TOR_LZMA_LIBS@ + src_test_test_ntor_cl_AM_CPPFLAGS = \ + $(AM_CPPFLAGS) +@@ -327,8 +327,8 @@ src_test_test_hs_ntor_cl_SOURCES = src/test/test_hs_ntor_cl.c + src_test_test_hs_ntor_cl_LDFLAGS = @TOR_LDFLAGS_zlib@ $(TOR_LDFLAGS_CRYPTLIB) + src_test_test_hs_ntor_cl_LDADD = \ + $(TOR_INTERNAL_LIBS) \ +- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ +- $(TOR_LIBS_CRYPTLIB) @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ ++ @TOR_LIB_MATH@ \ ++ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ + src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ + $(AM_CPPFLAGS) + +diff --git a/src/tools/include.am b/src/tools/include.am +index f7aa7e0d1..4c4e8aa7a 100644 +--- a/src/tools/include.am ++++ b/src/tools/include.am +@@ -30,7 +30,7 @@ src_tools_tor_gencert_LDADD = \ + $(TOR_CRYPTO_LIBS) \ + $(TOR_UTIL_LIBS) \ + $(rust_ldadd) \ +- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ $(TOR_LIBS_CRYPTLIB) \ ++ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_GDI@ @TOR_LIB_USERENV@ @CURVE25519_LIBS@ + endif + +@@ -40,7 +40,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \ + src/trunnel/libor-trunnel.a \ + $(TOR_CRYPTO_LIBS) \ + $(TOR_UTIL_LIBS) \ +- @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \ ++ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) @TOR_ZLIB_LIBS@ \ + @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@ + + if USE_NSS +-- +2.20.1 + diff --git a/bsp/buildroot/package/tor/0001-openssl-libz.patch b/bsp/buildroot/package/tor/0001-openssl-libz.patch deleted file mode 100644 index 9d3cf6e1..00000000 --- a/bsp/buildroot/package/tor/0001-openssl-libz.patch +++ /dev/null @@ -1,129 +0,0 @@ -Adjust link order of libz to solve bug with static linking -and remove host paths when looking for openssl. - -[Vincent: - - Adapt the patch to make it apply on the new version.] -[Bernd: rebased for tor-0.2.7.6, 0.2.8.10, 0.2.9.9 & 0.3.1.7] - -Signed-off-by: Bernd Kuhls -Signed-off-by: Vicente Olivert Riera - -diff -uNr tor-0.3.1.7.org/configure.ac tor-0.3.1.7/configure.ac ---- tor-0.3.1.7.org/configure.ac 2017-09-15 15:34:06.000000000 +0200 -+++ tor-0.3.1.7/configure.ac 2017-09-19 19:40:17.090538467 +0200 -@@ -709,11 +709,11 @@ - fi - ]) - --TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto $TOR_LIB_GDI], -+TOR_SEARCH_LIBRARY(openssl, $tryssldir, [-lssl -lcrypto -lz $TOR_LIB_GDI], - [#include ], - [void RAND_add(const void *buf, int num, double entropy);], - [RAND_add((void*)0,0,0);], [], -- [/usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/athena /opt/openssl]) -+ []) - - dnl XXXX check for OPENSSL_VERSION_NUMBER == SSLeay() - -diff -uNr tor-0.3.1.7.org/src/or/include.am tor-0.3.1.7/src/or/include.am ---- tor-0.3.1.7.org/src/or/include.am 2017-06-19 17:56:51.000000000 +0200 -+++ tor-0.3.1.7/src/or/include.am 2017-09-19 19:41:02.015861546 +0200 -@@ -122,7 +122,7 @@ - src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - src/common/libor-event.a src/trunnel/libor-trunnel.a \ - src/trace/libor-trace.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ @TOR_SYSTEMD_LIBS@ \ - @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ - $(rust_ldadd) -diff -uNr tor-0.3.1.7.org/src/test/include.am tor-0.3.1.7/src/test/include.am ---- tor-0.3.1.7.org/src/test/include.am 2017-08-29 17:01:19.000000000 +0200 -+++ tor-0.3.1.7/src/test/include.am 2017-09-19 19:42:39.103903406 +0200 -@@ -206,8 +206,8 @@ - src/common/libor-event-testing.a \ - src/trunnel/libor-trunnel-testing.a \ - src/trace/libor-trace.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_SYSTEMD_LIBS@ @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ - $(rust_ldadd) - -@@ -231,8 +231,8 @@ - src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - src/common/libor-event.a src/trunnel/libor-trunnel.a \ - src/trace/libor-trace.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_SYSTEMD_LIBS@ @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ - $(rust_ldadd) - -@@ -244,8 +244,8 @@ - src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - src/common/libor-event-testing.a \ - src/trace/libor-trace.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_LZMA_LIBS@ @TOR_ZSTD_LIBS@ \ - $(rust_ldadd) - -@@ -256,8 +256,8 @@ - src/common/libor-ctime-testing.a \ - src/common/libor-event-testing.a \ - src/common/libor-crypto-testing.a $(LIBKECCAK_TINY) $(LIBDONNA) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_LZMA_LIBS@ \ - $(rust_ldadd) - src_test_test_timers_LDFLAGS = $(src_test_test_LDFLAGS) -@@ -286,8 +286,8 @@ - src/common/libor-ctime.a \ - src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ - src/trace/libor-trace.a \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ -+ @TOR_LIB_MATH@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - @TOR_LZMA_LIBS@ \ - $(rust_ldadd) - src_test_test_ntor_cl_AM_CPPFLAGS = \ -@@ -298,8 +298,8 @@ - src_test_test_hs_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \ - src/common/libor-ctime.a \ - src/common/libor-crypto.a $(LIBKECCAK_TINY) $(LIBDONNA) \ -- @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ \ -- @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ -+ @TOR_LIB_MATH@ \ -+ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ - src_test_test_hs_ntor_cl_AM_CPPFLAGS = \ - -I"$(top_srcdir)/src/or" - -diff -uNr tor-0.3.1.7.org/src/tools/include.am tor-0.3.1.7/src/tools/include.am ---- tor-0.3.1.7.org/src/tools/include.am 2017-06-19 17:56:51.000000000 +0200 -+++ tor-0.3.1.7/src/tools/include.am 2017-09-19 19:43:08.880223260 +0200 -@@ -26,7 +26,7 @@ - src/common/libor-ctime.a \ - $(LIBKECCAK_TINY) \ - $(LIBDONNA) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ \ - $(rust_ldadd) - -@@ -40,7 +40,7 @@ - src/common/libor-ctime-testing.a \ - $(LIBKECCAK_TINY) \ - $(LIBDONNA) \ -- @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \ -+ @TOR_LIB_MATH@ @TOR_OPENSSL_LIBS@ @TOR_ZLIB_LIBS@ \ - @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@ - endif - diff --git a/bsp/buildroot/package/tor/tor.hash b/bsp/buildroot/package/tor/tor.hash index db946eec..5b07981d 100644 --- a/bsp/buildroot/package/tor/tor.hash +++ b/bsp/buildroot/package/tor/tor.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 c0e1a71e8e079ddd7951f846bcbd79d5e716b602faa5b890c70762fe95cd04e0 tor-0.3.1.10.tar.gz -sha256 f9a4f724d8037711dde7d3f1d17094fb7d211545b3a3bbb1b03e769e13ca5608 LICENSE +sha256 d5c56603942a8927670f50a4a469fb909e29d3571fdd013389d567e57abc0b47 tor-0.3.5.8.tar.gz +sha256 b4248f32f009d4f5cccb704b351e31a16590e0dd5fda2856382cc854d81f6234 LICENSE diff --git a/bsp/buildroot/package/tor/tor.mk b/bsp/buildroot/package/tor/tor.mk index ddf912fe..fe951fb2 100644 --- a/bsp/buildroot/package/tor/tor.mk +++ b/bsp/buildroot/package/tor/tor.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOR_VERSION = 0.3.1.10 +TOR_VERSION = 0.3.5.8 TOR_SITE = https://dist.torproject.org TOR_LICENSE = BSD-3-Clause TOR_LICENSE_FILES = LICENSE @@ -47,6 +47,10 @@ endif # uses gnu extensions TOR_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +TOR_CONF_ENV += LIBS=-latomic +endif + define TOR_INSTALL_CONF $(INSTALL) -D -m 644 $(@D)/src/config/torrc.minimal \ $(TARGET_DIR)/etc/tor/torrc diff --git a/bsp/buildroot/package/tovid/Config.in b/bsp/buildroot/package/tovid/Config.in index a22dca8e..d5b7a283 100644 --- a/bsp/buildroot/package/tovid/Config.in +++ b/bsp/buildroot/package/tovid/Config.in @@ -6,9 +6,9 @@ config BR2_PACKAGE_TOVID depends on BR2_USE_WCHAR depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS - depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_SYNC_4 # mplayer - depends on !BR2_TOOLCHAIN_USES_MUSL # procps-ng + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 # mpv + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 # mpv + depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC # mpv # The below dependencies are runtime dependencies only select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # procps_ng select BR2_PACKAGE_DVDAUTHOR @@ -17,7 +17,7 @@ config BR2_PACKAGE_TOVID select BR2_PACKAGE_IMAGEMAGICK select BR2_PACKAGE_JPEG select BR2_PACKAGE_MJPEGTOOLS - select BR2_PACKAGE_MPLAYER + select BR2_PACKAGE_MPV select BR2_PACKAGE_PROCPS_NG # pgrep and pkill select BR2_PACKAGE_SOX help @@ -28,17 +28,20 @@ config BR2_PACKAGE_TOVID http://tovid.wikia.com/wiki/Installing_tovid -comment "tovid needs a glibc or uclibc toolchain w/ threads, C++, wchar" +comment "tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.5" depends on BR2_USE_MMU depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS - depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS - depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 depends on !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 \ || !BR2_INSTALL_LIBSTDCPP \ - || !BR2_USE_WCHAR \ - || BR2_TOOLCHAIN_USES_MUSL + || !BR2_USE_WCHAR + depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC comment "tovid depends on python or python3" depends on !BR2_PACKAGE_PYTHON && !BR2_PACKAGE_PYTHON3 depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS - depends on BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 + depends on !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC diff --git a/bsp/buildroot/package/tovid/tovid.hash b/bsp/buildroot/package/tovid/tovid.hash index 0bd7668f..89d0461a 100644 --- a/bsp/buildroot/package/tovid/tovid.hash +++ b/bsp/buildroot/package/tovid/tovid.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 3193d081a7aa8e00f946b7514066f1fb7647f533ab1ebcc36b5ced927b0a1ab5 tovid-0.35.2.tar.gz +sha256 c03a746a3592a656bab0be4045da114a4231eb0f858d6c18503dac64049fbe48 tovid-87c676f4aadb7303d2cd921380b054bafa4b85bb.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/tovid/tovid.mk b/bsp/buildroot/package/tovid/tovid.mk index c904b981..4c5c60aa 100644 --- a/bsp/buildroot/package/tovid/tovid.mk +++ b/bsp/buildroot/package/tovid/tovid.mk @@ -4,8 +4,8 @@ # ################################################################################ -TOVID_VERSION = 0.35.2 -TOVID_SITE = https://github.com/tovid-suite/tovid/releases/download/$(TOVID_VERSION) +TOVID_VERSION = 87c676f4aadb7303d2cd921380b054bafa4b85bb +TOVID_SITE = $(call github,tovid-suite,tovid,$(TOVID_VERSION)) TOVID_LICENSE = GPL-2.0+ TOVID_LICENSE_FILES = COPYING TOVID_SETUP_TYPE = distutils diff --git a/bsp/buildroot/package/tpm-tools/Config.in b/bsp/buildroot/package/tpm-tools/Config.in index e1156872..ca70adc8 100644 --- a/bsp/buildroot/package/tpm-tools/Config.in +++ b/bsp/buildroot/package/tpm-tools/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_TPM_TOOLS bool "tpm-tools" depends on BR2_TOOLCHAIN_HAS_THREADS # trousers depends on !BR2_STATIC_LIBS # trousers - depends on !BR2_arc # trousers select BR2_PACKAGE_TROUSERS select BR2_PACKAGE_OPENSSL help @@ -12,4 +11,3 @@ config BR2_PACKAGE_TPM_TOOLS comment "tpm-tools needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - depends on !BR2_arc diff --git a/bsp/buildroot/package/tpm-tools/tpm-tools.mk b/bsp/buildroot/package/tpm-tools/tpm-tools.mk index b6738251..623e06fb 100644 --- a/bsp/buildroot/package/tpm-tools/tpm-tools.mk +++ b/bsp/buildroot/package/tpm-tools/tpm-tools.mk @@ -16,4 +16,8 @@ ifeq ($(BR2_PACKAGE_LIBICONV),y) TPM_TOOLS_CONF_ENV += LIBS='-liconv' endif +ifeq ($(BR2_arc770d)$(BR2_arc750d),y) +TPM_TOOLS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mno-compact-casesi" +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tpm2-abrmd/Config.in b/bsp/buildroot/package/tpm2-abrmd/Config.in new file mode 100644 index 00000000..d18f7361 --- /dev/null +++ b/bsp/buildroot/package/tpm2-abrmd/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_TPM2_ABRMD + bool "tpm2-abrmd" + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 + depends on BR2_USE_MMU # dbus, libglib2 + depends on !BR2_STATIC_LIBS # tpm2-tss + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_TPM2_TSS + help + A system daemon implementing the TPM2 access broker (TAB) & + Resource Manager (RM) spec from the TCG. It should be started + during the OS boot process. Communication between the daemon + and clients using the TPM is done with a combination of DBus + and Unix pipes. + + The package also provides a client library for interacting + with the daemon via TPM Command Transmission Interface (TCTI). + It is intended for use with the SAPI library (libsapi) like + any other TCTI. + + https://github.com/tpm2-software/tpm2-abrmd + +comment "tpm2-abrmd needs a toolchain w/ dynamic library, wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/tpm2-abrmd/S80tpm2-abrmd b/bsp/buildroot/package/tpm2-abrmd/S80tpm2-abrmd new file mode 100644 index 00000000..6a0bef0a --- /dev/null +++ b/bsp/buildroot/package/tpm2-abrmd/S80tpm2-abrmd @@ -0,0 +1,74 @@ +#!/bin/sh + +my_name="$0" + +check_required_files() { + [ -f "$1" ] || { + echo "$my_name: $1 is missing" + exit 1 + } +} + +check_device() { + ls -1 /dev/tpm[0-9]* > /dev/null 2>&1 || { + echo "device driver not loaded, skipping." + exit 0 + } + chown tss:tss /dev/tpm[0-9]* && chmod 600 /dev/tpm* +} + +rm_stale_pidfile() { + if [ -e "$1" ]; then + exe="/proc/$(cat "$1")/exe" + { [ -s "$exe" ] && [ "$(readlink -f "$exe")" = "$2" ]; } || rm -f "$1" + fi +} + +start() { + printf "Starting tpm2-abrmd: " + check_device + rm_stale_pidfile /var/run/tpm2-abrmd.pid /usr/sbin/tpm2-abrmd + start-stop-daemon -S -q -o -b -m -p /var/run/tpm2-abrmd.pid -c tss:tss -x /usr/sbin/tpm2-abrmd -- ${DAEMON_OPTS} || { + echo "FAIL" + exit 1 + } + pidof /usr/sbin/tpm2-abrmd > /var/run/tpm2-abrmd.pid + echo "OK" +} + +stop() { + printf "Stopping tpm2-abrmd: " + start-stop-daemon -K -q -o -p /var/run/tpm2-abrmd.pid -u tss -x /usr/sbin/tpm2-abrmd || { + echo "FAIL" + exit 1 + } + rm_stale_pidfile /var/run/tpm2-abrmd.pid /usr/sbin/tpm2-abrmd + echo "OK" +} + +check_required_files /etc/dbus-1/system.d/tpm2-abrmd.conf + +# defaults +DAEMON_OPTS="--tcti=device --logger=syslog --max-connections=20" + +# Read configuration variable file if it is present +[ -r /etc/default/tpm2-abrmd ] && . /etc/default/tpm2-abrmd + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + stop + sleep 1 + start + ;; + *) + echo "Usage: tpm2-abrmd {start|stop|restart|reload}" >&2 + exit 1 +esac + +exit 0 diff --git a/bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.hash b/bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.hash new file mode 100644 index 00000000..61a75c0d --- /dev/null +++ b/bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 ff0ed283b0300cd784d6bf2b042e167020f8443602974e53b924e9fd98a4b515 tpm2-abrmd-2.0.3.tar.gz +sha256 18c1bf4b1ba1fb2c4ffa7398c234d83c0d55475298e470ae1e5e3a8a8bd2e448 LICENSE diff --git a/bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.mk b/bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.mk new file mode 100644 index 00000000..31f19f5d --- /dev/null +++ b/bsp/buildroot/package/tpm2-abrmd/tpm2-abrmd.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# tpm2-abrmd +# +################################################################################ + +TPM2_ABRMD_VERSION = 2.0.3 +TPM2_ABRMD_SITE = https://github.com/tpm2-software/tpm2-abrmd/releases/download/$(TPM2_ABRMD_VERSION) +TPM2_ABRMD_LICENSE = BSD-2-Clause +TPM2_ABRMD_LICENSE_FILES = LICENSE +TPM2_ABRMD_INSTALL_STAGING = YES +TPM2_ABRMD_DEPENDENCIES = dbus libglib2 tpm2-tss host-pkgconf + +# -fstack-protector-all and FORTIFY_SOURCE=2 is used by +# default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options +# in the toolchain wrapper and CFLAGS are used instead +TPM2_ABRMD_CONF_ENV = \ + ax_cv_check_cflags___________Werror_______fstack_protector_all=no \ + ax_cv_check_ccppflags___________Werror_______U_FORTIFY_SOURCE=no \ + ax_cv_check_ccppflags___________Werror_______D_FORTIFY_SOURCE_2=no + +TPM2_ABRMD_CONF_OPTS += \ + --with-systemdsystemunitdir=$(if $(BR2_INIT_SYSTEMD),/usr/lib/systemd/system,no) \ + --with-udevrulesdir=$(if $(BR2_PACKAGE_HAS_UDEV),/usr/lib/udev/rules.d,no) + +define TPM2_ABRMD_INSTALL_INIT_SYSTEMD + $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) DESTDIR=$(TARGET_DIR) \ + install-systemdpresetDATA install-systemdsystemunitDATA +endef + +define TPM2_ABRMD_INSTALL_INIT_SYSV + $(INSTALL) -D -m 0755 $(TPM2_ABRMD_PKGDIR)/S80tpm2-abrmd \ + $(TARGET_DIR)/etc/init.d/S80tpm2-abrmd +endef + +define TPM2_ABRMD_USERS + tss -1 tss -1 * - - - TPM2 Access Broker & Resource Management daemon +endef + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch b/bsp/buildroot/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch new file mode 100644 index 00000000..327f5e40 --- /dev/null +++ b/bsp/buildroot/package/tpm2-tools/0001-tpm2_certify-fix-type-may-be-used-uninitialized-warn.patch @@ -0,0 +1,36 @@ +From 295cd8f7fb8e1a1ad8f64d981e99969a364d941e Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Sat, 24 Mar 2018 22:46:46 -0300 +Subject: [PATCH] tpm2_certify: fix "'type' may be used uninitialized" warning + +get_key_type does not assign a value to 'type' on error conditions, +which makes the compiler believe that it will be used uninitialized in +the LOG_ERR call, in set_scheme. In practice this will never happen +because set_scheme returns immediately if get_key_type retuns false but +the compiler does not understand that logic and fails because warnings +are treated as errors. + +Adapted for version 3.1.3 from the change submitted upstream: + + https://github.com/tpm2-software/tpm2-tools/pull/954 + +Signed-off-by: Carlos Santos +--- + tools/tpm2_certify.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/tpm2_certify.c b/tools/tpm2_certify.c +index 0575072..e562586 100644 +--- a/tools/tpm2_certify.c ++++ b/tools/tpm2_certify.c +@@ -98,6 +98,7 @@ static bool get_key_type(TSS2_SYS_CONTEXT *sapi_context, TPMI_DH_OBJECT object_h + &out_public, &name, &qualified_name, &sessions_data_out)); + if (rval != TPM2_RC_SUCCESS) { + LOG_ERR("TPM2_ReadPublic failed. Error Code: 0x%x", rval); ++ *type = TPM2_ALG_ERROR; + return false; + } + +-- +2.19.1 + diff --git a/bsp/buildroot/package/tpm2-tools/Config.in b/bsp/buildroot/package/tpm2-tools/Config.in new file mode 100644 index 00000000..d8660a8f --- /dev/null +++ b/bsp/buildroot/package/tpm2-tools/Config.in @@ -0,0 +1,29 @@ +config BR2_PACKAGE_TPM2_TOOLS + bool "tpm2-tools" + depends on BR2_USE_MMU # dbus, libglib + depends on BR2_USE_WCHAR # libglib -> gettext + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib + depends on !BR2_STATIC_LIBS # tpm2-tss + select BR2_PACKAGE_DBUS + select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_TPM2_TSS + help + TPM (Trusted Platform Module) 2.0 CLI tools based on system + API of TPM2-TSS. These tools can be used to manage keys, + perform encryption/decryption/signing/etc crypto operations, + and manage non-volatile storage through a TPM2.0 HW + implementation. + + Notice: An in-kernel resource manager is provided by the + Linux kernel since 4.12. Depending on use cases and kernel + version, the user space resource manager provided by + tpm2-abrmd may be needed. + + https://github.com/tpm2-software/tpm2-tools + +comment "tpm2-tools needs a toolchain w/ dynamic library, wchar, threads" + depends on BR2_USE_MMU + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash b/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash new file mode 100644 index 00000000..ae228c59 --- /dev/null +++ b/bsp/buildroot/package/tpm2-tools/tpm2-tools.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 cc95576f49cf9bacf75772fd98dcb7edc5172a6a8dfa20c215fe3cc69b0a3a16 tpm2-tools-3.1.3.tar.gz +sha256 3d6b149c8b042bd5f3db678d587fbe55230d071ca084bd38dcae451679c6dd45 LICENSE diff --git a/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk b/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk new file mode 100644 index 00000000..f7e2f852 --- /dev/null +++ b/bsp/buildroot/package/tpm2-tools/tpm2-tools.mk @@ -0,0 +1,18 @@ +################################################################################ +# +# tpm2-tools +# +################################################################################ + +TPM2_TOOLS_VERSION = 3.1.3 +TPM2_TOOLS_SITE = https://github.com/tpm2-software/tpm2-tools/releases/download/$(TPM2_TOOLS_VERSION) +TPM2_TOOLS_LICENSE = BSD-2-Clause +TPM2_TOOLS_LICENSE_FILES = LICENSE +TPM2_TOOLS_DEPENDENCIES = dbus libcurl libglib2 openssl tpm2-tss host-pkgconf + +# -fstack-protector-all and FORTIFY_SOURCE=2 is used by +# default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options +# in the toolchain wrapper and CFLAGS are used instead +TPM2_TOOLS_CONF_OPTS = --disable-hardening + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch b/bsp/buildroot/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch new file mode 100644 index 00000000..71258357 --- /dev/null +++ b/bsp/buildroot/package/tpm2-tss/0001-tpm2b-types.c-fix-maybe-uninitialized-error.patch @@ -0,0 +1,37 @@ +From 815f2bcbdfe5d9aff2cd3acbbb105daf1f5e9d7f Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 7 Feb 2019 09:58:07 +0100 +Subject: [PATCH] tpm2b-types.c: fix maybe-uninitialized error + +src/tss2-mu/tpm2b-types.c: In function 'Tss2_MU_TPM2B_ECC_POINT_Marshal': +src/tss2-mu/tpm2b-types.c:201:24: error: 'ptr' may be used uninitialized in this function [-Werror=maybe-uninitialized] + *(UINT16 *)ptr = HOST_TO_BE_16(buffer + local_offset - ptr - 2); \ + ^ +src/tss2-mu/tpm2b-types.c:152:12: note: 'ptr' was declared here + UINT8 *ptr; \ + +Fixes: + - http://autobuild.buildroot.org/results/8d7b6dad6602fe67338abc696bc4752dda8e9717 + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/tpm2-software/tpm2-tss/pull/1265] +--- + src/tss2-mu/tpm2b-types.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/tss2-mu/tpm2b-types.c b/src/tss2-mu/tpm2b-types.c +index 9c1003ab..7632febb 100644 +--- a/src/tss2-mu/tpm2b-types.c ++++ b/src/tss2-mu/tpm2b-types.c +@@ -150,7 +150,7 @@ TSS2_RC Tss2_MU_##type##_Marshal(type const *src, uint8_t buffer[], \ + size_t buffer_size, size_t *offset) \ + { \ + size_t local_offset = 0; \ +- UINT8 *ptr; \ ++ UINT8 *ptr = NULL; \ + TSS2_RC rc; \ + \ + if (src == NULL) { \ +-- +2.14.1 + diff --git a/bsp/buildroot/package/tpm2-tss/Config.in b/bsp/buildroot/package/tpm2-tss/Config.in new file mode 100644 index 00000000..2fb5b0f2 --- /dev/null +++ b/bsp/buildroot/package/tpm2-tss/Config.in @@ -0,0 +1,37 @@ +config BR2_PACKAGE_TPM2_TSS + bool "tpm2-tss" + depends on !BR2_STATIC_LIBS # dlfcn.h + select BR2_PACKAGE_LIBURIPARSER + select BR2_PACKAGE_OPENSSL + select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL + help + OSS implementation of the Trusted Computing Group's (TCG) TPM2 + Software Stack (TSS). This stack consists of the following + layers from top to bottom: + + * System API (SAPI) as described in the system level API and + TPM command transmission interface specification. This API + is a 1-to-1 mapping of the TPM2 commands documented in Part + 3 of the TPM2 specification. Additionally there are + asynchronous versions of each command. These asynchronous + variants may be useful for integration into event-driven + programming environments. Both the synchronous and + asynchronous API are exposed through a single library: + libsapi. + + * TPM Command Transmission Interface (TCTI) that is described + in the same specification. This API provides a standard + interface to transmit / receive TPM command / response + buffers. It is expected that any number of libraries + implementing the TCTI API will be implemented as a way to + abstract various platform specific IPC mechanisms. Currently + this repository provides two TCTI implementations: + libtcti-device and libtcti-socket. The prior should be used + for direct access to the TPM through the Linux kernel + driver. The later implements the protocol exposed by the + Microsoft software TPM2 simulator. + + https://github.com/tpm2-software/tpm2-tss + +comment "tpm2-tss needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash b/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash new file mode 100644 index 00000000..8d623202 --- /dev/null +++ b/bsp/buildroot/package/tpm2-tss/tpm2-tss.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 b3f3a0319a3ed9d03465755b57bc60ec5e3b3bac2a0d1d2c79ca1ed412aed8ce tpm2-tss-2.1.1.tar.gz +sha256 f7da3c2da12cec3348bb7ee9e2a9e651a241450b2efb67da29d5a75ef2da058a LICENSE diff --git a/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk b/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk new file mode 100644 index 00000000..672f483d --- /dev/null +++ b/bsp/buildroot/package/tpm2-tss/tpm2-tss.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# tpm2-tss +# +################################################################################ + +TPM2_TSS_VERSION = 2.1.1 +TPM2_TSS_SITE = https://github.com/tpm2-software/tpm2-tss/releases/download/$(TPM2_TSS_VERSION) +TPM2_TSS_LICENSE = BSD-2-Clause +TPM2_TSS_LICENSE_FILES = LICENSE +TPM2_TSS_INSTALL_STAGING = YES +TPM2_TSS_DEPENDENCIES = liburiparser openssl host-pkgconf +TPM2_TSS_CONF_OPTS = --with-crypto=ossl --disable-doxygen-doc + +# -fstack-protector-all and FORTIFY_SOURCE=2 is used by +# default. Disable that so the BR2_SSP_* / BR2_FORTIFY_SOURCE_* options +# in the toolchain wrapper and CFLAGS are used instead +TPM2_TSS_CONF_ENV = \ + ax_cv_check_cflags___________Wall__Werror_______fstack_protector_all=no \ + ax_cv_check_ccppflags___________Wall__Werror_______U_FORTIFY_SOURCE=no \ + ax_cv_check_ccppflags___________Wall__Werror_______D_FORTIFY_SOURCE_2=no + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/trace-cmd/trace-cmd.hash b/bsp/buildroot/package/trace-cmd/trace-cmd.hash index 5bf4154b..c6447f34 100644 --- a/bsp/buildroot/package/trace-cmd/trace-cmd.hash +++ b/bsp/buildroot/package/trace-cmd/trace-cmd.hash @@ -1,2 +1,4 @@ # Locally computed -sha256 f088534808274f6233fe15130791238fb14ce9bf6e7234f9b3fe6b5a42a1245d trace-cmd-trace-cmd-v2.6.1.tar.gz +sha256 3b3f564cc6ee30341051ccb7589b42f3abe4e676a21c029c7c127c7edf5bdcf0 trace-cmd-trace-cmd-v2.7.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING +sha256 70f297763149e72306919c924e164f83041d5e512868d4c8c1826c171b3e49f9 COPYING.LIB diff --git a/bsp/buildroot/package/trace-cmd/trace-cmd.mk b/bsp/buildroot/package/trace-cmd/trace-cmd.mk index 578e9f12..dfca6a17 100644 --- a/bsp/buildroot/package/trace-cmd/trace-cmd.mk +++ b/bsp/buildroot/package/trace-cmd/trace-cmd.mk @@ -4,7 +4,7 @@ # ################################################################################ -TRACE_CMD_VERSION = trace-cmd-v2.6.1 +TRACE_CMD_VERSION = trace-cmd-v2.7 TRACE_CMD_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git TRACE_CMD_SITE_METHOD = git TRACE_CMD_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/traceroute/traceroute.mk b/bsp/buildroot/package/traceroute/traceroute.mk index 367e3c7a..a02982a6 100644 --- a/bsp/buildroot/package/traceroute/traceroute.mk +++ b/bsp/buildroot/package/traceroute/traceroute.mk @@ -10,11 +10,6 @@ TRACEROUTE_SITE = http://downloads.sourceforge.net/traceroute/traceroute/tracero TRACEROUTE_LICENSE = GPL-2.0+, LGPL-2.1+ TRACEROUTE_LICENSE_FILES = COPYING COPYING.LIB -# Prefer full-featured traceroute over busybox's version -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -TRACEROUTE_DEPENDENCIES += busybox -endif - define TRACEROUTE_BUILD_CMDS $(TARGET_MAKE_ENV) VPATH=$(STAGING_DIR)/usr/lib $(MAKE) $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D) diff --git a/bsp/buildroot/package/transmission/0004-fix-utp-include.patch b/bsp/buildroot/package/transmission/0003-fix-utp-include.patch similarity index 100% rename from bsp/buildroot/package/transmission/0004-fix-utp-include.patch rename to bsp/buildroot/package/transmission/0003-fix-utp-include.patch diff --git a/bsp/buildroot/package/transmission/0003-miniupnpc-cross.patch b/bsp/buildroot/package/transmission/0003-miniupnpc-cross.patch deleted file mode 100644 index 5037c2e6..00000000 --- a/bsp/buildroot/package/transmission/0003-miniupnpc-cross.patch +++ /dev/null @@ -1,31 +0,0 @@ -Fix libminiupnpc version detection - -Problem is known upstream: https://trac.transmissionbt.com/ticket/6140 - -For buildroot we know the libminiupnpc version so we hard-code 2.0. - -Signed-off-by: Bernd Kuhls - -diff -uNr transmission-2.92.org/configure.ac transmission-2.92/configure.ac ---- transmission-2.92.org/configure.ac 2016-03-06 21:23:45.336198393 +0100 -+++ transmission-2.92/configure.ac 2016-07-02 21:48:13.452385686 +0200 -@@ -386,18 +386,7 @@ - dnl MINIUPNPC_API_VERSION and we won't have to figure - dnl it out on our own - if test "x$upnp_version" = "xunknown" ; then -- AC_RUN_IFELSE( -- [AC_LANG_PROGRAM( -- [#include -- #include ], -- [#ifdef MINIUPNPC_API_VERSION -- return EXIT_SUCCESS; -- #else -- return EXIT_FAILURE; -- #endif] -- )], -- [upnp_version=">= 1.7"] -- ) -+ upnp_version="2.0" - fi - - dnl Or maybe it's miniupnp 1.6 diff --git a/bsp/buildroot/package/transmission/0005-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch b/bsp/buildroot/package/transmission/0004-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch similarity index 100% rename from bsp/buildroot/package/transmission/0005-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch rename to bsp/buildroot/package/transmission/0004-uClibc-ng-since-1.0.18-has-sys-quota.h-synced-with-G.patch diff --git a/bsp/buildroot/package/transmission/0006-libsystemd.patch b/bsp/buildroot/package/transmission/0005-libsystemd.patch similarity index 100% rename from bsp/buildroot/package/transmission/0006-libsystemd.patch rename to bsp/buildroot/package/transmission/0005-libsystemd.patch diff --git a/bsp/buildroot/package/transmission/transmission.hash b/bsp/buildroot/package/transmission/transmission.hash index 4c1c3f9a..0d2af32f 100644 --- a/bsp/buildroot/package/transmission/transmission.hash +++ b/bsp/buildroot/package/transmission/transmission.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 8815920e0a4499bcdadbbe89a4115092dab42ce5199f71ff9a926cfd12b9b90b transmission-2.93.tar.xz +sha256 35442cc849f91f8df982c3d0d479d650c6ca19310a994eccdaa79a4af3916b7d transmission-2.94.tar.xz sha256 20801783bf59e27d03ed6aab625b32a34e221ae95bf801db87827c8023398495 COPYING diff --git a/bsp/buildroot/package/transmission/transmission.mk b/bsp/buildroot/package/transmission/transmission.mk index 65add0d8..00652e7f 100644 --- a/bsp/buildroot/package/transmission/transmission.mk +++ b/bsp/buildroot/package/transmission/transmission.mk @@ -4,7 +4,7 @@ # ################################################################################ -TRANSMISSION_VERSION = 2.93 +TRANSMISSION_VERSION = 2.94 TRANSMISSION_SITE = https://github.com/transmission/transmission-releases/raw/master TRANSMISSION_SOURCE = transmission-$(TRANSMISSION_VERSION).tar.xz TRANSMISSION_DEPENDENCIES = \ diff --git a/bsp/buildroot/package/triggerhappy/S10triggerhappy b/bsp/buildroot/package/triggerhappy/S10triggerhappy old mode 100755 new mode 100644 index 3253e910..48538730 --- a/bsp/buildroot/package/triggerhappy/S10triggerhappy +++ b/bsp/buildroot/package/triggerhappy/S10triggerhappy @@ -1,18 +1,14 @@ #!/bin/sh NAME=thd -DAEMON=/usr/sbin/$NAME PIDFILE=/var/run/$NAME.pid DAEMON_ARGS="--daemon --triggers /etc/triggerhappy/triggers.d --socket /var/run/thd.socket --pidfile $PIDFILE --user nobody /dev/input/event*" -# Sanity checks -test -x $DAEMON || exit 0 - [ -r /etc/default/triggerhappy ] && . /etc/default/triggerhappy start() { printf "Starting $NAME: " - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS \ + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec /usr/sbin/thd -- $DAEMON_ARGS \ && echo "OK" || echo "FAIL" } diff --git a/bsp/buildroot/package/triggerhappy/triggerhappy.mk b/bsp/buildroot/package/triggerhappy/triggerhappy.mk index 4c39ab5e..7c4bf404 100644 --- a/bsp/buildroot/package/triggerhappy/triggerhappy.mk +++ b/bsp/buildroot/package/triggerhappy/triggerhappy.mk @@ -10,6 +10,10 @@ TRIGGERHAPPY_LICENSE = GPL-3.0+ TRIGGERHAPPY_LICENSE_FILES = COPYING TRIGGERHAPPY_DEPENDENCIES = host-pkgconf +ifeq ($(BR2_PACKAGE_SYSTEMD),y) +TRIGGERHAPPY_DEPENDENCIES += systemd +endif + define TRIGGERHAPPY_BUILD_CMDS $(MAKE) $(TARGET_CONFIGURE_OPTS) PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)" \ -C $(@D) thd th-cmd diff --git a/bsp/buildroot/package/trinity/0002-memfd-fix-build-with-glibc-2.27.patch b/bsp/buildroot/package/trinity/0002-memfd-fix-build-with-glibc-2.27.patch new file mode 100644 index 00000000..9ea36346 --- /dev/null +++ b/bsp/buildroot/package/trinity/0002-memfd-fix-build-with-glibc-2.27.patch @@ -0,0 +1,87 @@ +From c93bb184ce996c4d77eefbae2ab0bf74f396ec45 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 13 Mar 2018 06:53:06 +0200 +Subject: [PATCH] memfd: fix build with glibc 2.27 + +glibc 2.27 added a wrapper for memfd_create(). This causes build +failure: + +fds/memfd.c:19:12: error: static declaration of 'memfd_create' follows non-static declaration + static int memfd_create(__unused__ const char *uname, __unused__ unsigned int flag) + ^~~~~~~~~~~~ + +Don't use the local definition when the libc provides one. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/kernelslacker/trinity/pull/23 + + configure | 23 +++++++++++++++++++++++ + fds/memfd.c | 3 +++ + 2 files changed, 26 insertions(+) + +diff --git a/configure b/configure +index dc0a87d8c1ad..c0166af33048 100755 +--- a/configure ++++ b/configure +@@ -288,6 +288,29 @@ else + echo "#define USE_BTRFS 1" >> $CONFIGH + fi + ++############################################################################################# ++# Does glibc provide memfd_create() syscall wrapper ++# ++echo -n "[*] Checking if glibc provides memfd_create.. " ++rm -f "$TMP" || exit 1 ++ ++cat >"$TMP.c" << EOF ++#include ++ ++void main() ++{ ++ memfd_create(); ++} ++EOF ++ ++${CC} ${CFLAGS} "$TMP.c" -o "$TMP" &>"$TMP.log" ++if [ ! -x "$TMP" ]; then ++ echo $RED "[NO]" $COL_RESET ++else ++ echo $GREEN "[YES]" $COL_RESET ++ echo "#define USE_MEMFD_CREATE 1" >> $CONFIGH ++fi ++ + ############################################################################################# + + check_header linux/caif/caif_socket.h USE_CAIF +diff --git a/fds/memfd.c b/fds/memfd.c +index 210678e4571c..aaaac2f78f54 100644 +--- a/fds/memfd.c ++++ b/fds/memfd.c +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + + #include "fd.h" + #include "memfd.h" +@@ -16,6 +17,7 @@ + #include "trinity.h" + #include "udp.h" + ++#ifndef USE_MEMFD_CREATE + static int memfd_create(__unused__ const char *uname, __unused__ unsigned int flag) + { + #ifdef SYS_memfd_create +@@ -24,6 +26,7 @@ static int memfd_create(__unused__ const char *uname, __unused__ unsigned int fl + return -ENOSYS; + #endif + } ++#endif + + static void memfd_destructor(struct object *obj) + { +-- +2.16.1 + diff --git a/bsp/buildroot/package/trinity/0003-configure-fix-build-with-kernel-headers-v4.17.patch b/bsp/buildroot/package/trinity/0003-configure-fix-build-with-kernel-headers-v4.17.patch new file mode 100644 index 00000000..89aa4219 --- /dev/null +++ b/bsp/buildroot/package/trinity/0003-configure-fix-build-with-kernel-headers-v4.17.patch @@ -0,0 +1,73 @@ +From 5431126ac94bf81743852493a041e80e82918741 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Fri, 8 Jun 2018 06:05:26 +0300 +Subject: [PATCH] configure: fix build with kernel headers v4.17+ + +Kernel v4.17 removed the linux/irda.h header. Skip the irda test when +this header is missing. + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/kernelslacker/trinity/pull/25 + + configure | 1 + + net/proto-irda.c | 6 +++++- + net/protocols.c | 2 ++ + 3 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index c0166af33048..944c8cf77d1b 100755 +--- a/configure ++++ b/configure +@@ -316,6 +316,7 @@ fi + check_header linux/caif/caif_socket.h USE_CAIF + check_header linux/fsmap.h USE_FSMAP + check_header linux/if_alg.h USE_IF_ALG ++check_header linux/irda.h USE_IRDA + check_header linux/rds.h USE_RDS + check_header linux/vfio.h USE_VFIO + check_header drm/drm.h USE_DRM +diff --git a/net/proto-irda.c b/net/proto-irda.c +index 02d51bcd2ee0..264e36dfa040 100644 +--- a/net/proto-irda.c ++++ b/net/proto-irda.c +@@ -4,13 +4,15 @@ + #include + /* old irda.h does not include something which defines sa_family_t */ + #include +-#include + #include + #include "net.h" + #include "random.h" + #include "utils.h" // RAND_ARRAY + #include "compat.h" + ++#ifdef USE_IRDA ++#include ++ + static void irda_gen_sockaddr(struct sockaddr **addr, socklen_t *addrlen) + { + struct sockaddr_irda *irda; +@@ -53,3 +55,5 @@ const struct netproto proto_irda = { + .valid_triplets = irda_triplets, + .nr_triplets = ARRAY_SIZE(irda_triplets), + }; ++ ++#endif +diff --git a/net/protocols.c b/net/protocols.c +index 90a60affedca..87acf85c707f 100644 +--- a/net/protocols.c ++++ b/net/protocols.c +@@ -26,7 +26,9 @@ const struct protoptr net_protocols[TRINITY_PF_MAX] = { + #ifdef USE_RDS + [PF_RDS] = { .proto = &proto_rds }, + #endif ++#ifdef USE_IRDA + [PF_IRDA] = { .proto = &proto_irda }, ++#endif + [PF_LLC] = { .proto = &proto_llc }, + [PF_CAN] = { .proto = &proto_can }, + [PF_TIPC] = { .proto = &proto_tipc }, +-- +2.17.1 + diff --git a/bsp/buildroot/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch b/bsp/buildroot/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch new file mode 100644 index 00000000..54f8bea6 --- /dev/null +++ b/bsp/buildroot/package/trinity/0004-Check-if-VIDIOC_RESERVED-is-defined.patch @@ -0,0 +1,56 @@ +From a5f32b9714613404e9f4699aaaad720f2bb033b4 Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Thu, 23 Aug 2018 22:28:49 +0000 +Subject: [PATCH] Check if VIDIOC_RESERVED is defined. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +VIDIOC_RESERVED was removed in Linux 4.19. + +commit ea8532daee31bc72abfbc9ca7a43cbec0f6c05af +Author: Mauro Carvalho Chehab +Date: Wed May 30 11:07:05 2018 -0400 + + media: videodev2: get rid of VIDIOC_RESERVED + + While this ioctl is there at least since Kernel 2.6.12-rc2, it + was never used by any upstream driver. + + Get rid of it. + + Signed-off-by: Mauro Carvalho Chehab + +This patch fixes this build error. + + CC ioctls/videodev2.o +In file included from ioctls/videodev2.c:4: +ioctls/videodev2.c:8:8: error: ‘VIDIOC_RESERVED’ undeclared here (not in a function); did you mean ‘VIDIOC_G_STD’? + IOCTL(VIDIOC_RESERVED), + ^~~~~~~~~~~~~~~ +include/ioctls.h:53:15: note: in definition of macro ‘IOCTL’ + { .request = _request, .name = #_request, } + ^~~~~~~~ + +Signed-off-by: Vinson Lee +Signed-off-by: Fabrice Fontaine +[Retrieved from: +https://github.com/kernelslacker/trinity/commit/a5f32b9714613404e9f4699aaaad720f2bb033b4] +--- + ioctls/videodev2.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ioctls/videodev2.c b/ioctls/videodev2.c +index f7183f29..67089abf 100644 +--- a/ioctls/videodev2.c ++++ b/ioctls/videodev2.c +@@ -5,7 +5,9 @@ + + static const struct ioctl videodev2_ioctls[] = { + IOCTL(VIDIOC_QUERYCAP), ++#ifdef VIDIOC_RESERVED + IOCTL(VIDIOC_RESERVED), ++#endif + IOCTL(VIDIOC_ENUM_FMT), + IOCTL(VIDIOC_G_FMT), + IOCTL(VIDIOC_S_FMT), diff --git a/bsp/buildroot/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch b/bsp/buildroot/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch new file mode 100644 index 00000000..438bbfb5 --- /dev/null +++ b/bsp/buildroot/package/trinity/0005-proto-rds-include-libc-network-headers-first.patch @@ -0,0 +1,48 @@ +From 350c05e5c0d7af5941a9c17f2f86e1c6297d7475 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Wed, 12 Dec 2018 20:52:50 +0200 +Subject: [PATCH] proto-rds: include libc network headers first + +To avoid collisions between libc networking headers and header kernels +the libc headers must appear first in the list of headers. This fixes a +build issue with kernel headers v4.19: + +In file included from include/net.h:5:0, + from net/proto-rds.c:6: +.../sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr' + struct in6_addr { + ^~~~~~~~ +In file included from .../sysroot/usr/include/linux/rds.h:40:0, + from net/proto-rds.c:4: +.../sysroot/usr/include/linux/in6.h:33:8: note: originally defined here + struct in6_addr { + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: https://github.com/kernelslacker/trinity/pull/29 + + net/proto-rds.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/proto-rds.c b/net/proto-rds.c +index c8ff22f886c3..06e36e82d990 100644 +--- a/net/proto-rds.c ++++ b/net/proto-rds.c +@@ -1,12 +1,12 @@ + #ifdef USE_RDS + #include + #include +-#include + #include + #include "net.h" + #include "compat.h" + #include "random.h" + #include "utils.h" // RAND_ARRAY ++#include + + static void rds_gen_sockaddr(struct sockaddr **addr, socklen_t *addrlen) + { +-- +2.19.2 + diff --git a/bsp/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch b/bsp/buildroot/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch similarity index 97% rename from bsp/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch rename to bsp/buildroot/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch index 3275b76a..b1179eb4 100644 --- a/bsp/buildroot/package/trousers/0002-Check-if-the-compiler-understands-pie-and-relro-options.patch +++ b/bsp/buildroot/package/trousers/0001-Check-if-the-compiler-understands-pie-and-relro-options.patch @@ -8,8 +8,10 @@ executables, and -Wl,-z,relro turns on read-only relocation support in gcc. Add checks to ensure that the compiler and linker understand these options. Signed-off-by: Lada Trimasova +[Bernd: Rebased for version 0.3.14] +Signed-off-by: Bernd Kuhls --- - configure.in | 5 +++ + configure.ac | 5 +++ m4/ax_check_compile_flag.m4 | 72 ++++++++++++++++++++++++++++++++++++ m4/ax_check_link_flag.m4 | 71 +++++++++++++++++++++++++++++++++++ src/tcsd/Makefile.am | 4 +- @@ -19,12 +21,12 @@ Signed-off-by: Lada Trimasova diff --git a/configure.in b/configure.in index add23dc..9603353 100644 ---- a/configure.in -+++ b/configure.in +--- a/configure.ac ++++ b/configure.ac @@ -12,6 +12,7 @@ TSS_VER_MINOR=3 # compute $target AC_CANONICAL_TARGET - AM_INIT_AUTOMAKE([foreign 1.6]) + AM_INIT_AUTOMAKE([foreign subdir-objects 1.6]) +AC_CONFIG_MACRO_DIR([m4]) # Debugging support @@ -205,11 +207,8 @@ index 2210734..6640ab2 100644 -tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include -fPIE -DPIE +tcsd_CFLAGS=-DAPPID=\"TCSD\" -DVAR_PREFIX=\"@localstatedir@\" -DETC_PREFIX=\"@sysconfdir@\" -I${top_srcdir}/src/include $(PIE_CFLAGS) tcsd_LDADD=${top_builddir}/src/tcs/libtcs.a ${top_builddir}/src/tddl/libtddl.a -lpthread @CRYPTOLIB@ --tcsd_LDFLAGS=-pie -Wl,-z,relro -Wl,-z,now +-tcsd_LDFLAGS=@TCSD_LDFLAGS@ +tcsd_LDFLAGS=$(PIE_LDFLAGS) $(RELRO_LDFLAGS) - tcsd_SOURCES=svrside.c tcsd_conf.c tcsd_threads.c platform.c --- -2.5.0 - + if TSS_BUILD_PS diff --git a/bsp/buildroot/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch b/bsp/buildroot/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch deleted file mode 100644 index b0db70b4..00000000 --- a/bsp/buildroot/package/trousers/0001-Remove-inline-for-read_data-and-write_data.patch +++ /dev/null @@ -1,94 +0,0 @@ -From f03c7987c234a81f7e4274b26bab07318357a2a5 Mon Sep 17 00:00:00 2001 -From: Sergio Prado -Date: Fri, 25 Dec 2015 20:09:21 -0200 -Subject: [PATCH] Remove inline for read_data and write_data - -read_data and write_data functions are declared with inline, but -their definition is not in a .h file. This is causing errors when -linking: - -tcsps.c:(.text+0x4ac): undefined reference to `read_data' -tcsps.c:(.text+0x1888): undefined reference to `write_data' -... - -Partial backport of upstream commit -3297fcdf5ac0df868778e976b8b59e35542c1ee2. - -Signed-off-by: Sergio Prado ---- - src/include/tcsps.h | 5 ----- - src/tcs/ps/ps_utils.c | 8 -------- - src/tspi/ps/ps_utils.c | 4 ++-- - 3 files changed, 2 insertions(+), 15 deletions(-) - -diff --git a/src/include/tcsps.h b/src/include/tcsps.h -index 87542965877d..dcd5db469822 100644 ---- a/src/include/tcsps.h -+++ b/src/include/tcsps.h -@@ -23,13 +23,8 @@ int get_file(); - int put_file(int); - void close_file(int); - void ps_destroy(); --#ifdef SOLARIS - TSS_RESULT read_data(int, void *, UINT32); - TSS_RESULT write_data(int, void *, UINT32); --#else --inline TSS_RESULT read_data(int, void *, UINT32); --inline TSS_RESULT write_data(int, void *, UINT32); --#endif - int write_key_init(int, UINT32, UINT32, UINT32); - TSS_RESULT cache_key(UINT32, UINT16, TSS_UUID *, TSS_UUID *, UINT16, UINT32, UINT32); - TSS_RESULT UnloadBlob_KEY_PS(UINT16 *, BYTE *, TSS_KEY *); -diff --git a/src/tcs/ps/ps_utils.c b/src/tcs/ps/ps_utils.c -index 2e7f502b9599..35ac89f8fc12 100644 ---- a/src/tcs/ps/ps_utils.c -+++ b/src/tcs/ps/ps_utils.c -@@ -42,11 +42,7 @@ - struct key_disk_cache *key_disk_cache_head = NULL; - - --#ifdef SOLARIS - TSS_RESULT --#else --inline TSS_RESULT --#endif - read_data(int fd, void *data, UINT32 size) - { - int rc; -@@ -64,11 +60,7 @@ read_data(int fd, void *data, UINT32 size) - } - - --#ifdef SOLARIS - TSS_RESULT --#else --inline TSS_RESULT --#endif - write_data(int fd, void *data, UINT32 size) - { - int rc; -diff --git a/src/tspi/ps/ps_utils.c b/src/tspi/ps/ps_utils.c -index aac40a147314..83259141d375 100644 ---- a/src/tspi/ps/ps_utils.c -+++ b/src/tspi/ps/ps_utils.c -@@ -22,7 +22,7 @@ - #include "tspps.h" - #include "tsplog.h" - --inline TSS_RESULT -+TSS_RESULT - read_data(int fd, void *data, UINT32 size) - { - int rc; -@@ -39,7 +39,7 @@ read_data(int fd, void *data, UINT32 size) - return TSS_SUCCESS; - } - --inline TSS_RESULT -+TSS_RESULT - write_data(int fd, void *data, UINT32 size) - { - int rc; --- -1.9.1 - diff --git a/bsp/buildroot/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch b/bsp/buildroot/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch similarity index 93% rename from bsp/buildroot/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch rename to bsp/buildroot/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch index 7014ad7a..ab2418c7 100644 --- a/bsp/buildroot/package/trousers/0004-Check-that-getpwent_r-is-available-before-using-it.patch +++ b/bsp/buildroot/package/trousers/0002-Check-that-getpwent_r-is-available-before-using-it.patch @@ -6,15 +6,17 @@ Subject: [PATCH] Check that getpwent_r is available before using it This fixes building trousers with musl Signed-off-by: Noé Rubinstein +[Bernd: Rebased for version 0.3.14] +Signed-off-by: Bernd Kuhls --- - configure.in | 4 ++++ + configure.ac | 4 ++++ src/tspi/ps/tspps.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/configure.in b/configure.in index fd3f5f1..e3d7acf 100644 ---- a/configure.in -+++ b/configure.in +--- a/configure.ac ++++ b/configure.ac @@ -145,6 +145,10 @@ else AC_MSG_ERROR(["gtk", "openssl" and "none" are the only supported gui options for trousers]) fi diff --git a/bsp/buildroot/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch b/bsp/buildroot/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch deleted file mode 100644 index f88e47ac..00000000 --- a/bsp/buildroot/package/trousers/0003-tsp_tcsi_param-include-limits.h-to-fix-musl-build.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 66bbe0a87818a1e3c721780dc33b2d81fdf4a774 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Sun, 21 Aug 2016 23:32:10 +0200 -Subject: [PATCH] tsp_tcsi_param: include limits.h to fix musl build - -The musl libc doesn't provide , use -instead. - -Signed-off-by: Romain Naour ---- - src/tspi/tsp_tcsi_param.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/tspi/tsp_tcsi_param.c b/src/tspi/tsp_tcsi_param.c -index 670f86f..8f2b4e4 100644 ---- a/src/tspi/tsp_tcsi_param.c -+++ b/src/tspi/tsp_tcsi_param.c -@@ -11,7 +11,7 @@ - #include - #include - #include --#include -+#include - #include "trousers/tss.h" - #include "trousers/trousers.h" - #include "trousers_types.h" --- -2.5.5 - diff --git a/bsp/buildroot/package/trousers/Config.in b/bsp/buildroot/package/trousers/Config.in index 7a147062..998df983 100644 --- a/bsp/buildroot/package/trousers/Config.in +++ b/bsp/buildroot/package/trousers/Config.in @@ -3,8 +3,6 @@ config BR2_PACKAGE_TROUSERS depends on BR2_TOOLCHAIN_HAS_THREADS # doesn't build properly in static only configurations depends on !BR2_STATIC_LIBS - # ARC toolchain issue - depends on !BR2_arc select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE help @@ -18,4 +16,3 @@ config BR2_PACKAGE_TROUSERS comment "trousers needs a toolchain w/ threads, dynamic library" depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS - depends on !BR2_arc diff --git a/bsp/buildroot/package/trousers/trousers.hash b/bsp/buildroot/package/trousers/trousers.hash index 997cfa97..20c65c45 100644 --- a/bsp/buildroot/package/trousers/trousers.hash +++ b/bsp/buildroot/package/trousers/trousers.hash @@ -1,3 +1,6 @@ -# http://sourceforge.net/projects/trousers/files/trousers/0.3.13/ -sha1 d23f1a3df4febffc4174f5cca7d1c54230477bb2 trousers-0.3.13.tar.gz -md5 ad508f97b406f6e48cd90e85d78e7ca8 trousers-0.3.13.tar.gz +# http://sourceforge.net/projects/trousers/files/trousers/0.3.14/ +sha1 9ca2cc9e1179465f6c5d9055e2b855e25031b85a trousers-0.3.14.tar.gz +md5 4a476b4f036dd20a764fb54fc24edbec trousers-0.3.14.tar.gz +# Locally computed +sha256 ce50713a261d14b735ec9ccd97609f0ad5ce69540af560e8c3ce9eb5f2d28f47 trousers-0.3.14.tar.gz +sha256 1ad596d12e7471549663c03e280b5b5d084a2e853fb86e4d766109818f9d7dae LICENSE diff --git a/bsp/buildroot/package/trousers/trousers.mk b/bsp/buildroot/package/trousers/trousers.mk index e49c2ac1..1d536495 100644 --- a/bsp/buildroot/package/trousers/trousers.mk +++ b/bsp/buildroot/package/trousers/trousers.mk @@ -4,7 +4,7 @@ # ################################################################################ -TROUSERS_VERSION = 0.3.13 +TROUSERS_VERSION = 0.3.14 TROUSERS_SITE = http://downloads.sourceforge.net/project/trousers/trousers/$(TROUSERS_VERSION) TROUSERS_LICENSE = BSD-3-Clause TROUSERS_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/ts4900-fpga/ts4900-fpga.mk b/bsp/buildroot/package/ts4900-fpga/ts4900-fpga.mk index ed951b8c..7bb62a39 100644 --- a/bsp/buildroot/package/ts4900-fpga/ts4900-fpga.mk +++ b/bsp/buildroot/package/ts4900-fpga/ts4900-fpga.mk @@ -11,7 +11,7 @@ TS4900_FPGA_SITE = ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4900- # https://github.com/embeddedarm/meta-ts/blob/f31860f1204b64f765a5380d3b93a2cf18234f90/recipes-extras/ts4900-fpga/ts4900-fpga.bb#L6 define TS4900_FPGA_EXTRACT_CMDS - cp $(DL_DIR)/$(TS4900_FPGA_SOURCE) $(@D) + cp $(TS4900_FPGA_DL_DIR)/$(TS4900_FPGA_SOURCE) $(@D) endef define TS4900_FPGA_INSTALL_TARGET_CMDS diff --git a/bsp/buildroot/package/tslib/tslib.hash b/bsp/buildroot/package/tslib/tslib.hash index f0c6ff84..cfe78765 100644 --- a/bsp/buildroot/package/tslib/tslib.hash +++ b/bsp/buildroot/package/tslib/tslib.hash @@ -1,5 +1,5 @@ -# https://github.com/kergoth/tslib/releases/download/1.15/tslib-1.15.tar.xz.sha256 -sha256 7ce48807cab655076d71a1ceef3ed0ab8a25df98074981d4a8fd1477ee5f710c tslib-1.15.tar.xz +# https://github.com/kergoth/tslib/releases/download/1.19/tslib-1.19.tar.xz.sha256 +sha256 efe1fef16a00dc818f1d8e402877184dadf331f1b0dd1fbfeeb2698ee8647f4d tslib-1.19.tar.xz # Locally computed sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 COPYING diff --git a/bsp/buildroot/package/tslib/tslib.mk b/bsp/buildroot/package/tslib/tslib.mk index 3ba94d25..ccc2671c 100644 --- a/bsp/buildroot/package/tslib/tslib.mk +++ b/bsp/buildroot/package/tslib/tslib.mk @@ -4,7 +4,7 @@ # ################################################################################ -TSLIB_VERSION = 1.15 +TSLIB_VERSION = 1.19 TSLIB_SITE = https://github.com/kergoth/tslib/releases/download/$(TSLIB_VERSION) TSLIB_SOURCE = tslib-$(TSLIB_VERSION).tar.xz TSLIB_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries) diff --git a/bsp/buildroot/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch b/bsp/buildroot/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch deleted file mode 100644 index deed9f98..00000000 --- a/bsp/buildroot/package/tvheadend/0002-sbuf-fix-uclibc-compilation-error.patch +++ /dev/null @@ -1,33 +0,0 @@ -From b16ad4d258409fbd6acf843d62a7a84f621e3b70 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Mon, 18 Dec 2017 20:52:06 +0100 -Subject: [PATCH] sbuf: fix uclibc compilation error - -Fixes build error - -tvheadend-e06ffd87beff16103c47d6fa542df2374fca6fd3/src/sbuf.h:77:1: - error: unknown type name 'ssize_t'; did you mean 'size_t'? - ssize_t sbuf_read(sbuf_t *sb, int fd); - -Patch sent upstream: https://github.com/tvheadend/tvheadend/pull/1062 - -Signed-off-by: Bernd Kuhls ---- - src/sbuf.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/sbuf.h b/src/sbuf.h -index 78aa546b3..d5aa53042 100644 ---- a/src/sbuf.h -+++ b/src/sbuf.h -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - /** - * Simple dynamically growing buffer --- -2.11.0 - diff --git a/bsp/buildroot/package/tvheadend/Config.in b/bsp/buildroot/package/tvheadend/Config.in index de37b614..5db64440 100644 --- a/bsp/buildroot/package/tvheadend/Config.in +++ b/bsp/buildroot/package/tvheadend/Config.in @@ -37,7 +37,7 @@ config BR2_PACKAGE_TVHEADEND_TRANSCODING select BR2_PACKAGE_FFMPEG_AVRESAMPLE select BR2_PACKAGE_FFMPEG_GPL # needed for x264 support select BR2_PACKAGE_FFMPEG_SWSCALE - select BR2_PACKAGE_LIBVPX if !BR2_bfin # libvpx + select BR2_PACKAGE_LIBVPX select BR2_PACKAGE_X264 help Enable transcoding support. diff --git a/bsp/buildroot/package/tvheadend/S99tvheadend b/bsp/buildroot/package/tvheadend/S99tvheadend index 65669ce4..fc125a23 100644 --- a/bsp/buildroot/package/tvheadend/S99tvheadend +++ b/bsp/buildroot/package/tvheadend/S99tvheadend @@ -5,11 +5,8 @@ PATH=/usr/sbin:/usr/bin:/sbin:/bin NAME=tvheadend -DAEMON=/usr/bin/$NAME PIDFILE=/var/run/$NAME.pid -[ -f "${DAEMON}" -a -x "${DAEMON}" ] || exit 0 - # Read configuration variable file if it is present [ -r "/etc/default/${NAME}" ] && . "/etc/default/${NAME}" @@ -29,7 +26,7 @@ fi case "$1" in start) printf "Starting TVHeadend daemon: " - if start-stop-daemon -S -q -p ${PIDFILE} -m --exec "${DAEMON}" -- ${ARGS}; then + if start-stop-daemon -S -q -p ${PIDFILE} -m --exec /usr/bin/tvheadend -- ${ARGS}; then printf "OK\n" else printf "failed\n" diff --git a/bsp/buildroot/package/tvheadend/tvheadend.hash b/bsp/buildroot/package/tvheadend/tvheadend.hash index 4e890a82..43178b87 100644 --- a/bsp/buildroot/package/tvheadend/tvheadend.hash +++ b/bsp/buildroot/package/tvheadend/tvheadend.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 32f96937a3ffa72b5bdbfde9a5f9f9535f88e94e44864d4c8c6a152985c16569 tvheadend-e06ffd87beff16103c47d6fa542df2374fca6fd3.tar.gz +sha256 92c5f2cdda085b81fc50025afeb3ece74f60fae2b26f40a7dd07e227b0db2d9f tvheadend-17dff3e5ffbd67174b6c0d7b49f5488e19ec1ead.tar.gz sha256 54dc3cbc00bf126bcba43e2af7f3ad1dc00f335985da1409fa943c7b7256d942 LICENSE.md diff --git a/bsp/buildroot/package/tvheadend/tvheadend.mk b/bsp/buildroot/package/tvheadend/tvheadend.mk index 45ea7bfc..e92c1110 100644 --- a/bsp/buildroot/package/tvheadend/tvheadend.mk +++ b/bsp/buildroot/package/tvheadend/tvheadend.mk @@ -4,7 +4,7 @@ # ################################################################################ -TVHEADEND_VERSION = e06ffd87beff16103c47d6fa542df2374fca6fd3 +TVHEADEND_VERSION = 17dff3e5ffbd67174b6c0d7b49f5488e19ec1ead TVHEADEND_SITE = $(call github,tvheadend,tvheadend,$(TVHEADEND_VERSION)) TVHEADEND_LICENSE = GPL-3.0+ TVHEADEND_LICENSE_FILES = LICENSE.md @@ -65,9 +65,9 @@ endif ifeq ($(BR2_PACKAGE_LIBDVBCSA),y) TVHEADEND_DEPENDENCIES += libdvbcsa -TVHEADEND_CONF_OPTS += --enable-dvbcsa +TVHEADEND_CONF_OPTS += --enable-tvhcsa else -TVHEADEND_CONF_OPTS += --disable-dvbcsa +TVHEADEND_CONF_OPTS += --disable-tvhcsa endif ifeq ($(BR2_PACKAGE_LIBHDHOMERUN),y) @@ -114,7 +114,7 @@ define TVHEADEND_CONFIGURE_CMDS ./configure \ --prefix=/usr \ --arch="$(ARCH)" \ - --cpu="$(BR2_GCC_TARGET_CPU)" \ + --cpu="$(GCC_TARGET_CPU)" \ --nowerror \ --python="$(HOST_DIR)/bin/python" \ --enable-dvbscan \ diff --git a/bsp/buildroot/package/tzdata/tzdata.hash b/bsp/buildroot/package/tzdata/tzdata.hash index cfcd49ef..6a0ea17c 100644 --- a/bsp/buildroot/package/tzdata/tzdata.hash +++ b/bsp/buildroot/package/tzdata/tzdata.hash @@ -1,2 +1,2 @@ -# From http://mm.icann.org/pipermail/tz-announce/2018-January/000048.html -sha512 0575c87c9ffcde7b7f62b0df928d8a0e8d93f832b5ef7227b3d8431686f851f1fd5372c7e768f2979830352433b31df7f3979a00c28ea3973a3a0987ebbfb835 tzdata2018c.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2018-May/000050.html +sha512 d059fcd381b2f6ecdafcd68fdd2a00451d1bf9b1affeb164ae7cabca2e022d499e77f0706ec3f3091b8e84c2211aa66da6c90937108771f1bf070cfebc105cae tzdata2018e.tar.gz diff --git a/bsp/buildroot/package/tzdata/tzdata.mk b/bsp/buildroot/package/tzdata/tzdata.mk index 28323e84..e20c9462 100644 --- a/bsp/buildroot/package/tzdata/tzdata.mk +++ b/bsp/buildroot/package/tzdata/tzdata.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDATA_VERSION = 2018c +TZDATA_VERSION = 2018e TZDATA_SOURCE = tzdata$(TZDATA_VERSION).tar.gz TZDATA_SITE = http://www.iana.org/time-zones/repository/releases TZDATA_STRIP_COMPONENTS = 0 diff --git a/bsp/buildroot/package/tzdump/tzdump.hash b/bsp/buildroot/package/tzdump/tzdump.hash index 71114e0b..b0d58c62 100644 --- a/bsp/buildroot/package/tzdump/tzdump.hash +++ b/bsp/buildroot/package/tzdump/tzdump.hash @@ -1,2 +1,2 @@ # locally computed -sha256 403f22f9c3007a051f9dbccff48b396b8e04eb1afcc8d779e6b3d9b6d971e1fe tzdump-65a10105564801094b18c3fcacf4dde4c44e4ab8.tar.gz +sha256 e078ba9bd90cb46368beb3cfef2288194e5edefd53ad9565961a97d1c7d6c59f tzdump-e1a52ce12a701b8ea4163d6719713e38c0e53d35.tar.gz diff --git a/bsp/buildroot/package/tzdump/tzdump.mk b/bsp/buildroot/package/tzdump/tzdump.mk index baad978c..f6b6a1a7 100644 --- a/bsp/buildroot/package/tzdump/tzdump.mk +++ b/bsp/buildroot/package/tzdump/tzdump.mk @@ -4,7 +4,7 @@ # ################################################################################ -TZDUMP_VERSION = 65a10105564801094b18c3fcacf4dde4c44e4ab8 +TZDUMP_VERSION = e1a52ce12a701b8ea4163d6719713e38c0e53d35 TZDUMP_SITE = $(call github,alexandrebelloni,tzdump,$(TZDUMP_VERSION)) HOST_TZDUMP_DEPENDENCIES = host-zic diff --git a/bsp/buildroot/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch b/bsp/buildroot/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch deleted file mode 100644 index 9f183428..00000000 --- a/bsp/buildroot/package/uboot-tools/0004-tools-Include-U-Boot-libfdt-headers-from-their-actua.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e0d20dc1521e74b82dbd69be53a048847798a90a Mon Sep 17 00:00:00 2001 -From: Paul Kocialkowski -Date: Fri, 2 Mar 2018 23:13:42 +0100 -Subject: [PATCH] tools: Include U-Boot libfdt headers from their actual path - -There are no headers for libfdt in lib/libfdt, as they are instead -located in scripts/dtc/libfdt. Specifying lib/libfdt for headers -inclusion in host tools results in using the system libfdt headers, -which is not what we want. Change this to the proper path. - -Signed-off-by: Paul Kocialkowski -[Backport from upstream commit e0d20dc1521e74b82dbd69be53a048847798a90a] -Signed-off-by: Thomas Petazzoni ---- - tools/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/Makefile b/tools/Makefile -index d3387fad69..f38f68ee47 100644 ---- a/tools/Makefile -+++ b/tools/Makefile -@@ -244,7 +244,7 @@ endif # !LOGO_BMP - # - HOST_EXTRACFLAGS += -include $(srctree)/include/compiler.h \ - $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \ -- -I$(srctree)/lib/libfdt \ -+ -I$(srctree)/scripts/dtc/libfdt \ - -I$(srctree)/tools \ - -DUSE_HOSTCC \ - -D__KERNEL_STRICT_NAMES \ --- -2.14.3 - diff --git a/bsp/buildroot/package/uboot-tools/uboot-tools.hash b/bsp/buildroot/package/uboot-tools/uboot-tools.hash index 9425df3f..97d0bd0b 100644 --- a/bsp/buildroot/package/uboot-tools/uboot-tools.hash +++ b/bsp/buildroot/package/uboot-tools/uboot-tools.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 938f597394b33e82e5af8c98bd5ea1a238f61892aabef36384adbf7ca5b52dda u-boot-2018.01.tar.bz2 +sha256 9f10df88bc91b35642e461217f73256bbaeeca9ae2db8db56197ba5e89e1f6d4 u-boot-2018.07.tar.bz2 diff --git a/bsp/buildroot/package/uboot-tools/uboot-tools.mk b/bsp/buildroot/package/uboot-tools/uboot-tools.mk index 94648cc6..5ac7b1c2 100644 --- a/bsp/buildroot/package/uboot-tools/uboot-tools.mk +++ b/bsp/buildroot/package/uboot-tools/uboot-tools.mk @@ -4,7 +4,7 @@ # ################################################################################ -UBOOT_TOOLS_VERSION = 2018.01 +UBOOT_TOOLS_VERSION = 2018.07 UBOOT_TOOLS_SOURCE = u-boot-$(UBOOT_TOOLS_VERSION).tar.bz2 UBOOT_TOOLS_SITE = ftp://ftp.denx.de/pub/u-boot UBOOT_TOOLS_LICENSE = GPL-2.0+ diff --git a/bsp/buildroot/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch b/bsp/buildroot/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch new file mode 100644 index 00000000..34760f3d --- /dev/null +++ b/bsp/buildroot/package/uclibc-ng-test/0002-Add-NO_CRYPT-to-fix-build-with-glibc-2.28.patch @@ -0,0 +1,43 @@ +From 164b1b5592ef6ad9fceba06bdfa31787e9c0329d Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Wed, 14 Nov 2018 21:26:54 +0100 +Subject: [PATCH] Add NO_CRYPT to fix build with glibc 2.28 + +Since glibc 2.28 +(https://savannah.gnu.org/forum/forum.php?forum_id=9205), the obsolete +functions encrypt, encrypt_r, setkey, setkey_r, cbc_crypt, ecb_crypt, +and des_setparity are no longer available to newly linked binaries, and +the headers and are no longer +installed. These functions encrypted and decrypted data with the DES +block cipher, which is no longer considered secure. Software that still +uses these functions should switch to a modern cryptography library, +such as libgcrypt. + +So add a NO_CRYPT variable to disable test/crypt + +Fixes: + - http://autobuild.buildroot.org/results/158438debb0ce313b012b871e199bed42ba38294 + +Signed-off-by: Fabrice Fontaine +--- + test/Makefile | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/test/Makefile b/test/Makefile +index 5a136ea..6690d25 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -39,6 +39,10 @@ ifeq ($(NO_MATH),1) + DIRS := $(filter-out math,$(DIRS)) + endif + ++ifeq ($(NO_CRYPT),1) ++DIRS := $(filter-out crypt,$(DIRS)) ++endif ++ + test check all: run + + run: subdirs_run +-- +2.14.1 + diff --git a/bsp/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk b/bsp/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk index 0e6433c8..aeea799d 100644 --- a/bsp/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk +++ b/bsp/buildroot/package/uclibc-ng-test/uclibc-ng-test.mk @@ -13,6 +13,11 @@ UCLIBC_NG_TEST_LICENSE_FILES = COPYING.LIB # regular testing is possible UCLIBC_NG_TEST_MAKE_ENV += NO_MATH=1 +# obsolete encrypt and setkey functions are not available since glibc 2.28 +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) +UCLIBC_NG_TEST_MAKE_ENV += NO_CRYPT=1 +endif + # locale tests are not compatible with musl, yet ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) UCLIBC_NG_TEST_MAKE_ENV += NO_LOCALE=1 diff --git a/bsp/buildroot/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch b/bsp/buildroot/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch deleted file mode 100644 index 0a1fdf6c..00000000 --- a/bsp/buildroot/package/uclibc/0001-aarch64-sys-ucontext.h-include-bits-sigcontext.h.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 1c27982bb8a007bb1a6a29db8e6efb1f40975879 Mon Sep 17 00:00:00 2001 -From: Bernd Kuhls -Date: Sun, 28 Jan 2018 13:59:30 +0100 -Subject: [PATCH 1/1] aarch64/sys/ucontext.h: include bits/sigcontext.h - -Fixes a buildroot build error with ffmpeg - -In file included from /home/bernd/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/signal.h:329:0, - from fftools/ffmpeg.h:26, - from fftools/ffmpeg_opt.c:23: -/home/bernd/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/sys/ucontext.h:52:16: - error: field 'uc_mcontext' has incomplete type - mcontext_t uc_mcontext; - ^~~~~~~~~~~ - -using this defconfig: - -BR2_aarch64=y -BR2_PACKAGE_FFMPEG=y - -sys/ucontext.h for other archs already include bits/sigcontext.h, -on aarch64 this is needed as well. - -Patch sent upstream: -https://mailman.uclibc-ng.org/pipermail/devel/2018-January/001622.html - -Signed-off-by: Bernd Kuhls ---- - libc/sysdeps/linux/aarch64/sys/ucontext.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/libc/sysdeps/linux/aarch64/sys/ucontext.h b/libc/sysdeps/linux/aarch64/sys/ucontext.h -index d17458896..dc7303b54 100644 ---- a/libc/sysdeps/linux/aarch64/sys/ucontext.h -+++ b/libc/sysdeps/linux/aarch64/sys/ucontext.h -@@ -26,6 +26,10 @@ - - #include - -+/* We need the signal context definitions even if they are not used -+ included in . */ -+#include -+ - typedef elf_greg_t greg_t; - - /* Container for all general registers. */ --- -2.11.0 - diff --git a/bsp/buildroot/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch b/bsp/buildroot/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch new file mode 100644 index 00000000..b8753ed8 --- /dev/null +++ b/bsp/buildroot/package/uclibc/0001-statfs.h-sync-generic-header-with-glibc.patch @@ -0,0 +1,169 @@ +From 8a73a967e18c55199785bae0f22dc94d9b2f8985 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Tue, 27 Nov 2018 15:41:37 +0100 +Subject: [PATCH] statfs.h: sync generic header with glibc + +Fix issues with aarch64 and df with mismatching header between kernel +and libc. + +Signed-off-by: Waldemar Brodkorb +--- + .../linux/common-generic/bits/statfs.h | 84 +++++++++---------- + libc/sysdeps/linux/common/fstatfs.c | 9 -- + libc/sysdeps/linux/common/statfs.c | 10 --- + 3 files changed, 40 insertions(+), 63 deletions(-) + +diff --git a/libc/sysdeps/linux/common-generic/bits/statfs.h b/libc/sysdeps/linux/common-generic/bits/statfs.h +index a2767b49a..23519a57e 100644 +--- a/libc/sysdeps/linux/common-generic/bits/statfs.h ++++ b/libc/sysdeps/linux/common-generic/bits/statfs.h +@@ -11,65 +11,61 @@ + #include + #include + #include ++#include + ++/* 64-bit libc uses the kernel's 'struct statfs', accessed via the ++ statfs() syscall; 32-bit libc uses the kernel's 'struct statfs64' ++ and accesses it via the statfs64() syscall. All the various ++ APIs offered by libc use the kernel shape for their struct statfs ++ structure; the only difference is that 32-bit programs not ++ using __USE_FILE_OFFSET64 only see the low 32 bits of some ++ of the fields (the __fsblkcnt_t and __fsfilcnt_t fields). */ ++ ++#if defined __USE_FILE_OFFSET64 ++# define __field64(type, type64, name) type64 name ++#elif __WORDSIZE == 64 ++# define __field64(type, type64, name) type name ++#elif __BYTE_ORDER == __LITTLE_ENDIAN ++# define __field64(type, type64, name) \ ++ type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad ++#else ++# define __field64(type, type64, name) \ ++ int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name ++#endif + + struct statfs + { +- __U32_TYPE f_type; +- __U32_TYPE f_bsize; +-#ifndef __USE_FILE_OFFSET64 +-# if __BYTE_ORDER == __LITTLE_ENDIAN +- __U32_TYPE f_blocks; +- __U32_TYPE __pad1; +- __U32_TYPE f_bfree; +- __U32_TYPE __pad2; +- __U32_TYPE f_bavail; +- __U32_TYPE __pad3; +- __U32_TYPE f_files; +- __U32_TYPE __pad4; +- __U32_TYPE f_ffree; +- __U32_TYPE __pad5; +-# else +- __U32_TYPE __pad1; +- __U32_TYPE f_blocks; +- __U32_TYPE __pad2; +- __U32_TYPE f_bfree; +- __U32_TYPE __pad3; +- __U32_TYPE f_bavail; +- __U32_TYPE __pad4; +- __U32_TYPE f_files; +- __U32_TYPE __pad5; +- __U32_TYPE f_ffree; +-# endif /* __LITTLE_ENDIAN */ +-#else +- __U64_TYPE f_blocks; +- __U64_TYPE f_bfree; +- __U64_TYPE f_bavail; +- __U64_TYPE f_files; +- __U64_TYPE f_ffree; +-#endif /* __USE_FILE_OFFSET64 */ ++ __SWORD_TYPE f_type; ++ __SWORD_TYPE f_bsize; ++ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks); ++ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree); ++ __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail); ++ __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files); ++ __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree); + __fsid_t f_fsid; +- __U32_TYPE f_namelen; +- __U32_TYPE f_frsize; +- __U32_TYPE f_flags; +- __U32_TYPE f_spare[4]; +- } __ARCH_64BIT_ALIGNMENT__; ++ __SWORD_TYPE f_namelen; ++ __SWORD_TYPE f_frsize; ++ __SWORD_TYPE f_flags; ++ __SWORD_TYPE f_spare[4]; ++ }; ++ ++#undef __field64 + + #ifdef __USE_LARGEFILE64 + struct statfs64 + { +- __U32_TYPE f_type; +- __U32_TYPE f_bsize; ++ __SWORD_TYPE f_type; ++ __SWORD_TYPE f_bsize; + __U64_TYPE f_blocks; + __U64_TYPE f_bfree; + __U64_TYPE f_bavail; + __U64_TYPE f_files; + __U64_TYPE f_ffree; + __fsid_t f_fsid; +- __U32_TYPE f_namelen; +- __U32_TYPE f_frsize; +- __U32_TYPE f_flags; +- __U32_TYPE f_spare[4]; ++ __SWORD_TYPE f_namelen; ++ __SWORD_TYPE f_frsize; ++ __SWORD_TYPE f_flags; ++ __SWORD_TYPE f_spare[4]; + }; + #endif + +diff --git a/libc/sysdeps/linux/common/fstatfs.c b/libc/sysdeps/linux/common/fstatfs.c +index fcb0820eb..0b2709ce3 100644 +--- a/libc/sysdeps/linux/common/fstatfs.c ++++ b/libc/sysdeps/linux/common/fstatfs.c +@@ -30,15 +30,6 @@ _syscall2(int, __libc_fstatfs, int, fd, struct statfs *, buf) + int __libc_fstatfs (int __fildes, struct statfs *__buf) + { + int err = INLINE_SYSCALL(fstatfs64, 3, __fildes, sizeof(*__buf), __buf); +- +- if (err == 0) { +- /* Did we overflow? */ +- if (__buf->__pad1 || __buf->__pad2 || __buf->__pad3 || +- __buf->__pad4 || __buf->__pad5) { +- __set_errno(EOVERFLOW); +- return -1; +- } +- } + return err; + }; + /* Redefined fstatfs because we need it for backwards compatibility */ +diff --git a/libc/sysdeps/linux/common/statfs.c b/libc/sysdeps/linux/common/statfs.c +index ab9ec0e56..2990ff3e2 100644 +--- a/libc/sysdeps/linux/common/statfs.c ++++ b/libc/sysdeps/linux/common/statfs.c +@@ -18,16 +18,6 @@ extern __typeof(statfs) __libc_statfs attribute_hidden; + int __libc_statfs(const char *path, struct statfs *buf) + { + int err = INLINE_SYSCALL(statfs64, 3, path, sizeof(*buf), buf); +- +- if (err == 0) { +- /* Did we overflow? */ +- if (buf->__pad1 || buf->__pad2 || buf->__pad3 || +- buf->__pad4 || buf->__pad5) { +- __set_errno(EOVERFLOW); +- return -1; +- } +- } +- + return err; + } + # if defined __UCLIBC_LINUX_SPECIFIC__ || defined __UCLIBC_HAS_THREADS_NATIVE__ +-- +2.19.1 + diff --git a/bsp/buildroot/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch b/bsp/buildroot/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch new file mode 100644 index 00000000..030938bb --- /dev/null +++ b/bsp/buildroot/package/uclibc/0002-xtensa-add-custom-bits-poll.h.patch @@ -0,0 +1,93 @@ +From 0cae9700a4a421dc22c80d205fbae4d01fdd1356 Mon Sep 17 00:00:00 2001 +From: Max Filippov +Date: Wed, 12 Dec 2018 06:58:01 -0800 +Subject: [PATCH] xtensa: add custom bits/poll.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Definitions of POLLWRNORM, POLLWRBAND and POLLREMOVE in xtensa linux +kernel are non-standard. Provide bits/poll.h with correct values for +these constants. + +This fixes the following strace build errors: + + In file included from xlat/pollflags.h:4:0, + from poll.c:34: + ./static_assert.h:40:24: error: static assertion failed: "POLLWRBAND != 0x0100" + # define static_assert _Static_assert + ^ + xlat/pollflags.h:75:1: note: in expansion of macro ‘static_assert’ + static_assert((POLLWRBAND) == (0x0100), "POLLWRBAND != 0x0100"); + ^~~~~~~~~~~~~ + ./static_assert.h:40:24: error: static assertion failed: "POLLREMOVE != 0x0800" + # define static_assert _Static_assert + ^ + xlat/pollflags.h:117:1: note: in expansion of macro ‘static_assert’ + static_assert((POLLREMOVE) == (0x0800), "POLLREMOVE != 0x0800"); + ^~~~~~~~~~~~~ + +Signed-off-by: Max Filippov +--- + libc/sysdeps/linux/xtensa/bits/poll.h | 49 +++++++++++++++++++++++++++++++++++ + 1 file changed, 49 insertions(+) + create mode 100644 libc/sysdeps/linux/xtensa/bits/poll.h + +diff --git a/libc/sysdeps/linux/xtensa/bits/poll.h b/libc/sysdeps/linux/xtensa/bits/poll.h +new file mode 100644 +index 000000000000..4588cc326006 +--- /dev/null ++++ b/libc/sysdeps/linux/xtensa/bits/poll.h +@@ -0,0 +1,49 @@ ++/* Copyright (C) 1997, 2001, 2006 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#ifndef _SYS_POLL_H ++# error "Never use directly; include instead." ++#endif ++ ++/* Event types that can be polled for. These bits may be set in `events' ++ to indicate the interesting event types; they will appear in `revents' ++ to indicate the status of the file descriptor. */ ++#define POLLIN 0x001 /* There is data to read. */ ++#define POLLPRI 0x002 /* There is urgent data to read. */ ++#define POLLOUT 0x004 /* Writing now will not block. */ ++ ++#ifdef __USE_XOPEN ++/* These values are defined in XPG4.2. */ ++# define POLLRDNORM 0x040 /* Normal data may be read. */ ++# define POLLRDBAND 0x080 /* Priority data may be read. */ ++# define POLLWRNORM POLLOUT /* Writing now will not block. */ ++# define POLLWRBAND 0x100 /* Priority data may be written. */ ++#endif ++ ++#ifdef __USE_GNU ++/* These are extensions for Linux. */ ++# define POLLMSG 0x400 ++# define POLLREMOVE 0x800 ++# define POLLRDHUP 0x2000 ++#endif ++ ++/* Event types always implicitly polled for. These bits need not be set in ++ `events', but they will appear in `revents' to indicate the status of ++ the file descriptor. */ ++#define POLLERR 0x008 /* Error condition. */ ++#define POLLHUP 0x010 /* Hung up. */ ++#define POLLNVAL 0x020 /* Invalid polling request. */ +-- +2.11.0 + diff --git a/bsp/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch b/bsp/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch deleted file mode 100644 index f87abd88..00000000 --- a/bsp/buildroot/package/uclibc/0004-mkostemp64-clear-flags-as-mkostemp-does.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 09a776103e4aa75f95c9ad44554a9c2b56de3535 Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Mon, 29 Oct 2018 01:17:38 -0300 -Subject: [PATCH] mkostemp64: clear flags, as mkostemp does - -This should have been made in commit 9649721950 but was forgotten. - -Signed-off-by: Carlos Santos ---- - libc/stdlib/mkostemp64.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libc/stdlib/mkostemp64.c b/libc/stdlib/mkostemp64.c -index aa9736cd6..f4674bb0c 100644 ---- a/libc/stdlib/mkostemp64.c -+++ b/libc/stdlib/mkostemp64.c -@@ -15,9 +15,9 @@ - License along with the GNU C Library; if not, see - . */ - --#include - #include - #include -+#include - #include "../misc/internals/tempname.h" - - /* Generate a unique temporary file name from TEMPLATE. -@@ -27,6 +27,7 @@ - int - mkostemp64 (char *template, int flags) - { -+ flags -= flags & O_ACCMODE; /* Remove O_RDONLY, O_WRONLY, and O_RDWR. */ - return __gen_tempname (template, __GT_BIGFILE, flags | O_LARGEFILE, 0, - S_IRUSR | S_IWUSR); - } --- -2.14.5 - diff --git a/bsp/buildroot/package/uclibc/Config.in b/bsp/buildroot/package/uclibc/Config.in index ce56f277..de2885bc 100644 --- a/bsp/buildroot/package/uclibc/Config.in +++ b/bsp/buildroot/package/uclibc/Config.in @@ -53,7 +53,7 @@ config BR2_PTHREADS_NATIVE config BR2_PTHREADS bool "linuxthreads" - depends on BR2_bfin || BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa + depends on BR2_m68k || BR2_microblaze || BR2_or1k || BR2_arm || BR2_armeb || BR2_xtensa select BR2_TOOLCHAIN_HAS_THREADS config BR2_PTHREADS_NONE @@ -96,7 +96,6 @@ config BR2_UCLIBC_TARGET_ARCH string default "arc" if BR2_arcle || BR2_arceb default "arm" if BR2_arm || BR2_armeb - default "bfin" if BR2_bfin default "m68k" if BR2_m68k default "microblaze" if BR2_microblaze default "mips" if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el @@ -108,13 +107,6 @@ config BR2_UCLIBC_TARGET_ARCH default "i386" if BR2_i386 default "x86_64" if BR2_x86_64 -config BR2_UCLIBC_ARC_TYPE - string - default "ARC_CPU_700" if BR2_arc750d - default "ARC_CPU_700" if BR2_arc770d - default "ARC_CPU_HS" if BR2_archs38 - depends on BR2_UCLIBC_TARGET_ARCH = "arc" - config BR2_UCLIBC_MIPS_ABI string default "O32" if BR2_MIPS_OABI32 diff --git a/bsp/buildroot/package/uclibc/uclibc.hash b/bsp/buildroot/package/uclibc/uclibc.hash index 0a156836..d1cbdb6c 100644 --- a/bsp/buildroot/package/uclibc/uclibc.hash +++ b/bsp/buildroot/package/uclibc/uclibc.hash @@ -1,2 +1,4 @@ -# From https://uclibc-ng.org/ -sha256 a1504ddc34a29cc9bfd1f5a7419c4b63bb510d9e2faed81618d1b596ceb0a5a9 uClibc-ng-1.0.28.tar.xz +# From https://downloads.uclibc-ng.org/releases/1.0.31/uClibc-ng-1.0.31.tar.xz.sha256 +sha256 2215d7377118434d1697fd575f10d7a6be3f29e460d6b0e1ee9f6f5306288060 uClibc-ng-1.0.31.tar.xz +# Locally calculated +sha256 6095e9ffa777dd22839f7801aa845b31c9ed07f3d6bf8a26dc5d2dec8ccc0ef3 COPYING.LIB diff --git a/bsp/buildroot/package/uclibc/uclibc.mk b/bsp/buildroot/package/uclibc/uclibc.mk index c5b0c6b1..afc4872b 100644 --- a/bsp/buildroot/package/uclibc/uclibc.mk +++ b/bsp/buildroot/package/uclibc/uclibc.mk @@ -4,9 +4,9 @@ # ################################################################################ -UCLIBC_VERSION = 1.0.28 +UCLIBC_VERSION = 1.0.31 UCLIBC_SOURCE = uClibc-ng-$(UCLIBC_VERSION).tar.xz -UCLIBC_SITE = http://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) +UCLIBC_SITE = https://downloads.uclibc-ng.org/releases/$(UCLIBC_VERSION) UCLIBC_LICENSE = LGPL-2.1+ UCLIBC_LICENSE_FILES = COPYING.LIB UCLIBC_INSTALL_STAGING = YES @@ -52,14 +52,6 @@ UCLIBC_LOCALES = \ endif # noMMU binary formats -ifeq ($(BR2_BINFMT_FDPIC),y) -define UCLIBC_BINFMT_CONFIG - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) -endef -endif ifeq ($(BR2_BINFMT_FLAT_ONE),y) define UCLIBC_BINFMT_CONFIG $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) @@ -68,14 +60,6 @@ define UCLIBC_BINFMT_CONFIG $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) endef endif -ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y) -define UCLIBC_BINFMT_CONFIG - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) - $(call KCONFIG_ENABLE_OPT,UCLIBC_FORMAT_FLAT_SEP_DATA,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_SHARED_FLAT,$(@D)/.config) - $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FDPIC_ELF,$(@D)/.config) -endef -endif ifeq ($(BR2_BINFMT_FLAT_SHARED),y) define UCLIBC_BINFMT_CONFIG $(call KCONFIG_DISABLE_OPT,UCLIBC_FORMAT_FLAT,$(@D)/.config) @@ -90,11 +74,6 @@ endif # ifeq ($(UCLIBC_TARGET_ARCH),arc) -UCLIBC_ARC_TYPE = CONFIG_$(call qstrip,$(BR2_UCLIBC_ARC_TYPE)) -define UCLIBC_ARC_TYPE_CONFIG - $(call KCONFIG_ENABLE_OPT,$(UCLIBC_ARC_TYPE),$(@D)/.config) -endef - UCLIBC_ARC_PAGE_SIZE = CONFIG_ARC_PAGE_SIZE_$(call qstrip,$(BR2_ARC_PAGE_SIZE)) define UCLIBC_ARC_PAGE_SIZE_CONFIG $(SED) '/CONFIG_ARC_PAGE_SIZE_*/d' $(@D)/.config @@ -382,7 +361,7 @@ endif UCLIBC_MAKE_FLAGS = \ ARCH="$(UCLIBC_TARGET_ARCH)" \ CROSS_COMPILE="$(TARGET_CROSS)" \ - UCLIBC_EXTRA_CFLAGS="$(UCLIBC_EXTRA_CFLAGS) $(TARGET_ABI)" \ + UCLIBC_EXTRA_CFLAGS="$(TARGET_ABI)" \ HOSTCC="$(HOSTCC)" define UCLIBC_KCONFIG_FIXUP_CMDS @@ -395,7 +374,6 @@ define UCLIBC_KCONFIG_FIXUP_CMDS $(call KCONFIG_SET_OPT,SHARED_LIB_LOADER_PREFIX,"/lib",$(@D)/.config) $(UCLIBC_MMU_CONFIG) $(UCLIBC_BINFMT_CONFIG) - $(UCLIBC_ARC_TYPE_CONFIG) $(UCLIBC_ARC_PAGE_SIZE_CONFIG) $(UCLIBC_ARC_ATOMICS_CONFIG) $(UCLIBC_ARM_ABI_CONFIG) @@ -447,7 +425,6 @@ define UCLIBC_INSTALL_TARGET_CMDS RUNTIME_PREFIX=/ \ install_runtime $(UCLIBC_INSTALL_UTILS_TARGET) - $(UCLIBC_INSTALL_LDSO_SYMLINKS) endef # STATIC has no ld* tools, only getconf diff --git a/bsp/buildroot/package/udftools/0001-pktsetup-pktsetup.c-do-not-include-bits-types.h.patch b/bsp/buildroot/package/udftools/0001-pktsetup-pktsetup.c-do-not-include-bits-types.h.patch new file mode 100644 index 00000000..4d842821 --- /dev/null +++ b/bsp/buildroot/package/udftools/0001-pktsetup-pktsetup.c-do-not-include-bits-types.h.patch @@ -0,0 +1,32 @@ +From 8da4dde42cc25294819ad078432d85437e4a12ee Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 22 Apr 2018 15:05:46 +0200 +Subject: [PATCH] pktsetup/pktsetup.c: do not include + +This header is not a standard header, and is for example not provided +by the musl C library. + +This change has been tested by building udftools against glibc, uClibc +and musl. + +Signed-off-by: Thomas Petazzoni +Upstream-status: https://github.com/pali/udftools/pull/16 +--- + pktsetup/pktsetup.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/pktsetup/pktsetup.c b/pktsetup/pktsetup.c +index 8b3df51..81ed142 100644 +--- a/pktsetup/pktsetup.c ++++ b/pktsetup/pktsetup.c +@@ -27,7 +27,6 @@ + #include + #include + #include +-#include + #include + #include + #include +-- +2.14.3 + diff --git a/bsp/buildroot/package/udftools/0002-configure.ac-detect-readline-via-pkg-config-when-pos.patch b/bsp/buildroot/package/udftools/0002-configure.ac-detect-readline-via-pkg-config-when-pos.patch new file mode 100644 index 00000000..f73db99c --- /dev/null +++ b/bsp/buildroot/package/udftools/0002-configure.ac-detect-readline-via-pkg-config-when-pos.patch @@ -0,0 +1,60 @@ +From bdacf0101fea1dad2c89996b27cb4b9caee9109c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 22 Apr 2018 22:28:09 +0200 +Subject: [PATCH] configure.ac: detect readline via pkg-config when possible + +pkg-config automatically handles static linking situations, where for +example readline is linked against ncurses, and therefore -lncurses +needs to be passed in addition to -lreadline. + +This proposal uses pkg-config when available. If pkg-config is not +found, or readline is not found via pkg-config, we fallback to the +existing AC_CHECK_LIB(). This AC_CHECK_LIB() test is modified to set +READLINE_LIBS, like PKG_CHECK_MODULES() does. The Makefile.am +consequently uses READLINE_LIBS instead of hardcoding -lreadline. + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 14 ++++++++++++-- + wrudf/Makefile.am | 2 +- + 2 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 95fbba3..62b1caa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -9,8 +9,18 @@ AC_PROG_CC + AC_DISABLE_SHARED + AM_PROG_LIBTOOL + +-dnl Checks for libraries. +-AC_CHECK_LIB(readline, readline, [ ], AC_MSG_ERROR([cannot find -lreadline.])) ++PKG_PROG_PKG_CONFIG ++ ++dnl Checks for libraries, by using pkg-config when available ++if test -n "${PKG_CONFIG}" ; then ++ PKG_CHECK_MODULES([READLINE], [readline], [readline_found=yes], [readline_found=no]) ++fi ++ ++if test "${readline_found}" != "yes" ; then ++ AC_CHECK_LIB(readline, readline, ++ [AC_SUBST([READLINE_LIBS], [-lreadline])], ++ AC_MSG_ERROR([cannot find -lreadline.])) ++fi + + dnl Checks for header files. + AC_HEADER_STDC +diff --git a/wrudf/Makefile.am b/wrudf/Makefile.am +index fe1c269..e3ab85b 100644 +--- a/wrudf/Makefile.am ++++ b/wrudf/Makefile.am +@@ -1,5 +1,5 @@ + bin_PROGRAMS = wrudf +-wrudf_LDADD = $(top_builddir)/libudffs/libudffs.la -lreadline ++wrudf_LDADD = $(top_builddir)/libudffs/libudffs.la $(READLINE_LIBS) + wrudf_SOURCES = wrudf.c wrudf-cmnd.c wrudf-desc.c wrudf-cdrw.c wrudf-cdr.c ide-pc.c wrudf.h ide-pc.h ../include/ecma_167.h ../include/osta_udf.h ../include/bswap.h + + AM_CPPFLAGS = -I$(top_srcdir)/include -D_GNU_SOURCE -DDEBUG +-- +2.14.3 + diff --git a/bsp/buildroot/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch b/bsp/buildroot/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch new file mode 100644 index 00000000..ac56715d --- /dev/null +++ b/bsp/buildroot/package/udftools/0003-Include-sys-sysmacros-h-to-prevent-build-breakage-with-glibc-2-25.patch @@ -0,0 +1,38 @@ +From cca194f17fe2892c929acab2f1d5016ad38aa305 Mon Sep 17 00:00:00 2001 +From: Lars Wendler +Date: Tue, 2 Jan 2018 15:10:34 +0100 +Subject: [PATCH] Include to prevent build breakage with + >=glibc-2.25 + +libtool: link: x86_64-pc-linux-gnu-gcc -march=native -mtune=native -O2 +-pipe -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -o +mkudffs main.o mkudffs.o defaults.o file.o options.o +../libudffs/.libs/libudffs.a +main.o: In function `is_whole_disk': +main.c:(.text+0x2ce): undefined reference to `major' +main.c:(.text+0x2dd): undefined reference to `minor' +main.o: In function `main': +main.c:(.text.startup+0x72f): undefined reference to `minor' +main.c:(.text.startup+0x741): undefined reference to `major' +collect2: error: ld returned 1 exit status +make[1]: *** [Makefile:378: mkudffs] Error 1 + +Signed-off-by: Fabrice Fontaine +[Retrieved from +https://github.com/pali/udftools/commit/cca194f17fe2892c929acab2f1d5016ad38aa305] +--- + mkudffs/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/mkudffs/main.c b/mkudffs/main.c +index 066afac..3e306ac 100644 +--- a/mkudffs/main.c ++++ b/mkudffs/main.c +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + + #include "mkudffs.h" + #include "defaults.h" diff --git a/bsp/buildroot/package/udftools/Config.in b/bsp/buildroot/package/udftools/Config.in new file mode 100644 index 00000000..bbccd601 --- /dev/null +++ b/bsp/buildroot/package/udftools/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_UDFTOOLS + bool "udftools" + depends on BR2_USE_WCHAR + select BR2_PACKAGE_READLINE + help + Tools for creating UDF filesystems + Maintained fork of the 2004 Sourcforge package + + https://github.com/pali/udftools + +comment "udftools needs a toolchain w/ wchar" + depends on !BR2_USE_WCHAR diff --git a/bsp/buildroot/package/udftools/udftools.hash b/bsp/buildroot/package/udftools/udftools.hash new file mode 100644 index 00000000..837a5157 --- /dev/null +++ b/bsp/buildroot/package/udftools/udftools.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 67fe428d452901215cfad8049d250540c97114b1a20dd63277b91c2c4fae8292 udftools-2.0.tar.gz +sha256 dcc100d4161cc0b7177545ab6e47216f84857cda3843847c792a25289852dcaa COPYING diff --git a/bsp/buildroot/package/udftools/udftools.mk b/bsp/buildroot/package/udftools/udftools.mk new file mode 100644 index 00000000..e5bf5913 --- /dev/null +++ b/bsp/buildroot/package/udftools/udftools.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# udftools +# +################################################################################ + +UDFTOOLS_VERSION = 2.0 +UDFTOOLS_SITE = https://github.com/pali/udftools/releases/download/$(UDFTOOLS_VERSION) +UDFTOOLS_LICENSE = GPL-2.0+ +UDFTOOLS_LICENSE_FILES = COPYING +UDFTOOLS_AUTORECONF = YES +UDFTOOLS_DEPENDENCIES = readline host-pkgconf + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch b/bsp/buildroot/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch new file mode 100644 index 00000000..71152e5d --- /dev/null +++ b/bsp/buildroot/package/udisks/0003-Fix-compilation-issue-with-missing-sys-sysmacros.h-i.patch @@ -0,0 +1,81 @@ +From d934b0fa5ce24a8fd1987b916e435ba991c2ef64 Mon Sep 17 00:00:00 2001 +From: Vadim Kochan +Date: Mon, 31 Dec 2018 11:00:46 +0200 +Subject: [PATCH] Fix compilation issue due to missing sys/sysmacros.h include + +glibc 2.28+ no longer include from , so + must now be explicitly included to use the major, +minor and makedev macros. + +Signed-off-by: Vadim Kochan +--- + src/daemon.c | 1 + + src/device.c | 1 + + src/mount-monitor.c | 1 + + tools/udisks.c | 1 + + tools/umount-udisks.c | 1 + + 5 files changed, 5 insertions(+) + +diff --git a/src/daemon.c b/src/daemon.c +index fafcf9a..4303a6d 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/src/device.c b/src/device.c +index 2ae7f38..20920df 100644 +--- a/src/device.c ++++ b/src/device.c +@@ -33,6 +33,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/src/mount-monitor.c b/src/mount-monitor.c +index 573a69c..0cfa167 100644 +--- a/src/mount-monitor.c ++++ b/src/mount-monitor.c +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #include + + #include +diff --git a/tools/udisks.c b/tools/udisks.c +index 97e80d7..22a7d87 100644 +--- a/tools/udisks.c ++++ b/tools/udisks.c +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/tools/umount-udisks.c b/tools/umount-udisks.c +index 2813fe0..d915660 100644 +--- a/tools/umount-udisks.c ++++ b/tools/umount-udisks.c +@@ -30,6 +30,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.14.1 + diff --git a/bsp/buildroot/package/udisks/Config.in b/bsp/buildroot/package/udisks/Config.in index 6573cda2..c1e5538f 100644 --- a/bsp/buildroot/package/udisks/Config.in +++ b/bsp/buildroot/package/udisks/Config.in @@ -2,9 +2,9 @@ config BR2_PACKAGE_UDISKS bool "udisks" depends on BR2_PACKAGE_HAS_UDEV depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-glib -> glib2 + depends on BR2_TOOLCHAIN_USES_GLIBC # polkit, lvm2 depends on BR2_USE_MMU # lvm2 depends on !BR2_STATIC_LIBS # lvm2 - depends on !BR2_TOOLCHAIN_USES_MUSL # lvm2 depends on BR2_USE_WCHAR # dbus-glib -> glib2 select BR2_PACKAGE_DBUS select BR2_PACKAGE_DBUS_GLIB @@ -40,7 +40,7 @@ comment "udisks needs udev /dev management" depends on BR2_USE_MMU depends on !BR2_PACKAGE_HAS_UDEV -comment "udisks needs a glibc or uClibc toolchain w/ wchar, threads, dynamic library" +comment "udisks needs a glibc toolchain w/ wchar, threads, dynamic library" depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ - BR2_STATIC_LIBS || BR2_TOOLCHAIN_USES_MUSL + BR2_STATIC_LIBS || !BR2_TOOLCHAIN_USES_GLIBC diff --git a/bsp/buildroot/package/uemacs/02-skip-xcase-termios-flag.patch b/bsp/buildroot/package/uemacs/02-skip-xcase-termios-flag.patch deleted file mode 100644 index 2cc53579..00000000 --- a/bsp/buildroot/package/uemacs/02-skip-xcase-termios-flag.patch +++ /dev/null @@ -1,16 +0,0 @@ -From termios(3): "XCASE (not in POSIX; not supported under Linux)". -musl does not define it, and even if defined it's a no-op. - -Signed-off-by: Alex Suykov - ---- a/posix.c -+++ b/posix.c -@@ -65,7 +65,7 @@ - ~(OPOST | ONLCR | OLCUC | OCRNL | ONOCR | ONLRET); - - /* No signal handling, no echo etc */ -- ntermios.c_lflag &= ~(ISIG | ICANON | XCASE | ECHO | ECHOE | ECHOK -+ ntermios.c_lflag &= ~(ISIG | ICANON | ECHO | ECHOE | ECHOK - | ECHONL | NOFLSH | TOSTOP | ECHOCTL | - ECHOPRT | ECHOKE | FLUSHO | PENDIN | IEXTEN); - diff --git a/bsp/buildroot/package/uemacs/uemacs.hash b/bsp/buildroot/package/uemacs/uemacs.hash index a88be88b..7dcbba92 100644 --- a/bsp/buildroot/package/uemacs/uemacs.hash +++ b/bsp/buildroot/package/uemacs/uemacs.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 c6772ccb519f89731ac927c6bd229617fa4a488b966251e9147a03f998c39960 uemacs-8841922689769960fa074fbb053cb8507f2f3ed9.tar.gz +sha256 9b4a849f65edb482f59bc40f646e7cd79915b3030ea9bd825868347217db3c96 uemacs-1cdcf9df88144049750116e36fe20c8c39fa2517.tar.gz +sha256 6e2a4cf41ec8d4379c154923349733bc0d3935c6fa72c4337cf1bc137b98b90a README diff --git a/bsp/buildroot/package/uemacs/uemacs.mk b/bsp/buildroot/package/uemacs/uemacs.mk index 19fda124..96868832 100644 --- a/bsp/buildroot/package/uemacs/uemacs.mk +++ b/bsp/buildroot/package/uemacs/uemacs.mk @@ -4,10 +4,12 @@ # ################################################################################ -UEMACS_VERSION = 8841922689769960fa074fbb053cb8507f2f3ed9 -UEMACS_SITE = $(BR2_KERNEL_MIRROR)/scm/editors/uemacs/uemacs.git +UEMACS_VERSION = 1cdcf9df88144049750116e36fe20c8c39fa2517 +UEMACS_SITE = https://git.kernel.org/pub/scm/editors/uemacs/uemacs.git UEMACS_SITE_METHOD = git UEMACS_DEPENDENCIES = ncurses +UEMACS_LICENSE = MicroEMACS copyright notice +UEMACS_LICENSE_FILES = README define UEMACS_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ diff --git a/bsp/buildroot/package/uhubctl/uhubctl.hash b/bsp/buildroot/package/uhubctl/uhubctl.hash index 6afee905..3724f3fb 100644 --- a/bsp/buildroot/package/uhubctl/uhubctl.hash +++ b/bsp/buildroot/package/uhubctl/uhubctl.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 dfc85571ad86a071bf7a0db7cadf97a870e628777e47176520de6866b4f042b6 uhubctl-047bb1e392efd3e0ea5d5caf351e20761e12cd44.tar.gz +sha256 4c31278b2c03e5be5a696c3088bc86cf2557a70e00f697799c163aba18e3c40e uhubctl-v2.0.0.tar.gz +sha256 3260a6cd23e2677be1fa0815785cd5fa499d363a033f58cc299e12220662d486 LICENSE diff --git a/bsp/buildroot/package/uhubctl/uhubctl.mk b/bsp/buildroot/package/uhubctl/uhubctl.mk index 74845001..3d2adb34 100644 --- a/bsp/buildroot/package/uhubctl/uhubctl.mk +++ b/bsp/buildroot/package/uhubctl/uhubctl.mk @@ -4,7 +4,7 @@ # ################################################################################ -UHUBCTL_VERSION = 047bb1e392efd3e0ea5d5caf351e20761e12cd44 +UHUBCTL_VERSION = v2.0.0 UHUBCTL_SITE = $(call github,mvp,uhubctl,$(UHUBCTL_VERSION)) UHUBCTL_LICENSE = GPL-2.0 UHUBCTL_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/unixodbc/Config.in b/bsp/buildroot/package/unixodbc/Config.in index d5434d1e..eb0ad9c5 100644 --- a/bsp/buildroot/package/unixodbc/Config.in +++ b/bsp/buildroot/package/unixodbc/Config.in @@ -1,8 +1,12 @@ config BR2_PACKAGE_UNIXODBC bool "unixodbc" + depends on !BR2_STATIC_LIBS # dlopen() help The unixODBC Project goals are to develop and promote unixODBC to be the definitive standard for ODBC on non MS Windows platforms. http://www.unixodbc.org + +comment "unixodbc needs a toolchain w/ dynamic library" + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/unixodbc/unixodbc.hash b/bsp/buildroot/package/unixodbc/unixodbc.hash index e99169c1..9d21a66e 100644 --- a/bsp/buildroot/package/unixodbc/unixodbc.hash +++ b/bsp/buildroot/package/unixodbc/unixodbc.hash @@ -1,4 +1,6 @@ -# From ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.4.tar.gz.md5 -md5 bd25d261ca1808c947cb687e2034be81 unixODBC-2.3.4.tar.gz +# From ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.6.tar.gz.md5 +md5 a8629fd2953b04b4639d0a9d8a5cf9d1 unixODBC-2.3.6.tar.gz # Locally computed -sha256 2e1509a96bb18d248bf08ead0d74804957304ff7c6f8b2e5965309c632421e39 unixODBC-2.3.4.tar.gz +sha256 88b637f647c052ecc3861a3baa275c3b503b193b6a49ff8c28b2568656d14d69 unixODBC-2.3.6.tar.gz +sha256 a6b9aa1e9bfade121164c06fd975e9b913a8e38bf33d25ff967dfa3ed07d12f8 COPYING +sha256 1e594f4c7fd6d099eca4bd1340b39d871ce0298331d8ebd4b68935548ee45cf4 exe/COPYING diff --git a/bsp/buildroot/package/unixodbc/unixodbc.mk b/bsp/buildroot/package/unixodbc/unixodbc.mk index d4aa02ee..423f3952 100644 --- a/bsp/buildroot/package/unixodbc/unixodbc.mk +++ b/bsp/buildroot/package/unixodbc/unixodbc.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNIXODBC_VERSION = 2.3.4 +UNIXODBC_VERSION = 2.3.6 UNIXODBC_SOURCE = unixODBC-$(UNIXODBC_VERSION).tar.gz UNIXODBC_SITE = ftp://ftp.unixodbc.org/pub/unixODBC UNIXODBC_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/unrar/unrar.hash b/bsp/buildroot/package/unrar/unrar.hash index 81688d7b..95acb857 100644 --- a/bsp/buildroot/package/unrar/unrar.hash +++ b/bsp/buildroot/package/unrar/unrar.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 9b66e4353a9944bc140eb2a919ff99482dd548f858f5e296d809e8f7cdb2fcf4 unrarsrc-5.5.8.tar.gz +sha256 9335d2201870f2034007c04be80e00f1dc23932cb88b329d55c76134e6ba49fe unrarsrc-5.6.4.tar.gz sha256 6ecc1687808b7d66b24f874755abfed7464d9751ed0001cd4e8e5d9bf397ff8a license.txt diff --git a/bsp/buildroot/package/unrar/unrar.mk b/bsp/buildroot/package/unrar/unrar.mk index d6c97dff..75e93299 100644 --- a/bsp/buildroot/package/unrar/unrar.mk +++ b/bsp/buildroot/package/unrar/unrar.mk @@ -4,7 +4,7 @@ # ################################################################################ -UNRAR_VERSION = 5.5.8 +UNRAR_VERSION = 5.6.4 UNRAR_SOURCE = unrarsrc-$(UNRAR_VERSION).tar.gz UNRAR_SITE = http://www.rarlab.com/rar UNRAR_LICENSE = unrar diff --git a/bsp/buildroot/package/unscd/unscd.mk b/bsp/buildroot/package/unscd/unscd.mk index f0eb5d6a..36f2de27 100644 --- a/bsp/buildroot/package/unscd/unscd.mk +++ b/bsp/buildroot/package/unscd/unscd.mk @@ -11,7 +11,7 @@ UNSCD_LICENSE = GPL-2.0 UNSCD_LICENSE_FILES = $(UNSCD_SOURCE) define UNSCD_EXTRACT_CMDS - cp $(DL_DIR)/$($(PKG)_SOURCE) $(@D)/ + cp $(UNSCD_DL_DIR)/$($(PKG)_SOURCE) $(@D)/ endef define UNSCD_BUILD_CMDS diff --git a/bsp/buildroot/package/unzip/unzip.hash b/bsp/buildroot/package/unzip/unzip.hash index a138cc27..fbf2615a 100644 --- a/bsp/buildroot/package/unzip/unzip.hash +++ b/bsp/buildroot/package/unzip/unzip.hash @@ -1,2 +1,15 @@ # Locally computed: sha256 036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37 unzip60.tgz +sha256 66a364d75cea29363768ca6d43dd11b9913a59e42b8da16c4f63516c3e4ce7c1 07-increase-size-of-cfactorstr.patch +sha256 3a8cfd2702d220c6c119eaf805b018b66460284e585e92adc8a572d190471724 08-allow-greater-hostver-values.patch +sha256 0a1b23118b2f4a3ed097348ab33050d4f79b3863ab30e6d64ac382589834e3de 09-cve-2014-8139-crc-overflow.patch +sha256 32b1eda30644c44a8bdb9a02ff08bb2eca107f8eb16dda6992a9b778a0de395e 10-cve-2014-8140-test-compr-eb.patch +sha256 1f60f6e28b36f3cddb7da64c528cfe29160cefa1232e13bb8a47561f574067a9 11-cve-2014-8141-getzip64data.patch +sha256 c05885bb48b41603f0893ada88f15c0fae3b3f9f6489f24ad630a400f6271351 12-cve-2014-9636-test-compr-eb.patch +sha256 788c29727ff0689c3b1828466127758426f6d2c769048aa985950373747c76f3 14-cve-2015-7696.patch +sha256 e85dab65c3ebf3c4ab3359a4143cfd0efccfd1cac517a4e7bd5f518f41a02b6f 15-cve-2015-7697.patch +sha256 95dd15d5d9cdf5cea18c357b152930d6d52660599e0fd4907d6405870fdd9fe1 16-fix-integer-underflow-csiz-decrypted.patch +sha256 ea04cfc8b7ca3b3c03117da0d891870b8c542d26188ef5593fd7e479f4f29f4e 17-restore-unix-timestamps-accurately.patch +sha256 1872ffdd4d82edd7b1e62c469642bf16a1ca12dd26d41bd3f0b44f0f7602eb63 18-cve-2014-9913-unzip-buffer-overflow.patch +sha256 60840ea8f5d11a276972fb5b43652cdd49a9ed93b2cc0586ad309bf52104b012 19-cve-2016-9844-zipinfo-buffer-overflow.patch +sha256 4eabc3faeddd56ebc3d5053486b61f8758d840902725fd555d3472cffb094437 20-cve-2018-1000035-unzip-buffer-overflow.patch diff --git a/bsp/buildroot/package/unzip/unzip.mk b/bsp/buildroot/package/unzip/unzip.mk index 7d48d253..43e90125 100644 --- a/bsp/buildroot/package/unzip/unzip.mk +++ b/bsp/buildroot/package/unzip/unzip.mk @@ -7,9 +7,22 @@ UNZIP_VERSION = 60 UNZIP_SOURCE = unzip$(UNZIP_VERSION).tgz UNZIP_SITE = ftp://ftp.info-zip.org/pub/infozip/src -# take precedence over busybox implementation -UNZIP_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) UNZIP_LICENSE = Info-ZIP UNZIP_LICENSE_FILES = LICENSE +UNZIP_PATCH = \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/07-increase-size-of-cfactorstr.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/08-allow-greater-hostver-values.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/09-cve-2014-8139-crc-overflow.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/10-cve-2014-8140-test-compr-eb.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/11-cve-2014-8141-getzip64data.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/12-cve-2014-9636-test-compr-eb.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/14-cve-2015-7696.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/15-cve-2015-7697.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/16-fix-integer-underflow-csiz-decrypted.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/17-restore-unix-timestamps-accurately.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/18-cve-2014-9913-unzip-buffer-overflow.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/19-cve-2016-9844-zipinfo-buffer-overflow.patch \ + https://sources.debian.org/data/main/u/unzip/6.0-22/debian/patches/20-cve-2018-1000035-unzip-buffer-overflow.patch + $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch b/bsp/buildroot/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch new file mode 100644 index 00000000..69e05827 --- /dev/null +++ b/bsp/buildroot/package/upmpdcli/0001-Use-uint64_t-instead-of-u_int64_t.patch @@ -0,0 +1,72 @@ +From 256394399f57ba6e3057ee2c981127a14e4623f8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=B6rg=20Krause?= +Date: Tue, 22 Jan 2019 09:07:56 +0100 +Subject: [PATCH] Use uint64_t instead of u_int64_t +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +`uintN_t` is standard C99 type available in ``, whereas `u_intN_t` +is defined `` + +As upmpdcli already uses the `uintN_t` type, replace the few existing +`u_intN_t` types, as it breaks build with the musl C library, which is +very strict, because of the missing ``: + +``` +src/mediaserver/cdplugins/netfetch.h:71:5: error: ‘u_int64_t’ does not name a type + u_int64_t datacount() { +``` + +Backported from: 256394399f57ba6e3057ee2c981127a14e4623f8 + +Signed-off-by: Jörg Krause +--- + src/mediaserver/cdplugins/netfetch.h | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/mediaserver/cdplugins/netfetch.h b/src/mediaserver/cdplugins/netfetch.h +index d7e9df4..d105e53 100644 +--- a/src/mediaserver/cdplugins/netfetch.h ++++ b/src/mediaserver/cdplugins/netfetch.h +@@ -68,7 +68,7 @@ public: + /// Reset after transfer done, for retrying for exemple. + virtual bool reset() = 0; + +- u_int64_t datacount() { ++ uint64_t datacount() { + return fetch_data_count; + } + +@@ -84,11 +84,11 @@ public: + buf1cb = f; + } + // Called when the network transfer is done +- void setEOFetchCB(std::function f) { ++ void setEOFetchCB(std::function f) { + eofcb = f; + } + // Called every time we get new data from the remote +- void setFetchBytesCB(std::function f) { ++ void setFetchBytesCB(std::function f) { + fbcb = f; + } + +@@ -98,11 +98,11 @@ protected: + std::string _url; + uint64_t startoffset; + int timeoutsecs{0}; +- u_int64_t fetch_data_count{0}; ++ uint64_t fetch_data_count{0}; + BufXChange *outqueue{nullptr}; + std::function buf1cb; +- std::function fbcb; +- std::function eofcb; ++ std::function fbcb; ++ std::function eofcb; + }; + + #endif /* _MEDIAFETCH_H_INCLUDED_ */ +-- +2.20.1 + diff --git a/bsp/buildroot/package/upmpdcli/Config.in b/bsp/buildroot/package/upmpdcli/Config.in index cf85a793..74eb7688 100644 --- a/bsp/buildroot/package/upmpdcli/Config.in +++ b/bsp/buildroot/package/upmpdcli/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_UPMPDCLI bool "upmpdcli" depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # libupnpp, libmicrohttpd + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11, libupnpp select BR2_PACKAGE_JSONCPP select BR2_PACKAGE_LIBMICROHTTPD @@ -15,6 +15,8 @@ config BR2_PACKAGE_UPMPDCLI http://www.lesbonscomptes.com/upmpdcli/ -comment "upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.9" +comment "upmpdcli needs a toolchain w/ C++, NPTL, gcc >= 4.9" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 diff --git a/bsp/buildroot/package/upmpdcli/S99upmpdcli b/bsp/buildroot/package/upmpdcli/S99upmpdcli index 71d19a58..c1586eb0 100644 --- a/bsp/buildroot/package/upmpdcli/S99upmpdcli +++ b/bsp/buildroot/package/upmpdcli/S99upmpdcli @@ -1,17 +1,13 @@ #!/bin/sh NAME=upmpdcli -DAEMON=/usr/bin/$NAME CONFFILE=/etc/$NAME.conf PIDFILE=/var/run/$NAME.pid DAEMON_ARGS="-D -c $CONFFILE" -# Sanity checks -test -f $DAEMON || exit 0 - start() { printf "Starting $NAME: " - start-stop-daemon --start --quiet --background --exec $DAEMON \ + start-stop-daemon --start --quiet --background --exec /usr/bin/upmpdcli \ -- $DAEMON_ARGS \ && echo "OK" || echo "FAIL" } diff --git a/bsp/buildroot/package/upmpdcli/upmpdcli.hash b/bsp/buildroot/package/upmpdcli/upmpdcli.hash index e4973526..cbd12fe2 100644 --- a/bsp/buildroot/package/upmpdcli/upmpdcli.hash +++ b/bsp/buildroot/package/upmpdcli/upmpdcli.hash @@ -1,5 +1,5 @@ -# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.2.15.tar.gz.sha256: -sha256 93d2b9cfd6cb8643c5a23d4115b44622d76c71abe15db9bb8d5b4d83f4d9b49c upmpdcli-1.2.15.tar.gz +# From http://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-1.4.0.tar.gz.sha256: +sha256 28742910fa16b72f0c4e5b7dc561f59aa7f1a5fdd3e8e4f72f359d2e4af90d35 upmpdcli-1.4.0.tar.gz # Hash for license file: -sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/upmpdcli/upmpdcli.mk b/bsp/buildroot/package/upmpdcli/upmpdcli.mk index ad41f85c..22a5bf24 100644 --- a/bsp/buildroot/package/upmpdcli/upmpdcli.mk +++ b/bsp/buildroot/package/upmpdcli/upmpdcli.mk @@ -4,12 +4,17 @@ # ################################################################################ -UPMPDCLI_VERSION = 1.2.15 +UPMPDCLI_VERSION = 1.4.0 UPMPDCLI_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads -UPMPDCLI_LICENSE = GPL-2.0+ +UPMPDCLI_LICENSE = LGPL-2.1+ UPMPDCLI_LICENSE_FILES = COPYING UPMPDCLI_DEPENDENCIES = host-pkgconf libmpdclient libupnpp libmicrohttpd jsoncpp +# Disable spotify plugin which requires dlfcn.h +ifeq ($(BR2_STATIC_LIBS),y) +UPMPDCLI_CONF_OPTS = --disable-spotify +endif + # Upmpdcli only runs if user upmpdcli exists define UPMPDCLI_USERS upmpdcli -1 upmpdcli -1 * - - audio Upmpdcli MPD UPnP Renderer Front-End diff --git a/bsp/buildroot/package/urg/urg.mk b/bsp/buildroot/package/urg/urg.mk index 966627fe..86b7ec2c 100644 --- a/bsp/buildroot/package/urg/urg.mk +++ b/bsp/buildroot/package/urg/urg.mk @@ -25,7 +25,7 @@ endif URG_CONFIG_SCRIPTS = c_urg-config urg-config define URG_EXTRACT_CMDS - $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(URG_SOURCE) + $(UNZIP) -d $(BUILD_DIR) $(URG_DL_DIR)/$(URG_SOURCE) endef $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.hash b/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.hash index b202e635..3cbd370e 100644 --- a/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.hash +++ b/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 31c0be280d49a99ec3dc0be3325bef320d9c04b50714ef0ce1e36a614d687633 usb-modeswitch-2.5.0.tar.bz2 +sha256 abffac09c87eacd78e101545967dc25af7e989745b4276756d45dbf4008a2ea6 usb-modeswitch-2.5.2.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.mk b/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.mk index 719e4fe3..9832d3c8 100644 --- a/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.mk +++ b/bsp/buildroot/package/usb_modeswitch/usb_modeswitch.mk @@ -4,22 +4,22 @@ # ################################################################################ -USB_MODESWITCH_VERSION = 2.5.0 +USB_MODESWITCH_VERSION = 2.5.2 USB_MODESWITCH_SOURCE = usb-modeswitch-$(USB_MODESWITCH_VERSION).tar.bz2 USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch USB_MODESWITCH_DEPENDENCIES = libusb USB_MODESWITCH_LICENSE = GPL-2.0+ USB_MODESWITCH_LICENSE_FILES = COPYING -# Package does not build in parallel due to improper make rules +# Package does not build in parallel due to improper make rules USB_MODESWITCH_MAKE = $(MAKE1) -USB_MODESWITCH_BUILD_TARGETS = static -USB_MODESWITCH_INSTALL_TARGETS = install-static - ifeq ($(BR2_PACKAGE_TCL)$(BR2_PACKAGE_TCL_SHLIB_ONLY),y) USB_MODESWITCH_DEPENDENCIES += tcl USB_MODESWITCH_BUILD_TARGETS = script USB_MODESWITCH_INSTALL_TARGETS = install-script +else +USB_MODESWITCH_BUILD_TARGETS = static +USB_MODESWITCH_INSTALL_TARGETS = install-static endif # build system of embedded jimtcl doesn't use autotools, but does use diff --git a/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.hash b/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.hash index e19fcac6..f35fd69a 100644 --- a/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.hash +++ b/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 e2dcfd9d28928d8d8f03381571a23442b3c50d48d343bc40a1a07d01662738d1 usb-modeswitch-data-20170205.tar.bz2 +sha256 ce413ef2a50e648e9c81bc3ea6110e7324a8bf981034fc9ec4467d3562563c2c usb-modeswitch-data-20170806.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.mk b/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.mk index 4f634cda..80ecd33d 100644 --- a/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.mk +++ b/bsp/buildroot/package/usb_modeswitch_data/usb_modeswitch_data.mk @@ -4,7 +4,7 @@ # ################################################################################ -USB_MODESWITCH_DATA_VERSION = 20170205 +USB_MODESWITCH_DATA_VERSION = 20170806 USB_MODESWITCH_DATA_SOURCE = usb-modeswitch-data-$(USB_MODESWITCH_DATA_VERSION).tar.bz2 USB_MODESWITCH_DATA_SITE = http://www.draisberghof.de/usb_modeswitch USB_MODESWITCH_DATA_DEPENDENCIES = usb_modeswitch diff --git a/bsp/buildroot/package/usbutils/0001-add-gpl-license-files.patch b/bsp/buildroot/package/usbutils/0001-add-gpl-license-files.patch new file mode 100644 index 00000000..e6e335f1 --- /dev/null +++ b/bsp/buildroot/package/usbutils/0001-add-gpl-license-files.patch @@ -0,0 +1,1030 @@ +Add GPL-2.0 and GPL-3.0 license files + +This patch is equivalent to upstream commit 747db4bc75e1 (Makefile.am: add +files with licenses to archive). The license files are in upstream commit, but +missing from the tar archive. + +Signed-off-by: Baruch Siach +--- + +diff -Nuar usbutils-010.orig/LICENSES/GPL-2.0.txt usbutils-010/LICENSES/GPL-2.0.txt +--- usbutils-010.orig/LICENSES/GPL-2.0.txt 1970-01-01 02:00:00.000000000 +0200 ++++ usbutils-010/LICENSES/GPL-2.0.txt 2018-05-29 14:49:22.351783751 +0300 +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ ++ Copyright (C) ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ , 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. +diff -Nuar usbutils-010.orig/LICENSES/GPL-3.0.txt usbutils-010/LICENSES/GPL-3.0.txt +--- usbutils-010.orig/LICENSES/GPL-3.0.txt 1970-01-01 02:00:00.000000000 +0200 ++++ usbutils-010/LICENSES/GPL-3.0.txt 2018-05-29 15:21:15.923738330 +0300 +@@ -0,0 +1,674 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 3, 29 June 2007 ++ ++ Copyright (C) 2007 Free Software Foundation, Inc. ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The GNU General Public License is a free, copyleft license for ++software and other kinds of works. ++ ++ The licenses for most software and other practical works are designed ++to take away your freedom to share and change the works. By contrast, ++the GNU General Public License is intended to guarantee your freedom to ++share and change all versions of a program--to make sure it remains free ++software for all its users. We, the Free Software Foundation, use the ++GNU General Public License for most of our software; it applies also to ++any other work released this way by its authors. You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++them if you wish), that you receive source code or can get it if you ++want it, that you can change the software or use pieces of it in new ++free programs, and that you know you can do these things. ++ ++ To protect your rights, we need to prevent others from denying you ++these rights or asking you to surrender the rights. Therefore, you have ++certain responsibilities if you distribute copies of the software, or if ++you modify it: responsibilities to respect the freedom of others. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must pass on to the recipients the same ++freedoms that you received. You must make sure that they, too, receive ++or can get the source code. And you must show them these terms so they ++know their rights. ++ ++ Developers that use the GNU GPL protect your rights with two steps: ++(1) assert copyright on the software, and (2) offer you this License ++giving you legal permission to copy, distribute and/or modify it. ++ ++ For the developers' and authors' protection, the GPL clearly explains ++that there is no warranty for this free software. For both users' and ++authors' sake, the GPL requires that modified versions be marked as ++changed, so that their problems will not be attributed erroneously to ++authors of previous versions. ++ ++ Some devices are designed to deny users access to install or run ++modified versions of the software inside them, although the manufacturer ++can do so. This is fundamentally incompatible with the aim of ++protecting users' freedom to change the software. The systematic ++pattern of such abuse occurs in the area of products for individuals to ++use, which is precisely where it is most unacceptable. Therefore, we ++have designed this version of the GPL to prohibit the practice for those ++products. If such problems arise substantially in other domains, we ++stand ready to extend this provision to those domains in future versions ++of the GPL, as needed to protect the freedom of users. ++ ++ Finally, every program is threatened constantly by software patents. ++States should not allow patents to restrict development and use of ++software on general-purpose computers, but in those that do, we wish to ++avoid the special danger that patents applied to a free program could ++make it effectively proprietary. To prevent this, the GPL assures that ++patents cannot be used to render the program non-free. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ TERMS AND CONDITIONS ++ ++ 0. Definitions. ++ ++ "This License" refers to version 3 of the GNU General Public License. ++ ++ "Copyright" also means copyright-like laws that apply to other kinds of ++works, such as semiconductor masks. ++ ++ "The Program" refers to any copyrightable work licensed under this ++License. Each licensee is addressed as "you". "Licensees" and ++"recipients" may be individuals or organizations. ++ ++ To "modify" a work means to copy from or adapt all or part of the work ++in a fashion requiring copyright permission, other than the making of an ++exact copy. The resulting work is called a "modified version" of the ++earlier work or a work "based on" the earlier work. ++ ++ A "covered work" means either the unmodified Program or a work based ++on the Program. ++ ++ To "propagate" a work means to do anything with it that, without ++permission, would make you directly or secondarily liable for ++infringement under applicable copyright law, except executing it on a ++computer or modifying a private copy. Propagation includes copying, ++distribution (with or without modification), making available to the ++public, and in some countries other activities as well. ++ ++ To "convey" a work means any kind of propagation that enables other ++parties to make or receive copies. Mere interaction with a user through ++a computer network, with no transfer of a copy, is not conveying. ++ ++ An interactive user interface displays "Appropriate Legal Notices" ++to the extent that it includes a convenient and prominently visible ++feature that (1) displays an appropriate copyright notice, and (2) ++tells the user that there is no warranty for the work (except to the ++extent that warranties are provided), that licensees may convey the ++work under this License, and how to view a copy of this License. If ++the interface presents a list of user commands or options, such as a ++menu, a prominent item in the list meets this criterion. ++ ++ 1. Source Code. ++ ++ The "source code" for a work means the preferred form of the work ++for making modifications to it. "Object code" means any non-source ++form of a work. ++ ++ A "Standard Interface" means an interface that either is an official ++standard defined by a recognized standards body, or, in the case of ++interfaces specified for a particular programming language, one that ++is widely used among developers working in that language. ++ ++ The "System Libraries" of an executable work include anything, other ++than the work as a whole, that (a) is included in the normal form of ++packaging a Major Component, but which is not part of that Major ++Component, and (b) serves only to enable use of the work with that ++Major Component, or to implement a Standard Interface for which an ++implementation is available to the public in source code form. A ++"Major Component", in this context, means a major essential component ++(kernel, window system, and so on) of the specific operating system ++(if any) on which the executable work runs, or a compiler used to ++produce the work, or an object code interpreter used to run it. ++ ++ The "Corresponding Source" for a work in object code form means all ++the source code needed to generate, install, and (for an executable ++work) run the object code and to modify the work, including scripts to ++control those activities. However, it does not include the work's ++System Libraries, or general-purpose tools or generally available free ++programs which are used unmodified in performing those activities but ++which are not part of the work. For example, Corresponding Source ++includes interface definition files associated with source files for ++the work, and the source code for shared libraries and dynamically ++linked subprograms that the work is specifically designed to require, ++such as by intimate data communication or control flow between those ++subprograms and other parts of the work. ++ ++ The Corresponding Source need not include anything that users ++can regenerate automatically from other parts of the Corresponding ++Source. ++ ++ The Corresponding Source for a work in source code form is that ++same work. ++ ++ 2. Basic Permissions. ++ ++ All rights granted under this License are granted for the term of ++copyright on the Program, and are irrevocable provided the stated ++conditions are met. This License explicitly affirms your unlimited ++permission to run the unmodified Program. The output from running a ++covered work is covered by this License only if the output, given its ++content, constitutes a covered work. This License acknowledges your ++rights of fair use or other equivalent, as provided by copyright law. ++ ++ You may make, run and propagate covered works that you do not ++convey, without conditions so long as your license otherwise remains ++in force. You may convey covered works to others for the sole purpose ++of having them make modifications exclusively for you, or provide you ++with facilities for running those works, provided that you comply with ++the terms of this License in conveying all material for which you do ++not control copyright. Those thus making or running the covered works ++for you must do so exclusively on your behalf, under your direction ++and control, on terms that prohibit them from making any copies of ++your copyrighted material outside their relationship with you. ++ ++ Conveying under any other circumstances is permitted solely under ++the conditions stated below. Sublicensing is not allowed; section 10 ++makes it unnecessary. ++ ++ 3. Protecting Users' Legal Rights From Anti-Circumvention Law. ++ ++ No covered work shall be deemed part of an effective technological ++measure under any applicable law fulfilling obligations under article ++11 of the WIPO copyright treaty adopted on 20 December 1996, or ++similar laws prohibiting or restricting circumvention of such ++measures. ++ ++ When you convey a covered work, you waive any legal power to forbid ++circumvention of technological measures to the extent such circumvention ++is effected by exercising rights under this License with respect to ++the covered work, and you disclaim any intention to limit operation or ++modification of the work as a means of enforcing, against the work's ++users, your or third parties' legal rights to forbid circumvention of ++technological measures. ++ ++ 4. Conveying Verbatim Copies. ++ ++ You may convey verbatim copies of the Program's source code as you ++receive it, in any medium, provided that you conspicuously and ++appropriately publish on each copy an appropriate copyright notice; ++keep intact all notices stating that this License and any ++non-permissive terms added in accord with section 7 apply to the code; ++keep intact all notices of the absence of any warranty; and give all ++recipients a copy of this License along with the Program. ++ ++ You may charge any price or no price for each copy that you convey, ++and you may offer support or warranty protection for a fee. ++ ++ 5. Conveying Modified Source Versions. ++ ++ You may convey a work based on the Program, or the modifications to ++produce it from the Program, in the form of source code under the ++terms of section 4, provided that you also meet all of these conditions: ++ ++ a) The work must carry prominent notices stating that you modified ++ it, and giving a relevant date. ++ ++ b) The work must carry prominent notices stating that it is ++ released under this License and any conditions added under section ++ 7. This requirement modifies the requirement in section 4 to ++ "keep intact all notices". ++ ++ c) You must license the entire work, as a whole, under this ++ License to anyone who comes into possession of a copy. This ++ License will therefore apply, along with any applicable section 7 ++ additional terms, to the whole of the work, and all its parts, ++ regardless of how they are packaged. This License gives no ++ permission to license the work in any other way, but it does not ++ invalidate such permission if you have separately received it. ++ ++ d) If the work has interactive user interfaces, each must display ++ Appropriate Legal Notices; however, if the Program has interactive ++ interfaces that do not display Appropriate Legal Notices, your ++ work need not make them do so. ++ ++ A compilation of a covered work with other separate and independent ++works, which are not by their nature extensions of the covered work, ++and which are not combined with it such as to form a larger program, ++in or on a volume of a storage or distribution medium, is called an ++"aggregate" if the compilation and its resulting copyright are not ++used to limit the access or legal rights of the compilation's users ++beyond what the individual works permit. Inclusion of a covered work ++in an aggregate does not cause this License to apply to the other ++parts of the aggregate. ++ ++ 6. Conveying Non-Source Forms. ++ ++ You may convey a covered work in object code form under the terms ++of sections 4 and 5, provided that you also convey the ++machine-readable Corresponding Source under the terms of this License, ++in one of these ways: ++ ++ a) Convey the object code in, or embodied in, a physical product ++ (including a physical distribution medium), accompanied by the ++ Corresponding Source fixed on a durable physical medium ++ customarily used for software interchange. ++ ++ b) Convey the object code in, or embodied in, a physical product ++ (including a physical distribution medium), accompanied by a ++ written offer, valid for at least three years and valid for as ++ long as you offer spare parts or customer support for that product ++ model, to give anyone who possesses the object code either (1) a ++ copy of the Corresponding Source for all the software in the ++ product that is covered by this License, on a durable physical ++ medium customarily used for software interchange, for a price no ++ more than your reasonable cost of physically performing this ++ conveying of source, or (2) access to copy the ++ Corresponding Source from a network server at no charge. ++ ++ c) Convey individual copies of the object code with a copy of the ++ written offer to provide the Corresponding Source. This ++ alternative is allowed only occasionally and noncommercially, and ++ only if you received the object code with such an offer, in accord ++ with subsection 6b. ++ ++ d) Convey the object code by offering access from a designated ++ place (gratis or for a charge), and offer equivalent access to the ++ Corresponding Source in the same way through the same place at no ++ further charge. You need not require recipients to copy the ++ Corresponding Source along with the object code. If the place to ++ copy the object code is a network server, the Corresponding Source ++ may be on a different server (operated by you or a third party) ++ that supports equivalent copying facilities, provided you maintain ++ clear directions next to the object code saying where to find the ++ Corresponding Source. Regardless of what server hosts the ++ Corresponding Source, you remain obligated to ensure that it is ++ available for as long as needed to satisfy these requirements. ++ ++ e) Convey the object code using peer-to-peer transmission, provided ++ you inform other peers where the object code and Corresponding ++ Source of the work are being offered to the general public at no ++ charge under subsection 6d. ++ ++ A separable portion of the object code, whose source code is excluded ++from the Corresponding Source as a System Library, need not be ++included in conveying the object code work. ++ ++ A "User Product" is either (1) a "consumer product", which means any ++tangible personal property which is normally used for personal, family, ++or household purposes, or (2) anything designed or sold for incorporation ++into a dwelling. In determining whether a product is a consumer product, ++doubtful cases shall be resolved in favor of coverage. For a particular ++product received by a particular user, "normally used" refers to a ++typical or common use of that class of product, regardless of the status ++of the particular user or of the way in which the particular user ++actually uses, or expects or is expected to use, the product. A product ++is a consumer product regardless of whether the product has substantial ++commercial, industrial or non-consumer uses, unless such uses represent ++the only significant mode of use of the product. ++ ++ "Installation Information" for a User Product means any methods, ++procedures, authorization keys, or other information required to install ++and execute modified versions of a covered work in that User Product from ++a modified version of its Corresponding Source. The information must ++suffice to ensure that the continued functioning of the modified object ++code is in no case prevented or interfered with solely because ++modification has been made. ++ ++ If you convey an object code work under this section in, or with, or ++specifically for use in, a User Product, and the conveying occurs as ++part of a transaction in which the right of possession and use of the ++User Product is transferred to the recipient in perpetuity or for a ++fixed term (regardless of how the transaction is characterized), the ++Corresponding Source conveyed under this section must be accompanied ++by the Installation Information. But this requirement does not apply ++if neither you nor any third party retains the ability to install ++modified object code on the User Product (for example, the work has ++been installed in ROM). ++ ++ The requirement to provide Installation Information does not include a ++requirement to continue to provide support service, warranty, or updates ++for a work that has been modified or installed by the recipient, or for ++the User Product in which it has been modified or installed. Access to a ++network may be denied when the modification itself materially and ++adversely affects the operation of the network or violates the rules and ++protocols for communication across the network. ++ ++ Corresponding Source conveyed, and Installation Information provided, ++in accord with this section must be in a format that is publicly ++documented (and with an implementation available to the public in ++source code form), and must require no special password or key for ++unpacking, reading or copying. ++ ++ 7. Additional Terms. ++ ++ "Additional permissions" are terms that supplement the terms of this ++License by making exceptions from one or more of its conditions. ++Additional permissions that are applicable to the entire Program shall ++be treated as though they were included in this License, to the extent ++that they are valid under applicable law. If additional permissions ++apply only to part of the Program, that part may be used separately ++under those permissions, but the entire Program remains governed by ++this License without regard to the additional permissions. ++ ++ When you convey a copy of a covered work, you may at your option ++remove any additional permissions from that copy, or from any part of ++it. (Additional permissions may be written to require their own ++removal in certain cases when you modify the work.) You may place ++additional permissions on material, added by you to a covered work, ++for which you have or can give appropriate copyright permission. ++ ++ Notwithstanding any other provision of this License, for material you ++add to a covered work, you may (if authorized by the copyright holders of ++that material) supplement the terms of this License with terms: ++ ++ a) Disclaiming warranty or limiting liability differently from the ++ terms of sections 15 and 16 of this License; or ++ ++ b) Requiring preservation of specified reasonable legal notices or ++ author attributions in that material or in the Appropriate Legal ++ Notices displayed by works containing it; or ++ ++ c) Prohibiting misrepresentation of the origin of that material, or ++ requiring that modified versions of such material be marked in ++ reasonable ways as different from the original version; or ++ ++ d) Limiting the use for publicity purposes of names of licensors or ++ authors of the material; or ++ ++ e) Declining to grant rights under trademark law for use of some ++ trade names, trademarks, or service marks; or ++ ++ f) Requiring indemnification of licensors and authors of that ++ material by anyone who conveys the material (or modified versions of ++ it) with contractual assumptions of liability to the recipient, for ++ any liability that these contractual assumptions directly impose on ++ those licensors and authors. ++ ++ All other non-permissive additional terms are considered "further ++restrictions" within the meaning of section 10. If the Program as you ++received it, or any part of it, contains a notice stating that it is ++governed by this License along with a term that is a further ++restriction, you may remove that term. If a license document contains ++a further restriction but permits relicensing or conveying under this ++License, you may add to a covered work material governed by the terms ++of that license document, provided that the further restriction does ++not survive such relicensing or conveying. ++ ++ If you add terms to a covered work in accord with this section, you ++must place, in the relevant source files, a statement of the ++additional terms that apply to those files, or a notice indicating ++where to find the applicable terms. ++ ++ Additional terms, permissive or non-permissive, may be stated in the ++form of a separately written license, or stated as exceptions; ++the above requirements apply either way. ++ ++ 8. Termination. ++ ++ You may not propagate or modify a covered work except as expressly ++provided under this License. Any attempt otherwise to propagate or ++modify it is void, and will automatically terminate your rights under ++this License (including any patent licenses granted under the third ++paragraph of section 11). ++ ++ However, if you cease all violation of this License, then your ++license from a particular copyright holder is reinstated (a) ++provisionally, unless and until the copyright holder explicitly and ++finally terminates your license, and (b) permanently, if the copyright ++holder fails to notify you of the violation by some reasonable means ++prior to 60 days after the cessation. ++ ++ Moreover, your license from a particular copyright holder is ++reinstated permanently if the copyright holder notifies you of the ++violation by some reasonable means, this is the first time you have ++received notice of violation of this License (for any work) from that ++copyright holder, and you cure the violation prior to 30 days after ++your receipt of the notice. ++ ++ Termination of your rights under this section does not terminate the ++licenses of parties who have received copies or rights from you under ++this License. If your rights have been terminated and not permanently ++reinstated, you do not qualify to receive new licenses for the same ++material under section 10. ++ ++ 9. Acceptance Not Required for Having Copies. ++ ++ You are not required to accept this License in order to receive or ++run a copy of the Program. Ancillary propagation of a covered work ++occurring solely as a consequence of using peer-to-peer transmission ++to receive a copy likewise does not require acceptance. However, ++nothing other than this License grants you permission to propagate or ++modify any covered work. These actions infringe copyright if you do ++not accept this License. Therefore, by modifying or propagating a ++covered work, you indicate your acceptance of this License to do so. ++ ++ 10. Automatic Licensing of Downstream Recipients. ++ ++ Each time you convey a covered work, the recipient automatically ++receives a license from the original licensors, to run, modify and ++propagate that work, subject to this License. You are not responsible ++for enforcing compliance by third parties with this License. ++ ++ An "entity transaction" is a transaction transferring control of an ++organization, or substantially all assets of one, or subdividing an ++organization, or merging organizations. If propagation of a covered ++work results from an entity transaction, each party to that ++transaction who receives a copy of the work also receives whatever ++licenses to the work the party's predecessor in interest had or could ++give under the previous paragraph, plus a right to possession of the ++Corresponding Source of the work from the predecessor in interest, if ++the predecessor has it or can get it with reasonable efforts. ++ ++ You may not impose any further restrictions on the exercise of the ++rights granted or affirmed under this License. For example, you may ++not impose a license fee, royalty, or other charge for exercise of ++rights granted under this License, and you may not initiate litigation ++(including a cross-claim or counterclaim in a lawsuit) alleging that ++any patent claim is infringed by making, using, selling, offering for ++sale, or importing the Program or any portion of it. ++ ++ 11. Patents. ++ ++ A "contributor" is a copyright holder who authorizes use under this ++License of the Program or a work on which the Program is based. The ++work thus licensed is called the contributor's "contributor version". ++ ++ A contributor's "essential patent claims" are all patent claims ++owned or controlled by the contributor, whether already acquired or ++hereafter acquired, that would be infringed by some manner, permitted ++by this License, of making, using, or selling its contributor version, ++but do not include claims that would be infringed only as a ++consequence of further modification of the contributor version. For ++purposes of this definition, "control" includes the right to grant ++patent sublicenses in a manner consistent with the requirements of ++this License. ++ ++ Each contributor grants you a non-exclusive, worldwide, royalty-free ++patent license under the contributor's essential patent claims, to ++make, use, sell, offer for sale, import and otherwise run, modify and ++propagate the contents of its contributor version. ++ ++ In the following three paragraphs, a "patent license" is any express ++agreement or commitment, however denominated, not to enforce a patent ++(such as an express permission to practice a patent or covenant not to ++sue for patent infringement). To "grant" such a patent license to a ++party means to make such an agreement or commitment not to enforce a ++patent against the party. ++ ++ If you convey a covered work, knowingly relying on a patent license, ++and the Corresponding Source of the work is not available for anyone ++to copy, free of charge and under the terms of this License, through a ++publicly available network server or other readily accessible means, ++then you must either (1) cause the Corresponding Source to be so ++available, or (2) arrange to deprive yourself of the benefit of the ++patent license for this particular work, or (3) arrange, in a manner ++consistent with the requirements of this License, to extend the patent ++license to downstream recipients. "Knowingly relying" means you have ++actual knowledge that, but for the patent license, your conveying the ++covered work in a country, or your recipient's use of the covered work ++in a country, would infringe one or more identifiable patents in that ++country that you have reason to believe are valid. ++ ++ If, pursuant to or in connection with a single transaction or ++arrangement, you convey, or propagate by procuring conveyance of, a ++covered work, and grant a patent license to some of the parties ++receiving the covered work authorizing them to use, propagate, modify ++or convey a specific copy of the covered work, then the patent license ++you grant is automatically extended to all recipients of the covered ++work and works based on it. ++ ++ A patent license is "discriminatory" if it does not include within ++the scope of its coverage, prohibits the exercise of, or is ++conditioned on the non-exercise of one or more of the rights that are ++specifically granted under this License. You may not convey a covered ++work if you are a party to an arrangement with a third party that is ++in the business of distributing software, under which you make payment ++to the third party based on the extent of your activity of conveying ++the work, and under which the third party grants, to any of the ++parties who would receive the covered work from you, a discriminatory ++patent license (a) in connection with copies of the covered work ++conveyed by you (or copies made from those copies), or (b) primarily ++for and in connection with specific products or compilations that ++contain the covered work, unless you entered into that arrangement, ++or that patent license was granted, prior to 28 March 2007. ++ ++ Nothing in this License shall be construed as excluding or limiting ++any implied license or other defenses to infringement that may ++otherwise be available to you under applicable patent law. ++ ++ 12. No Surrender of Others' Freedom. ++ ++ If conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot convey a ++covered work so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you may ++not convey it at all. For example, if you agree to terms that obligate you ++to collect a royalty for further conveying from those to whom you convey ++the Program, the only way you could satisfy both those terms and this ++License would be to refrain entirely from conveying the Program. ++ ++ 13. Use with the GNU Affero General Public License. ++ ++ Notwithstanding any other provision of this License, you have ++permission to link or combine any covered work with a work licensed ++under version 3 of the GNU Affero General Public License into a single ++combined work, and to convey the resulting work. The terms of this ++License will continue to apply to the part which is the covered work, ++but the special requirements of the GNU Affero General Public License, ++section 13, concerning interaction through a network will apply to the ++combination as such. ++ ++ 14. Revised Versions of this License. ++ ++ The Free Software Foundation may publish revised and/or new versions of ++the GNU General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++ Each version is given a distinguishing version number. If the ++Program specifies that a certain numbered version of the GNU General ++Public License "or any later version" applies to it, you have the ++option of following the terms and conditions either of that numbered ++version or of any later version published by the Free Software ++Foundation. If the Program does not specify a version number of the ++GNU General Public License, you may choose any version ever published ++by the Free Software Foundation. ++ ++ If the Program specifies that a proxy can decide which future ++versions of the GNU General Public License can be used, that proxy's ++public statement of acceptance of a version permanently authorizes you ++to choose that version for the Program. ++ ++ Later license versions may give you additional or different ++permissions. However, no additional obligations are imposed on any ++author or copyright holder as a result of your choosing to follow a ++later version. ++ ++ 15. Disclaimer of Warranty. ++ ++ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY ++APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT ++HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY ++OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ++THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM ++IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ++ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 16. Limitation of Liability. ++ ++ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS ++THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY ++GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE ++USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF ++DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD ++PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), ++EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF ++SUCH DAMAGES. ++ ++ 17. Interpretation of Sections 15 and 16. ++ ++ If the disclaimer of warranty and limitation of liability provided ++above cannot be given local legal effect according to their terms, ++reviewing courts shall apply local law that most closely approximates ++an absolute waiver of all civil liability in connection with the ++Program, unless a warranty or assumption of liability accompanies a ++copy of the Program in return for a fee. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++state the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ ++ Copyright (C) ++ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation, either version 3 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see . ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++ If the program does terminal interaction, make it output a short ++notice like this when it starts in an interactive mode: ++ ++ Copyright (C) ++ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, your program's commands ++might be different; for a GUI interface, you would use an "about box". ++ ++ You should also get your employer (if you work as a programmer) or school, ++if any, to sign a "copyright disclaimer" for the program, if necessary. ++For more information on this, and how to apply and follow the GNU GPL, see ++. ++ ++ The GNU General Public License does not permit incorporating your program ++into proprietary programs. If your program is a subroutine library, you ++may consider it more useful to permit linking proprietary applications with ++the library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. But first, please read ++. diff --git a/bsp/buildroot/package/usbutils/usbutils.hash b/bsp/buildroot/package/usbutils/usbutils.hash index 4e55c9b1..3bdb657f 100644 --- a/bsp/buildroot/package/usbutils/usbutils.hash +++ b/bsp/buildroot/package/usbutils/usbutils.hash @@ -1,2 +1,5 @@ # From https://www.kernel.org/pub/linux/utils/usb/usbutils/sha256sums.asc -sha256 8bbff0e54cb5f65a52be4feb9162fc0b022a97eb841b44784f7a89a9ea567160 usbutils-009.tar.xz +sha256 61c7364bb4986fb05e5067e4ac5585b1299b664c57f761caecd2e9e724794a19 usbutils-010.tar.xz +# Locally calculated +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSES/GPL-2.0.txt +sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 LICENSES/GPL-3.0.txt diff --git a/bsp/buildroot/package/usbutils/usbutils.mk b/bsp/buildroot/package/usbutils/usbutils.mk index 84702ebc..4bd12f34 100644 --- a/bsp/buildroot/package/usbutils/usbutils.mk +++ b/bsp/buildroot/package/usbutils/usbutils.mk @@ -4,20 +4,15 @@ # ################################################################################ -USBUTILS_VERSION = 009 +USBUTILS_VERSION = 010 USBUTILS_SOURCE = usbutils-$(USBUTILS_VERSION).tar.xz USBUTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/usb/usbutils USBUTILS_DEPENDENCIES = host-pkgconf libusb udev -USBUTILS_LICENSE = GPL-2.0+ -USBUTILS_LICENSE_FILES = COPYING +USBUTILS_LICENSE = GPL-2.0+ (utils) GPL-2.0 or GPL-3.0 (lsusb.py) +USBUTILS_LICENSE_FILES = LICENSES/GPL-2.0.txt LICENSES/GPL-3.0.txt -# Build after busybox since it's got a lightweight lsusb -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -USBUTILS_DEPENDENCIES += busybox -endif - -# Nice lsusb.py script only if there's python -ifeq ($(BR2_PACKAGE_PYTHON),) +# Nice lsusb.py script only if there's python 3.x +ifeq ($(BR2_PACKAGE_PYTHON3),) define USBUTILS_REMOVE_PYTHON rm -f $(TARGET_DIR)/usr/bin/lsusb.py endef diff --git a/bsp/buildroot/package/ustream-ssl/ustream-ssl.hash b/bsp/buildroot/package/ustream-ssl/ustream-ssl.hash new file mode 100644 index 00000000..ba315f88 --- /dev/null +++ b/bsp/buildroot/package/ustream-ssl/ustream-ssl.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 63ecc9d78ef83020a4539a89c8a3690657e7bbe7580ae02cc0e7b4267ffea5cd ustream-ssl-23a3f2830341acd1db149175baf7315a33bd0edb.tar.gz +sha256 90dd1590cf400a548438e2575e1ff46d8fb8cebae7d09f544aae7e059e30b6c5 ustream-ssl.h diff --git a/bsp/buildroot/package/ustream-ssl/ustream-ssl.mk b/bsp/buildroot/package/ustream-ssl/ustream-ssl.mk index 9b107882..7804eb5d 100644 --- a/bsp/buildroot/package/ustream-ssl/ustream-ssl.mk +++ b/bsp/buildroot/package/ustream-ssl/ustream-ssl.mk @@ -4,7 +4,7 @@ # ################################################################################ -USTREAM_SSL_VERSION = 45ac93088bc6f2d8ef3b0512d8e1ddfd9c4ee9e5 +USTREAM_SSL_VERSION = 23a3f2830341acd1db149175baf7315a33bd0edb USTREAM_SSL_SITE = git://git.openwrt.org/project/ustream-ssl.git USTREAM_SSL_LICENSE = ISC USTREAM_SSL_LICENSE_FILES = ustream-ssl.h diff --git a/bsp/buildroot/package/util-linux/0001-docs-add-ISC-licence.patch b/bsp/buildroot/package/util-linux/0001-docs-add-ISC-licence.patch deleted file mode 100644 index aea7b971..00000000 --- a/bsp/buildroot/package/util-linux/0001-docs-add-ISC-licence.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a9e4662d26b10789b28282d7e77ab189ef34cf5c Mon Sep 17 00:00:00 2001 -From: Carlos Santos -Date: Sun, 14 Jan 2018 16:39:31 -0200 -Subject: [PATCH] docs: add ISC licence - -Save the top 21 lines of sys-utils/rfkill.c as COPYING.ISC. This is -useful for Linux distributions an integration tools like Buildroot, -to collect detailed legal information for each package. - -[kzak@redhat.com: - remove C-comments and rfkill header] - -Signed-off-by: Carlos Santos -Signed-off-by: Karel Zak ---- - Documentation/licenses/COPYING.ISC | 11 +++++++++++ - 1 file changed, 11 insertions(+) - create mode 100644 Documentation/licenses/COPYING.ISC - -diff --git a/Documentation/licenses/COPYING.ISC b/Documentation/licenses/COPYING.ISC -new file mode 100644 -index 000000000..8351a30e3 ---- /dev/null -+++ b/Documentation/licenses/COPYING.ISC -@@ -0,0 +1,11 @@ -+Permission to use, copy, modify, and/or distribute this software for any -+purpose with or without fee is hereby granted, provided that the above -+copyright notice and this permission notice appear in all copies. -+ -+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --- -2.14.3 - diff --git a/bsp/buildroot/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch b/bsp/buildroot/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch new file mode 100644 index 00000000..b97be2ef --- /dev/null +++ b/bsp/buildroot/package/util-linux/0001-rtcwake-use-poweroff-if-shutdown-is-not-found.patch @@ -0,0 +1,86 @@ +From e1686b25acdedb34cc357f08f0dd3ca01c559dfd Mon Sep 17 00:00:00 2001 +From: Justin Chen +Date: Thu, 1 Nov 2018 11:10:38 -0700 +Subject: [PATCH] rtcwake: use poweroff if shutdown is not found + +Some systems do not have the shutdown command. Use poweroff as an +alternative. + +Signed-off-by: Justin Chen +--- + include/pathnames.h | 1 + + sys-utils/rtcwake.c | 39 +++++++++++++++++++++++++++------------ + 2 files changed, 28 insertions(+), 12 deletions(-) + +diff --git a/include/pathnames.h b/include/pathnames.h +index 3d5052e6f..ed8ea330d 100644 +--- a/include/pathnames.h ++++ b/include/pathnames.h +@@ -53,6 +53,7 @@ + # define _PATH_LOGIN "/bin/login" + #endif + #define _PATH_SHUTDOWN "/sbin/shutdown" ++#define _PATH_POWEROFF "/sbin/poweroff" + + #define _PATH_TERMCOLORS_DIRNAME "terminal-colors.d" + #define _PATH_TERMCOLORS_DIR "/etc/" _PATH_TERMCOLORS_DIRNAME +diff --git a/sys-utils/rtcwake.c b/sys-utils/rtcwake.c +index b63c64627..029f00f9b 100644 +--- a/sys-utils/rtcwake.c ++++ b/sys-utils/rtcwake.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -582,18 +583,32 @@ int main(int argc, char **argv) + char *arg[5]; + int i = 0; + +- if (ctl.verbose) +- printf(_("suspend mode: off; executing %s\n"), +- _PATH_SHUTDOWN); +- arg[i++] = _PATH_SHUTDOWN; +- arg[i++] = "-h"; +- arg[i++] = "-P"; +- arg[i++] = "now"; +- arg[i] = NULL; +- if (!ctl.dryrun) { +- execv(arg[0], arg); +- warn(_("failed to execute %s"), _PATH_SHUTDOWN); +- rc = EXIT_FAILURE; ++ if (!access(_PATH_SHUTDOWN, X_OK)) { ++ arg[i++] = _PATH_SHUTDOWN; ++ arg[i++] = "-h"; ++ arg[i++] = "-P"; ++ arg[i++] = "now"; ++ arg[i] = NULL; ++ } else if (!access(_PATH_POWEROFF, X_OK)) { ++ arg[i++] = _PATH_POWEROFF; ++ arg[i] = NULL; ++ } else { ++ arg[i] = NULL; ++ } ++ ++ if (arg[0]) { ++ if (ctl.verbose) ++ printf(_("suspend mode: off; executing %s\n"), ++ arg[0]); ++ if (!ctl.dryrun) { ++ execv(arg[0], arg); ++ warn(_("failed to execute %s"), arg[0]); ++ rc = EX_EXEC_ENOENT; ++ } ++ } else { ++ /* Failed to find shutdown command */ ++ warn(_("failed to find shutdown command")); ++ rc = EX_EXEC_ENOENT; + } + break; + } +-- +2.17.1 + diff --git a/bsp/buildroot/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch b/bsp/buildroot/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch new file mode 100644 index 00000000..fcd97313 --- /dev/null +++ b/bsp/buildroot/package/util-linux/0002-agetty-fix-output-of-escaped-characters.patch @@ -0,0 +1,26 @@ +From 73c5a3cc748b853936319e6cdc94159a6974db52 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 7 Nov 2018 13:55:06 +0100 +Subject: [PATCH] agetty: fix output of escaped characters + +Signed-off-by: Christian Hesse +--- + term-utils/agetty.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/term-utils/agetty.c b/term-utils/agetty.c +index 05a269abb..b9f08728e 100644 +--- a/term-utils/agetty.c ++++ b/term-utils/agetty.c +@@ -2755,7 +2755,7 @@ static void output_special_char(struct issue *ie, + break; + } + default: +- putchar(c); ++ putc(c, ie->output); + break; + } + } +-- +2.17.1 + diff --git a/bsp/buildroot/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch b/bsp/buildroot/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch deleted file mode 100644 index 79fa577c..00000000 --- a/bsp/buildroot/package/util-linux/0002-lib-randutils-Do-not-block-on-getrandom.patch +++ /dev/null @@ -1,52 +0,0 @@ -From a9cf659e0508c1f56813a7d74c64f67bbc962538 Mon Sep 17 00:00:00 2001 -From: Carlo Caione -Date: Mon, 19 Mar 2018 10:31:07 +0000 -Subject: [PATCH] lib/randutils: Do not block on getrandom() - -In Endless we have hit a problem when using 'sfdisk' on the really first -boot to automatically expand the rootfs partition. On this platform -'sfdisk' is blocking on getrandom() because not enough random bytes are -available. This is an ARM platform without a hwrng. - -We fix this passing GRND_NONBLOCK to getrandom(). 'sfdisk' will use the -best entropy it has available and fallback only as necessary. - -Signed-off-by: Carlo Caione -Signed-off-by: Peter Korsgaard ---- - lib/randutils.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/lib/randutils.c b/lib/randutils.c -index e1c4059e1..02c3d9eb0 100644 ---- a/lib/randutils.c -+++ b/lib/randutils.c -@@ -36,6 +36,8 @@ - - #if !defined(HAVE_GETRANDOM) && defined(SYS_getrandom) - /* libc without function, but we have syscal */ -+#define GRND_NONBLOCK 0x01 -+#define GRND_RANDOM 0x02 - static int getrandom(void *buf, size_t buflen, unsigned int flags) - { - return (syscall(SYS_getrandom, buf, buflen, flags)); -@@ -104,13 +106,15 @@ void random_get_bytes(void *buf, size_t nbytes) - int x; - - errno = 0; -- x = getrandom(cp, n, 0); -+ x = getrandom(cp, n, GRND_NONBLOCK); - if (x > 0) { /* success */ - n -= x; - cp += x; - lose_counter = 0; - } else if (errno == ENOSYS) /* kernel without getrandom() */ - break; -+ else if (errno == EAGAIN) -+ break; - else if (lose_counter++ > 16) /* entropy problem? */ - break; - } --- -2.11.0 - diff --git a/bsp/buildroot/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch b/bsp/buildroot/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch deleted file mode 100644 index a48f12fc..00000000 --- a/bsp/buildroot/package/util-linux/0003-lib-randutils-don-t-break-on-EAGAIN-use-usleep.patch +++ /dev/null @@ -1,71 +0,0 @@ -From edc1c90cb972fdca1f66be5a8e2b0706bd2a4949 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 20 Mar 2018 14:17:24 +0100 -Subject: [PATCH] lib/randutils: don't break on EAGAIN, use usleep() - -The current code uses lose_counter to make more attempts to read -random numbers. It seems better to wait a moment between attempts to -avoid busy loop (we do the same in all-io.h). - -The worst case is 1 second delay for all random_get_bytes() on systems -with uninitialized entropy pool -- for example you call sfdisk (MBR Id -or GPT UUIDs) on very first boot, etc. In this case it will use libc -rand() as a fallback solution. - -Note that we do not use random numbers for security sensitive things -like keys or so. It's used for random based UUIDs etc. - -Addresses: https://github.com/karelzak/util-linux/pull/603 -Signed-off-by: Karel Zak -Signed-off-by: Peter Korsgaard ---- - lib/randutils.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) - -diff --git a/lib/randutils.c b/lib/randutils.c -index 02c3d9eb0..de4279530 100644 ---- a/lib/randutils.c -+++ b/lib/randutils.c -@@ -95,6 +95,9 @@ int random_get_fd(void) - * Use /dev/urandom if possible, and if not, - * use glibc pseudo-random functions. - */ -+#define UL_RAND_READ_ATTEMPTS 8 -+#define UL_RAND_READ_DELAY 125000 /* microseconds */ -+ - void random_get_bytes(void *buf, size_t nbytes) - { - unsigned char *cp = (unsigned char *)buf; -@@ -111,11 +114,14 @@ void random_get_bytes(void *buf, size_t nbytes) - n -= x; - cp += x; - lose_counter = 0; -- } else if (errno == ENOSYS) /* kernel without getrandom() */ -- break; -- else if (errno == EAGAIN) -+ -+ } else if (errno == ENOSYS) { /* kernel without getrandom() */ - break; -- else if (lose_counter++ > 16) /* entropy problem? */ -+ -+ } else if (errno == EAGAIN && lose_counter < UL_RAND_READ_ATTEMPTS) { -+ xusleep(UL_RAND_READ_DELAY); /* no etropy, wait and try again */ -+ lose_counter++; -+ } else - break; - } - -@@ -134,8 +140,9 @@ void random_get_bytes(void *buf, size_t nbytes) - while (n > 0) { - ssize_t x = read(fd, cp, n); - if (x <= 0) { -- if (lose_counter++ > 16) -+ if (lose_counter++ > UL_RAND_READ_ATTEMPTS) - break; -+ xusleep(UL_RAND_READ_DELAY); - continue; - } - n -= x; --- -2.11.0 - diff --git a/bsp/buildroot/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch b/bsp/buildroot/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch new file mode 100644 index 00000000..70588b86 --- /dev/null +++ b/bsp/buildroot/package/util-linux/0003-setarch-fix-obscure-sparc32bash-use-case.patch @@ -0,0 +1,84 @@ +From 3fa06e049012218d883d0e1251df86bafbc446bf Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 22 Nov 2018 11:03:35 +0100 +Subject: [PATCH] setarch: fix obscure sparc32bash use-case + +Reported-by: Carlos Santos +Signed-off-by: Karel Zak +Signed-off-by: Carlos Santos +--- + sys-utils/setarch.c | 28 ++++++++++++++++++---------- + 1 file changed, 18 insertions(+), 10 deletions(-) + +diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c +index a733f7b3c..7c0a63fbb 100644 +--- a/sys-utils/setarch.c ++++ b/sys-utils/setarch.c +@@ -268,6 +268,7 @@ int main(int argc, char *argv[]) + int c; + struct arch_domain *doms, *target; + unsigned long pers_value = 0; ++ char *shell = NULL, *shell_arg = NULL; + + /* Options without equivalent short options */ + enum { +@@ -310,14 +311,14 @@ int main(int argc, char *argv[]) + archwrapper = strcmp(program_invocation_short_name, "setarch") != 0; + if (archwrapper) { + arch = program_invocation_short_name; /* symlinks to setarch */ +-#if defined(__sparc64__) || defined(__sparc__) ++ ++ /* Don't use ifdef sparc here, we get "Unrecognized architecture" ++ * error message later if necessary */ + if (strcmp(arch, "sparc32bash") == 0) { +- if (set_arch(arch, 0L, 0)) +- err(EXIT_FAILURE, _("Failed to set personality to %s"), arch); +- execl("/bin/bash", "", NULL); +- errexec("/bin/bash"); ++ shell = "/bin/bash"; ++ shell_arg = ""; ++ goto set_arch; + } +-#endif + } else { + if (1 < argc && *argv[1] != '-') { + arch = argv[1]; +@@ -391,6 +392,7 @@ int main(int argc, char *argv[]) + argc -= optind; + argv += optind; + ++set_arch: + /* get execution domain (architecture) */ + if (arch) { + doms = init_arch_domains(); +@@ -422,17 +424,23 @@ int main(int argc, char *argv[]) + if (arch) + verify_arch_domain(target, arch); + ++ if (!argc) { ++ shell = "/bin/sh"; ++ shell_arg = "-sh"; ++ } + if (verbose) { +- printf(_("Execute command `%s'.\n"), argc ? argv[0] : "/bin/sh"); ++ printf(_("Execute command `%s'.\n"), shell ? shell : argv[0]); + /* flush all output streams before exec */ + fflush(NULL); + } + +- if (!argc) { +- execl("/bin/sh", "-sh", NULL); +- errexec("/bin/sh"); ++ /* Execute shell */ ++ if (shell) { ++ execl(shell, shell_arg, NULL); ++ errexec(shell); + } + ++ /* Execute on command line specified command */ + execvp(argv[0], argv); + errexec(argv[0]); + } +-- +2.14.5 + diff --git a/bsp/buildroot/package/util-linux/Config.in b/bsp/buildroot/package/util-linux/Config.in index 5f0a35cd..a5a137bf 100644 --- a/bsp/buildroot/package/util-linux/Config.in +++ b/bsp/buildroot/package/util-linux/Config.in @@ -53,7 +53,7 @@ config BR2_PACKAGE_UTIL_LINUX_BINARIES help Install the basic set of util-linux binaries. - blkdiscard, blkid, blockdev, chcpu, col, colcrt, colrm, + blkdiscard, blkid, blockdev, chcpu, choom, col, colcrt, colrm, column, ctrlaltdel, dmesg, fdisk, fincore, findfs, findmnt, flock, fsfreeze, fstrim, getopt, hexdump, ipcmk, isosize, ldattach, look, lsblk, lscpu, lsipc, lslocks, lsns, mcookie, diff --git a/bsp/buildroot/package/util-linux/util-linux.hash b/bsp/buildroot/package/util-linux/util-linux.hash index 068bb45e..ed503a12 100644 --- a/bsp/buildroot/package/util-linux/util-linux.hash +++ b/bsp/buildroot/package/util-linux/util-linux.hash @@ -1,9 +1,9 @@ -# From https://www.kernel.org/pub/linux/utils/util-linux/v2.31/sha256sums.asc -sha256 1a51b16fa9cd51d26ef9ab52d2f1de12403b810fc8252bf7d478df91b3cddf11 util-linux-2.31.1.tar.xz +# From https://www.kernel.org/pub/linux/utils/util-linux/v2.33/sha256sums.asc +sha256 f261b9d73c35bfeeea04d26941ac47ee1df937bd3b0583e748217c1ea423658a util-linux-2.33.tar.xz # License files, locally calculated -sha256 1e4b65802b0df8115395c697029d03339f983d451a473a08643309c684410d9a README.licensing -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPLv2 -sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.UCB -sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPLv2.1 -sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3 +sha256 4335620e8f478ee4dc4d26540448d39469091ef1d8e3fbbbb8bf753206ceac74 README.licensing +sha256 9b718a9460fed5952466421235bc79eb49d4e9eacc920d7a9dd6285ab8fd6c6d Documentation/licenses/COPYING.BSD-3-Clause +sha256 ba7640f00d93e72e92b94b9d71f25ec53bac2f1682f5c4adcccb0018359f60f8 Documentation/licenses/COPYING.BSD-4-Clause-UC +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 Documentation/licenses/COPYING.GPL-2.0-or-later sha256 e53348ce276358e9997014071c5294b36a18c4b34f32f00ee57b9acce0aafd63 Documentation/licenses/COPYING.ISC +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 Documentation/licenses/COPYING.LGPL-2.1-or-later diff --git a/bsp/buildroot/package/util-linux/util-linux.mk b/bsp/buildroot/package/util-linux/util-linux.mk index 72a6d181..c176d364 100644 --- a/bsp/buildroot/package/util-linux/util-linux.mk +++ b/bsp/buildroot/package/util-linux/util-linux.mk @@ -4,22 +4,22 @@ # ################################################################################ -UTIL_LINUX_VERSION_MAJOR = 2.31 -UTIL_LINUX_VERSION_MINOR = 1 -UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR).$(UTIL_LINUX_VERSION_MINOR) +UTIL_LINUX_VERSION_MAJOR = 2.33 +UTIL_LINUX_VERSION = $(UTIL_LINUX_VERSION_MAJOR) UTIL_LINUX_SOURCE = util-linux-$(UTIL_LINUX_VERSION).tar.xz UTIL_LINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/util-linux/v$(UTIL_LINUX_VERSION_MAJOR) # README.licensing claims that some files are GPL-2.0 only, but this is not true. # Some files are GPL-3.0+ but only in tests. rfkill uses an ISC-style license. UTIL_LINUX_LICENSE = GPL-2.0+, BSD-4-Clause, LGPL-2.1+ (libblkid, libfdisk, libmount), BSD-3-Clause (libuuid) ISC (rfkill) -UTIL_LINUX_LICENSE_FILES = README.licensing Documentation/licenses/COPYING.GPLv2 Documentation/licenses/COPYING.UCB Documentation/licenses/COPYING.LGPLv2.1 Documentation/licenses/COPYING.BSD-3 Documentation/licenses/COPYING.ISC +UTIL_LINUX_LICENSE_FILES = README.licensing \ + Documentation/licenses/COPYING.BSD-3-Clause \ + Documentation/licenses/COPYING.BSD-4-Clause-UC \ + Documentation/licenses/COPYING.GPL-2.0-or-later \ + Documentation/licenses/COPYING.ISC \ + Documentation/licenses/COPYING.LGPL-2.1-or-later UTIL_LINUX_INSTALL_STAGING = YES UTIL_LINUX_DEPENDENCIES = host-pkgconf $(TARGET_NLS_DEPENDENCIES) -# uClibc needs NTP_LEGACY for sys/timex.h -> ntp_gettime() support -# (used in logger.c), and the common default is N. -UTIL_LINUX_CONF_ENV = scanf_cv_type_modifier=no \ - $(if $(BR2_TOOLCHAIN_USES_UCLIBC),ac_cv_header_sys_timex_h=no) UTIL_LINUX_CONF_OPTS += \ --disable-rpath \ --disable-makeinstall-chown @@ -36,12 +36,6 @@ HOST_UTIL_LINUX_DEPENDENCIES = host-pkgconf # We also don't want the host-python dependency HOST_UTIL_LINUX_CONF_OPTS = --without-python -# If both util-linux and busybox are selected, make certain util-linux -# wins the fight over who gets to have their utils actually installed -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -UTIL_LINUX_DEPENDENCIES += busybox -endif - # Prevent the installation from attempting to move shared libraries from # ${usrlib_execdir} (/usr/lib) to ${libdir} (/lib), since both paths are # the same when merged usr is in use. diff --git a/bsp/buildroot/package/utp_com/Config.in.host b/bsp/buildroot/package/utp_com/Config.in.host new file mode 100644 index 00000000..8f733de8 --- /dev/null +++ b/bsp/buildroot/package/utp_com/Config.in.host @@ -0,0 +1,7 @@ +config BR2_PACKAGE_HOST_UTP_COM + bool "host utp_com" + help + This package is used to send commands to hardware + via Freescale's UTP protocol (similar to MFGTools) + + https://github.com/ixonos/utp_com diff --git a/bsp/buildroot/package/utp_com/utp_com.hash b/bsp/buildroot/package/utp_com/utp_com.hash new file mode 100644 index 00000000..bc25be20 --- /dev/null +++ b/bsp/buildroot/package/utp_com/utp_com.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 8b5ba0058a78de69faf6822bb10b457fff2f9e55dc112ccb81c35214b061c6e6 utp_com-dee512ced1e9367d223d22f10797fbf9aeacfab6.tar.gz +sha256 a45d0bb572ed792ed34627a72621834b3ba92aab6e2cc4e04301dee7a728d753 LICENSE diff --git a/bsp/buildroot/package/utp_com/utp_com.mk b/bsp/buildroot/package/utp_com/utp_com.mk new file mode 100644 index 00000000..5890a70d --- /dev/null +++ b/bsp/buildroot/package/utp_com/utp_com.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# utp_com +# +################################################################################ + +UTP_COM_VERSION = dee512ced1e9367d223d22f10797fbf9aeacfab6 +UTP_COM_SITE = $(call github,freescale,utp_com,$(UTP_COM_VERSION)) +UTP_COM_LICENSE = GPL-2.0+ +UTP_COM_LICENSE_FILES = LICENSE +HOST_UTP_COM_DEPENDENCIES = host-sg3_utils + +define HOST_UTP_COM_BUILD_CMDS + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define HOST_UTP_COM_INSTALL_CMDS + $(INSTALL) -D -m 755 $(@D)/utp_com $(HOST_DIR)/bin/utp_com +endef + +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/v4l2loopback/v4l2loopback.hash b/bsp/buildroot/package/v4l2loopback/v4l2loopback.hash index 2b69fd7f..1f368121 100644 --- a/bsp/buildroot/package/v4l2loopback/v4l2loopback.hash +++ b/bsp/buildroot/package/v4l2loopback/v4l2loopback.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 9bb1e8d544019bead20813877415ae974fbc22f87c69772984a4abac433f36dd v4l2loopback-v0.10.0.tar.gz +sha256 419354f1de98b4f25be75decde942026c7e9e2d2c2def283c2988875e4a16aa6 v4l2loopback-v0.12.0.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/v4l2loopback/v4l2loopback.mk b/bsp/buildroot/package/v4l2loopback/v4l2loopback.mk index 669f8fc6..a6dedb2a 100644 --- a/bsp/buildroot/package/v4l2loopback/v4l2loopback.mk +++ b/bsp/buildroot/package/v4l2loopback/v4l2loopback.mk @@ -4,7 +4,7 @@ # ################################################################################ -V4L2LOOPBACK_VERSION = v0.10.0 +V4L2LOOPBACK_VERSION = v0.12.0 V4L2LOOPBACK_SITE = $(call github,umlaeute,v4l2loopback,$(V4L2LOOPBACK_VERSION)) V4L2LOOPBACK_LICENSE = GPL-2.0+ V4L2LOOPBACK_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch b/bsp/buildroot/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch new file mode 100644 index 00000000..a5573d51 --- /dev/null +++ b/bsp/buildroot/package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch @@ -0,0 +1,49 @@ +From 1fd5a3d2adf04bad6ae6e9eef9caead7d46d9307 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer +Date: Thu, 8 Nov 2018 23:55:30 +0100 +Subject: [PATCH] configure.ac: disable gcc march mips64r2 detection + +Disable gcc march mips64r2 detection, compile flags already +set by buildroot, fixes [1]: + + error: '-mips64r2' conflicts with the other architecture options, which specify a mips64 processor + +[1] http://autobuild.buildroot.net/results/34f6e2352f1559f98c724fe5394db0035b42ddb1 + +Signed-off-by: Peter Seiderer +[Thomas: remove code instead of commenting it] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 15 --------------- + 1 file changed, 15 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 289514ff1..18cf97ffe 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1768,22 +1768,7 @@ case "${host_cpu}" in + AC_SUBST(FLAG_M32) + + +- # does this compiler support -march=mips64r2 (mips64r2 default) ? +- AC_MSG_CHECKING([if gcc accepts -march=mips64r2 -mabi=64]) +- +- safe_CFLAGS=$CFLAGS +- CFLAGS="$CFLAGS -march=mips64r2 -mabi=64 -Werror" +- +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ +- return 0; +- ]])], [ +- FLAG_M64="-march=mips64r2 -mabi=64" +- AC_MSG_RESULT([yes]) +- ], [ + FLAG_M64="" +- AC_MSG_RESULT([no]) +- ]) +- CFLAGS=$safe_CFLAGS + + AC_SUBST(FLAG_M64) + ;; +-- +2.19.1 + diff --git a/bsp/buildroot/package/valgrind/0004-Fixes-for-musl-libc.patch b/bsp/buildroot/package/valgrind/0004-Fixes-for-musl-libc.patch deleted file mode 100644 index d543728a..00000000 --- a/bsp/buildroot/package/valgrind/0004-Fixes-for-musl-libc.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 50859f3577418cc42f76e1319e699202a615bbe1 Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Sat, 31 Oct 2015 19:45:04 +0100 -Subject: [PATCH] Fixes for musl libc. - -- add musl libc detection (prevents configure error) -- adjust preload and symbol names (based on the OpenWrt - patch, see [1]) - -[1] https://dev.openwrt.org/browser/trunk/package/devel/valgrind/patches/200-musl_fix.patch?rev=46302 - -Signed-off-by: Peter Seiderer ---- - configure.ac | 16 ++++++++++++++-- - coregrind/vg_preloaded.c | 2 +- - include/pub_tool_redir.h | 9 ++++++++- - 3 files changed, 23 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 8ab7f9b..e865bf5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1009,6 +1009,13 @@ if test x$VGCONF_PLATFORM_PRI_CAPS = xX86_SOLARIS \ - GLIBC_VERSION="solaris" - fi - -+# GLIBC_VERSION is empty if a musl libc is used, so use the toolchain tuple -+# in this case. -+if test x$GLIBC_VERSION = x; then -+ if $CC -dumpmachine | grep -q musl; then -+ GLIBC_VERSION=musl -+ fi -+fi - - AC_MSG_CHECKING([the glibc version]) - -@@ -1064,10 +1071,15 @@ case "${GLIBC_VERSION}" in - # DEFAULT_SUPP set in host_os switch-case above. - # No other suppression file is used. - ;; -+ musl) -+ AC_MSG_RESULT(Musl) -+ AC_DEFINE([MUSL_LIBC], 1, [Define to 1 if you're using Musl libc]) -+ # no DEFAULT_SUPP file yet for musl libc. -+ ;; - 2.0|2.1|*) - AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) -- AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,]) -- AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc]) -+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later, uClibc,]) -+ AC_MSG_ERROR([musl libc, Darwin libc, Bionic libc or Solaris libc]) - ;; - esac - -diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c -index 2ea7a7a..7b51aba 100644 ---- a/coregrind/vg_preloaded.c -+++ b/coregrind/vg_preloaded.c -@@ -56,7 +56,7 @@ - void VG_NOTIFY_ON_LOAD(freeres)( void ); - void VG_NOTIFY_ON_LOAD(freeres)( void ) - { --# if !defined(__UCLIBC__) \ -+# if !defined(__UCLIBC__) && !defined(MUSL_LIBC) \ - && !defined(VGPV_arm_linux_android) \ - && !defined(VGPV_x86_linux_android) \ - && !defined(VGPV_mips32_linux_android) \ -diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h -index bac00d7..babcf9a 100644 ---- a/include/pub_tool_redir.h -+++ b/include/pub_tool_redir.h -@@ -242,8 +242,11 @@ - /* --- Soname of the standard C library. --- */ - - #if defined(VGO_linux) || defined(VGO_solaris) -+# if defined(MUSL_LIBC) -+# define VG_Z_LIBC_SONAME libcZdZa // libc.* -+#else - # define VG_Z_LIBC_SONAME libcZdsoZa // libc.so* -- -+#endif - #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6) - # define VG_Z_LIBC_SONAME libSystemZdZaZddylib // libSystem.*.dylib - -@@ -274,7 +277,11 @@ - /* --- Soname of the pthreads library. --- */ - - #if defined(VGO_linux) -+# if defined(MUSL_LIBC) -+# define VG_Z_LIBPTHREAD_SONAME libcZdZa // libc.* -+#else - # define VG_Z_LIBPTHREAD_SONAME libpthreadZdsoZd0 // libpthread.so.0 -+#endif - #elif defined(VGO_darwin) - # define VG_Z_LIBPTHREAD_SONAME libSystemZdZaZddylib // libSystem.*.dylib - #elif defined(VGO_solaris) --- -2.1.4 - diff --git a/bsp/buildroot/package/valgrind/Config.in b/bsp/buildroot/package/valgrind/Config.in index 75b779d2..c09be862 100644 --- a/bsp/buildroot/package/valgrind/Config.in +++ b/bsp/buildroot/package/valgrind/Config.in @@ -1,7 +1,13 @@ config BR2_PACKAGE_VALGRIND_ARCH_SUPPORTS bool + default y if BR2_aarch64 default y if BR2_ARM_CPU_ARMV7A - default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + # MIPS32 R6 is unsupported + default y if BR2_mips && !BR2_mips_32r6 + default y if BR2_mipsel && !BR2_mips_32r6 + # MIPS64 R6 is unsupported + default y if BR2_mips64 && !BR2_mips_64r6 + default y if BR2_mips64el && !BR2_mips_64r6 default y if BR2_i386 || BR2_x86_64 default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le depends on !BR2_MIPS_SOFT_FLOAT diff --git a/bsp/buildroot/package/valgrind/valgrind.hash b/bsp/buildroot/package/valgrind/valgrind.hash index 5d7da19a..87fb4968 100644 --- a/bsp/buildroot/package/valgrind/valgrind.hash +++ b/bsp/buildroot/package/valgrind/valgrind.hash @@ -1,2 +1,6 @@ # From http://valgrind.org/downloads/current.html -md5 6eb03c0c10ea917013a7622e483d61bb valgrind-3.12.0.tar.bz2 +md5 74175426afa280184b62591b58c671b3 valgrind-3.14.0.tar.bz2 + +# License files +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING +sha256 56976e64523fa1e68db4e6f464f5b2cb89d7d08f54b1d012e317b8db286b3faf COPYING.DOCS diff --git a/bsp/buildroot/package/valgrind/valgrind.mk b/bsp/buildroot/package/valgrind/valgrind.mk index 32aeb97c..cae14f79 100644 --- a/bsp/buildroot/package/valgrind/valgrind.mk +++ b/bsp/buildroot/package/valgrind/valgrind.mk @@ -4,8 +4,8 @@ # ################################################################################ -VALGRIND_VERSION = 3.12.0 -VALGRIND_SITE = http://valgrind.org/downloads +VALGRIND_VERSION = 3.14.0 +VALGRIND_SITE = ftp://sourceware.org/pub/valgrind VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2 VALGRIND_LICENSE = GPL-2.0, GFDL-1.2 VALGRIND_LICENSE_FILES = COPYING COPYING.DOCS @@ -13,8 +13,8 @@ VALGRIND_CONF_OPTS = \ --disable-ubsan \ --without-mpicc VALGRIND_INSTALL_STAGING = YES - -# patch 0004-Fixes-for-musl-libc.patch touching configure.ac +# Patch 0003-configure.ac-disable-gcc-march-mips64r2-detection.patch +# touches configure.ac VALGRIND_AUTORECONF = YES # Valgrind must be compiled with no stack protection, so forcefully @@ -34,11 +34,14 @@ VALGRIND_CFLAGS = \ # and pass the right -march option, so they take precedence over # Valgrind's wrongfully detected value. ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y) -VALGRIND_CFLAGS += -march=$(BR2_GCC_TARGET_ARCH) +VALGRIND_CFLAGS += -march="$(GCC_TARGET_ARCH)" endif VALGRIND_CONF_ENV = CFLAGS="$(VALGRIND_CFLAGS)" +# fix uclibc configure c99 support detection +VALGRIND_CONF_ENV += ac_cv_prog_cc_c99='-std=gnu99' + # On ARM, Valgrind only supports ARMv7, and uses the arch part of the # host tuple to determine whether it's being built for ARMv7 or # not. Therefore, we adjust the host tuple to specify we're on @@ -49,6 +52,12 @@ VALGRIND_CONF_OPTS += \ --host=$(patsubst arm-%,armv7-%,$(GNU_TARGET_NAME)) endif +ifeq ($(BR2_GCC_ENABLE_LTO),y) +VALGRIND_CONF_OPTS += --enable-lto +else +VALGRIND_CONF_OPTS += --disable-lto +endif + define VALGRIND_INSTALL_UCLIBC_SUPP $(INSTALL) -D -m 0644 package/valgrind/uclibc.supp $(TARGET_DIR)/usr/lib/valgrind/uclibc.supp endef diff --git a/bsp/buildroot/package/valijson/valijson.hash b/bsp/buildroot/package/valijson/valijson.hash index 79b3fb7d..ffa12817 100644 --- a/bsp/buildroot/package/valijson/valijson.hash +++ b/bsp/buildroot/package/valijson/valijson.hash @@ -1,2 +1,2 @@ # Locally Computed: -sha256 f2346e995bd95c6b86b0b9e9dd228fe134d529565fa86db764c48496805dd9bc valijson-424b706f990a9eb96dfc19cc8e54f2cd6ce5e186.tar.gz +sha256 d22c1f8fe27d43e5a27aad1d3cbe9f1318ec28ccfa913e615663ed2bd6a5d063 valijson-v0.1.tar.gz diff --git a/bsp/buildroot/package/valijson/valijson.mk b/bsp/buildroot/package/valijson/valijson.mk index 71bd6a8f..e1b816dd 100644 --- a/bsp/buildroot/package/valijson/valijson.mk +++ b/bsp/buildroot/package/valijson/valijson.mk @@ -4,7 +4,7 @@ # ################################################################################ -VALIJSON_VERSION = 424b706f990a9eb96dfc19cc8e54f2cd6ce5e186 +VALIJSON_VERSION = v0.1 VALIJSON_SITE = $(call github,tristanpenman,valijson,$(VALIJSON_VERSION)) VALIJSON_LICENSE = BSD-2-Clause VALIJSON_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/vboot-utils/0006-Update-for-openssl-1.1.patch b/bsp/buildroot/package/vboot-utils/0006-Update-for-openssl-1.1.patch new file mode 100644 index 00000000..77e71e58 --- /dev/null +++ b/bsp/buildroot/package/vboot-utils/0006-Update-for-openssl-1.1.patch @@ -0,0 +1,268 @@ +From 2e730b2259c701f16d473dbfb7e58e86a6e71b01 Mon Sep 17 00:00:00 2001 +From: Daniel Kurtz +Date: Fri, 18 Jan 2019 13:04:59 +0200 +Subject: [PATCH] Update for openssl 1.1 + +OpenSSL 1.1 has made significant non-backwards compatible changes to its +API as outlined in: +https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes + +BRANCH=none +BUG=chromium:738114 +TEST=cros_workon --host start vboot_reference +TEST=w/ openssl-1.0.2k: sudo emerge vboot_reference +TEST=w/ openssl-1.1.0e: sudo emerge vboot_reference + => both build ok + $ futility version + => command runs without error +TEST=cros_workon --board=soraka start vboot_reference coreboot +TEST=w/ openssl-1.0.2k: emerge-soraka vboot_reference coreboot +TEST=w/ openssl-1.1.0e: emerge-soraka vboot_reference coreboot + => All build ok + +Change-Id: I37cfc8cbb04a092eab7b0b3224f475b82609447c +Reviewed-on: https://chromium-review.googlesource.com/557739 +Commit-Ready: Daniel Kurtz +Tested-by: Daniel Kurtz +Reviewed-by: Randall Spangler +Reviewed-by: Mike Frysinger + +(cherry-picked from bce7904376beee2912932433a4634c1c25afe2f5) +Signed-off-by: Vadim Kochan +--- + futility/cmd_create.c | 5 ++++- + futility/vb2_helper.c | 7 +++++-- + host/include/openssl_compat.h | 26 ++++++++++++++++++++++++++ + host/lib/util_misc.c | 7 +++++-- + host/lib21/host_key.c | 8 +++++++- + utility/dumpRSAPublicKey.c | 19 ++++++++++++++----- + 6 files changed, 61 insertions(+), 11 deletions(-) + create mode 100644 host/include/openssl_compat.h + +diff --git a/futility/cmd_create.c b/futility/cmd_create.c +index 143ea9ae..80d3fd90 100644 +--- a/futility/cmd_create.c ++++ b/futility/cmd_create.c +@@ -13,6 +13,7 @@ + #include "2common.h" + #include "2id.h" + #include "2rsa.h" ++#include "openssl_compat.h" + #include "util_misc.h" + #include "vb2_common.h" + #include "vb2_struct.h" +@@ -170,6 +171,7 @@ static int vb2_make_keypair() + enum vb2_signature_algorithm sig_alg; + uint8_t *pubkey_buf = 0; + int has_priv = 0; ++ const BIGNUM *rsa_d; + + FILE *fp; + int ret = 1; +@@ -193,7 +195,8 @@ static int vb2_make_keypair() + goto done; + } + /* Public keys doesn't have the private exponent */ +- has_priv = !!rsa_key->d; ++ RSA_get0_key(rsa_key, NULL, NULL, &rsa_d); ++ has_priv = !!rsa_d; + if (!has_priv) + fprintf(stderr, "%s has a public key only.\n", infile); + +diff --git a/futility/vb2_helper.c b/futility/vb2_helper.c +index 51a78375..c6cc0fdd 100644 +--- a/futility/vb2_helper.c ++++ b/futility/vb2_helper.c +@@ -11,6 +11,7 @@ + #include "2common.h" + #include "2id.h" + #include "2rsa.h" ++#include "openssl_compat.h" + #include "util_misc.h" + #include "vb2_common.h" + #include "vb2_struct.h" +@@ -216,6 +217,7 @@ int ft_show_pem(const char *name, uint8_t *buf, uint32_t len, void *data) + uint8_t *keyb, *digest; + uint32_t keyb_len; + int i, bits; ++ const BIGNUM *rsa_key_n, *rsa_key_d; + + /* We're called only after ft_recognize_pem, so this should work. */ + rsa_key = rsa_from_buffer(buf, len); +@@ -223,10 +225,11 @@ int ft_show_pem(const char *name, uint8_t *buf, uint32_t len, void *data) + DIE; + + /* Use to presence of the private exponent to decide if it's public */ +- printf("%s Key file: %s\n", rsa_key->d ? "Private" : "Public", ++ RSA_get0_key(rsa_key, &rsa_key_n, NULL, &rsa_key_d); ++ printf("%s Key file: %s\n", rsa_key_d ? "Private" : "Public", + name); + +- bits = BN_num_bits(rsa_key->n); ++ bits = BN_num_bits(rsa_key_n); + printf(" Key length: %d\n", bits); + + if (vb_keyb_from_rsa(rsa_key, &keyb, &keyb_len)) { +diff --git a/host/include/openssl_compat.h b/host/include/openssl_compat.h +new file mode 100644 +index 00000000..7771f32a +--- /dev/null ++++ b/host/include/openssl_compat.h +@@ -0,0 +1,26 @@ ++/* Copyright 2017 The Chromium OS Authors. All rights reserved. ++ * Use of this source code is governed by a BSD-style license that can be ++ * found in the LICENSE file. ++ */ ++ ++#ifndef VBOOT_REFERENCE_OPENSSL_COMPAT_H_ ++#define VBOOT_REFERENCE_OPENSSL_COMPAT_H_ ++ ++#include ++ ++#if OPENSSL_VERSION_NUMBER < 0x10100000L ++ ++static inline void RSA_get0_key(const RSA *rsa, const BIGNUM **n, ++ const BIGNUM **e, const BIGNUM **d) ++{ ++ if (n != NULL) ++ *n = rsa->n; ++ if (e != NULL) ++ *e = rsa->e; ++ if (d != NULL) ++ *d = rsa->d; ++} ++ ++#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ ++ ++#endif /* VBOOT_REFERENCE_OPENSSL_COMPAT_H_ */ +diff --git a/host/lib/util_misc.c b/host/lib/util_misc.c +index 03ec683f..f0a1f7ad 100644 +--- a/host/lib/util_misc.c ++++ b/host/lib/util_misc.c +@@ -15,6 +15,7 @@ + + #include "cryptolib.h" + #include "host_common.h" ++#include "openssl_compat.h" + #include "util_misc.h" + #include "vboot_common.h" + +@@ -58,6 +59,7 @@ int vb_keyb_from_rsa(struct rsa_st *rsa_private_key, + BIGNUM *N0inv = NULL, *R = NULL, *RR = NULL; + BIGNUM *RRTemp = NULL, *NnumBits = NULL; + BIGNUM *n = NULL, *rr = NULL; ++ const BIGNUM *rsa_private_key_n; + BN_CTX *bn_ctx = BN_CTX_new(); + uint32_t n0invout; + uint32_t bufsize; +@@ -65,7 +67,7 @@ int vb_keyb_from_rsa(struct rsa_st *rsa_private_key, + int retval = 1; + + /* Size of RSA key in 32-bit words */ +- nwords = BN_num_bits(rsa_private_key->n) / 32; ++ nwords = RSA_size(rsa_private_key) / 4; + + bufsize = (2 + nwords + nwords) * sizeof(uint32_t); + outbuf = malloc(bufsize); +@@ -94,7 +96,8 @@ int vb_keyb_from_rsa(struct rsa_st *rsa_private_key, + NEW_BIGNUM(B); + #undef NEW_BIGNUM + +- BN_copy(N, rsa_private_key->n); ++ RSA_get0_key(rsa_private_key, &rsa_private_key_n, NULL, NULL); ++ BN_copy(N, rsa_private_key_n); + BN_set_word(Big1, 1L); + BN_set_word(Big2, 2L); + BN_set_word(Big32, 32L); +diff --git a/host/lib21/host_key.c b/host/lib21/host_key.c +index f7ea1622..f9419ad3 100644 +--- a/host/lib21/host_key.c ++++ b/host/lib21/host_key.c +@@ -17,6 +17,7 @@ + #include "host_common.h" + #include "host_key2.h" + #include "host_misc.h" ++#include "openssl_compat.h" + + struct vb2_text_vs_enum vb2_text_vs_algorithm[] = { + {"RSA1024 SHA1", VB2_ALG_RSA1024_SHA1}, +@@ -544,7 +545,12 @@ int vb2_public_key_hash(struct vb2_public_key *key, + + enum vb2_signature_algorithm vb2_rsa_sig_alg(struct rsa_st *rsa) + { +- int bits = BN_num_bits(rsa->n); ++ const BIGNUM *e, *n; ++ int exp, bits; ++ ++ RSA_get0_key(rsa, &n, &e, NULL); ++ exp = BN_get_word(e); ++ bits = BN_num_bits(n); + + switch (bits) { + case 1024: +diff --git a/utility/dumpRSAPublicKey.c b/utility/dumpRSAPublicKey.c +index b3b7b96b..a17b159e 100644 +--- a/utility/dumpRSAPublicKey.c ++++ b/utility/dumpRSAPublicKey.c +@@ -14,14 +14,20 @@ + #include + #include + ++#include "openssl_compat.h" ++ + /* Command line tool to extract RSA public keys from X.509 certificates + * and output a pre-processed version of keys for use by RSA verification + * routines. + */ + + int check(RSA* key) { +- int public_exponent = BN_get_word(key->e); +- int modulus = BN_num_bits(key->n); ++ const BIGNUM *n, *e; ++ int public_exponent, modulus; ++ ++ RSA_get0_key(key, &n, &e, NULL); ++ public_exponent = BN_get_word(e); ++ modulus = BN_num_bits(n); + + if (public_exponent != 65537) { + fprintf(stderr, "WARNING: Public exponent should be 65537 (but is %d).\n", +@@ -40,7 +46,8 @@ int check(RSA* key) { + */ + void output(RSA* key) { + int i, nwords; +- BIGNUM *N = key->n; ++ const BIGNUM *key_n; ++ BIGNUM *N = NULL; + BIGNUM *Big1 = NULL, *Big2 = NULL, *Big32 = NULL, *BigMinus1 = NULL; + BIGNUM *B = NULL; + BIGNUM *N0inv= NULL, *R = NULL, *RR = NULL, *RRTemp = NULL, *NnumBits = NULL; +@@ -48,14 +55,15 @@ void output(RSA* key) { + BN_CTX *bn_ctx = BN_CTX_new(); + uint32_t n0invout; + +- N = key->n; + /* Output size of RSA key in 32-bit words */ +- nwords = BN_num_bits(N) / 32; ++ nwords = RSA_size(key) / 4; + if (-1 == write(1, &nwords, sizeof(nwords))) + goto failure; + + + /* Initialize BIGNUMs */ ++ RSA_get0_key(key, &key_n, NULL, NULL); ++ N = BN_dup(key_n); + Big1 = BN_new(); + Big2 = BN_new(); + Big32 = BN_new(); +@@ -120,6 +128,7 @@ void output(RSA* key) { + + failure: + /* Free BIGNUMs. */ ++ BN_free(N); + BN_free(Big1); + BN_free(Big2); + BN_free(Big32); +-- +2.14.1 + diff --git a/bsp/buildroot/package/vde2/vde2.hash b/bsp/buildroot/package/vde2/vde2.hash index a56a1bbb..a9e1ea22 100644 --- a/bsp/buildroot/package/vde2/vde2.hash +++ b/bsp/buildroot/package/vde2/vde2.hash @@ -1,2 +1,5 @@ # Locally computed: sha256 cbea9b7e03097f87a6b5e98b07890d2275848f1fe4b9fcda77b8994148bc9542 vde2-2.3.2.tar.bz2 +sha256 fb295d0c24b8ef4b39017ac68e772e8e6e839612ce10da12b9f48d1e8e512e2e COPYING +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.libvdeplug +sha256 d5ac74315b2d2f9c53f5839e311484f4646a9401b68d02d36f3dab386352e74d COPYING.slirpvde diff --git a/bsp/buildroot/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk b/bsp/buildroot/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk index a25a99df..f41ad701 100644 --- a/bsp/buildroot/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk +++ b/bsp/buildroot/package/vdr-plugin-vnsiserver/vdr-plugin-vnsiserver.mk @@ -19,7 +19,8 @@ endef define VDR_PLUGIN_VNSISERVER_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ - install DESTDIR=$(TARGET_DIR) LIBDIR=/usr/lib/vdr + install DESTDIR=$(TARGET_DIR) LIBDIR=/usr/lib/vdr \ + LOCDIR=/usr/share/locale endef $(eval $(generic-package)) diff --git a/bsp/buildroot/package/vim/vim.hash b/bsp/buildroot/package/vim/vim.hash index 28c6b97e..bfbd55d1 100644 --- a/bsp/buildroot/package/vim/vim.hash +++ b/bsp/buildroot/package/vim/vim.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 6fbe0ec1228f951ba598b48ac8033f41ca4934cc34689a6008685e7c26477ae2 vim-v8.0.0329.tar.gz +sha256 a6dab137949097fbe0b67aafedf4c24a3b0d9c41716db35f5beb4834924d7b00 vim-v8.1.0133.tar.gz diff --git a/bsp/buildroot/package/vim/vim.mk b/bsp/buildroot/package/vim/vim.mk index 0cc65125..ee0c8b61 100644 --- a/bsp/buildroot/package/vim/vim.mk +++ b/bsp/buildroot/package/vim/vim.mk @@ -4,16 +4,14 @@ # ################################################################################ -VIM_VERSION = v8.0.0329 +VIM_VERSION = v8.1.0133 VIM_SITE = $(call github,vim,vim,$(VIM_VERSION)) -# Win over busybox vi since vim is more feature-rich -VIM_DEPENDENCIES = \ - ncurses $(TARGET_NLS_DEPENDENCIES) \ - $(if $(BR2_PACKAGE_BUSYBOX),busybox) +VIM_DEPENDENCIES = ncurses $(TARGET_NLS_DEPENDENCIES) VIM_SUBDIR = src VIM_CONF_ENV = \ vim_cv_toupper_broken=no \ vim_cv_terminfo=yes \ + vim_cv_tgetent=zero \ vim_cv_tty_group=world \ vim_cv_tty_mode=0620 \ vim_cv_getcwd_broken=no \ diff --git a/bsp/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch b/bsp/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch new file mode 100644 index 00000000..784ffa35 --- /dev/null +++ b/bsp/buildroot/package/vlc/0001-Disable-building-of-statically-linked-vlc-binary.patch @@ -0,0 +1,40 @@ +From 7c2b3343a30ee53a1cded2ca5e712d8cd7d50f5f Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 1 May 2018 22:27:21 +0200 +Subject: [PATCH] Disable building of statically linked vlc binary + +Signed-off-by: Bernd Kuhls +--- + Makefile.am | 2 +- + bin/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 3ac82623ad..637504a3f5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -108,7 +108,7 @@ libvlc: libvlccore + cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la + + core: libvlc vlc$(EXEEXT) +- cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT) ++ cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) + + doc: + cd doc && $(MAKE) $(AM_MAKEFLAGS) doc +diff --git a/bin/Makefile.am b/bin/Makefile.am +index 2877e8b0ea..bef4160e8b 100644 +--- a/bin/Makefile.am ++++ b/bin/Makefile.am +@@ -6,7 +6,7 @@ bin_PROGRAMS = vlc-osx + noinst_PROGRAMS = vlc-osx-static + else + bin_PROGRAMS = vlc +-noinst_PROGRAMS = vlc-static ++noinst_PROGRAMS = + endif + endif + EXTRA_DIST = vlc_win32_rc.rc.in +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0001-vlc-static.patch b/bsp/buildroot/package/vlc/0001-vlc-static.patch deleted file mode 100644 index f9aa079a..00000000 --- a/bsp/buildroot/package/vlc/0001-vlc-static.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -uNr vlc-2.1.5.org/bin/Makefile.am vlc-2.1.5/bin/Makefile.am ---- vlc-2.1.5.org/bin/Makefile.am 2013-12-03 10:12:34.000000000 +0100 -+++ vlc-2.1.5/bin/Makefile.am 2014-08-03 12:30:06.722154518 +0200 -@@ -1,7 +1,7 @@ - # Building vlc - # - bin_PROGRAMS = vlc --noinst_PROGRAMS = vlc-static -+noinst_PROGRAMS = - noinst_DATA = - vlclib_PROGRAMS = vlc-cache-gen - EXTRA_PROGRAMS = vlc-wrapper -diff -uNr vlc-2.1.5.org/Makefile.am vlc-2.1.5/Makefile.am ---- vlc-2.1.5.org/Makefile.am 2014-02-14 18:40:50.000000000 +0100 -+++ vlc-2.1.5/Makefile.am 2014-08-03 12:29:52.059010766 +0200 -@@ -932,7 +932,7 @@ - cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la - - core: libvlc vlc$(EXEEXT) -- cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) vlc-static$(EXEEXT) -+ cd bin && $(MAKE) $(AM_MAKEFLAGS) vlc$(EXEEXT) - - doc: - cd doc && $(MAKE) $(AM_MAKEFLAGS) doc diff --git a/bsp/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch b/bsp/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch deleted file mode 100644 index e9a73153..00000000 --- a/bsp/buildroot/package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 88bf3313850bc7f0e6db21daee2b8d8e607b7bb4 Mon Sep 17 00:00:00 2001 -From: Samuel Martin -Date: Sat, 8 Feb 2014 14:33:27 +0100 -Subject: [PATCH] configure.ac: add check for libgcrypt-config program - -This allows to override the default libgcrypt-config location (which is -useful when cross-compiling), instead of using the one from the host -system. - -Signed-off-by: Samuel Martin -[yann.morin.1998@free.fr: adapt from 2.1.6 to 2.2.0; fix quoting in - AC_PATH_PROG] -Signed-off-by: "Yann E. MORIN" ---- - configure.ac | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 02fb8aa..5a2267b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4020,16 +4020,17 @@ - AC_ARG_ENABLE(libgcrypt, - [ --disable-libgcrypt gcrypt support (default enabled)]) - AS_IF([test "${enable_libgcrypt}" != "no"], [ -+ AC_PATH_PROG([GCRYPT_CONFIG],[libgcrypt-config],[libgcrypt-config]) - AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [ -- libgcrypt-config --version >/dev/null || \ -+ ${GCRYPT_CONFIG} --version >/dev/null || \ - AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found]) - AC_CHECK_LIB(gcrypt, gcry_control, [ - have_libgcrypt="yes" -- GCRYPT_CFLAGS="`libgcrypt-config --cflags`" -- GCRYPT_LIBS="`libgcrypt-config --libs`" -+ GCRYPT_CFLAGS="`${GCRYPT_CONFIG} --cflags`" -+ GCRYPT_LIBS="`${GCRYPT_CONFIG} --libs`" - ], [ - AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.]) -- ], [`libgcrypt-config --libs`]) -+ ], [`${GCRYPT_CONFIG} --libs`]) - ], [ - AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.]) - ], [#include ] diff --git a/bsp/buildroot/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch b/bsp/buildroot/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch new file mode 100644 index 00000000..11eaaf3b --- /dev/null +++ b/bsp/buildroot/package/vlc/0002-lua-Define-LUA_COMPAT_APIINTCASTS-for-Lua-5.3.0-comp.patch @@ -0,0 +1,41 @@ +From 00135e21bec84a2fe5920d02fa0982ceb9f89a35 Mon Sep 17 00:00:00 2001 +From: Vinson Lee +Date: Thu, 5 Feb 2015 14:48:53 -0800 +Subject: [PATCH] lua: Define LUA_COMPAT_APIINTCASTS for Lua >= 5.3.0 + compatibility. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In Lua 5.3.0, luaL_checkint was deprecated. + +This patch fixes this build error with Lua 5.3.0. + +lua/demux.c: In function ‘vlclua_demux_peek’: +lua/demux.c:55:5: error: implicit declaration of function ‘luaL_checkint’ [-Werror=implicit-function-declaration] + int n = luaL_checkint( L, 1 ); + ^ + +Signed-off-by: Vinson Lee +Signed-off-by: Jean-Baptiste Kempf +[Backport upstream commit 41caaa08cde60c4fec4bf2e5f9610e2a1b9e6a23] +Signed-off-by: Bernd Kuhls +--- + modules/lua/vlc.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h +index 71f381d334..b46b5f67a1 100644 +--- a/modules/lua/vlc.h ++++ b/modules/lua/vlc.h +@@ -38,6 +38,7 @@ + #include + #include + ++#define LUA_COMPAT_APIINTCASTS + #define LUA_COMPAT_MODULE + #include /* Low level lua C API */ + #include /* Higher level C API */ +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch b/bsp/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch index cea6a38f..d4493bdf 100644 --- a/bsp/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch +++ b/bsp/buildroot/package/vlc/0003-automake-add-subdir-objects-option.patch @@ -1,4 +1,7 @@ -automake: add subdir-objects option +From 54e7e0bda02099ae9d1c42abed1932ffa8d354e8 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" +Date: Tue, 1 May 2018 22:28:52 +0200 +Subject: [PATCH] automake: add subdir-objects option Our version of automake warns if this option is enabled and source files in subdirectories are used. @@ -7,10 +10,14 @@ It doesn't really seems to have a noticable effect on the build, but it does remove a lot of annoying warnings. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -diff -Nrup vlc-2.1.2.orig/configure.ac vlc-2.1.2/configure.ac ---- vlc-2.1.2.orig/configure.ac 2014-02-27 00:22:19.512944952 +0100 -+++ vlc-2.1.2/configure.ac 2014-02-27 00:24:21.360940651 +0100 +diff --git a/configure.ac b/configure.ac +index 206690b468..dfb4c1c329 100644 +--- a/configure.ac ++++ b/configure.ac @@ -24,7 +24,7 @@ AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_PRESERVE_HELP_ORDER @@ -19,4 +26,7 @@ diff -Nrup vlc-2.1.2.orig/configure.ac vlc-2.1.2/configure.ac +AM_INIT_AUTOMAKE(tar-ustar color-tests foreign subdir-objects) AC_CONFIG_HEADERS([config.h]) - # Disable with "./configure --disable-silent-rules" or "make V=1" + AM_SILENT_RULES([yes]) +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch b/bsp/buildroot/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch new file mode 100644 index 00000000..652718b0 --- /dev/null +++ b/bsp/buildroot/package/vlc/0004-build-use-pkg-config-to-get-tremor-libs.patch @@ -0,0 +1,50 @@ +From fb257e1e204c30436b3509ea3fa9f7c5fe131dc1 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Tue, 16 Oct 2018 14:25:20 +0200 +Subject: [PATCH] build: use pkg-config to get tremor libs + +Use PKG_ENABLE_MODULES_VLC to enable tremor based on availability of +ogg and vorbisidec + +Signed-off-by: Fabrice Fontaine +--- + configure.ac | 9 +-------- + modules/codec/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0d3222e00f..b506d735f2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2710,14 +2710,7 @@ PKG_ENABLE_MODULES_VLC([VORBIS], [], [ogg vorbis >= 1.1 vorbisenc >= 1.1], [Vorb + dnl + dnl Tremor plugin + dnl +-AC_ARG_ENABLE(tremor, +- [ --enable-tremor Tremor decoder support (default disabled)]) +-if test "${enable_tremor}" = "yes" +-then +- AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [ +- VLC_ADD_PLUGIN([tremor]) +- ],[]) +-fi ++PKG_ENABLE_MODULES_VLC([TREMOR], [], [vorbisidec ogg], [Tremor decoder support], [disabled]) + + dnl + dnl Speex plugins +diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am +index 075ee2a0e9..637b1d45a6 100644 +--- a/modules/codec/Makefile.am ++++ b/modules/codec/Makefile.am +@@ -318,7 +318,7 @@ codec_LTLIBRARIES += $(LTLIBdaala) + libtremor_plugin_la_SOURCES = codec/vorbis.c + libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor + libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' +-libtremor_plugin_la_LIBADD = -lvorbisdec -logg ++libtremor_plugin_la_LIBADD = $(TREMOR_LIBS) + EXTRA_LTLIBRARIES += libtremor_plugin.la + codec_LTLIBRARIES += $(LTLIBtremor) + +-- +2.17.1 + diff --git a/bsp/buildroot/package/vlc/0004-implicit-function-declaration.patch b/bsp/buildroot/package/vlc/0004-implicit-function-declaration.patch deleted file mode 100644 index 515453d1..00000000 --- a/bsp/buildroot/package/vlc/0004-implicit-function-declaration.patch +++ /dev/null @@ -1,20 +0,0 @@ -Fix compile warning being treated as error: - -codec/svg.c: In function 'DecodeBlock': -codec/svg.c:240:5: error: implicit declaration of function 'rsvg_handle_render_cairo' [-Werror=implicit-function-declaration] -cc1: some warnings being treated as errors - -Signed-off-by: Bernd Kuhls - -diff -uNr vlc-2.2.1.org/configure.ac vlc-2.2.1/configure.ac ---- vlc-2.2.1.org/configure.ac 2015-04-13 09:57:54.000000000 +0200 -+++ vlc-2.2.1/configure.ac 2015-04-24 20:54:35.349039010 +0200 -@@ -864,7 +864,7 @@ - dnl Compiler warnings - dnl - --RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) -+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var]) - RDC_PROG_CC_FLAGS([-pipe]) - AC_LANG_PUSH([C++]) - RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) diff --git a/bsp/buildroot/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch b/bsp/buildroot/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch new file mode 100644 index 00000000..a1d71896 --- /dev/null +++ b/bsp/buildroot/package/vlc/0005-Fix-build-error-using-uClibc-by-adding-sys-types.h.patch @@ -0,0 +1,44 @@ +From bbb15b9cbf9353423619f2c40abdf95d861e66ba Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 2 Apr 2016 16:49:54 +0200 +Subject: [PATCH] Fix build error using uClibc by adding sys/types.h + +Fixes + + CC core.lo +In file included from libvlc_internal.h:35:0, + from core.c:28: +../include/vlc/libvlc_media.h:313:18: error: expected declaration specifiers or '...' before '*' token + typedef ssize_t (*libvlc_media_read_cb)(void *opaque, unsigned char *buf, + ^ +../include/vlc/libvlc_media.h:423:36: error: unknown type name 'libvlc_media_read_cb' + libvlc_media_read_cb read_cb, + ^ +Bug was reported to trac: +https://trac.videolan.org/vlc/ticket/16768 + +This patch was suggested by courmisch in the trac ticket. + +Signed-off-by: Bernd Kuhls +[Patch sent upstream: + https://mailman.videolan.org/pipermail/vlc-devel/2016-April/106952.html] +--- + include/vlc/libvlc_media.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/vlc/libvlc_media.h b/include/vlc/libvlc_media.h +index 383f366b69..1cbf00c3e3 100644 +--- a/include/vlc/libvlc_media.h ++++ b/include/vlc/libvlc_media.h +@@ -26,6 +26,8 @@ + #ifndef VLC_LIBVLC_MEDIA_H + #define VLC_LIBVLC_MEDIA_H 1 + ++#include /* for ssize_t */ ++ + # ifdef __cplusplus + extern "C" { + # endif +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0005-libvorbisidec.patch b/bsp/buildroot/package/vlc/0005-libvorbisidec.patch deleted file mode 100644 index 155e0694..00000000 --- a/bsp/buildroot/package/vlc/0005-libvorbisidec.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fixes linking error with tremor due to wrong library name - -Downloaded from Gentoo package -https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vlc/files/vlc-2.1.0-fix-libtremor-libs.patch?view=markup - -Signed-off-by: Bernd Kuhls - ---- a/modules/codec/Makefile.am -+++ b/modules/codec/Makefile.am -@@ -215,7 +215,7 @@ - libtremor_plugin_la_SOURCES = codec/vorbis.c - libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor - libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' --libtremor_plugin_la_LIBADD = -lvorbisdec -logg -+libtremor_plugin_la_LIBADD = $(VORBIS_LIBS) $(OGG_LIBS) - EXTRA_LTLIBRARIES += libtremor_plugin.la - codec_LTLIBRARIES += $(LTLIBtremor) - diff --git a/bsp/buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch b/bsp/buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch new file mode 100644 index 00000000..67750865 --- /dev/null +++ b/bsp/buildroot/package/vlc/0006-Don-t-assume-strerror_l-is-available.patch @@ -0,0 +1,58 @@ +From 0435cf37308652af1cf244b6429e919fa7ffaa95 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Tue, 1 May 2018 22:31:23 +0200 +Subject: [PATCH] Don't assume strerror_l() is available + +Fix compile error + + CCLD vlc +/home/br/br3/output/build/vlc-2.2.1/src/.libs/libvlccore.so: undefined reference to `strerror_l' + +Code for #else condition was taken from +http://patches.osdyson.org/patch/series/view/vlc/2.2.0~rc2-1+dyson2/dyson.patch + +[Bernd: rebased for vlc-3.0.6] +Signed-off-by: Bernd Kuhls +--- + configure.ac | 2 +- + src/posix/error.c | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index dfb4c1c329..bfe43512a2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -590,7 +590,7 @@ dnl Check for system libs needed + need_libc=false + + dnl Check for usual libc functions +-AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp strptime uselocale]) ++AC_CHECK_FUNCS([accept4 daemon fcntl flock fstatvfs fork getenv getpwuid_r isatty lstat memalign mkostemp mmap newlocale open_memstream openat pipe2 pread posix_fadvise posix_madvise posix_memalign setlocale strerror_l stricmp strnicmp strptime uselocale]) + AC_REPLACE_FUNCS([aligned_alloc atof atoll dirfd fdopendir ffsll flockfile fsync getdelim getpid lfind lldiv memrchr nrand48 poll recvmsg rewind sendmsg setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strnstr strsep strtof strtok_r strtoll swab tdestroy tfind timegm timespec_get strverscmp pathconf]) + AC_REPLACE_FUNCS([gettimeofday]) + AC_CHECK_FUNC(fdatasync,, +diff --git a/src/posix/error.c b/src/posix/error.c +index db51004601..b4aa6fb3ca 100644 +--- a/src/posix/error.c ++++ b/src/posix/error.c +@@ -31,6 +31,7 @@ + + static const char *vlc_strerror_l(int errnum, const char *lname) + { ++#ifdef HAVE_STRERROR_L + int saved_errno = errno; + locale_t loc = newlocale(LC_MESSAGES_MASK, lname, (locale_t)0); + +@@ -51,6 +52,9 @@ static const char *vlc_strerror_l(int errnum, const char *lname) + const char *buf = strerror_l(errnum, loc); + + freelocale(loc); ++#else ++ const char *buf = strerror(errnum); ++#endif + return buf; + } + +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0006-qt-x11.patch b/bsp/buildroot/package/vlc/0006-qt-x11.patch deleted file mode 100644 index 316a31fd..00000000 --- a/bsp/buildroot/package/vlc/0006-qt-x11.patch +++ /dev/null @@ -1,16 +0,0 @@ -libX11 is an optional dependency for the qt4 module - -Signed-off-by: Bernd Kuhls - -diff -uNr vlc-2.2.1.org/modules/gui/qt4/Makefile.am vlc-2.2.1/modules/gui/qt4/Makefile.am ---- vlc-2.2.1.org/modules/gui/qt4/Makefile.am 2014-11-29 12:34:15.000000000 +0100 -+++ vlc-2.2.1/modules/gui/qt4/Makefile.am 2015-04-27 18:53:36.968611490 +0200 -@@ -22,7 +22,7 @@ - if HAVE_WIN32 - libqt4_plugin_la_LIBADD += -lole32 -lcomctl32 -luuid - else --libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) -lX11 -+libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) - endif - endif - if HAVE_DARWIN diff --git a/bsp/buildroot/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch b/bsp/buildroot/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch new file mode 100644 index 00000000..4fc639e2 --- /dev/null +++ b/bsp/buildroot/package/vlc/0007-posix-remove-ancient-run-time-fallback-to-real-time-.patch @@ -0,0 +1,187 @@ +From 5d561e1e2dcde3c9fca4d925f12447009d0d4a4c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= +Date: Wed, 18 Apr 2018 17:23:57 +0300 +Subject: [PATCH] posix: remove ancient run-time fallback to real-time clock +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +posix: remove ancient run-time fallback to real-time clock + +For hysterical raisins, GNU/Linux and possibly some other OSes still +report that monotonic clock must be checked at run-time, although I +doubt that VLC or even current glibc would run on such old kernel. + +Drop that to simplify and avoid the systematic one-time init check. + +Downloaded from upstream commit to fix build error on m68k: + +posix/thread.c:79:5: warning: #warning Monotonic clock not available. Expect timing issues. [-Wcpp] + # warning Monotonic clock not available. Expect timing issues. + ^~~~~~~ +posix/thread.c: In function ‘vlc_clock_setup_once’: +posix/thread.c:88:18: error: lvalue required as left operand of assignment + vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; + +Signed-off-by: Bernd Kuhls +--- + src/posix/thread.c | 96 +++++++----------------------------------------------- + 1 file changed, 11 insertions(+), 85 deletions(-) + +diff --git a/src/posix/thread.c b/src/posix/thread.c +index dab8b71f97..8878941913 100644 +--- a/src/posix/thread.c ++++ b/src/posix/thread.c +@@ -51,62 +51,16 @@ + # include + #endif + +-#if !defined (_POSIX_TIMERS) +-# define _POSIX_TIMERS (-1) +-#endif +-#if !defined (_POSIX_CLOCK_SELECTION) +-/* Clock selection was defined in 2001 and became mandatory in 2008. */ +-# define _POSIX_CLOCK_SELECTION (-1) +-#endif +-#if !defined (_POSIX_MONOTONIC_CLOCK) +-# define _POSIX_MONOTONIC_CLOCK (-1) +-#endif +- +-#if (_POSIX_TIMERS > 0) + static unsigned vlc_clock_prec; + +-# if (_POSIX_MONOTONIC_CLOCK > 0) && (_POSIX_CLOCK_SELECTION > 0) +-/* Compile-time POSIX monotonic clock support */ +-# define vlc_clock_id (CLOCK_MONOTONIC) +- +-# elif (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0) +-/* Run-time POSIX monotonic clock support (see clock_setup() below) */ +-static clockid_t vlc_clock_id; +- +-# else +-/* No POSIX monotonic clock support */ +-# define vlc_clock_id (CLOCK_REALTIME) +-# warning Monotonic clock not available. Expect timing issues. +- +-# endif /* _POSIX_MONOTONIC_CLOKC */ +- + static void vlc_clock_setup_once (void) + { +-# if (_POSIX_MONOTONIC_CLOCK == 0) +- long val = sysconf (_SC_MONOTONIC_CLOCK); +- assert (val != 0); +- vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; +-# endif +- + struct timespec res; +- if (unlikely(clock_getres (vlc_clock_id, &res) != 0 || res.tv_sec != 0)) ++ if (unlikely(clock_getres(CLOCK_MONOTONIC, &res) != 0 || res.tv_sec != 0)) + abort (); + vlc_clock_prec = (res.tv_nsec + 500) / 1000; + } + +-static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT; +- +-# define vlc_clock_setup() \ +- pthread_once(&vlc_clock_once, vlc_clock_setup_once) +- +-#else /* _POSIX_TIMERS */ +- +-# include /* gettimeofday() */ +- +-# define vlc_clock_setup() (void)0 +-# warning Monotonic clock not available. Expect timing issues. +-#endif /* _POSIX_TIMERS */ +- + static struct timespec mtime_to_ts (mtime_t date) + { + lldiv_t d = lldiv (date, CLOCK_FREQ); +@@ -233,14 +187,11 @@ void vlc_cond_init (vlc_cond_t *p_condvar) + { + pthread_condattr_t attr; + +- if (unlikely(pthread_condattr_init (&attr))) +- abort (); +-#if (_POSIX_CLOCK_SELECTION > 0) +- vlc_clock_setup (); +- pthread_condattr_setclock (&attr, vlc_clock_id); +-#endif +- if (unlikely(pthread_cond_init (p_condvar, &attr))) ++ if (unlikely(pthread_condattr_init (&attr)) ++ || unlikely(pthread_condattr_setclock(&attr, CLOCK_MONOTONIC)) ++ || unlikely(pthread_cond_init (p_condvar, &attr))) + abort (); ++ + pthread_condattr_destroy (&attr); + } + +@@ -625,44 +576,27 @@ void vlc_control_cancel (int cmd, ...) + + mtime_t mdate (void) + { +-#if (_POSIX_TIMERS > 0) + struct timespec ts; + +- vlc_clock_setup (); +- if (unlikely(clock_gettime (vlc_clock_id, &ts) != 0)) ++ if (unlikely(clock_gettime(CLOCK_MONOTONIC, &ts) != 0)) + abort (); + + return (INT64_C(1000000) * ts.tv_sec) + (ts.tv_nsec / 1000); +- +-#else +- struct timeval tv; +- +- if (unlikely(gettimeofday (&tv, NULL) != 0)) +- abort (); +- return (INT64_C(1000000) * tv.tv_sec) + tv.tv_usec; +- +-#endif + } + + #undef mwait + void mwait (mtime_t deadline) + { +-#if (_POSIX_CLOCK_SELECTION > 0) +- vlc_clock_setup (); ++ static pthread_once_t vlc_clock_once = PTHREAD_ONCE_INIT; ++ + /* If the deadline is already elapsed, or within the clock precision, + * do not even bother the system timer. */ ++ pthread_once(&vlc_clock_once, vlc_clock_setup_once); + deadline -= vlc_clock_prec; + + struct timespec ts = mtime_to_ts (deadline); + +- while (clock_nanosleep (vlc_clock_id, TIMER_ABSTIME, &ts, NULL) == EINTR); +- +-#else +- deadline -= mdate (); +- if (deadline > 0) +- msleep (deadline); +- +-#endif ++ while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &ts, NULL) == EINTR); + } + + #undef msleep +@@ -670,15 +604,7 @@ void msleep (mtime_t delay) + { + struct timespec ts = mtime_to_ts (delay); + +-#if (_POSIX_CLOCK_SELECTION > 0) +- vlc_clock_setup (); +- while (clock_nanosleep (vlc_clock_id, 0, &ts, &ts) == EINTR); +- +-#else +- while (nanosleep (&ts, &ts) == -1) +- assert (errno == EINTR); +- +-#endif ++ while (clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, &ts) == EINTR); + } + + unsigned vlc_GetCPUCount(void) +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0007-strerror.patch b/bsp/buildroot/package/vlc/0007-strerror.patch deleted file mode 100644 index e9f31411..00000000 --- a/bsp/buildroot/package/vlc/0007-strerror.patch +++ /dev/null @@ -1,43 +0,0 @@ -Fix compile error - - CCLD vlc -/home/br/br3/output/build/vlc-2.2.1/src/.libs/libvlccore.so: undefined reference to `strerror_l' - -Code for #else condition was taken from -http://patches.osdyson.org/patch/series/view/vlc/2.2.0~rc2-1+dyson2/dyson.patch - -Signed-off-by: Bernd Kuhls - -diff -uNr vlc-2.2.1.org/configure.ac vlc-2.2.1/configure.ac ---- vlc-2.2.1.org/configure.ac 2015-04-13 09:57:54.000000000 +0200 -+++ vlc-2.2.1/configure.ac 2015-05-02 16:13:22.800448380 +0200 -@@ -534,7 +534,7 @@ - - dnl Check for usual libc functions - AC_CHECK_DECLS([nanosleep],,,[#include ]) --AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) -+AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale strerror_l stricmp strnicmp strptime uselocale]) - AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) - AC_CHECK_FUNCS(fdatasync,, - [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) -diff -uNr vlc-2.2.1.org/src/posix/error.c vlc-2.2.1/src/posix/error.c ---- vlc-2.2.1.org/src/posix/error.c 2014-08-14 09:20:04.000000000 +0200 -+++ vlc-2.2.1/src/posix/error.c 2015-05-02 16:25:24.075378369 +0200 -@@ -31,6 +31,7 @@ - - static const char *vlc_strerror_l(int errnum, const char *lname) - { -+#ifdef HAVE_STRERROR_L - int saved_errno = errno; - locale_t loc = newlocale(LC_MESSAGES_MASK, lname, (locale_t)0); - -@@ -51,6 +52,9 @@ - const char *buf = strerror_l(errnum, loc); - - freelocale(loc); -+#else -+ const char *buf = strerror(errnum); -+#endif - return buf; - } - diff --git a/bsp/buildroot/package/vlc/0008-Add-support-for-freerdp2.patch b/bsp/buildroot/package/vlc/0008-Add-support-for-freerdp2.patch new file mode 100644 index 00000000..75f09554 --- /dev/null +++ b/bsp/buildroot/package/vlc/0008-Add-support-for-freerdp2.patch @@ -0,0 +1,150 @@ +From 3780bbb20bf35aa8f21ac672da3f0c5f408468e9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Thu, 16 Aug 2018 12:27:40 +0200 +Subject: [PATCH] Add support for freerdp2 + +Downloaded from +https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/vlc/files/vlc-2.2.8-freerdp-2.patch + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 2 +- + modules/access/rdp.c | 51 ++++++++++++++------------------------------------- + 2 files changed, 15 insertions(+), 38 deletions(-) + +diff --git a/configure.ac b/configure.ac +index bfe43512a2..4808b8becf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1992,7 +1992,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su + + dnl RDP/Remote Desktop access module + dnl +-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) ) ++PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 1.0.1], (RDP/Remote Desktop client support) ) + + dnl + dnl Real RTSP plugin +diff --git a/modules/access/rdp.c b/modules/access/rdp.c +index 2992090219..49986f5da9 100644 +--- a/modules/access/rdp.c ++++ b/modules/access/rdp.c +@@ -45,18 +45,6 @@ + # include + #endif + +-#if !defined(FREERDP_VERSION_MAJOR) || \ +- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))) +-# define SoftwareGdi sw_gdi +-# define Fullscreen fullscreen +-# define ServerHostname hostname +-# define Username username +-# define Password password +-# define ServerPort port +-# define EncryptionMethods encryption +-# define ContextSize context_size +-#endif +- + #include + #ifdef HAVE_POLL + # include +@@ -144,6 +132,7 @@ static void desktopResizeHandler( rdpContext *p_context ) + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context; + demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys; + rdpGdi *p_gdi = p_context->gdi; ++ unsigned bytesPerPixel; + + if ( p_sys->es ) + { +@@ -153,17 +142,21 @@ static void desktopResizeHandler( rdpContext *p_context ) + + /* Now init and fill es format */ + vlc_fourcc_t i_chroma; +- switch( p_gdi->bytesPerPixel ) ++ switch( p_gdi->dstFormat ) + { + default: +- case 16: ++ msg_Dbg( p_vlccontext->p_demux, "unhandled dstFormat %x bpp", p_gdi->dstFormat); ++ case PIXEL_FORMAT_BGR16: + i_chroma = VLC_CODEC_RGB16; ++ bytesPerPixel = 16; + break; +- case 24: ++ case PIXEL_FORMAT_BGR24: + i_chroma = VLC_CODEC_RGB24; ++ bytesPerPixel = 24; + break; +- case 32: ++ case PIXEL_FORMAT_BGRA32: + i_chroma = VLC_CODEC_RGB32; ++ bytesPerPixel = 32; + break; + } + es_format_t fmt; +@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context ) + fmt.video.i_height = p_gdi->height; + fmt.video.i_frame_rate_base = 1000; + fmt.video.i_frame_rate = 1000 * p_sys->f_fps; +- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel; ++ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * bytesPerPixel; + + if ( p_sys->p_block ) + p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize ); +@@ -237,28 +230,19 @@ static bool postConnectHandler( freerdp *p_instance ) + vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context; + + msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)", +-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)) + p_instance->settings->DesktopWidth, + p_instance->settings->DesktopHeight, + p_instance->settings->ColorDepth +-#else +- p_instance->settings->width, +- p_instance->settings->height, +- p_instance->settings->color_depth +-#endif + ); + + p_instance->update->DesktopResize = desktopResizeHandler; + p_instance->update->BeginPaint = beginPaintHandler; + p_instance->update->EndPaint = endPaintHandler; + +- gdi_init( p_instance, +- CLRBUF_16BPP | +-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \ +- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2)) +- CLRBUF_24BPP | +-#endif +- CLRBUF_32BPP, NULL ); ++ if ( p_instance->settings->ColorDepth > 16 ) ++ gdi_init( p_instance, PIXEL_FORMAT_XRGB32); ++ else ++ gdi_init( p_instance, PIXEL_FORMAT_RGB16); + + desktopResizeHandler( p_instance->context ); + return true; +@@ -432,10 +416,6 @@ static int Open( vlc_object_t *p_this ) + if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0; + p_sys->i_frame_interval = 1000000 / p_sys->f_fps; + +-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2 +- freerdp_channels_global_init(); +-#endif +- + p_sys->p_instance = freerdp_new(); + if ( !p_sys->p_instance ) + { +@@ -508,9 +488,6 @@ static void Close( vlc_object_t *p_this ) + + freerdp_disconnect( p_sys->p_instance ); + freerdp_free( p_sys->p_instance ); +-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2 +- freerdp_channels_global_uninit(); +-#endif + + if ( p_sys->p_block ) + block_Release( p_sys->p_block ); +-- +2.14.4 + diff --git a/bsp/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch b/bsp/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch deleted file mode 100644 index 43f197ac..00000000 --- a/bsp/buildroot/package/vlc/0008-fix-fallback-code-and-add-required-realtime-library.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 381bcb7cb03bb602351a323daf3b69b2d4f45e77 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Fri, 26 Aug 2016 15:11:25 +0200 -Subject: [PATCH] fix fallback code and add required realtime library to link - command - -Signed-off-by: Waldemar Brodkorb ---- - configure.ac | 1 + - src/posix/thread.c | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index cb1de25..018c11c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -121,6 +121,7 @@ case "${host_os}" in - ;; - linux*) - SYS=linux -+ AC_CHECK_LIB([rt], [posix_spawnp], [VLC_ADD_LIBS([libvlccore],[-lrt])], [], []) - ;; - bsdi*) - SYS=bsdi -diff --git a/src/posix/thread.c b/src/posix/thread.c -index 07fa71e..8b8595f 100644 ---- a/src/posix/thread.c -+++ b/src/posix/thread.c -@@ -85,7 +85,7 @@ static clockid_t vlc_clock_id; - - static void vlc_clock_setup_once (void) - { --# if (_POSIX_MONOTONIC_CLOCK == 0) -+# if (_POSIX_MONOTONIC_CLOCK == 0) && (_POSIX_CLOCK_SELECTION > 0) - long val = sysconf (_SC_MONOTONIC_CLOCK); - assert (val != 0); - vlc_clock_id = (val < 0) ? CLOCK_REALTIME : CLOCK_MONOTONIC; --- -2.1.4 - diff --git a/bsp/buildroot/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch b/bsp/buildroot/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch new file mode 100644 index 00000000..2b74fe0d --- /dev/null +++ b/bsp/buildroot/package/vlc/0009-configure.ac-also-use-AC_PATH_PROG-to-check-for-wayl.patch @@ -0,0 +1,50 @@ +From 27635f902831fac898586f1f3dc98369f12582c9 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sun, 26 Aug 2018 12:51:04 +0200 +Subject: [PATCH] configure.ac: also use AC_PATH_PROG to check for + wayland-scanner + +When cross-compiling the .pc file might point to the wrong +wayland-scanner binary (target rather than host) resulting in a +non-executable and wrong scanner. +Try searching the PATH first, and if that fails fall back into +pkg-config. + +Signed-off-by: Bernd Kuhls +--- + configure.ac | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4808b8becf..a18641ed23 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3140,14 +3140,17 @@ AS_IF([test "${enable_wayland}" != "no"], [ + AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors 'wayland-protocols >= 1.4')]) + ]) + +- AC_MSG_CHECKING([for the Wayland scanner]) +- PKG_CHECK_EXISTS([wayland-scanner], [ +- WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)" +- AC_MSG_RESULT([${WAYLAND_SCANNER}]) +- ], [ +- AC_MSG_RESULT([not found]) +- AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)]) +- ]) ++ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) ++ if test "x$WAYLAND_SCANNER" = x; then ++ AC_MSG_CHECKING([for the Wayland scanner]) ++ PKG_CHECK_EXISTS([wayland-scanner], [ ++ WAYLAND_SCANNER="$(${PKG_CONFIG} wayland-scanner --variable wayland_scanner)" ++ AC_MSG_RESULT([${WAYLAND_SCANNER}]) ++ ], [ ++ AC_MSG_RESULT([not found]) ++ AC_MSG_ERROR([$(${PKG_CONFIG} --print-errors wayland-scanner)]) ++ ]) ++ fi + + have_wayland="yes" + +-- +2.18.0 + diff --git a/bsp/buildroot/package/vlc/0009-ffmpeg-3.0.patch b/bsp/buildroot/package/vlc/0009-ffmpeg-3.0.patch deleted file mode 100644 index 892c625c..00000000 --- a/bsp/buildroot/package/vlc/0009-ffmpeg-3.0.patch +++ /dev/null @@ -1,283 +0,0 @@ -Changes for ffmpeg 3.0 - -This file is a copy of debian/patches/04_ffmpeg-3.0.diff, to be found in -http://www.deb-multimedia.org/pool/main/v/vlc-dmo/vlc-dmo_2.2.4.orig.tar.gz - -Signed-off-by: Bernd Kuhls - ---- a/configure.ac -+++ b/configure.ac -@@ -2324,7 +2324,7 @@ AC_ARG_ENABLE(avcodec, - AS_IF([test "${enable_avcodec}" != "no"], [ - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [ - PKG_CHECK_EXISTS([libavutil < 55],, [ -- AC_MSG_ERROR([libavutil versions 55 and later are not supported.]) -+ AC_MSG_WARN([libavutil versions 55 and later are not supported.]) - ]) - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" -@@ -2334,7 +2334,7 @@ AS_IF([test "${enable_avcodec}" != "no"] - VLC_RESTORE_FLAGS - have_avcodec="yes" - ],[ -- AC_MSG_ERROR([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.]) -+ AC_MSG_WARN([${AVCODEC_PKG_ERRORS}. Pass --disable-avcodec to ignore this error.]) - ]) - ], [ - have_avcodec="no" -@@ -2383,7 +2383,7 @@ AS_IF([test "${have_vaapi}" = "yes" -a " - case "${avfork}" in - ffmpeg) - PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ -- AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.]) -+ AC_MSG_WARN([VA API requires FFmpeg libavcodec < 57.10 or libav.]) - ]) - ;; - esac -@@ -2417,7 +2417,7 @@ AS_IF([test "${enable_dxva2}" != "no"], - case "${avfork}" in - ffmpeg) - PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ -- AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.]) -+ AC_MSG_WARN([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.]) - ]) - ;; - esac -@@ -2509,7 +2509,7 @@ AS_IF([test "${enable_avformat}" != "no" - ]) - VLC_RESTORE_FLAGS - ],[ -- AC_MSG_ERROR([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) -+ AC_MSG_WARN([${AVFORMAT_PKG_ERRORS}. Pass --disable-avformat to ignore this error.]) - ]) - ]) - AM_CONDITIONAL([HAVE_AVFORMAT], [test "${enable_avformat}" != "no"]) -@@ -2538,7 +2538,7 @@ then - ]) - VLC_RESTORE_FLAGS - ],[ -- AC_MSG_ERROR([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) -+ AC_MSG_WARN([${SWSCALE_PKG_ERRORS}. Pass --disable-swscale to ignore this error. Proper software scaling and some video chroma conversion will be missing.]) - ]) - fi - -@@ -3181,7 +3181,7 @@ AS_IF([test "${have_vdpau}" = "yes" -a " - libav) av_vdpau_ver="55.26.0" ;; - ffmpeg) av_vdpau_ver="55.42.100" - PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ -- AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.]) -+ AC_MSG_WARN([VDPAU requires FFmpeg libavcodec < 57.10 or libav.]) - ]) - ;; - esac ---- a/modules/codec/avcodec/audio.c -+++ b/modules/codec/avcodec/audio.c -@@ -39,7 +39,7 @@ - #include - #include - --#include -+#include - - #include "avcodec.h" - ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -108,8 +108,8 @@ static int lavc_GetFrame(struct AVCodecC - static int ffmpeg_GetFrameBuf ( struct AVCodecContext *, AVFrame * ); - static void ffmpeg_ReleaseFrameBuf( struct AVCodecContext *, AVFrame * ); - #endif --static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *, -- const enum PixelFormat * ); -+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *, -+ const enum AVPixelFormat * ); - - static uint32_t ffmpeg_CodecTag( vlc_fourcc_t fcc ) - { -@@ -234,7 +234,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo - p_sys->p_codec = p_codec; - p_sys->i_codec_id = i_codec_id; - p_sys->psz_namecodec = psz_namecodec; -- p_sys->p_ff_pic = avcodec_alloc_frame(); -+ p_sys->p_ff_pic = av_frame_alloc(); - p_sys->b_delayed_open = true; - p_sys->p_va = NULL; - vlc_sem_init( &p_sys->sem_mt, 0 ); -@@ -446,7 +446,7 @@ int InitVideoDec( decoder_t *p_dec, AVCo - if( ffmpeg_OpenCodec( p_dec ) < 0 ) - { - msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec ); -- avcodec_free_frame( &p_sys->p_ff_pic ); -+ av_frame_free( &p_sys->p_ff_pic ); - vlc_sem_destroy( &p_sys->sem_mt ); - free( p_sys ); - return VLC_EGENERIC; -@@ -826,7 +826,7 @@ void EndVideoDec( decoder_t *p_dec ) - wait_mt( p_sys ); - - if( p_sys->p_ff_pic ) -- avcodec_free_frame( &p_sys->p_ff_pic ); -+ av_frame_free( &p_sys->p_ff_pic ); - - if( p_sys->p_va ) - vlc_va_Delete( p_sys->p_va ); -@@ -1313,8 +1313,8 @@ static void ffmpeg_ReleaseFrameBuf( stru - } - #endif - --static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, -- const enum PixelFormat *pi_fmt ) -+static enum AVPixelFormat ffmpeg_GetFormat( AVCodecContext *p_context, -+ const enum AVPixelFormat *pi_fmt ) - { - decoder_t *p_dec = p_context->opaque; - decoder_sys_t *p_sys = p_dec->p_sys; ---- a/modules/codec/avcodec/encoder.c -+++ b/modules/codec/avcodec/encoder.c -@@ -41,7 +41,7 @@ - #include - - #include --#include -+#include - - #include "avcodec.h" - #include "avcommon.h" -@@ -311,7 +311,7 @@ int OpenEncoder( vlc_object_t *p_this ) - else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id, - &psz_namecodec ) ) - { -- if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE ) -+ if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE ) - return VLC_EGENERIC; /* handed chroma output */ - - i_cat = VIDEO_ES; -@@ -555,7 +555,7 @@ int OpenEncoder( vlc_object_t *p_this ) - - if( p_codec->pix_fmts ) - { -- const enum PixelFormat *p = p_codec->pix_fmts; -+ const enum AVPixelFormat *p = p_codec->pix_fmts; - for( ; *p != -1; p++ ) - { - if( *p == p_context->pix_fmt ) break; -@@ -1017,7 +1017,7 @@ errmsg: - } - } - -- p_sys->frame = avcodec_alloc_frame(); -+ p_sys->frame = av_frame_alloc(); - if( !p_sys->frame ) - { - goto error; -@@ -1048,7 +1048,7 @@ static void vlc_av_packet_Release(block_ - { - vlc_av_packet_t *b = (void *) block; - -- av_free_packet(&b->packet); -+ av_packet_unref(&b->packet); - free(b); - } - -@@ -1088,7 +1088,7 @@ static block_t *EncodeVideo( encoder_t * - AVFrame *frame = NULL; - if( likely(p_pict) ) { - frame = p_sys->frame; -- avcodec_get_frame_defaults( frame ); -+ av_frame_unref( frame ); - for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ ) - { - p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels; -@@ -1188,7 +1188,7 @@ static block_t *EncodeVideo( encoder_t * - av_pkt.duration / p_sys->p_context->time_base.den, p_sys->p_context ); - if( unlikely(p_block == NULL) ) - { -- av_free_packet( &av_pkt ); -+ av_packet_unref( &av_pkt ); - return NULL; - } - -@@ -1329,7 +1329,7 @@ static block_t *handle_delay_buffer( enc - //How much we need to copy from new packet - const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes; - -- avcodec_get_frame_defaults( p_sys->frame ); -+ av_frame_unref( p_sys->frame ); - p_sys->frame->format = p_sys->p_context->sample_fmt; - p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay; - -@@ -1451,7 +1451,7 @@ static block_t *EncodeAudio( encoder_t * - while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) || - ( p_sys->b_variable && p_aout_buf->i_nb_samples ) ) - { -- avcodec_get_frame_defaults( p_sys->frame ); -+ av_frame_unref( p_sys->frame ); - if( p_sys->b_variable ) - p_sys->frame->nb_samples = p_aout_buf->i_nb_samples; - else -@@ -1514,7 +1514,7 @@ void CloseEncoder( vlc_object_t *p_this - encoder_t *p_enc = (encoder_t *)p_this; - encoder_sys_t *p_sys = p_enc->p_sys; - -- /*FIXME: we should use avcodec_free_frame, but we don't require so new avcodec that has it*/ -+ /*FIXME: we should use av_frame_free, but we don't require so new avcodec that has it*/ - av_freep( &p_sys->frame ); - - vlc_avcodec_lock(); ---- a/modules/demux/avformat/demux.c -+++ b/modules/demux/avformat/demux.c -@@ -734,14 +734,14 @@ static int Demux( demux_t *p_demux ) - } - if( pkt.stream_index < 0 || pkt.stream_index >= p_sys->i_tk ) - { -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - const AVStream *p_stream = p_sys->ic->streams[pkt.stream_index]; - if( p_stream->time_base.den <= 0 ) - { - msg_Warn( p_demux, "Invalid time base for the stream %d", pkt.stream_index ); -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - if( p_stream->codec->codec_id == AV_CODEC_ID_SSA ) -@@ -749,7 +749,7 @@ static int Demux( demux_t *p_demux ) - p_frame = BuildSsaFrame( &pkt, p_sys->i_ssa_order++ ); - if( !p_frame ) - { -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - } -@@ -757,7 +757,7 @@ static int Demux( demux_t *p_demux ) - { - if( ( p_frame = block_Alloc( pkt.size ) ) == NULL ) - { -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 0; - } - memcpy( p_frame->p_buffer, pkt.data, pkt.size ); -@@ -838,7 +838,7 @@ static int Demux( demux_t *p_demux ) - else - block_Release( p_frame ); - -- av_free_packet( &pkt ); -+ av_packet_unref( &pkt ); - return 1; - } - ---- a/modules/codec/avcodec/vaapi.c -+++ b/modules/codec/avcodec/vaapi.c -@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCod - return err; - - /* Only VLD supported */ -- p_va->pix_fmt = PIX_FMT_VAAPI_VLD; -+ p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD; - p_va->setup = Setup; - p_va->get = Get; - p_va->release = Release; diff --git a/bsp/buildroot/package/vlc/0010-static-assert.patch b/bsp/buildroot/package/vlc/0010-static-assert.patch deleted file mode 100644 index 87fd56bd..00000000 --- a/bsp/buildroot/package/vlc/0010-static-assert.patch +++ /dev/null @@ -1,25 +0,0 @@ -From: Thomas Guillem -Date: Thu, 30 Apr 2015 13:29:50 +0000 (+0200) -Subject: Fix build when using C99 and C++11 -X-Git-Url: http://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=51ce6cdaf598754e617900994c1943c6cba6d604 - -Fix build when using C99 and C++11 - -Indeed, C99 doesn't have static_assert and C++11 has it. - -Signed-off-by: Bernd Kuhls ---- - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index b949d24..ee168d7 100644 ---- a/include/vlc_fixups.h -+++ b/include/vlc_fixups.h -@@ -239,7 +239,7 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) - } - #endif - --#if !defined (HAVE_STATIC_ASSERT) -+#if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert) - # define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) - # define static_assert _Static_assert - #endif diff --git a/bsp/buildroot/package/vlc/0011-static-assert.patch b/bsp/buildroot/package/vlc/0011-static-assert.patch deleted file mode 100644 index 3ce23e13..00000000 --- a/bsp/buildroot/package/vlc/0011-static-assert.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Thomas Guillem -Date: Mon, 14 Dec 2015 09:08:25 +0000 (+0100) -Subject: compat: fix static_assert -X-Git-Url: http://git.videolan.org/?p=vlc.git;a=commitdiff_plain;h=6faf9066670db6e0d241ead6a3926b2d9cc6a041 - -compat: fix static_assert - -It was not possible to use it outside of functions. - -Signed-off-by: Rémi Denis-Courmont -Signed-off-by: Bernd Kuhls ---- - -diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h -index 213d3f3..bd798d0 100644 ---- a/include/vlc_fixups.h -+++ b/include/vlc_fixups.h -@@ -273,7 +273,9 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) - #endif - - #if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert) --# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) -+# define STATIC_ASSERT_CONCAT_(a, b) a##b -+# define STATIC_ASSERT_CONCAT(a, b) STATIC_ASSERT_CONCAT_(a, b) -+# define _Static_assert(x, s) extern char STATIC_ASSERT_CONCAT(static_assert_, __LINE__)[sizeof(struct { unsigned:-!(x); })] - # define static_assert _Static_assert - #endif - diff --git a/bsp/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch b/bsp/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch deleted file mode 100644 index 8490cbda..00000000 --- a/bsp/buildroot/package/vlc/0012-Fix-build-with-libupnp-above-1.6.23.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 0c8d631f4f9fa24f1bbd56a4dbe9d6f1e2360685 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Sun, 17 Dec 2017 12:26:33 +0100 -Subject: [PATCH] Fix build with libupnp above 1.6.23 - -Starting from this release, libupnp has its own compat functions, -backport patch from mainstream: -https://github.com/videolan/vlc/commit/f9c5a343f1a8cad9c2c153f9c05e4e7201675a43#diff-2e66eb8b4fb06845a6426bd4a541d2f7 - -Move UpnpEventPtr declaration in upnp.hpp as done in: -https://github.com/videolan/vlc/commit/3eb4e03512f45c1fa27c7f9a6759e8e7d3905720#diff-ac39568c5e5e1c68776a93dfe0b3c1e6 - -Signed-off-by: Fabrice Fontaine ---- - modules/services_discovery/upnp.cpp | 5 +---- - modules/services_discovery/upnp.hpp | 6 ++++++ - 2 files changed, 7 insertions(+), 4 deletions(-) - -diff --git a/modules/services_discovery/upnp.cpp b/modules/services_discovery/upnp.cpp -index 9b6ed8727a..cf846602b8 100644 ---- a/modules/services_discovery/upnp.cpp -+++ b/modules/services_discovery/upnp.cpp -@@ -40,11 +40,10 @@ - #include - #include - --#if UPNP_VERSION < 10800 -+#if UPNP_VERSION < 10623 - /* - * Compat functions and typedefs for libupnp prior to 1.8 - */ --typedef void* UpnpEventPtr; - typedef Upnp_Discovery UpnpDiscovery; - typedef Upnp_Action_Complete UpnpActionComplete; - typedef Upnp_Event UpnpEvent; -@@ -74,8 +73,6 @@ static const char* UpnpEventSubscribe_get_SID_cstr( const UpnpEventSubscribe* p_ - { - return p_s->Sid; - } --#else --typedef const void* UpnpEventPtr; - #endif - - /* -diff --git a/modules/services_discovery/upnp.hpp b/modules/services_discovery/upnp.hpp -index 23fe4db9ab..c369a04da6 100644 ---- a/modules/services_discovery/upnp.hpp -+++ b/modules/services_discovery/upnp.hpp -@@ -33,6 +33,12 @@ - - #include - -+#if UPNP_VERSION < 10800 -+typedef void* UpnpEventPtr; -+#else -+typedef const void* UpnpEventPtr; -+#endif -+ - // Classes - class Container; - --- -2.14.1 - diff --git a/bsp/buildroot/package/vlc/Config.in b/bsp/buildroot/package/vlc/Config.in index 166e7d25..70e1ca41 100644 --- a/bsp/buildroot/package/vlc/Config.in +++ b/bsp/buildroot/package/vlc/Config.in @@ -1,14 +1,10 @@ -if BR2_PACKAGE_VLC -comment "vlc is known not to work in all configurations" -comment "If you can fix it, please inform buildroot@buildroot.org" -endif - config BR2_PACKAGE_VLC bool "vlc" depends on BR2_USE_MMU # fork() depends on BR2_INSTALL_LIBSTDCPP depends on !BR2_STATIC_LIBS depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS @@ -32,7 +28,9 @@ config BR2_PACKAGE_VLC_OPENCV3_BACKEND select BR2_PACKAGE_OPENCV3_LIB_IMGPROC select BR2_PACKAGE_OPENCV3_LIB_OBJDETECT -comment "vlc needs a toolchain w/ C++, dynamic library, wchar, threads, headers >= 3.7" +comment "vlc needs a toolchain w/ C++, dynamic library, wchar, threads, gcc >= 4.9, headers >= 3.7" depends on BR2_USE_MMU - depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || !BR2_USE_WCHAR \ - || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS \ + || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 \ + || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 diff --git a/bsp/buildroot/package/vlc/vlc.hash b/bsp/buildroot/package/vlc/vlc.hash index 02b70ef9..e2c5fecf 100644 --- a/bsp/buildroot/package/vlc/vlc.hash +++ b/bsp/buildroot/package/vlc/vlc.hash @@ -1,8 +1,9 @@ -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha256 -sha256 9bf046848fb56d93518881b39099b8288ee005d5ba0ddf705b6f6643b8d562ec vlc-2.2.8.tar.xz -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.sha1 -sha1 b960ec5bdb9a51da285430fc68962927ccc87187 vlc-2.2.8.tar.xz -# From http://download.videolan.org/pub/videolan/vlc/2.2.8/vlc-2.2.8.tar.xz.md5 -md5 b721fddf65aaf64eeee5629aa9bf7c9e vlc-2.2.8.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.6/vlc-3.0.6.tar.xz.sha256 +sha256 18c16d4be0f34861d0aa51fbd274fb87f0cab3b7119757ead93f3db3a1f27ed3 vlc-3.0.6.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.6/vlc-3.0.6.tar.xz.sha1 +sha1 b35168c1811b07844d861311bd0f2194f4bb82ac vlc-3.0.6.tar.xz +# From http://download.videolan.org/pub/videolan/vlc/3.0.6/vlc-3.0.6.tar.xz.md5 +md5 4ff71d262e070fd19f86a1c3542c7b4e vlc-3.0.6.tar.xz +# Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB diff --git a/bsp/buildroot/package/vlc/vlc.mk b/bsp/buildroot/package/vlc/vlc.mk index 56bfdced..8dbaf86a 100644 --- a/bsp/buildroot/package/vlc/vlc.mk +++ b/bsp/buildroot/package/vlc/vlc.mk @@ -4,7 +4,7 @@ # ################################################################################ -VLC_VERSION = 2.2.8 +VLC_VERSION = 3.0.6 VLC_SITE = https://get.videolan.org/vlc/$(VLC_VERSION) VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz VLC_LICENSE = GPL-2.0+, LGPL-2.1+ @@ -17,11 +17,15 @@ VLC_INSTALL_STAGING = YES # gcc bug internal compiler error: in merge_overlapping_regs, at # regrename.c:304. This bug is fixed since gcc 6. -ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) +ifeq ($(BR2_microblaze)$(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) VLC_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" VLC_CONF_OPTS += --disable-optimizations endif +# configure check for -fstack-protector-strong is broken +VLC_CONF_ENV += \ + ax_cv_check_cflags___fstack_protector_strong=$(if $(BR2_TOOLCHAIN_HAS_SSP),yes,no) + # VLC defines two autoconf functions which are also defined by our own pkg.m4 # from pkgconf. Unfortunately, they are defined in a different way: VLC adds # --enable- options, but pkg.m4 adds --with- options. To make sure we use @@ -34,33 +38,53 @@ endef VLC_POST_PATCH_HOOKS += VLC_OVERRIDE_PKG_M4 VLC_CONF_OPTS += \ - --disable-gles1 \ --disable-a52 \ - --disable-shout \ - --disable-twolame \ - --disable-dca \ - --disable-schroedinger \ - --disable-fluidsynth \ - --disable-zvbi \ - --disable-kate \ - --disable-caca \ - --disable-jack \ - --disable-samplerate \ - --disable-chromaprint \ - --disable-goom \ - --disable-projectm \ - --disable-vsxu \ - --disable-mtp \ - --disable-mmal-codec \ - --disable-mmal-vout \ - --disable-dvdnav \ - --disable-vpx \ - --disable-jpeg \ - --disable-x262 \ - --disable-x265 \ - --disable-mfx \ - --disable-vdpau \ --disable-addonmanagermodules \ + --disable-aom \ + --disable-aribb25 \ + --disable-aribsub \ + --disable-asdcp \ + --disable-bpg \ + --disable-caca \ + --disable-chromaprint \ + --disable-chromecast \ + --disable-crystalhd \ + --disable-dc1394 \ + --disable-dca \ + --disable-decklink \ + --disable-dsm \ + --disable-dv1394 \ + --disable-fluidlite \ + --disable-fluidsynth \ + --disable-gme \ + --disable-goom \ + --disable-jack \ + --disable-jpeg \ + --disable-kai \ + --disable-kate \ + --disable-kva \ + --disable-libplacebo \ + --disable-linsys \ + --disable-mfx \ + --disable-microdns \ + --disable-mmal \ + --disable-mtp \ + --disable-notify \ + --disable-projectm \ + --disable-schroedinger \ + --disable-shine \ + --disable-shout \ + --disable-sndio \ + --disable-spatialaudio \ + --disable-srt \ + --disable-telx \ + --disable-tiger \ + --disable-twolame \ + --disable-vdpau \ + --disable-vsxu \ + --disable-wasapi \ + --disable-x262 \ + --disable-zvbi \ --enable-run-as-root # Uses __atomic_fetch_add_4 @@ -92,12 +116,12 @@ else VLC_CONF_OPTS += --disable-alsa endif -# bonjour support needs avahi-client, which needs avahi-daemon and dbus +# avahi support needs avahi-client, which needs avahi-daemon and dbus ifeq ($(BR2_PACKAGE_AVAHI)$(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yyy) -VLC_CONF_OPTS += --enable-bonjour -VLC_DEPENDENCIES += avahi dbus +VLC_CONF_OPTS += --enable-avahi +VLC_DEPENDENCIES += avahi else -VLC_CONF_OPTS += --disable-bonjour +VLC_CONF_OPTS += --disable-avahi endif ifeq ($(BR2_PACKAGE_DBUS),y) @@ -107,14 +131,6 @@ else VLC_CONF_OPTS += --disable-dbus endif -ifeq ($(BR2_PACKAGE_DIRECTFB),y) -VLC_CONF_OPTS += --enable-directfb -VLC_CONF_ENV += ac_cv_path_DIRECTFB_CONFIG=$(STAGING_DIR)/usr/bin/directfb-config -VLC_DEPENDENCIES += directfb -else -VLC_CONF_OPTS += --disable-directfb -endif - ifeq ($(BR2_PACKAGE_FAAD2),y) VLC_CONF_OPTS += --enable-faad VLC_DEPENDENCIES += faad2 @@ -149,13 +165,30 @@ VLC_CONF_OPTS += --disable-flac endif ifeq ($(BR2_PACKAGE_FREERDP),y) +VLC_CONF_OPTS += --enable-freerdp VLC_DEPENDENCIES += freerdp +else +VLC_CONF_OPTS += --disable-freerdp +endif + +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y) +VLC_CONF_OPTS += --enable-gst-decode +VLC_DEPENDENCIES += gst1-plugins-base +else +VLC_CONF_OPTS += --disable-gst-decode endif ifeq ($(BR2_PACKAGE_HAS_LIBGL),y) VLC_DEPENDENCIES += libgl endif +ifeq ($(BR2_PACKAGE_HARFBUZZ),y) +VLC_CONF_OPTS += --enable-harfbuzz +VLC_DEPENDENCIES += harfbuzz +else +VLC_CONF_OPTS += --disable-harfbuzz +endif + ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y) VLC_CONF_OPTS += --enable-gles2 VLC_DEPENDENCIES += libgles @@ -181,6 +214,13 @@ else VLC_CONF_OPTS += --disable-opus endif +ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) +VLC_CONF_OPTS += --enable-archive +VLC_DEPENDENCIES += libarchive +else +VLC_CONF_OPTS += --disable-archive +endif + ifeq ($(BR2_PACKAGE_LIBASS),y) VLC_CONF_OPTS += --enable-libass VLC_DEPENDENCIES += libass @@ -209,6 +249,20 @@ else VLC_CONF_OPTS += --disable-dvbpsi endif +ifeq ($(BR2_PACKAGE_LIBDVDNAV),y) +VLC_CONF_OPTS += --enable-dvdnav +VLC_DEPENDENCIES += libdvdnav +else +VLC_CONF_OPTS += --disable-dvdnav +endif + +ifeq ($(BR2_PACKAGE_LIBDVDREAD),y) +VLC_CONF_OPTS += --enable-dvdread +VLC_DEPENDENCIES += libdvdread +else +VLC_CONF_OPTS += --disable-dvdread +endif + ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) VLC_CONF_OPTS += --enable-libgcrypt VLC_DEPENDENCIES += libgcrypt @@ -218,6 +272,10 @@ else VLC_CONF_OPTS += --disable-libgcrypt endif +ifeq ($(BR2_PACKAGE_LIBIDN),y) +VLC_DEPENDENCIES += libidn +endif + ifeq ($(BR2_PACKAGE_LIBMAD),y) VLC_CONF_OPTS += --enable-mad VLC_DEPENDENCIES += libmad @@ -226,10 +284,10 @@ VLC_CONF_OPTS += --disable-mad endif ifeq ($(BR2_PACKAGE_LIBMATROSKA),y) -VLC_CONF_OPTS += --enable-mkv +VLC_CONF_OPTS += --enable-matroska VLC_DEPENDENCIES += libmatroska else -VLC_CONF_OPTS += --disable-mkv +VLC_CONF_OPTS += --disable-matroska endif ifeq ($(BR2_PACKAGE_LIBMODPLUG),y) @@ -246,6 +304,13 @@ else VLC_CONF_OPTS += --disable-libmpeg2 endif +ifeq ($(BR2_PACKAGE_LIBNFS),y) +VLC_CONF_OPTS += --enable-nfs +VLC_DEPENDENCIES += libnfs +else +VLC_CONF_OPTS += --disable-nfs +endif + ifeq ($(BR2_PACKAGE_LIBPNG),y) VLC_CONF_OPTS += --enable-png VLC_DEPENDENCIES += libpng @@ -260,6 +325,27 @@ else VLC_CONF_OPTS += --disable-svg --disable-svgdec endif +ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y) +VLC_CONF_OPTS += --enable-samplerate +VLC_DEPENDENCIES += libsamplerate +else +VLC_CONF_OPTS += --disable-samplerate +endif + +ifeq ($(BR2_PACKAGE_LIBSECRET),y) +VLC_CONF_OPTS += --enable-secret +VLC_DEPENDENCIES += libsecret +else +VLC_CONF_OPTS += --disable-secret +endif + +ifeq ($(BR2_PACKAGE_LIBSOXR),y) +VLC_CONF_OPTS += --enable-soxr +VLC_DEPENDENCIES += libsoxr +else +VLC_CONF_OPTS += --disable-soxr +endif + ifeq ($(BR2_PACKAGE_LIBSSH2),y) VLC_CONF_OPTS += --enable-sftp VLC_DEPENDENCIES += libssh2 @@ -288,6 +374,14 @@ else VLC_CONF_OPTS += --disable-upnp endif +# libva support depends on ffmpeg +ifeq ($(BR2_PACKAGE_FFMPEG)$(BR2_PACKAGE_LIBVA),yy) +VLC_CONF_OPTS += --enable-libva +VLC_DEPENDENCIES += libva +else +VLC_CONF_OPTS += --disable-libva +endif + ifeq ($(BR2_PACKAGE_LIBVNCSERVER),y) VLC_CONF_OPTS += --enable-vnc VLC_DEPENDENCIES += libvncserver @@ -309,6 +403,13 @@ else VLC_CONF_OPTS += --disable-v4l2 endif +ifeq ($(BR2_PACKAGE_LIBVPX),y) +VLC_CONF_OPTS += --enable-vpx +VLC_DEPENDENCIES += libvpx +else +VLC_CONF_OPTS += --disable-vpx +endif + ifeq ($(BR2_PACKAGE_LIBXCB),y) VLC_CONF_OPTS += --enable-xcb VLC_DEPENDENCIES += libxcb @@ -326,14 +427,6 @@ endif ifeq ($(BR2_PACKAGE_LIVE555),y) VLC_CONF_OPTS += --enable-live555 VLC_DEPENDENCIES += live555 -VLC_CONF_ENV += \ - LIVE555_CFLAGS="\ - -I$(STAGING_DIR)/usr/include/BasicUsageEnvironment \ - -I$(STAGING_DIR)/usr/include/groupsock \ - -I$(STAGING_DIR)/usr/include/liveMedia \ - -I$(STAGING_DIR)/usr/include/UsageEnvironment \ - " \ - LIVE555_LIBS="-L$(STAGING_DIR)/usr/lib -lliveMedia" else VLC_CONF_OPTS += --disable-live555 endif @@ -349,6 +442,13 @@ ifeq ($(BR2_PACKAGE_MINIZIP),y) VLC_DEPENDENCIES += minizip endif +ifeq ($(BR2_PACKAGE_MPG123),y) +VLC_CONF_OPTS += --enable-mpg123 +VLC_DEPENDENCIES += mpg123 +else +VLC_CONF_OPTS += --disable-mpg123 +endif + ifeq ($(BR2_PACKAGE_MUSEPACK),y) VLC_CONF_OPTS += --enable-mpc VLC_DEPENDENCIES += musepack @@ -356,22 +456,31 @@ else VLC_CONF_OPTS += --disable-mpc endif -ifeq ($(BR2_PACKAGE_QT_GUI_MODULE),y) -VLC_CONF_OPTS += --enable-qt -VLC_CONF_ENV += \ - ac_cv_path_MOC=$(HOST_DIR)/bin/moc \ - ac_cv_path_RCC=$(HOST_DIR)/bin/rcc \ - ac_cv_path_UIC=$(HOST_DIR)/bin/uic -VLC_DEPENDENCIES += qt +ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) +VLC_CONF_OPTS += --enable-ncurses +VLC_DEPENDENCIES += ncurses else -VLC_CONF_OPTS += --disable-qt +VLC_CONF_OPTS += --disable-ncurses endif -ifeq ($(BR2_PACKAGE_SDL_X11),y) -VLC_CONF_OPTS += --enable-sdl -VLC_DEPENDENCIES += sdl +ifeq ($(BR2_PACKAGE_PULSEAUDIO),y) +VLC_CONF_OPTS += --enable-pulse +VLC_DEPENDENCIES += pulseaudio else -VLC_CONF_OPTS += --disable-sdl +VLC_CONF_OPTS += --disable-pulse +endif + +ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5SVG),yy) +VLC_CONF_OPTS += --enable-qt +VLC_DEPENDENCIES += qt5base qt5svg +ifeq ($(BR2_PACKAGE_XLIB_LIBXEXT)$(BR2_PACKAGE_XLIB_LIBXINERAMA)$(BR2_PACKAGE_XLIB_LIBXPM),yyy) +VLC_CONF_OPTS += --enable-skins2 +VLC_DEPENDENCIES += xlib_libXext xlib_libXinerama xlib_libXpm +else +VLC_CONF_OPTS += --disable-skins2 +endif +else +VLC_CONF_OPTS += --disable-qt --disable-skins2 endif ifeq ($(BR2_PACKAGE_SDL_IMAGE),y) @@ -381,9 +490,16 @@ else VLC_CONF_OPTS += --disable-sdl-image endif -ifeq ($(BR2_PACKAGE_SPEEX),y) +ifeq ($(BR2_PACKAGE_SAMBA4),y) +VLC_CONF_OPTS += --enable-smbclient +VLC_DEPENDENCIES += samba4 +else +VLC_CONF_OPTS += --disable-smbclient +endif + +ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy) VLC_CONF_OPTS += --enable-speex -VLC_DEPENDENCIES += speex +VLC_DEPENDENCIES += speex speexdsp else VLC_CONF_OPTS += --disable-speex endif @@ -409,11 +525,29 @@ else VLC_CONF_OPTS += --disable-udev endif -ifeq ($(BR2_PACKAGE_XCB_UTIL_KEYSYMS),y) -VLC_CONF_OPTS += --enable-xcb -VLC_DEPENDENCIES += xcb-util-keysyms +ifeq ($(BR2_PACKAGE_WAYLAND)$(BR2_PACKAGE_WAYLAND_PROTOCOLS),yy) +VLC_CONF_OPTS += --enable-wayland +VLC_DEPENDENCIES += wayland wayland-protocols else -VLC_CONF_OPTS += --disable-xcb +VLC_CONF_OPTS += --disable-wayland +endif + +ifeq ($(BR2_PACKAGE_X264),y) +VLC_CONF_OPTS += --enable-x264 +VLC_DEPENDENCIES += x264 +else +VLC_CONF_OPTS += --disable-x264 +endif + +ifeq ($(BR2_PACKAGE_X265),y) +VLC_CONF_OPTS += --enable-x265 +VLC_DEPENDENCIES += x265 +else +VLC_CONF_OPTS += --disable-x265 +endif + +ifeq ($(BR2_PACKAGE_XCB_UTIL_KEYSYMS),y) +VLC_DEPENDENCIES += xcb-util-keysyms endif ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y) diff --git a/bsp/buildroot/package/vmtouch/Config.in b/bsp/buildroot/package/vmtouch/Config.in new file mode 100644 index 00000000..daae03aa --- /dev/null +++ b/bsp/buildroot/package/vmtouch/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_VMTOUCH + bool "vmtouch" + depends on BR2_USE_MMU # fork() + help + vmtouch is a tool for learning about and controlling + the file system cache of unix and unix-like systems. It + can discover which files the OS is caching, tell the OS + to cache or evict some files or regions of files, lock + files into memory so the OS won't evict them, and more. + + https://hoytech.com/vmtouch/ diff --git a/bsp/buildroot/package/vmtouch/vmtouch.hash b/bsp/buildroot/package/vmtouch/vmtouch.hash new file mode 100644 index 00000000..2b98891d --- /dev/null +++ b/bsp/buildroot/package/vmtouch/vmtouch.hash @@ -0,0 +1,5 @@ +# Locally computed +sha256 d57b7b3ae1146c4516429ab7d6db6f2122401db814ddd9cdaad10980e9c8428c vmtouch-v1.3.1.tar.gz + +# Hash for license files: +sha256 13258709ed29c17394e0a3ba8c8b9360af35b85231db514f11a0ba385cecd08e LICENSE diff --git a/bsp/buildroot/package/vmtouch/vmtouch.mk b/bsp/buildroot/package/vmtouch/vmtouch.mk new file mode 100644 index 00000000..856835ac --- /dev/null +++ b/bsp/buildroot/package/vmtouch/vmtouch.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# vmtouch +# +################################################################################ + +VMTOUCH_VERSION = v1.3.1 +VMTOUCH_SITE = $(call github,hoytech,vmtouch,$(VMTOUCH_VERSION)) +VMTOUCH_LICENSE = BSD-3-Clause +VMTOUCH_LICENSE_FILES = LICENSE + +define VMTOUCH_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +define VMTOUCH_INSTALL_TARGET_CMDS + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr +endef + +$(eval $(generic-package)) diff --git a/bsp/buildroot/package/vsftpd/S70vsftpd b/bsp/buildroot/package/vsftpd/S70vsftpd old mode 100755 new mode 100644 diff --git a/bsp/buildroot/package/vte/Config.in b/bsp/buildroot/package/vte/Config.in new file mode 100644 index 00000000..fa29de8c --- /dev/null +++ b/bsp/buildroot/package/vte/Config.in @@ -0,0 +1,35 @@ +config BR2_PACKAGE_VTE + bool "vte" + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_USE_MMU + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \ + BR2_PACKAGE_HAS_LIBGL + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBGTK3 + select BR2_PACKAGE_LIBXML2 + select BR2_PACKAGE_PCRE2 + help + VTE is a library (libvte) implementing a terminal emulator + widget for GTK+, and a minimal sample application (vte) + using that. Vte is mainly used in gnome-terminal, but + can also be used to embed a console/terminal in games, + editors, IDEs, etc. + + http://github.com/GNOME/vte + +comment "vte needs a toolchain w/ wchar, threads, C++, gcc >= 4.8" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +comment "vte needs an OpenGL or an OpenGL-EGL/wayland backend" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND && \ + !BR2_PACKAGE_HAS_LIBGL diff --git a/bsp/buildroot/package/vte/vte.hash b/bsp/buildroot/package/vte/vte.hash new file mode 100644 index 00000000..3fbc5aca --- /dev/null +++ b/bsp/buildroot/package/vte/vte.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 a3a9fb182740b392a45cd3f46fa61a985f68bb6b1817b52daec22034c46158c3 vte-0.48.3.tar.xz +sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING diff --git a/bsp/buildroot/package/vte/vte.mk b/bsp/buildroot/package/vte/vte.mk new file mode 100644 index 00000000..90853cb4 --- /dev/null +++ b/bsp/buildroot/package/vte/vte.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# vte +# +################################################################################ + +VTE_VERSION = 0.48.3 +VTE_SOURCE = vte-$(VTE_VERSION).tar.xz +VTE_SITE = http://ftp.gnome.org/pub/gnome/sources/vte/0.48 +VTE_DEPENDENCIES = host-pkgconf libgtk3 libxml2 pcre2 +VTE_LICENSE = LGPL-2.1+ +VTE_LICENSE_FILES = COPYING +VTE_CONF_OPTS += --disable-introspection --without-gnutls --disable-vala + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/vtun/0003-fixup-configure.in.patch b/bsp/buildroot/package/vtun/0003-fixup-configure.in.patch deleted file mode 100644 index cb2ac67a..00000000 --- a/bsp/buildroot/package/vtun/0003-fixup-configure.in.patch +++ /dev/null @@ -1,92 +0,0 @@ -configure.in: minimal syntax fixup for autoreconf - -This is the strictly minimal syntax fixups to make autoreconf happy... - -Signed-off-by: "Yann E. MORIN" - ---- -Note: configure.in is still full of incorrect syntax, but fixing it is -a task for another day, and would have to be upstreamed. But upstream -looks to be moribund at best, if not dead... :-( - -So, keep it for ourselves for now... Too bad, vtun is really helpfull. - ---- vtun-3.0.3.orig/configure.in 2013-02-16 23:54:52.582451817 +0100 -+++ vtun-3.0.3/configure.in 2013-02-17 00:03:13.640887353 +0100 -@@ -110,10 +110,10 @@ - AC_SEARCH_LIBS(nanosleep, rt posix4) - - dnl Check for setproctitle in libutil --AC_SEARCH_LIBS(setproctitle, util bsd, AC_DEFINE(HAVE_SETPROC_TITLE) ) -+AC_SEARCH_LIBS(setproctitle, util bsd, AC_DEFINE([HAVE_SETPROC_TITLE],[],[Define to set title in /proc]) ) - - if test "$SHAPER" = "yes"; then -- AC_DEFINE(HAVE_SHAPER) -+ AC_DEFINE([HAVE_SHAPER],[],[Define to use shapper]) - fi - - if test "$ZLIB" = "yes"; then -@@ -121,7 +121,7 @@ - AC_CHECKING( for ZLIB Library and Header files ... ) - AC_CHECK_LIB(z, deflate, - LIBS="$LIBS -lz" -- AC_DEFINE(HAVE_ZLIB), -+ AC_DEFINE([HAVE_ZLIB],[],[Define to use ZLIB]), - AC_MSG_ERROR( Zlib library not found.) - ) - fi -@@ -148,7 +148,7 @@ - AC_CHECK_LIB($I, lzo1x_decompress, - [ - LIBS="$LIBS -l"$I -- AC_DEFINE(HAVE_LZO) -+ AC_DEFINE([HAVE_LZO],[],[Define to use LZO]) - havelzo=1 - ] - ) -@@ -180,8 +180,8 @@ - AC_CHECK_LIB(crypto, BF_set_key, - [ - LIBS="$LIBS -lcrypto" -- AC_DEFINE(HAVE_SSL) -- AC_DEFINE(HAVE_SSL_BLOWFISH) -+ AC_DEFINE([HAVE_SSL],[],[Define to use SSL]) -+ AC_DEFINE([HAVE_SSL_BLOWFISH],[],[Define to use blowfish]) - ], - AC_MSG_ERROR( SSL library not found. ) - ), -@@ -196,7 +196,7 @@ - $SSL_HDR_DIR , - AC_CHECK_LIB(crypto, AES_set_encrypt_key, - [ -- AC_DEFINE(HAVE_SSL_AES) -+ AC_DEFINE([HAVE_SSL_AES],[],[Define to use AES]) - ], - AC_MSG_ERROR( AES library not found. ) - ), -@@ -211,7 +211,7 @@ - $SSL_HDR_DIR , - AC_CHECK_LIB(crypto, EVP_EncryptInit, - [ -- AC_DEFINE(HAVE_SSL_EVP) -+ AC_DEFINE([HAVE_SSL_EVP],[],Define to use EVP) - ], - AC_MSG_ERROR( EVP library not found. ) - ), -@@ -220,7 +220,7 @@ - fi - - if test "$NATHACK" = "yes"; then -- AC_DEFINE(ENABLE_NAT_HACK) -+ AC_DEFINE([ENABLE_NAT_HACK],[],[Define to use NAT hack]) - fi - - if test "$SOCKS" = "yes"; then -@@ -274,6 +274,6 @@ - REL=`echo 'BRANCH-3_X' | tr -d '$: \-' | sed 's/^[A-Za-z]*//' | sed 's/\_/\./'` - changequote([,]) - --AC_DEFINE_UNQUOTED(VTUN_VER, "$REL `date '+%m/%d/%Y'`") -+AC_DEFINE_UNQUOTED([VTUN_VER], ["$REL `date '+%m/%d/%Y'`"], [vtun version]) - - AC_OUTPUT(Makefile) diff --git a/bsp/buildroot/package/vtun/0003-openssl11.patch b/bsp/buildroot/package/vtun/0003-openssl11.patch new file mode 100644 index 00000000..2c6bb812 --- /dev/null +++ b/bsp/buildroot/package/vtun/0003-openssl11.patch @@ -0,0 +1,294 @@ +Fix build with OpenSSL 1.1.x + +Extracted vtun-openssl.patch from +http://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/source/tree/Packages/v/vtun-3.0.4-4.fc27.src.rpm + +Signed-off-by: Bernd Kuhls + +diff -NarU5 a/lfd_encrypt.c b/lfd_encrypt.c +--- a/lfd_encrypt.c 2016-10-01 17:27:51.000000000 -0400 ++++ b/lfd_encrypt.c 2017-03-20 08:43:48.013308435 -0400 +@@ -93,15 +93,15 @@ + static int dec_init_first_time; + static unsigned long sequence_num; + static char * pkey; + static char * iv_buf; + +-static EVP_CIPHER_CTX ctx_enc; /* encrypt */ +-static EVP_CIPHER_CTX ctx_dec; /* decrypt */ ++static EVP_CIPHER_CTX *ctx_enc; /* encrypt */ ++static EVP_CIPHER_CTX *ctx_dec; /* decrypt */ + +-static EVP_CIPHER_CTX ctx_enc_ecb; /* sideband ecb encrypt */ +-static EVP_CIPHER_CTX ctx_dec_ecb; /* sideband ecb decrypt */ ++static EVP_CIPHER_CTX *ctx_enc_ecb; /* sideband ecb encrypt */ ++static EVP_CIPHER_CTX *ctx_dec_ecb; /* sideband ecb decrypt */ + + static int send_msg(int len, char *in, char **out); + static int recv_msg(int len, char *in, char **out); + static int send_ib_mesg(int *len, char **in); + static int recv_ib_mesg(int *len, char **in); +@@ -180,37 +180,37 @@ + case VTUN_ENC_AES256CBC: + blocksize = 16; + keysize = 32; + sb_init = 1; + cipher_type = EVP_aes_256_ecb(); +- pctx_enc = &ctx_enc_ecb; +- pctx_dec = &ctx_dec_ecb; ++ pctx_enc = ctx_enc_ecb; ++ pctx_dec = ctx_dec_ecb; + break; + + case VTUN_ENC_AES256ECB: + blocksize = 16; + keysize = 32; +- pctx_enc = &ctx_enc; +- pctx_dec = &ctx_dec; ++ pctx_enc = ctx_enc; ++ pctx_dec = ctx_dec; + cipher_type = EVP_aes_256_ecb(); + strcpy(cipher_name,"AES-256-ECB"); + break; + case VTUN_ENC_AES128OFB: + case VTUN_ENC_AES128CFB: + case VTUN_ENC_AES128CBC: + blocksize = 16; + keysize = 16; + sb_init=1; + cipher_type = EVP_aes_128_ecb(); +- pctx_enc = &ctx_enc_ecb; +- pctx_dec = &ctx_dec_ecb; ++ pctx_enc = ctx_enc_ecb; ++ pctx_dec = ctx_dec_ecb; + break; + case VTUN_ENC_AES128ECB: + blocksize = 16; + keysize = 16; +- pctx_enc = &ctx_enc; +- pctx_dec = &ctx_dec; ++ pctx_enc = ctx_enc; ++ pctx_dec = ctx_dec; + cipher_type = EVP_aes_128_ecb(); + strcpy(cipher_name,"AES-128-ECB"); + break; + + case VTUN_ENC_BF256OFB: +@@ -219,20 +219,20 @@ + blocksize = 8; + keysize = 32; + var_key = 1; + sb_init = 1; + cipher_type = EVP_bf_ecb(); +- pctx_enc = &ctx_enc_ecb; +- pctx_dec = &ctx_dec_ecb; ++ pctx_enc = ctx_enc_ecb; ++ pctx_dec = ctx_dec_ecb; + break; + + case VTUN_ENC_BF256ECB: + blocksize = 8; + keysize = 32; + var_key = 1; +- pctx_enc = &ctx_enc; +- pctx_dec = &ctx_dec; ++ pctx_enc = ctx_enc; ++ pctx_dec = ctx_dec; + cipher_type = EVP_bf_ecb(); + strcpy(cipher_name,"Blowfish-256-ECB"); + break; + + case VTUN_ENC_BF128OFB: +@@ -241,26 +241,28 @@ + blocksize = 8; + keysize = 16; + var_key = 1; + sb_init = 1; + cipher_type = EVP_bf_ecb(); +- pctx_enc = &ctx_enc_ecb; +- pctx_dec = &ctx_dec_ecb; ++ pctx_enc = ctx_enc_ecb; ++ pctx_dec = ctx_dec_ecb; + break; + case VTUN_ENC_BF128ECB: /* blowfish 128 ecb is the default */ + default: + blocksize = 8; + keysize = 16; + var_key = 1; +- pctx_enc = &ctx_enc; +- pctx_dec = &ctx_dec; ++ pctx_enc = ctx_enc; ++ pctx_dec = ctx_dec; + cipher_type = EVP_bf_ecb(); + strcpy(cipher_name,"Blowfish-128-ECB"); + break; + } /* switch(host->cipher) */ + + if (prep_key(&pkey, keysize, host) != 0) return -1; ++ pctx_enc = EVP_CIPHER_CTX_new(); ++ pctx_dec = EVP_CIPHER_CTX_new(); + EVP_CIPHER_CTX_init(pctx_enc); + EVP_CIPHER_CTX_init(pctx_dec); + EVP_EncryptInit_ex(pctx_enc, cipher_type, NULL, NULL, NULL); + EVP_DecryptInit_ex(pctx_dec, cipher_type, NULL, NULL, NULL); + if (var_key) +@@ -292,14 +294,14 @@ + free_key(pkey); pkey = NULL; + + lfd_free(enc_buf); enc_buf = NULL; + lfd_free(dec_buf); dec_buf = NULL; + +- EVP_CIPHER_CTX_cleanup(&ctx_enc); +- EVP_CIPHER_CTX_cleanup(&ctx_dec); +- EVP_CIPHER_CTX_cleanup(&ctx_enc_ecb); +- EVP_CIPHER_CTX_cleanup(&ctx_dec_ecb); ++ EVP_CIPHER_CTX_free(ctx_enc); ++ EVP_CIPHER_CTX_free(ctx_dec); ++ EVP_CIPHER_CTX_free(ctx_enc_ecb); ++ EVP_CIPHER_CTX_free(ctx_dec_ecb); + + return 0; + } + + static int encrypt_buf(int len, char *in, char **out) +@@ -321,11 +323,11 @@ + + memset(in_ptr+len, pad, pad); + outlen=len+pad; + if (pad == blocksize) + RAND_bytes(in_ptr+len, blocksize-1); +- EVP_EncryptUpdate(&ctx_enc, out_ptr, &outlen, in_ptr, len+pad); ++ EVP_EncryptUpdate(ctx_enc, out_ptr, &outlen, in_ptr, len+pad); + *out = enc_buf; + + sequence_num++; + + return outlen+msg_len; +@@ -341,11 +343,11 @@ + in = *out; + in_ptr = in; + + outlen=len; + if (!len) return 0; +- EVP_DecryptUpdate(&ctx_dec, out_ptr, &outlen, in_ptr, len); ++ EVP_DecryptUpdate(ctx_dec, out_ptr, &outlen, in_ptr, len); + recv_ib_mesg(&outlen, &out_ptr); + if (!outlen) return 0; + tmp_ptr = out_ptr + outlen; tmp_ptr--; + pad = *tmp_ptr; + if (pad < 1 || pad > blocksize) { +@@ -429,17 +431,18 @@ + /* if we're here, something weird's going on */ + return -1; + break; + } /* switch(cipher) */ + +- EVP_CIPHER_CTX_init(&ctx_enc); +- EVP_EncryptInit_ex(&ctx_enc, cipher_type, NULL, NULL, NULL); ++ ctx_enc = EVP_CIPHER_CTX_new(); ++ EVP_CIPHER_CTX_init(ctx_enc); ++ EVP_EncryptInit_ex(ctx_enc, cipher_type, NULL, NULL, NULL); + if (var_key) +- EVP_CIPHER_CTX_set_key_length(&ctx_enc, keysize); +- EVP_EncryptInit_ex(&ctx_enc, NULL, NULL, pkey, NULL); +- EVP_EncryptInit_ex(&ctx_enc, NULL, NULL, NULL, iv); +- EVP_CIPHER_CTX_set_padding(&ctx_enc, 0); ++ EVP_CIPHER_CTX_set_key_length(ctx_enc, keysize); ++ EVP_EncryptInit_ex(ctx_enc, NULL, NULL, pkey, NULL); ++ EVP_EncryptInit_ex(ctx_enc, NULL, NULL, NULL, iv); ++ EVP_CIPHER_CTX_set_padding(ctx_enc, 0); + if (enc_init_first_time) + { + sprintf(tmpstr,"%s encryption initialized", cipher_name); + vtun_syslog(LOG_INFO, tmpstr); + enc_init_first_time = 0; +@@ -519,17 +522,18 @@ + /* if we're here, something weird's going on */ + return -1; + break; + } /* switch(cipher) */ + +- EVP_CIPHER_CTX_init(&ctx_dec); +- EVP_DecryptInit_ex(&ctx_dec, cipher_type, NULL, NULL, NULL); ++ ctx_dec = EVP_CIPHER_CTX_new(); ++ EVP_CIPHER_CTX_init(ctx_dec); ++ EVP_DecryptInit_ex(ctx_dec, cipher_type, NULL, NULL, NULL); + if (var_key) +- EVP_CIPHER_CTX_set_key_length(&ctx_dec, keysize); +- EVP_DecryptInit_ex(&ctx_dec, NULL, NULL, pkey, NULL); +- EVP_DecryptInit_ex(&ctx_dec, NULL, NULL, NULL, iv); +- EVP_CIPHER_CTX_set_padding(&ctx_dec, 0); ++ EVP_CIPHER_CTX_set_key_length(ctx_dec, keysize); ++ EVP_DecryptInit_ex(ctx_dec, NULL, NULL, pkey, NULL); ++ EVP_DecryptInit_ex(ctx_dec, NULL, NULL, NULL, iv); ++ EVP_CIPHER_CTX_set_padding(ctx_dec, 0); + if (dec_init_first_time) + { + sprintf(tmpstr,"%s decryption initialized", cipher_name); + vtun_syslog(LOG_INFO, tmpstr); + dec_init_first_time = 0; +@@ -557,11 +561,11 @@ + memset(iv,0,blocksize); free(iv); iv = NULL; + RAND_bytes(in_ptr, in - in_ptr); + + in_ptr = in - blocksize*2; + outlen = blocksize*2; +- EVP_EncryptUpdate(&ctx_enc_ecb, in_ptr, ++ EVP_EncryptUpdate(ctx_enc_ecb, in_ptr, + &outlen, in_ptr, blocksize*2); + *out = in_ptr; + len = outlen; + cipher_enc_state = CIPHER_SEQUENCE; + break; +@@ -584,11 +588,11 @@ + { + case CIPHER_INIT: + in_ptr = in; + iv = malloc(blocksize); + outlen = blocksize*2; +- EVP_DecryptUpdate(&ctx_dec_ecb, in_ptr, &outlen, in_ptr, blocksize*2); ++ EVP_DecryptUpdate(ctx_dec_ecb, in_ptr, &outlen, in_ptr, blocksize*2); + + if ( !strncmp(in_ptr, "ivec", 4) ) + { + memcpy(iv, in_ptr+4, blocksize); + cipher_dec_init(iv); +@@ -627,11 +631,11 @@ + "Max. gibberish threshold reached"); + #endif + if (cipher_enc_state != CIPHER_INIT) + { + cipher_enc_state = CIPHER_INIT; +- EVP_CIPHER_CTX_cleanup(&ctx_enc); ++ EVP_CIPHER_CTX_free(ctx_enc); + #ifdef LFD_ENCRYPT_DEBUG + vtun_syslog(LOG_INFO, + "Forcing local encryptor re-init"); + #endif + } +@@ -708,11 +712,11 @@ + *len -= blocksize; + + if (cipher_enc_state != CIPHER_INIT) + { + cipher_enc_state = CIPHER_INIT; +- EVP_CIPHER_CTX_cleanup(&ctx_enc); ++ EVP_CIPHER_CTX_free(ctx_enc); + } + #ifdef LFD_ENCRYPT_DEBUG + vtun_syslog(LOG_INFO, "Remote requests encryptor re-init"); + #endif + } +@@ -722,11 +726,11 @@ + + if (cipher_dec_state != CIPHER_INIT && + cipher_enc_state != CIPHER_REQ_INIT && + cipher_enc_state != CIPHER_INIT) + { +- EVP_CIPHER_CTX_cleanup (&ctx_dec); ++ EVP_CIPHER_CTX_free (ctx_dec); + cipher_dec_state = CIPHER_INIT; + cipher_enc_state = CIPHER_REQ_INIT; + } + #ifdef LFD_ENCRYPT_DEBUG + vtun_syslog(LOG_INFO, "Local decryptor out of sync"); diff --git a/bsp/buildroot/package/vtun/vtun.hash b/bsp/buildroot/package/vtun/vtun.hash index baa6381f..363c9809 100644 --- a/bsp/buildroot/package/vtun/vtun.hash +++ b/bsp/buildroot/package/vtun/vtun.hash @@ -1,2 +1,6 @@ +# From https://sourceforge.net/projects/vtun/files/vtun/3.0.4/ +md5 f952c5895ae8f40235aaad9a8f41a4bd vtun-3.0.4.tar.gz +sha1 2335c21b56fadf9ce851dd7f342fb0ed4f522c47 vtun-3.0.4.tar.gz # Locally computed: -sha256 69dcbe4f8c5ce7d91b4150a6309e536d03b61841169746ca5788413ac7edb9cb vtun-3.0.3.tar.gz +sha256 abf8df6b15e3febeaaeae2ce24ead7105eb1537ad4ec0d830c83cbb684fd98b9 vtun-3.0.4.tar.gz +sha256 5692a9a69dc5abc1aa9cbc54899d114b65c4cefbd9d7fcecc304316a2f26ced3 README.OpenSSL diff --git a/bsp/buildroot/package/vtun/vtun.mk b/bsp/buildroot/package/vtun/vtun.mk index 9c46559f..86d452c0 100644 --- a/bsp/buildroot/package/vtun/vtun.mk +++ b/bsp/buildroot/package/vtun/vtun.mk @@ -4,7 +4,7 @@ # ################################################################################ -VTUN_VERSION = 3.0.3 +VTUN_VERSION = 3.0.4 VTUN_SITE = http://downloads.sourceforge.net/project/vtun/vtun/$(VTUN_VERSION) VTUN_LICENSE = GPL-2.0+ with OpenSSL exception VTUN_LICENSE_FILES = README.OpenSSL diff --git a/bsp/buildroot/package/waf/waf.mk b/bsp/buildroot/package/waf/waf.mk index e7ac891b..97bc2a89 100644 --- a/bsp/buildroot/package/waf/waf.mk +++ b/bsp/buildroot/package/waf/waf.mk @@ -6,10 +6,10 @@ WAF_VERSION = 1.9.5 WAF_SOURCE = waf-$(WAF_VERSION) -WAF_SITE = https://waf.io/ +WAF_SITE = https://waf.io define HOST_WAF_EXTRACT_CMDS - $(INSTALL) -D -m 0755 $(DL_DIR)/waf-$(WAF_VERSION) $(@D)/waf + $(INSTALL) -D -m 0755 $(HOST_WAF_DL_DIR)/waf-$(WAF_VERSION) $(@D)/waf endef define HOST_WAF_INSTALL_CMDS diff --git a/bsp/buildroot/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch b/bsp/buildroot/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch new file mode 100644 index 00000000..ef54953e --- /dev/null +++ b/bsp/buildroot/package/waffle/0001-third_party-threads-Use-PTHREAD_MUTEX_RECURSIVE-by-d.patch @@ -0,0 +1,54 @@ +From 117456752cf9ac1f24d3cfd917ad34f670c244b8 Mon Sep 17 00:00:00 2001 +From: Emil Velikov +Date: Thu, 19 Mar 2015 22:26:11 +0000 +Subject: [PATCH] third_party/threads: Use PTHREAD_MUTEX_RECURSIVE by default + +PTHREAD_MUTEX_RECURSIVE_NP was used for compatibility with old glibc. +Although due to the_GNU_SOURCES define the portable, +PTHREAD_MUTEX_RECURSIVE will be available for Linuxes since at least +1998. Simplify things giving us compatibility with musl which +apparently does not provide the non-portable define. + +Inspired by almost identical commit in mesa aead7fe2e2b(c11/threads: Use +PTHREAD_MUTEX_RECURSIVE by default) by Felix Janda. + +Signed-off-by: Emil Velikov +Reviewed-by: Chad Versace +(Romain: cherry picked from commit 3b9b8f5f6d1b99af43e95ec0868404e552a85b73) +Signed-off-by: Romain Naour +--- + third_party/threads/threads_posix.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/third_party/threads/threads_posix.c b/third_party/threads/threads_posix.c +index 5835e43..e122bf9 100644 +--- a/third_party/threads/threads_posix.c ++++ b/third_party/threads/threads_posix.c +@@ -26,6 +26,9 @@ + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ ++ ++#define _GNU_SOURCE ++ + #include + #ifndef assert + #include +@@ -150,13 +153,8 @@ int mtx_init(mtx_t *mtx, int type) + && type != (mtx_try|mtx_recursive)) + return thrd_error; + pthread_mutexattr_init(&attr); +- if ((type & mtx_recursive) != 0) { +-#if defined(__linux__) || defined(__linux) +- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); +-#else ++ if ((type & mtx_recursive) != 0) + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); +-#endif +- } + pthread_mutex_init(mtx, &attr); + pthread_mutexattr_destroy(&attr); + return thrd_success; +-- +2.14.3 + diff --git a/bsp/buildroot/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch b/bsp/buildroot/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch new file mode 100644 index 00000000..ffc1b5b8 --- /dev/null +++ b/bsp/buildroot/package/waffle/0002-cmake-forward-cflags-from-.pc-files-to-waffle-cflags.patch @@ -0,0 +1,40 @@ +From 8b0ae49c8bea78df73c3ecae0059d54a95c561fa Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Sun, 24 Dec 2017 00:11:45 +0100 +Subject: [PATCH] cmake: forward cflags from *.pc files to waffle cflags + +When building mesa egl without x11 and gles2 the headers need a +MESA_EGL_NO_X11_HEADERS define to avoid including X11 headers. + +This define MESA_EGL_NO_X11_HEADERS is lost while building waffle +since CGLAGS defined by pc files are not used. + +MESA_EGL_NO_X11_HEADERS is defined in CFLAGS from egl.pc. + +Signed-off-by: Romain Naour +--- + src/waffle/CMakeLists.txt | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/waffle/CMakeLists.txt b/src/waffle/CMakeLists.txt +index d76e029..2ff72c8 100644 +--- a/src/waffle/CMakeLists.txt ++++ b/src/waffle/CMakeLists.txt +@@ -5,6 +5,14 @@ + add_definitions( + -DWAFFLE_API_VERSION=${waffle_api_version} + -DWAFFLE_API_EXPERIMENTAL ++ ${egl_CFLAGS} ++ ${gbm_CFLAGS} ++ ${gl_CFLAGS} ++ ${GLEXT_CFLAGS} ++ ${libudev_CFLAGS} ++ ${wayland-client_CFLAGS} ++ ${wayland-egl_CFLAGS} ++ ${x11-xcb_CFLAGS} + ) + + include_directories( +-- +2.14.3 + diff --git a/bsp/buildroot/package/waffle/Config.in b/bsp/buildroot/package/waffle/Config.in new file mode 100644 index 00000000..ad622e95 --- /dev/null +++ b/bsp/buildroot/package/waffle/Config.in @@ -0,0 +1,47 @@ +config BR2_PACKAGE_WAFFLE_SUPPORTS_GLX + bool + default y if BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND + bool + default y if BR2_PACKAGE_WAYLAND && BR2_PACKAGE_HAS_LIBEGL_WAYLAND + +config BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL + bool + default y if BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_WAFFLE_SUPPORTS_GBM + bool + # mesa3d is for now the only GBM provider, and it is enabled + # together with its EGL support + default y if BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_MESA3D_OPENGL_EGL && BR2_PACKAGE_HAS_UDEV + +config BR2_PACKAGE_WAFFLE + bool "waffle" + depends on BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL || \ + BR2_PACKAGE_WAFFLE_SUPPORTS_GBM + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL + select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_WAFFLE_SUPPORTS_GLX || BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL + help + Waffle is a cross-platform library that allows one to defer + selection of an OpenGL API and of window system until + runtime. For example, on Linux, Waffle enables an application + to select X11/EGL with an OpenGL 3.3 core profile, Wayland + with OpenGL ES2, and other window system / API combinations. + + Waffle's immediate goal is to enable Piglit [1] to test + multiple OpenGL flavors in a cross-platform way, and to allow + each Piglit test to choose its OpenGL API and window system + at runtime. A future goal is to enable the ability to record + (with another tool such APITrace [2]) an application's OpenGL + calls on one operating system or window system, and then + replay that trace on a different system. + + For more information, visit to Waffle's website. + + [1] http://piglit.freedesktop.org + [2] http://github.com/apitrace/apitrace#readme + + http://www.waffle-gl.org diff --git a/bsp/buildroot/package/waffle/waffle.hash b/bsp/buildroot/package/waffle/waffle.hash new file mode 100644 index 00000000..5dfb976f --- /dev/null +++ b/bsp/buildroot/package/waffle/waffle.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 d662f6743f688dc5ea4b7d29f558eb54bd8f57350080f04a006693d22e5d1d5b waffle-v1.5.2.tar.gz +sha256 630844d1911c8a1b7b888a1de9097c4860b7e381362fd5aa64141d58ab7ecc9b LICENSE.txt diff --git a/bsp/buildroot/package/waffle/waffle.mk b/bsp/buildroot/package/waffle/waffle.mk new file mode 100644 index 00000000..c6dd0d54 --- /dev/null +++ b/bsp/buildroot/package/waffle/waffle.mk @@ -0,0 +1,48 @@ +################################################################################ +# +# waffle +# +################################################################################ + +WAFFLE_VERSION = v1.5.2 +WAFFLE_SITE = $(call github,waffle-gl,waffle,$(WAFFLE_VERSION)) +WAFFLE_INSTALL_STAGING = YES +WAFFLE_LICENSE = BSD-2-Clause +WAFFLE_LICENSE_FILES = LICENSE.txt + +WAFFLE_DEPENDENCIES = host-pkgconf + +WAFFLE_CONF_OPTS = -Dwaffle_build_tests=OFF \ + -Dwaffle_build_examples=OFF \ + -Dwaffle_build_manpages=OFF \ + -Dwaffle_build_htmldocs=OFF + +ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_WAYLAND),y) +WAFFLE_DEPENDENCIES += libegl wayland +WAFFLE_CONF_OPTS += -Dwaffle_has_wayland=ON +else +WAFFLE_CONF_OPTS += -Dwaffle_has_wayland=OFF +endif + +ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_X11_EGL),y) +WAFFLE_DEPENDENCIES += libegl libxcb xlib_libX11 +WAFFLE_CONF_OPTS += -Dwaffle_has_x11_egl=ON +else +WAFFLE_CONF_OPTS += -Dwaffle_has_x11_egl=OFF +endif + +ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_GLX),y) +WAFFLE_DEPENDENCIES += libgl libxcb xlib_libX11 +WAFFLE_CONF_OPTS += -Dwaffle_has_glx=ON +else +WAFFLE_CONF_OPTS += -Dwaffle_has_glx=OFF +endif + +ifeq ($(BR2_PACKAGE_WAFFLE_SUPPORTS_GBM),y) +WAFFLE_DEPENDENCIES += libegl udev +WAFFLE_CONF_OPTS += -Dwaffle_has_gbm=ON +else +WAFFLE_CONF_OPTS += -Dwaffle_has_gbm=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/wampcc/Config.in b/bsp/buildroot/package/wampcc/Config.in new file mode 100644 index 00000000..92abc9cb --- /dev/null +++ b/bsp/buildroot/package/wampcc/Config.in @@ -0,0 +1,30 @@ +config BR2_PACKAGE_WAMPCC + bool "wampcc" + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv + depends on BR2_USE_MMU # libuv + depends on !BR2_STATIC_LIBS # libuv + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future + select BR2_PACKAGE_LIBUV + select BR2_PACKAGE_JANSSON + select BR2_PACKAGE_OPENSSL + help + wampcc is a C++ library that implements the Web Application + Messaging Protocol. + + https://github.com/darrenjs/wampcc + +comment "wampcc needs a toolchain w/ C++, NPTL, dynamic library" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on !BR2_INSTALL_LIBSTDCPP || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS + +comment "wampcc needs a toolchain not affected by GCC bug 64735" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 diff --git a/bsp/buildroot/package/wampcc/wampcc.hash b/bsp/buildroot/package/wampcc/wampcc.hash new file mode 100644 index 00000000..162dcab0 --- /dev/null +++ b/bsp/buildroot/package/wampcc/wampcc.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 b3c3633b4c6a74d7ac8a676a7ea30fbfde7ae19aa1fc37de3b8aa3a553b674a2 wampcc-v1.6.tar.gz +sha256 bd185b1ec8a292d42b42346757ff6e198073e13c1e080e9ea548d34dd42d30d8 LICENSE diff --git a/bsp/buildroot/package/wampcc/wampcc.mk b/bsp/buildroot/package/wampcc/wampcc.mk new file mode 100644 index 00000000..dcd65f49 --- /dev/null +++ b/bsp/buildroot/package/wampcc/wampcc.mk @@ -0,0 +1,19 @@ +################################################################################ +# +# wampcc +# +################################################################################ + +WAMPCC_VERSION = v1.6 +WAMPCC_SITE = $(call github,darrenjs,wampcc,$(WAMPCC_VERSION)) +WAMPCC_DEPENDENCIES = host-pkgconf libuv jansson openssl +WAMPCC_INSTALL_STAGING = YES +WAMPCC_LICENSE = MIT +WAMPCC_LICENSE_FILES = LICENSE + +# Uses __atomic_fetch_add_8 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +WAMPCC_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -latomic" +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch b/bsp/buildroot/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch new file mode 100644 index 00000000..67292539 --- /dev/null +++ b/bsp/buildroot/package/wavemon/0001-Drop-on_exit-use-standard-atexit-instead.patch @@ -0,0 +1,73 @@ +From f6e20c9c6e9b50963caaf5483248d329473a6815 Mon Sep 17 00:00:00 2001 +From: Gerrit Renker +Date: Mon, 21 Jan 2019 09:23:43 -0700 +Subject: [PATCH] Drop on_exit(), use standard atexit() instead +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +`on_exit()` is a GLIBC specific extension and not available in musl and uClibc. + +Portable applications should avoid this function, and use the standard +`atexit()` instead. + +Backported from:f6e20c9c6e9b50963caaf5483248d329473a6815 + +Signed-off-by: Jörg Krause +--- + iw_if.c | 10 ++++++---- + iw_if.h | 2 +- + iw_scan.c | 2 +- + 3 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/iw_if.c b/iw_if.c +index c0b0128..d8bacbc 100644 +--- a/iw_if.c ++++ b/iw_if.c +@@ -87,11 +87,13 @@ int if_set_down(const char *ifname) + return if_set_up_or_down(ifname, false); + } + +-/** Exit handler to restore interface 'down' state on exit via on_exit(3). */ +-void if_set_down_on_exit(int rc, void *arg) ++/** Exit handler to restore interface 'down' state on exit via atexit(3). */ ++void if_set_down_on_exit(void) + { +- if (if_set_down(arg) < 0) { +- err_msg("unable to restore %s interface state - set down manually", arg); ++ const char *ifname = conf_ifname(); ++ ++ if (ifname && if_set_down(ifname) < 0) { ++ err_msg("unable to restore %s interface state - set down manually", ifname); + } + } + +diff --git a/iw_if.h b/iw_if.h +index 50f5a47..e2199d3 100644 +--- a/iw_if.h ++++ b/iw_if.h +@@ -76,7 +76,7 @@ struct if_info { + }; + extern bool if_is_up(const char *ifname); + extern int if_set_up(const char *ifname); +-extern void if_set_down_on_exit(int rc, void *arg); ++extern void if_set_down_on_exit(void); + extern void if_getinf(const char *ifname, struct if_info *info); + + /** +diff --git a/iw_scan.c b/iw_scan.c +index 18e9e06..e2b3067 100644 +--- a/iw_scan.c ++++ b/iw_scan.c +@@ -430,7 +430,7 @@ void *do_scan(void *sr_ptr) + + if (if_set_up(conf_ifname()) < 0) + err_sys("Can not bring up interface '%s'", conf_ifname()); +- if (on_exit(if_set_down_on_exit, (void *)conf_ifname()) < 0) ++ if (atexit(if_set_down_on_exit) < 0) + snprintf(sr->msg, sizeof(sr->msg), "Warning: unable to restore %s down state on exit", conf_ifname()); + break; + } +-- +2.20.1 + diff --git a/bsp/buildroot/package/wavemon/wavemon.hash b/bsp/buildroot/package/wavemon/wavemon.hash index 69bd2b4b..798e2973 100644 --- a/bsp/buildroot/package/wavemon/wavemon.hash +++ b/bsp/buildroot/package/wavemon/wavemon.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 c9ea57da4f8161401bcaaca17b37bcdf16ffb88baad2370afed2e15a7f71af73 wavemon-v0.8.1.tar.gz +sha256 5823ef9459d6147a457b390b6744a77465584e93d37c2809fa7a0be557070166 wavemon-v0.9.0.tar.gz +sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING diff --git a/bsp/buildroot/package/wavemon/wavemon.mk b/bsp/buildroot/package/wavemon/wavemon.mk index e87ab7a3..864e0709 100644 --- a/bsp/buildroot/package/wavemon/wavemon.mk +++ b/bsp/buildroot/package/wavemon/wavemon.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAVEMON_VERSION = v0.8.1 +WAVEMON_VERSION = v0.9.0 WAVEMON_SITE = $(call github,uoaerg,wavemon,$(WAVEMON_VERSION)) WAVEMON_LICENSE = GPL-3.0+ WAVEMON_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/wayland-protocols/wayland-protocols.hash b/bsp/buildroot/package/wayland-protocols/wayland-protocols.hash index d1d643ca..d62a433d 100644 --- a/bsp/buildroot/package/wayland-protocols/wayland-protocols.hash +++ b/bsp/buildroot/package/wayland-protocols/wayland-protocols.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-December/036037.html -md5 ac83c4704003323b6bd5a1b91fb1be53 wayland-protocols-1.12.tar.xz -sha1 ac908e91c6c5e7802c0af48f55725ad683017e72 wayland-protocols-1.12.tar.xz -sha256 3b19e8a9e1e19474756a7069db23b90ca9b8ebb438448c6063b4a7fc89b7c8b2 wayland-protocols-1.12.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-November/039662.html +md5 55ddd5fdb02b73b9de9559aaec267315 wayland-protocols-1.17.tar.xz +sha1 7d2569c838c776545e3eb1b1049b9c37178aae24 wayland-protocols-1.17.tar.xz +sha256 df1319cf9705643aea9fd16f9056f4e5b2471bd10c0cc3713d4a4cdc23d6812f wayland-protocols-1.17.tar.xz sha256 f1a2b233e8a9a71c40f4aa885be08a0842ac85bb8588703c1dd7e6e6502e3124 COPYING diff --git a/bsp/buildroot/package/wayland-protocols/wayland-protocols.mk b/bsp/buildroot/package/wayland-protocols/wayland-protocols.mk index 0d23e9af..5ed4c3bc 100644 --- a/bsp/buildroot/package/wayland-protocols/wayland-protocols.mk +++ b/bsp/buildroot/package/wayland-protocols/wayland-protocols.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_PROTOCOLS_VERSION = 1.12 +WAYLAND_PROTOCOLS_VERSION = 1.17 WAYLAND_PROTOCOLS_SITE = http://wayland.freedesktop.org/releases WAYLAND_PROTOCOLS_SOURCE = wayland-protocols-$(WAYLAND_PROTOCOLS_VERSION).tar.xz WAYLAND_PROTOCOLS_LICENSE = MIT diff --git a/bsp/buildroot/package/wayland/0001-Support-architectures-with-non-empty-__USER_LABEL_PR.patch b/bsp/buildroot/package/wayland/0001-Support-architectures-with-non-empty-__USER_LABEL_PR.patch deleted file mode 100644 index abefcff2..00000000 --- a/bsp/buildroot/package/wayland/0001-Support-architectures-with-non-empty-__USER_LABEL_PR.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 0a337328411d5b3f37b169a83b6fee3f1726130f Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 26 May 2016 15:57:33 +0200 -Subject: [PATCH] Support architectures with non-empty __USER_LABEL_PREFIX__ - -On some architectures (like Blackfin), a C symbol does not directly -match with assembly symbols. The C symbol references are in fact all -prefixed by a so-called "user label prefix". So when a symbol defined -in an assembly file needs to be referenced from C, this symbol should -be prefixed by the "user label prefix". - -This commit updates dtddata.S to take into account -__USER_LABEL_PREFIX__ when it exists. - -Signed-off-by: Thomas Petazzoni ---- - src/dtddata.S | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - -diff --git a/src/dtddata.S b/src/dtddata.S -index ce51133..ad2a4db 100644 ---- a/src/dtddata.S -+++ b/src/dtddata.S -@@ -30,17 +30,24 @@ - - /* from: http://www.linuxjournal.com/content/embedding-file-executable-aka-hello-world-version-5967#comment-348129 */ - -+#ifdef __USER_LABEL_PREFIX__ -+#define CONCAT1(a, b) CONCAT2(a, b) -+#define CONCAT2(a, b) a ## b -+#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x) -+#else -+#endif -+ - .macro binfile name file - .p2align 2 -- .globl \name\()_begin --\name\()_begin: -+ .globl SYM(\name\()_begin) -+SYM(\name\()_begin): - .incbin "\file" --\name\()_end: -+SYM(\name\()_end): - .byte 0 - .p2align 2 -- .globl \name\()_len --\name\()_len: -- .int (\name\()_end - \name\()_begin) -+ .globl SYM(\name\()_len) -+SYM(\name\()_len): -+ .int (SYM(\name\()_end) - SYM(\name\()_begin)) - .endm - - .section .rodata --- -2.7.4 - diff --git a/bsp/buildroot/package/wayland/0002-configure-add-option-to-disable-tests.patch b/bsp/buildroot/package/wayland/0001-configure-add-option-to-disable-tests.patch similarity index 60% rename from bsp/buildroot/package/wayland/0002-configure-add-option-to-disable-tests.patch rename to bsp/buildroot/package/wayland/0001-configure-add-option-to-disable-tests.patch index 8c67d9a3..c6e4a496 100644 --- a/bsp/buildroot/package/wayland/0002-configure-add-option-to-disable-tests.patch +++ b/bsp/buildroot/package/wayland/0001-configure-add-option-to-disable-tests.patch @@ -1,6 +1,6 @@ -From 33b025e04bf3fa94b74ea3325b3fd7c3f546bcb1 Mon Sep 17 00:00:00 2001 +From 55ae8e1103f4697bfa01a84301a6560b89de5248 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" -Date: Sun, 5 Mar 2017 10:06:02 +0100 +Date: Mon, 16 Apr 2018 19:52:34 +0300 Subject: [PATCH] configure: add option to disable tests When building for a product, tests are not needed. @@ -11,40 +11,45 @@ available. So, add an option to configure to disable building tests altogether. Signed-off-by: "Yann E. MORIN" +Reviewed-by: Eric Engestrom +Tested-by: Eric Engestrom + +Signed-off-by: "Yann E. MORIN" +Signed-off-by: Alexey Brodkin + --- -Patch submitted upstream: -https://lists.freedesktop.org/archives/wayland-devel/2017-March/033359.html +Changes v1 -> v2: + - fix typo in yes-check (Eric) --- - Makefile.am | 3 ++- + Makefile.am | 2 ++ configure.ac | 8 ++++++++ - 2 files changed, 10 insertions(+), 1 deletion(-) + 2 files changed, 10 insertions(+) diff --git a/Makefile.am b/Makefile.am -index d0c8bd3..9c2541d 100644 +index 741db5ebf9d9..4862d42959f0 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -143,7 +143,7 @@ libwayland_cursor_la_CFLAGS = \ - -I$(top_srcdir)/src \ - -DICONDIR=\"$(ICONDIR)\" +@@ -160,6 +160,7 @@ pkgconfig_DATA += egl/wayland-egl.pc + include_HEADERS += egl/wayland-egl-backend.h + pkgconfig_DATA += egl/wayland-egl-backend.pc -- +if ENABLE_TESTS built_test_programs = \ array-test \ client-test \ -@@ -258,6 +258,7 @@ os_wrappers_test_LDADD = libtest-runner.la +@@ -287,6 +288,7 @@ os_wrappers_test_LDADD = libtest-runner.la exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c exec_fd_leak_checker_LDADD = libtest-runner.la +endif EXTRA_DIST += tests/scanner-test.sh \ - tests/data/example.xml \ + protocol/tests.xml \ diff --git a/configure.ac b/configure.ac -index b583bef..96a5575 100644 +index c74ee97b24a2..5c94b7b76b06 100644 --- a/configure.ac +++ b/configure.ac -@@ -87,10 +87,18 @@ AC_ARG_ENABLE([dtd-validation], +@@ -89,10 +89,18 @@ AC_ARG_ENABLE([dtd-validation], [], [enable_dtd_validation=yes]) @@ -58,11 +63,11 @@ index b583bef..96a5575 100644 AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes) -+AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "yes") ++AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = xyes) + AC_ARG_WITH(icondir, [ --with-icondir= Look for cursor icons here], [ ICONDIR=$withval], [ ICONDIR=${datadir}/icons]) -- -2.7.4 +2.14.3 diff --git a/bsp/buildroot/package/wayland/wayland.hash b/bsp/buildroot/package/wayland/wayland.hash index c46aca2b..3f284609 100644 --- a/bsp/buildroot/package/wayland/wayland.hash +++ b/bsp/buildroot/package/wayland/wayland.hash @@ -1,5 +1,5 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-August/034748.html -md5 0235f6075c32c3be61cff94fa0b9f108 wayland-1.14.0.tar.xz -sha1 53a443be3bafe73209bbc49ef2cb134ed16e0141 wayland-1.14.0.tar.xz -sha256 ed80cabc0961a759a42092e2c39aabfc1ec9a13c86c98bbe2b812f008da27ab8 wayland-1.14.0.tar.xz -sha512 bd38b2b8963d4d98d42c270e5d7dbff6323789a173b19b67a18258424fd8adee5021b282c9d7f6dad0bd25aa0160e76aecd8ed803d4eb25d911ef0a81cd713a5 wayland-1.14.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-August/039358.html +md5 0c215e53de71d6fb26f7102cdc6432d3 wayland-1.16.0.tar.xz +sha1 24c63a5045c653dcfa24efd10fa7c7de89aca9ef wayland-1.16.0.tar.xz +sha256 4e72c2b56109ccfb6610d776e465f4ca0af2280c9c2f7d5cc23f0ed2548752f5 wayland-1.16.0.tar.xz +sha512 64eca2b1c0bc7913508a5499dae87e2723c712d8024acbb4c77c3c4a6c20de78c10704ae9827fd034116ca540a547aeec28c5a1e3bd382b23f85231424b0f49c wayland-1.16.0.tar.xz diff --git a/bsp/buildroot/package/wayland/wayland.mk b/bsp/buildroot/package/wayland/wayland.mk index 10710a81..6c2997be 100644 --- a/bsp/buildroot/package/wayland/wayland.mk +++ b/bsp/buildroot/package/wayland/wayland.mk @@ -4,7 +4,7 @@ # ################################################################################ -WAYLAND_VERSION = 1.14.0 +WAYLAND_VERSION = 1.16.0 WAYLAND_SITE = http://wayland.freedesktop.org/releases WAYLAND_SOURCE = wayland-$(WAYLAND_VERSION).tar.xz WAYLAND_LICENSE = MIT diff --git a/bsp/buildroot/package/webkitgtk/Config.in b/bsp/buildroot/package/webkitgtk/Config.in index 260fa15b..8714677b 100644 --- a/bsp/buildroot/package/webkitgtk/Config.in +++ b/bsp/buildroot/package/webkitgtk/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS bool # ARM needs BLX, so v5t+, BE completely untested so disabled default y if BR2_arm && !BR2_ARM_CPU_ARMV4 + default y if BR2_aarch64 || BR2_aarch64_be default y if BR2_i386 || BR2_x86_64 # Disabled on MIPS big endian due to sigbus default y if BR2_mipsel || BR2_mips64el @@ -11,6 +12,22 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt +config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT + bool + # ARM needs NEON for JIT. + default y if BR2_ARM_CPU_HAS_NEON + # AArch64 is supported upstream but not well tested on big-endian mode. + default y if BR2_aarch64 + # i386 & x86_64 don't have any special requirements. + default y if BR2_i386 + default y if BR2_x86_64 + # JIT is known not to work on MIPS64. + # Plain MIPS32 (pre R2) is not well tested and likely broken, and R6 + # is unsupported, see https://bugs.webkit.org/show_bug.cgi?id=191258 + # The MIPS support is completely untested in big-endian mode. + default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R2 + default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R5 + comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ diff --git a/bsp/buildroot/package/webkitgtk/webkitgtk.hash b/bsp/buildroot/package/webkitgtk/webkitgtk.hash index 15b1b566..ed251197 100644 --- a/bsp/buildroot/package/webkitgtk/webkitgtk.hash +++ b/bsp/buildroot/package/webkitgtk/webkitgtk.hash @@ -1,7 +1,7 @@ -# From https://webkitgtk.org/releases/webkitgtk-2.22.4.tar.xz.sums -md5 9f08d09cfc21c761a431a545549f301a webkitgtk-2.22.4.tar.xz -sha1 adf857c8a8b8fb79ba9b01bbe4b454956e633952 webkitgtk-2.22.4.tar.xz -sha256 fab5be2883802352ae0e735dd1eff4bc18abaff7ac78689cec72eb2f611943b8 webkitgtk-2.22.4.tar.xz +# From https://webkitgtk.org/releases/webkitgtk-2.22.6.tar.xz.sums +md5 7c21a30f7f078f0b712caf0c7ee966a4 webkitgtk-2.22.6.tar.xz +sha1 26a8f8951da03aa4dfc2c25257b6899ea3c2558f webkitgtk-2.22.6.tar.xz +sha256 df90db9c0db0a2072b945fa3e1d45865922bd686c4659cce6cb5897ce357c85b webkitgtk-2.22.6.tar.xz # Hashes for license files: sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE diff --git a/bsp/buildroot/package/webkitgtk/webkitgtk.mk b/bsp/buildroot/package/webkitgtk/webkitgtk.mk index cade28f9..c17bbc80 100644 --- a/bsp/buildroot/package/webkitgtk/webkitgtk.mk +++ b/bsp/buildroot/package/webkitgtk/webkitgtk.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBKITGTK_VERSION = 2.22.4 +WEBKITGTK_VERSION = 2.22.6 WEBKITGTK_SITE = http://www.webkitgtk.org/releases WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz WEBKITGTK_INSTALL_STAGING = YES @@ -12,7 +12,7 @@ WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-APPLE \ Source/WebCore/LICENSE-LGPL-2.1 -WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \ +WEBKITGTK_DEPENDENCIES = host-ruby host-python host-gperf \ enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \ libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CONF_OPTS = \ @@ -27,9 +27,7 @@ WEBKITGTK_CONF_OPTS = \ -DUSE_LIBHYPHEN=OFF \ -DUSE_WOFF2=ON -# ARM needs NEON for JIT -# i386 & x86_64 don't seem to have any special requirements -ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT),y) WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON else WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF @@ -41,13 +39,9 @@ WEBKITGTK_CONF_OPTS += \ -DENABLE_WEB_AUDIO=ON WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good else -# ENABLE_MEDIA_STREAM has to be explicitly disabled because there is a missing -# feature dependency in the WebKitGTK+ CMake files. This can be removed once -# https://bugs.webkit.org/show_bug.cgi?id=174940 makes it into a release. WEBKITGTK_CONF_OPTS += \ -DENABLE_VIDEO=OFF \ - -DENABLE_WEB_AUDIO=OFF \ - -DENABLE_MEDIA_STREAM=OFF + -DENABLE_WEB_AUDIO=OFF endif ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y) diff --git a/bsp/buildroot/package/webp/webp.hash b/bsp/buildroot/package/webp/webp.hash index ffb63b8e..ed4b127e 100644 --- a/bsp/buildroot/package/webp/webp.hash +++ b/bsp/buildroot/package/webp/webp.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 06503c782d9f151baa325591c3579c68ed700ffc62d4f5a32feead0ff017d8ab libwebp-0.6.1.tar.gz +sha256 8c744a5422dbffa0d1f92e90b34186fb8ed44db93fbacb55abd751ac8808d922 libwebp-1.0.1.tar.gz sha256 5aec868f669e384a22372a4e8a1a6cd7d44c64cd451f960ca69cc170d1e13acf COPYING diff --git a/bsp/buildroot/package/webp/webp.mk b/bsp/buildroot/package/webp/webp.mk index f5ca3424..1aa81a07 100644 --- a/bsp/buildroot/package/webp/webp.mk +++ b/bsp/buildroot/package/webp/webp.mk @@ -4,7 +4,7 @@ # ################################################################################ -WEBP_VERSION = 0.6.1 +WEBP_VERSION = 1.0.1 WEBP_SOURCE = libwebp-$(WEBP_VERSION).tar.gz WEBP_SITE = http://downloads.webmproject.org/releases/webp WEBP_LICENSE = BSD-3-Clause diff --git a/bsp/buildroot/package/websocketpp/Config.in b/bsp/buildroot/package/websocketpp/Config.in new file mode 100644 index 00000000..cadb9ff6 --- /dev/null +++ b/bsp/buildroot/package/websocketpp/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_WEBSOCKETPP + bool "websocketpp" + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_INSTALL_LIBSTDCPP + help + WebSocket++ is a header only C++ library that implements + RFC6455 The WebSocket Protocol. It allows integrating + WebSocket client and server functionality into C++ programs. + It uses interchangeable network transport modules including + one based on C++ iostreams and one based on Boost Asio. + + http://www.zaphoyd.com/websocketpp + +comment "websocketpp needs a toolchain w/ C++ and gcc >= 4.8" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/bsp/buildroot/package/websocketpp/websocketpp.hash b/bsp/buildroot/package/websocketpp/websocketpp.hash new file mode 100644 index 00000000..8bf671d9 --- /dev/null +++ b/bsp/buildroot/package/websocketpp/websocketpp.hash @@ -0,0 +1,3 @@ +# Locally Computed: +sha256 178899de48c02853b55b1ea8681599641cedcdfce59e56beaff3dd0874bf0286 websocketpp-0.8.1.tar.gz +sha256 b31e597bc777d884a39663c11d0557a0af40780e1f451de11ea5103924a69667 COPYING diff --git a/bsp/buildroot/package/websocketpp/websocketpp.mk b/bsp/buildroot/package/websocketpp/websocketpp.mk new file mode 100644 index 00000000..47da4dbe --- /dev/null +++ b/bsp/buildroot/package/websocketpp/websocketpp.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# websocketpp +# +################################################################################ + +WEBSOCKETPP_VERSION = 0.8.1 +WEBSOCKETPP_SITE = $(call github,zaphoyd,websocketpp,$(WEBSOCKETPP_VERSION)) +WEBSOCKETPP_LICENSE = BSD-3c, MIT, Zlib +WEBSOCKETPP_LICENSE_FILES = COPYING +WEBSOCKETPP_INSTALL_STAGING = YES +# Only installs headers +WEBSOCKETPP_INSTALL_TARGET = NO + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/weston/0002-shared-struct-timespec-is-in-time.h.patch b/bsp/buildroot/package/weston/0002-shared-struct-timespec-is-in-time.h.patch deleted file mode 100644 index 28476d32..00000000 --- a/bsp/buildroot/package/weston/0002-shared-struct-timespec-is-in-time.h.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 47535b50c4178d62b848b3e9d3524e4f6282c815 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Sun, 1 Oct 2017 14:17:21 +0200 -Subject: [PATCH] shared: struct timespec is in time.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -On the musl C library, tests/timespec-text.c does not build, with the -following error: - - In file included from tests/timespec-test.c:36:0: - ./shared/timespec-util.h:41:21: warning: ‘struct timespec’ declared - inside parameter list will not be visible outside of this definition - or declaration - timespec_sub(struct timespec *r, - ^~~~~~~~ - [...] - -Indeed, struct timespec is defined in time.h, so we must include it. - -Signed-off-by: "Yann E. MORIN" ---- -Upstream status: submitted - https://lists.freedesktop.org/archives/wayland-devel/2017-October/035306.html ---- - shared/timespec-util.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/shared/timespec-util.h b/shared/timespec-util.h -index 576b3e8f..34a120ae 100644 ---- a/shared/timespec-util.h -+++ b/shared/timespec-util.h -@@ -28,6 +28,7 @@ - - #include - #include -+#include - - #define NSEC_PER_SEC 1000000000 - --- -2.11.0 - diff --git a/bsp/buildroot/package/weston/weston.hash b/bsp/buildroot/package/weston/weston.hash index 82c97b8c..799d371d 100644 --- a/bsp/buildroot/package/weston/weston.hash +++ b/bsp/buildroot/package/weston/weston.hash @@ -1,5 +1,7 @@ -# From https://lists.freedesktop.org/archives/wayland-devel/2017-August/034749.html -md5 9c42a4c51a1b9f35d040fa9d45ada36d weston-3.0.0.tar.xz -sha1 0a75c2ee10f2453a073411157bb6ed029080669f weston-3.0.0.tar.xz -sha256 cde1d55e8dd70c3cbb3d1ec72f60e60000041579caa1d6a262bd9c35e93723a5 weston-3.0.0.tar.xz -sha512 b824c39f2a884f6d50d607613f447090621f684c96f7d905f25f6e500dabd03ecb2b1cd1030babc193c3417223cb220103abb792437e1a5ead7229a76b5c7a58 weston-3.0.0.tar.xz +# From https://lists.freedesktop.org/archives/wayland-devel/2018-August/039359.html +md5 752a04ce3c65af4884cfac4e57231bdb weston-5.0.0.tar.xz +sha1 56b42b1fbea9e120a8127736328e4c71ac781a57 weston-5.0.0.tar.xz +sha256 15a23423bcfa45e31e1dedc0cd524ba71e2930df174fde9c99b71a537c4e4caf weston-5.0.0.tar.xz +sha512 b6f97eca014ea47f3de0c5ddd89712f896cd66423d0eb499e1d88d35aab616cef1e735ebb8e0cefd8b60085314b6ec3d56b39d7c4776188bb56d58efc84a52cf weston-5.0.0.tar.xz +# locally computed +sha256 0f0de7b7b1f65870139c95dde7abc19ed305631ae7c5d37c386db40cde108632 weston-rel_imx_4.9.51_8mq_ga.tar.gz diff --git a/bsp/buildroot/package/weston/weston.mk b/bsp/buildroot/package/weston/weston.mk index 3d17a615..7fbe39b9 100644 --- a/bsp/buildroot/package/weston/weston.mk +++ b/bsp/buildroot/package/weston/weston.mk @@ -4,9 +4,16 @@ # ################################################################################ -WESTON_VERSION = 3.0.0 +ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y) +WESTON_VERSION = rel_imx_4.9.51_8mq_ga +WESTON_SITE = https://source.codeaurora.org/external/imx/weston-imx +WESTON_SITE_METHOD = git +WESTON_AUTORECONF = YES +else +WESTON_VERSION = 5.0.0 WESTON_SITE = http://wayland.freedesktop.org/releases WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz +endif WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING @@ -50,10 +57,18 @@ else WESTON_CONF_OPTS += --disable-weston-launch endif -# Needs wayland-egl, which normally only mesa provides -ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL)$(BR2_PACKAGE_MESA3D_OPENGL_ES),yy) +ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y) +ifeq ($(BR2_PACKAGE_IMX_GPU_G2D),y) +WESTON_DEPENDENCIES += imx-gpu-g2d +# --enable-imxg2d actually disables it, so no CONF_OPTS +else +WESTON_CONF_OPTS += --disable-imxg2d +endif +endif + +ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy) WESTON_CONF_OPTS += --enable-egl -WESTON_DEPENDENCIES += libegl +WESTON_DEPENDENCIES += libegl libgles else WESTON_CONF_OPTS += \ --disable-egl \ @@ -61,12 +76,6 @@ WESTON_CONF_OPTS += \ --disable-simple-egl-clients endif -ifeq ($(BR2_PACKAGE_LIBUNWIND),y) -WESTON_DEPENDENCIES += libunwind -else -WESTON_CONF_OPTS += --disable-libunwind -endif - ifeq ($(BR2_PACKAGE_WESTON_RDP),y) WESTON_DEPENDENCIES += freerdp WESTON_CONF_OPTS += --enable-rdp-compositor diff --git a/bsp/buildroot/package/wf111/wf111.hash b/bsp/buildroot/package/wf111/wf111.hash new file mode 100644 index 00000000..e3a5c484 --- /dev/null +++ b/bsp/buildroot/package/wf111/wf111.hash @@ -0,0 +1,4 @@ +# Locally calculated +sha256 33de265d28702ce32bb292f29a43e9e946382a1e31f1e4feae0f4753cf18b4f4 wf111-linux-driver_5.2.2-r4_armv7-a.tar.gz +sha256 fbe86a30e4025b9f510feb4cb8f846aca82f8f3e8f6c8a28a74baf45c87f6e96 wf111-linux-driver_5.2.2-r4_armv5te.tar.gz +sha256 37983d73f60bab9768eb02a89695448f27cd1964e23cf462e76657344a9c67ac wf111-linux-driver-5-2-2-r3-x86.tar.gz diff --git a/bsp/buildroot/package/wf111/wf111.mk b/bsp/buildroot/package/wf111/wf111.mk index 72526333..fd9cb196 100644 --- a/bsp/buildroot/package/wf111/wf111.mk +++ b/bsp/buildroot/package/wf111/wf111.mk @@ -4,14 +4,19 @@ # ################################################################################ +ifeq ($(BR2_ARM_CPU_ARMV7A)$(BR2_ARM_CPU_ARMV5),y) +WF111_VERSION = 5.2.2-r4 +else WF111_VERSION = 5-2-2-r3 +endif + WF111_SITE = https://www.silabs.com/documents/login/software WF111_DEPENDENCIES = linux ifeq ($(BR2_ARM_CPU_ARMV7A),y) -WF111_SOURCE = wf111-linux-driver-$(WF111_VERSION)-armv7-a.tar.gz +WF111_SOURCE = wf111-linux-driver_$(WF111_VERSION)_armv7-a.tar.gz else ifeq ($(BR2_ARM_CPU_ARMV5),y) -WF111_SOURCE = wf111-linux-driver-$(WF111_VERSION)-armv5te.tar.gz +WF111_SOURCE = wf111-linux-driver_$(WF111_VERSION)_armv5te.tar.gz else ifeq ($(BR2_i386),y) WF111_SOURCE = wf111-linux-driver-$(WF111_VERSION)-x86.tar.gz endif diff --git a/bsp/buildroot/package/wget/wget.hash b/bsp/buildroot/package/wget/wget.hash index eee4a519..7d1a1c55 100644 --- a/bsp/buildroot/package/wget/wget.hash +++ b/bsp/buildroot/package/wget/wget.hash @@ -1,5 +1,6 @@ # Locally calculated after checking pgp signature -# https://ftp.gnu.org/gnu/wget/wget-1.19.5.tar.lz.sig -sha256 29fbe6f3d5408430c572a63fe32bd43d5860f32691173dfd84edc06869edca75 wget-1.19.5.tar.lz +# https://ftp.gnu.org/gnu/wget/wget-1.20.1.tar.lz.sig +# with key 1CB27DBC98614B2D5841646D08302DB6A2670428 +sha256 0f63e84dd23dc53ab3ab6f483c3afff8301e54c165783f772101cdd9b1c64928 wget-1.20.1.tar.lz # Locally calculated sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b COPYING diff --git a/bsp/buildroot/package/wget/wget.mk b/bsp/buildroot/package/wget/wget.mk index 72a73cce..5cdecbcc 100644 --- a/bsp/buildroot/package/wget/wget.mk +++ b/bsp/buildroot/package/wget/wget.mk @@ -4,18 +4,13 @@ # ################################################################################ -WGET_VERSION = 1.19.5 +WGET_VERSION = 1.20.1 WGET_SOURCE = wget-$(WGET_VERSION).tar.lz WGET_SITE = $(BR2_GNU_MIRROR)/wget WGET_DEPENDENCIES = host-pkgconf WGET_LICENSE = GPL-3.0+ WGET_LICENSE_FILES = COPYING -# Prefer full-blown wget over busybox -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -WGET_DEPENDENCIES += busybox -endif - ifeq ($(BR2_PACKAGE_GNUTLS),y) WGET_CONF_OPTS += --with-ssl=gnutls WGET_DEPENDENCIES += gnutls @@ -26,6 +21,13 @@ else WGET_CONF_OPTS += --without-ssl endif +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +WGET_CONF_OPTS += --with-libidn +WGET_DEPENDENCIES += libidn2 +else +WGET_CONF_OPTS += --without-libidn +endif + ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) WGET_DEPENDENCIES += util-linux endif @@ -37,4 +39,14 @@ else WGET_CONF_OPTS += --without-zlib endif +ifeq ($(BR2_PACKAGE_PCRE2),y) +WGET_CONF_OPTS += --disable-pcre --enable-pcre2 +WGET_DEPENDENCIES += pcre2 +else ifeq ($(BR2_PACKAGE_PCRE),y) +WGET_CONF_OPTS += --enable-pcre --disable-pcre2 +WGET_DEPENDENCIES += pcre +else +WGET_CONF_OPTS += --disable-pcre --disable-pcre2 +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/whetstone/whetstone.mk b/bsp/buildroot/package/whetstone/whetstone.mk index d9b45638..3b6ec341 100644 --- a/bsp/buildroot/package/whetstone/whetstone.mk +++ b/bsp/buildroot/package/whetstone/whetstone.mk @@ -9,7 +9,7 @@ WHETSTONE_SOURCE = whetstone.c WHETSTONE_SITE = http://www.netlib.org/benchmark define WHETSTONE_EXTRACT_CMDS - cp $(DL_DIR)/$($(PKG)_SOURCE) $(@D)/ + cp $(WHETSTONE_DL_DIR)/$($(PKG)_SOURCE) $(@D)/ endef define WHETSTONE_BUILD_CMDS diff --git a/bsp/buildroot/package/whois/whois.hash b/bsp/buildroot/package/whois/whois.hash index 29623b52..41ef935c 100644 --- a/bsp/buildroot/package/whois/whois.hash +++ b/bsp/buildroot/package/whois/whois.hash @@ -1,2 +1,5 @@ -# From http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois/whois_5.2.17.dsc -sha256 257585678f571e18964667b41dc6543fe9da6123ac95743660c9c3ae1eba9664 whois_5.2.17.tar.xz +# From http://snapshot.debian.org/archive/debian/20181026T220636Z/pool/main/w/whois/whois_5.4.0.dsc +sha256 3775ae0cfaa6dd8d886e5233c4826225cddcb88c99c2a08130d14e15fe58e378 whois_5.4.0.tar.xz + +# Hash for license file: +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/whois/whois.mk b/bsp/buildroot/package/whois/whois.mk index 22117cf3..712ad911 100644 --- a/bsp/buildroot/package/whois/whois.mk +++ b/bsp/buildroot/package/whois/whois.mk @@ -4,11 +4,10 @@ # ################################################################################ -WHOIS_VERSION = 5.2.17 -WHOIS_SITE = http://snapshot.debian.org/archive/debian/20170727T214450Z/pool/main/w/whois +WHOIS_VERSION = 5.4.0 +WHOIS_SITE = http://snapshot.debian.org/archive/debian/20181026T220636Z/pool/main/w/whois WHOIS_SOURCE = whois_$(WHOIS_VERSION).tar.xz -# take precedence over busybox implementation -WHOIS_DEPENDENCIES = $(if $(BR2_PACKAGE_BUSYBOX),busybox) $(TARGET_NLS_DEPENDENCIES) +WHOIS_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) WHOIS_MAKE_ENV = $(TARGET_MAKE_ENV) WHOIS_MAKE_OPTS = CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" \ LIBS="$(WHOIS_EXTRA_LIBS)" @@ -22,9 +21,9 @@ WHOIS_EXTRA_LIBS += -liconv WHOIS_MAKE_ENV += HAVE_ICONV=1 endif -ifeq ($(BR2_PACKAGE_LIBIDN),y) -WHOIS_DEPENDENCIES += libidn -WHOIS_MAKE_ENV += HAVE_LIBIDN=1 +ifeq ($(BR2_PACKAGE_LIBIDN2),y) +WHOIS_DEPENDENCIES += libidn2 +WHOIS_MAKE_ENV += HAVE_LIBIDN2=1 endif ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) diff --git a/bsp/buildroot/package/wilc1000-firmware/wilc1000-firmware.mk b/bsp/buildroot/package/wilc1000-firmware/wilc1000-firmware.mk index 5dcf1904..6f504d67 100644 --- a/bsp/buildroot/package/wilc1000-firmware/wilc1000-firmware.mk +++ b/bsp/buildroot/package/wilc1000-firmware/wilc1000-firmware.mk @@ -11,7 +11,7 @@ WILC1000_FIRMWARE_SOURCE = v$(WILC1000_FIRMWARE_VERSION)_Firmware.zip WILC1000_FIRMWARE_LICENSE = PROPRIETARY define WILC1000_FIRMWARE_EXTRACT_CMDS - $(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(WILC1000_FIRMWARE_SOURCE) + $(UNZIP) -d $(BUILD_DIR) $(WILC1000_FIRMWARE_DL_DIR)/$(WILC1000_FIRMWARE_SOURCE) mv $(BUILD_DIR)/wireless-firmware-$(WILC1000_FIRMWARE_VERSION)_Firmware/* $(@D) rmdir $(BUILD_DIR)/wireless-firmware-$(WILC1000_FIRMWARE_VERSION)_Firmware endef diff --git a/bsp/buildroot/package/wine/Config.in b/bsp/buildroot/package/wine/Config.in index c6742884..9de8cf0f 100644 --- a/bsp/buildroot/package/wine/Config.in +++ b/bsp/buildroot/package/wine/Config.in @@ -1,12 +1,18 @@ -config BR2_PACKAGE_WINE - bool "wine" - depends on BR2_TOOLCHAIN_USES_GLIBC +config BR2_PACKAGE_WINE_ARCH_SUPPORTS + bool + default y # Wine only builds on certain architectures depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" || \ BR2_HOSTARCH = "powerpc" || BR2_HOSTARCH = "arm" || \ BR2_HOSTARCH = "aarch64" # Wine has much CPU specific code and mostly makes sense on x86 depends on BR2_i386 + +config BR2_PACKAGE_WINE + bool "wine" + depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS + # Wine unconditionally builds shared libraries + depends on !BR2_STATIC_LIBS help Wine is a compatibility layer capable of running Windows applications on Linux. Instead of simulating internal @@ -17,7 +23,6 @@ config BR2_PACKAGE_WINE http://www.winehq.org -comment "wine needs a glibc toolchain" - depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" - depends on BR2_i386 - depends on !BR2_TOOLCHAIN_USES_GLIBC +comment "wine needs a toolchain w/ dynamic library" + depends on BR2_PACKAGE_WINE_ARCH_SUPPORTS + depends on BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/wine/wine.hash b/bsp/buildroot/package/wine/wine.hash index 176e0ee6..ba007142 100644 --- a/bsp/buildroot/package/wine/wine.hash +++ b/bsp/buildroot/package/wine/wine.hash @@ -1,2 +1,2 @@ # Locally calculated after checking pgp signature -sha256 346a050aca5cd0d9978a655af11c30e68c201a58aea0c70d5e4c4f1b63c2fbec wine-3.0.tar.xz +sha256 d45a88edbe7db363e297cacedc94e66df3464504a01c2eccf04f518066a6fb0c wine-3.0.4.tar.xz diff --git a/bsp/buildroot/package/wine/wine.mk b/bsp/buildroot/package/wine/wine.mk index 02c4c0f1..7e44e3c8 100644 --- a/bsp/buildroot/package/wine/wine.mk +++ b/bsp/buildroot/package/wine/wine.mk @@ -4,12 +4,13 @@ # ################################################################################ -WINE_VERSION = 3.0 +WINE_VERSION = 3.0.4 WINE_SOURCE = wine-$(WINE_VERSION).tar.xz WINE_SITE = https://dl.winehq.org/wine/source/3.0 WINE_LICENSE = LGPL-2.1+ WINE_LICENSE_FILES = COPYING.LIB LICENSE WINE_DEPENDENCIES = host-bison host-flex host-wine +HOST_WINE_DEPENDENCIES = host-bison host-flex # Wine needs its own directory structure and tools for cross compiling WINE_CONF_OPTS = \ @@ -23,7 +24,6 @@ WINE_CONF_OPTS = \ --without-gphoto \ --without-gsm \ --without-hal \ - --without-krb5 \ --without-opencl \ --without-oss @@ -121,6 +121,13 @@ else WINE_CONF_OPTS += --without-glu endif +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +WINE_CONF_OPTS += --with-krb5 +WINE_DEPENDENCIES += libkrb5 +else +WINE_CONF_OPTS += --without-krb5 +endif + ifeq ($(BR2_PACKAGE_LIBPCAP),y) WINE_CONF_OPTS += --with-pcap WINE_DEPENDENCIES += libpcap @@ -300,8 +307,12 @@ WINE_CONF_OPTS += --without-zlib endif # host-gettext is essential for .po file support in host-wine wrc +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) HOST_WINE_DEPENDENCIES += host-gettext HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo +else +HOST_WINE_CONF_OPTS += --without-gettext --without-gettextpo +endif # Wine needs to enable 64-bit build tools on 64-bit host ifeq ($(HOSTARCH),x86_64) diff --git a/bsp/buildroot/package/wireguard/wireguard.hash b/bsp/buildroot/package/wireguard/wireguard.hash index fe6439fb..70558de7 100644 --- a/bsp/buildroot/package/wireguard/wireguard.hash +++ b/bsp/buildroot/package/wireguard/wireguard.hash @@ -1,4 +1,4 @@ -# From https://lists.zx2c4.com/pipermail/wireguard/2018-September/003395.html -sha256 4a0488a07e40ec17e798f3e40a85cedf55f0560b1c3a8fd95806c7d4266cb0e8 WireGuard-0.0.20180925.tar.xz +# https://lists.zx2c4.com/pipermail/wireguard/2019-January/003805.html +sha256 edd13c7631af169e3838621b1a1bff3ef73cf7bc778eec2bd55f7c1089ffdf9b WireGuard-0.0.20190123.tar.xz # Locally calculated sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/wireguard/wireguard.mk b/bsp/buildroot/package/wireguard/wireguard.mk index faddbf93..8d6cdb8e 100644 --- a/bsp/buildroot/package/wireguard/wireguard.mk +++ b/bsp/buildroot/package/wireguard/wireguard.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIREGUARD_VERSION = 0.0.20180925 +WIREGUARD_VERSION = 0.0.20190123 WIREGUARD_SITE = https://git.zx2c4.com/WireGuard/snapshot WIREGUARD_SOURCE = WireGuard-$(WIREGUARD_VERSION).tar.xz WIREGUARD_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/wireless-regdb/Config.in b/bsp/buildroot/package/wireless-regdb/Config.in index 0c9896de..17350a41 100644 --- a/bsp/buildroot/package/wireless-regdb/Config.in +++ b/bsp/buildroot/package/wireless-regdb/Config.in @@ -3,7 +3,12 @@ config BR2_PACKAGE_WIRELESS_REGDB help Wireless regulatory database. - Wireless regulatory database for CRDA. The database lists the + Wireless regulatory database. The database lists the allowed radio frequencies for each local jurisdiction. + Since linux-4.15 the kernel supports loading the files + regulatory.db/regulatory.db.p7s directly from the + /lib/firmware directory, for earlier versions the crda helper + application is needed. + https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb diff --git a/bsp/buildroot/package/wireless-regdb/wireless-regdb.hash b/bsp/buildroot/package/wireless-regdb/wireless-regdb.hash index 65ae735c..aa035d0e 100644 --- a/bsp/buildroot/package/wireless-regdb/wireless-regdb.hash +++ b/bsp/buildroot/package/wireless-regdb/wireless-regdb.hash @@ -1,4 +1,4 @@ # From https://www.kernel.org/pub/software/network/wireless-regdb/sha256sums.asc -sha256 e1dfbc3b97771373077f430c3c05082fae883145b37db5b2cfd12c56676fbe7b wireless-regdb-2018.05.31.tar.xz +sha256 a36b8147f1a3e98e1fd44321a4b8d7ad2f03cac98cdf527ccb1693342f08d65a wireless-regdb-2018.09.07.tar.xz # Locally computed sha256 678b0df753c86198fc496d1f1033429bbd57f101472132ee7eaaf9f5e0a7fae1 LICENSE diff --git a/bsp/buildroot/package/wireless-regdb/wireless-regdb.mk b/bsp/buildroot/package/wireless-regdb/wireless-regdb.mk index 829374ed..c509c7c7 100644 --- a/bsp/buildroot/package/wireless-regdb/wireless-regdb.mk +++ b/bsp/buildroot/package/wireless-regdb/wireless-regdb.mk @@ -4,17 +4,23 @@ # ################################################################################ -WIRELESS_REGDB_VERSION = 2018.05.31 +WIRELESS_REGDB_VERSION = 2018.09.07 WIRELESS_REGDB_SOURCE = wireless-regdb-$(WIRELESS_REGDB_VERSION).tar.xz -WIRELESS_REGDB_SITE = http://kernel.org/pub/software/network/wireless-regdb +WIRELESS_REGDB_SITE = $(BR2_KERNEL_MIRROR)/software/network/wireless-regdb WIRELESS_REGDB_LICENSE = ISC WIRELESS_REGDB_LICENSE_FILES = LICENSE -define WIRELESS_REGDB_INSTALL_TARGET_CMDS +ifeq ($(BR2_PACKAGE_CRDA),y) +define WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS $(INSTALL) -m 644 -D -T $(@D)/regulatory.bin \ $(TARGET_DIR)/usr/lib/crda/regulatory.bin $(INSTALL) -m 644 -D -T $(@D)/sforshee.key.pub.pem \ $(TARGET_DIR)/etc/wireless-regdb/pubkeys/sforshee.key.pub.pem +endef +endif + +define WIRELESS_REGDB_INSTALL_TARGET_CMDS + $(WIRELESS_REGDB_INSTALL_CRDA_TARGET_CMDS) $(INSTALL) -m 644 -D -T $(@D)/regulatory.db \ $(TARGET_DIR)/lib/firmware/regulatory.db $(INSTALL) -m 644 -D -T $(@D)/regulatory.db.p7s \ diff --git a/bsp/buildroot/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch b/bsp/buildroot/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch deleted file mode 100644 index 1e44ad09..00000000 --- a/bsp/buildroot/package/wireshark/0001-configure.ac-do-not-assume-broken-inet_pton-in-case-.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 25d313275e87dc236e86c0e713cad08ea64253f8 Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Thu, 8 Sep 2016 10:58:34 +0100 -Subject: [PATCH] configure.ac: do not assume broken inet_pton in case of cross - compiling - -Patch configure.ac to not assume broken inet_pton in case of cross -compiling. - -[Vincent: adapt the patch for 2.2.0] - -Signed-off-by: Peter Seiderer -Signed-off-by: Vicente Olivert Riera ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c43e366..9672831 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2373,8 +2373,8 @@ int main() - #endif - }], [AC_MSG_RESULT(ok); - have_inet_pton=yes], [AC_MSG_RESULT(broken); --have_inet_pton=no], [AC_MSG_RESULT([cross compiling, assume it is broken]); --have_inet_pton=no])], -+have_inet_pton=no], [AC_MSG_RESULT([cross compiling, assume it is broken... not here]); -+have_inet_pton=yes])], - have_inet_pton=no) - if test "$have_inet_pton" = no; then - AC_LIBOBJ(inet_pton) --- -2.7.3 - diff --git a/bsp/buildroot/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch b/bsp/buildroot/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch deleted file mode 100644 index ae119801..00000000 --- a/bsp/buildroot/package/wireshark/0002-androiddump-add-missing-sys-time.h-header.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1ab938e762ee6ebd3211c22ef25a7575e37791c4 Mon Sep 17 00:00:00 2001 -From: Baruch Siach -Date: Thu, 29 Dec 2016 20:16:53 +0200 -Subject: [PATCH] androiddump: add missing sys/time.h header - -struct timeval requires sys/time.h. Fixes the following musl libc build error: - -androiddump.c: In function 'useSndTimeout': -androiddump.c:262:18: error: variable 'socket_timeout' has initializer but incomplete type - const struct timeval socket_timeout = { - ^ - -Change-Id: I52e204f32a012aabea2e54877e564576c072fe08 -Signed-off-by: Baruch Siach ---- -Upstream status: https://code.wireshark.org/review/19460 ---- - extcap/androiddump.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/extcap/androiddump.c b/extcap/androiddump.c -index 8287c4bb1a76..fab7c10e05cc 100644 ---- a/extcap/androiddump.c -+++ b/extcap/androiddump.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - #ifdef HAVE_NETINET_IN_H - # include --- -2.11.0 - diff --git a/bsp/buildroot/package/wireshark/Config.in b/bsp/buildroot/package/wireshark/Config.in index 4d5a2157..0cf14f2f 100644 --- a/bsp/buildroot/package/wireshark/Config.in +++ b/bsp/buildroot/package/wireshark/Config.in @@ -1,9 +1,11 @@ config BR2_PACKAGE_WIRESHARK bool "wireshark" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -> libgpg-error depends on BR2_USE_MMU # fork(), glib2 depends on BR2_USE_WCHAR # glib2 depends on BR2_TOOLCHAIN_HAS_THREADS # glib2 select BR2_PACKAGE_LIBPCAP + select BR2_PACKAGE_LIBGCRYPT select BR2_PACKAGE_LIBGLIB2 help Network traffic sniffer and protocol decoder. @@ -28,5 +30,6 @@ config BR2_PACKAGE_WIRESHARK_GUI endif # BR2_PACKAGE_WIRESHARK comment "wireshark needs a toolchain w/ wchar, threads" + depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS depends on BR2_USE_MMU depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/wireshark/wireshark.hash b/bsp/buildroot/package/wireshark/wireshark.hash index 8b2d7bc9..bad0a0fd 100644 --- a/bsp/buildroot/package/wireshark/wireshark.hash +++ b/bsp/buildroot/package/wireshark/wireshark.hash @@ -1,4 +1,4 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.17.txt -sha256 923d39ff9c6df83b9594868542061da33bf330e12526778a8cb3adcf912eebb0 wireshark-2.2.17.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.6.6.txt +sha256 487933ea075bdbb25d8df06017d9c4f49fc20eb7f6ec80af086718ed5550e863 wireshark-2.6.6.tar.xz # Locally calculated sha256 7cdbed2b697efaa45576a033f1ac0e73cd045644a91c79bbf41d4a7d81dac7bf COPYING diff --git a/bsp/buildroot/package/wireshark/wireshark.mk b/bsp/buildroot/package/wireshark/wireshark.mk index fb90f2b9..c0123882 100644 --- a/bsp/buildroot/package/wireshark/wireshark.mk +++ b/bsp/buildroot/package/wireshark/wireshark.mk @@ -4,27 +4,21 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.17 -WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 +WIRESHARK_VERSION = 2.6.6 +WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.xz WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license WIRESHARK_LICENSE_FILES = COPYING -WIRESHARK_DEPENDENCIES = host-pkgconf libpcap libglib2 +WIRESHARK_DEPENDENCIES = host-pkgconf libgcrypt libpcap libglib2 WIRESHARK_CONF_ENV = \ + LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config \ PCAP_CONFIG=$(STAGING_DIR)/usr/bin/pcap-config -# patch touching configure.ac -WIRESHARK_AUTORECONF = YES - -# wireshark adds -I$includedir to CFLAGS, causing host/target headers mixup. -# Work around it by pointing includedir at staging WIRESHARK_CONF_OPTS = \ - --without-krb5 \ + --disable-guides \ --enable-static=no \ --with-libsmi=no \ - --with-lua=no \ - --with-pcap=$(STAGING_DIR)/usr \ - --includedir=$(STAGING_DIR)/usr/include + --with-pcap=yes # wireshark GUI options ifeq ($(BR2_PACKAGE_LIBGTK3),y) @@ -56,6 +50,13 @@ ifeq ($(BR2_PACKAGE_WIRESHARK_GUI),) WIRESHARK_CONF_OPTS += --disable-wireshark endif +ifeq ($(BR2_PACKAGE_BCG729),y) +WIRESHARK_CONF_OPTS += --with-bcg729=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += bcg729 +else +WIRESHARK_CONF_OPTS += --without-bcg729 +endif + ifeq ($(BR2_PACKAGE_C_ARES),y) WIRESHARK_CONF_OPTS += --with-c-ares=$(STAGING_DIR)/usr WIRESHARK_DEPENDENCIES += c-ares @@ -63,13 +64,6 @@ else WIRESHARK_CONF_OPTS += --without-c-ares endif -ifeq ($(BR2_PACKAGE_GEOIP),y) -WIRESHARK_CONF_OPTS += --with-geoip=$(STAGING_DIR)/usr -WIRESHARK_DEPENDENCIES += geoip -else -WIRESHARK_CONF_OPTS += --without-geoip -endif - ifeq ($(BR2_PACKAGE_GNUTLS),y) WIRESHARK_CONF_OPTS += --with-gnutls=yes WIRESHARK_DEPENDENCIES += gnutls @@ -77,12 +71,18 @@ else WIRESHARK_CONF_OPTS += --with-gnutls=no endif -ifeq ($(BR2_PACKAGE_LIBGCRYPT),y) -WIRESHARK_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config -WIRESHARK_CONF_OPTS += --with-gcrypt=yes -WIRESHARK_DEPENDENCIES += libgcrypt +ifeq ($(BR2_PACKAGE_LIBKRB5),y) +WIRESHARK_CONF_OPTS += --with-krb5=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += libkrb5 else -WIRESHARK_CONF_OPTS += --with-gcrypt=no +WIRESHARK_CONF_OPTS += --without-krb5 +endif + +ifeq ($(BR2_PACKAGE_LIBMAXMINDDB),y) +WIRESHARK_CONF_OPTS += --with-maxminddb=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += libmaxminddb +else +WIRESHARK_CONF_OPTS += --without-maxminddb endif ifeq ($(BR2_PACKAGE_LIBNL),y) @@ -92,6 +92,42 @@ else WIRESHARK_CONF_OPTS += --without-libnl endif +ifeq ($(BR2_PACKAGE_LIBSSH),y) +WIRESHARK_CONF_OPTS += --with-libssh=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += libssh +else +WIRESHARK_CONF_OPTS += --without-libssh +endif + +ifeq ($(BR2_PACKAGE_LIBXML2),y) +WIRESHARK_CONF_OPTS += --with-libxml2 +WIRESHARK_DEPENDENCIES += libxml2 +else +WIRESHARK_CONF_OPTS += --without-libxml2 +endif + +# no support for lua53 yet +ifeq ($(BR2_PACKAGE_LUA_5_1),y) +WIRESHARK_CONF_OPTS += --with-lua +WIRESHARK_DEPENDENCIES += lua +else +WIRESHARK_CONF_OPTS += --without-lua +endif + +ifeq ($(BR2_PACKAGE_LZ4),y) +WIRESHARK_CONF_OPTS += --with-lz4=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += lz4 +else +WIRESHARK_CONF_OPTS += --without-lz4 +endif + +ifeq ($(BR2_PACKAGE_NGHTTP2),y) +WIRESHARK_CONF_OPTS += --with-nghttp2=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += nghttp2 +else +WIRESHARK_CONF_OPTS += --without-nghttp2 +endif + ifeq ($(BR2_PACKAGE_SBC),y) WIRESHARK_CONF_OPTS += --with-sbc=yes WIRESHARK_DEPENDENCIES += sbc @@ -99,6 +135,16 @@ else WIRESHARK_CONF_OPTS += --with-sbc=no endif +ifeq ($(BR2_PACKAGE_SNAPPY),y) +WIRESHARK_CONF_OPTS += --with-snappy=$(STAGING_DIR)/usr +WIRESHARK_DEPENDENCIES += snappy +ifeq ($(BR2_STATIC_LIBS),y) +WIRESHARK_CONF_ENV += LIBS=-lstdc++ +endif +else +WIRESHARK_CONF_OPTS += --without-snappy +endif + define WIRESHARK_REMOVE_DOCS find $(TARGET_DIR)/usr/share/wireshark -name '*.txt' -print0 \ -o -name '*.html' -print0 | xargs -0 rm -f diff --git a/bsp/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch b/bsp/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch index 520555c8..2f4f0c1f 100644 --- a/bsp/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch +++ b/bsp/buildroot/package/wiringpi/0001-Adjust-for-buildroot-build.patch @@ -12,6 +12,10 @@ Subject: [PATCH] Adjust for buildroot build. - add gpio-static linking target Signed-off-by: Peter Seiderer + + - Rebased for wiringpi-8d188fa0e00bb8c6ff6eddd07bf92857e9bd533a + +Signed-off-by: Atanas Palavrov --- devLib/Makefile | 9 +++++---- gpio/Makefile | 14 +++++++++----- @@ -54,7 +58,7 @@ index cf665d6..3fb41e8 100644 .PHONY: install-static diff --git a/gpio/Makefile b/gpio/Makefile -index f41a005..7095fa5 100644 +index 9ec160d..360d64c 100644 --- a/gpio/Makefile +++ b/gpio/Makefile @@ -32,11 +32,11 @@ endif @@ -89,7 +93,7 @@ index f41a005..7095fa5 100644 $Q echo [Compile] $< $Q $(CC) -c $(CFLAGS) $< -o $@ diff --git a/wiringPi/Makefile b/wiringPi/Makefile -index e1868b9..68c950e 100644 +index 287fa58..81595d3 100644 --- a/wiringPi/Makefile +++ b/wiringPi/Makefile @@ -36,10 +36,10 @@ DYNAMIC=libwiringPi.so.$(VERSION) @@ -102,10 +106,10 @@ index e1868b9..68c950e 100644 DEFS = -D_GNU_SOURCE -CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC +CFLAGS += $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC + #CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Wconversion -Winline $(INCLUDE) -pipe -fPIC LIBS = -lm -lpthread -lrt -lcrypt - -@@ -79,6 +79,7 @@ $(STATIC): $(OBJ) +@@ -76,6 +76,7 @@ static: $(DYNAMIC): $(OBJ) $Q echo "[Link (Dynamic)]" $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ) @@ -113,7 +117,7 @@ index e1868b9..68c950e 100644 .c.o: $Q echo [Compile] $< -@@ -104,7 +105,7 @@ install: $(DYNAMIC) +@@ -101,7 +102,7 @@ install: $(DYNAMIC) $Q echo "[Install Dynamic Lib]" $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) @@ -121,7 +125,7 @@ index e1868b9..68c950e 100644 + $Q ln -sf libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so $Q $(LDCONFIG) - .PHONY: install-static + .PHONY: install-deb -- 2.11.0 diff --git a/bsp/buildroot/package/wiringpi/Config.in b/bsp/buildroot/package/wiringpi/Config.in index 2062a620..92f5dc65 100644 --- a/bsp/buildroot/package/wiringpi/Config.in +++ b/bsp/buildroot/package/wiringpi/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_WIRINGPI bool "wiringpi" + depends on !BR2_STATIC_LIBS depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS help @@ -7,6 +8,6 @@ config BR2_PACKAGE_WIRINGPI http://wiringpi.com/ -comment "wiringpi needs a toolchain w/ threads" +comment "wiringpi needs a toolchain w/ threads, dynamic library" depends on BR2_USE_MMU - depends on !BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/bsp/buildroot/package/wiringpi/wiringpi.hash b/bsp/buildroot/package/wiringpi/wiringpi.hash index f4832e5f..9c4fe22f 100644 --- a/bsp/buildroot/package/wiringpi/wiringpi.hash +++ b/bsp/buildroot/package/wiringpi/wiringpi.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 4eae1d4f37f77534b1e2db4678a1003a5fd7ced4721c340527e3476d0bed1d9f wiringpi-96344ff7125182989f98d3be8d111952a8f74e15.tar.gz +sha256 2455fc97d2b60ed169675dccbaabf55e1958c3c2499b246c96edfc8b036e9073 wiringpi-2.46.tar.gz diff --git a/bsp/buildroot/package/wiringpi/wiringpi.mk b/bsp/buildroot/package/wiringpi/wiringpi.mk index f2e9e246..0c377491 100644 --- a/bsp/buildroot/package/wiringpi/wiringpi.mk +++ b/bsp/buildroot/package/wiringpi/wiringpi.mk @@ -4,42 +4,27 @@ # ################################################################################ -# using git commit id instead of (wrong) 2.44 git tag (Bug 10391) -WIRINGPI_VERSION = 96344ff7125182989f98d3be8d111952a8f74e15 +WIRINGPI_VERSION = 2.46 WIRINGPI_SITE = git://git.drogon.net/wiringPi WIRINGPI_LICENSE = LGPL-3.0+ WIRINGPI_LICENSE_FILES = COPYING.LESSER WIRINGPI_INSTALL_STAGING = YES -ifeq ($(BR2_STATIC_LIBS),y) -WIRINGPI_LIB_BUILD_TARGETS = static -WIRINGPI_LIB_INSTALL_TARGETS = install-static -WIRINGPI_BIN_BUILD_TARGETS = gpio-static -else ifeq ($(BR2_SHARED_LIBS),y) -WIRINGPI_LIB_BUILD_TARGETS = all -WIRINGPI_LIB_INSTALL_TARGETS = install -WIRINGPI_BIN_BUILD_TARGETS = all -else -WIRINGPI_LIB_BUILD_TARGETS = all static -WIRINGPI_LIB_INSTALL_TARGETS = install install-static -WIRINGPI_BIN_BUILD_TARGETS = all -endif - define WIRINGPI_BUILD_CMDS - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/wiringPi $(WIRINGPI_LIB_BUILD_TARGETS) - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/devLib $(WIRINGPI_LIB_BUILD_TARGETS) - $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/gpio $(WIRINGPI_BIN_BUILD_TARGETS) + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/wiringPi all + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/devLib all + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/gpio all endef define WIRINGPI_INSTALL_STAGING_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/wiringPi $(WIRINGPI_LIB_INSTALL_TARGETS) DESTDIR=$(STAGING_DIR) PREFIX=/usr LDCONFIG=true - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/devLib $(WIRINGPI_LIB_INSTALL_TARGETS) DESTDIR=$(STAGING_DIR) PREFIX=/usr LDCONFIG=true + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/wiringPi install DESTDIR=$(STAGING_DIR) PREFIX=/usr LDCONFIG=true + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/devLib install DESTDIR=$(STAGING_DIR) PREFIX=/usr LDCONFIG=true endef define WIRINGPI_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/wiringPi $(WIRINGPI_LIB_INSTALL_TARGETS) DESTDIR=$(TARGET_DIR) PREFIX=/usr LDCONFIG=true - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/devLib $(WIRINGPI_LIB_INSTALL_TARGETS) DESTDIR=$(TARGET_DIR) PREFIX=/usr LDCONFIG=true + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/wiringPi install DESTDIR=$(TARGET_DIR) PREFIX=/usr LDCONFIG=true + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/devLib install DESTDIR=$(TARGET_DIR) PREFIX=/usr LDCONFIG=true $(INSTALL) -D -m 0755 $(@D)/gpio/gpio $(TARGET_DIR)/usr/bin/gpio $(INSTALL) -D -m 0755 $(@D)/gpio/pintest $(TARGET_DIR)/usr/bin/pintest endef diff --git a/bsp/buildroot/package/woff2/woff2.mk b/bsp/buildroot/package/woff2/woff2.mk index 2f0206c8..b2ff33fe 100644 --- a/bsp/buildroot/package/woff2/woff2.mk +++ b/bsp/buildroot/package/woff2/woff2.mk @@ -21,10 +21,4 @@ ifneq ($(BR2_SHARED_LIBS),y) WOFF2_CONF_OPTS += -DCMAKE_SKIP_RPATH=ON endif -# Internal error, aborting at dw2gencfi.c:215 in emit_expr_encoded -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79509 -ifeq ($(BR2_m68k_cf),y) -WOFF2_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -fno-dwarf2-cfi-asm" -endif - $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/wolfssl/wolfssl.hash b/bsp/buildroot/package/wolfssl/wolfssl.hash index 204f2f09..1ff9fc61 100644 --- a/bsp/buildroot/package/wolfssl/wolfssl.hash +++ b/bsp/buildroot/package/wolfssl/wolfssl.hash @@ -1,5 +1,5 @@ # Locally computed: -sha256 3bafeb0cb7eaff80002ba3f7cbb70023757bcc35fc4d82181945b143f1f927c6 v3.13.0-stable.tar.gz +sha256 70e4fbeb91284a269b25a84fc526755c670475aee4034a6f237b1f754d108af3 v3.15.7-stable.tar.gz # Hash for license files: sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/wolfssl/wolfssl.mk b/bsp/buildroot/package/wolfssl/wolfssl.mk index 84073f33..42198cb8 100644 --- a/bsp/buildroot/package/wolfssl/wolfssl.mk +++ b/bsp/buildroot/package/wolfssl/wolfssl.mk @@ -4,9 +4,10 @@ # ################################################################################ -WOLFSSL_VERSION = 3.13.0 +WOLFSSL_VERSION = 3.15.7 WOLFSSL_SITE = https://github.com/wolfSSL/wolfssl/archive WOLFSSL_SOURCE = v$(WOLFSSL_VERSION)-stable.tar.gz +WOLFSSL_INSTALL_STAGING = YES WOLFSSL_LICENSE = GPL-2.0 WOLFSSL_LICENSE_FILES = COPYING LICENSING @@ -29,7 +30,17 @@ else WOLFSSL_CONF_OPTS += --disable-sslv3 endif -# build fails when ARMv8 hardware acceleration is enabled +# enable ARMv8 hardware acceleration +ifeq ($(BR2_ARM_CPU_ARMV8A),y) +WOLFSSL_CONF_OPTS += --enable-armasm +# the flag -mstrict-align is needed to prevent build errors caused by +# some inline assembly in parts of the AES structure using the "m" +# constraint +ifeq ($(BR2_aarch64),y) +WOLFSSL_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -mstrict-align" +endif +else WOLFSSL_CONF_OPTS += --disable-armasm +endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch b/bsp/buildroot/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch new file mode 100644 index 00000000..eb00d9c1 --- /dev/null +++ b/bsp/buildroot/package/wpa_supplicant/0001-wpa_supplicant-2.7-fix-undefined-remove-ie.patch @@ -0,0 +1,43 @@ +From f2973fa39d6109f0f34969e91551a98dc340d537 Mon Sep 17 00:00:00 2001 +From: Jouni Malinen +Date: Mon, 3 Dec 2018 12:00:26 +0200 +Subject: FT: Fix CONFIG_IEEE80211X=y build without CONFIG_FILS=y + +remove_ie() was defined within an ifdef CONFIG_FILS block while it is +now needed even without CONFIG_FILS=y. Remove the CONFIG_FILS condition +there. + +Fixes 8c41734e5de1 ("FT: Fix Reassociation Request IEs during FT protocol") +Signed-off-by: Jouni Malinen + +Downloaded from upstream commit +http://w1.fi/cgit/hostap/commit/?id=f2973fa39d6109f0f34969e91551a98dc340d537 + +Signed-off-by: Bernd Kuhls +--- + wpa_supplicant/sme.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c +index 39c8069..f77f751 100644 +--- a/wpa_supplicant/sme.c ++++ b/wpa_supplicant/sme.c +@@ -1386,7 +1386,6 @@ void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data) + } + + +-#ifdef CONFIG_FILS + #ifdef CONFIG_IEEE80211R + static void remove_ie(u8 *buf, size_t *len, u8 eid) + { +@@ -1401,7 +1400,6 @@ static void remove_ie(u8 *buf, size_t *len, u8 eid) + } + } + #endif /* CONFIG_IEEE80211R */ +-#endif /* CONFIG_FILS */ + + + void sme_associate(struct wpa_supplicant *wpa_s, enum wpas_mode mode, +-- +cgit v0.12 + diff --git a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash index dbc44382..5b5d5fca 100644 --- a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash +++ b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.hash @@ -1,11 +1,3 @@ # Locally calculated -sha256 b4936d34c4e6cdd44954beba74296d964bc2c9668ecaa5255e499636fe2b1450 wpa_supplicant-2.6.tar.gz -sha256 529113cc81256c6178f3c1cf25dd8d3f33e6d770e4a180bd31c6ab7e4917f40b rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch -sha256 d86d47ab74170f3648b45b91bce780949ca92b09ab43df065178850ec0c335d7 rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch -sha256 d4535e36739a0cc7f3585e6bcba3c0bb8fc67cb3e729844e448c5dc751f47e81 rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch -sha256 793a54748161b5af430dd9de4a1988d19cb8e85ab29bc2340f886b0297cee20b rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch -sha256 596d4d3b63ea859ed7ea9791b3a21cb11b6173b04c0a14a2afa47edf1666afa6 rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch -sha256 c5a17af84aec2d88c56ce0da2d6945be398fe7cab5c0c340deb30973900c2736 rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch -sha256 c8840d857b9432f3b488113c85c1ff5d4a4b8d81078b7033388dae1e990843b1 rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch -sha256 960c3cf2a514479b0b4cf09665186a1a9f5d28e8b05dec23db75c6cc13eb1f7c rebased-v2.6-0001-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch -sha256 3f6ca36d86668d6607389e01cf4766f38aa3b8ab2c144ad132541087b41c061d README +sha256 76ea6b06b7a2ea8e6d9eb1a9166166f1656e6d48c7508914f592100c95c73074 wpa_supplicant-2.7.tar.gz +sha256 76eeecd8fc291a71f29189ea20e6a34387b8048a959cbc6a65c41b98194643a2 README diff --git a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk index 2b451996..f56637f4 100644 --- a/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk +++ b/bsp/buildroot/package/wpa_supplicant/wpa_supplicant.mk @@ -4,17 +4,8 @@ # ################################################################################ -WPA_SUPPLICANT_VERSION = 2.6 +WPA_SUPPLICANT_VERSION = 2.7 WPA_SUPPLICANT_SITE = http://w1.fi/releases -WPA_SUPPLICANT_PATCH = \ - http://w1.fi/security/2017-1/rebased-v2.6-0001-hostapd-Avoid-key-reinstallation-in-FT-handshake.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0002-Prevent-reinstallation-of-an-already-in-use-group-ke.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0003-Extend-protection-of-GTK-IGTK-reinstallation-of-WNM-.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0004-Prevent-installation-of-an-all-zero-TK.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0006-TDLS-Reject-TPK-TK-reconfiguration.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0007-WNM-Ignore-WNM-Sleep-Mode-Response-without-pending-r.patch \ - http://w1.fi/security/2017-1/rebased-v2.6-0008-FT-Do-not-allow-multiple-Reassociation-Response-fram.patch \ - http://w1.fi/security/2018-1/rebased-v2.6-0001-WPA-Ignore-unauthenticated-encrypted-EAPOL-Key-data.patch WPA_SUPPLICANT_LICENSE = BSD-3-Clause WPA_SUPPLICANT_LICENSE_FILES = README WPA_SUPPLICANT_CONFIG = $(WPA_SUPPLICANT_DIR)/wpa_supplicant/.config diff --git a/bsp/buildroot/package/wsapi-fcgi/Config.in b/bsp/buildroot/package/wsapi-fcgi/Config.in index b4304a06..73ef8cb0 100644 --- a/bsp/buildroot/package/wsapi-fcgi/Config.in +++ b/bsp/buildroot/package/wsapi-fcgi/Config.in @@ -2,11 +2,10 @@ config BR2_PACKAGE_WSAPI_FCGI bool "wsapi-fcgi" depends on BR2_USE_MMU # fork() select BR2_PACKAGE_LIBFCGI - # Runtime dependency only - select BR2_PACKAGE_WSAPI + select BR2_PACKAGE_WSAPI # runtime help WSAPI is an API that abstracts the web server from Lua web applications. This is the rock that contains the FCGI module lfcgi. - http://keplerproject.github.com/wsapi/ + http://www.keplerproject.org/wsapi diff --git a/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.hash b/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.hash index f82ce9cf..0e3e5933 100644 --- a/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.hash +++ b/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.hash @@ -1,2 +1,4 @@ -# locally computed hash -sha256 73dc200889bc185953cd3a7c5350c998c090f901fcd10771273b7a63a3ffcdcf wsapi-fcgi-1.6.1-1.src.rock +# computed by luarocks/buildroot +sha256 14b77861638a5e863fd10d60ad460a961dc108ea5b915f71461a18d5e6be8e4e wsapi-fcgi-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.mk b/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.mk index 2b0e6b25..677bb774 100644 --- a/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.mk +++ b/bsp/buildroot/package/wsapi-fcgi/wsapi-fcgi.mk @@ -4,11 +4,12 @@ # ################################################################################ -WSAPI_FCGI_VERSION_MAJOR = 1.6.1 -WSAPI_FCGI_VERSION = $(WSAPI_FCGI_VERSION_MAJOR)-1 -WSAPI_FCGI_SUBDIR = wsapi-$(WSAPI_FCGI_VERSION_MAJOR) -WSAPI_FCGI_DEPENDENCIES = libfcgi +WSAPI_FCGI_VERSION = 1.7-1 +WSAPI_FCGI_SUBDIR = wsapi WSAPI_FCGI_LICENSE = MIT -WSAPI_FCGI_LICENSE_FILES = $(WSAPI_FCGI_SUBDIR)/doc/us/license.html +WSAPI_FCGI_LICENSE_FILES = \ + $(WSAPI_FCGI_SUBDIR)/doc/us/license.html \ + $(WSAPI_FCGI_SUBDIR)/doc/us/license.md +WSAPI_FCGI_DEPENDENCIES = libfcgi $(eval $(luarocks-package)) diff --git a/bsp/buildroot/package/wsapi-xavante/Config.in b/bsp/buildroot/package/wsapi-xavante/Config.in index 3e494bba..7079ad4e 100644 --- a/bsp/buildroot/package/wsapi-xavante/Config.in +++ b/bsp/buildroot/package/wsapi-xavante/Config.in @@ -1,13 +1,10 @@ config BR2_PACKAGE_WSAPI_XAVANTE bool "wsapi-xavante" - # Runtime dependencies - select BR2_PACKAGE_COXPCALL - select BR2_PACKAGE_RINGS - select BR2_PACKAGE_WSAPI - select BR2_PACKAGE_XAVANTE + select BR2_PACKAGE_WSAPI # runtime + select BR2_PACKAGE_XAVANTE # runtime help WSAPI is an API that abstracts the web server from Lua web applications. This is the rock that contains the Xavante adapter and launcher. - http://keplerproject.github.com/wsapi/ + http://www.keplerproject.org/wsapi diff --git a/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.hash b/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.hash index 9e8132df..6045117b 100644 --- a/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.hash +++ b/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.hash @@ -1,2 +1,4 @@ -# locally computed hash -sha256 b30b171e3d4d6fd7e129f14576e1cfc5adf00c0780ef8350f2f9e6f1d4259346 wsapi-xavante-1.6.1-1.src.rock +# computed by luarocks/buildroot +sha256 01211bb80dab92f87cece6e31854d73ae4a2ce06af7c48423a54313d72adf9fb wsapi-xavante-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.mk b/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.mk index 86f5dee5..3a747e9b 100644 --- a/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.mk +++ b/bsp/buildroot/package/wsapi-xavante/wsapi-xavante.mk @@ -4,10 +4,11 @@ # ################################################################################ -WSAPI_XAVANTE_VERSION_MAJOR = 1.6.1 -WSAPI_XAVANTE_VERSION = $(WSAPI_XAVANTE_VERSION_MAJOR)-1 -WSAPI_XAVANTE_SUBDIR = wsapi-$(WSAPI_XAVANTE_VERSION_MAJOR) +WSAPI_XAVANTE_VERSION = 1.7-1 +WSAPI_XAVANTE_SUBDIR = wsapi WSAPI_XAVANTE_LICENSE = MIT -WSAPI_XAVANTE_LICENSE_FILES = $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.html +WSAPI_XAVANTE_LICENSE_FILES = \ + $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.html \ + $(WSAPI_XAVANTE_SUBDIR)/doc/us/license.md $(eval $(luarocks-package)) diff --git a/bsp/buildroot/package/wsapi/0001-Lua-5.3-compatibility.patch b/bsp/buildroot/package/wsapi/0001-Lua-5.3-compatibility.patch deleted file mode 100644 index 9165ef2b..00000000 --- a/bsp/buildroot/package/wsapi/0001-Lua-5.3-compatibility.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 2d824d2fce31b6a9cc60b2c3f215fbbf1d99c611 Mon Sep 17 00:00:00 2001 -From: mpeterv -Date: Thu, 3 Dec 2015 13:10:14 +0300 -Subject: [PATCH] Lua 5.3 compatibility - -Fetched from: https://github.com/keplerproject/wsapi/commit/2d824d2fce31b6a9cc60b2c3f215fbbf1d99c611 - -Signed-off-by: Francois Perrad ---- - src/wsapi/ringer.lua | 1 + - src/wsapi/util.lua | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/wsapi-1.6.1/src/wsapi/ringer.lua b/wsapi-1.6.1/src/wsapi/ringer.lua -index 58309f2..db7b68f 100644 ---- a/wsapi-1.6.1/src/wsapi/ringer.lua -+++ b/wsapi-1.6.1/src/wsapi/ringer.lua -@@ -5,6 +5,7 @@ local rings = require "rings" - local _M = {} - - local init = [==[ -+ local loadstring = loadstring or load - local app_name, bootstrap_code, is_file = ... - if bootstrap_code then - local bootstrap, err -diff --git a/wsapi-1.6.1/src/wsapi/util.lua b/wsapi-1.6.1/src/wsapi/util.lua -index 24d3cfe..34e5816 100644 ---- a/wsapi-1.6.1/src/wsapi/util.lua -+++ b/wsapi-1.6.1/src/wsapi/util.lua -@@ -174,7 +174,7 @@ function _M.make_env_post(pd, type, qs) - end - - function _M.loadfile(filename, env) -- if _VERSION == "Lua 5.2" then -+ if _VERSION ~= "Lua 5.1" then - return loadfile(filename, "bt", env) - else - local f, err = loadfile(filename) --- -2.14.1 - diff --git a/bsp/buildroot/package/wsapi/Config.in b/bsp/buildroot/package/wsapi/Config.in index 348a0404..60c029dd 100644 --- a/bsp/buildroot/package/wsapi/Config.in +++ b/bsp/buildroot/package/wsapi/Config.in @@ -1,10 +1,9 @@ config BR2_PACKAGE_WSAPI bool "wsapi" - # Runtime dependency only - select BR2_PACKAGE_COXPCALL - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_RINGS + select BR2_PACKAGE_COXPCALL # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_RINGS # runtime help API that abstracts the web server from Lua web applications. - http://keplerproject.github.com/wsapi/ + http://www.keplerproject.org/wsapi diff --git a/bsp/buildroot/package/wsapi/wsapi.hash b/bsp/buildroot/package/wsapi/wsapi.hash index 3abbfc97..a89853de 100644 --- a/bsp/buildroot/package/wsapi/wsapi.hash +++ b/bsp/buildroot/package/wsapi/wsapi.hash @@ -1,2 +1,4 @@ -# locally computed hash -sha256 f7f1b0ddc68c257965c42ac7155904d8ff7c2b7256f65ef1b82fda0039137d61 wsapi-1.6.1-1.src.rock +# computed by luarocks/buildroot +sha256 1a0829dffd6bdbf99f5c4278d504cda5ede9344d5089bdcf5216c9eb2999ae22 wsapi-1.7-1.src.rock +sha256 6aa14e3febf7a9e810ce672b015f5a5514241ce5d1c3a6a48f921f089d270159 wsapi/doc/us/license.html +sha256 c7bf3061d00a96d10cb9dbc3a737d0af22594e2ef8f788842d7ab92eeaa864f2 wsapi/doc/us/license.md diff --git a/bsp/buildroot/package/wsapi/wsapi.mk b/bsp/buildroot/package/wsapi/wsapi.mk index 64a27579..d67efd0e 100644 --- a/bsp/buildroot/package/wsapi/wsapi.mk +++ b/bsp/buildroot/package/wsapi/wsapi.mk @@ -4,8 +4,11 @@ # ################################################################################ -WSAPI_VERSION = 1.6.1-1 +WSAPI_VERSION = 1.7-1 +WSAPI_SUBDIR = wsapi WSAPI_LICENSE = MIT -WSAPI_LICENSE_FILES = $(WSAPI_SUBDIR)/doc/us/license.html +WSAPI_LICENSE_FILES = \ + $(WSAPI_SUBDIR)/doc/us/license.html \ + $(WSAPI_SUBDIR)/doc/us/license.md $(eval $(luarocks-package)) diff --git a/bsp/buildroot/package/x11r7/Config.in b/bsp/buildroot/package/x11r7/Config.in index ddceaa40..f1396bbf 100644 --- a/bsp/buildroot/package/x11r7/Config.in +++ b/bsp/buildroot/package/x11r7/Config.in @@ -229,36 +229,7 @@ if BR2_PACKAGE_XORG7 endmenu menu "X11R7 X protocols" source package/x11r7/xcb-proto/Config.in - source package/x11r7/xproto_applewmproto/Config.in - source package/x11r7/xproto_bigreqsproto/Config.in - source package/x11r7/xproto_compositeproto/Config.in - source package/x11r7/xproto_damageproto/Config.in - source package/x11r7/xproto_dmxproto/Config.in - source package/x11r7/xproto_dri2proto/Config.in - source package/x11r7/xproto_dri3proto/Config.in - source package/x11r7/xproto_fixesproto/Config.in - source package/x11r7/xproto_fontcacheproto/Config.in - source package/x11r7/xproto_fontsproto/Config.in - source package/x11r7/xproto_glproto/Config.in - source package/x11r7/xproto_inputproto/Config.in - source package/x11r7/xproto_kbproto/Config.in - source package/x11r7/xproto_presentproto/Config.in - source package/x11r7/xproto_randrproto/Config.in - source package/x11r7/xproto_recordproto/Config.in - source package/x11r7/xproto_renderproto/Config.in - source package/x11r7/xproto_resourceproto/Config.in - source package/x11r7/xproto_scrnsaverproto/Config.in - source package/x11r7/xproto_videoproto/Config.in - source package/x11r7/xproto_windowswmproto/Config.in - source package/x11r7/xproto_xcmiscproto/Config.in - source package/x11r7/xproto_xextproto/Config.in - source package/x11r7/xproto_xf86bigfontproto/Config.in - source package/x11r7/xproto_xf86dgaproto/Config.in - source package/x11r7/xproto_xf86driproto/Config.in - source package/x11r7/xproto_xf86vidmodeproto/Config.in - source package/x11r7/xproto_xineramaproto/Config.in - source package/x11r7/xproto_xproto/Config.in - source package/x11r7/xproto_xproxymanagementprotocol/Config.in + source package/x11r7/xorgproto/Config.in endmenu menu "X11R7 Utilities" source package/x11r7/xutil_makedepend/Config.in diff --git a/bsp/buildroot/package/x11r7/libxcb/libxcb.hash b/bsp/buildroot/package/x11r7/libxcb/libxcb.hash index 6df7d017..d2b5da6b 100644 --- a/bsp/buildroot/package/x11r7/libxcb/libxcb.hash +++ b/bsp/buildroot/package/x11r7/libxcb/libxcb.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2016-May/002694.html -sha256 4adfb1b7c67e99bc9c2ccb110b2f175686576d2f792c8a71b9c8b19014057b5b libxcb-1.12.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002851.html +md5 c2b6cf928afa16b0047c974e7aaa783f libxcb-1.13.tar.bz2 +sha1 212ad5f1f80def80536d78e3d20354a0370e7fe9 libxcb-1.13.tar.bz2 +sha256 188c8752193c50ff2dbe89db4554c63df2e26a2e47b0fa415a70918b5b851daa libxcb-1.13.tar.bz2 +sha512 d99bbe386a65f60fcc0cc2935e4a365bc0577b5e90433e18778a665a5aee8ebc8e9e8cb0aedac0ac4a276147c0507e759a716874ea4f80792b2fc18eefbc128c libxcb-1.13.tar.bz2 +# Locally computed +sha256 c5ffbfeaa501071ceeb97b7de2c0d703fdaa35de01c0fb6cbac1c28453a3e9fd COPYING diff --git a/bsp/buildroot/package/x11r7/libxcb/libxcb.mk b/bsp/buildroot/package/x11r7/libxcb/libxcb.mk index 32edbb9e..7e467aca 100644 --- a/bsp/buildroot/package/x11r7/libxcb/libxcb.mk +++ b/bsp/buildroot/package/x11r7/libxcb/libxcb.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBXCB_VERSION = 1.12 +LIBXCB_VERSION = 1.13 LIBXCB_SOURCE = libxcb-$(LIBXCB_VERSION).tar.bz2 LIBXCB_SITE = http://xcb.freedesktop.org/dist LIBXCB_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.hash b/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.hash index a1cbf0b4..8750e2d1 100644 --- a/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.hash +++ b/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002211.html -sha256 9f614e9427cd9641a4a801ed5055700afa410674c0b7aa186b86078f11b83e8d appres-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002847.html +md5 f544e701043249d2bb3deed48314bc55 appres-1.0.5.tar.bz2 +sha1 5e5dbffd0a125732bb8bb8a202e04555a9604089 appres-1.0.5.tar.bz2 +sha256 ffad893712c81943b919e3cbfe46fc65259cc0d9eb96d5e658670e3fbb265928 appres-1.0.5.tar.bz2 +sha512 70825563cd80f0f433c48ab2fdae888072939c1b22fb22340b70b9444c97916275ed92c9e5bf9a06bb76c32a5371b89ff7c0211a9a47a227c88311078c2c4137 appres-1.0.5.tar.bz2 +# Locally computed +sha256 5969302729a9621fd526a7f9942a51a29b858e0b682ffd28eeda5fc4dfaddf55 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.mk b/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.mk index b84d7426..4159332b 100644 --- a/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.mk +++ b/bsp/buildroot/package/x11r7/xapp_appres/xapp_appres.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_APPRES_VERSION = 1.0.4 +XAPP_APPRES_VERSION = 1.0.5 XAPP_APPRES_SOURCE = appres-$(XAPP_APPRES_VERSION).tar.bz2 XAPP_APPRES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_APPRES_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_beforelight/xapp_beforelight.mk b/bsp/buildroot/package/x11r7/xapp_beforelight/xapp_beforelight.mk index b39fe787..7dcb715e 100644 --- a/bsp/buildroot/package/x11r7/xapp_beforelight/xapp_beforelight.mk +++ b/bsp/buildroot/package/x11r7/xapp_beforelight/xapp_beforelight.mk @@ -10,5 +10,6 @@ XAPP_BEFORELIGHT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_BEFORELIGHT_LICENSE = MIT XAPP_BEFORELIGHT_LICENSE_FILES = COPYING XAPP_BEFORELIGHT_DEPENDENCIES = xlib_libX11 xlib_libXScrnSaver xlib_libXaw xlib_libXt +XAPP_BEFORELIGHT_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_bitmap/xapp_bitmap.mk b/bsp/buildroot/package/x11r7/xapp_bitmap/xapp_bitmap.mk index 851af313..1ee2880a 100644 --- a/bsp/buildroot/package/x11r7/xapp_bitmap/xapp_bitmap.mk +++ b/bsp/buildroot/package/x11r7/xapp_bitmap/xapp_bitmap.mk @@ -10,5 +10,6 @@ XAPP_BITMAP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_BITMAP_LICENSE = MIT XAPP_BITMAP_LICENSE_FILES = COPYING XAPP_BITMAP_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXmu xdata_xbitmaps +XAPP_BITMAP_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.hash b/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.hash index 74fc98d6..15367955 100644 --- a/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.hash +++ b/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002120.html -sha256 3b66d1240bde853872bbb341c4b8fb029094d0a5d21347a58831f15b162c4df0 editres-1.0.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002846.html +md5 526cf79edc0c5e379aefb21539243f96 editres-1.0.7.tar.bz2 +sha1 389e953ebb5080564a6780cb34b72bafae7f5540 editres-1.0.7.tar.bz2 +sha256 089ad34628e55a779b97e369f55fb12caefc96d684b508d9022eb9e12b775c11 editres-1.0.7.tar.bz2 +sha512 b9c928b556116bf50cf4b6ea779bdc9fedf29f5db3e6a8cc75c122578c92e1cc530a81b226ec24aad183b8ebc2de570f200314b0d9ce7883b6e3306007365b32 editres-1.0.7.tar.bz2 +# Locally computed +sha256 b1049cf96db2c00428b8313541ab333ec4e06f102955f3edd44f88ec43b0acd6 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.mk b/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.mk index 6cc4805f..108a0ec3 100644 --- a/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.mk +++ b/bsp/buildroot/package/x11r7/xapp_editres/xapp_editres.mk @@ -4,11 +4,12 @@ # ################################################################################ -XAPP_EDITRES_VERSION = 1.0.6 +XAPP_EDITRES_VERSION = 1.0.7 XAPP_EDITRES_SOURCE = editres-$(XAPP_EDITRES_VERSION).tar.bz2 XAPP_EDITRES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_EDITRES_LICENSE = MIT XAPP_EDITRES_LICENSE_FILES = COPYING XAPP_EDITRES_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXmu xlib_libXt +XAPP_EDITRES_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.hash b/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.hash index 90c5f70b..f1ea73a7 100644 --- a/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.hash +++ b/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-January/002519.html -sha256 1216af2dee99b318fcf8bf9a259915273bcb37a7f1e7859af4f15d0ebf6f3f0a iceauth-1.0.7.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002850.html +md5 3b9b79fa0f9928161f4bad94273de7ae iceauth-1.0.8.tar.bz2 +sha1 2ce23c40a17d98badeb8ce70d26e81a5ac0e178c iceauth-1.0.8.tar.bz2 +sha256 e6ee213a217265cc76050e4293ea70b98c32dce6505c6421227efbda62ab60c6 iceauth-1.0.8.tar.bz2 +sha512 9d4520adf951b16a3e784349dbb70d5d8176b74b956f8adc63abf55d049745c113b03ccfa60a281fc39b487db3742302dc6287c9985ce83a0157bf4674df2af1 iceauth-1.0.8.tar.bz2 +# Locally computed +sha256 fdd9ba8ccb92af2f31f542e7b7a18c27257e6cdce147d231bc9ba3654ad84976 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.mk b/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.mk index d30ff6f7..0e0e0017 100644 --- a/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.mk +++ b/bsp/buildroot/package/x11r7/xapp_iceauth/xapp_iceauth.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_ICEAUTH_VERSION = 1.0.7 +XAPP_ICEAUTH_VERSION = 1.0.8 XAPP_ICEAUTH_SOURCE = iceauth-$(XAPP_ICEAUTH_VERSION).tar.bz2 XAPP_ICEAUTH_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_ICEAUTH_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.hash b/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.hash index 055e85ea..693aff65 100644 --- a/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.hash +++ b/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002135.html -sha256 2932767098f95ca129a0c7f0fecb0a18c789a79c1747f7423fdfe9f4e0c53590 ico-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002880.html +md5 7895f2d109f4206b6d2db37257e07d12 ico-1.0.5.tar.bz2 +sha1 8759ec954375f3a1b37dc920a12790bfbfb0cad3 ico-1.0.5.tar.bz2 +sha256 d73b62f29eb98d850f16b76d759395180b860b613fbe1686b18eee99a6e3773f ico-1.0.5.tar.bz2 +sha512 93a94a66d4a41b39d4b3657050e58f8269d352dae5d5916c9ecdda1cb14f23b9d159d67c50fdfa654b4b1c2ad11434bed140ace70703c82b05d3fe8686aab8f6 ico-1.0.5.tar.bz2 +# Locally computed +sha256 97ef3a622f2f385cabfc8ab7aff13dc46468c10a5520670b5edfa33f2c3999eb COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.mk b/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.mk index 621d1e48..8b0d4f90 100644 --- a/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.mk +++ b/bsp/buildroot/package/x11r7/xapp_ico/xapp_ico.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_ICO_VERSION = 1.0.4 +XAPP_ICO_VERSION = 1.0.5 XAPP_ICO_SOURCE = ico-$(XAPP_ICO_VERSION).tar.bz2 XAPP_ICO_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_ICO_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.hash b/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.hash index ffc9f7ee..1e1c1195 100644 --- a/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.hash +++ b/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2012-February/001838.html -sha256 c3d71e9a01650e3fd470189a749cd0202ef03d9e399350a7a7443d7595ed478e listres-1.0.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002848.html +md5 24e05349f2881aaa58cbe160e49223ac listres-1.0.4.tar.bz2 +sha1 903857c7a9ec3d8edc8a88101aef33cd27796649 listres-1.0.4.tar.bz2 +sha256 6a1229f478796e141d6658762f432ebbe1f6083b27550847d52239b3f7ec2b10 listres-1.0.4.tar.bz2 +sha512 925bceab6ff96fcf91f58ba2f858905d6e2eff7074ba29cfc02def7c19fb493545837884f1070dc004422451f749cd459000c01e8c9bb51a7cce7f7ab4067b8a listres-1.0.4.tar.bz2 +# Locally computed +sha256 aefb540c54bc95c68702cd2ae668c559e63cc1a84f55ae5c0e78547e7d75d2d5 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.mk b/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.mk index 88cdd4f0..b4ac3e1d 100644 --- a/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.mk +++ b/bsp/buildroot/package/x11r7/xapp_listres/xapp_listres.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_LISTRES_VERSION = 1.0.3 +XAPP_LISTRES_VERSION = 1.0.4 XAPP_LISTRES_SOURCE = listres-$(XAPP_LISTRES_VERSION).tar.bz2 XAPP_LISTRES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_LISTRES_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_mkfontscale/Config.in b/bsp/buildroot/package/x11r7/xapp_mkfontscale/Config.in index 540dd455..d0a9d896 100644 --- a/bsp/buildroot/package/x11r7/xapp_mkfontscale/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_mkfontscale/Config.in @@ -3,5 +3,7 @@ config BR2_PACKAGE_XAPP_MKFONTSCALE select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBFONTENC + select BR2_PACKAGE_XORGPROTO + select BR2_PACKAGE_ZLIB help create an index of scalable font files for X diff --git a/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash b/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash index 0cab2b2d..b0776a41 100644 --- a/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash +++ b/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-January/002520.html -sha256 8c6d5228af885477b9aec60ca6f172578e7d2de42234357af62fb00439453f20 mkfontscale-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002855.html +md5 987c438e79f5ddb84a9c5726a1610819 mkfontscale-1.1.3.tar.bz2 +sha1 2fdbd7c6cc5b0678f2c5d10d2350a809d576e9e5 mkfontscale-1.1.3.tar.bz2 +sha256 1e98df69ee5f4542d711e140e1d93e2c3f2775407ccbb7849110d52b91782a6a mkfontscale-1.1.3.tar.bz2 +sha512 509e2f9cd55cf87cc3968c8767bf3f2386016278db8b7be75b7df34bf61f52519dd2778f3b9881ffbe30cc2fe26089c0a5b2c33af46bc7727f46dad83f030a62 mkfontscale-1.1.3.tar.bz2 +# Locally computed +sha256 90f0a1bfee2ed42c63473ded631c0463bf38b3d193733ccfc35394c713a0701d COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk b/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk index d7abf6c5..a07d2f4f 100644 --- a/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk +++ b/bsp/buildroot/package/x11r7/xapp_mkfontscale/xapp_mkfontscale.mk @@ -4,14 +4,14 @@ # ################################################################################ -XAPP_MKFONTSCALE_VERSION = 1.1.2 +XAPP_MKFONTSCALE_VERSION = 1.1.3 XAPP_MKFONTSCALE_SOURCE = mkfontscale-$(XAPP_MKFONTSCALE_VERSION).tar.bz2 XAPP_MKFONTSCALE_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_MKFONTSCALE_LICENSE = MIT XAPP_MKFONTSCALE_LICENSE_FILES = COPYING -XAPP_MKFONTSCALE_DEPENDENCIES = zlib freetype xlib_libfontenc xproto_xproto +XAPP_MKFONTSCALE_DEPENDENCIES = zlib freetype xlib_libfontenc xorgproto HOST_XAPP_MKFONTSCALE_DEPENDENCIES = \ - host-zlib host-freetype host-xlib_libfontenc host-xproto_xproto + host-zlib host-freetype host-xlib_libfontenc host-xorgproto $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.hash b/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.hash index ad54499c..b345b448 100644 --- a/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.hash +++ b/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2012-February/001820.html -sha256 54f5fb85f5828705683f457e559fb18753332db15ae82da561b0ae5a63915091 oclock-1.0.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002856.html +md5 973f6d25a6f0990720b98a15c9436b92 oclock-1.0.4.tar.bz2 +sha1 0bc8f3f44290950f60af894e20e0ceb0c5e8e862 oclock-1.0.4.tar.bz2 +sha256 cc20cfc1c0d5128d89e1eecd9ba52e58f111075be163e0aeda5690dbaafbaefe oclock-1.0.4.tar.bz2 +sha512 6e0d36a84572a153226b2929f2253cb7adc3c9e5e3af168aeaf8c487ade2e43517b271a8e9cdb2a2c4a67ca56ed0b99c194ca63a4a822b68bfc72ca6518335e7 oclock-1.0.4.tar.bz2 +# Locally computed +sha256 f6cae4b0c603ef5bd76da2df96b38aa43aa7547e482adb8cb8b83f09af35e4a2 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.mk b/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.mk index 17d544cc..0f94cf8c 100644 --- a/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.mk +++ b/bsp/buildroot/package/x11r7/xapp_oclock/xapp_oclock.mk @@ -4,12 +4,13 @@ # ################################################################################ -XAPP_OCLOCK_VERSION = 1.0.3 +XAPP_OCLOCK_VERSION = 1.0.4 XAPP_OCLOCK_SOURCE = oclock-$(XAPP_OCLOCK_VERSION).tar.bz2 XAPP_OCLOCK_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_OCLOCK_LICENSE = MIT XAPP_OCLOCK_LICENSE_FILES = COPYING XAPP_OCLOCK_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXmu +XAPP_OCLOCK_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults ifeq ($(BR2_PACKAGE_XLIB_LIBXKBFILE),y) XAPP_OCLOCK_CONF_OPTS += --with-xkb diff --git a/bsp/buildroot/package/x11r7/xapp_rgb/Config.in b/bsp/buildroot/package/x11r7/xapp_rgb/Config.in index 038b849d..7198b5f1 100644 --- a/bsp/buildroot/package/x11r7/xapp_rgb/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_rgb/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_XAPP_RGB bool "rgb" - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help uncompile an rgb color-name database diff --git a/bsp/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk b/bsp/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk index 82878aba..b2d5d777 100644 --- a/bsp/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk +++ b/bsp/buildroot/package/x11r7/xapp_rgb/xapp_rgb.mk @@ -9,6 +9,6 @@ XAPP_RGB_SOURCE = rgb-$(XAPP_RGB_VERSION).tar.bz2 XAPP_RGB_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_RGB_LICENSE = MIT XAPP_RGB_LICENSE_FILES = COPYING -XAPP_RGB_DEPENDENCIES = xproto_xproto +XAPP_RGB_DEPENDENCIES = xorgproto host-pkgconf $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_sessreg/Config.in b/bsp/buildroot/package/x11r7/xapp_sessreg/Config.in index 0796bc1b..c9048b3b 100644 --- a/bsp/buildroot/package/x11r7/xapp_sessreg/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_sessreg/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XAPP_SESSREG bool "sessreg" select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help manage utmp/wtmp entries for non-init clients diff --git a/bsp/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk b/bsp/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk index c6e9463d..46935aed 100644 --- a/bsp/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk +++ b/bsp/buildroot/package/x11r7/xapp_sessreg/xapp_sessreg.mk @@ -9,6 +9,6 @@ XAPP_SESSREG_SOURCE = sessreg-$(XAPP_SESSREG_VERSION).tar.bz2 XAPP_SESSREG_SITE = https://xorg.freedesktop.org/archive/individual/app XAPP_SESSREG_LICENSE = MIT XAPP_SESSREG_LICENSE_FILES = COPYING -XAPP_SESSREG_DEPENDENCIES = xlib_libX11 xproto_xproto +XAPP_SESSREG_DEPENDENCIES = xlib_libX11 xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.hash b/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.hash index eecc5c4e..572ecb98 100644 --- a/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.hash +++ b/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002565.html -sha256 c575167ac33edf3bd1592f1bedfe0559debb128ed5fb4873c1278e3be166310a twm-1.0.9.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002857.html +md5 e322c08eeb635f924ede5b8eba3db54e twm-1.0.10.tar.bz2 +sha1 f632a47620dfe6d75b003839d269b14fa22b262e twm-1.0.10.tar.bz2 +sha256 6449eadca16ce0f0d900605b0cc020b95f40619261b7beccfb46bcc1836445d7 twm-1.0.10.tar.bz2 +sha512 1280683fce7ebbf5670239cb1f3cee2b40612bd9850d98827e793cf8bf298bdb58e48387cab943ea6befc6f7b34da2567353c22b8eaeb8bcf1b9e303cd7e6a9e twm-1.0.10.tar.bz2 +# Locally computed +sha256 4809ffc9656bc9a704e19ab467d1cedc97c48c9d1f9a4018e6d99d2e61f75945 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.mk b/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.mk index 1f576e15..0af30f73 100644 --- a/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.mk +++ b/bsp/buildroot/package/x11r7/xapp_twm/xapp_twm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_TWM_VERSION = 1.0.9 +XAPP_TWM_VERSION = 1.0.10 XAPP_TWM_SOURCE = twm-$(XAPP_TWM_VERSION).tar.bz2 XAPP_TWM_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_TWM_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.hash b/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.hash index c45b1b25..539bb431 100644 --- a/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.hash +++ b/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002122.html -sha256 d9c11b44908d91926df8b33428ae04c86c85e4f8380e9b5e68326a651c872e59 viewres-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002849.html +md5 08def461f135832136624855763b20fa viewres-1.0.5.tar.bz2 +sha1 d03832456dde6c2a91086e6563d52fd936425948 viewres-1.0.5.tar.bz2 +sha256 5ed818e84c39bcf26dadc885c9860432b85843caad3621e26d99edea660ae3d7 viewres-1.0.5.tar.bz2 +sha512 fe573e9b5ae679b65eee95733cbea20c86c92089c3a2dadfe977bc9c54d1f58c5e5f4663e51a1cf206543a43592b3a3c266da1769279f08be85c66b0aa5b0f7f viewres-1.0.5.tar.bz2 +# Locally computed +sha256 aefb540c54bc95c68702cd2ae668c559e63cc1a84f55ae5c0e78547e7d75d2d5 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.mk b/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.mk index 3e1fd8dd..e32de0f7 100644 --- a/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.mk +++ b/bsp/buildroot/package/x11r7/xapp_viewres/xapp_viewres.mk @@ -4,11 +4,12 @@ # ################################################################################ -XAPP_VIEWRES_VERSION = 1.0.4 +XAPP_VIEWRES_VERSION = 1.0.5 XAPP_VIEWRES_SOURCE = viewres-$(XAPP_VIEWRES_VERSION).tar.bz2 XAPP_VIEWRES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_VIEWRES_LICENSE = MIT XAPP_VIEWRES_LICENSE_FILES = COPYING XAPP_VIEWRES_DEPENDENCIES = xlib_libXaw +XAPP_VIEWRES_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash b/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash index 058c53fc..b2aa7606 100644 --- a/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash +++ b/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-October/002331.html -sha256 17f6cf51a35eaa918abec36b7871d28b712c169312e22a0eaf1ffe8d6468362b xbacklight-1.2.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002862.html +md5 d50cf135af04436b9456a5ab7dcf7971 xbacklight-1.2.2.tar.bz2 +sha1 8cc84c4b2e23e99bfa72239847af4b42ae89669e xbacklight-1.2.2.tar.bz2 +sha256 615a1d13e429ed5a0300b2f4508bc199d7cf21b6b9f088a9d8188d3bc957bf5e xbacklight-1.2.2.tar.bz2 +sha512 4dca70ef8e3494b19ea126c46395807cddc007b2b09a133810daeb77ae27fa36ac4eec7813828248fc195abe27f59700cfa58ee65ef3a020a51f73e5107678ec xbacklight-1.2.2.tar.bz2 +# Locally computed +sha256 c9fbf1f272215babef31808c1235de8e4f7641ca5edfc4fc615b6556054b2b04 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.mk b/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.mk index 88c4bc5d..a2907bb2 100644 --- a/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.mk +++ b/bsp/buildroot/package/x11r7/xapp_xbacklight/xapp_xbacklight.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XBACKLIGHT_VERSION = 1.2.1 +XAPP_XBACKLIGHT_VERSION = 1.2.2 XAPP_XBACKLIGHT_SOURCE = xbacklight-$(XAPP_XBACKLIGHT_VERSION).tar.bz2 XAPP_XBACKLIGHT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XBACKLIGHT_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xcalc/xapp_xcalc.mk b/bsp/buildroot/package/x11r7/xapp_xcalc/xapp_xcalc.mk index 58fbdf57..9445af75 100644 --- a/bsp/buildroot/package/x11r7/xapp_xcalc/xapp_xcalc.mk +++ b/bsp/buildroot/package/x11r7/xapp_xcalc/xapp_xcalc.mk @@ -11,5 +11,6 @@ XAPP_XCALC_LICENSE = MIT XAPP_XCALC_LICENSE_FILES = COPYING XAPP_XCALC_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-exec install-data XAPP_XCALC_DEPENDENCIES = xlib_libXaw +XAPP_XCALC_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk b/bsp/buildroot/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk index 3620f757..d77ac986 100644 --- a/bsp/buildroot/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk +++ b/bsp/buildroot/package/x11r7/xapp_xclipboard/xapp_xclipboard.mk @@ -10,5 +10,6 @@ XAPP_XCLIPBOARD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCLIPBOARD_LICENSE = MIT XAPP_XCLIPBOARD_LICENSE_FILES = COPYING XAPP_XCLIPBOARD_DEPENDENCIES = xlib_libXaw xlib_libXmu xlib_libXt +XAPP_XCLIPBOARD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xclock/xapp_xclock.mk b/bsp/buildroot/package/x11r7/xapp_xclock/xapp_xclock.mk index 282d753f..6f8044ef 100644 --- a/bsp/buildroot/package/x11r7/xapp_xclock/xapp_xclock.mk +++ b/bsp/buildroot/package/x11r7/xapp_xclock/xapp_xclock.mk @@ -10,5 +10,6 @@ XAPP_XCLOCK_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCLOCK_LICENSE = MIT XAPP_XCLOCK_LICENSE_FILES = COPYING XAPP_XCLOCK_DEPENDENCIES = xlib_libX11 xlib_libXaw xlib_libXft xlib_libXrender xlib_libxkbfile +XAPP_XCLOCK_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xconsole/Config.in b/bsp/buildroot/package/x11r7/xapp_xconsole/Config.in index 7baf4ff6..3d796bd3 100644 --- a/bsp/buildroot/package/x11r7/xapp_xconsole/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_xconsole/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_XAPP_XCONSOLE select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXAW select BR2_PACKAGE_XLIB_LIBXT - select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_XLIB_LIBXMU + select BR2_PACKAGE_XORGPROTO help xconsole - monitor system console messages with X diff --git a/bsp/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk b/bsp/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk index 52656de8..ddec4cfa 100644 --- a/bsp/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk +++ b/bsp/buildroot/package/x11r7/xapp_xconsole/xapp_xconsole.mk @@ -10,7 +10,8 @@ XAPP_XCONSOLE_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCONSOLE_LICENSE = MIT XAPP_XCONSOLE_LICENSE_FILES = COPYING XAPP_XCONSOLE_DEPENDENCIES = \ - xlib_libX11 xlib_libXaw xlib_libXt xproto_xproto \ + xlib_libX11 xlib_libXaw xlib_libXt xorgproto \ xlib_libXmu +XAPP_XCONSOLE_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash b/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash index b98d449c..51031d62 100644 --- a/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash +++ b/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2014-May/002438.html -sha256 31c8910f54eb175a8a74a60e7662697467e21a8bf948220a6048a93924b3f66c xcursorgen-1.0.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2019-January/002936.html +md5 25cc7ca1ce5dcbb61c2b471c55e686b5 xcursorgen-1.0.7.tar.bz2 +sha1 109367eb23b0ad52cf5de15f50c02ebe872698ae xcursorgen-1.0.7.tar.bz2 +sha256 35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d xcursorgen-1.0.7.tar.bz2 +sha512 bd13ad23691d3daa2d5dcdc5902cf62e3dcb97a0289aff362e6cd85866a1d8cafb64f98800a75bfb4cf1f3c76244ca20201847dff594543d136d0abaec7011d2 xcursorgen-1.0.7.tar.bz2 +# Locally computed +sha256 8c773336b654442ac8018715a52be1a8254895c57c898d5387016e9488cc2009 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk b/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk index 4bee26b5..bcc696b0 100644 --- a/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk +++ b/bsp/buildroot/package/x11r7/xapp_xcursorgen/xapp_xcursorgen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XCURSORGEN_VERSION = 1.0.6 +XAPP_XCURSORGEN_VERSION = 1.0.7 XAPP_XCURSORGEN_SOURCE = xcursorgen-$(XAPP_XCURSORGEN_VERSION).tar.bz2 XAPP_XCURSORGEN_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XCURSORGEN_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xditview/xapp_xditview.mk b/bsp/buildroot/package/x11r7/xapp_xditview/xapp_xditview.mk index 4744c1fe..e8d72770 100644 --- a/bsp/buildroot/package/x11r7/xapp_xditview/xapp_xditview.mk +++ b/bsp/buildroot/package/x11r7/xapp_xditview/xapp_xditview.mk @@ -10,5 +10,6 @@ XAPP_XDITVIEW_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDITVIEW_LICENSE = MIT XAPP_XDITVIEW_LICENSE_FILES = COPYING XAPP_XDITVIEW_DEPENDENCIES = xlib_libXaw +XAPP_XDITVIEW_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xdm/Config.in b/bsp/buildroot/package/x11r7/xapp_xdm/Config.in index 69829701..af816a13 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdm/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_xdm/Config.in @@ -10,7 +10,6 @@ config BR2_PACKAGE_XAPP_XDM select BR2_PACKAGE_XLIB_LIBXDMCP select BR2_PACKAGE_XLIB_LIBXINERAMA select BR2_PACKAGE_XLIB_LIBXT - select BR2_PACKAGE_XPROTO_XINERAMAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org xdm application diff --git a/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk b/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk index 8f846a82..422ee53b 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk +++ b/bsp/buildroot/package/x11r7/xapp_xdm/xapp_xdm.mk @@ -10,8 +10,17 @@ XAPP_XDM_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDM_LICENSE = MIT XAPP_XDM_LICENSE_FILES = COPYING XAPP_XDM_CONF_ENV = ac_cv_file__dev_urandom=yes -XAPP_XDM_DEPENDENCIES = xapp_sessreg xapp_xrdb xlib_libX11 xlib_libXaw xlib_libXdmcp xlib_libXinerama xlib_libXt xproto_xineramaproto xproto_xproto +XAPP_XDM_DEPENDENCIES = \ + xapp_sessreg \ + xapp_xrdb \ + xlib_libX11 \ + xlib_libXaw \ + xlib_libXdmcp \ + xlib_libXinerama \ + xlib_libXt \ + xorgproto XAPP_XDM_CONF_OPTS = \ + --with-appdefaultdir=/usr/share/X11/app-defaults \ --with-utmp-file=/var/adm/utmpx \ --with-wtmp-file=/var/adm/wtmpx diff --git a/bsp/buildroot/package/x11r7/xapp_xdriinfo/Config.in b/bsp/buildroot/package/x11r7/xapp_xdriinfo/Config.in index 2b204d91..df65b491 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdriinfo/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_xdriinfo/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_XAPP_XDRIINFO bool "xdriinfo" depends on BR2_PACKAGE_HAS_LIBGL select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_GLPROTO + select BR2_PACKAGE_XORGPROTO help query configuration information of DRI drivers diff --git a/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash b/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash index 264ec9a0..80a4ac48 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash +++ b/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002570.html -sha256 4cba3766ef89557422062287248adeb933999071bad6f3ef9c0a478a3c680119 xdriinfo-1.0.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002858.html +md5 480e63cd365f03eb2515a6527d5f4ca6 xdriinfo-1.0.6.tar.bz2 +sha1 11682ae1f04a311b832651d78bbf4c6ac77f0ed9 xdriinfo-1.0.6.tar.bz2 +sha256 d9ccd2c3e87899417acc9ea1f3e319a4198112babe1dc711273584f607449d51 xdriinfo-1.0.6.tar.bz2 +sha512 7ddd9e19abaef93e4d85004293528ec3814ef84c470d496dbb8dc8313d804bb7520406de8d33d2bc2b3af942bd0a5d5032a109b2726438a966af63ea680a102f xdriinfo-1.0.6.tar.bz2 +# Locally computed +sha256 de2fbb160bbb64c48975d7a3ebe3636a312b73227df1efe37488a8cecb9c1932 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk b/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk index ffab5170..7f7aac9e 100644 --- a/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk +++ b/bsp/buildroot/package/x11r7/xapp_xdriinfo/xapp_xdriinfo.mk @@ -4,11 +4,11 @@ # ################################################################################ -XAPP_XDRIINFO_VERSION = 1.0.5 +XAPP_XDRIINFO_VERSION = 1.0.6 XAPP_XDRIINFO_SOURCE = xdriinfo-$(XAPP_XDRIINFO_VERSION).tar.bz2 XAPP_XDRIINFO_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XDRIINFO_LICENSE = MIT XAPP_XDRIINFO_LICENSE_FILES = COPYING -XAPP_XDRIINFO_DEPENDENCIES = libgl xlib_libX11 xproto_glproto +XAPP_XDRIINFO_DEPENDENCIES = libgl xlib_libX11 xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xedit/xapp_xedit.mk b/bsp/buildroot/package/x11r7/xapp_xedit/xapp_xedit.mk index 0f42e2cb..1cb99dc6 100644 --- a/bsp/buildroot/package/x11r7/xapp_xedit/xapp_xedit.mk +++ b/bsp/buildroot/package/x11r7/xapp_xedit/xapp_xedit.mk @@ -11,6 +11,8 @@ XAPP_XEDIT_LICENSE = MIT XAPP_XEDIT_LICENSE_FILES = COPYING XAPP_XEDIT_DEPENDENCIES = xlib_libXaw -XAPP_XEDIT_CONF_OPTS = --disable-selective-werror +XAPP_XEDIT_CONF_OPTS = \ + --disable-selective-werror \ + --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.hash b/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.hash index 02eb26b7..bbb6a9b0 100644 --- a/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.hash +++ b/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2010-November/001552.html -sha1 efe6116d31a7f69e4fb6038613e52b0960b9b61c xeyes-1.1.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002860.html +md5 6f0543ec84283df5743eeafc173bea4a xeyes-1.1.2.tar.bz2 +sha1 458987f8accdbd8abf993ee51030391cf584d2e8 xeyes-1.1.2.tar.bz2 +sha256 57bcec0d2d167af9e5d44d0dbd74c6d7c0f0591cd0608952b23c749fdd910553 xeyes-1.1.2.tar.bz2 +sha512 008d76f03ddabd3d86ad9e52a540504553b94cb7a6743b20cf08897549eb27505667365ab9af21956a1b5ec7297acca8903a326536e6195a30e643cd93297ee0 xeyes-1.1.2.tar.bz2 +# Locally computed +sha256 d8de1de40e16227d1eb4b19e95117ce3f990f71f71df096a2259b0bc9931e042 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.mk b/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.mk index 07c12002..6c7f859d 100644 --- a/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.mk +++ b/bsp/buildroot/package/x11r7/xapp_xeyes/xapp_xeyes.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XEYES_VERSION = 1.1.1 +XAPP_XEYES_VERSION = 1.1.2 XAPP_XEYES_SOURCE = xeyes-$(XAPP_XEYES_VERSION).tar.bz2 XAPP_XEYES_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XEYES_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk b/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk index e3c770b3..06c9c83e 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk +++ b/bsp/buildroot/package/x11r7/xapp_xfd/xapp_xfd.mk @@ -10,5 +10,6 @@ XAPP_XFD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XFD_LICENSE = MIT XAPP_XFD_LICENSE_FILES = COPYING XAPP_XFD_DEPENDENCIES = freetype fontconfig xlib_libXaw xlib_libXft +XAPP_XFD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xfindproxy/Config.in b/bsp/buildroot/package/x11r7/xapp_xfindproxy/Config.in index b186ab65..e452dc96 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfindproxy/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_xfindproxy/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_XAPP_XFINDPROXY bool "xfindproxy" select BR2_PACKAGE_XLIB_LIBICE select BR2_PACKAGE_XLIB_LIBXT - select BR2_PACKAGE_XPROTO_XPROTO - select BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL + select BR2_PACKAGE_XORGPROTO help xfindproxy utilizes the Proxy Management Protocol to communicate with a proxy manager to locate available X11 diff --git a/bsp/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk b/bsp/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk index 7662a902..7832e0ca 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk +++ b/bsp/buildroot/package/x11r7/xapp_xfindproxy/xapp_xfindproxy.mk @@ -12,7 +12,6 @@ XAPP_XFINDPROXY_LICENSE_FILES = COPYING XAPP_XFINDPROXY_DEPENDENCIES = \ xlib_libICE \ xlib_libXt \ - xproto_xproto \ - xproto_xproxymanagementprotocol + xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash b/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash index 40f55236..a09df558 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash +++ b/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002213.html -sha256 170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf xfontsel-1.0.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002861.html +md5 13150ff98846bf6d9a14bee00697fa47 xfontsel-1.0.6.tar.bz2 +sha1 3fd8d78cc270030b41298170c3e5222065dd1cfd xfontsel-1.0.6.tar.bz2 +sha256 25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c xfontsel-1.0.6.tar.bz2 +sha512 2f6bc51549a302404cdaf9a5a825add383953fcbb2a0c7076691cefd4dd7e4a3c772c047be74101c8486f75d03ce0bd3e65ede14e91732cf2a932810441c9099 xfontsel-1.0.6.tar.bz2 +# Locally computed +sha256 a27097bcc5cdf4fa5d761dd4e5cea1f41911c51b0a7d9da6e3a48f69d9fd0c09 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.mk b/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.mk index 781b4d35..9dea4299 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.mk +++ b/bsp/buildroot/package/x11r7/xapp_xfontsel/xapp_xfontsel.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XFONTSEL_VERSION = 1.0.5 +XAPP_XFONTSEL_VERSION = 1.0.6 XAPP_XFONTSEL_SOURCE = xfontsel-$(XAPP_XFONTSEL_VERSION).tar.bz2 XAPP_XFONTSEL_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XFONTSEL_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xfs/Config.in b/bsp/buildroot/package/x11r7/xapp_xfs/Config.in index b708af8c..19e675b2 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfs/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_xfs/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_XAPP_XFS depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBFS select BR2_PACKAGE_XLIB_LIBXFONT2 - select BR2_PACKAGE_XPROTO_FONTSPROTO + select BR2_PACKAGE_XORGPROTO help X font server diff --git a/bsp/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk b/bsp/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk index f4fe35df..9177a65b 100644 --- a/bsp/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk +++ b/bsp/buildroot/package/x11r7/xapp_xfs/xapp_xfs.mk @@ -9,6 +9,6 @@ XAPP_XFS_SOURCE = xfs-$(XAPP_XFS_VERSION).tar.bz2 XAPP_XFS_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XFS_LICENSE = MIT XAPP_XFS_LICENSE_FILES = COPYING -XAPP_XFS_DEPENDENCIES = xlib_libFS xlib_libXfont2 xproto_fontsproto +XAPP_XFS_DEPENDENCIES = xlib_libFS xlib_libXfont2 xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.hash b/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.hash index f8bab911..58ee1ecb 100644 --- a/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.hash +++ b/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2014-September/002477.html -sha256 75d88d7397a07e01db253163b7c7a00b249b3d30e99489f2734cac9a0c7902b3 xinit-1.3.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002863.html +md5 2da154b2f80ca9637b1a17b13af0880c xinit-1.4.0.tar.bz2 +sha1 fcdca692b09a45f546016fff78718d1cf7e7852f xinit-1.4.0.tar.bz2 +sha256 230835eef2f5978a1e1344928168119373f6df1d0a32c09515e545721ee582ef xinit-1.4.0.tar.bz2 +sha512 53a29081130c1e195eb441ee77ccaa044b18b4cca3d2d5da3a6d67aa421dfd9718fa18b6be6232a41e40cf260c8190064c4d8d9ab771177bd5cd12e77a8fa79e xinit-1.4.0.tar.bz2 +# Locally computed +sha256 c47001aa217d4ae7787121d80634db4bdba564e49a0ecab8d48b1bdc4edee1c7 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.mk b/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.mk index a796884f..d911a459 100644 --- a/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.mk +++ b/bsp/buildroot/package/x11r7/xapp_xinit/xapp_xinit.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XINIT_VERSION = 1.3.4 +XAPP_XINIT_VERSION = 1.4.0 XAPP_XINIT_SOURCE = xinit-$(XAPP_XINIT_VERSION).tar.bz2 XAPP_XINIT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XINIT_DEPENDENCIES = xapp_xauth xlib_libX11 diff --git a/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash b/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash index 4d0b5fee..86fd033e 100644 --- a/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash +++ b/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.hash @@ -1,5 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-May/002797.html -md5 cc22b232bc78a303371983e1b48794ab xkbcomp-1.4.0.tar.bz2 -sha1 9578a564ff8fcf96581fb52860828fbab8c67b4f xkbcomp-1.4.0.tar.bz2 -sha256 bc69c8748c03c5ad9afdc8dff9db11994dd871b614c65f8940516da6bf61ce6b xkbcomp-1.4.0.tar.bz2 -sha512 c96a63fc2d9a6ac17123297574966c45d0dcfd4ae3d4073ce863c7738d453f4c0a5f7a87c06efdec19f0b270207a7170fe1aa72a73ef1b50f95c7ca262f4882e xkbcomp-1.4.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-June/002901.html +md5 12610df19df2af3797f2c130ee2bce97 xkbcomp-1.4.2.tar.bz2 +sha1 9a39cf7a562c152465e04fc7cf1002c59f883870 xkbcomp-1.4.2.tar.bz2 +sha256 6dd8bcb9be7e85bd7294abe261b8c7b0539d2fc93e41b80fb8bd013767ce8424 xkbcomp-1.4.2.tar.bz2 +sha512 b00d1eb08c19be86044418c8ea3bfc3c3973406c481878270138a70ed9dab348acb8e4d0af8678879598ffbd7df1c640a63d0abad3d7481758be99af8dd7734e xkbcomp-1.4.2.tar.bz2 +# Locally computed +sha256 f1a78f5796fe2374f2b93e579328a02283e57d2a8316484b31799b12debe7ee3 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk b/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk index cc885618..9fcd8c05 100644 --- a/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk +++ b/bsp/buildroot/package/x11r7/xapp_xkbcomp/xapp_xkbcomp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XKBCOMP_VERSION = 1.4.0 +XAPP_XKBCOMP_VERSION = 1.4.2 XAPP_XKBCOMP_SOURCE = xkbcomp-$(XAPP_XKBCOMP_VERSION).tar.bz2 XAPP_XKBCOMP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XKBCOMP_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.hash b/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.hash index 22c256d4..06029717 100644 --- a/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.hash +++ b/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-September/002313.html -sha256 88ef2a304f32f24b255e879f03c1dcd3a2be3e71d5562205414f267d919f812e xkill-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002864.html +md5 938177e4472c346cf031c1aefd8934fc xkill-1.0.5.tar.bz2 +sha1 c5ee06b33adb252a41e4f737be6bd47651ff582a xkill-1.0.5.tar.bz2 +sha256 c5f0bb6a95e1ac7c4def8a657496d5d2f21ccd41eb47ef2c9ccb03fb6d6aff6b xkill-1.0.5.tar.bz2 +sha512 4603a1794f114f5cea2c885020c9d073c8421d1e785c99ff6b936ae97139c8dac8020a187b5bbd0fa6d56ed6fab879441b42ba900cc5f2f5a534dafdc86b9249 xkill-1.0.5.tar.bz2 +# Locally computed +sha256 13306c3890e4c8710bc468dee0eba7f9677cd94c7a67d2d81fa932d4f635b21f COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.mk b/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.mk index 76af1b95..64ddbca6 100644 --- a/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.mk +++ b/bsp/buildroot/package/x11r7/xapp_xkill/xapp_xkill.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XKILL_VERSION = 1.0.4 +XAPP_XKILL_VERSION = 1.0.5 XAPP_XKILL_SOURCE = xkill-$(XAPP_XKILL_VERSION).tar.bz2 XAPP_XKILL_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XKILL_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.hash b/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.hash index 418ce556..99d9cabb 100644 --- a/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.hash +++ b/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-August/002285.html -sha256 83f8e6260435f1df2e2e5036bb3325688b79f0b33069ef445eff5058d127e078 xload-1.1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002865.html +md5 29afafdffe97f809d43a41db9dd63f25 xload-1.1.3.tar.bz2 +sha1 fd5053d38551883309863c2a43de2ceffa908a50 xload-1.1.3.tar.bz2 +sha256 f34e4803871d771325cfe52bebd98cc5b6040d3f065184ec73de436f9a375907 xload-1.1.3.tar.bz2 +sha512 8dbc4f0cee7b30d7381be819152b27653d9b0049266e59bde2e2c972a88c4f2bdea766fc407bbdfef15d0aab30fedc756189a1048170a812853133a5094fe7a5 xload-1.1.3.tar.bz2 +# Locally computed +sha256 a09b31d26e4d2781eef1e71f39789f86cad6d81153e72064f45875910fa6258f COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk b/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk index 364d247a..605359ba 100644 --- a/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk +++ b/bsp/buildroot/package/x11r7/xapp_xload/xapp_xload.mk @@ -4,12 +4,13 @@ # ################################################################################ -XAPP_XLOAD_VERSION = 1.1.2 +XAPP_XLOAD_VERSION = 1.1.3 XAPP_XLOAD_SOURCE = xload-$(XAPP_XLOAD_VERSION).tar.bz2 XAPP_XLOAD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XLOAD_LICENSE = MIT XAPP_XLOAD_LICENSE_FILES = COPYING XAPP_XLOAD_DEPENDENCIES = xlib_libXaw +XAPP_XLOAD_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) # musl doesn't have rwhod.h, but xload can replace it with stubs diff --git a/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash b/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash index e1cb80b7..a465c3ce 100644 --- a/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash +++ b/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-September/002314.html -sha256 5d9666fcc6c3de210fc70d5a841a404955af709a616fde530fe4e8f7723e3d3d xlsclients-1.1.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002866.html +md5 4fa92377e0ddc137cd226a7a87b6b29a xlsclients-1.1.4.tar.bz2 +sha1 175af1c216a1db3de5023ecd6cce186e7693c6e4 xlsclients-1.1.4.tar.bz2 +sha256 773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1 xlsclients-1.1.4.tar.bz2 +sha512 42fd848d88d3cf31168a37fed63f9f5b60ddc4f36be2956b354e574c93129d75f29e005d6631784380bcef27860b54c64f419ca18ad77f092f4520dec47b10f4 xlsclients-1.1.4.tar.bz2 +# Locally computed +sha256 716d6f1d18cb97cdd4a2ef7b101d944a250ca9de57578a490c038b9aaf950648 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.mk b/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.mk index 798dce02..167748b3 100644 --- a/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.mk +++ b/bsp/buildroot/package/x11r7/xapp_xlsclients/xapp_xlsclients.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XLSCLIENTS_VERSION = 1.1.3 +XAPP_XLSCLIENTS_VERSION = 1.1.4 XAPP_XLSCLIENTS_SOURCE = xlsclients-$(XAPP_XLSCLIENTS_VERSION).tar.bz2 XAPP_XLSCLIENTS_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XLSCLIENTS_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash b/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash index f3a26031..f76369f9 100644 --- a/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash +++ b/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002580.html -sha256 40295bec35077cee93be2e4c26cc00268ed6ace779ae6e97766a866c1e3927fa xlsfonts-1.0.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002867.html +md5 5774fd4f518b3f338f2b28f270e04bfc xlsfonts-1.0.6.tar.bz2 +sha1 bf95e46e0897dcb9d197ce20d4fa024b8ace5148 xlsfonts-1.0.6.tar.bz2 +sha256 89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368 xlsfonts-1.0.6.tar.bz2 +sha512 052a3b1dec23cb20fdfacd4500cb836feb3b888bf568a548ea71deb58a4ba10a1ad5392d658e95272c6d4a1832edf1f19c3de2498b78dca82c43ee52800a30c0 xlsfonts-1.0.6.tar.bz2 +# Locally computed +sha256 dcdf5fa36a652efbe61a21def1301739b0010334ae3f049f1cff433221a8c7a5 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.mk b/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.mk index 1c42a61a..0ccd4ea6 100644 --- a/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.mk +++ b/bsp/buildroot/package/x11r7/xapp_xlsfonts/xapp_xlsfonts.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XLSFONTS_VERSION = 1.0.5 +XAPP_XLSFONTS_VERSION = 1.0.6 XAPP_XLSFONTS_SOURCE = xlsfonts-$(XAPP_XLSFONTS_VERSION).tar.bz2 XAPP_XLSFONTS_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XLSFONTS_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xmag/xapp_xmag.mk b/bsp/buildroot/package/x11r7/xapp_xmag/xapp_xmag.mk index bfc60c3e..113c328e 100644 --- a/bsp/buildroot/package/x11r7/xapp_xmag/xapp_xmag.mk +++ b/bsp/buildroot/package/x11r7/xapp_xmag/xapp_xmag.mk @@ -10,5 +10,6 @@ XAPP_XMAG_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XMAG_LICENSE = MIT XAPP_XMAG_LICENSE_FILES = COPYING XAPP_XMAG_DEPENDENCIES = xlib_libXaw +XAPP_XMAG_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xman/xapp_xman.mk b/bsp/buildroot/package/x11r7/xapp_xman/xapp_xman.mk index bca6bbff..0d744cc3 100644 --- a/bsp/buildroot/package/x11r7/xapp_xman/xapp_xman.mk +++ b/bsp/buildroot/package/x11r7/xapp_xman/xapp_xman.mk @@ -10,6 +10,7 @@ XAPP_XMAN_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XMAN_LICENSE = MIT XAPP_XMAN_LICENSE_FILES = COPYING XAPP_XMAN_DEPENDENCIES = xlib_libXaw +XAPP_XMAN_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults XAPP_XMAN_CONF_ENV = \ ac_cv_file__etc_man_conf=no \ diff --git a/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.hash b/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.hash index 5e1f199b..b668edf6 100644 --- a/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.hash +++ b/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002128.html -sha256 bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68 xmessage-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002868.html +md5 e50ffae17eeb3943079620cb78f5ce0b xmessage-1.0.5.tar.bz2 +sha1 d3eca72c7173d0d9547c676a16bcec51ca1213a2 xmessage-1.0.5.tar.bz2 +sha256 373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029 xmessage-1.0.5.tar.bz2 +sha512 a8423c3986b1576fa67800c315a605a527bb9a8f594ac269a736ae7b91eed0d4d83deb89148197dc3cd3f0e51894146958ce2979f78e97dcdb99c5326e34dabe xmessage-1.0.5.tar.bz2 +# Locally computed +sha256 dfd5427188bd6d6647ad1a9a0644428403c6239f6aa7f9d1a17629d8cc0a4ecd COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.mk b/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.mk index 9c855638..9d426974 100644 --- a/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.mk +++ b/bsp/buildroot/package/x11r7/xapp_xmessage/xapp_xmessage.mk @@ -4,11 +4,12 @@ # ################################################################################ -XAPP_XMESSAGE_VERSION = 1.0.4 +XAPP_XMESSAGE_VERSION = 1.0.5 XAPP_XMESSAGE_SOURCE = xmessage-$(XAPP_XMESSAGE_VERSION).tar.bz2 XAPP_XMESSAGE_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XMESSAGE_LICENSE = MIT XAPP_XMESSAGE_LICENSE_FILES = COPYING XAPP_XMESSAGE_DEPENDENCIES = xlib_libXaw +XAPP_XMESSAGE_CONF_OPTS = --with-appdefaultdir=/usr/share/X11/app-defaults $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.hash b/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.hash index eaab288c..0a1b4f81 100644 --- a/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.hash +++ b/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2012-March/001926.html -sha256 fed98df31eb93d3dca4688cb535aabad06be572e70ace3b1685679c18dd86cb5 xpr-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002869.html +md5 eaac255076ea351fd08d76025788d9f9 xpr-1.0.5.tar.bz2 +sha1 0632c7d8632ac9d23f285811aaea805a2956e155 xpr-1.0.5.tar.bz2 +sha256 b936e0f1f8d63f5ad097a0bbdce2e67c34f5d49b7263f32a832ff62d394d1e1f xpr-1.0.5.tar.bz2 +sha512 d5dfb936ec4ad0067d02654dec8e862fe337ff6a2c2f974b2b3a612a829c2e728a0d51e7aba00ed2a94dc96dc50cc69f2c59f522e0635013f5f4f5bb3f4ab967 xpr-1.0.5.tar.bz2 +# Locally computed +sha256 5e8ff9b5d3fc86b5d0bc5957c9ee0aa1a6d0fb9a6b116aae70762b628a0d5069 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.mk b/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.mk index b2c4e040..b77c5b48 100644 --- a/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.mk +++ b/bsp/buildroot/package/x11r7/xapp_xpr/xapp_xpr.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XPR_VERSION = 1.0.4 +XAPP_XPR_VERSION = 1.0.5 XAPP_XPR_SOURCE = xpr-$(XAPP_XPR_VERSION).tar.bz2 XAPP_XPR_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XPR_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.hash b/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.hash index 4758979c..a57d375b 100644 --- a/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.hash +++ b/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-August/002290.html -sha256 9bee88b1025865ad121f72d32576dd3027af1446774aa8300cce3c261d869bc6 xprop-1.2.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002870.html +md5 4becb3ddc4674d741487189e4ce3d0b6 xprop-1.2.3.tar.bz2 +sha1 77062c08a23cfca76824b7e8f9860678255d6b1a xprop-1.2.3.tar.bz2 +sha256 d22afb28c86d85fff10a50156a7d0fa930c80ae865d70b26d805fd28a17a521b xprop-1.2.3.tar.bz2 +sha512 ad7987fec11ae19b7adc3b0f683fc393e95155f3b6c753d1d8744aedcfb360452eee5735a4c380152b286905931515f3e1a28676b5531001eb8dd93b7249916a xprop-1.2.3.tar.bz2 +# Locally computed +sha256 f19ff982936cca133b9593a6561c3817512207e0b4c951d0e4eb5956d30d4415 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.mk b/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.mk index 40a85773..d8063d94 100644 --- a/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.mk +++ b/bsp/buildroot/package/x11r7/xapp_xprop/xapp_xprop.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XPROP_VERSION = 1.2.2 +XAPP_XPROP_VERSION = 1.2.3 XAPP_XPROP_SOURCE = xprop-$(XAPP_XPROP_VERSION).tar.bz2 XAPP_XPROP_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XPROP_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.hash b/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.hash index 4844a09b..c7298617 100644 --- a/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.hash +++ b/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-September/002316.html -sha256 73827b6bbfc9d27ca287d95a1224c306d7053cd7b8156641698d7dc541ca565b xrdb-1.1.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002871.html +md5 96f9423eab4d0641c70848d665737d2e xrdb-1.1.1.tar.bz2 +sha1 0d6b1cae357574d565d6e6bc10f6ccf073e1b9dd xrdb-1.1.1.tar.bz2 +sha256 2d23ade7cdbb487996bf77cbb32cbe9bdb34d004748a53de7a4a97660d2217b7 xrdb-1.1.1.tar.bz2 +sha512 20c342004ef911fc4d3ef4ac3ac15d1c30bb946b8156f3a6916c242e470be0cb63261563462fd1e2e07b1a7cc527b8cacf5f913e31b02196629a95043cf8d13f xrdb-1.1.1.tar.bz2 +# Locally computed +sha256 ca1b3e2f9f37c35876b69a9c1c5a7860fae59b7ba87a1d2dc541b722e29b1ecc COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.mk b/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.mk index f32afa45..4b84c64a 100644 --- a/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.mk +++ b/bsp/buildroot/package/x11r7/xapp_xrdb/xapp_xrdb.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XRDB_VERSION = 1.1.0 +XAPP_XRDB_VERSION = 1.1.1 XAPP_XRDB_SOURCE = xrdb-$(XAPP_XRDB_VERSION).tar.bz2 XAPP_XRDB_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XRDB_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash b/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash index 6d5a53b0..8eae8ed1 100644 --- a/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash +++ b/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002214.html -sha256 3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6 xrefresh-1.0.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002872.html +md5 c56fa4adbeed1ee5173f464a4c4a61a6 xrefresh-1.0.6.tar.bz2 +sha1 11eb5b3f905631281d2cedd86a0b666bab0d9bdc xrefresh-1.0.6.tar.bz2 +sha256 287dfb9bb7e8d780d07e672e3252150850869cb550958ed5f8401f0835cd6353 xrefresh-1.0.6.tar.bz2 +sha512 361e97fecfc2706d5eeab69df0d4dd4baa55b6783cfddabf51d8561b7c930d71ce6c217e0512c6564208d69b04f89c69ea8c0bfb2e4f6cc25b062b55e4db3674 xrefresh-1.0.6.tar.bz2 +# Locally computed +sha256 4f51c9a91cd277697cbea6604bf4cb240c1ed14cdba82550cb9cac8f1286f663 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.mk b/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.mk index 8403762c..36a4feaa 100644 --- a/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.mk +++ b/bsp/buildroot/package/x11r7/xapp_xrefresh/xapp_xrefresh.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XREFRESH_VERSION = 1.0.5 +XAPP_XREFRESH_VERSION = 1.0.6 XAPP_XREFRESH_SOURCE = xrefresh-$(XAPP_XREFRESH_VERSION).tar.bz2 XAPP_XREFRESH_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XREFRESH_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.hash b/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.hash index f9ff3920..62f951ba 100644 --- a/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.hash +++ b/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-August/002291.html -sha256 4382f4fb29b88647e13f3b4bc29263134270747fc159cfc5f7e3af23588c8063 xset-1.2.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002873.html +md5 70ea7bc7bacf1a124b1692605883f620 xset-1.2.4.tar.bz2 +sha1 41a857f30ff5bb0dfbda1549bb703984344ea228 xset-1.2.4.tar.bz2 +sha256 e4fd95280df52a88e9b0abc1fee11dcf0f34fc24041b9f45a247e52df941c957 xset-1.2.4.tar.bz2 +sha512 f24714c9a82081a09d3054bbad98553de9366992f22eaf3e2bcadbb58fad1d3dad2547fef6fa9898d8a9df064573c29df9d82a5c801fa92248604c95f65dc83d xset-1.2.4.tar.bz2 +# Locally computed +sha256 6bfc619b6d37dd0e6ca575edcb3a05194136e04d1d9989b8e14e6f7850587382 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.mk b/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.mk index 157cd229..9ead55a2 100644 --- a/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.mk +++ b/bsp/buildroot/package/x11r7/xapp_xset/xapp_xset.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XSET_VERSION = 1.2.3 +XAPP_XSET_VERSION = 1.2.4 XAPP_XSET_SOURCE = xset-$(XAPP_XSET_VERSION).tar.bz2 XAPP_XSET_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XSET_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xsetpointer/Config.in b/bsp/buildroot/package/x11r7/xapp_xsetpointer/Config.in index 2b0b4624..0deb6d81 100644 --- a/bsp/buildroot/package/x11r7/xapp_xsetpointer/Config.in +++ b/bsp/buildroot/package/x11r7/xapp_xsetpointer/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_XAPP_XSETPOINTER bool "xsetpointer" - select BR2_PACKAGE_XPROTO_INPUTPROTO select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXI + select BR2_PACKAGE_XORGPROTO help set an X Input device as the main pointer diff --git a/bsp/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk b/bsp/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk index f56cdd58..a34b7e63 100644 --- a/bsp/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk +++ b/bsp/buildroot/package/x11r7/xapp_xsetpointer/xapp_xsetpointer.mk @@ -9,6 +9,6 @@ XAPP_XSETPOINTER_SOURCE = xsetpointer-$(XAPP_XSETPOINTER_VERSION).tar.bz2 XAPP_XSETPOINTER_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XSETPOINTER_LICENSE = MIT XAPP_XSETPOINTER_LICENSE_FILES = COPYING -XAPP_XSETPOINTER_DEPENDENCIES = xproto_inputproto xlib_libX11 xlib_libXi +XAPP_XSETPOINTER_DEPENDENCIES = xlib_libX11 xlib_libXi xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash b/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash index 89a1abe4..7cbabb5c 100644 --- a/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash +++ b/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-January/002149.html -sha256 ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9 xsetroot-1.1.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002874.html +md5 5fe769c8777a6e873ed1305e4ce2c353 xsetroot-1.1.2.tar.bz2 +sha1 42ab81761823b44974feab86477007c49dbace50 xsetroot-1.1.2.tar.bz2 +sha256 10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c xsetroot-1.1.2.tar.bz2 +sha512 0b9df1b72305e5c24f1e1664578aa4411a5ffcdc5d318458117594e641f01c34700205b0d16c08abf4a8106d36128ccdbe1ea1f1035fce9018d6b52801a8b72b xsetroot-1.1.2.tar.bz2 +# Locally computed +sha256 48e9c9572e0dc1c14b93b753542f780e7751dd7f035816374d8a8be0211a4520 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.mk b/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.mk index 9000867c..98ba344c 100644 --- a/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.mk +++ b/bsp/buildroot/package/x11r7/xapp_xsetroot/xapp_xsetroot.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XSETROOT_VERSION = 1.1.1 +XAPP_XSETROOT_VERSION = 1.1.2 XAPP_XSETROOT_SOURCE = xsetroot-$(XAPP_XSETROOT_VERSION).tar.bz2 XAPP_XSETROOT_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XSETROOT_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.hash b/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.hash index aef9e558..eda231fe 100644 --- a/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.hash +++ b/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-February/002163.html -sha256 ad9dee2847a683841f73518a83014b0accae60e9eff7e96752a0dbc412867b4a xsm-1.0.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002875.html +md5 bd32c14f09d58f46084b6a8f20e6e8f1 xsm-1.0.4.tar.bz2 +sha1 dd41234e276fe8b2d0a853879568f73b6d98812a xsm-1.0.4.tar.bz2 +sha256 9934b6893a4e52cf7435368fc8d425c371b5e32d96e420ead30166eb82d64425 xsm-1.0.4.tar.bz2 +sha512 d4e4da7c309a4eae126d2b58a13684f4dbc06b09f76dde9c89c707375df2843614f3d83bc44f9cd02f239200db3397abd86796dca0dbafc69f60482b0af5a176 xsm-1.0.4.tar.bz2 +# Locally computed +sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.mk b/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.mk index d4d24077..6d752b4d 100644 --- a/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.mk +++ b/bsp/buildroot/package/x11r7/xapp_xsm/xapp_xsm.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XSM_VERSION = 1.0.3 +XAPP_XSM_VERSION = 1.0.4 XAPP_XSM_SOURCE = xsm-$(XAPP_XSM_VERSION).tar.bz2 XAPP_XSM_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XSM_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.hash b/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.hash index 1d9b4d5c..606618bc 100644 --- a/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.hash +++ b/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-August/002292.html -sha256 3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79 xwd-1.0.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002876.html +md5 11794a8eba6d295a192a8975287fd947 xwd-1.0.7.tar.bz2 +sha1 65ce0617be29687cf6082c3a0e85d15a0dcccda9 xwd-1.0.7.tar.bz2 +sha256 cd6815b8b9e0b98e284d3d732fb12162159cb9dcee4f45a7d4c0bd8b308a6794 xwd-1.0.7.tar.bz2 +sha512 6fdb0a115ae505169bbc7fcc45580daf26bced2e26e0bf9a877636016038931a8386e8edcbe015f4024be508d0461906adef4834cf22a445e3c282f0b8fad17e xwd-1.0.7.tar.bz2 +# Locally computed +sha256 7cfda56afd92a1ecd2f23bd0064e01b5141053390d854785504adfe2c0fbd946 COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.mk b/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.mk index 0cda34ee..4d7ed0f8 100644 --- a/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.mk +++ b/bsp/buildroot/package/x11r7/xapp_xwd/xapp_xwd.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XWD_VERSION = 1.0.6 +XAPP_XWD_VERSION = 1.0.7 XAPP_XWD_SOURCE = xwd-$(XAPP_XWD_VERSION).tar.bz2 XAPP_XWD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XWD_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash b/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash index 4b891a20..e3882584 100644 --- a/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash +++ b/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002215.html -sha256 218eb0ea95bd8de7903dfaa26423820c523ad1598be0751d2d8b6a2c23b23ff8 xwininfo-1.1.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002877.html +md5 9a505b91ae7160bbdec360968d060c83 xwininfo-1.1.4.tar.bz2 +sha1 7364e79d1de7bb612dd98c336c649648c6c081ca xwininfo-1.1.4.tar.bz2 +sha256 839498aa46b496492a5c65cd42cd2e86e0da88149b0672e90cb91648f8cd5b01 xwininfo-1.1.4.tar.bz2 +sha512 d3ab103a0a311e08d1eabc4346750c21eb7d2fbcdc27cab0989a2624b9cd488911614fcf9832603353450114b1231a8f8262cab16e090a0d458d83ec7b6b959b xwininfo-1.1.4.tar.bz2 +# Locally computed +sha256 443d675237c023a47e4886506b72796afbb2633394812027f91d6e8fa433b2af COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk b/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk index 8ae5961e..7da881a9 100644 --- a/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk +++ b/bsp/buildroot/package/x11r7/xapp_xwininfo/xapp_xwininfo.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XWININFO_VERSION = 1.1.3 +XAPP_XWININFO_VERSION = 1.1.4 XAPP_XWININFO_SOURCE = xwininfo-$(XAPP_XWININFO_VERSION).tar.bz2 XAPP_XWININFO_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XWININFO_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.hash b/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.hash index 44e9c607..e4205781 100644 --- a/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.hash +++ b/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2012-March/001927.html -sha256 d6b3a09ccfe750868e26bd2384900ab5ff0d434f7f40cd272a50eda8aaa1f8bd xwud-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002878.html +md5 79972093bb0766fcd0223b2bd6d11932 xwud-1.0.5.tar.bz2 +sha1 a85d84a1b81f8e667ea6ac126d447590c93eb079 xwud-1.0.5.tar.bz2 +sha256 99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9 xwud-1.0.5.tar.bz2 +sha512 27a0ce7481978ae6cd94b0d94374af72185e270d68f2496620e148bb00945427c4827138d9efc48745e6382e3da3390ed0cdff7dbd02dcf9706e8ecccae97184 xwud-1.0.5.tar.bz2 +# Locally computed +sha256 be3db9aa060c462490a8c1ed44a4d059b32bba359f4688b1ecf3f794d363539e COPYING diff --git a/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.mk b/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.mk index 60afd862..2c2e1ad4 100644 --- a/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.mk +++ b/bsp/buildroot/package/x11r7/xapp_xwud/xapp_xwud.mk @@ -4,7 +4,7 @@ # ################################################################################ -XAPP_XWUD_VERSION = 1.0.4 +XAPP_XWUD_VERSION = 1.0.5 XAPP_XWUD_SOURCE = xwud-$(XAPP_XWUD_VERSION).tar.bz2 XAPP_XWUD_SITE = http://xorg.freedesktop.org/releases/individual/app XAPP_XWUD_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xcb-proto/0001-Make-whitespace-use-consistent.patch b/bsp/buildroot/package/x11r7/xcb-proto/0001-Make-whitespace-use-consistent.patch deleted file mode 100644 index 67adada5..00000000 --- a/bsp/buildroot/package/x11r7/xcb-proto/0001-Make-whitespace-use-consistent.patch +++ /dev/null @@ -1,212 +0,0 @@ -From ea7a3ac6c658164690e0febb55f4467cb9e0bcac Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Thu, 19 May 2016 17:30:04 +0200 -Subject: [PATCH] Make whitespace use consistent. - -At least python-3.5.x complains about this forcefully. - -Signed-off-by: Thomas Klausner -Signed-off-by: Uli Schlachter -Signed-off-by: Arnout Vandecappelle (Essensium/Mind) ---- - xcbgen/align.py | 96 ++++++++++++++++++++++++++++----------------------------- - 1 file changed, 48 insertions(+), 48 deletions(-) - -diff --git a/xcbgen/align.py b/xcbgen/align.py -index 5e31838..d4c12ee 100644 ---- a/xcbgen/align.py -+++ b/xcbgen/align.py -@@ -16,12 +16,12 @@ class Alignment(object): - return self.align == other.align and self.offset == other.offset - - def __str__(self): -- return "(align=%d, offset=%d)" % (self.align, self.offset) -+ return "(align=%d, offset=%d)" % (self.align, self.offset) - - @staticmethod - def for_primitive_type(size): -- # compute the required start_alignment based on the size of the type -- if size % 8 == 0: -+ # compute the required start_alignment based on the size of the type -+ if size % 8 == 0: - # do 8-byte primitives require 8-byte alignment in X11? - return Alignment(8,0) - elif size % 4 == 0: -@@ -33,7 +33,7 @@ class Alignment(object): - - - def align_after_fixed_size(self, size): -- new_offset = (self.offset + size) % self.align -+ new_offset = (self.offset + size) % self.align - return Alignment(self.align, new_offset) - - -@@ -41,7 +41,7 @@ class Alignment(object): - ''' - Assuming the given external_align, checks whether - self is fulfilled for all cases. -- Returns True if yes, False otherwise. -+ Returns True if yes, False otherwise. - ''' - if self.align == 1 and self.offset == 0: - # alignment 1 with offset 0 is always fulfilled -@@ -55,9 +55,9 @@ class Alignment(object): - # the external align guarantees less alignment -> not guaranteed - return False - -- if external_align.align % self.align != 0: -+ if external_align.align % self.align != 0: - # the external align cannot be divided by our align -- # -> not guaranteed -+ # -> not guaranteed - # (this can only happen if there are alignments that are not - # a power of 2, which is highly discouraged. But better be - # safe and check for it) -@@ -72,7 +72,7 @@ class Alignment(object): - - def combine_with(self, other): - # returns the alignment that is guaranteed when -- # both, self or other, can happen -+ # both, self or other, can happen - new_align = gcd(self.align, other.align) - new_offset_candidate1 = self.offset % new_align - new_offset_candidate2 = other.offset % new_align -@@ -83,8 +83,8 @@ class Alignment(object): - new_align = gcd(new_align, offset_diff) - new_offset_candidate1 = self.offset % new_align - new_offset_candidate2 = other.offset % new_align -- assert new_offset_candidate1 == new_offset_candidate2 -- new_offset = new_offset_candidate1 -+ assert new_offset_candidate1 == new_offset_candidate2 -+ new_offset = new_offset_candidate1 - # return the result - return Alignment(new_align, new_offset) - -@@ -92,44 +92,44 @@ class Alignment(object): - class AlignmentLog(object): - - def __init__(self): -- self.ok_list = [] -- self.fail_list = [] -- self.verbosity = 1 -+ self.ok_list = [] -+ self.fail_list = [] -+ self.verbosity = 1 - - def __str__(self): -- result = "" -+ result = "" - -- # output the OK-list -- for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list: -- stacksize = len(callstack) -+ # output the OK-list -+ for (align_before, field_name, type_obj, callstack, align_after) in self.ok_list: -+ stacksize = len(callstack) - indent = ' ' * stacksize -- if self.ok_callstack_is_relevant(callstack): -+ if self.ok_callstack_is_relevant(callstack): - if field_name is None or field_name == "": -- result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n" -- % (indent, str(type_obj), indent, str(align_before), str(align_after))) -- else: -- result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n" -- % (indent, str(field_name), str(type_obj), -- indent, str(align_before), str(align_after))) -+ result += (" %sok: %s:\n\t%sbefore: %s, after: %s\n" -+ % (indent, str(type_obj), indent, str(align_before), str(align_after))) -+ else: -+ result += (" %sok: field \"%s\" in %s:\n\t%sbefore: %s, after: %s\n" -+ % (indent, str(field_name), str(type_obj), -+ indent, str(align_before), str(align_after))) - if self.verbosity >= 1: -- result += self.callstack_to_str(indent, callstack) -+ result += self.callstack_to_str(indent, callstack) - -- # output the fail-list -- for (align_before, field_name, type_obj, callstack, reason) in self.fail_list: -- stacksize = len(callstack) -+ # output the fail-list -+ for (align_before, field_name, type_obj, callstack, reason) in self.fail_list: -+ stacksize = len(callstack) - indent = ' ' * stacksize -- if field_name is None or field_name == "": -- result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n" -- % (indent, str(align_before), indent, str(type_obj), indent, reason)) -- else: -- result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n" -- % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason)) -+ if field_name is None or field_name == "": -+ result += (" %sfail: align %s is incompatible with\n\t%s%s\n\t%sReason: %s\n" -+ % (indent, str(align_before), indent, str(type_obj), indent, reason)) -+ else: -+ result += (" %sfail: align %s is incompatible with\n\t%sfield \"%s\" in %s\n\t%sReason: %s\n" -+ % (indent, str(align_before), indent, str(field_name), str(type_obj), indent, reason)) - - if self.verbosity >= 1: -- result += self.callstack_to_str(indent, callstack) -+ result += self.callstack_to_str(indent, callstack) - - -- return result -+ return result - - - def callstack_to_str(self, indent, callstack): -@@ -137,41 +137,41 @@ class AlignmentLog(object): - for stack_elem in callstack: - result += "\t %s%s\n" % (indent, str(stack_elem)) - result += "\t%s]\n" % indent -- return result -+ return result - - - def ok_callstack_is_relevant(self, ok_callstack): - # determine whether an ok callstack is relevant for logging -- if self.verbosity >= 2: -- return True -+ if self.verbosity >= 2: -+ return True - - # empty callstacks are always relevant -- if len(ok_callstack) == 0: -+ if len(ok_callstack) == 0: - return True - -- # check whether the ok_callstack is a subset or equal to a fail_callstack -+ # check whether the ok_callstack is a subset or equal to a fail_callstack - for (align_before, field_name, type_obj, fail_callstack, reason) in self.fail_list: - if len(ok_callstack) <= len(fail_callstack): - zipped = zip(ok_callstack, fail_callstack[:len(ok_callstack)]) -- is_subset = all([i == j for i, j in zipped]) -- if is_subset: -+ is_subset = all([i == j for i, j in zipped]) -+ if is_subset: - return True - - return False - - - def ok(self, align_before, field_name, type_obj, callstack, align_after): -- self.ok_list.append((align_before, field_name, type_obj, callstack, align_after)) -+ self.ok_list.append((align_before, field_name, type_obj, callstack, align_after)) - - def fail(self, align_before, field_name, type_obj, callstack, reason): -- self.fail_list.append((align_before, field_name, type_obj, callstack, reason)) -+ self.fail_list.append((align_before, field_name, type_obj, callstack, reason)) - - def append(self, other): -- self.ok_list.extend(other.ok_list) -- self.fail_list.extend(other.fail_list) -+ self.ok_list.extend(other.ok_list) -+ self.fail_list.extend(other.fail_list) - - def ok_count(self): -- return len(self.ok_list) -+ return len(self.ok_list) - - - --- -2.8.1 - diff --git a/bsp/buildroot/package/x11r7/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch b/bsp/buildroot/package/x11r7/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch deleted file mode 100644 index 6fa5d48d..00000000 --- a/bsp/buildroot/package/x11r7/xcb-proto/0002-print-is-a-function-and-needs-parentheses.patch +++ /dev/null @@ -1,70 +0,0 @@ -From bea5e1c85bdc0950913790364e18228f20395a3d Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Thu, 19 May 2016 17:30:05 +0200 -Subject: print() is a function and needs parentheses. - -Fixes build with python-3.x. - -Signed-off-by: Thomas Klausner -Signed-off-by: Uli Schlachter -[yann.morin.1998@free.fr: backport from upstream] -Signed-off-by: "Yann E. MORIN" - -diff --git a/xcbgen/xtypes.py b/xcbgen/xtypes.py -index c3b5758..b83b119 100644 ---- a/xcbgen/xtypes.py -+++ b/xcbgen/xtypes.py -@@ -501,7 +501,7 @@ class ComplexType(Type): - int(required_start_align_element.get('align', "4"), 0), - int(required_start_align_element.get('offset', "0"), 0)) - if verbose_align_log: -- print "Explicit start-align for %s: %s\n" % (self, self.required_start_align) -+ print ("Explicit start-align for %s: %s\n" % (self, self.required_start_align)) - - def resolve(self, module): - if self.resolved: -@@ -592,7 +592,7 @@ class ComplexType(Type): - if verbose_align_log: - print ("calc_required_start_align: %s has start-align %s" - % (str(self), str(self.required_start_align))) -- print "Details:\n" + str(log) -+ print ("Details:\n" + str(log)) - if self.required_start_align.offset != 0: - print (("WARNING: %s\n\thas start-align with non-zero offset: %s" - + "\n\tsuggest to add explicit definition with:" -@@ -619,12 +619,12 @@ class ComplexType(Type): - for offset in range(0,align): - align_candidate = Alignment(align, offset) - if verbose_align_log: -- print "trying %s for %s" % (str(align_candidate), str(self)) -+ print ("trying %s for %s" % (str(align_candidate), str(self))) - my_log = AlignmentLog() - if self.is_possible_start_align(align_candidate, callstack, my_log): - log.append(my_log) - if verbose_align_log: -- print "found start-align %s for %s" % (str(align_candidate), str(self)) -+ print ("found start-align %s for %s" % (str(align_candidate), str(self))) - return align_candidate - else: - my_ok_count = my_log.ok_count() -@@ -641,7 +641,7 @@ class ComplexType(Type): - # none of the candidates applies - # this type has illegal internal aligns for all possible start_aligns - if verbose_align_log: -- print "didn't find start-align for %s" % str(self) -+ print ("didn't find start-align for %s" % str(self)) - log.append(best_log) - return None - -@@ -900,7 +900,7 @@ class SwitchType(ComplexType): - # aux function for unchecked_get_alignment_after - def get_align_for_selected_case_field(self, case_field, start_align, callstack, log): - if verbose_align_log: -- print "get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field)) -+ print ("get_align_for_selected_case_field: %s, case_field = %s" % (str(self), str(case_field))) - total_align = start_align - for field in self.bitcases: - my_callstack = callstack[:] --- -cgit v0.10.2 - diff --git a/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.hash b/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.hash index 3f434854..b2ef3ee2 100644 --- a/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.hash +++ b/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2016-May/002693.html -sha256 5922aba4c664ab7899a29d92ea91a87aa4c1fc7eb5ee550325c3216c480a4906 xcb-proto-1.12.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002852.html +md5 abe9aa4886138150bbc04ae4f29b90e3 xcb-proto-1.13.tar.bz2 +sha1 f7fa35ab59af18cecadbe83fe705281dcfd82ffd xcb-proto-1.13.tar.bz2 +sha256 7b98721e669be80284e9bbfeab02d2d0d54cd11172b72271e47a2fe875e2bde1 xcb-proto-1.13.tar.bz2 +sha512 002aa2aa0ad503977e03419c6f136f1e3aa8c787916830ce6d6be8f81ca99edc1d8fc5f71ce8c592b490cc767bf6567695f0bafe55fe3f743076bcddbaac07f7 xcb-proto-1.13.tar.bz2 +# Locally computed +sha256 c5ffbfeaa501071ceeb97b7de2c0d703fdaa35de01c0fb6cbac1c28453a3e9fd COPYING diff --git a/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.mk b/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.mk index 84555d07..b85dad7f 100644 --- a/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.mk +++ b/bsp/buildroot/package/x11r7/xcb-proto/xcb-proto.mk @@ -4,7 +4,7 @@ # ################################################################################ -XCB_PROTO_VERSION = 1.12 +XCB_PROTO_VERSION = 1.13 XCB_PROTO_SOURCE = xcb-proto-$(XCB_PROTO_VERSION).tar.bz2 XCB_PROTO_SITE = http://xcb.freedesktop.org/dist XCB_PROTO_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xcb-util/xcb-util.hash b/bsp/buildroot/package/x11r7/xcb-util/xcb-util.hash index a9b8be25..c088a62b 100644 --- a/bsp/buildroot/package/x11r7/xcb-util/xcb-util.hash +++ b/bsp/buildroot/package/x11r7/xcb-util/xcb-util.hash @@ -1,2 +1,3 @@ # locally computed -sha256 c611259c0ab20fd76f79f48f4684843c18ea9c967eba78a45e8b3636315c18c4 xcb-util-0.3.9.tar.bz2 +sha256 46e49469cb3b594af1d33176cd7565def2be3fa8be4371d62271fabb5eae50e9 xcb-util-0.4.0.tar.bz2 +sha256 325b64f0b0284e08bbb7a78ae3e55c1edc2a7cd77f603225ae4b8ffc35423e37 COPYING diff --git a/bsp/buildroot/package/x11r7/xcb-util/xcb-util.mk b/bsp/buildroot/package/x11r7/xcb-util/xcb-util.mk index 7b913e2b..bb73530f 100644 --- a/bsp/buildroot/package/x11r7/xcb-util/xcb-util.mk +++ b/bsp/buildroot/package/x11r7/xcb-util/xcb-util.mk @@ -4,13 +4,11 @@ # ################################################################################ -XCB_UTIL_VERSION = 0.3.9 +XCB_UTIL_VERSION = 0.4.0 XCB_UTIL_SOURCE = xcb-util-$(XCB_UTIL_VERSION).tar.bz2 XCB_UTIL_SITE = http://xcb.freedesktop.org/dist - -# unfortunately, no license file XCB_UTIL_LICENSE = MIT - +XCB_UTIL_LICENSE_FILES = COPYING XCB_UTIL_INSTALL_STAGING = YES XCB_UTIL_DEPENDENCIES = libxcb diff --git a/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash b/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash index 3e5fb328..05d37288 100644 --- a/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash +++ b/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2010-December/001563.html -sha1 578afff7e4912192b524c25254cf7f54c16e57d8 xbitmaps-1.1.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002881.html +md5 cedeef095918aca86da79a2934e03daf xbitmaps-1.1.2.tar.bz2 +sha1 1cb0e485a66280e9a64b48426140b8a0de9cf169 xbitmaps-1.1.2.tar.bz2 +sha256 b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee xbitmaps-1.1.2.tar.bz2 +sha512 eed5e2fce9fc6c532984e6ed1262e440591e311ca6c61a7fe7a5c877df84bfc2d7aff388fb9c894fc098785b8e5352f0bd7c918252247a040cf123874847450d xbitmaps-1.1.2.tar.bz2 +# Locally computed +sha256 e121ec6605558ee021674d33b1ab9306e16b9ea7d30453df42286556247be17a COPYING diff --git a/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk b/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk index 9767f2c1..e9545aba 100644 --- a/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk +++ b/bsp/buildroot/package/x11r7/xdata_xbitmaps/xdata_xbitmaps.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDATA_XBITMAPS_VERSION = 1.1.1 +XDATA_XBITMAPS_VERSION = 1.1.2 XDATA_XBITMAPS_SOURCE = xbitmaps-$(XDATA_XBITMAPS_VERSION).tar.bz2 XDATA_XBITMAPS_SITE = http://xorg.freedesktop.org/releases/individual/data XDATA_XBITMAPS_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash b/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash index e59c8486..6a8c9959 100644 --- a/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash +++ b/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-July/002271.html -sha256 e3fd2c05b9df0d88a3d1192c02143295744685f4f9a03db116e206698331bb86 xcursor-themes-1.0.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002882.html +md5 34a93df23e4aa9ee2832a4af33da3ceb xcursor-themes-1.0.5.tar.bz2 +sha1 6caae6cdb441003a42305f964c32bac21c34626f xcursor-themes-1.0.5.tar.bz2 +sha256 ae8381d39096598f7fe93fbd3ab079d93347a989f29e017f399ffcd20c8e1272 xcursor-themes-1.0.5.tar.bz2 +sha512 f41e1de0d5deafba33106dcad81576d1888fca052a962c202f2221104aa2d8236b066d8d8fc3dcfbdc166db63f84e60980dfc54059b20a26c7415de71ed07a5b xcursor-themes-1.0.5.tar.bz2 +# Locally computed +sha256 e437aed89c3440a9fe7e19968a3f2eeb97041ef6c9616837a3fd42d0874fc0e6 COPYING diff --git a/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk b/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk index a2987a0f..04829100 100644 --- a/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk +++ b/bsp/buildroot/package/x11r7/xdata_xcursor-themes/xdata_xcursor-themes.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDATA_XCURSOR_THEMES_VERSION = 1.0.4 +XDATA_XCURSOR_THEMES_VERSION = 1.0.5 XDATA_XCURSOR_THEMES_SOURCE = xcursor-themes-$(XDATA_XCURSOR_THEMES_VERSION).tar.bz2 XDATA_XCURSOR_THEMES_SITE = http://xorg.freedesktop.org/releases/individual/data XDATA_XCURSOR_THEMES_LICENSE = MIT diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in index 70e950dc..fe4e451e 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/Config.in @@ -3,9 +3,7 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV depends on BR2_PACKAGE_HAS_UDEV # libudev is configure dependency select BR2_PACKAGE_LIBEVDEV select BR2_PACKAGE_MTDEV - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Generic Linux input driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk index 4933c42f..ded7fa77 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev.mk @@ -15,10 +15,8 @@ XDRIVER_XF86_INPUT_EVDEV_DEPENDENCIES = \ host-pkgconf \ libevdev \ mtdev \ - xproto_inputproto \ + xorgproto \ xserver_xorg-server \ - xproto_randrproto \ - xproto_xproto \ udev $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in index ff9f25f5..892d1a16 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK bool "xf86-input-joystick" - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for joystick input devices diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk index 5bc2a5ca..0ec4be5e 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-joystick/xdriver_xf86-input-joystick.mk @@ -9,7 +9,7 @@ XDRIVER_XF86_INPUT_JOYSTICK_SOURCE = xf86-input-joystick-$(XDRIVER_XF86_INPUT_JO XDRIVER_XF86_INPUT_JOYSTICK_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_JOYSTICK_LICENSE = MIT XDRIVER_XF86_INPUT_JOYSTICK_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_JOYSTICK_DEPENDENCIES = xserver_xorg-server xproto_inputproto xproto_randrproto xproto_xproto +XDRIVER_XF86_INPUT_JOYSTICK_DEPENDENCIES = xserver_xorg-server xorgproto XDRIVER_XF86_INPUT_JOYSTICK_AUTORECONF = YES define XDRIVER_XF86_INPUT_JOYSTICK_CONF diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in index 0a035242..ee23033b 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/Config.in @@ -1,8 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD bool "xf86-input-keyboard" - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_KBPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Keyboard input driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk index 01a6859c..fb1e2896 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-keyboard/xdriver_xf86-input-keyboard.mk @@ -9,7 +9,7 @@ XDRIVER_XF86_INPUT_KEYBOARD_SOURCE = xf86-input-keyboard-$(XDRIVER_XF86_INPUT_KE XDRIVER_XF86_INPUT_KEYBOARD_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_KEYBOARD_LICENSE = MIT XDRIVER_XF86_INPUT_KEYBOARD_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_KEYBOARD_DEPENDENCIES = xserver_xorg-server xproto_inputproto xproto_kbproto xproto_randrproto xproto_xproto +XDRIVER_XF86_INPUT_KEYBOARD_DEPENDENCIES = xserver_xorg-server xorgproto XDRIVER_XF86_INPUT_KEYBOARD_CONF_OPTS = --disable-selective-werror $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in index 0f2db1bd..0cfbfc66 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/Config.in @@ -3,8 +3,7 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_LIBINPUT depends on BR2_ENABLE_LOCALE # libinput depends on BR2_PACKAGE_HAS_UDEV # libinput select BR2_PACKAGE_LIBINPUT - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help This is an X driver based on libinput. It is a thin wrapper around libinput, so while it does provide all features that diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash index 43b8f78f..c6f2577b 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.hash @@ -1,5 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-September/002807.html -md5 da47ef62eab1d0e922a8fa929ff81758 xf86-input-libinput-0.26.0.tar.bz2 -sha1 3f55b8a5d4ff51d4f0cfe3fe9ace66227193abd4 xf86-input-libinput-0.26.0.tar.bz2 -sha256 abca558fc2226f295691f1cf3412d4c0edeaa439f677ca25b5c9fab310d2387b xf86-input-libinput-0.26.0.tar.bz2 -sha512 b52a27e916f7e86576500ef2bc3ce640676f5a710543755865a723628c0e01a575989460853bac184ed696961e3f8fca72ecba8ad4625be8cd9e31f9a55f5e97 xf86-input-libinput-0.26.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-October/002923.html +md5 9d2fb3d6b452d568a275908b856de0e2 xf86-input-libinput-0.28.1.tar.bz2 +sha1 f72f298c23fa993857ff1a9a06754f2f5962b376 xf86-input-libinput-0.28.1.tar.bz2 +sha256 9ada448e076c0078a84b48e5298fa8ce317565f9b342b74c20429214a707d98b xf86-input-libinput-0.28.1.tar.bz2 +sha512 2b8cabfbc3490edbe928771ed9d62a0d4a423bc1373fc6cf9d3a6b5937e17ddc48ebb1b70f1191e507024e4b8220c137495cbba825292b51e50709daa7d31623 xf86-input-libinput-0.28.1.tar.bz2 +# Locally computed +sha256 b808a8a077995380c6064bec41616f98546b0b2e79bb7f3d0247d290e275b396 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk index dab24b12..83de5c96 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-libinput/xdriver_xf86-input-libinput.mk @@ -4,12 +4,12 @@ # ################################################################################ -XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.26.0 +XDRIVER_XF86_INPUT_LIBINPUT_VERSION = 0.28.1 XDRIVER_XF86_INPUT_LIBINPUT_SOURCE = xf86-input-libinput-$(XDRIVER_XF86_INPUT_LIBINPUT_VERSION).tar.bz2 XDRIVER_XF86_INPUT_LIBINPUT_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_LIBINPUT_LICENSE = MIT XDRIVER_XF86_INPUT_LIBINPUT_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_LIBINPUT_DEPENDENCIES = libinput xserver_xorg-server xproto_inputproto xproto_xproto +XDRIVER_XF86_INPUT_LIBINPUT_DEPENDENCIES = libinput xserver_xorg-server xorgproto XDRIVER_XF86_INPUT_LIBINPUT_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in index 20e1803a..efa181e5 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/Config.in @@ -1,7 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE bool "xf86-input-mouse" - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for mouse input devices diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash index caba427b..551ff9d8 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2016-November/002740.html -sha256 f425d5b05c6ab412a27e0a1106bb83f9e2662b307210abbe48270892387f4b2f xf86-input-mouse-1.9.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-June/002903.html +md5 a2104693bbcfe1413397f7905eecd3dc xf86-input-mouse-1.9.3.tar.bz2 +sha1 b3982998808ba43117fc066c4ecc94ce67c5818e xf86-input-mouse-1.9.3.tar.bz2 +sha256 93ecb350604d05be98b7d4e5db3b8155a44890069a7d8d6b800c0bea79c85cc5 xf86-input-mouse-1.9.3.tar.bz2 +sha512 d99f5b4b1ef1aa4cbf1a92549e412f54f121bc804e4d6643248ad7ea18081b38b958bd289dc8476ebc0f6ef5f7424c2f2a8abcfaa30cae5378829549af6b148f xf86-input-mouse-1.9.3.tar.bz2 +# Locally computed +sha256 472ff645ead9bf3ffb48d42c596376ffc595897e0c0993a071a7ada0da1f4f10 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk index 5bcbeb70..3886fa7a 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-mouse/xdriver_xf86-input-mouse.mk @@ -4,12 +4,12 @@ # ################################################################################ -XDRIVER_XF86_INPUT_MOUSE_VERSION = 1.9.2 +XDRIVER_XF86_INPUT_MOUSE_VERSION = 1.9.3 XDRIVER_XF86_INPUT_MOUSE_SOURCE = xf86-input-mouse-$(XDRIVER_XF86_INPUT_MOUSE_VERSION).tar.bz2 XDRIVER_XF86_INPUT_MOUSE_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_MOUSE_LICENSE = MIT XDRIVER_XF86_INPUT_MOUSE_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_MOUSE_DEPENDENCIES = xserver_xorg-server xproto_inputproto xproto_randrproto xproto_xproto +XDRIVER_XF86_INPUT_MOUSE_DEPENDENCIES = xserver_xorg-server xorgproto XDRIVER_XF86_INPUT_MOUSE_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in index ffe1a2a4..b974265b 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/Config.in @@ -1,9 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_SYNAPTICS bool "xf86-input-synaptics" select BR2_PACKAGE_LIBEVDEV - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_MTDEV + select BR2_PACKAGE_XORGPROTO help X.Org driver for synaptics input devices diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk index 6bd9cc49..0708110e 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-synaptics/xdriver_xf86-input-synaptics.mk @@ -9,7 +9,7 @@ XDRIVER_XF86_INPUT_SYNAPTICS_SOURCE = xf86-input-synaptics-$(XDRIVER_XF86_INPUT_ XDRIVER_XF86_INPUT_SYNAPTICS_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_SYNAPTICS_LICENSE = MIT XDRIVER_XF86_INPUT_SYNAPTICS_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_SYNAPTICS_DEPENDENCIES = libevdev xserver_xorg-server xproto_inputproto xproto_randrproto xproto_xproto mtdev +XDRIVER_XF86_INPUT_SYNAPTICS_DEPENDENCIES = libevdev xserver_xorg-server xorgproto mtdev XDRIVER_XF86_INPUT_SYNAPTICS_AUTORECONF = YES $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in index 4e77abcb..9205cba6 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_TSLIB bool "xf86-input-tslib" - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO select BR2_PACKAGE_TSLIB help Touch screen library input driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk index bf0ee486..f8944f35 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-tslib/xdriver_xf86-input-tslib.mk @@ -10,10 +10,8 @@ XDRIVER_XF86_INPUT_TSLIB_SITE = https://github.com/merge/xf86-input-tslib/releas XDRIVER_XF86_INPUT_TSLIB_LICENSE = MIT XDRIVER_XF86_INPUT_TSLIB_LICENSE_FILES = COPYING XDRIVER_XF86_INPUT_TSLIB_DEPENDENCIES = \ - xproto_inputproto \ xserver_xorg-server \ - xproto_randrproto \ - xproto_xproto \ + xorgproto \ tslib $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in index de989eb3..d77def02 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_VMMOUSE bool "xf86-input-vmmouse" depends on BR2_i386 || BR2_x86_64 - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help VMWare mouse input driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk index 6e9cf8b7..b8c77de5 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-input-vmmouse/xdriver_xf86-input-vmmouse.mk @@ -9,7 +9,7 @@ XDRIVER_XF86_INPUT_VMMOUSE_SOURCE = xf86-input-vmmouse-$(XDRIVER_XF86_INPUT_VMMO XDRIVER_XF86_INPUT_VMMOUSE_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_INPUT_VMMOUSE_LICENSE = MIT XDRIVER_XF86_INPUT_VMMOUSE_LICENSE_FILES = COPYING -XDRIVER_XF86_INPUT_VMMOUSE_DEPENDENCIES = xserver_xorg-server xproto_inputproto xproto_randrproto xproto_xproto +XDRIVER_XF86_INPUT_VMMOUSE_DEPENDENCIES = xserver_xorg-server xorgproto ifeq ($(BR2_PACKAGE_HAS_UDEV),y) XDRIVER_XF86_INPUT_VMMOUSE_CONF_OPTS += --with-libudev diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in index 968c5e76..43090c75 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/Config.in @@ -6,14 +6,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AMDGPU select BR2_PACKAGE_LIBDRM_AMDGPU select BR2_PACKAGE_LIBEPOXY select BR2_PACKAGE_XLIB_LIBXCOMPOSITE - select BR2_PACKAGE_XPROTO_DRI3PROTO - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help AMD GPU video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash index b5910f3c..999f9718 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.hash @@ -1,5 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-September/002805.html -md5 15a54f0a7870a57e3f611c9114924137 xf86-video-amdgpu-1.4.0.tar.bz2 -sha1 d9971cc6177095219a6687328aef25a72df3dd9d xf86-video-amdgpu-1.4.0.tar.bz2 -sha256 f8cac4bf3dd795b93cc337e5c0c62618026f597890a10d996f09c73eb88ba67c xf86-video-amdgpu-1.4.0.tar.bz2 -sha512 cae6417a45f6b981e007e080486083f1c38eaca58c6e331b04bbf46c86f23394742a722ae0d798d8dcad66879e99d90e57f04ae9ccb198f3ed26ec745878ccc2 xf86-video-amdgpu-1.4.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-September/002918.html +md5 5d75f5993cda5e013cd851c5947ec450 xf86-video-amdgpu-18.1.0.tar.bz2 +sha1 d3097af7da3b56396721e214f348e7ceb5f3a358 xf86-video-amdgpu-18.1.0.tar.bz2 +sha256 e11f25bb51d718b8ea938ad2b8095323c0ab16f4ddffd92091d80f9a445a9672 xf86-video-amdgpu-18.1.0.tar.bz2 +sha512 371f1a9f6cd2ce3b7117361222d196950c5efa01d957783c79a37c19a2273ce33d133fa51bb68432b8535aad61cb14fbb61d173a167d318b2533eb2507b7a903 xf86-video-amdgpu-18.1.0.tar.bz2 +# Locally computed +sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk index 50e5310e..6a8266d0 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-amdgpu/xdriver_xf86-video-amdgpu.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 1.4.0 +XDRIVER_XF86_VIDEO_AMDGPU_VERSION = 18.1.0 XDRIVER_XF86_VIDEO_AMDGPU_SOURCE = xf86-video-amdgpu-$(XDRIVER_XF86_VIDEO_AMDGPU_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_AMDGPU_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_AMDGPU_LICENSE = MIT @@ -12,14 +12,7 @@ XDRIVER_XF86_VIDEO_AMDGPU_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_AMDGPU_DEPENDENCIES = \ libdrm \ xlib_libXcomposite \ - xproto_dri3proto \ - xproto_fontsproto \ - xproto_glproto \ - xproto_randrproto \ - xproto_videoproto \ - xproto_xextproto \ - xproto_xf86driproto \ - xproto_xproto \ + xorgproto \ xserver_xorg-server # xdriver_xf86-video-amdgpu requires O_CLOEXEC diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in index cecedde0..e1219aff 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ARK bool "xf86-video-ark" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for ark cards diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk index c0b905b8..3f2a6360 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ark/xdriver_xf86-video-ark.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_ARK_SOURCE = xf86-video-ark-$(XDRIVER_XF86_VIDEO_ARK_VERSION) XDRIVER_XF86_VIDEO_ARK_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_ARK_LICENSE = MIT XDRIVER_XF86_VIDEO_ARK_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_ARK_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_ARK_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in index 5dfe95e5..2ebe8fc2 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/Config.in @@ -1,6 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_AST bool "xf86-video-ast" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help No description available diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk index 3c9eb911..b39bbf9a 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ast/xdriver_xf86-video-ast.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_AST_SOURCE = xf86-video-ast-$(XDRIVER_XF86_VIDEO_AST_VERSION) XDRIVER_XF86_VIDEO_AST_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_AST_LICENSE = MIT XDRIVER_XF86_VIDEO_AST_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_AST_DEPENDENCIES = xproto_fontsproto xproto_xproto xserver_xorg-server +XDRIVER_XF86_VIDEO_AST_DEPENDENCIES = xorgproto xserver_xorg-server $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in index 00d91bda..fdf1ebd1 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/Config.in @@ -5,14 +5,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI select BR2_PACKAGE_LIBDRM_RADEON select BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON select BR2_PACKAGE_XLIB_LIBXCOMPOSITE - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XINERAMAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help ATI video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash index 117c5749..e9581cb0 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.hash @@ -1,5 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-September/002806.html -md5 0ff538f78ae82ccce384dadf7a705863 xf86-video-ati-7.10.0.tar.bz2 -sha1 38e535ecc8445c1b9464ac34db959337929887f7 xf86-video-ati-7.10.0.tar.bz2 -sha256 ee51d642e3105cb5424f02622dc2966b87b42d498bb34104a70fcf6d4a8f4e79 xf86-video-ati-7.10.0.tar.bz2 -sha512 1f2f4af1d299af62644693e6fbc47a5078c9bc5e7887a1ac217121ef2fd29d8c9f50a8d9be9ddb0887d0b49141bb33484f82c1313a472ad6867266b53b4a11ad xf86-video-ati-7.10.0.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-September/002919.html +md5 7910883fff7f4a462efac0fe059ed7e3 xf86-video-ati-18.1.0.tar.bz2 +sha1 87beb7d09f5b722570adda9a5a1822cbd19e7059 xf86-video-ati-18.1.0.tar.bz2 +sha256 6c335f423c1dc3d904550d41cb871ca4130ba7037dda67d82e3f1555e1bfb9ac xf86-video-ati-18.1.0.tar.bz2 +sha512 7a58c9a6cb4876bd2ff37d837372b4e360e81fec7de6a6c7a48d70a5338d62745f734f5d4207f30aa368ff2d9ef44f5f1ef36afd73802a618998c16fe395ed53 xf86-video-ati-18.1.0.tar.bz2 +# Locally computed +sha256 58847c8e97190c401afa84b3f0b8b147379c876a184e99af2cb51bfd40ac8936 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk index f8b8f70c..e89929d2 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-ati/xdriver_xf86-video-ati.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_ATI_VERSION = 7.10.0 +XDRIVER_XF86_VIDEO_ATI_VERSION = 18.1.0 XDRIVER_XF86_VIDEO_ATI_SOURCE = xf86-video-ati-$(XDRIVER_XF86_VIDEO_ATI_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_ATI_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_ATI_LICENSE = MIT @@ -12,17 +12,10 @@ XDRIVER_XF86_VIDEO_ATI_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_ATI_DEPENDENCIES = \ libdrm \ xlib_libXcomposite \ - xproto_fontsproto \ - xproto_glproto \ - xproto_randrproto \ - xproto_videoproto \ - xproto_xextproto \ - xproto_xf86driproto \ - xproto_xineramaproto \ - xproto_xproto \ + xorgproto \ xserver_xorg-server -ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO)$(BR2_PACKAGE_LIBEPOXY),yy) +ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy) XDRIVER_XF86_VIDEO_ATI_CONF_OPTS = --enable-glamor else XDRIVER_XF86_VIDEO_ATI_CONF_OPTS = --disable-glamor diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in index 11c9df8e..2987c3f0 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/Config.in @@ -1,10 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS bool "xf86-video-cirrus" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Cirrus Logic video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk index 78e8a9c0..fa776a24 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-cirrus/xdriver_xf86-video-cirrus.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_CIRRUS_SOURCE = xf86-video-cirrus-$(XDRIVER_XF86_VIDEO_CIRRUS XDRIVER_XF86_VIDEO_CIRRUS_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_CIRRUS_LICENSE = MIT XDRIVER_XF86_VIDEO_CIRRUS_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_CIRRUS_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_CIRRUS_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in index 00f7e1df..58c70a84 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/Config.in @@ -1,10 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_DUMMY bool "xf86-video-dummy" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for dummy cards diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk index fff1495e..3127f6cb 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-dummy/xdriver_xf86-video-dummy.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_DUMMY_SOURCE = xf86-video-dummy-$(XDRIVER_XF86_VIDEO_DUMMY_VE XDRIVER_XF86_VIDEO_DUMMY_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_DUMMY_LICENSE = MIT XDRIVER_XF86_VIDEO_DUMMY_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_DUMMY_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xf86dgaproto xproto_xproto +XDRIVER_XF86_VIDEO_DUMMY_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in index 9f7c5402..0ecba482 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV bool "xf86-video-fbdev" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help video driver for framebuffer device diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk index 7d08c7da..f39311e6 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbdev/xdriver_xf86-video-fbdev.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_FBDEV_SOURCE = xf86-video-fbdev-$(XDRIVER_XF86_VIDEO_FBDEV_VE XDRIVER_XF86_VIDEO_FBDEV_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_FBDEV_LICENSE = MIT XDRIVER_XF86_VIDEO_FBDEV_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_FBDEV_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xproto +XDRIVER_XF86_VIDEO_FBDEV_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in index 7825901e..7acf93e2 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/Config.in @@ -2,13 +2,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBTURBO bool "xf86-video-fbturbo" select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_PIXMAN - select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_LIBUMP - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO + select BR2_PACKAGE_XORGPROTO help video driver, primarily optimized for the devices powered by the Allwinner SoC (A10, A13, A20). It can use some of diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk index 15f4cd10..58a70416 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-fbturbo/xdriver_xf86-video-fbturbo.mk @@ -12,12 +12,7 @@ XDRIVER_XF86_VIDEO_FBTURBO_DEPENDENCIES = \ xserver_xorg-server \ libdrm \ pixman \ - xproto_fontsproto \ - xproto_randrproto \ - xproto_renderproto \ - xproto_videoproto \ - xproto_xproto \ - xproto_xf86driproto + xorgproto ifeq ($(BR2_PACKAGE_LIBPCIACCESS),y) XDRIVER_XF86_VIDEO_FBTURBO_DEPENDENCIES += libpciaccess @@ -30,10 +25,6 @@ ifeq ($(BR2_PACKAGE_LIBUMP),y) XDRIVER_XF86_VIDEO_FBTURBO_DEPENDENCIES += libump endif -ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y) -XDRIVER_XF86_VIDEO_FBTURBO_DEPENDENCIES += xproto_dri2proto -endif - define XDRIVER_XF86_VIDEO_FBTURBO_INSTALL_CONF_FILE $(INSTALL) -m 0644 -D $(@D)/xorg.conf $(TARGET_DIR)/etc/X11/xorg.conf endef diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in index fe217b92..b432f2d4 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/Config.in @@ -1,10 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GEODE bool "xf86-video-geode" depends on BR2_i386 - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help video driver for geode device diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk index 9138abdb..54616f65 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-geode/xdriver_xf86-video-geode.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_GEODE_SOURCE = xf86-video-geode-$(XDRIVER_XF86_VIDEO_GEODE_VE XDRIVER_XF86_VIDEO_GEODE_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_GEODE_LICENSE = MIT XDRIVER_XF86_VIDEO_GEODE_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_GEODE_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xproto +XDRIVER_XF86_VIDEO_GEODE_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in index acae30b0..c474f6c9 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/Config.in @@ -2,15 +2,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT bool "xf86-video-glint" depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help GLINT/Permedia video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk index 52bc567e..fba00307 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-glint/xdriver_xf86-video-glint.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_GLINT_SOURCE = xf86-video-glint-$(XDRIVER_XF86_VIDEO_GLINT_VE XDRIVER_XF86_VIDEO_GLINT_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_GLINT_LICENSE = MIT XDRIVER_XF86_VIDEO_GLINT_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_GLINT_DEPENDENCIES = xserver_xorg-server libdrm xproto_fontsproto xproto_glproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86dgaproto xproto_xf86driproto xproto_xproto +XDRIVER_XF86_VIDEO_GLINT_DEPENDENCIES = xserver_xorg-server libdrm xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch deleted file mode 100644 index 40bb1ea2..00000000 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/0001-mbstring.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c87753733a6e1f85d1d037dced0b47ce0cf41658 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 25 Sep 2012 12:54:40 +0000 -Subject: Remove mibstore.h - -Signed-off-by: Adam Jackson ---- -Fetch from: -http://cgit.freedesktop.org/xorg/driver/xf86-video-i128/commit/?id=c87753733a6e1f85d1d037dced0b47ce0cf41658 - -Signed-off-by: Bernd Kuhls - -diff --git a/src/i128_driver.c b/src/i128_driver.c -index a0f08c0..51a4135 100644 ---- a/src/i128_driver.c -+++ b/src/i128_driver.c -@@ -50,8 +50,6 @@ - /* All drivers initialising the SW cursor need this */ - #include "mipointer.h" - --/* All drivers implementing backing store need this */ --#include "mibstore.h" - #include "micmap.h" - - #include "xf86DDC.h" -@@ -1556,7 +1554,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL) - return FALSE; - } - -- miInitializeBackingStore(pScreen); - xf86SetBackingStore(pScreen); - xf86SetSilkenMouse(pScreen); - --- -cgit v0.9.0.2-2-gbebe diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in index 30b240cc..4f4810cc 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/Config.in @@ -1,10 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_I128 bool "xf86-video-i128" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Number 9 I128 video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash index 9600c456..325e754f 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2012-July/002012.html -sha256 f8827e4c988f90cf5a677554b30d61f0a07eb86d872478751cdc94dc17452b9c xf86-video-i128-1.3.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-December/002932.html +md5 a980f1b8532ccfe81932580bc4e0f2a0 xf86-video-i128-1.4.0.tar.bz2 +sha1 56d5b897b2695222c13e59d2ade74620a99e1011 xf86-video-i128-1.4.0.tar.bz2 +sha256 8f2c0a6bf5a169dad3fc07c6dd4537b492d0e44489e4a1297311e617c3bed0ea xf86-video-i128-1.4.0.tar.bz2 +sha512 d58baee3f20b3ad2ece6853da0ff20a6d54b984c6e3289bad2715cc003b277a0b44d20ded25cfc116400468df552390bdb5d80fbd3fb60861488ee5d027664b2 xf86-video-i128-1.4.0.tar.bz2 +# Locally computed +sha256 7677424d79633dbf255a81bd4e05dd621931b89997af33c31522269ec2ed391e COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk index 1bb760ce..e44deaf6 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-i128/xdriver_xf86-video-i128.mk @@ -4,11 +4,11 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_I128_VERSION = 1.3.6 +XDRIVER_XF86_VIDEO_I128_VERSION = 1.4.0 XDRIVER_XF86_VIDEO_I128_SOURCE = xf86-video-i128-$(XDRIVER_XF86_VIDEO_I128_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_I128_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_I128_LICENSE = MIT XDRIVER_XF86_VIDEO_I128_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_I128_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_I128_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in index 5a025730..13cee14d 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/Config.in @@ -6,8 +6,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV select BR2_PACKAGE_MESA3D # Needed in order to compile xorg with glx/dri select BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XPROTO_XPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for iMX6 GPU (Vivante) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk index 222d74ac..09134275 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx-viv/xdriver_xf86-video-imx-viv.mk @@ -8,7 +8,7 @@ XDRIVER_XF86_VIDEO_IMX_VIV_VERSION = rel_imx_4.9.x_1.0.0_ga XDRIVER_XF86_VIDEO_IMX_VIV_SITE = https://source.codeaurora.org/external/imx/xf86-video-imx-vivante XDRIVER_XF86_VIDEO_IMX_VIV_SITE_METHOD = git XDRIVER_XF86_VIDEO_IMX_VIV_DEPENDENCIES = imx-gpu-viv imx-gpu-g2d xserver_xorg-server \ - xproto_xproto xproto_xf86driproto libdrm + xorgproto libdrm XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE = MIT XDRIVER_XF86_VIDEO_IMX_VIV_LICENSE_FILES = COPYING-MIT XDRIVER_XF86_VIDEO_IMX_VIV_INSTALL_STAGING = YES diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in index 398d49e1..410a4584 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/Config.in @@ -5,12 +5,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX depends on BR2_LINUX_KERNEL # linux/mxcfb.h depends on BR2_PACKAGE_GPU_AMD_BIN_MX51_OUTPUT_X11 select BR2_PACKAGE_LIBZ160 - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for iMX5 GPU diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk index 5684a6db..b80c6b77 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-imx/xdriver_xf86-video-imx.mk @@ -8,8 +8,7 @@ XDRIVER_XF86_VIDEO_IMX_VERSION = 11.09.01 XDRIVER_XF86_VIDEO_IMX_SOURCE = xserver-xorg-video-imx-$(XDRIVER_XF86_VIDEO_IMX_VERSION).tar.gz XDRIVER_XF86_VIDEO_IMX_SITE = $(FREESCALE_IMX_SITE) XDRIVER_XF86_VIDEO_IMX_DEPENDENCIES = linux libz160 xserver_xorg-server \ - xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto \ - xproto_xf86dgaproto xproto_xproto + xorgproto XDRIVER_XF86_VIDEO_IMX_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -I$(LINUX_DIR)/include" $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in index dc2fabf4..c4152b7c 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/Config.in @@ -1,11 +1,10 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL bool "xf86-video-intel" depends on (BR2_i386 || BR2_x86_64) - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_LIBPCIACCESS select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_INTEL select BR2_PACKAGE_XLIB_LIBXRANDR + select BR2_PACKAGE_XORGPROTO help Intel video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash new file mode 100644 index 00000000..2443dc28 --- /dev/null +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 685a1b3e1b486f4fb02dd14adc33b8ce215bb96ed8e26787ee8b7bda4c0d6cce xdriver_xf86-video-intel-33ee0c3b21ea279e08d0863fcb2e874f0974b00e.tar.gz +sha256 5808e89f4b9a30afc59f335bfa8219ecf2dacb89a81d16b322bc6d92993a48fa COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk index 6debdd09..bd315c8d 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk @@ -4,7 +4,7 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_INTEL_VERSION = b57abe20e81f4b8e4dd203b6a9eda7ff441bc8ce +XDRIVER_XF86_VIDEO_INTEL_VERSION = 33ee0c3b21ea279e08d0863fcb2e874f0974b00e XDRIVER_XF86_VIDEO_INTEL_SITE = git://anongit.freedesktop.org/xorg/driver/xf86-video-intel XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING @@ -27,26 +27,15 @@ XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = \ libdrm \ libpciaccess \ xlib_libXrandr \ - xproto_fontsproto \ - xproto_xproto \ + xorgproto \ xserver_xorg-server # X.org server support for DRI depends on a Mesa3D DRI driver ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) -XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --enable-dri --enable-dri1 -# quote from configure.ac: "UXA doesn't build without DRI2 headers" -ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y) -XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --enable-dri2 --enable-uxa -else -XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --disable-dri2 --disable-uxa -endif -ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y) -XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --enable-dri3 -else -XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --disable-dri3 -endif -else -XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --disable-dri +XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += \ + --enable-dri2 \ + --enable-dri3 \ + --enable-uxa endif $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in index 82de826a..71c89dd2 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64 bool "xf86-video-mach64" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help mach64 video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash index 43a7fa70..55acd746 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-May/002599.html -sha256 3e98985b6e044189efd42342862208f472881c25debf22230a1d54a96d71b41f xf86-video-mach64-6.9.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-May/002896.html +md5 0e12f9a3b5659e1e27e03adc42b04d99 xf86-video-mach64-6.9.6.tar.bz2 +sha1 1fdf0c3488ab88cb46b563efee166a5d54a01932 xf86-video-mach64-6.9.6.tar.bz2 +sha256 7a0707c71bb522430f83bb5e9d9ee697e661e35534a3a2d10834f86b327a3c9c xf86-video-mach64-6.9.6.tar.bz2 +sha512 687f6ac60491b704d5c4788463763d2f4bf725611e10bd2163156963fe0a8fdbffe0a1b7c737eff131f01759e43b5ec3544a7dabe66a67e85b286dcb969da2f1 xf86-video-mach64-6.9.6.tar.bz2 +# Locally computed +sha256 a7d68021893bced0d709338a59a137c74b11e624880e110e4a2f14ccef475120 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk index 59903603..e6f8d747 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk @@ -4,13 +4,13 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_MACH64_VERSION = 6.9.5 +XDRIVER_XF86_VIDEO_MACH64_VERSION = 6.9.6 XDRIVER_XF86_VIDEO_MACH64_SOURCE = xf86-video-mach64-$(XDRIVER_XF86_VIDEO_MACH64_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_MACH64_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_MACH64_LICENSE = MIT XDRIVER_XF86_VIDEO_MACH64_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_MACH64_AUTORECONF = YES -XDRIVER_XF86_VIDEO_MACH64_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_MACH64_DEPENDENCIES = xserver_xorg-server xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) XDRIVER_XF86_VIDEO_MACH64_CONF_OPTS = --disable-dri diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in index a504ec0c..15fb3b9f 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/Config.in @@ -2,14 +2,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA bool "xf86-video-mga" depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Matrox video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash index 0187e6fb..218e52e1 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002765.html -sha256 b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422 xf86-video-mga-1.6.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-December/002933.html +md5 b8fc99b4adea8bfe80156b13df4b6c9c xf86-video-mga-2.0.0.tar.bz2 +sha1 833f2710a1fd7b3f2db3700b2ad055527da5033b xf86-video-mga-2.0.0.tar.bz2 +sha256 268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79 xf86-video-mga-2.0.0.tar.bz2 +sha512 b92006486aef815ff4399f291d610c65d88c0b32a9dae97658c644715ff62b221b01495b5c7a2311745e26f699c1c1f753b81c7bf54cf75567af9f78ac015540 xf86-video-mga-2.0.0.tar.bz2 +# Locally computed +sha256 6c567575e381478c7616eedff3ea2ae5228a5b54fbdd22d4070ebae312fa085c COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk index 065a68ea..2720848a 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-mga/xdriver_xf86-video-mga.mk @@ -4,13 +4,13 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_MGA_VERSION = 1.6.5 +XDRIVER_XF86_VIDEO_MGA_VERSION = 2.0.0 XDRIVER_XF86_VIDEO_MGA_SOURCE = xf86-video-mga-$(XDRIVER_XF86_VIDEO_MGA_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_MGA_SITE = http://xorg.freedesktop.org/archive/individual/driver XDRIVER_XF86_VIDEO_MGA_LICENSE = MIT XDRIVER_XF86_VIDEO_MGA_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_MGA_AUTORECONF = YES -XDRIVER_XF86_VIDEO_MGA_DEPENDENCIES = xserver_xorg-server libdrm xproto_fontsproto xproto_glproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86driproto xproto_xproto +XDRIVER_XF86_VIDEO_MGA_DEPENDENCIES = xserver_xorg-server libdrm xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) XDRIVER_XF86_VIDEO_MGA_CONF_OPTS = --disable-dri diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in index f8c8c47f..5f36a48f 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/Config.in @@ -1,11 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NEOMAGIC bool "xf86-video-neomagic" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Neomagic video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash index fc830661..55996f5b 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-May/002602.html -sha256 72f89396b10527549337cb72a7eafb1194cf140144f9236a94ad2becdf140bf2 xf86-video-neomagic-1.2.9.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-December/002934.html +md5 349d5254d09eb46f2a1f151cd423b89a xf86-video-neomagic-1.3.0.tar.bz2 +sha1 6bccfa15ea05d5264120cd96ccf13687642e8f6d xf86-video-neomagic-1.3.0.tar.bz2 +sha256 93833950fae7757088eb6abb125e15e8c245e5e25681c19c3ad4213ec7319064 xf86-video-neomagic-1.3.0.tar.bz2 +sha512 25d019a2556e52aeb4e25942f444437a921e76d527c10ddd420f16aa7d85bf2b8a51612c382a2a7e3e407bb1e8d610d063101184eea0889c3e1a69bfb3b37735 xf86-video-neomagic-1.3.0.tar.bz2 +# Locally computed +sha256 95063ce9aa09850025dd317549ce688519079a8d3cf66ceb3d882cb2bafcced9 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk index cfd55361..8dd2777f 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-neomagic/xdriver_xf86-video-neomagic.mk @@ -4,11 +4,11 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION = 1.2.9 +XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION = 1.3.0 XDRIVER_XF86_VIDEO_NEOMAGIC_SOURCE = xf86-video-neomagic-$(XDRIVER_XF86_VIDEO_NEOMAGIC_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_NEOMAGIC_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_NEOMAGIC_LICENSE = MIT XDRIVER_XF86_VIDEO_NEOMAGIC_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_NEOMAGIC_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86dgaproto xproto_xproto +XDRIVER_XF86_VIDEO_NEOMAGIC_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in index 7e756e21..c9fd2e3d 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/Config.in @@ -4,11 +4,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NOUVEAU select BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_NOUVEAU - select BR2_PACKAGE_XPROTO_DRI2PROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO + select BR2_PACKAGE_XORGPROTO help Nouveau video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk index e3969a26..41b6fd6d 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nouveau/xdriver_xf86-video-nouveau.mk @@ -12,11 +12,7 @@ XDRIVER_XF86_VIDEO_NOUVEAU_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_NOUVEAU_DEPENDENCIES = \ host-pkgconf \ libdrm \ - xproto_dri2proto \ - xproto_randrproto \ - xproto_renderproto \ - xproto_videoproto \ - xproto_xextproto \ + xorgproto \ xserver_xorg-server # xdriver_xf86-video-nouveau requires O_CLOEXEC diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in index 8898f567..5ff8b798 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/Config.in @@ -1,10 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_NV bool "xf86-video-nv" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help NVIDIA video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk index 430ce4a1..1e5fc26d 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-nv/xdriver_xf86-video-nv.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_NV_SOURCE = xf86-video-nv-$(XDRIVER_XF86_VIDEO_NV_VERSION).ta XDRIVER_XF86_VIDEO_NV_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_NV_LICENSE = MIT XDRIVER_XF86_VIDEO_NV_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_NV_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_NV_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in index 02723eca..a93d1437 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/Config.in @@ -5,12 +5,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXCOMPOSITE select BR2_PACKAGE_XLIB_LIBXVMC - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Openchrome, A free and Open Source video driver for the VIA/S3G UniChrome and UniChrome Pro graphics chipsets. diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk index 9ab032b6..0a669e18 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-openchrome/xdriver_xf86-video-openchrome.mk @@ -16,12 +16,6 @@ XDRIVER_XF86_VIDEO_OPENCHROME_DEPENDENCIES = \ xlib_libX11 \ xlib_libXcomposite \ xlib_libXvMC \ - xproto_fontsproto \ - xproto_glproto \ - xproto_randrproto \ - xproto_renderproto \ - xproto_xextproto \ - xproto_xf86driproto \ - xproto_xproto + xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in index 967ecaf5..40f61fd6 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/Config.in @@ -5,8 +5,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_QXL select BR2_PACKAGE_LIBPCIACCESS select BR2_PACKAGE_SPICE_PROTOCOL select BR2_PACKAGE_XLIB_LIBXFONT2 if !BR2_PACKAGE_XLIB_LIBXFONT - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help QEMU QXL paravirt video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk index f410f8e9..ffbac05e 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-qxl/xdriver_xf86-video-qxl.mk @@ -16,8 +16,7 @@ XDRIVER_XF86_VIDEO_QXL_CONF_OPTS = \ XDRIVER_XF86_VIDEO_QXL_DEPENDENCIES = \ libpciaccess \ spice-protocol \ - xproto_fontsproto \ - xproto_xproto \ + xorgproto \ xserver_xorg-server # configure doesn't look for drm headers in the appropiate place, so help it diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch deleted file mode 100644 index 7b2ebd4b..00000000 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/0001-cross-compile.patch +++ /dev/null @@ -1,50 +0,0 @@ -Fix cross-compile - -Original patch for DRI -http://git.buildroot.net/buildroot/commit/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128-cross-compile.patch?id=c0726391523da6a17ffa8e62681ffa0cc895da8e - -Signed-off-by: Paulius Zaleckas -(Added exa.h fix) -Signed-off-by: Bernd Kuhls - ---- a/configure.ac 2008-06-23 10:39:28.000000000 -0400 -+++ b/configure.ac 2008-06-23 10:40:46.000000000 -0400 -@@ -85,14 +85,20 @@ sdkdir=$(pkg-config --variable=sdkdir xo - AC_HEADER_STDC - - if test "$DRI" != no; then -- AC_CHECK_FILE([${sdkdir}/dri.h], -+ if test "$cross_compiling" = "no" ; then -+ AC_CHECK_FILE([${sdkdir}/dri.h], - [have_dri_h="yes"], [have_dri_h="no"]) -- AC_CHECK_FILE([${sdkdir}/sarea.h], -+ AC_CHECK_FILE([${sdkdir}/sarea.h], - [have_sarea_h="yes"], [have_sarea_h="no"]) -- AC_CHECK_FILE([${sdkdir}/dristruct.h], -+ AC_CHECK_FILE([${sdkdir}/dristruct.h], - [have_dristruct_h="yes"], [have_dristruct_h="no"]) -- AC_CHECK_FILE([${sdkdir}/damage.h], -+ AC_CHECK_FILE([${sdkdir}/damage.h], - [have_damage_h="yes"], [have_damage_h="no"]) -+ else -+ have_dri_h="yes" -+ have_sarea_h="yes" -+ have_dristruct_h="yes" -+ fi - fi - - AC_MSG_CHECKING([whether to include DRI support]) -@@ -121,7 +127,12 @@ - AC_MSG_CHECKING([whether to enable EXA support]) - if test "x$EXA" = xyes; then - AC_MSG_RESULT(yes) -- AC_CHECK_FILE(${sdkdir}/exa.h, [have_exa_h="yes"], [have_exa_h="no"]) -+ if test "$cross_compiling" = "no" ; then -+ AC_CHECK_FILE(${sdkdir}/exa.h, -+ [have_exa_h="yes"], [have_exa_h="no"]) -+ else -+ have_exa_h="yes" -+ fi - else - AC_MSG_RESULT(no) - fi diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in index 22ba4931..e1e2dd2f 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128 bool "xf86-video-r128" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help R128 video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash index b6d8bd81..eee28650 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002764.html -sha256 84da21517f3af7617fdf341e84ccb22444d6cdab1647e4808fa631528b9a77de xf86-video-r128-6.10.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-October/002926.html +md5 105ebcfe1bac06fe84645ac3def91184 xf86-video-r128-6.12.0.tar.bz2 +sha1 7cfa41d386fa43b5d30299203e4845d8afba4899 xf86-video-r128-6.12.0.tar.bz2 +sha256 801c86882cbd2bbb3084d471dcc5cfee2c1754dcbfb4dc446676d58a6bd9e057 xf86-video-r128-6.12.0.tar.bz2 +sha512 0e667e2cfa8a87a00846361d86528c93754c403c812b66798953fa4c857b2143b2c4c44885da467e7f910d8cb910b69492cdcb6f25e2197bae6617364d152e38 xf86-video-r128-6.12.0.tar.bz2 +# Locally computed +sha256 69f7c71859dc8f51aabdbe7a9ee915a480933eb81658f8af2bf4c918e65afe8b COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk index 344b4841..455cfbad 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk @@ -4,13 +4,12 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_R128_VERSION = 6.10.2 +XDRIVER_XF86_VIDEO_R128_VERSION = 6.12.0 XDRIVER_XF86_VIDEO_R128_SOURCE = xf86-video-r128-$(XDRIVER_XF86_VIDEO_R128_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_R128_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_R128_LICENSE = MIT XDRIVER_XF86_VIDEO_R128_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_R128_AUTORECONF = YES -XDRIVER_XF86_VIDEO_R128_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_R128_DEPENDENCIES = xserver_xorg-server xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) XDRIVER_XF86_VIDEO_R128_CONF_OPTS = --disable-dri diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch b/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch new file mode 100644 index 00000000..4c695960 --- /dev/null +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/0002-xorg-xserver120.patch @@ -0,0 +1,23 @@ +Fix build with modular-xorg-server-1.20 + +Downloaded from +http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/x11/xf86-video-savage/patches/patch-src_savage__driver.c?rev=1.3&content-type=text/x-cvsweb-markup + +Patch was sent upstream by Thomas Klausner : +https://lists.x.org/archives/xorg-devel/2018-May/056952.html + +Signed-off-by: Bernd Kuhls + +--- a/src/savage_driver.c.orig 2017-01-17 22:43:40.000000000 +0000 ++++ b/src/savage_driver.c +@@ -2034,8 +2034,10 @@ static Bool SavagePreInit(ScrnInfoPtr pS + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected current MCLK value of %1.3f MHz\n", + mclk / 1000.0); + ++#if 0 + pScrn->maxHValue = 2048 << 3; /* 11 bits of h_total 8-pixel units */ + pScrn->maxVValue = 2048; /* 11 bits of v_total */ ++#endif + pScrn->virtualX = pScrn->display->virtualX; + pScrn->virtualY = pScrn->display->virtualY; + diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in index 77dde876..bc6ca523 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/Config.in @@ -2,13 +2,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE bool "xf86-video-savage" depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help S3 Savage video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk index ae1dea34..d7311aa9 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-savage/xdriver_xf86-video-savage.mk @@ -10,7 +10,7 @@ XDRIVER_XF86_VIDEO_SAVAGE_SITE = http://xorg.freedesktop.org/releases/individual XDRIVER_XF86_VIDEO_SAVAGE_LICENSE = MIT XDRIVER_XF86_VIDEO_SAVAGE_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_SAVAGE_AUTORECONF = YES -XDRIVER_XF86_VIDEO_SAVAGE_DEPENDENCIES = xserver_xorg-server libdrm xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86driproto xproto_xproto +XDRIVER_XF86_VIDEO_SAVAGE_DEPENDENCIES = xserver_xorg-server libdrm xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) XDRIVER_XF86_VIDEO_SAVAGE_CONF_OPTS = --disable-dri diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in index 727004a5..036a2f1c 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/Config.in @@ -1,10 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SILICONMOTION bool "xf86-video-siliconmotion" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Silicon Motion video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk index 53b19f9f..65fd8465 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-siliconmotion/xdriver_xf86-video-siliconmotion.mk @@ -9,7 +9,7 @@ XDRIVER_XF86_VIDEO_SILICONMOTION_SOURCE = xf86-video-siliconmotion-$(XDRIVER_XF8 XDRIVER_XF86_VIDEO_SILICONMOTION_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_SILICONMOTION_LICENSE = MIT XDRIVER_XF86_VIDEO_SILICONMOTION_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_SILICONMOTION_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_SILICONMOTION_DEPENDENCIES = xserver_xorg-server xorgproto XDRIVER_XF86_VIDEO_SILICONMOTION_CONF_OPTS = --disable-selective-werror diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/0002-Remove-reference-to-virtualFrom.patch b/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/0002-Remove-reference-to-virtualFrom.patch new file mode 100644 index 00000000..c9e05efb --- /dev/null +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/0002-Remove-reference-to-virtualFrom.patch @@ -0,0 +1,33 @@ +From 4b1356a2b7fd06e9a05d134caa4033681c939737 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Thu, 16 Feb 2017 11:21:27 -0500 +Subject: [PATCH] Remove reference to ->virtualFrom + +The core will print this information as well anyway. + +Signed-off-by: Adam Jackson + +Downloaded from upstream commit +https://cgit.freedesktop.org/xorg/driver/xf86-video-sis/commit/?id=4b1356a2b7fd06e9a05d134caa4033681c939737 + +Signed-off-by: Bernd Kuhls +--- + src/sis_driver.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 8f06164..513f68b 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -2738,7 +2738,7 @@ SiSPrintModes(ScrnInfoPtr pScrn) + float hsync, refresh = 0.0; + char *desc, *desc2, *prefix, *uprefix, *output; + +- xf86DrvMsg(pScrn->scrnIndex, pScrn->virtualFrom, "Virtual size is %dx%d " ++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Virtual size is %dx%d " + "(pitch %d)\n", pScrn->virtualX, pScrn->virtualY, + pScrn->displayWidth); + +-- +2.17.1 + diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in index 3c86bd40..db01cf2a 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/Config.in @@ -2,15 +2,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS bool "xf86-video-sis" depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XINERAMAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help SiS and XGI video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk index 833246e3..af80e15d 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-sis/xdriver_xf86-video-sis.mk @@ -10,7 +10,7 @@ XDRIVER_XF86_VIDEO_SIS_SITE = http://xorg.freedesktop.org/releases/individual/dr XDRIVER_XF86_VIDEO_SIS_LICENSE = MIT XDRIVER_XF86_VIDEO_SIS_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_SIS_AUTORECONF = YES -XDRIVER_XF86_VIDEO_SIS_DEPENDENCIES = xserver_xorg-server libdrm xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86dgaproto xproto_xf86driproto xproto_xineramaproto xproto_xproto +XDRIVER_XF86_VIDEO_SIS_DEPENDENCIES = xserver_xorg-server libdrm xorgproto ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) XDRIVER_XF86_VIDEO_SIS_CONF_OPTS += --disable-dri diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in index 96a69ba2..959dc310 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/Config.in @@ -2,13 +2,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX bool "xf86-video-tdfx" depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help 3Dfx video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk index 471e6cf4..6511eec7 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tdfx/xdriver_xf86-video-tdfx.mk @@ -12,13 +12,7 @@ XDRIVER_XF86_VIDEO_TDFX_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_TDFX_AUTORECONF = YES XDRIVER_XF86_VIDEO_TDFX_DEPENDENCIES = \ libdrm \ - xproto_fontsproto \ - xproto_randrproto \ - xproto_renderproto \ - xproto_videoproto \ - xproto_xextproto \ - xproto_xf86driproto \ - xproto_xproto \ + xorgproto \ xserver_xorg-server ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in index 9d03db3b..7c75661a 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/Config.in @@ -1,11 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA bool "xf86-video-tga" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org driver for tga cards diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk index 8af5ac81..421b09be 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-tga/xdriver_xf86-video-tga.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_TGA_SOURCE = xf86-video-tga-$(XDRIVER_XF86_VIDEO_TGA_VERSION) XDRIVER_XF86_VIDEO_TGA_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_TGA_LICENSE = MIT XDRIVER_XF86_VIDEO_TGA_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_TGA_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86dgaproto xproto_xproto +XDRIVER_XF86_VIDEO_TGA_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in index 15ac3ea7..ca7069c8 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/Config.in @@ -1,11 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TRIDENT bool "xf86-video-trident" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Trident video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk index 727744c5..20ec4bbc 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-trident/xdriver_xf86-video-trident.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_TRIDENT_SOURCE = xf86-video-trident-$(XDRIVER_XF86_VIDEO_TRID XDRIVER_XF86_VIDEO_TRIDENT_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_TRIDENT_LICENSE = MIT XDRIVER_XF86_VIDEO_TRIDENT_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_TRIDENT_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_videoproto xproto_xextproto xproto_xf86dgaproto xproto_xproto +XDRIVER_XF86_VIDEO_TRIDENT_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in index 98f43470..fb4e4e8e 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/Config.in @@ -1,9 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA bool "xf86-video-vesa" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Generic VESA video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.hash index 84c0b08a..ee276900 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-June/002615.html -sha256 7bddf4d879dd6f67088ecb203a31e12334aab980174bd0909930a21f32e251c1 xf86-video-vesa-2.3.4.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-February/002837.html +md5 8134201beaf6f77150c7809c3cc802e6 xf86-video-vesa-2.4.0.tar.bz2 +sha1 99b69044c34292ba062e365c07dcd024462e794b xf86-video-vesa-2.4.0.tar.bz2 +sha256 bf443c94d7bf6cd4e248f8a3147f4647be04dc4c80250d9405006263bbdee38c xf86-video-vesa-2.4.0.tar.bz2 +sha512 4af5c0a7fd64eba503980198cf510688dff2f33482ceac446455d97255dcc828613387ac57828eb6dce080cb15a8644a2b2e278bf356705fdeaea873ab07c2de xf86-video-vesa-2.4.0.tar.bz2 +# Locally computed +sha256 bda49ba1e860501c20fd444423bc790f6da4f769561b69acc0cbe5abff9409b6 COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk index 1184821d..425280a1 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vesa/xdriver_xf86-video-vesa.mk @@ -4,11 +4,11 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_VESA_VERSION = 2.3.4 +XDRIVER_XF86_VIDEO_VESA_VERSION = 2.4.0 XDRIVER_XF86_VIDEO_VESA_SOURCE = xf86-video-vesa-$(XDRIVER_XF86_VIDEO_VESA_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_VESA_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_VESA_LICENSE = MIT XDRIVER_XF86_VIDEO_VESA_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_VESA_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto +XDRIVER_XF86_VIDEO_VESA_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in index a3382d73..6d937b47 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/Config.in @@ -3,12 +3,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE depends on BR2_PACKAGE_MESA3D depends on BR2_i386 || BR2_x86_64 select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XINERAMAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help VMware SVGA video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash index 8d948a7d..f07e0614 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2016-November/002743.html -sha256 e2f7f7101fba7f53b268e7a25908babbf155b3984fb5268b3d244eb6c11bf62b xf86-video-vmware-13.2.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-May/002895.html +md5 08d66d062055080ff699ab4869726ea2 xf86-video-vmware-13.3.0.tar.bz2 +sha1 f01335fe6bdb507e749571bfcd69163aed97312a xf86-video-vmware-13.3.0.tar.bz2 +sha256 47971924659e51666a757269ad941a059ef5afe7a47b5101c174a6022ac4066c xf86-video-vmware-13.3.0.tar.bz2 +sha512 c318de893cae7b2b11e11c1b389ee47478b7c8d1f52c27099dbe453efec28f3e9da449217307a8c2251999eada66312f766996be1a6ead413b8b6dedc42c68ca xf86-video-vmware-13.3.0.tar.bz2 +# Locally computed +sha256 7e59b8ca2a161855a60561f27ada8dfdbb678733eacdb23423fff6d21f9ad43b COPYING diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk index 1b2066d2..5f0cb77b 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-vmware/xdriver_xf86-video-vmware.mk @@ -4,12 +4,12 @@ # ################################################################################ -XDRIVER_XF86_VIDEO_VMWARE_VERSION = 13.2.1 +XDRIVER_XF86_VIDEO_VMWARE_VERSION = 13.3.0 XDRIVER_XF86_VIDEO_VMWARE_SOURCE = xf86-video-vmware-$(XDRIVER_XF86_VIDEO_VMWARE_VERSION).tar.bz2 XDRIVER_XF86_VIDEO_VMWARE_SITE = http://xorg.freedesktop.org/releases/individual/driver XDRIVER_XF86_VIDEO_VMWARE_LICENSE = MIT XDRIVER_XF86_VIDEO_VMWARE_LICENSE_FILES = COPYING -XDRIVER_XF86_VIDEO_VMWARE_DEPENDENCIES = mesa3d xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xineramaproto xproto_xproto +XDRIVER_XF86_VIDEO_VMWARE_DEPENDENCIES = mesa3d xserver_xorg-server xorgproto ifeq ($(BR2_PACKAGE_HAS_UDEV),y) XDRIVER_XF86_VIDEO_VMWARE_CONF_OPTS += --with-libudev diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in b/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in index f531676d..f4612120 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/Config.in @@ -1,10 +1,5 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VOODOO bool "xf86-video-voodoo" - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help Voodoo video driver diff --git a/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk b/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk index e1ef0c6c..d6deaa79 100644 --- a/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk +++ b/bsp/buildroot/package/x11r7/xdriver_xf86-video-voodoo/xdriver_xf86-video-voodoo.mk @@ -9,6 +9,6 @@ XDRIVER_XF86_VIDEO_VOODOO_SITE = git://anongit.freedesktop.org/xorg/driver/xf86- XDRIVER_XF86_VIDEO_VOODOO_LICENSE = MIT XDRIVER_XF86_VIDEO_VOODOO_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_VOODOO_AUTORECONF = YES -XDRIVER_XF86_VIDEO_VOODOO_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xf86dgaproto xproto_xproto +XDRIVER_XF86_VIDEO_VOODOO_DEPENDENCIES = xserver_xorg-server xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xkeyboard-config/Config.in b/bsp/buildroot/package/x11r7/xkeyboard-config/Config.in index 5d1d6a72..c9417424 100644 --- a/bsp/buildroot/package/x11r7/xkeyboard-config/Config.in +++ b/bsp/buildroot/package/x11r7/xkeyboard-config/Config.in @@ -3,7 +3,7 @@ config BR2_PACKAGE_XKEYBOARD_CONFIG # Runtime dependencies select BR2_PACKAGE_XAPP_XKBCOMP if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 - select BR2_PACKAGE_XPROTO_XPROTO if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7 help keyboard configuration database for X diff --git a/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.hash b/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.hash index a0f781d8..56ea0e52 100644 --- a/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.hash +++ b/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.hash @@ -1,4 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-October/002811.html -md5 eb61fb3fd419e817df572b0c8d94a883 xkeyboard-config-2.22.tar.bz2 -sha1 1e252098685afc3e802c98f3fd70d683654a13ab xkeyboard-config-2.22.tar.bz2 -sha256 deaec9989fbc443358b43864437b7b6d39caff07890a4a8055105ce9fcaa59bd xkeyboard-config-2.22.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-February/002833.html +md5 875cbd09ab8394277fd16070326abbae xkeyboard-config-2.23.1.tar.bz2 +sha1 184c9ce35f4fa44188acbf549f80d36407697ac3 xkeyboard-config-2.23.1.tar.bz2 +sha256 2a4bbc05fea22151b7a7c8ac2655d549aa9b0486bedc7f5a68c72716343b02f3 xkeyboard-config-2.23.1.tar.bz2 +sha512 d651bb89c265e58abe8bba4af6683364a8023cb73af7d00f401f33960e44fa94a7d8a8fdd2483d6703d1c261ca72ae5f2b53f543cfb70b2f571cfe9dcb80c3ba xkeyboard-config-2.23.1.tar.bz2 +# Locally computed +sha256 6ca90f4b67dced4062894d6d77f4cc39343df9e359fc12f5e5d3c89ef2a3ef6d COPYING diff --git a/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.mk b/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.mk index ae88db78..9a8838dd 100644 --- a/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.mk +++ b/bsp/buildroot/package/x11r7/xkeyboard-config/xkeyboard-config.mk @@ -4,12 +4,15 @@ # ################################################################################ -XKEYBOARD_CONFIG_VERSION = 2.22 +XKEYBOARD_CONFIG_VERSION = 2.23.1 XKEYBOARD_CONFIG_SOURCE = xkeyboard-config-$(XKEYBOARD_CONFIG_VERSION).tar.bz2 XKEYBOARD_CONFIG_SITE = http://www.x.org/releases/individual/data/xkeyboard-config XKEYBOARD_CONFIG_LICENSE = MIT XKEYBOARD_CONFIG_LICENSE_FILES = COPYING +# xkeyboard-config.pc +XKEYBOARD_CONFIG_INSTALL_STAGING = YES + XKEYBOARD_CONFIG_CONF_OPTS = --disable-runtime-deps XKEYBOARD_CONFIG_DEPENDENCIES = host-gettext host-intltool host-xapp_xkbcomp diff --git a/bsp/buildroot/package/x11r7/xlib_libFS/Config.in b/bsp/buildroot/package/x11r7/xlib_libFS/Config.in index 0c8a7290..6ff0bcc3 100644 --- a/bsp/buildroot/package/x11r7/xlib_libFS/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libFS/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_XLIB_LIBFS bool "libFS" select BR2_PACKAGE_XLIB_XTRANS - select BR2_PACKAGE_XPROTO_XPROTO - select BR2_PACKAGE_XPROTO_FONTSPROTO + select BR2_PACKAGE_XORGPROTO help X.Org FS library diff --git a/bsp/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk b/bsp/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk index a3c58b90..56f2dc3c 100644 --- a/bsp/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk +++ b/bsp/buildroot/package/x11r7/xlib_libFS/xlib_libFS.mk @@ -10,7 +10,7 @@ XLIB_LIBFS_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBFS_LICENSE = MIT XLIB_LIBFS_LICENSE_FILES = COPYING XLIB_LIBFS_INSTALL_STAGING = YES -XLIB_LIBFS_DEPENDENCIES = xlib_xtrans xproto_xproto xproto_fontsproto host-pkgconf +XLIB_LIBFS_DEPENDENCIES = xlib_xtrans xorgproto host-pkgconf XLIB_LIBFS_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libICE/Config.in b/bsp/buildroot/package/x11r7/xlib_libICE/Config.in index d63f9356..ccdd4003 100644 --- a/bsp/buildroot/package/x11r7/xlib_libICE/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libICE/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XLIB_LIBICE bool "libICE" select BR2_PACKAGE_XLIB_XTRANS - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org ICE library diff --git a/bsp/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk b/bsp/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk index e2a4e7d3..982e8fde 100644 --- a/bsp/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk +++ b/bsp/buildroot/package/x11r7/xlib_libICE/xlib_libICE.mk @@ -10,6 +10,6 @@ XLIB_LIBICE_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBICE_LICENSE = MIT XLIB_LIBICE_LICENSE_FILES = COPYING XLIB_LIBICE_INSTALL_STAGING = YES -XLIB_LIBICE_DEPENDENCIES = xlib_xtrans xproto_xproto host-pkgconf +XLIB_LIBICE_DEPENDENCIES = xlib_xtrans xorgproto host-pkgconf $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libSM/Config.in b/bsp/buildroot/package/x11r7/xlib_libSM/Config.in index ef83b531..02ee2bd2 100644 --- a/bsp/buildroot/package/x11r7/xlib_libSM/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libSM/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_XLIB_LIBSM bool "libSM" select BR2_PACKAGE_XLIB_LIBICE select BR2_PACKAGE_XLIB_XTRANS - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org SM library diff --git a/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash b/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash index 79dc25c2..1653dc6d 100644 --- a/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash +++ b/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.hash @@ -1,2 +1,7 @@ -# From http://lists.freedesktop.org/archives/xorg/2013-September/056013.html -sha256 0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd libSM-1.2.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-October/002922.html +md5 87c7fad1c1813517979184c8ccd76628 libSM-1.2.3.tar.bz2 +sha1 437d7b13fa2eba325df3a106f177df46ccec6546 libSM-1.2.3.tar.bz2 +sha256 2d264499dcb05f56438dee12a1b4b71d76736ce7ba7aa6efbf15ebb113769cbb libSM-1.2.3.tar.bz2 +sha512 74c42e27029db78475e62025b4711dbac5e22d2f8e8a24be98a1c31b03c0fc4afe859928f851800ea0b76854f12147900dc4f27bbfd3d8ea45daaaf24b70a903 libSM-1.2.3.tar.bz2 +# Locally computed +sha256 af7926a14d85ad367622688636e8c9c6f7807c8a6867536af1c530b5c262bfba COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk b/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk index 30640bd1..708224e2 100644 --- a/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk +++ b/bsp/buildroot/package/x11r7/xlib_libSM/xlib_libSM.mk @@ -4,13 +4,13 @@ # ################################################################################ -XLIB_LIBSM_VERSION = 1.2.2 +XLIB_LIBSM_VERSION = 1.2.3 XLIB_LIBSM_SOURCE = libSM-$(XLIB_LIBSM_VERSION).tar.bz2 XLIB_LIBSM_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBSM_LICENSE = MIT XLIB_LIBSM_LICENSE_FILES = COPYING XLIB_LIBSM_INSTALL_STAGING = YES -XLIB_LIBSM_DEPENDENCIES = xlib_libICE xlib_xtrans xproto_xproto +XLIB_LIBSM_DEPENDENCIES = xlib_libICE xlib_xtrans xorgproto XLIB_LIBSM_CONF_OPTS = --without-libuuid $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libX11/Config.in b/bsp/buildroot/package/x11r7/xlib_libX11/Config.in index 3ad8d00a..d69c51b9 100644 --- a/bsp/buildroot/package/x11r7/xlib_libX11/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libX11/Config.in @@ -5,10 +5,6 @@ config BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_XTRANS select BR2_PACKAGE_XLIB_LIBXAU select BR2_PACKAGE_XLIB_LIBXDMCP - select BR2_PACKAGE_XPROTO_KBPROTO - select BR2_PACKAGE_XPROTO_XPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO + select BR2_PACKAGE_XORGPROTO help X.Org X11 library diff --git a/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash b/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash index b1a87b18..5dac4f11 100644 --- a/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash +++ b/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-February/002777.html -sha256 4d3890db2ba225ba8c55ca63c6409c1ebb078a2806de59fb16342768ae63435d libX11-1.6.5.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-October/002921.html +md5 034fdd6cc5393974d88aec6f5bc96162 libX11-1.6.7.tar.bz2 +sha1 5076f7853713d7db958a05f6fd1c18f7e111a0ad libX11-1.6.7.tar.bz2 +sha256 910e9e30efba4ad3672ca277741c2728aebffa7bc526f04dcfa74df2e52a1348 libX11-1.6.7.tar.bz2 +sha512 edd2273b9dadbbf90ad8d7b5715db29eb120a5a22ad2595f697e56532cc24b84e358580c00548fa6be8e9d26601a2b2cdab32272c59266709534317abbd05cd5 libX11-1.6.7.tar.bz2 +# Locally computed +sha256 2daec087a88e7c9b8082557cdeebad5bbb8155a4137472f0b22e269cd99d0c1e COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk b/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk index 64344da7..87929c42 100644 --- a/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk +++ b/bsp/buildroot/package/x11r7/xlib_libX11/xlib_libX11.mk @@ -4,7 +4,7 @@ # ################################################################################ -XLIB_LIBX11_VERSION = 1.6.5 +XLIB_LIBX11_VERSION = 1.6.7 XLIB_LIBX11_SOURCE = libX11-$(XLIB_LIBX11_VERSION).tar.bz2 XLIB_LIBX11_SITE = https://xorg.freedesktop.org/archive/individual/lib XLIB_LIBX11_LICENSE = MIT @@ -16,12 +16,8 @@ XLIB_LIBX11_DEPENDENCIES = \ xlib_xtrans \ xlib_libXau \ xlib_libXdmcp \ - xproto_kbproto \ - xproto_xproto \ - xproto_xextproto \ - xproto_inputproto \ - xproto_xf86bigfontproto \ - host-xproto_xproto + xorgproto \ + host-xorgproto HOST_XLIB_LIBX11_DEPENDENCIES = \ host-libxcb \ @@ -29,11 +25,7 @@ HOST_XLIB_LIBX11_DEPENDENCIES = \ host-xlib_xtrans \ host-xlib_libXau \ host-xlib_libXdmcp \ - host-xproto_kbproto \ - host-xproto_xproto \ - host-xproto_xextproto \ - host-xproto_inputproto \ - host-xproto_xf86bigfontproto + host-xorgproto XLIB_LIBX11_CONF_OPTS = \ --disable-malloc0returnsnull \ diff --git a/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in b/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in index 5df9a00c..05c96d74 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_XLIB_LIBXSCRNSAVER bool "libXScrnSaver" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_SCRNSAVERPROTO + select BR2_PACKAGE_XORGPROTO help X.Org XScrnSaver library diff --git a/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash b/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash index d5340baf..26684011 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash +++ b/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.hash @@ -1,2 +1,7 @@ -# From http://lists.freedesktop.org/pipermail/xorg/2012-March/054015.html -sha256 8ff1efa7341c7f34bcf9b17c89648d6325ddaae22e3904e091794e0b4426ce1d libXScrnSaver-1.2.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-July/002906.html +md5 eeea9d5af3e6c143d0ea1721d27a5e49 libXScrnSaver-1.2.3.tar.bz2 +sha1 70c791c5755a298ecf1a0823e239a24fa4b2b42f libXScrnSaver-1.2.3.tar.bz2 +sha256 f917075a1b7b5a38d67a8b0238eaab14acd2557679835b154cf2bca576e89bf8 libXScrnSaver-1.2.3.tar.bz2 +sha512 7ea628324a11b25ee82c7b11c6bf98f37de219354de51c1e29467b5de422669ba1ab121f3b9dc674093c8f3960e93c5d5428122f5539092f79bc8451c768354a libXScrnSaver-1.2.3.tar.bz2 +# Locally computed +sha256 5cf3e16f5dd753a4c0853e8227134ab65f5562d9ef89b1a2d7681f5c8ac9feb5 COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk b/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk index f22ee983..92abb902 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXScrnSaver/xlib_libXScrnSaver.mk @@ -4,13 +4,13 @@ # ################################################################################ -XLIB_LIBXSCRNSAVER_VERSION = 1.2.2 +XLIB_LIBXSCRNSAVER_VERSION = 1.2.3 XLIB_LIBXSCRNSAVER_SOURCE = libXScrnSaver-$(XLIB_LIBXSCRNSAVER_VERSION).tar.bz2 XLIB_LIBXSCRNSAVER_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXSCRNSAVER_LICENSE = MIT XLIB_LIBXSCRNSAVER_LICENSE_FILES = COPYING XLIB_LIBXSCRNSAVER_INSTALL_STAGING = YES -XLIB_LIBXSCRNSAVER_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_scrnsaverproto +XLIB_LIBXSCRNSAVER_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXSCRNSAVER_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXau/Config.in b/bsp/buildroot/package/x11r7/xlib_libXau/Config.in index a220f019..0323faa3 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXau/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXau/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXAU bool "libXau" - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO select BR2_PACKAGE_XUTIL_UTIL_MACROS help X.Org Xau library diff --git a/bsp/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk b/bsp/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk index 1c50cb2e..0fc78e70 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXau/xlib_libXau.mk @@ -10,9 +10,9 @@ XLIB_LIBXAU_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXAU_LICENSE = MIT XLIB_LIBXAU_LICENSE_FILES = COPYING XLIB_LIBXAU_INSTALL_STAGING = YES -XLIB_LIBXAU_DEPENDENCIES = host-pkgconf xutil_util-macros xproto_xproto +XLIB_LIBXAU_DEPENDENCIES = host-pkgconf xutil_util-macros xorgproto HOST_XLIB_LIBXAU_DEPENDENCIES = \ - host-pkgconf host-xutil_util-macros host-xproto_xproto + host-pkgconf host-xutil_util-macros host-xorgproto $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXaw/Config.in b/bsp/buildroot/package/x11r7/xlib_libXaw/Config.in index 3695bb67..bda4ded2 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXaw/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXaw/Config.in @@ -4,6 +4,6 @@ config BR2_PACKAGE_XLIB_LIBXAW select BR2_PACKAGE_XLIB_LIBXT select BR2_PACKAGE_XLIB_LIBXMU select BR2_PACKAGE_XLIB_LIBXPM - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xaw library diff --git a/bsp/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk b/bsp/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk index d78adffe..17d51a95 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXaw/xlib_libXaw.mk @@ -10,6 +10,6 @@ XLIB_LIBXAW_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXAW_LICENSE = MIT XLIB_LIBXAW_LICENSE_FILES = COPYING XLIB_LIBXAW_INSTALL_STAGING = YES -XLIB_LIBXAW_DEPENDENCIES = xlib_libX11 xlib_libXt xlib_libXmu xlib_libXpm xproto_xproto +XLIB_LIBXAW_DEPENDENCIES = xlib_libX11 xlib_libXt xlib_libXmu xlib_libXpm xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXcomposite/Config.in b/bsp/buildroot/package/x11r7/xlib_libXcomposite/Config.in index 14da977a..b417140a 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXcomposite/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXcomposite/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_XLIB_LIBXCOMPOSITE bool "libXcomposite" - select BR2_PACKAGE_XPROTO_COMPOSITEPROTO select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXFIXES - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xcomposite library diff --git a/bsp/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk b/bsp/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk index f0e59cba..e84b52e3 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXcomposite/xlib_libXcomposite.mk @@ -10,6 +10,6 @@ XLIB_LIBXCOMPOSITE_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXCOMPOSITE_LICENSE = MIT XLIB_LIBXCOMPOSITE_LICENSE_FILES = COPYING XLIB_LIBXCOMPOSITE_INSTALL_STAGING = YES -XLIB_LIBXCOMPOSITE_DEPENDENCIES = xproto_compositeproto xlib_libX11 xlib_libXext xlib_libXfixes xproto_xproto +XLIB_LIBXCOMPOSITE_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXfixes xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXcursor/Config.in b/bsp/buildroot/package/x11r7/xlib_libXcursor/Config.in index 6519cc76..0c70f959 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXcursor/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXcursor/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_XLIB_LIBXCURSOR select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXFIXES select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xcursor library diff --git a/bsp/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk b/bsp/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk index b27aa653..6ee76039 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXcursor/xlib_libXcursor.mk @@ -10,10 +10,10 @@ XLIB_LIBXCURSOR_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXCURSOR_LICENSE = MIT XLIB_LIBXCURSOR_LICENSE_FILES = COPYING XLIB_LIBXCURSOR_INSTALL_STAGING = YES -XLIB_LIBXCURSOR_DEPENDENCIES = xlib_libX11 xlib_libXfixes xlib_libXrender xproto_xproto +XLIB_LIBXCURSOR_DEPENDENCIES = xlib_libX11 xlib_libXfixes xlib_libXrender xorgproto HOST_XLIB_LIBXCURSOR_DEPENDENCIES = \ host-xlib_libX11 host-xlib_libXfixes host-xlib_libXrender \ - host-xproto_xproto + host-xorgproto $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXdamage/Config.in b/bsp/buildroot/package/x11r7/xlib_libXdamage/Config.in index 24274866..d1a07dea 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXdamage/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXdamage/Config.in @@ -1,8 +1,7 @@ config BR2_PACKAGE_XLIB_LIBXDAMAGE bool "libXdamage" - select BR2_PACKAGE_XPROTO_DAMAGEPROTO select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXFIXES - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xdamage library diff --git a/bsp/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk b/bsp/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk index 9f982eef..d52b4e0e 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXdamage/xlib_libXdamage.mk @@ -10,6 +10,6 @@ XLIB_LIBXDAMAGE_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXDAMAGE_LICENSE = MIT XLIB_LIBXDAMAGE_LICENSE_FILES = COPYING XLIB_LIBXDAMAGE_INSTALL_STAGING = YES -XLIB_LIBXDAMAGE_DEPENDENCIES = xproto_damageproto xlib_libX11 xlib_libXfixes xproto_xproto +XLIB_LIBXDAMAGE_DEPENDENCIES = xlib_libX11 xlib_libXfixes xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXdmcp/Config.in b/bsp/buildroot/package/x11r7/xlib_libXdmcp/Config.in index 218ff159..832822e9 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXdmcp/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXdmcp/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXDMCP bool "libXdmcp" select BR2_PACKAGE_XUTIL_UTIL_MACROS - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xdmcp library diff --git a/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk b/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk index ec1b861b..44a6f005 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXdmcp/xlib_libXdmcp.mk @@ -10,8 +10,8 @@ XLIB_LIBXDMCP_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXDMCP_LICENSE = MIT XLIB_LIBXDMCP_LICENSE_FILES = COPYING XLIB_LIBXDMCP_INSTALL_STAGING = YES -XLIB_LIBXDMCP_DEPENDENCIES = xutil_util-macros xproto_xproto -HOST_XLIB_LIBXDMCP_DEPENDENCIES = host-xutil_util-macros host-xproto_xproto +XLIB_LIBXDMCP_DEPENDENCIES = xutil_util-macros xorgproto host-pkgconf +HOST_XLIB_LIBXDMCP_DEPENDENCIES = host-xutil_util-macros host-xorgproto host-pkgconf $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXext/Config.in b/bsp/buildroot/package/x11r7/xlib_libXext/Config.in index 823a165b..58c9ce55 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXext/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXext/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXEXT bool "libXext" select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xext library diff --git a/bsp/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk b/bsp/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk index 211c8536..02fee222 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXext/xlib_libXext.mk @@ -10,7 +10,7 @@ XLIB_LIBXEXT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXEXT_LICENSE = MIT XLIB_LIBXEXT_LICENSE_FILES = COPYING XLIB_LIBXEXT_INSTALL_STAGING = YES -XLIB_LIBXEXT_DEPENDENCIES = xlib_libX11 xproto_xextproto xproto_xproto +XLIB_LIBXEXT_DEPENDENCIES = xlib_libX11 xorgproto XLIB_LIBXEXT_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXfixes/Config.in b/bsp/buildroot/package/x11r7/xlib_libXfixes/Config.in index 9bbabb25..2c3b6684 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXfixes/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXfixes/Config.in @@ -1,8 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXFIXES bool "libXfixes" - select BR2_PACKAGE_XPROTO_FIXESPROTO select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xfixes library diff --git a/bsp/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk b/bsp/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk index b7d835bb..f563ba34 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXfixes/xlib_libXfixes.mk @@ -10,10 +10,9 @@ XLIB_LIBXFIXES_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFIXES_LICENSE = MIT XLIB_LIBXFIXES_LICENSE_FILES = COPYING XLIB_LIBXFIXES_INSTALL_STAGING = YES -XLIB_LIBXFIXES_DEPENDENCIES = xproto_fixesproto xlib_libX11 xproto_xextproto xproto_xproto +XLIB_LIBXFIXES_DEPENDENCIES = xlib_libX11 xorgproto HOST_XLIB_LIBXFIXES_DEPENDENCIES = \ - host-xproto_fixesproto host-xlib_libX11 host-xproto_xextproto \ - host-xproto_xproto + host-xlib_libX11 host-xorgproto $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXfont/Config.in b/bsp/buildroot/package/x11r7/xlib_libXfont/Config.in index cc1da0ea..4658027d 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXfont/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXfont/Config.in @@ -3,8 +3,7 @@ config BR2_PACKAGE_XLIB_LIBXFONT select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_XLIB_LIBFONTENC select BR2_PACKAGE_XLIB_XTRANS - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_XFONT_ENCODINGS + select BR2_PACKAGE_XORGPROTO help X.Org Xfont library diff --git a/bsp/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk b/bsp/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk index 420bbd1d..a1acfba8 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXfont/xlib_libXfont.mk @@ -11,11 +11,11 @@ XLIB_LIBXFONT_LICENSE = MIT XLIB_LIBXFONT_LICENSE_FILES = COPYING XLIB_LIBXFONT_INSTALL_STAGING = YES -XLIB_LIBXFONT_DEPENDENCIES = freetype xlib_libfontenc xlib_xtrans xproto_fontsproto xproto_xproto xfont_encodings +XLIB_LIBXFONT_DEPENDENCIES = freetype xlib_libfontenc xlib_xtrans xorgproto HOST_XLIB_LIBXFONT_DEPENDENCIES = \ host-freetype host-xlib_libfontenc host-xlib_xtrans \ - host-xproto_fontsproto host-xproto_xproto host-xfont_encodings + host-xorgproto XLIB_LIBXFONT_CONF_OPTS = --disable-devel-docs HOST_XLIB_LIBXFONT_CONF_OPTS = --disable-devel-docs diff --git a/bsp/buildroot/package/x11r7/xlib_libXfont2/Config.in b/bsp/buildroot/package/x11r7/xlib_libXfont2/Config.in index 6cba4658..fc2ebfe2 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXfont2/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXfont2/Config.in @@ -3,8 +3,7 @@ config BR2_PACKAGE_XLIB_LIBXFONT2 select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_XLIB_LIBFONTENC select BR2_PACKAGE_XLIB_XTRANS - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_XFONT_ENCODINGS + select BR2_PACKAGE_XORGPROTO help X.Org Xfont library diff --git a/bsp/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk b/bsp/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk index 3f1bdee4..ba2c7540 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXfont2/xlib_libXfont2.mk @@ -14,16 +14,14 @@ XLIB_LIBXFONT2_DEPENDENCIES = \ freetype \ xlib_libfontenc \ xlib_xtrans \ - xproto_fontsproto \ - xproto_xproto \ + xorgproto \ xfont_encodings HOST_XLIB_LIBXFONT2_DEPENDENCIES = \ host-freetype \ host-xlib_libfontenc \ host-xlib_xtrans \ - host-xproto_fontsproto \ - host-xproto_xproto \ + host-xorgproto \ host-xfont_encodings XLIB_LIBXFONT2_CONF_OPTS = --disable-devel-docs diff --git a/bsp/buildroot/package/x11r7/xlib_libXft/Config.in b/bsp/buildroot/package/x11r7/xlib_libXft/Config.in index 6eef1701..84967a55 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXft/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXft/Config.in @@ -5,6 +5,6 @@ config BR2_PACKAGE_XLIB_LIBXFT select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xft library diff --git a/bsp/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk b/bsp/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk index 73fe6bb6..9c5757e6 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXft/xlib_libXft.mk @@ -10,6 +10,6 @@ XLIB_LIBXFT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXFT_LICENSE = MIT XLIB_LIBXFT_LICENSE_FILES = COPYING XLIB_LIBXFT_INSTALL_STAGING = YES -XLIB_LIBXFT_DEPENDENCIES = fontconfig freetype xlib_libX11 xlib_libXext xlib_libXrender xproto_xproto +XLIB_LIBXFT_DEPENDENCIES = fontconfig freetype xlib_libX11 xlib_libXext xlib_libXrender xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXi/Config.in b/bsp/buildroot/package/x11r7/xlib_libXi/Config.in index 3ae22d63..31313069 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXi/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXi/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_XLIB_LIBXI bool "libXi" - select BR2_PACKAGE_XPROTO_XPROTO - select BR2_PACKAGE_XPROTO_INPUTPROTO select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXFIXES + select BR2_PACKAGE_XORGPROTO help X.Org Xi library diff --git a/bsp/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk b/bsp/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk index d593c1e9..28337389 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXi/xlib_libXi.mk @@ -12,11 +12,10 @@ XLIB_LIBXI_LICENSE_FILES = COPYING XLIB_LIBXI_INSTALL_STAGING = YES XLIB_LIBXI_DEPENDENCIES = \ host-pkgconf \ - xproto_inputproto \ - xproto_xproto \ xlib_libX11 \ xlib_libXext \ - xlib_libXfixes + xlib_libXfixes \ + xorgproto XLIB_LIBXI_CONF_OPTS = --disable-malloc0returnsnull diff --git a/bsp/buildroot/package/x11r7/xlib_libXinerama/Config.in b/bsp/buildroot/package/x11r7/xlib_libXinerama/Config.in index 5a79b4eb..f8ea9595 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXinerama/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXinerama/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_XLIB_LIBXINERAMA bool "libXinerama" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_XINERAMAPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xinerama library diff --git a/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash b/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash index 6dfd7770..995181dd 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash +++ b/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2013-May/002231.html -sha256 7a45699f1773095a3f821e491cbd5e10c887c5a5fce5d8d3fced15c2ff7698e2 libXinerama-1.1.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-July/002905.html +md5 0d5f826a197dae74da67af4a9ef35885 libXinerama-1.1.4.tar.bz2 +sha1 34a1d9908ffbd46805d2357c6b05f5e341a8dc7c libXinerama-1.1.4.tar.bz2 +sha256 0008dbd7ecf717e1e507eed1856ab0d9cf946d03201b85d5dcf61489bb02d720 libXinerama-1.1.4.tar.bz2 +sha512 cff777ad942614fbf6bc6d8529f399e62debf3ecbf6cc0694a94e38c022bf929ffd5636fb59f55533c394d89b23af3ea51fa5128927f12a85787e16239330f14 libXinerama-1.1.4.tar.bz2 +# Locally computed +sha256 f661fd883b6e980b3b118e0fbe230fbf10eef8d4d4a35931355f29ed647ddbe3 COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk b/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk index ee8bf556..405faefa 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXinerama/xlib_libXinerama.mk @@ -4,13 +4,13 @@ # ################################################################################ -XLIB_LIBXINERAMA_VERSION = 1.1.3 +XLIB_LIBXINERAMA_VERSION = 1.1.4 XLIB_LIBXINERAMA_SOURCE = libXinerama-$(XLIB_LIBXINERAMA_VERSION).tar.bz2 XLIB_LIBXINERAMA_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXINERAMA_LICENSE = MIT XLIB_LIBXINERAMA_LICENSE_FILES = COPYING XLIB_LIBXINERAMA_INSTALL_STAGING = YES -XLIB_LIBXINERAMA_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_xineramaproto +XLIB_LIBXINERAMA_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXINERAMA_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXmu/Config.in b/bsp/buildroot/package/x11r7/xlib_libXmu/Config.in index ed239dc1..b5889208 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXmu/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXmu/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_XLIB_LIBXMU select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXT - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xmu library diff --git a/bsp/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk b/bsp/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk index 261f8713..b3f3db3e 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXmu/xlib_libXmu.mk @@ -10,6 +10,6 @@ XLIB_LIBXMU_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXMU_LICENSE = MIT XLIB_LIBXMU_LICENSE_FILES = COPYING XLIB_LIBXMU_INSTALL_STAGING = YES -XLIB_LIBXMU_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xproto_xproto +XLIB_LIBXMU_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXpm/Config.in b/bsp/buildroot/package/x11r7/xlib_libXpm/Config.in index 528498cb..9a15d77d 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXpm/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXpm/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_XLIB_LIBXPM select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXT - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xpm library diff --git a/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk b/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk index 09f897ea..7e11c4b5 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXpm/xlib_libXpm.mk @@ -12,7 +12,7 @@ XLIB_LIBXPM_LICENSE_FILES = COPYING XLIB_LIBXPM_INSTALL_STAGING = YES # we patch configure.ac XLIB_LIBXPM_AUTORECONF = YES -XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xproto_xproto \ +XLIB_LIBXPM_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXt xorgproto \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) \ $(TARGET_NLS_DEPENDENCIES) diff --git a/bsp/buildroot/package/x11r7/xlib_libXrandr/Config.in b/bsp/buildroot/package/x11r7/xlib_libXrandr/Config.in index 3b3ebd57..e019ca5e 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXrandr/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXrandr/Config.in @@ -1,10 +1,8 @@ config BR2_PACKAGE_XLIB_LIBXRANDR bool "libXrandr" - select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXRENDER - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xrandr library diff --git a/bsp/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk b/bsp/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk index 0fd298c5..1bfd78f7 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXrandr/xlib_libXrandr.mk @@ -10,7 +10,7 @@ XLIB_LIBXRANDR_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXRANDR_LICENSE = MIT XLIB_LIBXRANDR_LICENSE_FILES = COPYING XLIB_LIBXRANDR_INSTALL_STAGING = YES -XLIB_LIBXRANDR_DEPENDENCIES = xproto_randrproto xlib_libX11 xlib_libXext xlib_libXrender xproto_renderproto xproto_xproto +XLIB_LIBXRANDR_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXrender xorgproto XLIB_LIBXRANDR_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXrender/Config.in b/bsp/buildroot/package/x11r7/xlib_libXrender/Config.in index c723e4df..4487ef1f 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXrender/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXrender/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXRENDER bool "libXrender" select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xrender library diff --git a/bsp/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk b/bsp/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk index 6134c453..870f9438 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXrender/xlib_libXrender.mk @@ -10,9 +10,9 @@ XLIB_LIBXRENDER_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXRENDER_LICENSE = MIT XLIB_LIBXRENDER_LICENSE_FILES = COPYING XLIB_LIBXRENDER_INSTALL_STAGING = YES -XLIB_LIBXRENDER_DEPENDENCIES = xlib_libX11 xproto_renderproto xproto_xproto +XLIB_LIBXRENDER_DEPENDENCIES = xlib_libX11 xorgproto HOST_XLIB_LIBXRENDER_DEPENDENCIES = \ - host-xlib_libX11 host-xproto_renderproto host-xproto_xproto + host-xlib_libX11 host-xorgproto XLIB_LIBXRENDER_CONF_OPTS = --disable-malloc0returnsnull diff --git a/bsp/buildroot/package/x11r7/xlib_libXres/Config.in b/bsp/buildroot/package/x11r7/xlib_libXres/Config.in index 39abbbfd..4e135ed3 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXres/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXres/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_XLIB_LIBXRES bool "libXres" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_RESOURCEPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org XRes library diff --git a/bsp/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk b/bsp/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk index 0075e8f6..72f2ec44 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXres/xlib_libXres.mk @@ -10,7 +10,7 @@ XLIB_LIBXRES_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXRES_LICENSE = MIT XLIB_LIBXRES_LICENSE_FILES = COPYING XLIB_LIBXRES_INSTALL_STAGING = YES -XLIB_LIBXRES_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_resourceproto xproto_xproto +XLIB_LIBXRES_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXRES_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXt/Config.in b/bsp/buildroot/package/x11r7/xlib_libXt/Config.in index 6557e20b..0f557808 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXt/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXt/Config.in @@ -2,8 +2,7 @@ config BR2_PACKAGE_XLIB_LIBXT bool "libXt" select BR2_PACKAGE_XLIB_LIBSM select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_KBPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO select BR2_PACKAGE_XCB_PROTO select BR2_PACKAGE_LIBXCB help diff --git a/bsp/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk b/bsp/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk index 4715ac64..946fd517 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXt/xlib_libXt.mk @@ -10,7 +10,7 @@ XLIB_LIBXT_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXT_LICENSE = MIT XLIB_LIBXT_LICENSE_FILES = COPYING XLIB_LIBXT_INSTALL_STAGING = YES -XLIB_LIBXT_DEPENDENCIES = xlib_libSM xlib_libX11 xproto_kbproto xproto_xproto xcb-proto libxcb host-xproto_xproto +XLIB_LIBXT_DEPENDENCIES = xlib_libSM xlib_libX11 xorgproto xcb-proto libxcb host-xorgproto XLIB_LIBXT_CONF_OPTS = --disable-malloc0returnsnull --disable-install-makestrs XLIB_LIBXT_AUTORECONF = YES diff --git a/bsp/buildroot/package/x11r7/xlib_libXtst/Config.in b/bsp/buildroot/package/x11r7/xlib_libXtst/Config.in index 8853bde8..2c7db224 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXtst/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXtst/Config.in @@ -3,6 +3,6 @@ config BR2_PACKAGE_XLIB_LIBXTST select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXI select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_RECORDPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xtst library diff --git a/bsp/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk b/bsp/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk index d71290ae..e0d7e821 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXtst/xlib_libXtst.mk @@ -15,6 +15,6 @@ XLIB_LIBXTST_DEPENDENCIES = \ xlib_libX11 \ xlib_libXext \ xlib_libXi \ - xproto_recordproto + xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXv/Config.in b/bsp/buildroot/package/x11r7/xlib_libXv/Config.in index 90f07f34..d3e57445 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXv/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXv/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_XLIB_LIBXV bool "libXv" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xv library diff --git a/bsp/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk b/bsp/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk index 0e02439f..0ff99b93 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXv/xlib_libXv.mk @@ -10,7 +10,7 @@ XLIB_LIBXV_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXV_LICENSE = ISC-like XLIB_LIBXV_LICENSE_FILES = COPYING XLIB_LIBXV_INSTALL_STAGING = YES -XLIB_LIBXV_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_videoproto xproto_xproto +XLIB_LIBXV_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXV_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXvMC/Config.in b/bsp/buildroot/package/x11r7/xlib_libXvMC/Config.in index 90c0e74e..5cc6ec76 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXvMC/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXvMC/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_XLIB_LIBXVMC select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT select BR2_PACKAGE_XLIB_LIBXV - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org XvMC library diff --git a/bsp/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk b/bsp/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk index cb39c29f..c970182f 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXvMC/xlib_libXvMC.mk @@ -10,7 +10,7 @@ XLIB_LIBXVMC_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXVMC_LICENSE = MIT XLIB_LIBXVMC_LICENSE_FILES = COPYING XLIB_LIBXVMC_INSTALL_STAGING = YES -XLIB_LIBXVMC_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXv xproto_videoproto xproto_xproto +XLIB_LIBXVMC_DEPENDENCIES = xlib_libX11 xlib_libXext xlib_libXv xorgproto XLIB_LIBXVMC_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXxf86dga/Config.in b/bsp/buildroot/package/x11r7/xlib_libXxf86dga/Config.in index 8276b717..918ea0f1 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXxf86dga/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXxf86dga/Config.in @@ -3,7 +3,6 @@ config BR2_PACKAGE_XLIB_LIBXXF86DGA depends on BR2_USE_MMU # fork() select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xxf86dga library diff --git a/bsp/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk b/bsp/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk index eea756bd..59ebd2b4 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXxf86dga/xlib_libXxf86dga.mk @@ -10,7 +10,7 @@ XLIB_LIBXXF86DGA_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXXF86DGA_LICENSE = MIT XLIB_LIBXXF86DGA_LICENSE_FILES = COPYING XLIB_LIBXXF86DGA_INSTALL_STAGING = YES -XLIB_LIBXXF86DGA_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_xf86dgaproto xproto_xproto +XLIB_LIBXXF86DGA_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXXF86DGA_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libXxf86vm/Config.in b/bsp/buildroot/package/x11r7/xlib_libXxf86vm/Config.in index 9e32188e..c3b11f42 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXxf86vm/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libXxf86vm/Config.in @@ -2,7 +2,6 @@ config BR2_PACKAGE_XLIB_LIBXXF86VM bool "libXxf86vm" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org Xxf86vm library diff --git a/bsp/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk b/bsp/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk index f650fe4e..2106451c 100644 --- a/bsp/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk +++ b/bsp/buildroot/package/x11r7/xlib_libXxf86vm/xlib_libXxf86vm.mk @@ -10,7 +10,7 @@ XLIB_LIBXXF86VM_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXXF86VM_LICENSE = MIT XLIB_LIBXXF86VM_LICENSE_FILES = COPYING XLIB_LIBXXF86VM_INSTALL_STAGING = YES -XLIB_LIBXXF86VM_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_xf86vidmodeproto xproto_xproto +XLIB_LIBXXF86VM_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBXXF86VM_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libdmx/Config.in b/bsp/buildroot/package/x11r7/xlib_libdmx/Config.in index 879f6895..99cddb63 100644 --- a/bsp/buildroot/package/x11r7/xlib_libdmx/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libdmx/Config.in @@ -2,6 +2,6 @@ config BR2_PACKAGE_XLIB_LIBDMX bool "libdmx" select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXEXT - select BR2_PACKAGE_XPROTO_DMXPROTO + select BR2_PACKAGE_XORGPROTO help X.Org dmx library diff --git a/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash b/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash index 9f715359..1090e3c2 100644 --- a/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash +++ b/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.hash @@ -1,2 +1,7 @@ -# From http://lists.freedesktop.org/archives/xorg-announce/2013-May/002225.html -sha256 c97da36d2e56a2d7b6e4f896241785acc95e97eb9557465fd66ba2a155a7b201 libdmx-1.1.3.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-May/002894.html +md5 d2f1f0ec68ac3932dd7f1d9aa0a7a11c libdmx-1.1.4.tar.bz2 +sha1 499e2540ca0e94ca858037865243c3c60908fd94 libdmx-1.1.4.tar.bz2 +sha256 253f90005d134fa7a209fbcbc5a3024335367c930adf0f3203e754cf32747243 libdmx-1.1.4.tar.bz2 +sha512 77aba6cadfd17db0cc7e1bc26f14d908223a0fdb135d46f86c3be34e3bc7e2f843f08d4d0ef773357e83b17122bffe56a0442d12908378c05a22177b10ae10e9 libdmx-1.1.4.tar.bz2 +# Locally computed +sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk b/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk index fbe3067f..c67593e9 100644 --- a/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk +++ b/bsp/buildroot/package/x11r7/xlib_libdmx/xlib_libdmx.mk @@ -4,13 +4,13 @@ # ################################################################################ -XLIB_LIBDMX_VERSION = 1.1.3 +XLIB_LIBDMX_VERSION = 1.1.4 XLIB_LIBDMX_SOURCE = libdmx-$(XLIB_LIBDMX_VERSION).tar.bz2 XLIB_LIBDMX_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBDMX_LICENSE = MIT XLIB_LIBDMX_LICENSE_FILES = COPYING XLIB_LIBDMX_INSTALL_STAGING = YES -XLIB_LIBDMX_DEPENDENCIES = xlib_libX11 xlib_libXext xproto_dmxproto +XLIB_LIBDMX_DEPENDENCIES = xlib_libX11 xlib_libXext xorgproto XLIB_LIBDMX_CONF_OPTS = --disable-malloc0returnsnull $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libfontenc/Config.in b/bsp/buildroot/package/x11r7/xlib_libfontenc/Config.in index d25e96a5..38cb8333 100644 --- a/bsp/buildroot/package/x11r7/xlib_libfontenc/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libfontenc/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XLIB_LIBFONTENC bool "libfontenc" - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO select BR2_PACKAGE_ZLIB help X.Org fontenc library diff --git a/bsp/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk b/bsp/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk index 63e32168..cb84ae4e 100644 --- a/bsp/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk +++ b/bsp/buildroot/package/x11r7/xlib_libfontenc/xlib_libfontenc.mk @@ -10,8 +10,8 @@ XLIB_LIBFONTENC_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBFONTENC_LICENSE = MIT XLIB_LIBFONTENC_LICENSE_FILES = COPYING XLIB_LIBFONTENC_INSTALL_STAGING = YES -XLIB_LIBFONTENC_DEPENDENCIES = zlib xproto_xproto host-pkgconf -HOST_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xproto_xproto host-pkgconf +XLIB_LIBFONTENC_DEPENDENCIES = zlib xorgproto host-pkgconf +HOST_XLIB_LIBFONTENC_DEPENDENCIES = host-zlib host-xorgproto host-pkgconf $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libxkbfile/Config.in b/bsp/buildroot/package/x11r7/xlib_libxkbfile/Config.in index ccd35fa1..0d7e4660 100644 --- a/bsp/buildroot/package/x11r7/xlib_libxkbfile/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libxkbfile/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXKBFILE bool "libxkbfile" select BR2_PACKAGE_XLIB_LIBX11 - select BR2_PACKAGE_XPROTO_KBPROTO + select BR2_PACKAGE_XORGPROTO help X.Org xkbfile library diff --git a/bsp/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk b/bsp/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk index c69d7311..97755fae 100644 --- a/bsp/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk +++ b/bsp/buildroot/package/x11r7/xlib_libxkbfile/xlib_libxkbfile.mk @@ -10,8 +10,8 @@ XLIB_LIBXKBFILE_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXKBFILE_LICENSE = MIT XLIB_LIBXKBFILE_LICENSE_FILES = COPYING XLIB_LIBXKBFILE_INSTALL_STAGING = YES -XLIB_LIBXKBFILE_DEPENDENCIES = xlib_libX11 xproto_kbproto -HOST_XLIB_LIBXKBFILE_DEPENDENCIES = host-xlib_libX11 host-xproto_kbproto +XLIB_LIBXKBFILE_DEPENDENCIES = xlib_libX11 xorgproto +HOST_XLIB_LIBXKBFILE_DEPENDENCIES = host-xlib_libX11 host-xorgproto $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xlib_libxshmfence/Config.in b/bsp/buildroot/package/x11r7/xlib_libxshmfence/Config.in index d4e87b3e..710476b3 100644 --- a/bsp/buildroot/package/x11r7/xlib_libxshmfence/Config.in +++ b/bsp/buildroot/package/x11r7/xlib_libxshmfence/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_XLIB_LIBXSHMFENCE bool "libxshmfence" depends on BR2_TOOLCHAIN_HAS_SYNC_4 - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO help X.Org shmfence library diff --git a/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash b/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash index 05eb0711..afdffb82 100644 --- a/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash +++ b/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.hash @@ -1,2 +1,7 @@ -# From http://lists.x.org/archives/xorg-announce/2015-January/002515.html -sha256 d21b2d1fd78c1efbe1f2c16dae1cb23f8fd231dcf891465b8debe636a9054b0c libxshmfence-1.2.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-February/002840.html +md5 42dda8016943dc12aff2c03a036e0937 libxshmfence-1.3.tar.bz2 +sha1 3472218fc0e8ee8183533d22dbcd4bbe90bf3ab8 libxshmfence-1.3.tar.bz2 +sha256 b884300d26a14961a076fbebc762a39831cb75f92bed5ccf9836345b459220c7 libxshmfence-1.3.tar.bz2 +sha512 c446e055f8fac62b9aa266132289a4cfc030282147974c45ce96d1768a98d1afb997470e58e4a68513174c404cbf373bdde2f0cd4b34abdbce1d89dd0b6fe2b7 libxshmfence-1.3.tar.bz2 +# Locally computed +sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING diff --git a/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk b/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk index 3a2f3262..605408ff 100644 --- a/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk +++ b/bsp/buildroot/package/x11r7/xlib_libxshmfence/xlib_libxshmfence.mk @@ -4,12 +4,12 @@ # ################################################################################ -XLIB_LIBXSHMFENCE_VERSION = 1.2 +XLIB_LIBXSHMFENCE_VERSION = 1.3 XLIB_LIBXSHMFENCE_SOURCE = libxshmfence-$(XLIB_LIBXSHMFENCE_VERSION).tar.bz2 XLIB_LIBXSHMFENCE_SITE = http://xorg.freedesktop.org/releases/individual/lib XLIB_LIBXSHMFENCE_LICENSE = MIT XLIB_LIBXSHMFENCE_LICENSE_FILES = COPYING XLIB_LIBXSHMFENCE_INSTALL_STAGING = YES -XLIB_LIBXSHMFENCE_DEPENDENCIES = host-pkgconf xproto_xproto +XLIB_LIBXSHMFENCE_DEPENDENCIES = host-pkgconf xorgproto $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xorgproto/Config.in b/bsp/buildroot/package/x11r7/xorgproto/Config.in new file mode 100644 index 00000000..af38eb43 --- /dev/null +++ b/bsp/buildroot/package/x11r7/xorgproto/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_XORGPROTO + bool "xorgproto" + help + This package combines the protocol headers, which were + formerly scattered in individual packages. diff --git a/bsp/buildroot/package/x11r7/xorgproto/xorgproto.hash b/bsp/buildroot/package/x11r7/xorgproto/xorgproto.hash new file mode 100644 index 00000000..c4e77957 --- /dev/null +++ b/bsp/buildroot/package/x11r7/xorgproto/xorgproto.hash @@ -0,0 +1,43 @@ +# From https://lists.x.org/archives/xorg-announce/2018-February/002841.html +md5 81557ca47ee66a4e54590fcdadd28114 xorgproto-2018.4.tar.bz2 +sha1 2e4a3db312e1ce81e15515dfcac52ba0aa5a920c xorgproto-2018.4.tar.bz2 +sha256 fee885e0512899ea5280c593fdb2735beb1693ad170c22ebcc844470eec415a0 xorgproto-2018.4.tar.bz2 +sha512 2db682d10280ca58cdc04d8eb9fef30c111d4cd379de9fec86cff317865b859a576de5426447be9231d24be9762cc1d684c57383a99ad499398e8b7d62b1c03c xorgproto-2018.4.tar.bz2 +# Locally computed +sha256 aacd931f191b610902aee1e526090c2858aabc07969441fa2537ffd3e7049555 COPYING-applewmproto +sha256 dabc025f93129a0eb2d17f37c719dbe5ecbcb5bc8f7bc7f4ce89fe04576cc0c2 COPYING-bigreqsproto +sha256 ab587ca94282c1e60797ffe4a77aea195418387db20ec7e0c24cedf2c844f8c1 COPYING-compositeproto +sha256 f67a18cb46c4c203c5122b4a901cfcc3178b2a62f83f31ca5fef5bdca3966094 COPYING-damageproto +sha256 819e8dcd3dd2a44850c350331aa492230f86bccb0983dd739dec5ba36d7d2b8e COPYING-dmxproto +sha256 0c306691492c4d7a8cda1ec3847668b797887dddcd7e986b4c166ae27619af7d COPYING-dri2proto +sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-dri3proto +sha256 0aa43d03da3cedbd9882c0ded621b0d855353eb9e551f9eed940d75c8a0b03c1 COPYING-evieproto +sha256 65cb0b867b00fb27f066a37353713b265645b3301146562570d7638ed2ddd548 COPYING-fixesproto +sha256 1ab381e978bff63d68be2e4f235d51935f3f16f3ba3bebf83afa99a70c0484a2 COPYING-fontcacheproto +sha256 f4af05774b02ae149357cc26f7bf5ef1116c2e09373c2492081a3a1892c58417 COPYING-fontsproto +sha256 823deb4673d3f26aa8c90e704888299648f00be3262f9363eaeecedcd65b936d COPYING-glproto +sha256 5e083a2ace0215a6084c877c023a6079952ba803d692488203ba4269196debe3 COPYING-inputproto +sha256 d397a67d4b28e897bc5fce79b2b917df9905b54f961fc3ad1f49c7fe3803f92c COPYING-kbproto +sha256 7a5dd5d4c989c167da50f15879959f42bbda960e06d0a0aea7197f61fe1dc846 COPYING-lg3dproto +sha256 27d8cbdcde7a0bd062ce49cdf8c672201452a64e3e6823f09b1beffe2c4b8eff COPYING-panoramixproto +sha256 8442b5f22f2fb13017a4302a906e7dedc899267b41f613558970941120170128 COPYING-pmproto +sha256 64a579d1a0b3347301d87c94698a58ea7933d0ae6ca7e8fdd702fde2ea376301 COPYING-presentproto +sha256 6b890b118261694865988378dbba876bcd9caa1a421c5c0d626116948bc0ae35 COPYING-printproto +sha256 41c13dcd09147ed2440286f2fb8151df8ebee06deee4ed78ddf094601c216d3d COPYING-randrproto +sha256 ee10aee0f1697ffdbe870a39f037361d4f7136f2976bb7919a41b3f66407caee COPYING-recordproto +sha256 9e48921a94da36d7a69fe71809223ee0bb46370db9842dccdeeb55b5a9946872 COPYING-renderproto +sha256 403e7be948674530ad40669b1e3a31adeddb656502f3b0ef810d5d3cc35d0b52 COPYING-resourceproto +sha256 fcbd3c628bf4d28ee3e6032054bf44bbe58f3b1a944dad856a8d3eb6b37ea412 COPYING-scrnsaverproto +sha256 d6d3513f5a7099748dc387f54498d799380b45f8a444f13aa98aa45a860ae55b COPYING-trapproto +sha256 f8f49bbad61967ebc890fb79fff5bfb7cfc1c341aa8f8dee13eb3fb534040b47 COPYING-videoproto +sha256 eb183a00c61bb47992f096b6993ed7ec17518bea9c285fe87efff7f622cc6c12 COPYING-windowswmproto +sha256 da4a28570230228b9bd80a701c5d8752f8609394de2e0d46d26d978bd07610db COPYING-x11proto +sha256 5531d18cfcc944dab39991f63f182cbbce3fe493ba0c7cf08a25c0d01ee84482 COPYING-xcmiscproto +sha256 fb42146c6c06a200a9b121220eb692ff9101ba0fbd0b224b9e16a016c59ae86a COPYING-xextproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86bigfontproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86dgaproto +sha256 4a05d06752388d9db71ee1006f371d4fb2c316a821fc2fc272db90b3ef978334 COPYING-xf86driproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86miscproto +sha256 3591964e01a9cdfc9cc4149a847a431a3f3d98328cc9e5864c7a7831b29c4058 COPYING-xf86rushproto +sha256 942bb46a3503a708948491699171b00b9e0dfb47818d9268b160bccc5f51a4b9 COPYING-xf86vidmodeproto +sha256 b2d8cda803e900915ce10f0ba735ff2c033b39c7cc5a8a436667ca583d4066fa COPYING-xineramaproto diff --git a/bsp/buildroot/package/x11r7/xorgproto/xorgproto.mk b/bsp/buildroot/package/x11r7/xorgproto/xorgproto.mk new file mode 100644 index 00000000..3f7d25b0 --- /dev/null +++ b/bsp/buildroot/package/x11r7/xorgproto/xorgproto.mk @@ -0,0 +1,53 @@ +################################################################################ +# +# xorgproto +# +################################################################################ + +XORGPROTO_VERSION = 2018.4 +XORGPROTO_SOURCE = xorgproto-$(XORGPROTO_VERSION).tar.bz2 +XORGPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto +XORGPROTO_LICENSE = MIT +XORGPROTO_LICENSE_FILES = \ + COPYING-applewmproto \ + COPYING-bigreqsproto \ + COPYING-compositeproto \ + COPYING-damageproto \ + COPYING-dmxproto \ + COPYING-dri2proto \ + COPYING-dri3proto \ + COPYING-evieproto \ + COPYING-fixesproto \ + COPYING-fontcacheproto \ + COPYING-fontsproto \ + COPYING-glproto \ + COPYING-inputproto \ + COPYING-kbproto \ + COPYING-lg3dproto \ + COPYING-panoramixproto \ + COPYING-pmproto \ + COPYING-presentproto \ + COPYING-printproto \ + COPYING-randrproto \ + COPYING-recordproto \ + COPYING-renderproto \ + COPYING-resourceproto \ + COPYING-scrnsaverproto \ + COPYING-trapproto \ + COPYING-videoproto \ + COPYING-windowswmproto \ + COPYING-x11proto \ + COPYING-xcmiscproto \ + COPYING-xextproto \ + COPYING-xf86bigfontproto \ + COPYING-xf86dgaproto \ + COPYING-xf86driproto \ + COPYING-xf86miscproto \ + COPYING-xf86rushproto \ + COPYING-xf86vidmodeproto \ + COPYING-xineramaproto +XORGPROTO_INSTALL_STAGING = YES +XORGPROTO_INSTALL_TARGET = NO + +$(eval $(autotools-package)) +$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_applewmproto/Config.in b/bsp/buildroot/package/x11r7/xproto_applewmproto/Config.in deleted file mode 100644 index 51a5fd5c..00000000 --- a/bsp/buildroot/package/x11r7/xproto_applewmproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_APPLEWMPROTO - bool "applewmproto" - help - No description available diff --git a/bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.hash b/bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.hash deleted file mode 100644 index 695de3cd..00000000 --- a/bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1371 -md5 c1d50749c3ac5215a1a9425818e856c1 applewmproto-1.4.2.tar.bz2 -sha1 71dd2374e745a7db7ae0e94410e55ba721683d10 applewmproto-1.4.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.mk b/bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.mk deleted file mode 100644 index 998d0aa3..00000000 --- a/bsp/buildroot/package/x11r7/xproto_applewmproto/xproto_applewmproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_applewmproto -# -################################################################################ - -XPROTO_APPLEWMPROTO_VERSION = 1.4.2 -XPROTO_APPLEWMPROTO_SOURCE = applewmproto-$(XPROTO_APPLEWMPROTO_VERSION).tar.bz2 -XPROTO_APPLEWMPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_APPLEWMPROTO_LICENSE = MIT -XPROTO_APPLEWMPROTO_LICENSE_FILES = COPYING -XPROTO_APPLEWMPROTO_INSTALL_STAGING = YES -XPROTO_APPLEWMPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_bigreqsproto/Config.in b/bsp/buildroot/package/x11r7/xproto_bigreqsproto/Config.in deleted file mode 100644 index c431ef2b..00000000 --- a/bsp/buildroot/package/x11r7/xproto_bigreqsproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_BIGREQSPROTO - bool "bigreqsproto" - help - X.Org BigReqs protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.hash b/bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.hash deleted file mode 100644 index 7d70dca8..00000000 --- a/bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 462116ab44e41d8121bfde947321950370b285a5316612b8fce8334d50751b1e bigreqsproto-1.1.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.mk b/bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.mk deleted file mode 100644 index bca5a3cd..00000000 --- a/bsp/buildroot/package/x11r7/xproto_bigreqsproto/xproto_bigreqsproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_bigreqsproto -# -################################################################################ - -XPROTO_BIGREQSPROTO_VERSION = 1.1.2 -XPROTO_BIGREQSPROTO_SOURCE = bigreqsproto-$(XPROTO_BIGREQSPROTO_VERSION).tar.bz2 -XPROTO_BIGREQSPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_BIGREQSPROTO_LICENSE = MIT -XPROTO_BIGREQSPROTO_LICENSE_FILES = COPYING -XPROTO_BIGREQSPROTO_INSTALL_STAGING = YES -XPROTO_BIGREQSPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_compositeproto/Config.in b/bsp/buildroot/package/x11r7/xproto_compositeproto/Config.in deleted file mode 100644 index 136900a0..00000000 --- a/bsp/buildroot/package/x11r7/xproto_compositeproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_COMPOSITEPROTO - bool "compositeproto" - help - X.Org Composite protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.hash b/bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.hash deleted file mode 100644 index c6ef73c2..00000000 --- a/bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1193 -md5 98482f65ba1e74a08bf5b056a4031ef0 compositeproto-0.4.2.tar.bz2 -sha1 aa7b5abcfd5bbfad7cb681ce89dc1d6e381e3044 compositeproto-0.4.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.mk b/bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.mk deleted file mode 100644 index 21613582..00000000 --- a/bsp/buildroot/package/x11r7/xproto_compositeproto/xproto_compositeproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_compositeproto -# -################################################################################ - -XPROTO_COMPOSITEPROTO_VERSION = 0.4.2 -XPROTO_COMPOSITEPROTO_SOURCE = compositeproto-$(XPROTO_COMPOSITEPROTO_VERSION).tar.bz2 -XPROTO_COMPOSITEPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_COMPOSITEPROTO_LICENSE = MIT -XPROTO_COMPOSITEPROTO_LICENSE_FILES = COPYING -XPROTO_COMPOSITEPROTO_INSTALL_STAGING = YES -XPROTO_COMPOSITEPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_damageproto/Config.in b/bsp/buildroot/package/x11r7/xproto_damageproto/Config.in deleted file mode 100644 index 068ed2b4..00000000 --- a/bsp/buildroot/package/x11r7/xproto_damageproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_DAMAGEPROTO - bool "damageproto" - help - X.Org Damage protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.hash b/bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.hash deleted file mode 100644 index e5064b62..00000000 --- a/bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1194 -md5 998e5904764b82642cc63d97b4ba9e95 damageproto-1.2.1.tar.bz2 -sha1 bd0f0f4dc8f37eaabd9279d10fe2889710507358 damageproto-1.2.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.mk b/bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.mk deleted file mode 100644 index 0311ea49..00000000 --- a/bsp/buildroot/package/x11r7/xproto_damageproto/xproto_damageproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_damageproto -# -################################################################################ - -XPROTO_DAMAGEPROTO_VERSION = 1.2.1 -XPROTO_DAMAGEPROTO_SOURCE = damageproto-$(XPROTO_DAMAGEPROTO_VERSION).tar.bz2 -XPROTO_DAMAGEPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_DAMAGEPROTO_LICENSE = MIT -XPROTO_DAMAGEPROTO_LICENSE_FILES = COPYING -XPROTO_DAMAGEPROTO_INSTALL_STAGING = YES -XPROTO_DAMAGEPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_dmxproto/Config.in b/bsp/buildroot/package/x11r7/xproto_dmxproto/Config.in deleted file mode 100644 index dc048b1f..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dmxproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_DMXPROTO - bool "dmxproto" - help - X.Org DMX protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.hash b/bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.hash deleted file mode 100644 index 041f580e..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1306 -md5 4ee175bbd44d05c34d43bb129be5098a dmxproto-2.3.1.tar.bz2 -sha1 3b8b273b8ef3d8dbab998df9ec1dddf99edf4d91 dmxproto-2.3.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.mk b/bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.mk deleted file mode 100644 index 4cc795c2..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dmxproto/xproto_dmxproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_dmxproto -# -################################################################################ - -XPROTO_DMXPROTO_VERSION = 2.3.1 -XPROTO_DMXPROTO_SOURCE = dmxproto-$(XPROTO_DMXPROTO_VERSION).tar.bz2 -XPROTO_DMXPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_DMXPROTO_LICENSE = MIT -XPROTO_DMXPROTO_LICENSE_FILES = COPYING -XPROTO_DMXPROTO_INSTALL_STAGING = YES -XPROTO_DMXPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_dri2proto/Config.in b/bsp/buildroot/package/x11r7/xproto_dri2proto/Config.in deleted file mode 100644 index 3fe5aa1a..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dri2proto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_DRI2PROTO - bool "dri2proto" - help - X.Org DRI2 protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.hash b/bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.hash deleted file mode 100644 index e3ea0bc1..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1731 -sha256 f9b55476def44fc7c459b2537d17dbc731e36ed5d416af7ca0b1e2e676f8aa04 dri2proto-2.8.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.mk b/bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.mk deleted file mode 100644 index e4ed7d8b..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dri2proto/xproto_dri2proto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_dri2proto -# -################################################################################ - -XPROTO_DRI2PROTO_VERSION = 2.8 -XPROTO_DRI2PROTO_SOURCE = dri2proto-$(XPROTO_DRI2PROTO_VERSION).tar.bz2 -XPROTO_DRI2PROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_DRI2PROTO_LICENSE = MIT -XPROTO_DRI2PROTO_LICENSE_FILES = COPYING -XPROTO_DRI2PROTO_INSTALL_STAGING = YES -XPROTO_DRI2PROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_dri3proto/Config.in b/bsp/buildroot/package/x11r7/xproto_dri3proto/Config.in deleted file mode 100644 index eead7d47..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dri3proto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_DRI3PROTO - bool "dri3proto" - help - X.Org DRI3 protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.hash b/bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.hash deleted file mode 100644 index 6e1da4d3..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/2079 -sha256 01be49d70200518b9a6b297131f6cc71f4ea2de17436896af153226a774fc074 dri3proto-1.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk b/bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk deleted file mode 100644 index bdbff74f..00000000 --- a/bsp/buildroot/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_dri3proto -# -################################################################################ - -XPROTO_DRI3PROTO_VERSION = 1.0 -XPROTO_DRI3PROTO_SOURCE = dri3proto-$(XPROTO_DRI3PROTO_VERSION).tar.bz2 -XPROTO_DRI3PROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_DRI3PROTO_LICENSE = MIT -XPROTO_DRI3PROTO_INSTALL_STAGING = YES -# this package does not contain any binary files -XPROTO_DRI3PROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_fixesproto/Config.in b/bsp/buildroot/package/x11r7/xproto_fixesproto/Config.in deleted file mode 100644 index d419fa13..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fixesproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_FIXESPROTO - bool "fixesproto" - help - X.Org Fixes protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.hash b/bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.hash deleted file mode 100644 index d19f3924..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1352 -md5 e7431ab84d37b2678af71e29355e101d fixesproto-5.0.tar.bz2 -sha1 ab605af5da8c98c0c2f8b2c578fed7c864ee996a fixesproto-5.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.mk b/bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.mk deleted file mode 100644 index 55212b26..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fixesproto/xproto_fixesproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_fixesproto -# -################################################################################ - -XPROTO_FIXESPROTO_VERSION = 5.0 -XPROTO_FIXESPROTO_SOURCE = fixesproto-$(XPROTO_FIXESPROTO_VERSION).tar.bz2 -XPROTO_FIXESPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_FIXESPROTO_LICENSE = MIT -XPROTO_FIXESPROTO_LICENSE_FILES = COPYING -XPROTO_FIXESPROTO_INSTALL_STAGING = YES -XPROTO_FIXESPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_fontcacheproto/Config.in b/bsp/buildroot/package/x11r7/xproto_fontcacheproto/Config.in deleted file mode 100644 index daa6c7f2..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fontcacheproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_FONTCACHEPROTO - bool "fontcacheproto" - help - X.Org Fontcache protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.hash b/bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.hash deleted file mode 100644 index 7363e224..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/834 -md5 a8a50e5e995bfacb0359575faf7f6906 fontcacheproto-0.1.3.tar.bz2 -sha1 07f6ab3e1e1efe71c51f50e95851d93d2a1de773 fontcacheproto-0.1.3.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.mk b/bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.mk deleted file mode 100644 index 0cb205ad..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fontcacheproto/xproto_fontcacheproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_fontcacheproto -# -################################################################################ - -XPROTO_FONTCACHEPROTO_VERSION = 0.1.3 -XPROTO_FONTCACHEPROTO_SOURCE = fontcacheproto-$(XPROTO_FONTCACHEPROTO_VERSION).tar.bz2 -XPROTO_FONTCACHEPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_FONTCACHEPROTO_LICENSE = MIT -XPROTO_FONTCACHEPROTO_LICENSE_FILES = COPYING -XPROTO_FONTCACHEPROTO_INSTALL_STAGING = YES -XPROTO_FONTCACHEPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_fontsproto/Config.in b/bsp/buildroot/package/x11r7/xproto_fontsproto/Config.in deleted file mode 100644 index b00220c2..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fontsproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_FONTSPROTO - bool "fontsproto" - help - X.Org Fonts protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.hash b/bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.hash deleted file mode 100644 index 6a21058b..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.freedesktop.org/archives/xorg/2014-April/056540.html -sha256 259046b0dd9130825c4a4c479ba3591d6d0f17a33f54e294b56478729a6e5ab8 fontsproto-2.1.3.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.mk b/bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.mk deleted file mode 100644 index b4e6d6a8..00000000 --- a/bsp/buildroot/package/x11r7/xproto_fontsproto/xproto_fontsproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_fontsproto -# -################################################################################ - -XPROTO_FONTSPROTO_VERSION = 2.1.3 -XPROTO_FONTSPROTO_SOURCE = fontsproto-$(XPROTO_FONTSPROTO_VERSION).tar.bz2 -XPROTO_FONTSPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_FONTSPROTO_LICENSE = MIT -XPROTO_FONTSPROTO_LICENSE_FILES = COPYING -XPROTO_FONTSPROTO_INSTALL_STAGING = YES -XPROTO_FONTSPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_glproto/Config.in b/bsp/buildroot/package/x11r7/xproto_glproto/Config.in deleted file mode 100644 index 28ceb9cc..00000000 --- a/bsp/buildroot/package/x11r7/xproto_glproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_GLPROTO - bool "glproto" - help - X.Org GL protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.hash b/bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.hash deleted file mode 100644 index fce6a222..00000000 --- a/bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# Locally computed -sha256 adaa94bded310a2bfcbb9deb4d751d965fcfe6fb3a2f6d242e2df2d6589dbe40 glproto-1.4.17.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.mk b/bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.mk deleted file mode 100644 index ccfc6de6..00000000 --- a/bsp/buildroot/package/x11r7/xproto_glproto/xproto_glproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_glproto -# -################################################################################ - -XPROTO_GLPROTO_VERSION = 1.4.17 -XPROTO_GLPROTO_SOURCE = glproto-$(XPROTO_GLPROTO_VERSION).tar.bz2 -XPROTO_GLPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_GLPROTO_LICENSE = MIT -XPROTO_GLPROTO_LICENSE_FILES = COPYING -XPROTO_GLPROTO_INSTALL_STAGING = YES -XPROTO_GLPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_inputproto/Config.in b/bsp/buildroot/package/x11r7/xproto_inputproto/Config.in deleted file mode 100644 index fcccb26c..00000000 --- a/bsp/buildroot/package/x11r7/xproto_inputproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_INPUTPROTO - bool "inputproto" - help - X.Org Input protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.hash b/bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.hash deleted file mode 100644 index 4ecdddc5..00000000 --- a/bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://lists.freedesktop.org/archives/xorg-announce/2016-April/002682.html -sha256 893a6af55733262058a27b38eeb1edc733669f01d404e8581b167f03c03ef31d inputproto-2.3.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk b/bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk deleted file mode 100644 index 9e45e2d3..00000000 --- a/bsp/buildroot/package/x11r7/xproto_inputproto/xproto_inputproto.mk +++ /dev/null @@ -1,18 +0,0 @@ -################################################################################ -# -# xproto_inputproto -# -################################################################################ - -XPROTO_INPUTPROTO_VERSION = 2.3.2 -XPROTO_INPUTPROTO_SOURCE = inputproto-$(XPROTO_INPUTPROTO_VERSION).tar.bz2 -XPROTO_INPUTPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_INPUTPROTO_LICENSE = MIT -XPROTO_INPUTPROTO_LICENSE_FILES = COPYING -XPROTO_INPUTPROTO_INSTALL_STAGING = YES -XPROTO_INPUTPROTO_INSTALL_TARGET = NO -XPROTO_INPUTPROTO_CONF_ENV = ac_cv_path_ASCIIDOC="" -HOST_XPROTO_INPUTPROTO_CONF_ENV = ac_cv_path_ASCIIDOC="" - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_kbproto/Config.in b/bsp/buildroot/package/x11r7/xproto_kbproto/Config.in deleted file mode 100644 index ce568d7a..00000000 --- a/bsp/buildroot/package/x11r7/xproto_kbproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_KBPROTO - bool "kbproto" - help - X.Org KB protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.hash b/bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.hash deleted file mode 100644 index c98e595a..00000000 --- a/bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2015-April/002595.html -sha256 f882210b76376e3fa006b11dbd890e56ec0942bc56e65d1249ff4af86f90b857 kbproto-1.0.7.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.mk b/bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.mk deleted file mode 100644 index b6c818f7..00000000 --- a/bsp/buildroot/package/x11r7/xproto_kbproto/xproto_kbproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_kbproto -# -################################################################################ - -XPROTO_KBPROTO_VERSION = 1.0.7 -XPROTO_KBPROTO_SOURCE = kbproto-$(XPROTO_KBPROTO_VERSION).tar.bz2 -XPROTO_KBPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_KBPROTO_LICENSE = MIT -XPROTO_KBPROTO_LICENSE_FILES = COPYING -XPROTO_KBPROTO_INSTALL_STAGING = YES -XPROTO_KBPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_presentproto/Config.in b/bsp/buildroot/package/x11r7/xproto_presentproto/Config.in deleted file mode 100644 index 586008df..00000000 --- a/bsp/buildroot/package/x11r7/xproto_presentproto/Config.in +++ /dev/null @@ -1,5 +0,0 @@ -config BR2_PACKAGE_XPROTO_PRESENTPROTO - bool "presentproto" - select BR2_PACKAGE_XUTIL_UTIL_MACROS - help - X.Org Present extension headers diff --git a/bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.hash b/bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.hash deleted file mode 100644 index aa45d916..00000000 --- a/bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002770.html -sha256 f69b23a8869f78a5898aaf53938b829c8165e597cda34f06024d43ee1e6d26b9 presentproto-1.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.mk b/bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.mk deleted file mode 100644 index 0097b9cd..00000000 --- a/bsp/buildroot/package/x11r7/xproto_presentproto/xproto_presentproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_presentproto -# -################################################################################ - -XPROTO_PRESENTPROTO_VERSION = 1.1 -XPROTO_PRESENTPROTO_SOURCE = presentproto-$(XPROTO_PRESENTPROTO_VERSION).tar.bz2 -XPROTO_PRESENTPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_PRESENTPROTO_LICENSE = MIT -XPROTO_PRESENTPROTO_LICENSE_FILES = presentproto.h -XPROTO_PRESENTPROTO_DEPENDENCIES = host-pkgconf xutil_util-macros -XPROTO_PRESENTPROTO_INSTALL_STAGING = YES -XPROTO_PRESENTPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_randrproto/Config.in b/bsp/buildroot/package/x11r7/xproto_randrproto/Config.in deleted file mode 100644 index 097ec8f2..00000000 --- a/bsp/buildroot/package/x11r7/xproto_randrproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_RANDRPROTO - bool "randrproto" - help - X.Org Randr protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.hash b/bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.hash deleted file mode 100644 index c71df7f8..00000000 --- a/bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2015-May/002605.html -sha1 bc420745dc4af011988e9dcabdadf8829cbc2374 randrproto-1.5.0.tar.bz2 -sha256 4c675533e79cd730997d232c8894b6692174dce58d3e207021b8f860be498468 randrproto-1.5.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.mk b/bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.mk deleted file mode 100644 index f6c48781..00000000 --- a/bsp/buildroot/package/x11r7/xproto_randrproto/xproto_randrproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_randrproto -# -################################################################################ - -XPROTO_RANDRPROTO_VERSION = 1.5.0 -XPROTO_RANDRPROTO_SOURCE = randrproto-$(XPROTO_RANDRPROTO_VERSION).tar.bz2 -XPROTO_RANDRPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_RANDRPROTO_LICENSE = MIT -XPROTO_RANDRPROTO_LICENSE_FILES = COPYING -XPROTO_RANDRPROTO_INSTALL_STAGING = YES -XPROTO_RANDRPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_recordproto/Config.in b/bsp/buildroot/package/x11r7/xproto_recordproto/Config.in deleted file mode 100644 index 9fd5b884..00000000 --- a/bsp/buildroot/package/x11r7/xproto_recordproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_RECORDPROTO - bool "recordproto" - help - X.Org Record protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.hash b/bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.hash deleted file mode 100644 index bc03f8c4..00000000 --- a/bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 a777548d2e92aa259f1528de3c4a36d15e07a4650d0976573a8e2ff5437e7370 recordproto-1.14.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.mk b/bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.mk deleted file mode 100644 index 2d2cceac..00000000 --- a/bsp/buildroot/package/x11r7/xproto_recordproto/xproto_recordproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_recordproto -# -################################################################################ - -XPROTO_RECORDPROTO_VERSION = 1.14.2 -XPROTO_RECORDPROTO_SOURCE = recordproto-$(XPROTO_RECORDPROTO_VERSION).tar.bz2 -XPROTO_RECORDPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_RECORDPROTO_LICENSE = MIT -XPROTO_RECORDPROTO_LICENSE_FILES = COPYING -XPROTO_RECORDPROTO_INSTALL_STAGING = YES -XPROTO_RECORDPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_renderproto/Config.in b/bsp/buildroot/package/x11r7/xproto_renderproto/Config.in deleted file mode 100644 index 5b5806fa..00000000 --- a/bsp/buildroot/package/x11r7/xproto_renderproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_RENDERPROTO - bool "renderproto" - help - X.Org Render protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.hash b/bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.hash deleted file mode 100644 index 92763da9..00000000 --- a/bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 06735a5b92b20759204e4751ecd6064a2ad8a6246bb65b3078b862a00def2537 renderproto-0.11.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.mk b/bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.mk deleted file mode 100644 index 41a84454..00000000 --- a/bsp/buildroot/package/x11r7/xproto_renderproto/xproto_renderproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_renderproto -# -################################################################################ - -XPROTO_RENDERPROTO_VERSION = 0.11.1 -XPROTO_RENDERPROTO_SOURCE = renderproto-$(XPROTO_RENDERPROTO_VERSION).tar.bz2 -XPROTO_RENDERPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_RENDERPROTO_LICENSE = MIT -XPROTO_RENDERPROTO_LICENSE_FILES = COPYING -XPROTO_RENDERPROTO_INSTALL_STAGING = YES -XPROTO_RENDERPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_resourceproto/Config.in b/bsp/buildroot/package/x11r7/xproto_resourceproto/Config.in deleted file mode 100644 index 4aec708c..00000000 --- a/bsp/buildroot/package/x11r7/xproto_resourceproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_RESOURCEPROTO - bool "resourceproto" - help - X.Org Resource protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.hash b/bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.hash deleted file mode 100644 index 5ceb1c04..00000000 --- a/bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1404 -md5 cfdb57dae221b71b2703f8e2980eaaf4 resourceproto-1.2.0.tar.bz2 -sha1 9ff9bb9243b0474330959dc3853973523c9dd9ce resourceproto-1.2.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.mk b/bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.mk deleted file mode 100644 index 960ca133..00000000 --- a/bsp/buildroot/package/x11r7/xproto_resourceproto/xproto_resourceproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_resourceproto -# -################################################################################ - -XPROTO_RESOURCEPROTO_VERSION = 1.2.0 -XPROTO_RESOURCEPROTO_SOURCE = resourceproto-$(XPROTO_RESOURCEPROTO_VERSION).tar.bz2 -XPROTO_RESOURCEPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_RESOURCEPROTO_LICENSE = MIT -XPROTO_RESOURCEPROTO_LICENSE_FILES = COPYING -XPROTO_RESOURCEPROTO_INSTALL_STAGING = YES -XPROTO_RESOURCEPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/Config.in b/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/Config.in deleted file mode 100644 index 83176a0d..00000000 --- a/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_SCRNSAVERPROTO - bool "scrnsaverproto" - help - X.Org ScrnSaver protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.hash b/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.hash deleted file mode 100644 index 36c10362..00000000 --- a/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 8bb70a8da164930cceaeb4c74180291660533ad3cc45377b30a795d1b85bcd65 scrnsaverproto-1.2.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.mk b/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.mk deleted file mode 100644 index 57047cf5..00000000 --- a/bsp/buildroot/package/x11r7/xproto_scrnsaverproto/xproto_scrnsaverproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_scrnsaverproto -# -################################################################################ - -XPROTO_SCRNSAVERPROTO_VERSION = 1.2.2 -XPROTO_SCRNSAVERPROTO_SOURCE = scrnsaverproto-$(XPROTO_SCRNSAVERPROTO_VERSION).tar.bz2 -XPROTO_SCRNSAVERPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_SCRNSAVERPROTO_LICENSE = MIT -XPROTO_SCRNSAVERPROTO_LICENSE_FILES = COPYING -XPROTO_SCRNSAVERPROTO_INSTALL_STAGING = YES -XPROTO_SCRNSAVERPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_videoproto/Config.in b/bsp/buildroot/package/x11r7/xproto_videoproto/Config.in deleted file mode 100644 index 271c78f3..00000000 --- a/bsp/buildroot/package/x11r7/xproto_videoproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_VIDEOPROTO - bool "videoproto" - help - X.Org Video protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.hash b/bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.hash deleted file mode 100644 index 471a0a39..00000000 --- a/bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://lists.freedesktop.org/archives/xorg-announce/2016-March/002680.html -sha256 c7803889fd08e6fcaf7b68cc394fb038b2325d1f315e571a6954577e07cca702 videoproto-2.3.3.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.mk b/bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.mk deleted file mode 100644 index 896398fc..00000000 --- a/bsp/buildroot/package/x11r7/xproto_videoproto/xproto_videoproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_videoproto -# -################################################################################ - -XPROTO_VIDEOPROTO_VERSION = 2.3.3 -XPROTO_VIDEOPROTO_SOURCE = videoproto-$(XPROTO_VIDEOPROTO_VERSION).tar.bz2 -XPROTO_VIDEOPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_VIDEOPROTO_LICENSE = MIT -XPROTO_VIDEOPROTO_LICENSE_FILES = COPYING -XPROTO_VIDEOPROTO_INSTALL_STAGING = YES -XPROTO_VIDEOPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_windowswmproto/Config.in b/bsp/buildroot/package/x11r7/xproto_windowswmproto/Config.in deleted file mode 100644 index d1a36acc..00000000 --- a/bsp/buildroot/package/x11r7/xproto_windowswmproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_WINDOWSWMPROTO - bool "windowswmproto" - help - No description available diff --git a/bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.hash b/bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.hash deleted file mode 100644 index eb96c5fa..00000000 --- a/bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/835 -md5 e74b2ff3172a6117f2a62b655ef99064 windowswmproto-1.0.4.tar.bz2 -sha1 1c9b522c66325f08bb989700b4b31911b6ae60ae windowswmproto-1.0.4.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.mk b/bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.mk deleted file mode 100644 index 067bccf0..00000000 --- a/bsp/buildroot/package/x11r7/xproto_windowswmproto/xproto_windowswmproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_windowswmproto -# -################################################################################ - -XPROTO_WINDOWSWMPROTO_VERSION = 1.0.4 -XPROTO_WINDOWSWMPROTO_SOURCE = windowswmproto-$(XPROTO_WINDOWSWMPROTO_VERSION).tar.bz2 -XPROTO_WINDOWSWMPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_WINDOWSWMPROTO_LICENSE = MIT -XPROTO_WINDOWSWMPROTO_LICENSE_FILES = COPYING -XPROTO_WINDOWSWMPROTO_INSTALL_STAGING = YES -XPROTO_WINDOWSWMPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xcmiscproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xcmiscproto/Config.in deleted file mode 100644 index f7ba1534..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xcmiscproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XCMISCPROTO - bool "xcmiscproto" - help - X.Org XCMisc protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.hash b/bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.hash deleted file mode 100644 index 08eb58bd..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://www.x.org/archive/current/src/everything/CHECKSUMS -sha256 b13236869372256c36db79ae39d54214172677fb79e9cdc555dceec80bd9d2df xcmiscproto-1.2.2.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk b/bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk deleted file mode 100644 index 3bef2e97..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xcmiscproto/xproto_xcmiscproto.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# xproto_xcmiscproto -# -################################################################################ - -XPROTO_XCMISCPROTO_VERSION = 1.2.2 -XPROTO_XCMISCPROTO_SOURCE = xcmiscproto-$(XPROTO_XCMISCPROTO_VERSION).tar.bz2 -XPROTO_XCMISCPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XCMISCPROTO_LICENSE = MIT -XPROTO_XCMISCPROTO_LICENSE_FILES = COPYING -XPROTO_XCMISCPROTO_INSTALL_STAGING = YES -XPROTO_XCMISCPROTO_CONF_OPTS = --disable-specs -HOST_XPROTO_XCMISCPROTO_CONF_OPTS = --disable-specs - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xextproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xextproto/Config.in deleted file mode 100644 index d80d76ce..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xextproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XEXTPROTO - bool "xextproto" - help - X.Org XExt protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.hash b/bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.hash deleted file mode 100644 index 258c4ec7..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.freedesktop.org/pipermail/xorg/2013-December/056256.html -sha256 f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 xextproto-7.3.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.mk b/bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.mk deleted file mode 100644 index c17dd938..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xextproto/xproto_xextproto.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# -# xproto_xextproto -# -################################################################################ - -XPROTO_XEXTPROTO_VERSION = 7.3.0 -XPROTO_XEXTPROTO_SOURCE = xextproto-$(XPROTO_XEXTPROTO_VERSION).tar.bz2 -XPROTO_XEXTPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XEXTPROTO_LICENSE = MIT -XPROTO_XEXTPROTO_LICENSE_FILES = COPYING -XPROTO_XEXTPROTO_INSTALL_STAGING = YES -XPROTO_XEXTPROTO_CONF_OPTS = --disable-specs -HOST_XPROTO_XEXTPROTO_CONF_OPTS = --disable-specs - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/Config.in deleted file mode 100644 index 7af30d03..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO - bool "xf86bigfontproto" - help - X.Org XF86BigFont protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.hash b/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.hash deleted file mode 100644 index b0ab8aeb..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/734 -md5 120e226ede5a4687b25dd357cc9b8efe xf86bigfontproto-1.2.0.tar.bz2 -sha1 312a2ea708b257520c1af4393b69d73a393a478f xf86bigfontproto-1.2.0.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.mk b/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.mk deleted file mode 100644 index f88f5eca..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86bigfontproto/xproto_xf86bigfontproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_xf86bigfontproto -# -################################################################################ - -XPROTO_XF86BIGFONTPROTO_VERSION = 1.2.0 -XPROTO_XF86BIGFONTPROTO_SOURCE = xf86bigfontproto-$(XPROTO_XF86BIGFONTPROTO_VERSION).tar.bz2 -XPROTO_XF86BIGFONTPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XF86BIGFONTPROTO_LICENSE = MIT -XPROTO_XF86BIGFONTPROTO_LICENSE_FILES = COPYING -XPROTO_XF86BIGFONTPROTO_INSTALL_STAGING = YES -XPROTO_XF86BIGFONTPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/Config.in deleted file mode 100644 index 7561b8a6..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XF86DGAPROTO - bool "xf86dgaproto" - help - X.Org XF86DGA protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.hash b/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.hash deleted file mode 100644 index 36284fcd..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/817 -md5 a036dc2fcbf052ec10621fd48b68dbb1 xf86dgaproto-2.1.tar.bz2 -sha1 97a06120e7195c968875e8ba42e82c90ab54948b xf86dgaproto-2.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.mk b/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.mk deleted file mode 100644 index d671bf00..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86dgaproto/xproto_xf86dgaproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_xf86dgaproto -# -################################################################################ - -XPROTO_XF86DGAPROTO_VERSION = 2.1 -XPROTO_XF86DGAPROTO_SOURCE = xf86dgaproto-$(XPROTO_XF86DGAPROTO_VERSION).tar.bz2 -XPROTO_XF86DGAPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XF86DGAPROTO_LICENSE = MIT -XPROTO_XF86DGAPROTO_LICENSE_FILES = COPYING -XPROTO_XF86DGAPROTO_INSTALL_STAGING = YES -XPROTO_XF86DGAPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xf86driproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xf86driproto/Config.in deleted file mode 100644 index 8aeac872..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86driproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XF86DRIPROTO - bool "xf86driproto" - help - X.Org XF86DRI protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.hash b/bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.hash deleted file mode 100644 index 85d4bfcc..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1310 -md5 1d716d0dac3b664e5ee20c69d34bc10e xf86driproto-2.1.1.tar.bz2 -sha1 23e861f40ba0f0cbbfd7db7ba2ef623762ffca17 xf86driproto-2.1.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.mk b/bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.mk deleted file mode 100644 index e6bb0f12..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86driproto/xproto_xf86driproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_xf86driproto -# -################################################################################ - -XPROTO_XF86DRIPROTO_VERSION = 2.1.1 -XPROTO_XF86DRIPROTO_SOURCE = xf86driproto-$(XPROTO_XF86DRIPROTO_VERSION).tar.bz2 -XPROTO_XF86DRIPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XF86DRIPROTO_LICENSE = MIT -XPROTO_XF86DRIPROTO_LICENSE_FILES = COPYING -XPROTO_XF86DRIPROTO_INSTALL_STAGING = YES -XPROTO_XF86DRIPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/Config.in deleted file mode 100644 index 395c1758..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO - bool "xf86vidmodeproto" - help - X.Org XF86VidMode protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.hash b/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.hash deleted file mode 100644 index d80749be..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1311 -md5 e793ecefeaecfeabd1aed6a01095174e xf86vidmodeproto-2.3.1.tar.bz2 -sha1 11d54c3210887631ea71e8f8030a77692e964fc4 xf86vidmodeproto-2.3.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.mk b/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.mk deleted file mode 100644 index 41637983..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xf86vidmodeproto/xproto_xf86vidmodeproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_xf86vidmodeproto -# -################################################################################ - -XPROTO_XF86VIDMODEPROTO_VERSION = 2.3.1 -XPROTO_XF86VIDMODEPROTO_SOURCE = xf86vidmodeproto-$(XPROTO_XF86VIDMODEPROTO_VERSION).tar.bz2 -XPROTO_XF86VIDMODEPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XF86VIDMODEPROTO_LICENSE = MIT -XPROTO_XF86VIDMODEPROTO_LICENSE_FILES = COPYING -XPROTO_XF86VIDMODEPROTO_INSTALL_STAGING = YES -XPROTO_XF86VIDMODEPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xineramaproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xineramaproto/Config.in deleted file mode 100644 index 12c8e05b..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xineramaproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XINERAMAPROTO - bool "xineramaproto" - help - X.Org Xinerama protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.hash b/bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.hash deleted file mode 100644 index 162c9948..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.hash +++ /dev/null @@ -1,3 +0,0 @@ -# From http://article.gmane.org/gmane.comp.freedesktop.xorg.announce/1312 -md5 9959fe0bfb22a0e7260433b8d199590a xineramaproto-1.2.1.tar.bz2 -sha1 818bffc16139d6e3de4344c83f00c495d3536753 xineramaproto-1.2.1.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.mk b/bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.mk deleted file mode 100644 index 4c9ae11d..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xineramaproto/xproto_xineramaproto.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_xineramaproto -# -################################################################################ - -XPROTO_XINERAMAPROTO_VERSION = 1.2.1 -XPROTO_XINERAMAPROTO_SOURCE = xineramaproto-$(XPROTO_XINERAMAPROTO_VERSION).tar.bz2 -XPROTO_XINERAMAPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XINERAMAPROTO_LICENSE = MIT -XPROTO_XINERAMAPROTO_LICENSE_FILES = COPYING -XPROTO_XINERAMAPROTO_INSTALL_STAGING = YES -XPROTO_XINERAMAPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xproto/Config.in b/bsp/buildroot/package/x11r7/xproto_xproto/Config.in deleted file mode 100644 index a5f88ef7..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xproto/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config BR2_PACKAGE_XPROTO_XPROTO - bool "xproto" - help - X.Org xproto protocol headers diff --git a/bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.hash b/bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.hash deleted file mode 100644 index 4b77d256..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From https://lists.x.org/archives/xorg-announce/2016-September/002713.html -sha256 c6f9747da0bd3a95f86b17fb8dd5e717c8f3ab7f0ece3ba1b247899ec1ef7747 xproto-7.0.31.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.mk b/bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.mk deleted file mode 100644 index 76f9d32b..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xproto/xproto_xproto.mk +++ /dev/null @@ -1,16 +0,0 @@ -################################################################################ -# -# xproto_xproto -# -################################################################################ - -XPROTO_XPROTO_VERSION = 7.0.31 -XPROTO_XPROTO_SOURCE = xproto-$(XPROTO_XPROTO_VERSION).tar.bz2 -XPROTO_XPROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XPROTO_LICENSE = MIT -XPROTO_XPROTO_LICENSE_FILES = COPYING -XPROTO_XPROTO_INSTALL_STAGING = YES -XPROTO_XPROTO_INSTALL_TARGET = NO - -$(eval $(autotools-package)) -$(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/Config.in b/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/Config.in deleted file mode 100644 index bb31f030..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/Config.in +++ /dev/null @@ -1,6 +0,0 @@ -config BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL - bool "xproxymanagementprotocol" - help - The Proxy Management Protocol is an ICE based protocol that - provides a way for application servers to easily locate - proxy services available to them. diff --git a/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.hash b/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.hash deleted file mode 100644 index 27a9dfa8..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.hash +++ /dev/null @@ -1,2 +0,0 @@ -# From http://lists.x.org/archives/xorg-announce/2009-October/001150.html -sha1 4abb036371670ecc25d32e48b3277fe203ae5203 xproxymanagementprotocol-1.0.3.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.mk b/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.mk deleted file mode 100644 index a48269aa..00000000 --- a/bsp/buildroot/package/x11r7/xproto_xproxymanagementprotocol/xproto_xproxymanagementprotocol.mk +++ /dev/null @@ -1,15 +0,0 @@ -################################################################################ -# -# xproto_xproxymanagementprotocol -# -################################################################################ - -XPROTO_XPROXYMANAGEMENTPROTOCOL_VERSION = 1.0.3 -XPROTO_XPROXYMANAGEMENTPROTOCOL_SOURCE = xproxymanagementprotocol-$(XPROTO_XPROXYMANAGEMENTPROTOCOL_VERSION).tar.bz2 -XPROTO_XPROXYMANAGEMENTPROTOCOL_SITE = http://xorg.freedesktop.org/releases/individual/proto -XPROTO_XPROXYMANAGEMENTPROTOCOL_LICENSE = MIT -XPROTO_XPROXYMANAGEMENTPROTOCOL_LICENSE_FILES = COPYING -XPROTO_XPROXYMANAGEMENTPROTOCOL_INSTALL_STAGING = YES -XPROTO_XPROXYMANAGEMENTPROTOCOL_INSTALL_TARGET = NO - -$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch deleted file mode 100644 index 93be91ae..00000000 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0004-glx-Only-include-compositeext.h-if-COMPOSITE-is-supp.patch +++ /dev/null @@ -1,31 +0,0 @@ -From d16133e3e293fe16b291114d344fbd5a61d5ed65 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston Sequoia -Date: Thu, 20 Jul 2017 19:48:26 -0700 -Subject: [PATCH] glx: Only include compositeext.h if COMPOSITE is - supported - -Regressed-in: ea483af99a6351323afe00a0b630cd63310efdb1 -Signed-off-by: Jeremy Huddleston Sequoia -Signed-off-by: Bernd Kuhls ---- - glx/glxscreens.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/glx/glxscreens.c b/glx/glxscreens.c -index 78e0aaff9..609661274 100644 ---- a/glx/glxscreens.c -+++ b/glx/glxscreens.c -@@ -43,7 +43,10 @@ - #include "glxutil.h" - #include "glxext.h" - #include "protocol-versions.h" -+ -+#ifdef COMPOSITE - #include "compositeext.h" -+#endif - - static DevPrivateKeyRec glxScreenPrivateKeyRec; - --- -2.11.0 - diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0005-Disable-logfile-and-modulepath-when-running-with-ele.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0005-Disable-logfile-and-modulepath-when-running-with-ele.patch deleted file mode 100644 index ba0f09cd..00000000 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0005-Disable-logfile-and-modulepath-when-running-with-ele.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0ff8977a348c316cd9909b890c48d7f5175a5eba Mon Sep 17 00:00:00 2001 -From: Matthieu Herrb -Date: Tue, 23 Oct 2018 21:29:08 +0200 -Subject: [PATCH] Disable -logfile and -modulepath when running with elevated - privileges - -Could cause privilege elevation and/or arbitrary files overwrite, when -the X server is running with elevated privileges (ie when Xorg is -installed with the setuid bit set and started by a non-root user). - -CVE-2018-14665 - -Issue reported by Narendra Shinde and Red Hat. - -Signed-off-by: Matthieu Herrb -Reviewed-by: Alan Coopersmith -Reviewed-by: Peter Hutterer -Reviewed-by: Adam Jackson -(cherry picked from commit 50c0cf885a6e91c0ea71fb49fa8f1b7c86fe330e) -Signed-off-by: Peter Korsgaard ---- - hw/xfree86/common/xf86Init.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c -index d59c224d5..183158c21 100644 ---- a/hw/xfree86/common/xf86Init.c -+++ b/hw/xfree86/common/xf86Init.c -@@ -1135,14 +1135,18 @@ ddxProcessArgument(int argc, char **argv, int i) - /* First the options that are not allowed with elevated privileges */ - if (!strcmp(argv[i], "-modulepath")) { - CHECK_FOR_REQUIRED_ARGUMENT(); -- xf86CheckPrivs(argv[i], argv[i + 1]); -+ if (xf86PrivsElevated()) -+ FatalError("\nInvalid argument -modulepath " -+ "with elevated privileges\n"); - xf86ModulePath = argv[i + 1]; - xf86ModPathFrom = X_CMDLINE; - return 2; - } - if (!strcmp(argv[i], "-logfile")) { - CHECK_FOR_REQUIRED_ARGUMENT(); -- xf86CheckPrivs(argv[i], argv[i + 1]); -+ if (xf86PrivsElevated()) -+ FatalError("\nInvalid argument -logfile " -+ "with elevated privileges\n"); - xf86LogFile = argv[i + 1]; - xf86LogFileFrom = X_CMDLINE; - return 2; --- -2.11.0 - diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch similarity index 88% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch index 4ef95efc..790371c4 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0001-modesettings-needs-dri2.patch +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0001-modesettings-needs-dri2.patch @@ -3,6 +3,7 @@ http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/drivers/modesetting/Mak Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=91584 +[rebased for version 1.20.0] Signed-off-by: Bernd Kuhls diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac @@ -14,6 +15,6 @@ diff -uNr xorg-server-1.17.2.org/configure.ac xorg-server-1.17.2/configure.ac - if test "x$DRM" = xyes; then + if test "x$DRM" = xyes -a "x$DRI2" = xyes; then - dnl 2.4.46 is required for cursor hotspot support. - PKG_CHECK_EXISTS(libdrm >= 2.4.46) XORG_DRIVER_MODESETTING=yes + fi + diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch similarity index 100% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0002-configure.ac-Fix-check-for-CLOCK_MONOTONIC.patch diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0003-Remove-check-for-useSIGIO-option.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0003-Remove-check-for-useSIGIO-option.patch similarity index 100% rename from bsp/buildroot/package/x11r7/xserver_xorg-server/1.19.6/0003-Remove-check-for-useSIGIO-option.patch rename to bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0003-Remove-check-for-useSIGIO-option.patch diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch new file mode 100644 index 00000000..562aa79f --- /dev/null +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/1.20.3/0004-include-misc.h-fix-uClibc-build.patch @@ -0,0 +1,31 @@ +From 2e8fca00f5bdb02f2f59aaa428d1e9d808ab0e86 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Sat, 16 Jun 2018 19:20:16 +0200 +Subject: [PATCH] include/misc.h: fix uClibc build + +A similar fix was used for Dovecot: +https://www.dovecot.org/list/dovecot/2017-November/110019.html + +Signed-off-by: Bernd Kuhls +--- + include/misc.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/include/misc.h b/include/misc.h +index 14920c3c3..390e52b60 100644 +--- a/include/misc.h ++++ b/include/misc.h +@@ -185,6 +185,10 @@ typedef struct _xReq *xReqPtr; + #endif + #endif + ++#undef bswap_16 ++#undef bswap_32 ++#undef bswap_64 ++ + /** + * Calculate the number of bytes needed to hold bits. + * @param bits The minimum number of bits needed. +-- +2.17.1 + diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in b/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in index 3107e2c1..7ccb2bd9 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/Config.in @@ -32,27 +32,9 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_XLIB_LIBXKBFILE select BR2_PACKAGE_XLIB_XTRANS select BR2_PACKAGE_XDATA_XBITMAPS - select BR2_PACKAGE_XPROTO_BIGREQSPROTO - select BR2_PACKAGE_XPROTO_COMPOSITEPROTO - select BR2_PACKAGE_XPROTO_DAMAGEPROTO - select BR2_PACKAGE_XPROTO_FIXESPROTO - select BR2_PACKAGE_XPROTO_FONTSPROTO - select BR2_PACKAGE_XPROTO_GLPROTO - select BR2_PACKAGE_XPROTO_INPUTPROTO - select BR2_PACKAGE_XPROTO_KBPROTO - select BR2_PACKAGE_XPROTO_RANDRPROTO - select BR2_PACKAGE_XPROTO_RENDERPROTO - select BR2_PACKAGE_XPROTO_RESOURCEPROTO - select BR2_PACKAGE_XPROTO_VIDEOPROTO - select BR2_PACKAGE_XPROTO_XCMISCPROTO - select BR2_PACKAGE_XPROTO_XEXTPROTO - select BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO - select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO - select BR2_PACKAGE_XPROTO_XPROTO + select BR2_PACKAGE_XORGPROTO select BR2_PACKAGE_XUTIL_UTIL_MACROS select BR2_PACKAGE_XKEYBOARD_CONFIG - select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_SYSTEMD help X.Org X server @@ -66,29 +48,27 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14 config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19 bool -config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_23 +config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24 bool config BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI int default 14 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_14 default 19 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19 - default 23 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_23 + default 24 if BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24 choice bool "X Window System server version" -config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 - bool "1.19.6" - select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_23 +config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 + bool "1.20.3" + select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24 select BR2_PACKAGE_XLIB_LIBXFONT2 - select BR2_PACKAGE_XPROTO_PRESENTPROTO config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17 bool "1.17.4" select BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_19 select BR2_PACKAGE_XLIB_LIBXFONT - select BR2_PACKAGE_XPROTO_PRESENTPROTO config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 bool "1.14.7" @@ -99,7 +79,7 @@ endchoice config BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION string - default "1.19.6" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19 + default "1.20.3" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20 default "1.17.4" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17 default "1.14.7" if BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 @@ -111,11 +91,9 @@ choice config BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR bool "Modular X.org" depends on BR2_INSTALL_LIBSTDCPP - select BR2_PACKAGE_LIBDRM if (BR2_PACKAGE_XPROTO_XF86DRIPROTO || \ - BR2_PACKAGE_XPROTO_DRI2PROTO) + select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBPCIACCESS - select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \ - (BR2_PACKAGE_XPROTO_DRI3PROTO && BR2_TOOLCHAIN_HAS_SYNC_4) + select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_TOOLCHAIN_HAS_SYNC_4 help This variant of the X.org server is the full-blown variant, as used by desktop GNU/Linux distributions. The drivers (for diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/S40xorg b/bsp/buildroot/package/x11r7/xserver_xorg-server/S40xorg new file mode 100644 index 00000000..215c0b7a --- /dev/null +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/S40xorg @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Starts Xorg +# + +BIN=/usr/bin/Xorg +PIDFILE=/var/run/xorg.pid + +# ":0.0 vt01" makes sure Xorg finds the correct terminal. +# -allowMouseOpenFail allows the server to start up even if the mouse device +# can't be opened or initialised. +# -noreset prevents a server reset when the last client connection is closed. +XORG_ARGS=":0.0 vt01 -s 0 -noreset -allowMouseOpenFail" + +start() { + printf "Starting Xorg: " + start-stop-daemon -S -q -b -m -p $PIDFILE --exec $BIN -- $XORG_ARGS + [ $? = 0 ] && sleep 3 && echo "OK" || echo "FAIL" +} + +stop() { + printf "Stopping Xorg: " + start-stop-daemon -K -q -p $PIDFILE + [ $? = 0 ] && echo "OK" || echo "FAIL" +} + +restart() { + stop + sleep 2 + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|reload) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash index 10285abf..4cde15e5 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.hash @@ -3,8 +3,8 @@ sha1 7a95765e56b124758fcd7b609589e65b8870880b x sha256 fcf66fa6ad86227613d2d3e8ae13ded297e2a1e947e9060a083eaf80d323451f xorg-server-1.14.7.tar.bz2 # From https://lists.x.org/archives/xorg-announce/2015-October/002650.html sha256 0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457 xorg-server-1.17.4.tar.bz2 -# From https://lists.x.org/archives/xorg-announce/2017-December/002830.html -md5 3e47777ff034a331aed2322b078694a8 xorg-server-1.19.6.tar.bz2 -sha1 2dd560ac49bdbda7f67166546af43541fabf517f xorg-server-1.19.6.tar.bz2 -sha256 a732502f1db000cf36a376cd0c010ffdbf32ecdd7f1fa08ba7f5bdf9601cc197 xorg-server-1.19.6.tar.bz2 -sha512 38519a8d0af9dd034045fc346959496dd718fa59b6188307974797a1cd9c349deb54987f6232ea8396baf810dcc710c0ff191f76ed2186cae4d44921b3680412 xorg-server-1.19.6.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-October/002928.html +md5 8ee29e8b24cef6b3cfa747ec01b9155a xorg-server-1.20.3.tar.bz2 +sha1 a522cd543606b4d0509d821b8061904951171c50 xorg-server-1.20.3.tar.bz2 +sha256 1b3ce466c12cacbe2252b3ad5b0ed561972eef9d09e75900d65fb1e21f9201de xorg-server-1.20.3.tar.bz2 +sha512 ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba xorg-server-1.20.3.tar.bz2 diff --git a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk index 45a2c81f..14f81047 100644 --- a/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +++ b/bsp/buildroot/package/x11r7/xserver_xorg-server/xserver_xorg-server.mk @@ -32,24 +32,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES = \ xlib_libxkbfile \ xlib_xtrans \ xdata_xbitmaps \ - xproto_bigreqsproto \ - xproto_compositeproto \ - xproto_damageproto \ - xproto_fixesproto \ - xproto_fontsproto \ - xproto_glproto \ - xproto_inputproto \ - xproto_kbproto \ - xproto_randrproto \ - xproto_renderproto \ - xproto_resourceproto \ - xproto_videoproto \ - xproto_xcmiscproto \ - xproto_xextproto \ - xproto_xf86bigfontproto \ - xproto_xf86dgaproto \ - xproto_xf86vidmodeproto \ - xproto_xproto \ + xorgproto \ xkeyboard-config \ pixman \ mcookie \ @@ -60,6 +43,7 @@ XSERVER_XORG_SERVER_DEPENDENCIES = \ # -Os on several architectures. XSERVER_XORG_SERVER_CONF_OPTS = \ --disable-config-hal \ + --enable-record \ --disable-xnest \ --disable-xephyr \ --disable-dmx \ @@ -73,8 +57,7 @@ XSERVER_XORG_SERVER_CONF_OPTS += \ --with-systemd-daemon \ --enable-systemd-logind XSERVER_XORG_SERVER_DEPENDENCIES += \ - systemd \ - xproto_dri2proto + systemd else XSERVER_XORG_SERVER_CONF_OPTS += \ --without-systemd-daemon \ @@ -89,12 +72,6 @@ else XSERVER_XORG_SERVER_CONF_OPTS += --disable-xwayland endif -# Present protocol only required for xserver 1.15+, but does not matter if -# enabled for older versions as they don't use it (not even optionally). -ifeq ($(BR2_PACKAGE_XPROTO_PRESENTPROTO),y) -XSERVER_XORG_SERVER_DEPENDENCIES += xproto_presentproto -endif - ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y) XSERVER_XORG_SERVER_CONF_OPTS += --enable-xorg XSERVER_XORG_SERVER_DEPENDENCIES += libpciaccess @@ -144,7 +121,7 @@ endif ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-glx -XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto +XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d else XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri --disable-glx endif @@ -165,7 +142,7 @@ ifeq ($(BR2_PACKAGE_HAS_UDEV),y) XSERVER_XORG_SERVER_DEPENDENCIES += udev XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev # udev kms support depends on libdrm and dri2 -ifeq ($(BR2_PACKAGE_LIBDRM)$(BR2_PACKAGE_XPROTO_DRI2PROTO),yy) +ifeq ($(BR2_PACKAGE_LIBDRM),y) XSERVER_XORG_SERVER_CONF_OPTS += --enable-config-udev-kms else XSERVER_XORG_SERVER_CONF_OPTS += --disable-config-udev-kms @@ -188,13 +165,6 @@ else XSERVER_XORG_SERVER_CONF_OPTS += --disable-libunwind endif -ifeq ($(BR2_PACKAGE_XPROTO_RECORDPROTO),y) -XSERVER_XORG_SERVER_DEPENDENCIES += xproto_recordproto -XSERVER_XORG_SERVER_CONF_OPTS += --enable-record -else -XSERVER_XORG_SERVER_CONF_OPTS += --disable-record -endif - ifeq ($(BR2_PACKAGE_XLIB_LIBXFONT2),y) XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libXfont2 endif @@ -214,14 +184,9 @@ XSERVER_XORG_SERVER_CONF_OPTS += --disable-composite endif ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR),y) -ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y) -XSERVER_XORG_SERVER_DEPENDENCIES += xproto_dri2proto XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri2 -else -XSERVER_XORG_SERVER_CONF_OPTS += --disable-dri2 -endif -ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE)$(BR2_PACKAGE_XPROTO_DRI3PROTO),yy) -XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto +ifeq ($(BR2_PACKAGE_XLIB_LIBXSHMFENCE),y) +XSERVER_XORG_SERVER_DEPENDENCIES += xlib_libxshmfence XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri3 ifeq ($(BR2_PACKAGE_HAS_LIBEGL)$(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_LIBEPOXY),yyy) XSERVER_XORG_SERVER_DEPENDENCIES += libepoxy @@ -258,4 +223,9 @@ XSERVER_XORG_SERVER_CONF_OPTS += --with-sha1=libsha1 XSERVER_XORG_SERVER_DEPENDENCIES += libsha1 endif +define XSERVER_XORG_SERVER_INSTALL_INIT_SYSV + $(INSTALL) -D -m 755 package/x11r7/xserver_xorg-server/S40xorg \ + $(TARGET_DIR)/etc/init.d/S40xorg +endef + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/x11r7/xutil_makedepend/Config.in b/bsp/buildroot/package/x11r7/xutil_makedepend/Config.in index 0b091b0e..fdf2fb92 100644 --- a/bsp/buildroot/package/x11r7/xutil_makedepend/Config.in +++ b/bsp/buildroot/package/x11r7/xutil_makedepend/Config.in @@ -1,4 +1,5 @@ config BR2_PACKAGE_XUTIL_MAKEDEPEND bool "makedepend" + select BR2_PACKAGE_XORGPROTO help No description available diff --git a/bsp/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk b/bsp/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk index 6fd3c1ae..a50320ba 100644 --- a/bsp/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk +++ b/bsp/buildroot/package/x11r7/xutil_makedepend/xutil_makedepend.mk @@ -10,8 +10,8 @@ XUTIL_MAKEDEPEND_SITE = http://xorg.freedesktop.org/releases/individual/util XUTIL_MAKEDEPEND_LICENSE = MIT XUTIL_MAKEDEPEND_LICENSE_FILES = COPYING -XUTIL_MAKEDEPEND_DEPENDENCIES = xproto_xproto -HOST_XUTIL_MAKEDEPEND_DEPENDENCIES = host-xproto_xproto +XUTIL_MAKEDEPEND_DEPENDENCIES = xorgproto host-pkgconf +HOST_XUTIL_MAKEDEPEND_DEPENDENCIES = host-xorgproto host-pkgconf $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch b/bsp/buildroot/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch deleted file mode 100644 index 31b5cfed..00000000 --- a/bsp/buildroot/package/x11vnc/0001-Fix-compiler-detection-when-using-without-crypt-cryp.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d6919c0be7f531b20cbfcb9929d697ac3c132c40 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= -Date: Wed, 12 Oct 2016 15:17:51 +0200 -Subject: [PATCH] Fix compiler detection when using - --without-{crypt,crypto,ssl} - -(cherry picked from commit d6919c0be7f531b20cbfcb9929d697ac3c132c40) -Signed-off-by: Romain Naour ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 55724bc..bdfff94 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -5,6 +5,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - AM_CONFIG_HEADER(config.h) - AC_CONFIG_MACRO_DIR([m4]) - -+AC_PROG_CC - AC_PROG_SED - - # some OS's need both -lssl and -lcrypto on link line: --- -2.9.3 - diff --git a/bsp/buildroot/package/x11vnc/x11vnc.hash b/bsp/buildroot/package/x11vnc/x11vnc.hash index 3cdbfa1b..ca0b4896 100644 --- a/bsp/buildroot/package/x11vnc/x11vnc.hash +++ b/bsp/buildroot/package/x11vnc/x11vnc.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 45f87c5e4382988c73e8c7891ac2bfb45d8f9ce1196ae06651c84636684ea143 x11vnc-0.9.14.tar.gz +sha256 885e5b5f5f25eec6f9e4a1e8be3d0ac71a686331ee1cfb442dba391111bd32bd x11vnc-0.9.16.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/bsp/buildroot/package/x11vnc/x11vnc.mk b/bsp/buildroot/package/x11vnc/x11vnc.mk index f1f4da21..9daf4905 100644 --- a/bsp/buildroot/package/x11vnc/x11vnc.mk +++ b/bsp/buildroot/package/x11vnc/x11vnc.mk @@ -4,7 +4,7 @@ # ################################################################################ -X11VNC_VERSION = 0.9.14 +X11VNC_VERSION = 0.9.16 X11VNC_SITE = $(call github,LibVNC,x11vnc,$(X11VNC_VERSION)) # sdl support is not used in x11vnc, but host include / library search paths # leak in if host has sdl-config diff --git a/bsp/buildroot/package/x264/x264.hash b/bsp/buildroot/package/x264/x264.hash index f0e9f1b8..da4ff594 100644 --- a/bsp/buildroot/package/x264/x264.hash +++ b/bsp/buildroot/package/x264/x264.hash @@ -1,2 +1,3 @@ # Locally computed -sha256 986863122b0b3ac2c1fa27c6e3932c3490b84287335fa162bca020aa815aa695 x264-ba24899b0bf23345921da022f7a51e0c57dbe73d.tar.gz +sha256 94a67986dcb2c659752df767e81fd59a494fb7fb5c9d4fc8aff4f004353a42df x264-snapshot-20181002-2245.tar.bz2 +sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING diff --git a/bsp/buildroot/package/x264/x264.mk b/bsp/buildroot/package/x264/x264.mk index e14077a2..d529871a 100644 --- a/bsp/buildroot/package/x264/x264.mk +++ b/bsp/buildroot/package/x264/x264.mk @@ -4,8 +4,9 @@ # ################################################################################ -X264_VERSION = ba24899b0bf23345921da022f7a51e0c57dbe73d -X264_SITE = git://git.videolan.org/x264.git +X264_VERSION = 20181002-2245 +X264_SITE = http://download.videolan.org/x264/snapshots +X264_SOURCE = x264-snapshot-$(X264_VERSION).tar.bz2 X264_LICENSE = GPL-2.0+ X264_DEPENDENCIES = host-pkgconf X264_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/x265/0002-fix-build-error-on-ppc64le.patch b/bsp/buildroot/package/x265/0002-fix-build-error-on-ppc64le.patch new file mode 100644 index 00000000..ca034477 --- /dev/null +++ b/bsp/buildroot/package/x265/0002-fix-build-error-on-ppc64le.patch @@ -0,0 +1,23 @@ +# HG changeset patch +# User Jayashree +# Date 1527224165 -19800 +# Node ID 4504219210793536d921ee4e0b3058698c630bf4 +# Parent cc2c5e46f3c87d27e3602af30b06ba6a0fbe2704 +Fix build error on on ppc64le + +Signed-off-by: Baruch Siach + +Upstream status: commit 450421921 + +diff --git a/source/common/param.cpp b/source/common/param.cpp +--- a/source/common/param.cpp ++++ b/source/common/param.cpp +@@ -633,7 +633,7 @@ + if (bValueWasNull) + p->cpuid = atobool(value); + else +- p->cpuid = parseCpuName(value, bError); ++ p->cpuid = parseCpuName(value, bError, false); + #endif + } + OPT("fps") diff --git a/bsp/buildroot/package/x265/0003-arm-asm-primitives.patch b/bsp/buildroot/package/x265/0003-arm-asm-primitives.patch new file mode 100644 index 00000000..e5004434 --- /dev/null +++ b/bsp/buildroot/package/x265/0003-arm-asm-primitives.patch @@ -0,0 +1,354 @@ +Fixes "arm assembly fail to compile on 1.8" + +Downloaded from upstream bug report: +https://bitbucket.org/multicoreware/x265/issues/406 + +Signed-off-by: Bernd Kuhls + +--- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600 ++++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600 +@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim + p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon); + + // addAvg +- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon); +- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon); +- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon); +- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon); +- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon); +- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon); ++ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); ++ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon); ++ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon); ++ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon); ++ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon); ++ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon); + + // chroma addAvg +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon); +- +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); + + // quant + p.quant = PFX(quant_neon); +@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim + p.scale2D_64to32 = PFX(scale2D_64to32_neon); + + // scale1D_128to64 +- p.scale1D_128to64 = PFX(scale1D_128to64_neon); ++ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon); + + // copy_count + p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon); +@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon); + + // filterPixelToShort +- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon); +- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon); +- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon); +- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon); +- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon); +- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon); +- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon); +- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon); +- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon); +- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon); +- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon); +- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon); +- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon); +- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon); +- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon); +- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon); +- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon); +- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon); +- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon); +- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon); +- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon); +- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon); +- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon); +- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); +- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon); ++ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon); ++ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon); ++ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon); ++ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon); ++ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon); ++ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon); ++ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon); ++ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon); ++ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon); ++ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon); ++ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon); ++ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon); ++ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon); ++ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon); ++ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon); ++ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon); ++ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon); ++ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon); ++ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon); ++ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon); ++ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon); ++ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon); ++ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon); ++ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon); ++ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon); + + // Block_fill +- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon); +- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon); +- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon); +- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon); ++ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon); ++ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon); ++ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon); ++ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon); + + // Blockcopy_ss + p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon); +@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon); + + // pixel_add_ps +- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon); ++ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon); + + // chroma add_ps +- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon); + + // cpy2Dto1D_shr + p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon); +@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon); + + // ssd_s +- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon); +- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon); +- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon); +- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon); ++ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon); ++ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon); ++ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon); ++ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon); + + // sse_ss + p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon); +@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon); + + // calc_Residual +- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon); +- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon); +- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon); +- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon); ++ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon); ++ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon); ++ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon); ++ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon); + + // sse_pp + p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon); +@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim + p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon); + + // pixel_avg_pp +- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon); +- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon); +- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon); +- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon); +- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon); +- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon); +- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon); +- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon); +- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon); +- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon); +- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon); +- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon); +- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon); +- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon); +- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon); +- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon); +- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon); +- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon); +- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon); +- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon); +- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon); +- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon); +- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon); +- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon); +- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon); ++ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon); ++ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon); ++ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon); ++ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon); ++ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon); ++ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon); ++ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon); ++ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon); ++ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon); ++ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon); ++ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon); ++ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon); ++ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon); ++ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon); ++ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon); ++ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon); ++ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon); ++ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon); ++ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon); ++ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon); ++ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon); ++ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon); ++ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon); ++ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon); ++ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon); + + // planecopy + p.planecopy_cp = PFX(pixel_planecopy_cp_neon); diff --git a/bsp/buildroot/package/x265/x265.hash b/bsp/buildroot/package/x265/x265.hash index 3e44b036..61e61811 100644 --- a/bsp/buildroot/package/x265/x265.hash +++ b/bsp/buildroot/package/x265/x265.hash @@ -1,2 +1,3 @@ # Locally generated -sha256 2e53259b504a7edb9b21b9800163b1ff4c90e60c74e23e7001d423c69c5d3d17 x265_2.5.tar.gz +sha256 6e59f9afc0c2b87a46f98e33b5159d56ffb3558a49d8e3d79cb7fdc6b7aaa863 x265_2.8.tar.gz +sha256 d8afb1bcc7a2cfc603683b168d6987ef0a48e59e0da3693bf55c5d33b67e2b49 COPYING diff --git a/bsp/buildroot/package/x265/x265.mk b/bsp/buildroot/package/x265/x265.mk index 86709e62..fe317d09 100644 --- a/bsp/buildroot/package/x265/x265.mk +++ b/bsp/buildroot/package/x265/x265.mk @@ -4,7 +4,7 @@ # ################################################################################ -X265_VERSION = 2.5 +X265_VERSION = 2.8 X265_SOURCE = x265_$(X265_VERSION).tar.gz X265_SITE = https://bitbucket.org/multicoreware/x265/downloads X265_LICENSE = GPL-2.0+ @@ -14,7 +14,7 @@ X265_INSTALL_STAGING = YES X265_MAKE = $(MAKE1) ifeq ($(BR2_i386)$(BR2_x86_64),y) -X265_DEPENDENCIES += host-yasm +X265_DEPENDENCIES += host-nasm endif # disable altivec, it has build issues diff --git a/bsp/buildroot/package/xapian/Config.in b/bsp/buildroot/package/xapian/Config.in new file mode 100644 index 00000000..5d54ed3a --- /dev/null +++ b/bsp/buildroot/package/xapian/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_XAPIAN + bool "xapian" + depends on BR2_USE_MMU # fork() + depends on BR2_INSTALL_LIBSTDCPP + select BR2_PACKAGE_ZLIB + help + Xapian is an open Source search engine Library + It is a highly adaptable toolkit which allows developers + to easily add advanced indexing and search facilities to + their own applications. + It has built-in support for several families of weighting + models and supports a rich set of boolean query operators. + + https://xapian.org/ + +comment "xapian needs a toolchain w/ C++" + depends on BR2_USE_MMU + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/bsp/buildroot/package/xapian/xapian.hash b/bsp/buildroot/package/xapian/xapian.hash new file mode 100644 index 00000000..4e414022 --- /dev/null +++ b/bsp/buildroot/package/xapian/xapian.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 cde9c39d014f04c09b59d9c21551db9794c10617dc69ab4c9826352a533df5cc xapian-core-1.4.9.tar.xz +sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING diff --git a/bsp/buildroot/package/xapian/xapian.mk b/bsp/buildroot/package/xapian/xapian.mk new file mode 100644 index 00000000..df039d44 --- /dev/null +++ b/bsp/buildroot/package/xapian/xapian.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# xapian +# +################################################################################ + +XAPIAN_VERSION = 1.4.9 +XAPIAN_SOURCE = xapian-core-$(XAPIAN_VERSION).tar.xz +XAPIAN_SITE = https://oligarchy.co.uk/xapian/$(XAPIAN_VERSION) +XAPIAN_LICENSE = GPL-2.0+ +XAPIAN_LICENSE_FILES = COPYING +XAPIAN_INSTALL_STAGING = YES +XAPIAN_DEPENDENCIES = zlib + +$(eval $(autotools-package)) diff --git a/bsp/buildroot/package/xavante/Config.in b/bsp/buildroot/package/xavante/Config.in index d66ca1f0..209ec2d2 100644 --- a/bsp/buildroot/package/xavante/Config.in +++ b/bsp/buildroot/package/xavante/Config.in @@ -1,9 +1,8 @@ config BR2_PACKAGE_XAVANTE bool "xavante" - # Runtime dependency only - select BR2_PACKAGE_COPAS - select BR2_PACKAGE_LUAFILESYSTEM - select BR2_PACKAGE_LUASOCKET + select BR2_PACKAGE_COPAS # runtime + select BR2_PACKAGE_LUAFILESYSTEM # runtime + select BR2_PACKAGE_LUASOCKET # runtime help Xavante is a Lua HTTP 1.1 Web server that uses a modular architecture based on URI mapped handlers. Xavante currently @@ -11,4 +10,4 @@ config BR2_PACKAGE_XAVANTE Those are used for general files, URI remapping and WSAPI applications respectively. - http://keplerproject.github.com/xavante/ + http://keplerproject.github.io/xavante diff --git a/bsp/buildroot/package/xavante/xavante.hash b/bsp/buildroot/package/xavante/xavante.hash index 09b2a22d..b2e8633b 100644 --- a/bsp/buildroot/package/xavante/xavante.hash +++ b/bsp/buildroot/package/xavante/xavante.hash @@ -1,2 +1,3 @@ -# Locally calculated +# computed by luarocks/buildroot sha256 67c738f981e7d65d18c717f3acac59a37f95d5139c00fb0de5d3167262025273 xavante-2.4.0-1.src.rock +sha256 57b2c50f08bf500c969fe13500f217adb36582e4d8e75c9e2ed04191cb4a045c xavante-2.4.0/doc/us/license.html diff --git a/bsp/buildroot/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch b/bsp/buildroot/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch new file mode 100644 index 00000000..db2bbe83 --- /dev/null +++ b/bsp/buildroot/package/xen/0003-libxl-arm-Fix-build-on-arm64-acpi-w-gcc-8.2.patch @@ -0,0 +1,37 @@ +From c8993743d611ed23ebded3168ac3ac6ff3e5d2fa Mon Sep 17 00:00:00 2001 +From: Christopher Clark +Date: Thu, 16 Aug 2018 13:22:41 -0700 +Subject: [PATCH] libxl/arm: Fix build on arm64 + acpi w/ gcc 8.2 + +Add zero-padding to #defined ACPI table strings that are copied. +Provides sufficient characters to satisfy the length required to +fully populate the destination and prevent array-bounds warnings. +Add BUILD_BUG_ON sizeof checks for compile-time length checking. + +Signed-off-by: Christopher Clark +Reviewed-by: Stefano Stabellini +Acked-by: Wei Liu +--- + tools/libxl/libxl_arm_acpi.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tools/libxl/libxl_arm_acpi.c b/tools/libxl/libxl_arm_acpi.c +index 636f724039..eeca1def06 100644 +--- a/tools/libxl/libxl_arm_acpi.c ++++ b/tools/libxl/libxl_arm_acpi.c +@@ -48,9 +48,9 @@ extern const unsigned char dsdt_anycpu_arm[]; + _hidden + extern const int dsdt_anycpu_arm_len; + +-#define ACPI_OEM_ID "Xen" +-#define ACPI_OEM_TABLE_ID "ARM" +-#define ACPI_ASL_COMPILER_ID "XL" ++#define ACPI_OEM_ID "Xen\0\0" ++#define ACPI_OEM_TABLE_ID "ARM\0\0\0\0" ++#define ACPI_ASL_COMPILER_ID "XL\0" + + enum { + RSDP, +-- +2.17.1 + diff --git a/bsp/buildroot/package/xen/Config.in b/bsp/buildroot/package/xen/Config.in index 819af37e..57ab40eb 100644 --- a/bsp/buildroot/package/xen/Config.in +++ b/bsp/buildroot/package/xen/Config.in @@ -20,7 +20,6 @@ config BR2_PACKAGE_XEN_HYPERVISOR config BR2_PACKAGE_XEN_TOOLS bool "Xen tools" depends on !BR2_STATIC_LIBS # dtc (libfdt) - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_WCHAR # libglib2 select BR2_PACKAGE_DTC @@ -37,7 +36,6 @@ config BR2_PACKAGE_XEN_TOOLS The Xen tools can be accessed by the xl command. comment "xen tools need a toolchain w/ wchar, threads, dynamic library" - depends on BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS diff --git a/bsp/buildroot/package/xen/xen.hash b/bsp/buildroot/package/xen/xen.hash index 1b3fc12f..7a524109 100644 --- a/bsp/buildroot/package/xen/xen.hash +++ b/bsp/buildroot/package/xen/xen.hash @@ -1,3 +1,3 @@ # Locally computed -sha256 d5a944a34e47e9d52b2837f616821eb4a9514c8fd0955dcc723111dba499acd4 xen-4.10.2.tar.gz +sha256 be88cb2443761990efc1070d9718016561fe19066af232f9bfae572922897e59 xen-4.11.1.tar.gz sha256 dba0d79260259c013c52e5d4daeaea564a2fbb9ff7fc6778c377a401ec3898de COPYING diff --git a/bsp/buildroot/package/xen/xen.mk b/bsp/buildroot/package/xen/xen.mk index fb34d64c..d6e6c91c 100644 --- a/bsp/buildroot/package/xen/xen.mk +++ b/bsp/buildroot/package/xen/xen.mk @@ -4,7 +4,7 @@ # ################################################################################ -XEN_VERSION = 4.10.2 +XEN_VERSION = 4.11.1 XEN_SITE = https://downloads.xenproject.org/release/xen/$(XEN_VERSION) XEN_LICENSE = GPL-2.0 XEN_LICENSE_FILES = COPYING diff --git a/bsp/buildroot/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch b/bsp/buildroot/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch new file mode 100644 index 00000000..f91a31da --- /dev/null +++ b/bsp/buildroot/package/xenomai/0001-demos-posix-prevent-unterminated-destination-buffer-with-strncpy.patch @@ -0,0 +1,91 @@ +From cdc63fe259c70a8a5304aa07087650ebf4ee6b5d Mon Sep 17 00:00:00 2001 +From: Philippe Gerum +Date: Wed, 24 Oct 2018 11:28:49 +0200 +Subject: [PATCH] demos/posix: prevent unterminated destination buffer with + strncpy() + +GCC 8.x introduced -Wstringop-truncation to help detecting likely +unwanted outcomes of strncpy(dst, src, n), such as omitting the NUL +character into the destination buffer whenever n < sizeof(src). + +Fix unsafe strncpy() calls when we do expect a null-terminated +destination buffer. + +Signed-off-by: Philippe Gerum +[Retrieved from +https://gitlab.denx.de/Xenomai/xenomai/commit/cdc63fe259c70a8a5304aa07087650ebf4ee6b5d] +Signed-off-by: Fabrice Fontaine +--- + demo/posix/cobalt/can-rtt.c | 4 ++-- + demo/posix/cobalt/eth_p_all.c | 3 ++- + demo/posix/cyclictest/cyclictest.c | 4 ++-- + 3 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/demo/posix/cobalt/can-rtt.c b/demo/posix/cobalt/can-rtt.c +index 61cad05e5..dd212d804 100644 +--- a/demo/posix/cobalt/can-rtt.c ++++ b/demo/posix/cobalt/can-rtt.c +@@ -248,7 +248,7 @@ int main(int argc, char *argv[]) + return -1; + } + +- strncpy(ifr.ifr_name, rxdev, IFNAMSIZ); ++ namecpy(ifr.ifr_name, rxdev); + printf("RX rxsock=%d, ifr_name=%s\n", rxsock, ifr.ifr_name); + + if (ioctl(rxsock, SIOCGIFINDEX, &ifr) < 0) { +@@ -282,7 +282,7 @@ int main(int argc, char *argv[]) + goto failure1; + } + +- strncpy(ifr.ifr_name, txdev, IFNAMSIZ); ++ namecpy(ifr.ifr_name, txdev); + printf("TX txsock=%d, ifr_name=%s\n", txsock, ifr.ifr_name); + + if (ioctl(txsock, SIOCGIFINDEX, &ifr) < 0) { +diff --git a/demo/posix/cobalt/eth_p_all.c b/demo/posix/cobalt/eth_p_all.c +index 6ac12ab3e..91aef9fbd 100644 +--- a/demo/posix/cobalt/eth_p_all.c ++++ b/demo/posix/cobalt/eth_p_all.c +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + char buffer[10*1024]; + int sock; +@@ -72,7 +73,7 @@ int main(int argc, char *argv[]) + if (argc > 1) { + struct ifreq ifr; + +- strncpy(ifr.ifr_name, argv[1], IFNAMSIZ); ++ namecpy(ifr.ifr_name, argv[1]); + if (ioctl(sock, SIOCGIFINDEX, &ifr) < 0) { + perror("cannot get interface index"); + close(sock); +diff --git a/demo/posix/cyclictest/cyclictest.c b/demo/posix/cyclictest/cyclictest.c +index ebe5461db..76983bd02 100644 +--- a/demo/posix/cyclictest/cyclictest.c ++++ b/demo/posix/cyclictest/cyclictest.c +@@ -1353,7 +1353,7 @@ static void process_options (int argc, char *argv[], int max_cpus) + case 'F': + case OPT_FIFO: + use_fifo = 1; +- strncpy(fifopath, optarg, strlen(optarg)); ++ strncpy(fifopath, optarg, sizeof(fifopath) - 1); + break; + + case 'H': +@@ -1458,7 +1458,7 @@ static void process_options (int argc, char *argv[], int max_cpus) + case 'T': + case OPT_TRACER: + tracetype = CUSTOM; +- strncpy(tracer, optarg, sizeof(tracer)); ++ strncpy(tracer, optarg, sizeof(tracer) - 1); + break; + case 'u': + case OPT_UNBUFFERED: +-- +2.18.1 + diff --git a/bsp/buildroot/package/xenomai/Config.in b/bsp/buildroot/package/xenomai/Config.in index e0118c11..83ba8ca1 100644 --- a/bsp/buildroot/package/xenomai/Config.in +++ b/bsp/buildroot/package/xenomai/Config.in @@ -1,16 +1,18 @@ -config BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS +config BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS bool default y depends on BR2_i386 || BR2_x86_64 || (BR2_arm && !BR2_ARM_CPU_ARMV7M) || \ - BR2_bfin || BR2_powerpc + BR2_powerpc -comment "xenomai needs an glibc or uClibc toolchain w/ threads" +comment "xenomai needs a glibc or uClibc toolchain w/ threads" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS config BR2_PACKAGE_XENOMAI bool "Xenomai Userspace" - depends on BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_HAS_SYNC_4 depends on BR2_TOOLCHAIN_HAS_THREADS # uses , __WORDSIZE and bits/local_lim.h depends on !BR2_TOOLCHAIN_USES_MUSL @@ -67,6 +69,7 @@ config BR2_PACKAGE_XENOMAI_MERCURY config BR2_PACKAGE_XENOMAI_COBALT bool "Cobalt" + depends on BR2_PACKAGE_XENOMAI_COBALT_ARCH_SUPPORTS help Select Cobalt core (dual kernel) for the Xenomai userspace. Use this if you use a Xenomai-patched diff --git a/bsp/buildroot/package/xenomai/xenomai.mk b/bsp/buildroot/package/xenomai/xenomai.mk index 6bf08edf..98f550af 100644 --- a/bsp/buildroot/package/xenomai/xenomai.mk +++ b/bsp/buildroot/package/xenomai/xenomai.mk @@ -24,9 +24,6 @@ XENOMAI_LICENSE_FILES = debian/copyright include/COPYING kernel/cobalt/COPYING \ XENOMAI_DEPENDENCIES = host-pkgconf -# 0002-boilerplate-build-obstack-support-conditionally.patch -XENOMAI_AUTORECONF = YES - XENOMAI_INSTALL_STAGING = YES XENOMAI_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) install-user XENOMAI_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) install-user diff --git a/bsp/buildroot/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch b/bsp/buildroot/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch new file mode 100644 index 00000000..8bed7711 --- /dev/null +++ b/bsp/buildroot/package/xerces/0001-cmake-Allow-thread-checks-to-fail-and-fall-back-to-nothreads.patch @@ -0,0 +1,38 @@ +From c9bfe786331647237b90f5f9e35b4d2cad7aaa69 Mon Sep 17 00:00:00 2001 +From: Roger Leigh +Date: Fri, 12 Oct 2018 12:02:58 +0000 +Subject: [PATCH] cmake: Allow thread checks to fail and fall back to nothreads + +Closes: #2155 + + +git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@1843653 13f79535-47bb-0310-9956-ffa450edef68 +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://github.com/apache/xerces-c/commit/c9bfe786331647237b90f5f9e35b4d2cad7aaa69] +--- + cmake/XercesMutexMgrSelection.cmake | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/cmake/XercesMutexMgrSelection.cmake b/cmake/XercesMutexMgrSelection.cmake +index 2f1d71c50..ad698840d 100644 +--- a/cmake/XercesMutexMgrSelection.cmake ++++ b/cmake/XercesMutexMgrSelection.cmake +@@ -19,11 +19,15 @@ + + # mutexmgr selection + +-option(threads "Threading support" ON) ++set(xerces_thread_default ON) ++find_package(Threads) ++if(NOT TARGET Threads::Threads) ++ set(xerces_thread_default ON) ++endif() + +-include(CheckCXXSourceCompiles) ++option(threads "Threading support" ${xerces_thread_default}) + +-find_package(Threads REQUIRED) ++include(CheckCXXSourceCompiles) + + function(thread_test outvar) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) diff --git a/bsp/buildroot/package/xerces/0001-fix-CVE-2017-12627.patch b/bsp/buildroot/package/xerces/0001-fix-CVE-2017-12627.patch deleted file mode 100644 index 010be7e3..00000000 --- a/bsp/buildroot/package/xerces/0001-fix-CVE-2017-12627.patch +++ /dev/null @@ -1,22 +0,0 @@ -XMLString: Don't call catString if relativePath is null - -https://xerces.apache.org/xerces-c/secadv/CVE-2017-12627.txt - -Upstream status: svn revision 1819998 - -Signed-off-by: Baruch Siach - ---- trunk/src/xercesc/util/PlatformUtils.cpp 2018/01/03 18:58:30 1819997 -+++ trunk/src/xercesc/util/PlatformUtils.cpp 2018/01/03 18:59:30 1819998 -@@ -920,7 +920,10 @@ - - XMLString::subString(tmpBuf, basePath, 0, (basePtr - basePath + 1), manager); - tmpBuf[basePtr - basePath + 1] = 0; -- XMLString::catString(tmpBuf, relativePath); -+ if (relativePath) -+ { -+ XMLString::catString(tmpBuf, relativePath); -+ } - - removeDotSlash(tmpBuf, manager); - diff --git a/bsp/buildroot/package/xerces/0002-fix-static-linking-with-curl.patch b/bsp/buildroot/package/xerces/0002-fix-static-linking-with-curl.patch new file mode 100644 index 00000000..db38de79 --- /dev/null +++ b/bsp/buildroot/package/xerces/0002-fix-static-linking-with-curl.patch @@ -0,0 +1,39 @@ +From 26e3f1440bbc75c704fc93ff43a2abbfbe4c0203 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Thu, 11 Oct 2018 22:56:50 +0200 +Subject: [PATCH] fix static linking with curl + +When curl is statically built with openssl support, xerces needs to +link with openssl libraries so use pkg_check_modules to get any +needed dependencies + +Fixes: + - http://autobuild.buildroot.org/results/29ca90fff2c8e38f2edf7240eca3aa3fe7397c45 + +Signed-off-by: Fabrice Fontaine +--- + cmake/XercesNetAccessorSelection.cmake | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/cmake/XercesNetAccessorSelection.cmake b/cmake/XercesNetAccessorSelection.cmake +index 7a63f1f6b..e90fcf034 100644 +--- a/cmake/XercesNetAccessorSelection.cmake ++++ b/cmake/XercesNetAccessorSelection.cmake +@@ -31,7 +31,13 @@ if(network) + + # Requires select() which is UNIX only + if(UNIX) +- find_package(CURL) ++ find_package(PkgConfig) ++ if (PkgConfig_FOUND) ++ pkg_check_modules(CURL libcurl) ++ if (NOT CURL_FOUND) ++ find_package(CURL) ++ endif() ++ endif() + if(CURL_FOUND) + list(APPEND netaccessors curl) + endif() +-- +2.17.1 + diff --git a/bsp/buildroot/package/xerces/Config.in b/bsp/buildroot/package/xerces/Config.in index 8d55a5cb..2edc4346 100644 --- a/bsp/buildroot/package/xerces/Config.in +++ b/bsp/buildroot/package/xerces/Config.in @@ -4,7 +4,7 @@ config BR2_PACKAGE_XERCES help Xerces-C++ is a validating XML parser written in portable C++. - http://xml.apache.org/xerces-c/ + http://xerces.apache.org/xerces-c/ comment "xerces-c++ needs a toolchain w/ C++, wchar" depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) diff --git a/bsp/buildroot/package/xerces/xerces.hash b/bsp/buildroot/package/xerces/xerces.hash index c621f5cd..28db0c60 100644 --- a/bsp/buildroot/package/xerces/xerces.hash +++ b/bsp/buildroot/package/xerces/xerces.hash @@ -1,2 +1,5 @@ -# From http://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.4.tar.xz.sha256 -sha256 9973cc79481803f8b6652c52faf5195d963f50d209d4f681ec97e2aa014b6241 xerces-c-3.1.4.tar.xz +# From http://www.apache.org/dist/xerces/c/3/sources/xerces-c-3.2.2.tar.xz.sha256 +sha256 6daca3b23364d8d883dc77a73f681242f69389e3564543287ed3d073007e0a8e xerces-c-3.2.2.tar.xz + +# Hash for license file +sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/xerces/xerces.mk b/bsp/buildroot/package/xerces/xerces.mk index a25641fb..c75a8b0d 100644 --- a/bsp/buildroot/package/xerces/xerces.mk +++ b/bsp/buildroot/package/xerces/xerces.mk @@ -4,27 +4,26 @@ # ################################################################################ -XERCES_VERSION = 3.1.4 +XERCES_VERSION = 3.2.2 XERCES_SOURCE = xerces-c-$(XERCES_VERSION).tar.xz XERCES_SITE = http://archive.apache.org/dist/xerces/c/3/sources XERCES_LICENSE = Apache-2.0 XERCES_LICENSE_FILES = LICENSE XERCES_INSTALL_STAGING = YES -XERCES_CONF_OPTS = \ - --disable-threads \ - --with-gnu-ld define XERCES_DISABLE_SAMPLES - $(SED) 's/ samples//' $(@D)/Makefile.in + $(SED) 's/add_subdirectory(samples)//' $(@D)/CMakeLists.txt endef XERCES_POST_PATCH_HOOKS += XERCES_DISABLE_SAMPLES +# Before CMake 3.10, passing THREADS_PTHREAD_ARG=OFF was needed to +# disable a try_run() call in the FindThreads tests, which caused a +# build failure when cross-compiling. +XERCES_CONF_OPTS += -DTHREADS_PTHREAD_ARG=OFF + ifeq ($(BR2_PACKAGE_ICU),y) -XERCES_CONF_OPTS += --with-icu=$(STAGING_DIR)/usr XERCES_DEPENDENCIES += icu -else -XERCES_CONF_OPTS += --without-icu endif ifeq ($(BR2_PACKAGE_LIBICONV),y) @@ -33,10 +32,16 @@ XERCES_DEPENDENCIES += libiconv endif ifeq ($(BR2_PACKAGE_LIBCURL),y) -XERCES_CONF_OPTS += --enable-netaccessor-curl --with-curl=$(STAGING_DIR)/usr/lib +XERCES_CONF_OPTS += -Dnetwork-accessor=curl XERCES_DEPENDENCIES += libcurl else -XERCES_CONF_OPTS += --disable-network +XERCES_CONF_OPTS += -Dnetwork-accessor=socket endif -$(eval $(autotools-package)) +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +XERCES_CONF_OPTS += -Dthreads=ON +else +XERCES_CONF_OPTS += -Dthreads=OFF +endif + +$(eval $(cmake-package)) diff --git a/bsp/buildroot/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch b/bsp/buildroot/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch index 2bb0b7db..9030a2aa 100644 --- a/bsp/buildroot/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch +++ b/bsp/buildroot/package/xfsprogs/0001-mdrestore-do-not-do-dynamic-linking-of-libtool-libra.patch @@ -1,7 +1,8 @@ -From 770902a0a29fb4ac62358f7eacb3a83d0d9af1c7 Mon Sep 17 00:00:00 2001 +From d5cbb4f43cc9c30100fbf18a3e0d1fb95e1c1b0a Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera Date: Wed, 25 Nov 2015 10:50:00 +0000 -Subject: [PATCH] mdrestore: do not do dynamic linking of libtool libraries +Subject: [PATCH] mdrestore, scrub: do not do dynamic linking of libtool + libraries As explained in commit ece49daeff1a3cad765e106d678c608925c9d768, use -static-libtool-libs instead of -static to allow fallback to the dynamic @@ -11,23 +12,41 @@ ld: attempted static link of dynamic object `/usr/lib/libuuid.so' Signed-off-by: Vicente Olivert Riera [Sent upstream: https://www.spinics.net/lists/xfs/msg36149.html] +[baruch: update for v4.15.1; extend to include scrub] +Signed-off-by: Baruch Siach +[matt: update for v4.16.1; adjusted libunistring -> libicu] +Signed-off-by: Matt Weber --- mdrestore/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + scrub/Makefile | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mdrestore/Makefile b/mdrestore/Makefile -index 5171306..1b34a0e 100644 +index 136ae716d691..75ff1bad78e9 100644 --- a/mdrestore/Makefile +++ b/mdrestore/Makefile @@ -10,7 +10,7 @@ CFILES = xfs_mdrestore.c - LLDLIBS = $(LIBXFS) $(LIBRT) $(LIBPTHREAD) $(LIBUUID) - LTDEPENDENCIES = $(LIBXFS) + LLDLIBS = $(LIBXFS) $(LIBFROG) $(LIBRT) $(LIBPTHREAD) $(LIBUUID) + LTDEPENDENCIES = $(LIBXFS) $(LIBFROG) -LLDFLAGS = -static +LLDFLAGS = -static-libtool-libs default: depend $(LTCOMMAND) +diff --git a/scrub/Makefile b/scrub/Makefile +index 063279400262..949f6fd8ba94 100644 +--- a/scrub/Makefile ++++ b/scrub/Makefile +@@ -70,7 +70,7 @@ xfs_scrub.c + + LLDLIBS += $(LIBHANDLE) $(LIBFROG) $(LIBPTHREAD) $(LIBICU_LIBS) $(LIBRT) + LTDEPENDENCIES += $(LIBHANDLE) $(LIBFROG) +-LLDFLAGS = -static ++LLDFLAGS = -static-libtool-libs + + ifeq ($(HAVE_MALLINFO),yes) + LCFLAGS += -DHAVE_MALLINFO -- -2.7.4 +2.16.2 diff --git a/bsp/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch b/bsp/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch index 372a5301..6778d069 100644 --- a/bsp/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch +++ b/bsp/buildroot/package/xfsprogs/0002-libxfs-do-not-try-to-run-the-crc32selftest.patch @@ -17,14 +17,16 @@ Note that there's a remaining bug-in-hiding, because the crc32 table generator is natively built, but with the target CFLAGS. Signed-off-by: "Yann E. MORIN" +Signed-off-by: "Fabrice Fontaine" +[Update for 4.18.0: crc32 has been moved from libxfs to libfrog] --- libxfs/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/libxfs/Makefile b/libxfs/Makefile +diff --git a/libfrog/Makefile b/libxfs/Makefile index 62608bd..e021625 100644 ---- a/libxfs/Makefile -+++ b/libxfs/Makefile +--- a/libfrog/Makefile ++++ b/libfrog/Makefile @@ -112,9 +112,9 @@ LTLIBS = $(LIBPTHREAD) $(LIBRT) # don't try linking xfs_repair with a debug libxfs. DEBUG = -DNDEBUG diff --git a/bsp/buildroot/package/xfsprogs/xfsprogs.hash b/bsp/buildroot/package/xfsprogs/xfsprogs.hash index 886a8f10..839f4add 100644 --- a/bsp/buildroot/package/xfsprogs/xfsprogs.hash +++ b/bsp/buildroot/package/xfsprogs/xfsprogs.hash @@ -1,3 +1,6 @@ # From https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/sha256sums.asc -sha256 b1b710b268bc95d6f45eca06e1262c29eb38865a19cd4404e48ba446e043b7ec xfsprogs-4.14.0.tar.xz -sha256 ee304b1b1da08b261f1d1f31d229fc70d2d0c552c7429e9e84c0fac878d94209 doc/COPYING +sha256 397dc96f51aeeff73d021d3418d3172377b2685f2740ca60525096c070aa3df1 xfsprogs-4.18.0.tar.xz + +# Hash for license files +sha256 7ae50a5344af14d6231aff6814632a220b3127da4099aea2c6070fd79c407c1a LICENSES/GPL-2.0 +sha256 0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8ca LICENSES/LGPL-2.1 diff --git a/bsp/buildroot/package/xfsprogs/xfsprogs.mk b/bsp/buildroot/package/xfsprogs/xfsprogs.mk index e6e84936..bbb88870 100644 --- a/bsp/buildroot/package/xfsprogs/xfsprogs.mk +++ b/bsp/buildroot/package/xfsprogs/xfsprogs.mk @@ -4,15 +4,15 @@ # ################################################################################ -XFSPROGS_VERSION = 4.14.0 +XFSPROGS_VERSION = 4.18.0 XFSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/fs/xfs/xfsprogs XFSPROGS_SOURCE = xfsprogs-$(XFSPROGS_VERSION).tar.xz XFSPROGS_LICENSE = GPL-2.0, GPL-2.0+, LGPL-2.1 (libhandle, few headers) -XFSPROGS_LICENSE_FILES = doc/COPYING +XFSPROGS_LICENSE_FILES = LICENSES/GPL-2.0 LICENSES/LGPL-2.1 XFSPROGS_DEPENDENCIES = util-linux -XFSPROGS_CONF_ENV = ac_cv_header_aio_h=yes ac_cv_lib_rt_lio_listio=yes +XFSPROGS_CONF_ENV = ac_cv_header_aio_h=yes ac_cv_lib_rt_lio_listio=yes PLATFORM="linux" XFSPROGS_CONF_OPTS = \ --enable-lib64=no \ --enable-gettext=no \ @@ -20,6 +20,13 @@ XFSPROGS_CONF_OPTS = \ INSTALL_GROUP=root \ --enable-static +ifeq ($(BR2_PACKAGE_ICU),y) +XFSPROGS_DEPENDENCIES += icu +XFSPROGS_CONF_OPTS += --enable-libicu +else +XFSPROGS_CONF_OPTS += --disable-libicu +endif + XFSPROGS_INSTALL_TARGET_OPTS = DIST_ROOT=$(TARGET_DIR) install $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/xl2tp/xl2tp.hash b/bsp/buildroot/package/xl2tp/xl2tp.hash index 152d615a..9cc76e9d 100644 --- a/bsp/buildroot/package/xl2tp/xl2tp.hash +++ b/bsp/buildroot/package/xl2tp/xl2tp.hash @@ -1,2 +1,3 @@ # locally computed -sha256 1164b574e93a44c2a2e76c0c68d8d60437bd884a6c964d9c68be1556278e3d2d xl2tp-v1.3.8.tar.gz +sha256 6f0ac50a76500d5cc56a67451b61e5f561b3309357176b39deabb1705e8745fd xl2tp-v1.3.12.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/bsp/buildroot/package/xl2tp/xl2tp.mk b/bsp/buildroot/package/xl2tp/xl2tp.mk index eee5c04d..63c798d8 100644 --- a/bsp/buildroot/package/xl2tp/xl2tp.mk +++ b/bsp/buildroot/package/xl2tp/xl2tp.mk @@ -4,7 +4,7 @@ # ################################################################################ -XL2TP_VERSION = v1.3.8 +XL2TP_VERSION = v1.3.12 XL2TP_SITE = $(call github,xelerance,xl2tpd,$(XL2TP_VERSION)) XL2TP_DEPENDENCIES = libpcap XL2TP_LICENSE = GPL-2.0 diff --git a/bsp/buildroot/package/xmlstarlet/xmlstarlet.mk b/bsp/buildroot/package/xmlstarlet/xmlstarlet.mk index 1d748dc5..b79c3f56 100644 --- a/bsp/buildroot/package/xmlstarlet/xmlstarlet.mk +++ b/bsp/buildroot/package/xmlstarlet/xmlstarlet.mk @@ -27,8 +27,8 @@ endif HOST_XMLSTARLET_DEPENDENCIES += host-libxml2 host-libxslt HOST_XMLSTARLET_CONF_OPTS += \ - --with-libxml-prefix=$(HOST_DIR)/usr \ - --with-libxslt-prefix=$(HOST_DIR)/usr + --with-libxml-prefix=$(HOST_DIR) \ + --with-libxslt-prefix=$(HOST_DIR) $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/xterm/Config.in b/bsp/buildroot/package/xterm/Config.in index f3bc4500..eaa756a4 100644 --- a/bsp/buildroot/package/xterm/Config.in +++ b/bsp/buildroot/package/xterm/Config.in @@ -2,8 +2,6 @@ config BR2_PACKAGE_XTERM bool "xterm" depends on BR2_PACKAGE_XORG7 depends on BR2_USE_MMU # fork() - # ARC toolchain issue - depends on !BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC select BR2_PACKAGE_NCURSES select BR2_PACKAGE_XLIB_LIBXAW help diff --git a/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.hash b/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.hash index 0f0509a1..49c057fd 100644 --- a/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.hash +++ b/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.hash @@ -1,2 +1,7 @@ -# From https://lists.x.org/archives/xorg-announce/2017-January/002773.html -sha256 18d459400558f4ea99527bc9786c033965a3db45bf4c6a32eefdc07aa9e306a6 util-macros-1.19.1.tar.bz2 +# From https://lists.x.org/archives/xorg-announce/2018-March/002845.html +md5 58edef899364f78fbde9479ded20211e util-macros-1.19.2.tar.bz2 +sha1 e8b3a6f2bfde22440fca0974da53da18821a4ee6 util-macros-1.19.2.tar.bz2 +sha256 d7e43376ad220411499a79735020f9d145fdc159284867e99467e0d771f3e712 util-macros-1.19.2.tar.bz2 +sha512 3f51504b27f0478c136126f15110cf3cdbba218c4d74a8e974cca1381c6e8364609bd0c444f2fb19aa86a7f4e848dfce4f4da940463b224036f75a60b3d88619 util-macros-1.19.2.tar.bz2 +# Locally computed +sha256 489b630a75e3255485732eae3d50ff4d29d3feb66760bb3acb04f897e4d9e375 COPYING diff --git a/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.mk b/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.mk index d01b3e0d..6f66c766 100644 --- a/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.mk +++ b/bsp/buildroot/package/xutil_util-macros/xutil_util-macros.mk @@ -4,7 +4,7 @@ # ################################################################################ -XUTIL_UTIL_MACROS_VERSION = 1.19.1 +XUTIL_UTIL_MACROS_VERSION = 1.19.2 XUTIL_UTIL_MACROS_SOURCE = util-macros-$(XUTIL_UTIL_MACROS_VERSION).tar.bz2 XUTIL_UTIL_MACROS_SITE = http://xorg.freedesktop.org/releases/individual/util XUTIL_UTIL_MACROS_LICENSE = MIT diff --git a/bsp/buildroot/package/xxhash/xxhash.hash b/bsp/buildroot/package/xxhash/xxhash.hash index 31081c01..8a00a427 100644 --- a/bsp/buildroot/package/xxhash/xxhash.hash +++ b/bsp/buildroot/package/xxhash/xxhash.hash @@ -1,2 +1,4 @@ # locally computed -sha256 9743539ed787ea9bd5bb348265cebdd5adcbf820ad329bf44c28bc69ab4c7cd8 xxhash-r40.tar.gz +sha256 19030315f4fc1b4b2cdb9d7a317069a109f90e39d1fe4c9159b7aaa39030eb95 xxhash-v0.6.5.tar.gz +sha256 86ec6953794503942b70fcd4f35b565d44f63f703b7037ce44dad965c4aaae91 LICENSE +sha256 8e449f232e2cd984e1d286711653960b4a9a555d90b4dc05fe4f0d7a1838fe1b xxhsum.c diff --git a/bsp/buildroot/package/xxhash/xxhash.mk b/bsp/buildroot/package/xxhash/xxhash.mk index 7e040663..9bb259a2 100644 --- a/bsp/buildroot/package/xxhash/xxhash.mk +++ b/bsp/buildroot/package/xxhash/xxhash.mk @@ -4,7 +4,7 @@ # ################################################################################ -XXHASH_VERSION = r40 +XXHASH_VERSION = v0.6.5 XXHASH_SITE = $(call github,Cyan4973,xxHash,$(XXHASH_VERSION)) XXHASH_LICENSE = BSD-2-Clause, GPL-2.0+ XXHASH_LICENSE_FILES = LICENSE xxhsum.c diff --git a/bsp/buildroot/package/xz/xz.mk b/bsp/buildroot/package/xz/xz.mk index e8116f24..bcdac13e 100644 --- a/bsp/buildroot/package/xz/xz.mk +++ b/bsp/buildroot/package/xz/xz.mk @@ -18,5 +18,10 @@ else XZ_CONF_OPTS = --disable-threads endif +# we are built before ccache +HOST_XZ_CONF_ENV = \ + CC="$(HOSTCC_NOCCACHE)" \ + CXX="$(HOSTCXX_NOCCACHE)" + $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/bsp/buildroot/package/yaml-cpp/Config.in b/bsp/buildroot/package/yaml-cpp/Config.in index 6d34f421..e02b85df 100644 --- a/bsp/buildroot/package/yaml-cpp/Config.in +++ b/bsp/buildroot/package/yaml-cpp/Config.in @@ -1,14 +1,12 @@ config BR2_PACKAGE_YAML_CPP bool "yaml-cpp" depends on BR2_INSTALL_LIBSTDCPP - depends on BR2_TOOLCHAIN_HAS_THREADS # boost - depends on BR2_USE_WCHAR # boost - select BR2_PACKAGE_BOOST + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 help yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec. https://github.com/jbeder/yaml-cpp -comment "yaml-cpp needs a toolchain w/ C++, threads, wchar" - depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR +comment "yaml-cpp needs a toolchain w/ C++, gcc >= 4.7" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 diff --git a/bsp/buildroot/package/yaml-cpp/yaml-cpp.hash b/bsp/buildroot/package/yaml-cpp/yaml-cpp.hash index 7d675373..b2c02141 100644 --- a/bsp/buildroot/package/yaml-cpp/yaml-cpp.hash +++ b/bsp/buildroot/package/yaml-cpp/yaml-cpp.hash @@ -1,2 +1,3 @@ # locally computed -sha256 6fb92f6f5925e0af918ffbb90acf19b7b88706ebcd40fc186b7caa76609b6350 yaml-cpp-0.5.2.tar.gz +sha256 e4d8560e163c3d875fd5d9e5542b5fd5bec810febdcba61481fe5fc4e6b1fd05 yaml-cpp-0.6.2.tar.gz +sha256 aa6fcc27be034e41e21dd832f9175bfe694a48491d9e14ff0fa278e19ad14f1b LICENSE diff --git a/bsp/buildroot/package/yaml-cpp/yaml-cpp.mk b/bsp/buildroot/package/yaml-cpp/yaml-cpp.mk index 6a01b02a..97021ea4 100644 --- a/bsp/buildroot/package/yaml-cpp/yaml-cpp.mk +++ b/bsp/buildroot/package/yaml-cpp/yaml-cpp.mk @@ -4,15 +4,15 @@ # ################################################################################ -YAML_CPP_VERSION = 0.5.2 -YAML_CPP_SITE = $(call github,jbeder,yaml-cpp,release-$(YAML_CPP_VERSION)) +YAML_CPP_VERSION = 0.6.2 +YAML_CPP_SITE = $(call github,jbeder,yaml-cpp,yaml-cpp-$(YAML_CPP_VERSION)) YAML_CPP_INSTALL_STAGING = YES YAML_CPP_LICENSE = MIT -YAML_CPP_LICENSE_FILES = license.txt - -YAML_CPP_DEPENDENCIES = boost +YAML_CPP_LICENSE_FILES = LICENSE # Disable testing and parse tools -YAML_CPP_CONF_OPTS += -DYAML_CPP_BUILD_TOOLS=OFF +YAML_CPP_CONF_OPTS += \ + -DYAML_CPP_BUILD_TESTS=OFF \ + -DYAML_CPP_BUILD_TOOLS=OFF $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/ympd/ympd.hash b/bsp/buildroot/package/ympd/ympd.hash index 7483083b..6d45d638 100644 --- a/bsp/buildroot/package/ympd/ympd.hash +++ b/bsp/buildroot/package/ympd/ympd.hash @@ -1,2 +1,3 @@ # locally computed -sha256 092c26c51166d1d1f025cd06742981783dea7e42bfe4f73f10c4418fc003de94 ympd-v1.2.3.tar.gz +sha256 d9f68920cd93d1cfa971e1d7b9162a2b1724909bc9753c1338cecb3688d234d5 ympd-v1.3.0.tar.gz +sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 LICENSE diff --git a/bsp/buildroot/package/ympd/ympd.mk b/bsp/buildroot/package/ympd/ympd.mk index a50aee07..6c0f3224 100644 --- a/bsp/buildroot/package/ympd/ympd.mk +++ b/bsp/buildroot/package/ympd/ympd.mk @@ -4,18 +4,17 @@ # ################################################################################ -YMPD_VERSION = v1.2.3 +YMPD_VERSION = v1.3.0 YMPD_SITE = $(call github,notandy,ympd,$(YMPD_VERSION)) YMPD_LICENSE = GPL-2.0 YMPD_LICENSE_FILES = LICENSE YMPD_DEPENDENCIES = libmpdclient -define YMPD_MAKE_HOST_TOOL - $(HOSTCC) $(HOST_CFLAGS) $(@D)/htdocs/mkdata.c -o $(@D)/mkdata -endef - -YMPD_PRE_BUILD_HOOKS += YMPD_MAKE_HOST_TOOL - -YMPD_CONF_OPTS += -DMKDATA_EXE=$(@D)/mkdata +ifeq ($(BR2_PACKAGE_OPENSSL),y) +YMPD_DEPENDENCIES += openssl +YMPD_CONF_OPTS += -DWITH_SSL=ON +else +YMPD_CONF_OPTS += -DWITH_SSL=OFF +endif $(eval $(cmake-package)) diff --git a/bsp/buildroot/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch b/bsp/buildroot/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch deleted file mode 100644 index 57fbeb1e..00000000 --- a/bsp/buildroot/package/zbar/0001-Fix-autoreconf-by-reducing-the-warning-error-checkin.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e593d6529cff515d94d80a24b5f3a953fd46004c Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 19 Dec 2015 18:56:36 +0100 -Subject: [PATCH] Fix autoreconf by reducing the warning/error checking - -Signed-off-by: Thomas Petazzoni ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 256aedb..e0b6046 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -3,7 +3,7 @@ AC_PREREQ([2.61]) - AC_INIT([zbar], [0.10], [spadix@users.sourceforge.net]) - AC_CONFIG_AUX_DIR(config) - AC_CONFIG_MACRO_DIR(config) --AM_INIT_AUTOMAKE([1.10 -Wall -Werror foreign subdir-objects std-options dist-bzip2]) -+AM_INIT_AUTOMAKE([1.10 foreign subdir-objects std-options dist-bzip2]) - AC_CONFIG_HEADERS([include/config.h]) - AC_CONFIG_SRCDIR(zbar/scanner.c) - LT_PREREQ([2.2]) --- -2.6.4 - diff --git a/bsp/buildroot/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch b/bsp/buildroot/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch deleted file mode 100644 index 82dd4e96..00000000 --- a/bsp/buildroot/package/zbar/0002-Fix-function-protoype-to-be-compatible-with-recent-l.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5dc8322b4f9a3de29b3da70b69e16356a2a1764c Mon Sep 17 00:00:00 2001 -From: Viacheslav Volkov -Date: Sat, 19 Dec 2015 19:07:09 +0100 -Subject: [PATCH] Fix function protoype to be compatible with recent libjpeg - -Signed-off-by: Viacheslav Volkov -Signed-off-by: Thomas Petazzoni ---- - zbar/jpeg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/zbar/jpeg.c b/zbar/jpeg.c -index 972bfea..fdd1619 100644 ---- a/zbar/jpeg.c -+++ b/zbar/jpeg.c -@@ -68,7 +68,7 @@ void init_source (j_decompress_ptr cinfo) - cinfo->src->bytes_in_buffer = img->datalen; - } - --int fill_input_buffer (j_decompress_ptr cinfo) -+boolean fill_input_buffer (j_decompress_ptr cinfo) - { - /* buffer underrun error case */ - cinfo->src->next_input_byte = fake_eoi; --- -2.6.4 - diff --git a/bsp/buildroot/package/zbar/0003-Disable-building-documentation.patch b/bsp/buildroot/package/zbar/0003-Disable-building-documentation.patch deleted file mode 100644 index 729f926c..00000000 --- a/bsp/buildroot/package/zbar/0003-Disable-building-documentation.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 58027d5bb0492142a5b72ded772d3a1be9fa8d87 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sun, 20 Dec 2015 12:05:57 +0100 -Subject: [PATCH] Disable building documentation - -The documentation requires xmlto, and we don't need it in Buildroot. - -Signed-off-by: Thomas Petazzoni ---- - Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index e18499a..db4411f 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -45,7 +45,6 @@ if HAVE_NPAPI - include $(srcdir)/plugin/Makefile.am.inc - endif - include $(srcdir)/test/Makefile.am.inc --include $(srcdir)/doc/Makefile.am.inc - - EXTRA_DIST += zbar.ico zbar.nsi - --- -2.6.4 - diff --git a/bsp/buildroot/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch b/bsp/buildroot/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch deleted file mode 100644 index 6d39b1bd..00000000 --- a/bsp/buildroot/package/zbar/0004-Wrap-logical-not-operations-into-parentheses.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 7e69cdc8dfdf07701ba551985ee49d48e64d730f Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Mon, 25 Jan 2016 11:58:59 +0000 -Subject: [PATCH] Wrap logical not operations into parentheses - -Otherwise it fails like this: - -zbar/decoder/ean.c: In function 'ean_part_end4': -zbar/decoder/ean.c:297:13: error: logical not is only applied to the -left hand side of comparison [-Werror=logical-not-parentheses] - if(!par == fwd) { - -This patch has been sent upstream as a pull request: - - https://github.com/ZBar/ZBar/pull/9 - -Signed-off-by: Vicente Olivert Riera ---- - zbar/decoder/ean.c | 4 ++-- - zbar/qrcode/qrdec.c | 8 ++++---- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/zbar/decoder/ean.c b/zbar/decoder/ean.c -index c20f538..41d1493 100644 ---- a/zbar/decoder/ean.c -+++ b/zbar/decoder/ean.c -@@ -294,7 +294,7 @@ static inline zbar_symbol_type_t ean_part_end4 (ean_pass_t *pass, - /* invalid parity combination */ - return(ZBAR_NONE); - -- if(!par == fwd) { -+ if((!par) == fwd) { - /* reverse sampled digits */ - unsigned char tmp = pass->raw[1]; - pass->state |= STATE_REV; -@@ -380,7 +380,7 @@ static inline zbar_symbol_type_t ean_part_end7 (ean_decoder_t *ean, - /* invalid parity combination */ - return(ZBAR_NONE); - -- if(!par == fwd) { -+ if((!par) == fwd) { - unsigned char i; - pass->state |= STATE_REV; - /* reverse sampled digits */ -diff --git a/zbar/qrcode/qrdec.c b/zbar/qrcode/qrdec.c -index d8fa802..5d3d265 100644 ---- a/zbar/qrcode/qrdec.c -+++ b/zbar/qrcode/qrdec.c -@@ -1219,8 +1219,8 @@ static int qr_finder_quick_crossing_check(const unsigned char *_img, - _x1<0||_x1>=_width||_y1<0||_y1>=_height){ - return -1; - } -- if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1; -- if(!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v)return -1; -+ if((!_img[_y0*_width+_x0])!=_v||(!_img[_y1*_width+_x1])!=_v)return 1; -+ if((!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)])==_v)return -1; - return 0; - } - -@@ -1261,7 +1261,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img, - x0[1-steep]+=step[1-steep]; - err-=dx[steep]; - } -- if(!_img[x0[1]*_width+x0[0]]!=_v)break; -+ if((!_img[x0[1]*_width+x0[0]])!=_v)break; - } - /*Find the last crossing from _v to !_v.*/ - err=0; -@@ -1273,7 +1273,7 @@ static int qr_finder_locate_crossing(const unsigned char *_img, - x1[1-steep]-=step[1-steep]; - err-=dx[steep]; - } -- if(!_img[x1[1]*_width+x1[0]]!=_v)break; -+ if((!_img[x1[1]*_width+x1[0]])!=_v)break; - } - /*Return the midpoint of the _v segment.*/ - _p[0]=(x0[0]+x1[0]+1<>1; --- -2.4.10 - diff --git a/bsp/buildroot/package/zbar/Config.in b/bsp/buildroot/package/zbar/Config.in index 05c9b769..e850c1f0 100644 --- a/bsp/buildroot/package/zbar/Config.in +++ b/bsp/buildroot/package/zbar/Config.in @@ -3,15 +3,15 @@ config BR2_PACKAGE_ZBAR depends on BR2_TOOLCHAIN_HAS_THREADS # libv4l depends on BR2_USE_MMU # libv4l depends on BR2_INSTALL_LIBSTDCPP # libv4l - depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 # libv4l + depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # v4l2_query_ext_ctrl select BR2_PACKAGE_JPEG select BR2_PACKAGE_LIBV4L help QR and barcode scanner - http://zbar.sourceforge.net/ + https://git.linuxtv.org/zbar.git/about/ -comment "zbar needs a toolchain w/ threads, C++ and headers >= 3.0" +comment "zbar needs a toolchain w/ threads, C++ and headers >= 3.17" depends on BR2_USE_MMU depends on !BR2_TOOLCHAIN_HAS_THREADS \ - || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 diff --git a/bsp/buildroot/package/zbar/zbar.hash b/bsp/buildroot/package/zbar/zbar.hash index 54441a8f..6735bc67 100644 --- a/bsp/buildroot/package/zbar/zbar.hash +++ b/bsp/buildroot/package/zbar/zbar.hash @@ -1,2 +1,3 @@ # Locally computed: -sha256 38f8535a3c4c526ecaa968a992efcbf7392623e68db45dc2f181d4c9d3002d69 zbar-854a5d97059e395807091ac4d80c53f7968abb8f.tar.gz +sha256 94c71c6110c705f07ba5ba2803583d09b3853e8773169c86bdcf831443156aaa zbar-57d601e82089f2f31de9e1683c3834f237421f5d.tar.gz +sha256 36b6d3fa47916943fd5fec313c584784946047ec1337a78b440e5992cb595f89 LICENSE diff --git a/bsp/buildroot/package/zbar/zbar.mk b/bsp/buildroot/package/zbar/zbar.mk index c8fc8995..c3f0797c 100644 --- a/bsp/buildroot/package/zbar/zbar.mk +++ b/bsp/buildroot/package/zbar/zbar.mk @@ -4,9 +4,8 @@ # ################################################################################ -# github have some additional commits for compiling with recent kernel -ZBAR_VERSION = 854a5d97059e395807091ac4d80c53f7968abb8f -ZBAR_SITE = $(call github,ZBar,Zbar,$(ZBAR_VERSION)) +ZBAR_VERSION = 57d601e82089f2f31de9e1683c3834f237421f5d +ZBAR_SITE = git://linuxtv.org/zbar.git ZBAR_LICENSE = LGPL-2.1+ ZBAR_LICENSE_FILES = LICENSE ZBAR_INSTALL_STAGING = YES @@ -14,11 +13,16 @@ ZBAR_AUTORECONF = YES ZBAR_DEPENDENCIES = libv4l jpeg # add host-gettext for AM_ICONV macro ZBAR_DEPENDENCIES += host-gettext +# uses C99 features +ZBAR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" ZBAR_CONF_OPTS = \ + --disable-doc \ --without-imagemagick \ --without-qt \ + --without-qt5 \ --without-gtk \ - --without-python \ - --without-x + --without-python2 \ + --without-x \ + --without-java $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/zeromq/0001-acinclude.m4-make-kernel-specific-flags-cacheable.patch b/bsp/buildroot/package/zeromq/0001-acinclude.m4-make-kernel-specific-flags-cacheable.patch deleted file mode 100644 index ff225d35..00000000 --- a/bsp/buildroot/package/zeromq/0001-acinclude.m4-make-kernel-specific-flags-cacheable.patch +++ /dev/null @@ -1,199 +0,0 @@ -commit 9daf6dd7c4947ce74ca729de5c3cfe8cbc304702 -Author: Lionel Orry -Date: Fri Feb 6 15:11:07 2015 +0100 - - acinclude.m4: make kernel-specific flags cacheable - - Specifically when cross-compiling, one can be willing to force these - variable values using the environment of a config.cache file. This - commit makes this possible. - - The affected variables are: - - * libzmq_cv_sock_cloexec - * libzmq_cv_so_keepalive - * libzmq_cv_tcp_keepcnt - * libzmq_cv_tcp_keepidle - * libzmq_cv_tcp_keepintvl - * libzmq_cv_tcp_keepalive - - Signed-off-by: Lionel Orry - -diff --git a/acinclude.m4 b/acinclude.m4 -index 4bbd19e..456740d 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -586,8 +586,8 @@ dnl # LIBZMQ_CHECK_SOCK_CLOEXEC([action-if-found], [action-if-not-found]) - dnl # Check if SOCK_CLOEXEC is supported # - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_SOCK_CLOEXEC], [{ -- AC_MSG_CHECKING(whether SOCK_CLOEXEC is supported) -- AC_TRY_RUN([/* SOCK_CLOEXEC test */ -+ AC_CACHE_CHECK([whether SOCK_CLOEXEC is supported], [libzmq_cv_sock_cloexec], -+ [AC_TRY_RUN([/* SOCK_CLOEXEC test */ - #include - #include - -@@ -596,11 +596,13 @@ int main (int argc, char *argv []) - int s = socket (PF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0); - return (s == -1); - } -- ], -- [AC_MSG_RESULT(yes) ; libzmq_cv_sock_cloexec="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_sock_cloexec="no" ; $2], -- [AC_MSG_RESULT(not during cross-compile) ; libzmq_cv_sock_cloexec="no"] -+ ], -+ [libzmq_cv_sock_cloexec="yes"], -+ [libzmq_cv_sock_cloexec="no"], -+ [libzmq_cv_sock_cloexec="not during cross-compile"] -+ )] - ) -+ AS_IF([test "x$libzmq_cv_sock_cloexec" = "xyes"], [$1], [$2]) - }]) - - dnl ################################################################################ -@@ -628,8 +630,8 @@ dnl # LIBZMQ_CHECK_SO_KEEPALIVE([action-if-found], [action-if-not-found]) - dnl # Check if SO_KEEPALIVE is supported # - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_SO_KEEPALIVE], [{ -- AC_MSG_CHECKING(whether SO_KEEPALIVE is supported) -- AC_TRY_RUN([/* SO_KEEPALIVE test */ -+ AC_CACHE_CHECK([whether SO_KEEPALIVE is supported], [libzmq_cv_so_keepalive], -+ [AC_TRY_RUN([/* SO_KEEPALIVE test */ - #include - #include - -@@ -641,11 +643,13 @@ int main (int argc, char *argv []) - ((rc = setsockopt (s, SOL_SOCKET, SO_KEEPALIVE, (char*) &opt, sizeof (int))) == -1) - ); - } -- ], -- [AC_MSG_RESULT(yes) ; libzmq_cv_so_keepalive="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_so_keepalive="no" ; $2], -- [AC_MSG_RESULT(not during cross-compile) ; libzmq_cv_so_keepalive="no"] -+ ], -+ [libzmq_cv_so_keepalive="yes"], -+ [libzmq_cv_so_keepalive="no"], -+ [libzmq_cv_so_keepalive="not during cross-compile"] -+ )] - ) -+ AS_IF([test "x$libzmq_cv_so_keepalive" = "xyes"], [$1], [$2]) - }]) - - dnl ################################################################################ -@@ -653,8 +657,8 @@ dnl # LIBZMQ_CHECK_TCP_KEEPCNT([action-if-found], [action-if-not-found]) - dnl # Check if TCP_KEEPCNT is supported # - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_TCP_KEEPCNT], [{ -- AC_MSG_CHECKING(whether TCP_KEEPCNT is supported) -- AC_TRY_RUN([/* TCP_KEEPCNT test */ -+ AC_CACHE_CHECK([whether TCP_KEEPCNT is supported], [libzmq_cv_tcp_keepcnt], -+ [AC_TRY_RUN([/* TCP_KEEPCNT test */ - #include - #include - #include -@@ -669,11 +673,13 @@ int main (int argc, char *argv []) - ((rc = setsockopt (s, IPPROTO_TCP, TCP_KEEPCNT, (char*) &opt, sizeof (int))) == -1) - ); - } -- ], -- [AC_MSG_RESULT(yes) ; libzmq_cv_tcp_keepcnt="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_tcp_keepcnt="no" ; $2], -- [AC_MSG_RESULT(not during cross-compile) ; libzmq_cv_tcp_keepcnt="no"] -+ ], -+ [libzmq_cv_tcp_keepcnt="yes"], -+ [libzmq_cv_tcp_keepcnt="no"], -+ [libzmq_cv_tcp_keepcnt="not during cross-compile"] -+ )] - ) -+ AS_IF([test "x$libzmq_cv_tcp_keepcnt" = "xyes"], [$1], [$2]) - }]) - - dnl ################################################################################ -@@ -681,8 +687,8 @@ dnl # LIBZMQ_CHECK_TCP_KEEPIDLE([action-if-found], [action-if-not-found]) - dnl # Check if TCP_KEEPIDLE is supported # - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_TCP_KEEPIDLE], [{ -- AC_MSG_CHECKING(whether TCP_KEEPIDLE is supported) -- AC_TRY_RUN([/* TCP_KEEPIDLE test */ -+ AC_CACHE_CHECK([whether TCP_KEEPIDLE is supported], [libzmq_cv_tcp_keepidle], -+ [AC_TRY_RUN([/* TCP_KEEPIDLE test */ - #include - #include - #include -@@ -697,11 +703,13 @@ int main (int argc, char *argv []) - ((rc = setsockopt (s, IPPROTO_TCP, TCP_KEEPIDLE, (char*) &opt, sizeof (int))) == -1) - ); - } -- ], -- [AC_MSG_RESULT(yes) ; libzmq_cv_tcp_keepidle="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_tcp_keepidle="no" ; $2], -- [AC_MSG_RESULT(not during cross-compile) ; libzmq_cv_tcp_keepidle="no"] -+ ], -+ [libzmq_cv_tcp_keepidle="yes"], -+ [libzmq_cv_tcp_keepidle="no"], -+ [libzmq_cv_tcp_keepidle="not during cross-compile"] -+ )] - ) -+ AS_IF([test "x$libzmq_cv_tcp_keepidle" = "xyes"], [$1], [$2]) - }]) - - dnl ################################################################################ -@@ -709,8 +717,8 @@ dnl # LIBZMQ_CHECK_TCP_KEEPINTVL([action-if-found], [action-if-not-found]) - dnl # Check if TCP_KEEPINTVL is supported # - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_TCP_KEEPINTVL], [{ -- AC_MSG_CHECKING(whether TCP_KEEPINTVL is supported) -- AC_TRY_RUN([/* TCP_KEEPINTVL test */ -+ AC_CACHE_CHECK([whether TCP_KEEPINTVL is supported], [libzmq_cv_tcp_keepintvl], -+ [AC_TRY_RUN([/* TCP_KEEPINTVL test */ - #include - #include - #include -@@ -725,11 +733,13 @@ int main (int argc, char *argv []) - ((rc = setsockopt (s, IPPROTO_TCP, TCP_KEEPINTVL, (char*) &opt, sizeof (int))) == -1) - ); - } -- ], -- [AC_MSG_RESULT(yes) ; libzmq_cv_tcp_keepintvl="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_tcp_keepintvl="no" ; $2], -- [AC_MSG_RESULT(not during cross-compile) ; libzmq_cv_tcp_keepintvl="no"] -+ ], -+ [libzmq_cv_tcp_keepintvl="yes"], -+ [libzmq_cv_tcp_keepintvl="no"], -+ [libzmq_cv_tcp_keepintvl="not during cross-compile"] -+ )] - ) -+ AS_IF([test "x$libzmq_cv_tcp_keepintvl" = "xyes"], [$1], [$2]) - }]) - - dnl ################################################################################ -@@ -737,8 +747,8 @@ dnl # LIBZMQ_CHECK_TCP_KEEPALIVE([action-if-found], [action-if-not-found]) - dnl # Check if TCP_KEEPALIVE is supported # - dnl ################################################################################ - AC_DEFUN([LIBZMQ_CHECK_TCP_KEEPALIVE], [{ -- AC_MSG_CHECKING(whether TCP_KEEPALIVE is supported) -- AC_TRY_RUN([/* TCP_KEEPALIVE test */ -+ AC_CACHE_CHECK([whether TCP_KEEPALIVE is supported], [libzmq_cv_tcp_keepalive], -+ [AC_TRY_RUN([/* TCP_KEEPALIVE test */ - #include - #include - #include -@@ -753,11 +763,13 @@ int main (int argc, char *argv []) - ((rc = setsockopt (s, IPPROTO_TCP, TCP_KEEPALIVE, (char*) &opt, sizeof (int))) == -1) - ); - } -- ], -- [AC_MSG_RESULT(yes) ; libzmq_cv_tcp_keepalive="yes" ; $1], -- [AC_MSG_RESULT(no) ; libzmq_cv_tcp_keepalive="no" ; $2], -- [AC_MSG_RESULT(not during cross-compile) ; libzmq_cv_tcp_keepalive="no"] -+ ], -+ [libzmq_cv_tcp_keepalive="yes"], -+ [libzmq_cv_tcp_keepalive="no"], -+ [libzmq_cv_tcp_keepalive="not during cross-compile"] -+ )] - ) -+ AS_IF([test "x$libzmq_cv_tcp_keepalive" = "xyes"], [$1], [$2]) - }]) - - dnl ################################################################################ diff --git a/bsp/buildroot/package/zeromq/0002-libzmq-Fix-pkg-config-files-for-static-linking.patch b/bsp/buildroot/package/zeromq/0002-libzmq-Fix-pkg-config-files-for-static-linking.patch deleted file mode 100644 index 11acec26..00000000 --- a/bsp/buildroot/package/zeromq/0002-libzmq-Fix-pkg-config-files-for-static-linking.patch +++ /dev/null @@ -1,29 +0,0 @@ -From e89577d30c278fba0f9e40266ceb6fb2821907d5 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 13 May 2015 08:01:34 +0200 -Subject: [PATCH] libzmq: Fix pkg-config files for static linking - -Libzmq uses C++ standard library features, so users of it should link -against that as well when statically linking. - -Add it to Libs.private so users using pkg-config automatically gets the -correct linker flags. - -Signed-off-by: Peter Korsgaard ---- - src/libzmq.pc.in | 1 + - 1 file changed, 1 insertions(+) - -diff --git a/src/libzmq.pc.in b/src/libzmq.pc.in -index ba155a3..52a39f7 100644 ---- a/src/libzmq.pc.in -+++ b/src/libzmq.pc.in -@@ -7,4 +7,5 @@ Name: libzmq - Description: 0MQ c++ library - Version: @VERSION@ - Libs: -L${libdir} -lzmq -+Libs.private: -lstdc++ - Cflags: -I${includedir} --- -2.1.4 - diff --git a/bsp/buildroot/package/zeromq/Config.in b/bsp/buildroot/package/zeromq/Config.in index 69be9f00..aeedff17 100644 --- a/bsp/buildroot/package/zeromq/Config.in +++ b/bsp/buildroot/package/zeromq/Config.in @@ -52,4 +52,11 @@ config BR2_PACKAGE_ZEROMQ_PGM 3208) implemented either over raw IP packets or UDP datagrams (encapsulated PGM). +config BR2_PACKAGE_ZEROMQ_DRAFTS + bool "Draft APIs support" + help + Enable unstable draft ZeroMQ APIs + + https://pyzmq.readthedocs.io/en/latest/draft.html + endif diff --git a/bsp/buildroot/package/zeromq/zeromq.hash b/bsp/buildroot/package/zeromq/zeromq.hash index 486656e4..5af6a3ff 100644 --- a/bsp/buildroot/package/zeromq/zeromq.hash +++ b/bsp/buildroot/package/zeromq/zeromq.hash @@ -1,4 +1,7 @@ -# From https://github.com/zeromq/zeromq4-1/releases -sha1 b956df8c6f77c174683b51fbee67f99c94945651 zeromq-4.1.6.tar.gz -# Calculated based on the hash above -sha256 02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a zeromq-4.1.6.tar.gz +# From https://github.com/zeromq/libzmq/releases +md5 64cbf3577afdbfda30358bc757a6ac83 zeromq-4.3.1.tar.gz +sha1 6cce22d830eaf95feff7cab00744df13ad7ab7f3 zeromq-4.3.1.tar.gz +# Locally computed +sha256 bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb zeromq-4.3.1.tar.gz +sha256 4fd86507c9b486764343065a9e035222869a27b5789efeb4fd93edc85412d7a3 COPYING +sha256 83f32abe61ee58ffb1b007412c08415168c052501dbf56d7a47aaaac52b03ef6 COPYING.LESSER diff --git a/bsp/buildroot/package/zeromq/zeromq.mk b/bsp/buildroot/package/zeromq/zeromq.mk index caf56437..d799f863 100644 --- a/bsp/buildroot/package/zeromq/zeromq.mk +++ b/bsp/buildroot/package/zeromq/zeromq.mk @@ -4,15 +4,13 @@ # ################################################################################ -ZEROMQ_VERSION = 4.1.6 -ZEROMQ_SITE = https://github.com/zeromq/zeromq4-1/releases/download/v$(ZEROMQ_VERSION) +ZEROMQ_VERSION = 4.3.1 +ZEROMQ_SITE = https://github.com/zeromq/libzmq/releases/download/v$(ZEROMQ_VERSION) ZEROMQ_INSTALL_STAGING = YES ZEROMQ_DEPENDENCIES = util-linux ZEROMQ_CONF_OPTS = --without-documentation ZEROMQ_LICENSE = LGPL-3.0+ with exceptions ZEROMQ_LICENSE_FILES = COPYING COPYING.LESSER -# For 0001-acinclude.m4-make-kernel-specific-flags-cacheable.patch -ZEROMQ_AUTORECONF = YES # Assume these flags are always available. It is true, at least for # SOCK_CLOEXEC, since linux v2.6.27. @@ -23,6 +21,12 @@ ZEROMQ_CONF_ENV = libzmq_cv_sock_cloexec=yes \ libzmq_cv_tcp_keepidle=yes \ libzmq_cv_tcp_keepintvl=yes +# Internal error, aborting at dwarf2cfi.c:2752 in connect_traces +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864 +ifeq ($(BR2_m68k_cf),y) +ZEROMQ_CONF_OPTS += CXXFLAGS="$(TARGET_CXXFLAGS) -fno-defer-pop" +endif + # Only tools/curve_keygen.c needs this, but it doesn't hurt to pass it # for the rest of the build as well (which automatically includes stdc++). ifeq ($(BR2_STATIC_LIBS),y) @@ -43,6 +47,12 @@ else ZEROMQ_CONF_OPTS += --without-pgm endif +ifeq ($(BR2_PACKAGE_ZEROMQ_DRAFTS),y) +ZEROMQ_CONF_OPTS += --enable-drafts +else +ZEROMQ_CONF_OPTS += --disable-drafts +endif + # ZeroMQ uses libsodium if it's available. ifeq ($(BR2_PACKAGE_LIBSODIUM),y) ZEROMQ_DEPENDENCIES += libsodium @@ -51,4 +61,11 @@ else ZEROMQ_CONF_OPTS += --without-libsodium endif +ifeq ($(BR2_PACKAGE_LIBUNWIND),y) +ZEROMQ_DEPENDENCIES += libunwind +ZEROMQ_CONF_OPTS += --enable-libunwind +else +ZEROMQ_CONF_OPTS += --disable-libunwind +endif + $(eval $(autotools-package)) diff --git a/bsp/buildroot/package/zic/zic.hash b/bsp/buildroot/package/zic/zic.hash index df578fe1..6b799473 100644 --- a/bsp/buildroot/package/zic/zic.hash +++ b/bsp/buildroot/package/zic/zic.hash @@ -1,2 +1,2 @@ -# From http://mm.icann.org/pipermail/tz-announce/2018-January/000048.html -sha512 21988e876479e38661d41ea4c7b5218ba14b979739d7ba8d49a2d343bb9f37c654056ab21c046a6652715f012e4ca33c4aa109b1ec3ac5d0244dd3a7ea9ed6d2 tzcode2018c.tar.gz +# From https://mm.icann.org/pipermail/tz-announce/2018-May/000050.html +sha512 4a245cae2d0922b24539a94cf4a8ccc2bba1ee696e0aaefecb41c7c8d78724a7fcea6039909336177b8b26fec8fc47719e3e56ca9839dbaf52f9a4fec84d4717 tzcode2018e.tar.gz diff --git a/bsp/buildroot/package/zic/zic.mk b/bsp/buildroot/package/zic/zic.mk index aba8bc5b..224b7ab4 100644 --- a/bsp/buildroot/package/zic/zic.mk +++ b/bsp/buildroot/package/zic/zic.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZIC_VERSION = 2018c +ZIC_VERSION = 2018e ZIC_SOURCE = tzcode$(ZIC_VERSION).tar.gz ZIC_SITE = http://www.iana.org/time-zones/repository/releases ZIC_STRIP_COMPONENTS = 0 diff --git a/bsp/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch b/bsp/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch index 70caee81..04fad80f 100644 --- a/bsp/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch +++ b/bsp/buildroot/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch @@ -1,33 +1,42 @@ -From 02ad67e60ef698ee47f6ee53b36e5b89c2fd71e7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Wed, 24 Feb 2016 10:07:11 -0300 -Subject: [PATCH 1/2] Allow building shared or static library only +From 93005632eca13d8eda409f6e9496fd5dd69e75b0 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Fri, 4 May 2018 18:38:31 +0200 +Subject: [PATCH] Allow building shared or static library only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -[Gustavo: update for 4.1.2] +Patchs retrieved from: + - https://git.buildroot.net/buildroot/tree/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch + - https://git.buildroot.net/buildroot/tree/package/zmqpp/0002-Install-static-library-for-static-builds.patch +Both patches have been merged in a single one and slightly updated to +keep default behavior of building and installing static library +(BUILD_STATIC is set to yes by default) + +[Upstream status: merged (https://github.com/zeromq/zmqpp/pull/218)] Signed-off-by: Jörg Krause Signed-off-by: Gustavo Zacarias +Signed-off-by: Fabrice Fontaine --- - Makefile | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) + Makefile | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile -index 9df5996..86c8fac 100644 +index 689acaa..e43054c 100644 --- a/Makefile +++ b/Makefile -@@ -79,6 +79,8 @@ ifeq ($(UNAME_S),Darwin) +@@ -81,6 +81,9 @@ ifeq ($(UNAME_S),Darwin) endif +BUILD_SHARED ?= yes ++BUILD_STATIC ?= yes + CONFIG_FLAGS = ifeq ($(CONFIG),debug) CONFIG_FLAGS = -g -fno-inline -ftemplate-depth-1000 -@@ -93,13 +95,22 @@ ifneq (,$(findstring $(CONFIG),release loadtest)) +@@ -95,13 +98,22 @@ ifneq (,$(findstring $(CONFIG),release loadtest)) CONFIG_FLAGS = -O3 -funroll-loops -ffast-math -finline-functions -fomit-frame-pointer -DNO_DEBUG_LOG -DNO_TRACE_LOG -DNDEBUG endif @@ -51,20 +60,25 @@ index 9df5996..86c8fac 100644 COMMON_LIBS = -lzmq LIBRARY_LIBS = -@@ -147,10 +158,11 @@ install: - mkdir -p $(INCLUDEDIR)/$(LIBRARY_DIR) +@@ -150,11 +162,15 @@ install: mkdir -p $(LIBDIR) + mkdir -p $(PKGCONFIGDIR) install -m 644 $(ALL_LIBRARY_INCLUDES) $(INCLUDEDIR)/$(LIBRARY_DIR) -+ifeq ($(BUILD_SHARED),yes) - install -m 755 $(BUILD_PATH)/$(LIBRARY_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_FULL_VERSION_SHARED) +- install -m 755 $(BUILD_PATH)/$(LIBRARY_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_FULL_VERSION_SHARED) - install -m 755 $(BUILD_PATH)/$(LIBRARY_ARCHIVE) $(LIBDIR)/$(LIBRARY_ARCHIVE) + install -m 755 $(BUILD_PATH)/$(PKGCONFIG_FILE) $(PKGCONFIGDIR)/$(PKGCONFIG_FILE) ++ifeq ($(BUILD_SHARED),yes) ++ install -m 755 $(BUILD_PATH)/$(LIBRARY_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_FULL_VERSION_SHARED) ln -sf $(LIBRARY_FULL_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_VERSION_SHARED) ln -sf $(LIBRARY_FULL_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_SHARED) ++endif ++ifeq ($(BUILD_STATIC),yes) ++ install -m 755 $(BUILD_PATH)/$(LIBRARY_ARCHIVE) $(LIBDIR)/$(LIBRARY_ARCHIVE) +endif if [ -f $(BUILD_PATH)/$(CLIENT_TARGET) ]; then install -m 755 $(BUILD_PATH)/$(CLIENT_TARGET) $(BINDIR); fi $(LDCONFIG) @echo "use make installcheck to test the install" -@@ -172,7 +184,7 @@ clean: +@@ -176,7 +192,7 @@ clean: client: $(CLIENT_TARGET) @@ -73,11 +87,6 @@ index 9df5996..86c8fac 100644 # # BUILD Targets -@@ -211,4 +223,3 @@ test: $(TESTS_TARGET) - $(OBJECT_PATH)/%.o: $(SRC_PATH)/%.cpp - -mkdir -p $(dir $@) - $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(COMMON_FLAGS) $(CONFIG_FLAGS) -c -o $@ $< -- -- -2.4.10 +2.14.1 diff --git a/bsp/buildroot/package/zmqpp/0002-Install-static-library-for-static-builds.patch b/bsp/buildroot/package/zmqpp/0002-Install-static-library-for-static-builds.patch deleted file mode 100644 index 402f85e2..00000000 --- a/bsp/buildroot/package/zmqpp/0002-Install-static-library-for-static-builds.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 283676e2e8f15bedca20c3d94caeecfdebe11ffd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rg=20Krause?= -Date: Mon, 23 Nov 2015 22:53:09 +0100 -Subject: [PATCH 2/2] Install static library for static builds -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[Gustavo: update for 4.1.2] - -Signed-off-by: Jörg Krause -Signed-off-by: Gustavo Zacarias ---- - Makefile | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Makefile b/Makefile -index 86c8fac..fbaff63 100644 ---- a/Makefile -+++ b/Makefile -@@ -163,6 +163,9 @@ ifeq ($(BUILD_SHARED),yes) - ln -sf $(LIBRARY_FULL_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_VERSION_SHARED) - ln -sf $(LIBRARY_FULL_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_SHARED) - endif -+ifeq ($(BUILD_STATIC),yes) -+ install -m 755 $(BUILD_PATH)/$(LIBRARY_ARCHIVE) $(LIBDIR)/$(LIBRARY_ARCHIVE) -+endif - if [ -f $(BUILD_PATH)/$(CLIENT_TARGET) ]; then install -m 755 $(BUILD_PATH)/$(CLIENT_TARGET) $(BINDIR); fi - $(LDCONFIG) - @echo "use make installcheck to test the install" --- -2.4.10 - diff --git a/bsp/buildroot/package/zmqpp/Config.in b/bsp/buildroot/package/zmqpp/Config.in index 8dad80e4..2c80e288 100644 --- a/bsp/buildroot/package/zmqpp/Config.in +++ b/bsp/buildroot/package/zmqpp/Config.in @@ -4,6 +4,7 @@ config BR2_PACKAGE_ZMQPP depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq + depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr select BR2_PACKAGE_ZEROMQ help C++ binding for zeromq (ZeroMQ, 0MQ, zmq). @@ -17,6 +18,9 @@ comment "zmqpp needs a toolchain w/ C++, threads, gcc >= 4.7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 +comment "zmqpp needs exception_ptr" + depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + if BR2_PACKAGE_ZMQPP config BR2_PACKAGE_ZMQPP_CLIENT diff --git a/bsp/buildroot/package/zmqpp/zmqpp.hash b/bsp/buildroot/package/zmqpp/zmqpp.hash index 63c6a34f..c440b2ac 100644 --- a/bsp/buildroot/package/zmqpp/zmqpp.hash +++ b/bsp/buildroot/package/zmqpp/zmqpp.hash @@ -1,2 +1,3 @@ # Locally calculated -sha256 831ad02df64034268d910c30f9fb1b1e631ad810182951af9d7d622650831eb5 zmqpp-4.1.2.tar.gz +sha256 c1d4587df3562f73849d9e5f8c932ca7dcfc7d8bec31f62d7f35073ef81f4d29 zmqpp-4.2.0.tar.gz +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/bsp/buildroot/package/zmqpp/zmqpp.mk b/bsp/buildroot/package/zmqpp/zmqpp.mk index e57f7de4..ea6b50e8 100644 --- a/bsp/buildroot/package/zmqpp/zmqpp.mk +++ b/bsp/buildroot/package/zmqpp/zmqpp.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZMQPP_VERSION = 4.1.2 +ZMQPP_VERSION = 4.2.0 ZMQPP_SITE = $(call github,zeromq,zmqpp,$(ZMQPP_VERSION)) ZMQPP_INSTALL_STAGING = YES ZMQPP_DEPENDENCIES = zeromq @@ -19,6 +19,7 @@ ZMQPP_CONFIG = $(if $(BR2_ENABLE_DEBUG),debug,release) # By setting CONFIG to empty, all optimizations such as -funroll-loops # -ffast-math -finline-functions -fomit-frame-pointer are disabled ifeq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) +# check-package OverriddenVariable ZMQPP_CONFIG = endif diff --git a/bsp/buildroot/package/znc/znc.hash b/bsp/buildroot/package/znc/znc.hash index 7a145959..0845df53 100644 --- a/bsp/buildroot/package/znc/znc.hash +++ b/bsp/buildroot/package/znc/znc.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 44cfea7158ea05dc2547c7c6bc22371e66c869def90351de0ab90a9c200d39c4 znc-1.7.1.tar.gz +sha256 60b4e78f54c532c32673d1ef8e5f606c530ef3a6d6b76ea1daa66459a86682a9 znc-1.7.2.tar.gz sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE diff --git a/bsp/buildroot/package/znc/znc.mk b/bsp/buildroot/package/znc/znc.mk index 5235fd91..b2e422c0 100644 --- a/bsp/buildroot/package/znc/znc.mk +++ b/bsp/buildroot/package/znc/znc.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZNC_VERSION = 1.7.1 +ZNC_VERSION = 1.7.2 ZNC_SITE = http://znc.in/releases/archive ZNC_LICENSE = Apache-2.0 ZNC_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/package/zsh/Config.in b/bsp/buildroot/package/zsh/Config.in index 2e9daac6..23194779 100644 --- a/bsp/buildroot/package/zsh/Config.in +++ b/bsp/buildroot/package/zsh/Config.in @@ -1,7 +1,6 @@ config BR2_PACKAGE_ZSH bool "zsh" depends on BR2_USE_MMU # fork() - depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_NCURSES help zsh is a shell designed for interactive use, although it is diff --git a/bsp/buildroot/package/zsh/zsh.hash b/bsp/buildroot/package/zsh/zsh.hash index 0770d8e2..4363e48a 100644 --- a/bsp/buildroot/package/zsh/zsh.hash +++ b/bsp/buildroot/package/zsh/zsh.hash @@ -1,7 +1,7 @@ # From http://www.zsh.org/pub/MD5SUM -md5 dfe156fd69b0d8d1745ecf6d6e02e047 zsh-5.4.2.tar.gz +md5 540673bf823d2e13806ac0395caa8345 zsh-5.6.2.tar.xz # Calculated based on the hash above and after checking signature -# http://www.zsh.org/pub/zsh-5.4.2.tar.gz.asc -sha256 957bcdb2c57f64c02f673693ea5a7518ef24b6557aeb3a4ce222cefa6d74acc9 zsh-5.4.2.tar.gz +# http://www.zsh.org/pub/zsh-5.6.2.tar.xz.asc +sha256 a50bd66c0557e8eca3b8fa24e85d0de533e775d7a22df042da90488623752e9e zsh-5.6.2.tar.xz # Locally calculated sha256 d06fdf3ef9b1ec69d6b9e170b0a9516fbad3523261ff1668bde3bfea6e0ef5f5 LICENCE diff --git a/bsp/buildroot/package/zsh/zsh.mk b/bsp/buildroot/package/zsh/zsh.mk index bfd0a1a3..31c94050 100644 --- a/bsp/buildroot/package/zsh/zsh.mk +++ b/bsp/buildroot/package/zsh/zsh.mk @@ -4,8 +4,9 @@ # ################################################################################ -ZSH_VERSION = 5.4.2 +ZSH_VERSION = 5.6.2 ZSH_SITE = http://www.zsh.org/pub +ZSH_SOURCE = zsh-$(ZSH_VERSION).tar.xz ZSH_DEPENDENCIES = ncurses ZSH_CONF_OPTS = --bindir=/bin ZSH_CONF_ENV = zsh_cv_sys_nis=no zsh_cv_sys_nis_plus=no @@ -34,6 +35,14 @@ else ZSH_CONF_OPTS += --disable-pcre endif +# Add /bin/zsh to /etc/shells otherwise some login tools like dropbear +# can reject the user connection. See man shells. +define ZSH_ADD_ZSH_TO_SHELLS + grep -qsE '^/bin/zsh$$' $(TARGET_DIR)/etc/shells \ + || echo "/bin/zsh" >> $(TARGET_DIR)/etc/shells +endef +ZSH_TARGET_FINALIZE_HOOKS += ZSH_ADD_ZSH_TO_SHELLS + # Remove versioned zsh-x.y.z binary taking up space define ZSH_TARGET_INSTALL_FIXUPS rm -f $(TARGET_DIR)/bin/zsh-$(ZSH_VERSION) diff --git a/bsp/buildroot/package/zstd/Config.in.host b/bsp/buildroot/package/zstd/Config.in.host new file mode 100644 index 00000000..05751f8f --- /dev/null +++ b/bsp/buildroot/package/zstd/Config.in.host @@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_ZSTD + bool "host zstd" + help + Zstandard, or zstd as short version, is a fast lossless + compression algorithm, targeting real-time compression + scenarios at zlib-level and better compression ratios + + https://facebook.github.io/zstd diff --git a/bsp/buildroot/package/zstd/zstd.hash b/bsp/buildroot/package/zstd/zstd.hash index 51e5fc24..95b22709 100644 --- a/bsp/buildroot/package/zstd/zstd.hash +++ b/bsp/buildroot/package/zstd/zstd.hash @@ -1,5 +1,5 @@ # Locally computed -sha256 a77c47153ee7de02626c5b2a097005786b71688be61e9fb81806a011f90b297b zstd-v1.3.3.tar.gz +sha256 d6e1559e4cdb7c4226767d4ddc990bff5f9aab77085ff0d0490c828b025e2eea zstd-v1.3.5.tar.gz # License files (locally computed as well) sha256 2c1a7fa704df8f3a606f6fc010b8b5aaebf403f3aeec339a12048f1ba7331a0b LICENSE diff --git a/bsp/buildroot/package/zstd/zstd.mk b/bsp/buildroot/package/zstd/zstd.mk index c0fa8802..a1a11f9a 100644 --- a/bsp/buildroot/package/zstd/zstd.mk +++ b/bsp/buildroot/package/zstd/zstd.mk @@ -4,8 +4,9 @@ # ################################################################################ -ZSTD_VERSION = v1.3.3 +ZSTD_VERSION = v1.3.5 ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) +ZSTD_INSTALL_STAGING = YES ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 ZSTD_LICENSE_FILES = LICENSE COPYING @@ -36,14 +37,51 @@ else ZSTD_OPTS += HAVE_LZ4=0 endif +ifeq ($(BR2_STATIC_LIBS),y) +ZSTD_BUILD_LIBS = libzstd.a +ZSTD_INSTALL_LIBS = install-static +else ifeq ($(BR2_SHARED_LIBS),y) +ZSTD_BUILD_LIBS = libzstd +ZSTD_INSTALL_LIBS = install-shared +else +ZSTD_BUILD_LIBS = libzstd.a libzstd +ZSTD_INSTALL_LIBS = install-static install-shared +endif + define ZSTD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + -C $(@D)/lib $(ZSTD_BUILD_LIBS) $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ -C $(@D) zstd endef +define ZSTD_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib \ + install-pc install-includes $(ZSTD_INSTALL_LIBS) +endef + define ZSTD_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib $(ZSTD_INSTALL_LIBS) +endef + +# note: no 'HAVE_...' options for host library build only +define HOST_ZSTD_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/lib + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D) zstd +endef + +define HOST_ZSTD_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/programs install endef $(eval $(generic-package)) +$(eval $(host-generic-package)) diff --git a/bsp/buildroot/package/zynq-boot-bin/zynq-boot-bin.mk b/bsp/buildroot/package/zynq-boot-bin/zynq-boot-bin.mk index 3648c636..c56203fb 100644 --- a/bsp/buildroot/package/zynq-boot-bin/zynq-boot-bin.mk +++ b/bsp/buildroot/package/zynq-boot-bin/zynq-boot-bin.mk @@ -12,7 +12,7 @@ ZYNQ_BOOT_BIN_LICENSE = GPL-3.0+ HOST_ZYNQ_BOOT_BIN_DEPENDENCIES = host-python define HOST_ZYNQ_BOOT_BIN_EXTRACT_CMDS - cp $(DL_DIR)/$(ZYNQ_BOOT_BIN_SOURCE) $(@D) + cp $(HOST_ZYNQ_BOOT_BIN_DL_DIR)/$(ZYNQ_BOOT_BIN_SOURCE) $(@D) endef define HOST_ZYNQ_BOOT_BIN_INSTALL_CMDS diff --git a/bsp/buildroot/package/zyre/zyre.hash b/bsp/buildroot/package/zyre/zyre.hash index 5b38b803..8cc86023 100644 --- a/bsp/buildroot/package/zyre/zyre.hash +++ b/bsp/buildroot/package/zyre/zyre.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 0ce8328a2b9fe46aafc4627fc4ebd4d815f4d9f7d9708088459306c87bf5fb4b zyre-1d949e4bf79b694ea883c325f5813e87ddc2a687.tar.gz +sha256 b978a999947ddb6722d956db2427869b313225e50518c4fbbf960a68109e3e91 zyre-v2.0.0.tar.gz diff --git a/bsp/buildroot/package/zyre/zyre.mk b/bsp/buildroot/package/zyre/zyre.mk index baaa57f5..82a0f517 100644 --- a/bsp/buildroot/package/zyre/zyre.mk +++ b/bsp/buildroot/package/zyre/zyre.mk @@ -4,7 +4,7 @@ # ################################################################################ -ZYRE_VERSION = 1d949e4bf79b694ea883c325f5813e87ddc2a687 +ZYRE_VERSION = v2.0.0 ZYRE_SITE = $(call github,zeromq,zyre,$(ZYRE_VERSION)) ZYRE_LICENSE = MPL-2.0 ZYRE_LICENSE_FILES = LICENSE diff --git a/bsp/buildroot/support/config-fragments/autobuild/arm-aarch64.config b/bsp/buildroot/support/config-fragments/autobuild/arm-aarch64.config new file mode 100644 index 00000000..bed08dcb --- /dev/null +++ b/bsp/buildroot/support/config-fragments/autobuild/arm-aarch64.config @@ -0,0 +1,4 @@ +BR2_aarch64=y +BR2_cortex_a72=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config b/bsp/buildroot/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config deleted file mode 100644 index c2f4cb62..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config +++ /dev/null @@ -1,10 +0,0 @@ -BR2_arm=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv5-ctng-linux-gnueabi.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv5-ctng-linux-gnueabi" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config b/bsp/buildroot/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config deleted file mode 100644 index 60ec9529..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config +++ /dev/null @@ -1,13 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv7-ctng-linux-gnueabihf.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="armv7-ctng-linux-gnueabihf" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config index af1cbf89..048c27d6 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-aarch64-glibc.config @@ -2,8 +2,8 @@ BR2_aarch64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-aarch64-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arcle-hs38.config b/bsp/buildroot/support/config-fragments/autobuild/br-arcle-hs38.config index be4f5353..0832ddd3 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arcle-hs38.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arcle-hs38.config @@ -3,9 +3,9 @@ BR2_archs38=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2017.11-rc2-15-g9d544fe.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_7=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arcle-hs38-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-basic.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-basic.config index a420284c..c576b248 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-basic.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-basic.config @@ -2,7 +2,7 @@ BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config index fea1564a..63fb6698 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_7=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_8=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config index 2db2aa0b..3a1499e3 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-a9-musl.config @@ -4,8 +4,8 @@ BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-a9-musl-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config index f60df91f..36f16477 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-cortex-m4-full.config @@ -3,9 +3,9 @@ BR2_cortex_m4=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-cortex-m4-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config index 33034cf7..a777d24e 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-nothread.config @@ -3,9 +3,9 @@ BR2_arm1176jzf_s=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm11-full-nothread-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-static.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-static.config index dd0a3931..2e41e0b3 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-static.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-full-static.config @@ -3,9 +3,9 @@ BR2_STATIC_LIBS=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-static-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-arm-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-arm-full.config index 659d07ce..7462706a 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-arm-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-arm-full.config @@ -2,9 +2,9 @@ BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2019.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-bfin-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-bfin-full.config deleted file mode 100644 index eeefcefb..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/br-bfin-full.config +++ /dev/null @@ -1,12 +0,0 @@ -BR2_bfin=y -BR2_bf512=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-bfin-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y -BR2_TOOLCHAIN_EXTERNAL_LOCALE=y -# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set -# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config b/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config index b9041a77..fa91cfef 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config @@ -2,9 +2,9 @@ BR2_x86_pentium_mmx=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-i386-pentium-mmx-musl-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y # BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config index 08eb21b8..bf0d4165 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-i386-pentium4-full.config @@ -2,9 +2,9 @@ BR2_x86_pentium4=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-i386-pentium4-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config index bf455e08..f75cf3ac 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-m68k-5208-full.config @@ -2,9 +2,9 @@ BR2_m68k=y BR2_m68k_cf5208=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-5208-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config index 0766ffc3..1bb6aeb8 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-m68k-68040-full.config @@ -1,9 +1,9 @@ BR2_m68k=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-m68k-68040-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config index ea920f0a..035cb72e 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-microblazeel-full.config @@ -1,10 +1,9 @@ BR2_microblazeel=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-microblaze-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set -# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config index 237265bd..7454a4da 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-mips32r6-el-hf-glibc.config @@ -4,8 +4,8 @@ BR2_mips_32r6=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips32r6-el-hf-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config index f8a67f2c..3f2e5d9b 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-mips64-n64-full.config @@ -3,8 +3,8 @@ BR2_MIPS_NABI64=y # BR2_MIPS_SOFT_FLOAT is not set BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64-n64-full-2019.02-rc1.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_5=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config index b0e92360..b47b4341 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-mips64r6-el-hf-glibc.config @@ -5,8 +5,8 @@ BR2_MIPS_NABI64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mips64r6-n64-el-hf-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config index e608b424..6cf919b1 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-mipsel-o32-full.config @@ -2,9 +2,9 @@ BR2_mipsel=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-mipsel-o32-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config index 52b9f7f9..e25ea65a 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-nios2-glibc.config @@ -2,9 +2,9 @@ BR2_nios2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-nios2-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y # BR2_TOOLCHAIN_EXTERNAL_HAS_SSP is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-openrisc-uclibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-openrisc-uclibc.config index 3a4f0b62..a346c83e 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-openrisc-uclibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-openrisc-uclibc.config @@ -1,10 +1,9 @@ BR2_or1k=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-openrisc-full-2017.11-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-openrisc-full-2018.02-925-gd4158df.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_5=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set -# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config index 63cffef7..0f19616a 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-603e-basic-cpp.config @@ -3,8 +3,8 @@ BR2_powerpc_603e=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-603e-basic-cpp-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config index 83b4c093..1673adbc 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc-e500mc-full.config @@ -3,9 +3,9 @@ BR2_powerpc_e500mc=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-powerpc-e500mc-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config index 99ab1695..fb515934 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64-power7-glibc.config @@ -2,8 +2,8 @@ BR2_powerpc64=y BR2_powerpc_power7=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64-power7-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config index 12e3e8fc..964a13e2 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config @@ -2,8 +2,8 @@ BR2_powerpc64le=y BR2_powerpc_power8=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-powerpc64le-power8-glibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-riscv32.config b/bsp/buildroot/support/config-fragments/autobuild/br-riscv32.config new file mode 100644 index 00000000..9565a0b7 --- /dev/null +++ b/bsp/buildroot/support/config-fragments/autobuild/br-riscv32.config @@ -0,0 +1,8 @@ +BR2_riscv=y +BR2_RISCV_32=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-riscv32-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-riscv64.config b/bsp/buildroot/support/config-fragments/autobuild/br-riscv64.config new file mode 100644 index 00000000..61912cfd --- /dev/null +++ b/bsp/buildroot/support/config-fragments/autobuild/br-riscv64.config @@ -0,0 +1,7 @@ +BR2_riscv=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.net/toolchains/tarballs/br-riscv64-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y +BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y +BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-sh4-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-sh4-full.config index 884fbc79..3651fb6e 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-sh4-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-sh4-full.config @@ -2,9 +2,9 @@ BR2_sh=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sh4-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config index 19bce355..d6b8d69e 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-sparc-uclibc.config @@ -1,9 +1,9 @@ BR2_sparc=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc-uclibc-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config b/bsp/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config index 093de54b..a4d1cc66 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-sparc64-glibc.config @@ -1,8 +1,8 @@ BR2_sparc64=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-sparc64-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_14=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config index c1ccddbe..29ac6891 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-core2-full.config @@ -3,9 +3,9 @@ BR2_x86_core2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-core2-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config b/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config index 6ee19ab2..595d968f 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-x86-64-musl.config @@ -3,8 +3,8 @@ BR2_x86_atom=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-x86-64-musl-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/br-xtensa-full.config b/bsp/buildroot/support/config-fragments/autobuild/br-xtensa-full.config index 23e2b8b7..bd531abb 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/br-xtensa-full.config +++ b/bsp/buildroot/support/config-fragments/autobuild/br-xtensa-full.config @@ -1,9 +1,9 @@ BR2_xtensa=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2017.11-rc1.tar.bz2" -BR2_TOOLCHAIN_EXTERNAL_GCC_6=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_13=y +BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-xtensa-full-2019.02-rc1.tar.bz2" +BR2_TOOLCHAIN_EXTERNAL_GCC_7=y +BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y BR2_TOOLCHAIN_EXTERNAL_LOCALE=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/i686-ctng-linux-gnu.config b/bsp/buildroot/support/config-fragments/autobuild/i686-ctng-linux-gnu.config deleted file mode 100644 index 9a961123..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/i686-ctng-linux-gnu.config +++ /dev/null @@ -1,10 +0,0 @@ -BR2_x86_i686=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/i686-ctng-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="i686-ctng-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/linaro-aarch64-be.config b/bsp/buildroot/support/config-fragments/autobuild/linaro-aarch64-be.config new file mode 100644 index 00000000..e075fe7e --- /dev/null +++ b/bsp/buildroot/support/config-fragments/autobuild/linaro-aarch64-be.config @@ -0,0 +1,3 @@ +BR2_aarch64_be=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config b/bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config deleted file mode 100644 index cf33ea26..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config +++ /dev/null @@ -1,9 +0,0 @@ -BR2_mips64el=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n32-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n32-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config b/bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config deleted file mode 100644 index 942a1b13..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config +++ /dev/null @@ -1,11 +0,0 @@ -BR2_mips64el=y -BR2_MIPS_NABI64=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mips64el-ctng_n64-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config b/bsp/buildroot/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config deleted file mode 100644 index e82d3fbd..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config +++ /dev/null @@ -1,11 +0,0 @@ -BR2_powerpc=y -BR2_powerpc_8548=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng_e500v2-linux-gnuspe.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="powerpc-ctng_e500v2-linux-gnuspe" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_7=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/config-fragments/autobuild/toolchain-configs.csv b/bsp/buildroot/support/config-fragments/autobuild/toolchain-configs.csv index 2010113f..60ce1a97 100644 --- a/bsp/buildroot/support/config-fragments/autobuild/toolchain-configs.csv +++ b/bsp/buildroot/support/config-fragments/autobuild/toolchain-configs.csv @@ -1,20 +1,38 @@ -support/config-fragments/autobuild/armv5-ctng-linux-gnueabi.config,x86 -support/config-fragments/autobuild/armv7-ctng-linux-gnueabihf.config,x86 +# This file is sorted by "importance" of toolchains, so that by +# default test-pkg tests a useful subset of toolchains + +# Toolchains used by default by test-pkg: + +# Test a regular uClibc toolchain +support/config-fragments/autobuild/br-arm-full.config,x86_64 + +# Test a toolchain with glibc and a very recent gcc version +support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config,x86_64 + +# Test a noMMU toolchain with no dynamic library support +support/config-fragments/autobuild/br-arm-cortex-m4-full.config,x86_64 + +# Test a musl toolchain +support/config-fragments/autobuild/br-x86-64-musl.config,x86_64 + +# Test a MMU toolchain without dynamic library support +support/config-fragments/autobuild/br-arm-full-static.config,x86_64 + +# Test a toolchain with an old gcc version (gcc 4.8) +support/config-fragments/autobuild/sourcery-arm.config,x86 + +# Toolchains used by test-pkg only when the '-a' option is passed: +support/config-fragments/autobuild/arm-aarch64.config,x86_64 support/config-fragments/autobuild/br-aarch64-glibc.config,x86_64 support/config-fragments/autobuild/br-arc-full-internal.config,any support/config-fragments/autobuild/br-arc-internal-glibc.config,any support/config-fragments/autobuild/br-arcle-hs38.config,x86_64 support/config-fragments/autobuild/br-arm-basic.config,x86_64 -support/config-fragments/autobuild/br-arm-cortex-a9-glibc.config,x86_64 support/config-fragments/autobuild/br-arm-cortex-a9-musl.config,x86_64 -support/config-fragments/autobuild/br-arm-cortex-m4-full.config,x86_64 -support/config-fragments/autobuild/br-arm-full.config,x86_64 support/config-fragments/autobuild/br-arm-full-nothread.config,x86_64 -support/config-fragments/autobuild/br-arm-full-static.config,x86_64 support/config-fragments/autobuild/br-arm-internal-full.config,any support/config-fragments/autobuild/br-arm-internal-glibc.config,any support/config-fragments/autobuild/br-arm-internal-musl.config,any -support/config-fragments/autobuild/br-bfin-full.config,x86_64 support/config-fragments/autobuild/br-i386-pentium4-full.config,x86_64 support/config-fragments/autobuild/br-i386-pentium-mmx-musl.config,x86_64 support/config-fragments/autobuild/br-m68k-5208-full.config,x86_64 @@ -32,24 +50,20 @@ support/config-fragments/autobuild/br-powerpc64le-power8-glibc.config,x86_64 support/config-fragments/autobuild/br-powerpc64-power7-glibc.config,x86_64 support/config-fragments/autobuild/br-powerpc-e500mc-full.config,x86_64 support/config-fragments/autobuild/br-powerpc-internal-full.config,any +support/config-fragments/autobuild/br-riscv32.config,x86_64 +support/config-fragments/autobuild/br-riscv64.config,x86_64 support/config-fragments/autobuild/br-sh4-full.config,x86_64 support/config-fragments/autobuild/br-sparc-uclibc.config,x86_64 support/config-fragments/autobuild/br-sparc64-glibc.config,x86_64 support/config-fragments/autobuild/br-x86-64-core2-full.config,x86_64 -support/config-fragments/autobuild/br-x86-64-musl.config,x86_64 support/config-fragments/autobuild/br-xtensa-full.config,x86_64 support/config-fragments/autobuild/br-xtensa-full-internal.config,any -support/config-fragments/autobuild/i686-ctng-linux-gnu.config,x86 support/config-fragments/autobuild/linaro-aarch64.config,x86 +support/config-fragments/autobuild/linaro-aarch64-be.config,x86 support/config-fragments/autobuild/linaro-arm.config,x86 -support/config-fragments/autobuild/mips64el-ctng_n32-linux-gnu.config,x86 -support/config-fragments/autobuild/mips64el-ctng_n64-linux-gnu.config,x86 -support/config-fragments/autobuild/powerpc-ctng_e500v2-linux-gnuspe.config,x86 support/config-fragments/autobuild/sourcery-arm-armv4t.config,x86 -support/config-fragments/autobuild/sourcery-arm.config,x86 support/config-fragments/autobuild/sourcery-arm-thumb2.config,x86 support/config-fragments/autobuild/sourcery-mips64.config,x86 support/config-fragments/autobuild/sourcery-mips.config,x86 support/config-fragments/autobuild/sourcery-nios2.config,x86 support/config-fragments/autobuild/sourcery-x86-64.config,x86 -support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config,x86 diff --git a/bsp/buildroot/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config b/bsp/buildroot/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config deleted file mode 100644 index 435034be..00000000 --- a/bsp/buildroot/support/config-fragments/autobuild/x86_64-ctng_locales-linux-gnu.config +++ /dev/null @@ -1,11 +0,0 @@ -BR2_x86_64=y -BR2_x86_corei7=y -BR2_TOOLCHAIN_EXTERNAL=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y -BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/x86_64-ctng_locales-linux-gnu.tar.xz" -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="x86_64-ctng_locales-linux-gnu" -BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y -BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9=y -BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y -BR2_TOOLCHAIN_EXTERNAL_CXX=y diff --git a/bsp/buildroot/support/dependencies/check-host-bison-flex.mk b/bsp/buildroot/support/dependencies/check-host-bison-flex.mk new file mode 100644 index 00000000..233b6c51 --- /dev/null +++ b/bsp/buildroot/support/dependencies/check-host-bison-flex.mk @@ -0,0 +1,10 @@ +# If the system lacks bison or flex, add +# dependencies to suitable host packages + +ifeq ($(shell which bison 2>/dev/null),) +BR2_BISON_HOST_DEPENDENCY = host-bison +endif + +ifeq ($(shell which flex 2>/dev/null),) +BR2_FLEX_HOST_DEPENDENCY = host-flex +endif diff --git a/bsp/buildroot/support/dependencies/check-host-cmake.mk b/bsp/buildroot/support/dependencies/check-host-cmake.mk index 4300e6f6..5604713d 100644 --- a/bsp/buildroot/support/dependencies/check-host-cmake.mk +++ b/bsp/buildroot/support/dependencies/check-host-cmake.mk @@ -1,14 +1,9 @@ -# Versions before 3.0 are affected by the bug described in -# https://git.busybox.net/buildroot/commit/?id=ef2c1970e4bff3be3992014070392b0e6bc28bd2 -# and fixed in upstream CMake in version 3.0: -# https://cmake.org/gitweb?p=cmake.git;h=e8b8b37ef6fef094940d3384df5a1d421b9fa568 -# -# Set this to either 3.0 or higher, depending on the highest minimum +# Set this to either 3.8 or higher, depending on the highest minimum # version required by any of the packages bundled in Buildroot. If a # package is bumped or a new one added, and it requires a higher -# version, our cmake infra will catch it and whine. +# version, our cmake infra will catch it and build its own. # -BR2_CMAKE_VERSION_MIN = 3.1 +BR2_CMAKE_VERSION_MIN = 3.8 BR2_CMAKE_CANDIDATES ?= cmake cmake3 BR2_CMAKE ?= $(call suitable-host-package,cmake,\ diff --git a/bsp/buildroot/support/dependencies/check-host-gzip.mk b/bsp/buildroot/support/dependencies/check-host-gzip.mk new file mode 100644 index 00000000..bf9a369a --- /dev/null +++ b/bsp/buildroot/support/dependencies/check-host-gzip.mk @@ -0,0 +1,3 @@ +ifeq (,$(call suitable-host-package,gzip)) +BR2_GZIP_HOST_DEPENDENCY = host-gzip +endif diff --git a/bsp/buildroot/support/dependencies/check-host-gzip.sh b/bsp/buildroot/support/dependencies/check-host-gzip.sh new file mode 100755 index 00000000..5f344c5f --- /dev/null +++ b/bsp/buildroot/support/dependencies/check-host-gzip.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +candidate="$1" # ignored + +gzip="$(which gzip)" +if [ ! -x "${gzip}" ]; then + # echo nothing: no suitable gzip found + exit 1 +fi + +# gzip displays its version string on stdout +# pigz displays its version string on stderr +version="$("${gzip}" --version 2>&1)" +case "${version}" in + (*pigz*) + # echo nothing: no suitable gzip found + exit 1 + ;; +esac + +printf "%s" "${gzip}" diff --git a/bsp/buildroot/support/dependencies/check-host-lzip.mk b/bsp/buildroot/support/dependencies/check-host-lzip.mk index 00cdd0a2..cdd78405 100644 --- a/bsp/buildroot/support/dependencies/check-host-lzip.mk +++ b/bsp/buildroot/support/dependencies/check-host-lzip.mk @@ -1,5 +1,5 @@ ifeq (,$(call suitable-host-package,lzip,$(LZCAT))) -DEPENDENCIES_HOST_PREREQ += host-lzip +BR2_LZIP_HOST_DEPENDENCY = host-lzip EXTRACTOR_DEPENDENCY_PRECHECKED_EXTENSIONS += .lz LZCAT = $(HOST_DIR)/bin/lzip -d -c endif diff --git a/bsp/buildroot/support/dependencies/check-host-make.mk b/bsp/buildroot/support/dependencies/check-host-make.mk new file mode 100644 index 00000000..66560ee8 --- /dev/null +++ b/bsp/buildroot/support/dependencies/check-host-make.mk @@ -0,0 +1,21 @@ +# Since version 2.28, glibc requires GNU Make >= 4.0 +# https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html +# +# Set this to either 4.0 or higher, depending on the highest minimum +# version required by any of the packages bundled in Buildroot. If a +# package is bumped or a new one added, and it requires a higher +# version, our package infra will catch it and whine. +# +BR2_MAKE_VERSION_MIN = 4.0 + +BR2_MAKE ?= $(call suitable-host-package,make,\ + $(BR2_MAKE_VERSION_MIN) $(MAKE)) + +ifeq ($(BR2_MAKE),) +BR2_MAKE = $(HOST_DIR)/bin/host-make -j$(PARALLEL_JOBS) +BR2_MAKE1 = $(HOST_DIR)/bin/host-make -j1 +BR2_MAKE_HOST_DEPENDENCY = host-make +else +BR2_MAKE = $(MAKE) +BR2_MAKE1 = $(MAKE1) +endif diff --git a/bsp/buildroot/support/dependencies/check-host-make.sh b/bsp/buildroot/support/dependencies/check-host-make.sh new file mode 100755 index 00000000..0de7e9f6 --- /dev/null +++ b/bsp/buildroot/support/dependencies/check-host-make.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +# prevent shift error +[ $# -lt 2 ] && exit 1 + +major_min="${1%.*}" +minor_min="${1#*.}" + +shift + +# The host make program is already checked by dependencies.sh but we +# want to check the version number even if Buildroot is able to use +# GNU make >= 3.81 but some packages may require a more recent version. +make="$1" + +# Output of 'make --version' examples: +# GNU Make 4.2.1 +# GNU Make 4.0 +# GNU Make 3.81 +version=`$make --version 2>&1 | sed -e 's/^.* \([0-9\.]\)/\1/g' -e 's/[-\ +].*//g' -e '1q'` + +major=`echo "$version" | cut -d. -f1` +minor=`echo "$version" | cut -d. -f2` + +if [ $major -lt $major_min ]; then + # echo nothing: no suitable make found + exit 1 +fi + +if [ $major -eq $major_min -a $minor -lt $minor_min ]; then + # echo nothing: no suitable make found + exit 1 +fi + +# valid +echo $make diff --git a/bsp/buildroot/support/dependencies/check-host-tar.mk b/bsp/buildroot/support/dependencies/check-host-tar.mk index ad0b32e2..07d02fd1 100644 --- a/bsp/buildroot/support/dependencies/check-host-tar.mk +++ b/bsp/buildroot/support/dependencies/check-host-tar.mk @@ -1,6 +1,6 @@ TAR ?= tar ifeq (,$(call suitable-host-package,tar,$(TAR))) -DEPENDENCIES_HOST_PREREQ += host-tar TAR = $(HOST_DIR)/bin/tar +BR2_TAR_HOST_DEPENDENCY = host-tar endif diff --git a/bsp/buildroot/support/dependencies/check-host-tar.sh b/bsp/buildroot/support/dependencies/check-host-tar.sh index 08573073..934cb612 100755 --- a/bsp/buildroot/support/dependencies/check-host-tar.sh +++ b/bsp/buildroot/support/dependencies/check-host-tar.sh @@ -20,10 +20,11 @@ major=`echo "$version" | cut -d. -f1` minor=`echo "$version" | cut -d. -f2` bugfix=`echo "$version" | cut -d. -f3` version_bsd=`$tar --version | grep 'bsdtar'` -if [ ! -z "${version_bsd}" ] ; then - # mark as invalid version - not all command line options are available - major=0 - minor=0 + +# BSD tar does not have all the command-line options +if [ -n "${version_bsd}" ] ; then + # echo nothing: no suitable tar found + exit 1 fi # Minimal version = 1.27 (previous versions do not correctly unpack archives diff --git a/bsp/buildroot/support/dependencies/check-host-xzcat.mk b/bsp/buildroot/support/dependencies/check-host-xzcat.mk index 9be75c73..e5d72f95 100644 --- a/bsp/buildroot/support/dependencies/check-host-xzcat.mk +++ b/bsp/buildroot/support/dependencies/check-host-xzcat.mk @@ -2,7 +2,7 @@ # If it is not present, build our own host-xzcat ifeq (,$(call suitable-host-package,xzcat,$(XZCAT))) -DEPENDENCIES_HOST_PREREQ += host-xz +BR2_XZCAT_HOST_DEPENDENCY = host-xz EXTRACTOR_DEPENDENCY_PRECHECKED_EXTENSIONS += .xz .lzma XZCAT = $(HOST_DIR)/bin/xzcat endif diff --git a/bsp/buildroot/support/dependencies/dependencies.mk b/bsp/buildroot/support/dependencies/dependencies.mk index 3fc23586..4fac5c73 100644 --- a/bsp/buildroot/support/dependencies/dependencies.mk +++ b/bsp/buildroot/support/dependencies/dependencies.mk @@ -5,6 +5,11 @@ # ################################################################################ +ifeq ($(BR2_FORCE_HOST_BUILD),y) +# ignore all available host packages +define suitable-host-package +endef +else # suitable-host-pkg: calls check-host-$(1).sh shell script. Parameter (2) # can be the candidate to be checked. If not present, the check-host-$(1).sh # script should use 'which' to find a candidate. The script should return @@ -12,28 +17,19 @@ define suitable-host-package $(shell support/dependencies/check-host-$(1).sh $(2)) endef +endif # host utilities needs host-tar to extract the source code tarballs, so # ensure check-host-tar.mk is included before the rest include support/dependencies/check-host-tar.mk -include $(sort $(filter-out %-tar.mk,$(wildcard support/dependencies/check-host-*.mk))) -ifeq ($(BR2_CCACHE),y) -DEPENDENCIES_HOST_PREREQ += host-ccache -endif - -core-dependencies: +dependencies: @MAKE="$(MAKE)" DL_TOOLS="$(sort $(DL_TOOLS_DEPENDENCIES))" \ $(TOPDIR)/support/dependencies/dependencies.sh -$(DEPENDENCIES_HOST_PREREQ): HOSTCC=$(HOSTCC_NOCCACHE) -$(DEPENDENCIES_HOST_PREREQ): HOSTCXX=$(HOSTCXX_NOCCACHE) -$(DEPENDENCIES_HOST_PREREQ): core-dependencies - -dependencies: core-dependencies $(DEPENDENCIES_HOST_PREREQ) - ################################################################################ # # Toplevel Makefile options # ################################################################################ -.PHONY: dependencies core-dependencies +.PHONY: dependencies diff --git a/bsp/buildroot/support/dependencies/dependencies.sh b/bsp/buildroot/support/dependencies/dependencies.sh index c5f29d32..826874ba 100755 --- a/bsp/buildroot/support/dependencies/dependencies.sh +++ b/bsp/buildroot/support/dependencies/dependencies.sh @@ -181,6 +181,14 @@ if test "${missing_progs}" = "yes" ; then exit 1 fi +# Check that the python version is at least 2.7 +PYTHON_VERSION=$(python -V 2>&1 |awk '{ split($2, v, "."); print v[1] v[2] }') +if [ $PYTHON_VERSION -lt 27 ]; then + echo + echo "You have '$(python -V 2>&1)' installed. Python >= 2.7 is required" + exit 1; +fi + if grep ^BR2_NEEDS_HOST_UTF8_LOCALE=y $BR2_CONFIG > /dev/null; then if ! which locale > /dev/null ; then echo @@ -258,6 +266,10 @@ if grep -q ^BR2_PACKAGE_MPV=y $BR2_CONFIG ; then required_perl_modules="$required_perl_modules Math::BigRat" fi +if grep -q ^BR2_PACKAGE_WHOIS=y $BR2_CONFIG ; then + required_perl_modules="$required_perl_modules autodie" +fi + # This variable will keep the modules that are missing in your system. missing_perl_modules="" diff --git a/bsp/buildroot/support/docker/Dockerfile b/bsp/buildroot/support/docker/Dockerfile index ce3fdd9c..36cd3b28 100644 --- a/bsp/buildroot/support/docker/Dockerfile +++ b/bsp/buildroot/support/docker/Dockerfile @@ -20,14 +20,32 @@ COPY apt-sources.list /etc/apt/sources.list # The container has no package lists, so need to update first RUN dpkg --add-architecture i386 && \ - apt-get update -y && \ - apt-get install -y --no-install-recommends \ - build-essential cmake libc6:i386 g++-multilib \ - bc ca-certificates file locales rsync \ - cvs bzr git mercurial subversion wget \ - cpio unzip \ + apt-get update -y +RUN apt-get install -y --no-install-recommends \ + bc \ + build-essential \ + bzr \ + ca-certificates \ + cmake \ + cpio \ + cvs \ + file \ + g++-multilib \ + git \ + libc6:i386 \ libncurses5-dev \ - python-nose2 python-pexpect qemu-system-arm qemu-system-x86 && \ + locales \ + mercurial \ + python-flake8 \ + python-nose2 \ + python-pexpect \ + qemu-system-arm \ + qemu-system-x86 \ + rsync \ + subversion \ + unzip \ + wget \ + && \ apt-get -y autoremove && \ apt-get -y clean diff --git a/bsp/buildroot/support/download/bzr b/bsp/buildroot/support/download/bzr index 75b7b415..5289a421 100755 --- a/bsp/buildroot/support/download/bzr +++ b/bsp/buildroot/support/download/bzr @@ -5,28 +5,31 @@ set -e # Download helper for bzr, to be called from the download wrapper script # -# Call it as: -# .../bzr [-q] OUT_FILE REPO_URL REV BASENAME +# Options: +# -q Be quiet +# -o FILE Generate archive in FILE. +# -u URI Clone from repository at URI. +# -c CSET Use changeset (or revision) CSET. +# -n NAME Use basename NAME. # # Environment: # BZR : the bzr command to call verbose= -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q;; + o) output="${OPTARG}";; + u) uri="${OPTARG}";; + c) cset="${OPTARG}";; + n) basename="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -repo="${2}" -rev="${3}" -basename="${4}" - -shift 4 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) @@ -51,5 +54,5 @@ if [ ${bzr_version} -ge ${bzr_min_version} ]; then fi _bzr export ${verbose} --root="'${basename}/'" --format=tgz \ - ${timestamp_opt} - "${@}" "'${repo}'" -r "'${rev}'" \ + ${timestamp_opt} - "${@}" "'${uri}'" -r "'${cset}'" \ >"${output}" diff --git a/bsp/buildroot/support/download/cvs b/bsp/buildroot/support/download/cvs index 50050ab1..9d0dc3cb 100755 --- a/bsp/buildroot/support/download/cvs +++ b/bsp/buildroot/support/download/cvs @@ -5,33 +5,41 @@ set -e # Download helper for cvs, to be called from the download wrapper script # -# Call it as: -# .../cvs [-q] OUT_FILE CVS_URL REV PKG_NAME BASENAME +# Options: +# -q Be quiet +# -o FILE Generate archive in FILE. +# -u URI Checkout from repository at URI. +# -c REV Use revision REV. +# -N RAWNAME Use rawname (aka module name) RAWNAME. +# -n NAME Use basename NAME. # # Environment: # CVS : the cvs command to call verbose= -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-Q;; + o) output="${OPTARG}";; + u) uri="${OPTARG#*://}";; + c) rev="${OPTARG}";; + N) rawname="${OPTARG}";; + n) basename="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -repo="${2}" -rev="${3}" -rawname="${4}" -basename="${5}" - -shift 5 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from -# being expanded a second time (in case there are spaces in them) +# being expanded a second time (in case there are spaces in them). +# If the CVS server is deadlocked, the client will never return (cfr. +# http://autobuild.buildroot.net/results/23d/23d1034b33d0354de15de2ec4a8ccd0603e8db78/build-end.log +# ). Since nobody sane will put large code bases in CVS, a timeout of +# 10 minutes should do the trick. _cvs() { - eval ${CVS} "${@}" + eval timeout 10m ${CVS} "${@}" } if [[ ${rev} =~ ^[0-9] ]]; then @@ -42,14 +50,14 @@ else select="-r" fi -# The absence of an initial : on ${repo} means access method undefined -if [[ ! "${repo}" =~ ^: ]]; then +# The absence of an initial : on ${uri} means access method undefined +if [[ ! "${uri}" =~ ^: ]]; then # defaults to anonymous pserver - repo=":pserver:anonymous@${repo}" + uri=":pserver:anonymous@${uri}" fi export TZ=UTC -_cvs ${verbose} -z3 -d"'${repo}'" \ +_cvs ${verbose} -z3 -d"'${uri}'" \ co "${@}" -d "'${basename}'" ${select} "'${rev}'" -P "'${rawname}'" tar czf "${output}" "${basename}" diff --git a/bsp/buildroot/support/download/dl-wrapper b/bsp/buildroot/support/download/dl-wrapper index f944b71d..3315bd41 100755 --- a/bsp/buildroot/support/download/dl-wrapper +++ b/bsp/buildroot/support/download/dl-wrapper @@ -4,8 +4,6 @@ # Its role is to ensure atomicity when saving downloaded files # back to BR2_DL_DIR, and not clutter BR2_DL_DIR with partial, # failed downloads. -# -# Call it with -h to see some help. # To avoid cluttering BR2_DL_DIR, we download to a trashable # location, namely in $(BUILD_DIR). @@ -19,33 +17,51 @@ # We want to catch any unexpected failure, and exit immediately. set -e +export BR_BACKEND_DL_GETOPTS=":hc:d:o:n:N:H:ru:qf:e" + main() { local OPT OPTARG - local backend output hfile recurse quiet + local backend output hfile recurse quiet rc + local -a uris # Parse our options; anything after '--' is for the backend - while getopts :hb:o:H:rq OPT; do + while getopts ":c:d:D:o:n:N:H:rf:u:q" OPT; do case "${OPT}" in - h) help; exit 0;; - b) backend="${OPTARG}";; + c) cset="${OPTARG}";; + d) dl_dir="${OPTARG}";; + D) old_dl_dir="${OPTARG}";; o) output="${OPTARG}";; + n) raw_base_name="${OPTARG}";; + N) base_name="${OPTARG}";; H) hfile="${OPTARG}";; r) recurse="-r";; + f) filename="${OPTARG}";; + u) uris+=( "${OPTARG}" );; q) quiet="-q";; :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; \?) error "unknown option '%s'\n" "${OPTARG}";; esac done + # Forget our options, and keep only those for the backend shift $((OPTIND-1)) - if [ -z "${backend}" ]; then - error "no backend specified, use -b\n" - fi if [ -z "${output}" ]; then error "no output specified, use -o\n" fi + # Legacy handling: check if the file already exists in the global + # download directory. If it does, hard-link it. If it turns out it + # was an incorrect download, we'd still check it below anyway. + # If we can neither link nor copy, fallback to doing a download. + # NOTE! This is not atomic, is subject to TOCTTOU, but the whole + # dl-wrapper runs under an flock, so we're safe. + if [ ! -e "${output}" -a -e "${old_dl_dir}/${filename}" ]; then + ln "${old_dl_dir}/${filename}" "${output}" || \ + cp "${old_dl_dir}/${filename}" "${output}" || \ + true + fi + # If the output file already exists and: # - there's no .hash file: do not download it again and exit promptly # - matches all its hashes: do not download it again and exit promptly @@ -64,36 +80,85 @@ main() { warn "Re-downloading '%s'...\n" "${output##*/}" fi - # tmpd is a temporary directory in which backends may store intermediate - # by-products of the download. - # tmpf is the file in which the backends should put the downloaded content. - # tmpd is located in $(BUILD_DIR), so as not to clutter the (precious) - # $(BR2_DL_DIR) - # We let the backends create tmpf, so they are able to set whatever - # permission bits they want (although we're only really interested in - # the executable bit.) - tmpd="$(mktemp -d "${BUILD_DIR}/.${output##*/}.XXXXXX")" - tmpf="${tmpd}/output" + # Look through all the uris that we were given to download the package + # source + download_and_check=0 + rc=1 + for uri in "${uris[@]}"; do + backend_urlencode="${uri%%+*}" + backend="${backend_urlencode%|*}" + case "${backend}" in + git|svn|cvs|bzr|file|scp|hg) ;; + *) backend="wget" ;; + esac + uri=${uri#*+} - # Helpers expect to run in a directory that is *really* trashable, so - # they are free to create whatever files and/or sub-dirs they might need. - # Doing the 'cd' here rather than in all backends is easier. - cd "${tmpd}" + urlencode=${backend_urlencode#*|} + # urlencode must be "urlencode" + [ "${urlencode}" != "urlencode" ] && urlencode="" - # If the backend fails, we can just remove the temporary directory to - # remove all the cruft it may have left behind. Then we just exit in - # error too. - if ! "${OLDPWD}/support/download/${backend}" ${quiet} ${recurse} "${tmpf}" "${@}"; then - rm -rf "${tmpd}" - exit 1 - fi + # tmpd is a temporary directory in which backends may store + # intermediate by-products of the download. + # tmpf is the file in which the backends should put the downloaded + # content. + # tmpd is located in $(BUILD_DIR), so as not to clutter the (precious) + # $(BR2_DL_DIR) + # We let the backends create tmpf, so they are able to set whatever + # permission bits they want (although we're only really interested in + # the executable bit.) + tmpd="$(mktemp -d "${BUILD_DIR}/.${output##*/}.XXXXXX")" + tmpf="${tmpd}/output" - # cd back to free the temp-dir, so we can remove it later - cd "${OLDPWD}" + # Helpers expect to run in a directory that is *really* trashable, so + # they are free to create whatever files and/or sub-dirs they might need. + # Doing the 'cd' here rather than in all backends is easier. + cd "${tmpd}" - # Check if the downloaded file is sane, and matches the stored hashes - # for that file - if ! support/download/check-hash ${quiet} "${hfile}" "${tmpf}" "${output##*/}"; then + # If the backend fails, we can just remove the content of the temporary + # directory to remove all the cruft it may have left behind, and try + # the next URI until it succeeds. Once out of URI to try, we need to + # cleanup and exit. + if ! "${OLDPWD}/support/download/${backend}" \ + $([ -n "${urlencode}" ] && printf %s '-e') \ + -c "${cset}" \ + -d "${dl_dir}" \ + -n "${raw_base_name}" \ + -N "${base_name}" \ + -f "${filename}" \ + -u "${uri}" \ + -o "${tmpf}" \ + ${quiet} ${recurse} -- "${@}" + then + # cd back to keep path coherence + cd "${OLDPWD}" + rm -rf "${tmpd}" + continue + fi + + # cd back to free the temp-dir, so we can remove it later + cd "${OLDPWD}" + + # Check if the downloaded file is sane, and matches the stored hashes + # for that file + if support/download/check-hash ${quiet} "${hfile}" "${tmpf}" "${output##*/}"; then + rc=0 + else + if [ ${?} -ne 3 ]; then + rm -rf "${tmpd}" + continue + fi + + # the hash file exists and there was no hash to check the file + # against + rc=1 + fi + download_and_check=1 + break + done + + # We tried every URI possible, none seems to work or to check against the + # available hash. *ABORT MISSION* + if [ "${download_and_check}" -eq 0 ]; then rm -rf "${tmpd}" exit 1 fi @@ -141,51 +206,8 @@ main() { rm -f "${tmp_output}" exit 1 fi -} -help() { - cat <<_EOF_ -NAME - ${my_name} - download wrapper for Buildroot - -SYNOPSIS - ${my_name} [OPTION]... -- [BACKEND OPTION]... - -DESCRIPTION - Wrapper script around different download mechanisms. Ensures that - concurrent downloads do not conflict, that partial downloads are - properly evicted without leaving temporary files, and that access - rights are maintained. - - -h This help text. - - -b BACKEND - Wrap the specified BACKEND. Known backends are: - bzr Bazaar - cp Local files - cvs Concurrent Versions System - git Git - hg Mercurial - scp Secure copy - svn Subversion - wget HTTP download - - -o FILE - Store the downloaded archive in FILE. - - -H FILE - Use FILE to read hashes from, and check them against the downloaded - archive. - - Exit status: - 0 if OK - !0 in case of error - -ENVIRONMENT - - BUILD_DIR - The path to Buildroot's build dir -_EOF_ + return ${rc} } trace() { local msg="${1}"; shift; printf "%s: ${msg}" "${my_name}" "${@}"; } diff --git a/bsp/buildroot/support/download/cp b/bsp/buildroot/support/download/file similarity index 61% rename from bsp/buildroot/support/download/cp rename to bsp/buildroot/support/download/file index 0ee1f3ba..e52fcf2c 100755 --- a/bsp/buildroot/support/download/cp +++ b/bsp/buildroot/support/download/file @@ -5,8 +5,11 @@ set -e # Download helper for cp, to be called from the download wrapper script # -# Call it as: -# .../cp [-q] OUT_FILE SRC_FILE +# Options: +# -q Be quiet. +# -o FILE Copy to file FILE. +# -f FILE Copy from basename file FILE. +# -u DIR Copy from FILE in DIR. # # Environment: # LOCALFILES: the cp command to call @@ -17,18 +20,18 @@ set -e # Make 'cp' verbose by default, so it behaves a bit like the others. verbose=-v -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=;; + o) output="${OPTARG}";; + f) file="${OPTARG}";; + u) dir="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -source="${2}" - -shift 2 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) @@ -36,4 +39,4 @@ _localfiles() { eval ${LOCALFILES} "${@}" } -_localfiles ${verbose} "${@}""'${source}'" "'${output}'" +_localfiles ${verbose} "'${dir##file://}/${file}'" "'${output}'" diff --git a/bsp/buildroot/support/download/git b/bsp/buildroot/support/download/git index f590ff64..17ca04eb 100755 --- a/bsp/buildroot/support/download/git +++ b/bsp/buildroot/support/download/git @@ -1,65 +1,119 @@ #!/usr/bin/env bash # We want to catch any unexpected failure, and exit immediately -set -e +set -E # Download helper for git, to be called from the download wrapper script # -# Call it as: -# .../git [-q] [-r] OUT_FILE REPO_URL CSET BASENAME -# -# -q Be quiet. -# -r Clone and archive sub-modules. +# Options: +# -q Be quiet. +# -r Clone and archive sub-modules. +# -o FILE Generate archive in FILE. +# -u URI Clone from repository at URI. +# -c CSET Use changeset CSET. +# -n NAME Use basename NAME. # # Environment: # GIT : the git command to call +# Save our path and options in case we need to call ourselves again +myname="${0}" +declare -a OPTS=("${@}") + +# This function is called when an error occurs. Its job is to attempt a +# clone from scratch (only once!) in case the git tree is borked, or in +# case an unexpected and unsupported situation arises with submodules +# or uncommitted stuff (e.g. if the user manually mucked around in the +# git cache). +_on_error() { + local ret=${?} + + printf "Detected a corrupted git cache.\n" >&2 + if ${BR_GIT_BACKEND_FIRST_FAULT:-false}; then + printf "This is the second time in a row; bailing out\n" >&2 + exit ${ret} + fi + export BR_GIT_BACKEND_FIRST_FAULT=true + + printf "Removing it and starting afresh.\n" >&2 + + popd >/dev/null + rm -rf "${git_cache}" + + exec "${myname}" "${OPTS[@]}" || exit ${ret} +} + verbose= recurse=0 -while getopts :qr OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q; exec >/dev/null;; r) recurse=1;; + o) output="${OPTARG}";; + u) uri="${OPTARG}";; + c) cset="${OPTARG}";; + d) dl_dir="${OPTARG}";; + n) basename="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -repo="${2}" -cset="${3}" -basename="${4}" +shift $((OPTIND-1)) # Get rid of our options -shift 4 # Get rid of our options +# Create and cd into the directory that will contain the local git cache +git_cache="${dl_dir}/git" +mkdir -p "${git_cache}" +pushd "${git_cache}" >/dev/null + +# Any error now should try to recover +trap _on_error ERR # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) _git() { - eval ${GIT} "${@}" + eval GIT_DIR="${git_cache}/.git" ${GIT} "${@}" } -# Try a shallow clone, since it is faster than a full clone - but that only -# works if the version is a ref (tag or branch). Before trying to do a shallow -# clone we check if ${cset} is in the list provided by git ls-remote. If not -# we fall back on a full clone. +# Create a warning file, that the user should not use the git cache. +# It's ours. Our precious. +cat <<-_EOF_ >"${dl_dir}/git.readme" + IMPORTANT NOTE! + + The git tree located in this directory is for the exclusive use + by Buildroot, which uses it as a local cache to reduce bandwidth + usage. + + Buildroot *will* trash any changes in that tree whenever it needs + to use it. Buildroot may even remove it in case it detects the + repository may have been damaged or corrupted. + + Do *not* work in that directory; your changes will eventually get + lost. Do *not* even use it as a remote, or as the source for new + worktrees; your commits will eventually get lost. +_EOF_ + +# Initialise a repository in the git cache. If the repository already +# existed, this is a noop, unless the repository was broken, in which +# case this magically restores it to working conditions. In the latter +# case, we might be missing blobs, but that's not a problem: we'll +# fetch what we need later anyway. # -# Messages for the type of clone used are provided to ease debugging in case of -# problems -git_done=0 -if [ -n "$(_git ls-remote "'${repo}'" "'${cset}'" 2>&1)" ]; then - printf "Doing shallow clone\n" - if _git clone ${verbose} "${@}" --depth 1 -b "'${cset}'" "'${repo}'" "'${basename}'"; then - git_done=1 - else - printf "Shallow clone failed, falling back to doing a full clone\n" - fi -fi -if [ ${git_done} -eq 0 ]; then - printf "Doing full clone\n" - _git clone ${verbose} "${@}" "'${repo}'" "'${basename}'" +# We can still go through the wrapper, because 'init' does not use the +# path pointed to by GIT_DIR, but really uses the directory passed as +# argument. +_git init . + +# Ensure the repo has an origin (in case a previous run was killed). +if ! _git remote |grep -q -E '^origin$'; then + _git remote add origin "'${uri}'" fi -pushd "${basename}" >/dev/null +_git remote set-url origin "'${uri}'" + +printf "Fetching all references\n" +_git fetch origin +_git fetch origin -t # Try to get the special refs exposed by some forges (pull-requests for # github, changes for gerrit...). There is no easy way to know whether @@ -72,9 +126,48 @@ if ! _git fetch origin "'${cset}:${cset}'" >/dev/null 2>&1; then printf "Could not fetch special ref '%s'; assuming it is not special.\n" "${cset}" fi +# Check that the changeset does exist. If it does not, re-cloning from +# scratch won't help, so we don't want to trash the repository for a +# missing commit. We just exit without going through the ERR trap. +if ! _git rev-parse --quiet --verify "'${cset}^{commit}'" >/dev/null 2>&1; then + printf "Commit '%s' does not exist in this repository\n." "${cset}" + exit 1 +fi + +# The new cset we want to checkout might have different submodules, or +# have sub-dirs converted to/from a submodule. So we would need to +# deregister _current_ submodules before we checkout. +# +# Using "git submodule deinit --all" would remove all the files for +# all submodules, including the corresponding .git files or directories. +# However, it was only introduced with git-1.8.3, which is too recent +# for some enterprise-grade distros. +# +# So, we fall-back to just removing all submodules directories. We do +# not need to be recursive, as removing a submodule will de-facto remove +# its own submodules. +# +# For recent git versions, the repository for submodules is stored +# inside the repository of the super repository, so the following will +# only remove the working copies of submodules, effectively caching the +# submodules. +# +# For older versions however, the repository is stored in the .git/ of +# the submodule directory, so the following will effectively remove the +# the working copy as well as the repository, which means submodules +# will not be cached for older versions. +# +cmd='printf "Deregistering submodule \"%s\"\n" "${path}" && cd .. && rm -rf "${path##*/}"' +_git submodule --quiet foreach "'${cmd}'" + # Checkout the required changeset, so that we can update the required # submodules. -_git checkout -q "'${cset}'" +_git checkout -f -q "'${cset}'" + +# Get rid of now-untracked directories (in case a git operation was +# interrupted in a previous run, or to get rid of empty directories +# that were parents of submodules removed above). +_git clean -ffdx # Get date of commit to generate a reproducible archive. # %cD is RFC2822, so it's fully qualified, with TZ and all. @@ -85,20 +178,24 @@ if [ ${recurse} -eq 1 ]; then _git submodule update --init --recursive fi -# We do not want the .git dir; we keep other .git files, in case they -# are the only files in their directory. +# Generate the archive, sort with the C locale so that it is reproducible. +# We do not want the .git dir; we keep other .git files, in case they are the +# only files in their directory. # The .git dir would generate non reproducible tarballs as it depends on # the state of the remote server. It also would generate large tarballs # (gigabytes for some linux trees) when a full clone took place. -rm -rf .git +find . -not -type d \ + -and -not -path "./.git/*" >"${output}.list" +LC_ALL=C sort <"${output}.list" >"${output}.list.sorted" -popd >/dev/null - -# Generate the archive, sort with the C locale so that it is reproducible -find "${basename}" -not -type d >"${basename}.list" -LC_ALL=C sort <"${basename}.list" >"${basename}.list.sorted" # Create GNU-format tarballs, since that's the format of the tarballs on # sources.buildroot.org and used in the *.hash files -tar cf - --numeric-owner --owner=0 --group=0 --mtime="${date}" --format=gnu \ - -T "${basename}.list.sorted" >"${output}.tar" +tar cf - --transform="s#^\./#${basename}/#" \ + --numeric-owner --owner=0 --group=0 --mtime="${date}" --format=gnu \ + -T "${output}.list.sorted" >"${output}.tar" gzip -6 -n <"${output}.tar" >"${output}" + +rm -f "${output}.list" +rm -f "${output}.list.sorted" + +popd >/dev/null diff --git a/bsp/buildroot/support/download/hg b/bsp/buildroot/support/download/hg index 3af01690..efb515fc 100755 --- a/bsp/buildroot/support/download/hg +++ b/bsp/buildroot/support/download/hg @@ -5,27 +5,30 @@ set -e # Download helper for hg, to be called from the download wrapper script # -# Call it as: -# .../hg [-q] OUT_FILE REPO_URL CSET BASENAME +# Options: +# -q Be quiet. +# -o FILE Generate archive in FILE. +# -u URI Clone from repository at URI. +# -c CSET Use changeset (or revision) CSET. +# -n NAME Use basename NAME. # # Environment: # HG : the hg command to call verbose= -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q;; + o) output="${OPTARG}";; + u) uri="${OPTARG}";; + c) cset="${OPTARG}";; + n) basename="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -repo="${2}" -cset="${3}" -basename="${4}" - -shift 4 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) @@ -33,7 +36,7 @@ _hg() { eval ${HG} "${@}" } -_hg clone ${verbose} "${@}" --noupdate "'${repo}'" "'${basename}'" +_hg clone ${verbose} "${@}" --noupdate "'${uri}'" "'${basename}'" _hg archive ${verbose} --repository "'${basename}'" --type tgz \ --prefix "'${basename}'" --rev "'${cset}'" \ diff --git a/bsp/buildroot/support/download/scp b/bsp/buildroot/support/download/scp index 825fd41c..80cf495c 100755 --- a/bsp/buildroot/support/download/scp +++ b/bsp/buildroot/support/download/scp @@ -5,25 +5,28 @@ set -e # Download helper for scp, to be called from the download wrapper script # -# Call it as: -# .../scp [-q] OUT_FILE SRC_URL +# Options: +# -q Be quiet. +# -o FILE Copy to local file FILE. +# -f FILE Copy from remote file FILE. +# -u URI Download file at URI. # # Environment: # SCP : the scp command to call verbose= -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q;; + o) output="${OPTARG}";; + f) filename="${OPTARG}";; + u) uri="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -url="${2}" - -shift 2 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) @@ -31,4 +34,7 @@ _scp() { eval ${SCP} "${@}" } -_scp ${verbose} "${@}" "'${url}'" "'${output}'" +# Remove any scheme prefix +uri="${uri##scp://}" + +_scp ${verbose} "${@}" "'${uri}/${filename}'" "'${output}'" diff --git a/bsp/buildroot/support/download/svn b/bsp/buildroot/support/download/svn index 77abf3d0..542b25c0 100755 --- a/bsp/buildroot/support/download/svn +++ b/bsp/buildroot/support/download/svn @@ -5,27 +5,30 @@ set -e # Download helper for svn, to be called from the download wrapper script # -# Call it as: -# .../svn [-q] OUT_FILE REPO_URL REV BASNAME +# Options: +# -q Be quiet. +# -o FILE Generate archive in FILE. +# -u URI Checkout from repository at URI. +# -c REV Use revision REV. +# -n NAME Use basename NAME. # # Environment: # SVN : the svn command to call verbose= -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q;; + o) output="${OPTARG}";; + u) uri="${OPTARG}";; + c) rev="${OPTARG}";; + n) basename="${OPTARG}";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -repo="${2}" -rev="${3}" -basename="${4}" - -shift 4 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) @@ -33,6 +36,6 @@ _svn() { eval ${SVN} "${@}" } -_svn export ${verbose} "${@}" "'${repo}@${rev}'" "'${basename}'" +_svn export ${verbose} "${@}" "'${uri}@${rev}'" "'${basename}'" tar czf "${output}" "${basename}" diff --git a/bsp/buildroot/support/download/wget b/bsp/buildroot/support/download/wget index 768de904..c69e6071 100755 --- a/bsp/buildroot/support/download/wget +++ b/bsp/buildroot/support/download/wget @@ -5,25 +5,30 @@ set -e # Download helper for wget, to be called from the download wrapper script # -# Call it as: -# .../wget [-q] OUT_FILE URL +# Options: +# -q Be quiet. +# -o FILE Save into file FILE. +# -f FILENAME The filename of the tarball to get at URL +# -u URL Download file at URL. +# -e ENCODE Tell wget to urlencode the filename passed to it # # Environment: # WGET : the wget command to call verbose= -while getopts :q OPT; do +while getopts "${BR_BACKEND_DL_GETOPTS}" OPT; do case "${OPT}" in q) verbose=-q;; + o) output="${OPTARG}";; + f) filename="${OPTARG}";; + u) url="${OPTARG}";; + e) encode="-e";; + :) printf "option '%s' expects a mandatory argument\n" "${OPTARG}"; exit 1;; \?) printf "unknown option '%s'\n" "${OPTARG}" >&2; exit 1;; esac done -shift $((OPTIND-1)) -output="${1}" -url="${2}" - -shift 2 # Get rid of our options +shift $((OPTIND-1)) # Get rid of our options # Caller needs to single-quote its arguments to prevent them from # being expanded a second time (in case there are spaces in them) @@ -31,4 +36,8 @@ _wget() { eval ${WGET} "${@}" } -_wget ${verbose} "${@}" -O "'${output}'" "'${url}'" +# Replace every '?' with '%3F' in the filename; only for the PRIMARY and BACKUP +# mirror +[ -n "${encode}" ] && filename=${filename//\?/%3F} + +_wget ${verbose} "${@}" -O "'${output}'" "'${url}/${filename}'" diff --git a/bsp/buildroot/support/kconfig/Makefile b/bsp/buildroot/support/kconfig/Makefile index af620238..b0bcc262 100644 --- a/bsp/buildroot/support/kconfig/Makefile +++ b/bsp/buildroot/support/kconfig/Makefile @@ -1,60 +1,70 @@ +# SPDX-License-Identifier: GPL-2.0 # =========================================================================== # Kernel configuration targets # These targets are used from top-level makefile -PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \ +PHONY += xconfig gconfig menuconfig config syncconfig update-po-config \ localmodconfig localyesconfig +# Easy method for doing a status message + kecho := : + quiet_kecho := echo +silent_kecho := : +kecho := $($(quiet)kecho) + ifdef KBUILD_KCONFIG Kconfig := $(KBUILD_KCONFIG) else Kconfig := Kconfig endif +ifeq ($(quiet),silent_) +silent := -s +endif + # We need this, in case the user has it in its environment unexport CONFIG_ xconfig: $(obj)/qconf - $< $(Kconfig) + $< $(silent) $(Kconfig) gconfig: $(obj)/gconf - $< $(Kconfig) + $< $(silent) $(Kconfig) menuconfig: $(obj)/mconf - $< $(Kconfig) + $< $(silent) $(Kconfig) config: $(obj)/conf - $< --oldaskconfig $(Kconfig) + $< $(silent) --oldaskconfig $(Kconfig) nconfig: $(obj)/nconf - $< $(Kconfig) + $< $(silent) $(Kconfig) -oldconfig: $(obj)/conf - $< --$@ $(Kconfig) +# This has become an internal implementation detail and is now deprecated +# for external use. +syncconfig: $(obj)/conf + $(Q)mkdir -p include/config include/generated + $< $(silent) --$@ $(Kconfig) -silentoldconfig: $(obj)/conf - $(Q)mkdir -p include/generated - $< --$@ $(Kconfig) - -localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf - $(Q)mkdir -p include/generated - $(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config +localyesconfig localmodconfig: $(obj)/conf + $(Q)mkdir -p include/config include/generated + $(Q)perl $(srctree)/$(src)/streamline_config.pl --$@ $(srctree) $(Kconfig) > .tmp.config $(Q)if [ -f .config ]; then \ cmp -s .tmp.config .config || \ (mv -f .config .config.old.1; \ mv -f .tmp.config .config; \ - $(obj)/conf --silentoldconfig $(Kconfig); \ + $< $(silent) --oldconfig $(Kconfig); \ mv -f .config.old.1 .config.old) \ else \ mv -f .tmp.config .config; \ - $(obj)/conf --silentoldconfig $(Kconfig); \ + $< $(silent) --oldconfig $(Kconfig); \ fi $(Q)rm -f .tmp.config # Create new linux.pot file # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h - $(Q)echo " GEN config.pot" + $(Q)$(kecho) " GEN config.pot" $(Q)xgettext --default-domain=linux \ --add-comments --keyword=_ --keyword=N_ \ --from-code=UTF-8 \ @@ -65,56 +75,96 @@ update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h $(Q)(for i in `ls $(srctree)/arch/*/Kconfig \ $(srctree)/arch/*/um/Kconfig`; \ do \ - echo " GEN $$i"; \ + $(kecho) " GEN $$i"; \ $(obj)/kxgettext $$i \ >> $(obj)/config.pot; \ done ) - $(Q)echo " GEN linux.pot" + $(Q)$(kecho) " GEN linux.pot" $(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \ --output $(obj)/linux.pot $(Q)rm -f $(obj)/config.pot -PHONY += allnoconfig allyesconfig allmodconfig alldefconfig randconfig +# These targets map 1:1 to the commandline options of 'conf' +simple-targets := oldconfig allnoconfig allyesconfig allmodconfig \ + alldefconfig randconfig listnewconfig olddefconfig +PHONY += $(simple-targets) -allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf - $< --$@ $(Kconfig) +$(simple-targets): $(obj)/conf + $< $(silent) --$@ $(Kconfig) -PHONY += listnewconfig olddefconfig oldnoconfig savedefconfig defconfig - -listnewconfig olddefconfig: $(obj)/conf - $< --$@ $(Kconfig) +PHONY += oldnoconfig silentoldconfig savedefconfig defconfig # oldnoconfig is an alias of olddefconfig, because people already are dependent -# on its behavior(sets new symbols to their default value but not 'n') with the +# on its behavior (sets new symbols to their default value but not 'n') with the # counter-intuitive name. -oldnoconfig: $(obj)/conf - $< --olddefconfig $(Kconfig) +oldnoconfig: olddefconfig + @echo " WARNING: \"oldnoconfig\" target will be removed after Linux 4.19" + @echo " Please use \"olddefconfig\" instead, which is an alias." + +# We do not expect manual invokcation of "silentoldcofig" (or "syncconfig"). +silentoldconfig: syncconfig + @echo " WARNING: \"silentoldconfig\" has been renamed to \"syncconfig\"" + @echo " and is now an internal implementation detail." + @echo " What you want is probably \"oldconfig\"." + @echo " \"silentoldconfig\" will be removed after Linux 4.19" savedefconfig: $(obj)/conf - $< --$@=defconfig $(Kconfig) + $< $(silent) --$@=defconfig $(Kconfig) defconfig: $(obj)/conf ifeq ($(KBUILD_DEFCONFIG),) - $< --defconfig $(Kconfig) + $< $(silent) --defconfig $(Kconfig) else - @echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'" - $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) +ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG)),) + @$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'" + $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig) +else + @$(kecho) "*** Default configuration is based on target '$(KBUILD_DEFCONFIG)'" + $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG) +endif endif %_defconfig: $(obj)/conf - $(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) + $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) + +configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) + +%.config: $(obj)/conf + $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + +$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig + +PHONY += kvmconfig +kvmconfig: kvm_guest.config + @: + +PHONY += xenconfig +xenconfig: xen.config + @: + +PHONY += tinyconfig +tinyconfig: + $(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config + +# CHECK: -o cache_dir= working? +PHONY += testconfig +testconfig: $(obj)/conf + $(PYTHON3) -B -m pytest $(srctree)/$(src)/tests \ + -o cache_dir=$(abspath $(obj)/tests/.cache) \ + $(if $(findstring 1,$(KBUILD_VERBOSE)),--capture=no) +clean-dirs += tests/.cache # Help text used by make help help: @echo ' config - Update current config utilising a line-oriented program' - @echo ' nconfig - Update current config utilising a ncurses menu based program' + @echo ' nconfig - Update current config utilising a ncurses menu based' + @echo ' program' @echo ' menuconfig - Update current config utilising a menu based program' - @echo ' xconfig - Update current config utilising a QT based front-end' - @echo ' gconfig - Update current config utilising a GTK based front-end' + @echo ' xconfig - Update current config utilising a Qt based front-end' + @echo ' gconfig - Update current config utilising a GTK+ based front-end' @echo ' oldconfig - Update current config utilising a provided .config as base' @echo ' localmodconfig - Update current config disabling modules not loaded' @echo ' localyesconfig - Update current config converting local mods to core' - @echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps' @echo ' defconfig - New config with default from ARCH supplied defconfig' @echo ' savedefconfig - Save current config as ./defconfig (minimal config)' @echo ' allnoconfig - New config where all options are answered with no' @@ -123,7 +173,11 @@ help: @echo ' alldefconfig - New config with all symbols set to default' @echo ' randconfig - New config with random answer to all options' @echo ' listnewconfig - List new options' - @echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value' + @echo ' olddefconfig - Same as oldconfig but sets new symbols to their' + @echo ' default value without prompting' + @echo ' kvmconfig - Enable additional options for kvm guest kernel support' + @echo ' xenconfig - Enable additional options for xen dom0 and guest kernel support' + @echo ' tinyconfig - Configure the tiniest possible kernel' # lxdialog stuff check-lxdialog := $(srctree)/$(src)/lxdialog/check-lxdialog.sh @@ -141,9 +195,9 @@ HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \ # mconf: Used for the menuconfig target # Utilizes the lxdialog package # qconf: Used for the xconfig target -# Based on QT which needs to be installed to compile it +# Based on Qt which needs to be installed to compile it # gconf: Used for the gconfig target -# Based on GTK which needs to be installed to compile it +# Based on GTK+ which needs to be installed to compile it # object files used by all kconfig flavours lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o @@ -174,11 +228,11 @@ endif ifeq ($(MAKECMDGOALS),qconf) qconf-target := 1 endif + ifeq ($(MAKECMDGOALS),gconf) gconf-target := 1 endif - ifeq ($(qconf-target),1) hostprogs-y += qconf endif @@ -187,14 +241,14 @@ ifeq ($(gconf-target),1) hostprogs-y += gconf endif +targets += zconf.lex.c clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck -clean-files += zconf.tab.c zconf.lex.c zconf.hash.c gconf.glade.h -clean-files += mconf qconf gconf nconf +clean-files += gconf.glade.h clean-files += config.pot linux.pot # Check that we have the required ncurses stuff installed for lxdialog (menuconfig) PHONY += $(obj)/dochecklxdialog -$(addprefix $(obj)/,$(lxdialog)): $(obj)/dochecklxdialog +$(addprefix $(obj)/, mconf.o $(lxdialog)): $(obj)/dochecklxdialog $(obj)/dochecklxdialog: $(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTLOADLIBES_mconf) @@ -202,14 +256,12 @@ always := dochecklxdialog # Add environment specific flags HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS)) +HOST_EXTRACXXFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCXX) $(HOSTCXXFLAGS)) # generated files seem to need this to find local include files HOSTCFLAGS_zconf.lex.o := -I$(src) HOSTCFLAGS_zconf.tab.o := -I$(src) -LEX_PREFIX_zconf := zconf -YACC_PREFIX_zconf := zconf - HOSTLOADLIBES_qconf = $(KC_QT_LIBS) HOSTCXXFLAGS_qconf.o = $(KC_QT_CFLAGS) @@ -225,67 +277,38 @@ HOSTLOADLIBES_nconf = $(shell \ || echo "-lmenu -lpanel -lncurses" ) $(obj)/qconf.o: $(obj)/.tmp_qtcheck -ifeq ($(qconf-target),1) +ifeq ($(MAKECMDGOALS),qconf) $(obj)/.tmp_qtcheck: $(src)/Makefile -include $(obj)/.tmp_qtcheck -# QT needs some extra effort... +# Qt needs some extra effort... $(obj)/.tmp_qtcheck: - @set -e; echo " CHECK qt"; dir=""; pkg=""; \ - if ! pkg-config --exists QtCore 2> /dev/null; then \ - echo "* Unable to find the QT4 tool qmake. Trying to use QT3"; \ - pkg-config --exists qt 2> /dev/null && pkg=qt; \ - pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \ - if [ -n "$$pkg" ]; then \ - cflags="\$$(shell pkg-config $$pkg --cflags)"; \ - libs="\$$(shell pkg-config $$pkg --libs)"; \ - moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \ - dir="$$(pkg-config $$pkg --variable=prefix)"; \ - else \ - for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \ - if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \ - done; \ - if [ -z "$$dir" ]; then \ - echo >&2 "*"; \ - echo >&2 "* Unable to find any QT installation. Please make sure that"; \ - echo >&2 "* the QT4 or QT3 development package is correctly installed and"; \ - echo >&2 "* either qmake can be found or install pkg-config or set"; \ - echo >&2 "* the QTDIR environment variable to the correct location."; \ - echo >&2 "*"; \ - false; \ - fi; \ - libpath=$$dir/lib; lib=qt; osdir=""; \ - $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \ - osdir=x$$($(HOSTCXX) -print-multi-os-directory); \ - test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \ - test -f $$libpath/libqt-mt.so && lib=qt-mt; \ - cflags="-I$$dir/include"; \ - libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \ - moc="$$dir/bin/moc"; \ - fi; \ - if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \ - echo "*"; \ - echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \ - echo "*"; \ - moc="/usr/bin/moc"; \ - fi; \ + @set -e; $(kecho) " CHECK qt"; \ + if pkg-config --exists Qt5Core; then \ + cflags="-std=c++11 -fPIC `pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets`"; \ + libs=`pkg-config --libs Qt5Core Qt5Gui Qt5Widgets`; \ + moc=`pkg-config --variable=host_bins Qt5Core`/moc; \ + elif pkg-config --exists QtCore; then \ + cflags=`pkg-config --cflags QtCore QtGui`; \ + libs=`pkg-config --libs QtCore QtGui`; \ + moc=`pkg-config --variable=moc_location QtCore`; \ else \ - cflags="\$$(shell pkg-config QtCore QtGui Qt3Support --cflags)"; \ - libs="\$$(shell pkg-config QtCore QtGui Qt3Support --libs)"; \ - moc="\$$(shell pkg-config QtCore --variable=moc_location)"; \ - [ -n "$$moc" ] || moc="\$$(shell pkg-config QtCore --variable=prefix)/bin/moc"; \ + echo >&2 "*"; \ + echo >&2 "* Could not find Qt via pkg-config."; \ + echo >&2 "* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH"; \ + echo >&2 "*"; \ + exit 1; \ fi; \ echo "KC_QT_CFLAGS=$$cflags" > $@; \ echo "KC_QT_LIBS=$$libs" >> $@; \ echo "KC_QT_MOC=$$moc" >> $@ endif +ifeq ($(MAKECMDGOALS),gconf) $(obj)/gconf.o: $(obj)/.tmp_gtkcheck - -ifeq ($(gconf-target),1) -include $(obj)/.tmp_gtkcheck -# GTK needs some extra effort, too... +# GTK+ needs some extra effort, too... $(obj)/.tmp_gtkcheck: @if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then \ if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then \ @@ -306,15 +329,14 @@ $(obj)/.tmp_gtkcheck: fi endif -$(obj)/zconf.tab.o: $(obj)/zconf.lex.c $(obj)/zconf.hash.c +$(obj)/zconf.tab.o: $(obj)/zconf.lex.c $(obj)/qconf.o: $(obj)/qconf.moc $(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck $(KC_QT_MOC) -i $< -o $@ -# Extract gconf menu items for I18N support +# Extract gconf menu items for i18n support $(obj)/gconf.glade.h: $(obj)/gconf.glade $(Q)intltool-extract --type=gettext/glade --srcdir=$(srctree) \ $(obj)/gconf.glade - diff --git a/bsp/buildroot/support/kconfig/README.buildroot b/bsp/buildroot/support/kconfig/README.buildroot index 62e3a11b..76808f85 100644 --- a/bsp/buildroot/support/kconfig/README.buildroot +++ b/bsp/buildroot/support/kconfig/README.buildroot @@ -1,9 +1,13 @@ -This is a copy of the kconfig code in the kernel (currently 3.13-rc5) tweaked +This is a copy of the kconfig code in the kernel (currently 4.17-rc2) tweaked to suit Buildroot. To update: cp -r /usr/src/linux/scripts/kconfig support/kconfig.new cd support/kconfig.new + # zconf.lex.c and zconf.tab.c needs to be generated by 'make menuconfig' + mv zconf.lex.c zconf.lex.c_shipped + mv zconf.tab.c zconf.tab.c_shipped + rm -rf tests/ cp -a ../kconfig/patches ../kconfig/README.buildroot ../kconfig/.gitignore . quilt push -a # Fix any conflict @@ -15,6 +19,7 @@ Then verify the toplevel targets work: config defconfig menuconfig + nconfig xconfig gconfig oldconfig diff --git a/bsp/buildroot/support/kconfig/check.sh b/bsp/buildroot/support/kconfig/check.sh index 854d9c7c..97f0fee7 100755 --- a/bsp/buildroot/support/kconfig/check.sh +++ b/bsp/buildroot/support/kconfig/check.sh @@ -1,4 +1,5 @@ #!/bin/sh +# SPDX-License-Identifier: GPL-2.0 # Needed for systems without gettext $* -x c -o /dev/null - > /dev/null 2>&1 << EOF #include @@ -11,4 +12,3 @@ EOF if [ ! "$?" -eq "0" ]; then echo -DKBUILD_NO_NLS; fi - diff --git a/bsp/buildroot/support/kconfig/conf.c b/bsp/buildroot/support/kconfig/conf.c index 553fc76d..2d7a7ac4 100644 --- a/bsp/buildroot/support/kconfig/conf.c +++ b/bsp/buildroot/support/kconfig/conf.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -19,11 +20,10 @@ static void conf(struct menu *menu); static void check_conf(struct menu *menu); -static void xfgets(char *str, int size, FILE *in); enum input_mode { oldaskconfig, - silentoldconfig, + syncconfig, oldconfig, allnoconfig, allyesconfig, @@ -34,14 +34,14 @@ enum input_mode { savedefconfig, listnewconfig, olddefconfig, -} input_mode = oldaskconfig; +}; +static enum input_mode input_mode = oldaskconfig; static int indent = 1; static int tty_stdio; -static int valid_stdin = 1; static int sync_kconfig; static int conf_cnt; -static char line[128]; +static char line[PATH_MAX]; static struct menu *rootEntry; static void print_help(struct menu *menu) @@ -71,14 +71,14 @@ static void strip(char *str) *p-- = 0; } -static void check_stdin(void) +/* Helper function to facilitate fgets() by Jean Sacren. */ +static void xfgets(char *str, int size, FILE *in) { - if (!valid_stdin) { - printf(_("aborted!\n\n")); - printf(_("Console input/output is redirected. ")); - printf(_("Run 'make oldconfig' to update configuration.\n\n")); - exit(1); - } + if (!fgets(str, size, in)) + fprintf(stderr, "\nError in reading or end of file.\n"); + + if (!tty_stdio) + printf("%s", str); } static int conf_askvalue(struct symbol *sym, const char *def) @@ -100,18 +100,15 @@ static int conf_askvalue(struct symbol *sym, const char *def) switch (input_mode) { case oldconfig: - case silentoldconfig: + case syncconfig: if (sym_has_value(sym)) { printf("%s\n", def); return 0; } - check_stdin(); /* fall through */ case oldaskconfig: fflush(stdout); - xfgets(line, 128, stdin); - if (!tty_stdio) - printf("\n"); + xfgets(line, sizeof(line), stdin); return 1; default: break; @@ -191,9 +188,7 @@ static int conf_sym(struct menu *menu) printf("/m"); if (oldval != yes && sym_tristate_within_range(sym, yes)) printf("/y"); - if (menu_has_help(menu)) - printf("/?"); - printf("] "); + printf("/?] "); if (!conf_askvalue(sym, sym_get_string_value(sym))) return 0; strip(line); @@ -295,23 +290,19 @@ static int conf_choice(struct menu *menu) printf("[1]: 1\n"); goto conf_childs; } - printf("[1-%d", cnt); - if (menu_has_help(menu)) - printf("?"); - printf("]: "); + printf("[1-%d?]: ", cnt); switch (input_mode) { case oldconfig: - case silentoldconfig: + case syncconfig: if (!is_new) { cnt = def; printf("%d\n", cnt); break; } - check_stdin(); /* fall through */ case oldaskconfig: fflush(stdout); - xfgets(line, 128, stdin); + xfgets(line, sizeof(line), stdin); strip(line); if (line[0] == '?') { print_help(menu); @@ -367,10 +358,11 @@ static void conf(struct menu *menu) switch (prop->type) { case P_MENU: - if ((input_mode == silentoldconfig || - input_mode == listnewconfig || - input_mode == olddefconfig) && - rootEntry != menu) { + /* + * Except in oldaskconfig mode, we show only menus that + * contain new symbols. + */ + if (input_mode != oldaskconfig && rootEntry != menu) { check_conf(menu); return; } @@ -430,10 +422,20 @@ static void check_conf(struct menu *menu) if (sym_is_changable(sym) || (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) { if (input_mode == listnewconfig) { - if (sym->name && !sym_is_choice_value(sym)) { - printf("%s%s\n", CONFIG_, sym->name); + if (sym->name) { + const char *str; + + if (sym->type == S_STRING) { + str = sym_get_string_value(sym); + str = sym_escape_string_value(str); + printf("%s%s=%s\n", CONFIG_, sym->name, str); + free((void *)str); + } else { + str = sym_get_string_value(sym); + printf("%s%s=%s\n", CONFIG_, sym->name, str); + } } - } else if (input_mode != olddefconfig) { + } else { if (!conf_cnt++) printf(_("*\n* Restart config...\n*\n")); rootEntry = menu_get_parent_menu(menu); @@ -449,7 +451,7 @@ static void check_conf(struct menu *menu) static struct option long_opts[] = { {"oldaskconfig", no_argument, NULL, oldaskconfig}, {"oldconfig", no_argument, NULL, oldconfig}, - {"silentoldconfig", no_argument, NULL, silentoldconfig}, + {"syncconfig", no_argument, NULL, syncconfig}, {"defconfig", optional_argument, NULL, defconfig}, {"savedefconfig", required_argument, NULL, savedefconfig}, {"allnoconfig", no_argument, NULL, allnoconfig}, @@ -471,13 +473,14 @@ static struct option long_opts[] = { static void conf_usage(const char *progname) { - printf("Usage: %s [option] \n", progname); + printf("Usage: %s [-s] [option] \n", progname); printf("[option] is _one_ of the following:\n"); printf(" --listnewconfig List new options\n"); printf(" --oldaskconfig Start a new configuration using a line-oriented program\n"); printf(" --oldconfig Update a configuration using a provided .config as base\n"); - printf(" --silentoldconfig Same as oldconfig, but quietly, additionally update deps\n"); - printf(" --olddefconfig Same as silentoldconfig but sets new symbols to their default value\n"); + printf(" --syncconfig Similar to oldconfig but generates configuration in\n" + " include/{generated/,config/}\n"); + printf(" --olddefconfig Same as oldconfig but sets new symbols to their default value\n"); printf(" --oldnoconfig An alias of olddefconfig\n"); printf(" --defconfig New config with default defined in \n"); printf(" --savedefconfig Save the minimal current configuration to \n"); @@ -499,12 +502,16 @@ int main(int ac, char **av) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); - tty_stdio = isatty(0) && isatty(1) && isatty(2); + tty_stdio = isatty(0) && isatty(1); - while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) { + while ((opt = getopt_long(ac, av, "s", long_opts, NULL)) != -1) { + if (opt == 's') { + conf_set_message_callback(NULL); + continue; + } input_mode = (enum input_mode)opt; switch (opt) { - case silentoldconfig: + case syncconfig: sync_kconfig = 1; break; case defconfig: @@ -552,7 +559,7 @@ int main(int ac, char **av) } } if (ac == optind) { - printf(_("%s: Kconfig file missing\n"), av[0]); + fprintf(stderr, _("%s: Kconfig file missing\n"), av[0]); conf_usage(progname); exit(1); } @@ -576,14 +583,16 @@ int main(int ac, char **av) if (!defconfig_file) defconfig_file = conf_get_default_confname(); if (conf_read(defconfig_file)) { - printf(_("***\n" - "*** Can't find default configuration \"%s\"!\n" - "***\n"), defconfig_file); + fprintf(stderr, + _("***\n" + "*** Can't find default configuration \"%s\"!\n" + "***\n"), + defconfig_file); exit(1); } break; case savedefconfig: - case silentoldconfig: + case syncconfig: case oldaskconfig: case oldconfig: case listnewconfig: @@ -636,7 +645,6 @@ int main(int ac, char **av) return 1; } } - valid_stdin = tty_stdio; } switch (input_mode) { @@ -664,24 +672,24 @@ int main(int ac, char **av) case oldaskconfig: rootEntry = &rootmenu; conf(&rootmenu); - input_mode = silentoldconfig; + input_mode = oldconfig; /* fall through */ case oldconfig: case listnewconfig: - case olddefconfig: - case silentoldconfig: + case syncconfig: /* Update until a loop caused no more changes */ do { conf_cnt = 0; check_conf(&rootmenu); - } while (conf_cnt && - (input_mode != listnewconfig && - input_mode != olddefconfig)); + } while (conf_cnt); + break; + case olddefconfig: + default: break; } if (sync_kconfig) { - /* silentoldconfig is used during the build so we shall update autoconf. + /* syncconfig is used during the build so we shall update autoconf. * All other commands are only used to generate a config. */ if (conf_get_changed() && conf_write(NULL)) { @@ -695,7 +703,7 @@ int main(int ac, char **av) } else if (input_mode == savedefconfig) { if (conf_write_defconfig(defconfig_file)) { fprintf(stderr, _("n*** Error while saving defconfig to: %s\n\n"), - defconfig_file); + defconfig_file); return 1; } } else if (input_mode != listnewconfig) { @@ -706,12 +714,3 @@ int main(int ac, char **av) } return 0; } - -/* - * Helper function to facilitate fgets() by Jean Sacren. - */ -void xfgets(char *str, int size, FILE *in) -{ - if (fgets(str, size, in) == NULL) - fprintf(stderr, "\nError in reading or end of file.\n"); -} diff --git a/bsp/buildroot/support/kconfig/confdata.c b/bsp/buildroot/support/kconfig/confdata.c index 2371fa81..892da74f 100644 --- a/bsp/buildroot/support/kconfig/confdata.c +++ b/bsp/buildroot/support/kconfig/confdata.c @@ -17,6 +17,11 @@ #include "lkc.h" +struct conf_printer { + void (*print_symbol)(FILE *, struct symbol *, const char *, void *); + void (*print_comment)(FILE *, const char *, void *); +}; + static void conf_warning(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); @@ -24,7 +29,7 @@ static void conf_message(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); static const char *conf_filename; -static int conf_lineno, conf_warnings, conf_unsaved; +static int conf_lineno, conf_warnings; const char conf_defname[] = ".defconfig"; @@ -60,6 +65,7 @@ static void conf_message(const char *fmt, ...) va_start(ap, fmt); if (conf_message_callback) conf_message_callback(fmt, ap); + va_end(ap); } const char *conf_get_configname(void) @@ -171,7 +177,7 @@ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p) case S_HEX: done: if (sym_string_valid(sym, p)) { - sym->def[def].val = strdup(p); + sym->def[def].val = xstrdup(p); sym->flags |= def_flags; } else { if (def != S_DEF_AUTO) @@ -194,7 +200,7 @@ static int add_byte(int c, char **lineptr, size_t slen, size_t *n) if (new_size > *n) { new_size += LINE_GROWTH - 1; new_size *= 2; - nline = realloc(*lineptr, new_size); + nline = xrealloc(*lineptr, new_size); if (!nline) return -1; @@ -260,11 +266,8 @@ int conf_read_simple(const char *name, int def) if (in) goto load; sym_add_change_count(1); - if (!sym_defconfig_list) { - if (modules_sym) - sym_calc_value(modules_sym); + if (!sym_defconfig_list) return 1; - } for_all_defaults(sym_defconfig_list, prop) { if (expr_calc_value(prop->visible.expr) == no || @@ -286,7 +289,6 @@ load: conf_filename = name; conf_lineno = 0; conf_warnings = 0; - conf_unsaved = 0; def_flags = SYMBOL_DEF << def; for_all_symbols(i, sym) { @@ -371,7 +373,9 @@ load: continue; } else { if (line[0] != '\r' && line[0] != '\n') - conf_warning("unexpected data"); + conf_warning("unexpected data: %.*s", + (int)strcspn(line, "\r\n"), line); + continue; } setsym: @@ -397,21 +401,23 @@ setsym: } free(line); fclose(in); - - if (modules_sym) - sym_calc_value(modules_sym); return 0; } int conf_read(const char *name) { struct symbol *sym; + int conf_unsaved = 0; int i; sym_set_change_count(0); - if (conf_read_simple(name, S_DEF_USER)) + if (conf_read_simple(name, S_DEF_USER)) { + sym_calc_value(modules_sym); return 1; + } + + sym_calc_value(modules_sym); for_all_symbols(i, sym) { sym_calc_value(sym); @@ -846,6 +852,7 @@ static int conf_split_config(void) name = conf_get_autoconfig_name(); conf_read_simple(name, S_DEF_AUTO); + sym_calc_value(modules_sym); opwd = malloc(256); _name = strdup(name); @@ -1149,7 +1156,7 @@ void set_all_choice_values(struct symbol *csym) bool conf_set_all_new_symbols(enum conf_def_mode mode) { struct symbol *sym, *csym; - int i, cnt, pby, pty, ptm; /* pby: probability of boolean = y + int i, cnt, pby, pty, ptm; /* pby: probability of bool = y * pty: probability of tristate = y * ptm: probability of tristate = m */ @@ -1211,7 +1218,10 @@ bool conf_set_all_new_symbols(enum conf_def_mode mode) sym->def[S_DEF_USER].tri = mod; break; case def_no: - sym->def[S_DEF_USER].tri = no; + if (sym->flags & SYMBOL_ALLNOCONFIG_Y) + sym->def[S_DEF_USER].tri = yes; + else + sym->def[S_DEF_USER].tri = no; break; case def_random: sym->def[S_DEF_USER].tri = no; diff --git a/bsp/buildroot/support/kconfig/expr.c b/bsp/buildroot/support/kconfig/expr.c index d6626521..e1a39e90 100644 --- a/bsp/buildroot/support/kconfig/expr.c +++ b/bsp/buildroot/support/kconfig/expr.c @@ -11,6 +11,9 @@ #define DEBUG_EXPR 0 +static int expr_eq(struct expr *e1, struct expr *e2); +static struct expr *expr_eliminate_yn(struct expr *e); + struct expr *expr_alloc_symbol(struct symbol *sym) { struct expr *e = xcalloc(1, sizeof(*e)); @@ -76,6 +79,10 @@ struct expr *expr_copy(const struct expr *org) e->left.expr = expr_copy(org->left.expr); break; case E_EQUAL: + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: e->left.sym = org->left.sym; e->right.sym = org->right.sym; @@ -87,7 +94,7 @@ struct expr *expr_copy(const struct expr *org) e->right.expr = expr_copy(org->right.expr); break; default: - printf("can't copy type %d\n", e->type); + fprintf(stderr, "can't copy type %d\n", e->type); free(e); e = NULL; break; @@ -106,8 +113,12 @@ void expr_free(struct expr *e) break; case E_NOT: expr_free(e->left.expr); - return; + break; case E_EQUAL: + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: break; case E_OR: @@ -116,7 +127,7 @@ void expr_free(struct expr *e) expr_free(e->right.expr); break; default: - printf("how to free type %d?\n", e->type); + fprintf(stderr, "how to free type %d?\n", e->type); break; } free(e); @@ -127,8 +138,18 @@ static int trans_count; #define e1 (*ep1) #define e2 (*ep2) +/* + * expr_eliminate_eq() helper. + * + * Walks the two expression trees given in 'ep1' and 'ep2'. Any node that does + * not have type 'type' (E_OR/E_AND) is considered a leaf, and is compared + * against all other leaves. Two equal leaves are both replaced with either 'y' + * or 'n' as appropriate for 'type', to be eliminated later. + */ static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct expr **ep2) { + /* Recurse down to leaves */ + if (e1->type == type) { __expr_eliminate_eq(type, &e1->left.expr, &e2); __expr_eliminate_eq(type, &e1->right.expr, &e2); @@ -139,12 +160,18 @@ static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct e __expr_eliminate_eq(type, &e1, &e2->right.expr); return; } + + /* e1 and e2 are leaves. Compare them. */ + if (e1->type == E_SYMBOL && e2->type == E_SYMBOL && e1->left.sym == e2->left.sym && (e1->left.sym == &symbol_yes || e1->left.sym == &symbol_no)) return; if (!expr_eq(e1, e2)) return; + + /* e1 and e2 are equal leaves. Prepare them for elimination. */ + trans_count++; expr_free(e1); expr_free(e2); switch (type) { @@ -161,6 +188,35 @@ static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct e } } +/* + * Rewrites the expressions 'ep1' and 'ep2' to remove operands common to both. + * Example reductions: + * + * ep1: A && B -> ep1: y + * ep2: A && B && C -> ep2: C + * + * ep1: A || B -> ep1: n + * ep2: A || B || C -> ep2: C + * + * ep1: A && (B && FOO) -> ep1: FOO + * ep2: (BAR && B) && A -> ep2: BAR + * + * ep1: A && (B || C) -> ep1: y + * ep2: (C || B) && A -> ep2: y + * + * Comparisons are done between all operands at the same "level" of && or ||. + * For example, in the expression 'e1 && (e2 || e3) && (e4 || e5)', the + * following operands will be compared: + * + * - 'e1', 'e2 || e3', and 'e4 || e5', against each other + * - e2 against e3 + * - e4 against e5 + * + * Parentheses are irrelevant within a single level. 'e1 && (e2 && e3)' and + * '(e1 && e2) && e3' are both a single level. + * + * See __expr_eliminate_eq() as well. + */ void expr_eliminate_eq(struct expr **ep1, struct expr **ep2) { if (!e1 || !e2) @@ -186,7 +242,13 @@ void expr_eliminate_eq(struct expr **ep1, struct expr **ep2) #undef e1 #undef e2 -int expr_eq(struct expr *e1, struct expr *e2) +/* + * Returns true if 'e1' and 'e2' are equal, after minor simplification. Two + * &&/|| expressions are considered equal if every operand in one expression + * equals some operand in the other (operands do not need to appear in the same + * order), recursively. + */ +static int expr_eq(struct expr *e1, struct expr *e2) { int res, old_count; @@ -194,6 +256,10 @@ int expr_eq(struct expr *e1, struct expr *e2) return 0; switch (e1->type) { case E_EQUAL: + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym; case E_SYMBOL: @@ -228,7 +294,18 @@ int expr_eq(struct expr *e1, struct expr *e2) return 0; } -struct expr *expr_eliminate_yn(struct expr *e) +/* + * Recursively performs the following simplifications in-place (as well as the + * corresponding simplifications with swapped operands): + * + * expr && n -> n + * expr && y -> expr + * expr || n -> expr + * expr || y -> y + * + * Returns the optimized expression. + */ +static struct expr *expr_eliminate_yn(struct expr *e) { struct expr *tmp; @@ -501,12 +578,21 @@ static struct expr *expr_join_and(struct expr *e1, struct expr *e2) return NULL; } +/* + * expr_eliminate_dups() helper. + * + * Walks the two expression trees given in 'ep1' and 'ep2'. Any node that does + * not have type 'type' (E_OR/E_AND) is considered a leaf, and is compared + * against all other leaves to look for simplifications. + */ static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct expr **ep2) { #define e1 (*ep1) #define e2 (*ep2) struct expr *tmp; + /* Recurse down to leaves */ + if (e1->type == type) { expr_eliminate_dups1(type, &e1->left.expr, &e2); expr_eliminate_dups1(type, &e1->right.expr, &e2); @@ -517,6 +603,9 @@ static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct expr_eliminate_dups1(type, &e1, &e2->right.expr); return; } + + /* e1 and e2 are leaves. Compare and process them. */ + if (e1 == e2) return; @@ -553,62 +642,17 @@ static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct #undef e2 } -static void expr_eliminate_dups2(enum expr_type type, struct expr **ep1, struct expr **ep2) -{ -#define e1 (*ep1) -#define e2 (*ep2) - struct expr *tmp, *tmp1, *tmp2; - - if (e1->type == type) { - expr_eliminate_dups2(type, &e1->left.expr, &e2); - expr_eliminate_dups2(type, &e1->right.expr, &e2); - return; - } - if (e2->type == type) { - expr_eliminate_dups2(type, &e1, &e2->left.expr); - expr_eliminate_dups2(type, &e1, &e2->right.expr); - } - if (e1 == e2) - return; - - switch (e1->type) { - case E_OR: - expr_eliminate_dups2(e1->type, &e1, &e1); - // (FOO || BAR) && (!FOO && !BAR) -> n - tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); - tmp2 = expr_copy(e2); - tmp = expr_extract_eq_and(&tmp1, &tmp2); - if (expr_is_yes(tmp1)) { - expr_free(e1); - e1 = expr_alloc_symbol(&symbol_no); - trans_count++; - } - expr_free(tmp2); - expr_free(tmp1); - expr_free(tmp); - break; - case E_AND: - expr_eliminate_dups2(e1->type, &e1, &e1); - // (FOO && BAR) || (!FOO || !BAR) -> y - tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1))); - tmp2 = expr_copy(e2); - tmp = expr_extract_eq_or(&tmp1, &tmp2); - if (expr_is_no(tmp1)) { - expr_free(e1); - e1 = expr_alloc_symbol(&symbol_yes); - trans_count++; - } - expr_free(tmp2); - expr_free(tmp1); - expr_free(tmp); - break; - default: - ; - } -#undef e1 -#undef e2 -} - +/* + * Rewrites 'e' in-place to remove ("join") duplicate and other redundant + * operands. + * + * Example simplifications: + * + * A || B || A -> A || B + * A && B && A=y -> A=y && B + * + * Returns the deduplicated expression. + */ struct expr *expr_eliminate_dups(struct expr *e) { int oldcount; @@ -621,11 +665,11 @@ struct expr *expr_eliminate_dups(struct expr *e) switch (e->type) { case E_OR: case E_AND: expr_eliminate_dups1(e->type, &e, &e); - expr_eliminate_dups2(e->type, &e, &e); default: ; } if (!trans_count) + /* No simplifications done in this pass. We're done */ break; e = expr_eliminate_yn(e); } @@ -633,6 +677,12 @@ struct expr *expr_eliminate_dups(struct expr *e) return e; } +/* + * Performs various simplifications involving logical operators and + * comparisons. + * + * Allocates and returns a new expression. + */ struct expr *expr_transform(struct expr *e) { struct expr *tmp; @@ -641,6 +691,10 @@ struct expr *expr_transform(struct expr *e) return NULL; switch (e->type) { case E_EQUAL: + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: case E_SYMBOL: case E_LIST: @@ -713,6 +767,22 @@ struct expr *expr_transform(struct expr *e) e = tmp; e->type = e->type == E_EQUAL ? E_UNEQUAL : E_EQUAL; break; + case E_LEQ: + case E_GEQ: + // !a<='x' -> a>'x' + tmp = e->left.expr; + free(e); + e = tmp; + e->type = e->type == E_LEQ ? E_GTH : E_LTH; + break; + case E_LTH: + case E_GTH: + // !a<'x' -> a>='x' + tmp = e->left.expr; + free(e); + e = tmp; + e->type = e->type == E_LTH ? E_GEQ : E_LEQ; + break; case E_OR: // !(a || b) -> !a && !b tmp = e->left.expr; @@ -783,6 +853,10 @@ int expr_contains_symbol(struct expr *dep, struct symbol *sym) case E_SYMBOL: return dep->left.sym == sym; case E_EQUAL: + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: return dep->left.sym == sym || dep->right.sym == sym; @@ -823,57 +897,20 @@ bool expr_depends_symbol(struct expr *dep, struct symbol *sym) return false; } -struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2) -{ - struct expr *tmp = NULL; - expr_extract_eq(E_AND, &tmp, ep1, ep2); - if (tmp) { - *ep1 = expr_eliminate_yn(*ep1); - *ep2 = expr_eliminate_yn(*ep2); - } - return tmp; -} - -struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2) -{ - struct expr *tmp = NULL; - expr_extract_eq(E_OR, &tmp, ep1, ep2); - if (tmp) { - *ep1 = expr_eliminate_yn(*ep1); - *ep2 = expr_eliminate_yn(*ep2); - } - return tmp; -} - -void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2) -{ -#define e1 (*ep1) -#define e2 (*ep2) - if (e1->type == type) { - expr_extract_eq(type, ep, &e1->left.expr, &e2); - expr_extract_eq(type, ep, &e1->right.expr, &e2); - return; - } - if (e2->type == type) { - expr_extract_eq(type, ep, ep1, &e2->left.expr); - expr_extract_eq(type, ep, ep1, &e2->right.expr); - return; - } - if (expr_eq(e1, e2)) { - *ep = *ep ? expr_alloc_two(type, *ep, e1) : e1; - expr_free(e2); - if (type == E_AND) { - e1 = expr_alloc_symbol(&symbol_yes); - e2 = expr_alloc_symbol(&symbol_yes); - } else if (type == E_OR) { - e1 = expr_alloc_symbol(&symbol_no); - e2 = expr_alloc_symbol(&symbol_no); - } - } -#undef e1 -#undef e2 -} - +/* + * Inserts explicit comparisons of type 'type' to symbol 'sym' into the + * expression 'e'. + * + * Examples transformations for type == E_UNEQUAL, sym == &symbol_no: + * + * A -> A!=n + * !A -> A=n + * A && B -> !(A=n || B=n) + * A || B -> !(A=n && B=n) + * A && (B || C) -> !(A=n || (B=n && C=n)) + * + * Allocates and returns a new expression. + */ struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym) { struct expr *e1, *e2; @@ -908,6 +945,10 @@ struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symb case E_NOT: return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym); case E_UNEQUAL: + case E_LTH: + case E_LEQ: + case E_GTH: + case E_GEQ: case E_EQUAL: if (type == E_EQUAL) { if (sym == &symbol_yes) @@ -935,10 +976,60 @@ struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symb return NULL; } +enum string_value_kind { + k_string, + k_signed, + k_unsigned, + k_invalid +}; + +union string_value { + unsigned long long u; + signed long long s; +}; + +static enum string_value_kind expr_parse_string(const char *str, + enum symbol_type type, + union string_value *val) +{ + char *tail; + enum string_value_kind kind; + + errno = 0; + switch (type) { + case S_BOOLEAN: + case S_TRISTATE: + val->s = !strcmp(str, "n") ? 0 : + !strcmp(str, "m") ? 1 : + !strcmp(str, "y") ? 2 : -1; + return k_signed; + case S_INT: + val->s = strtoll(str, &tail, 10); + kind = k_signed; + break; + case S_HEX: + val->u = strtoull(str, &tail, 16); + kind = k_unsigned; + break; + case S_STRING: + case S_UNKNOWN: + val->s = strtoll(str, &tail, 0); + kind = k_signed; + break; + default: + return k_invalid; + } + return !errno && !*tail && tail > str && isxdigit(tail[-1]) + ? kind : k_string; +} + tristate expr_calc_value(struct expr *e) { tristate val1, val2; const char *str1, *str2; + enum string_value_kind k1 = k_string, k2 = k_string; + union string_value lval = {}, rval = {}; + int res; if (!e) return yes; @@ -959,31 +1050,70 @@ tristate expr_calc_value(struct expr *e) val1 = expr_calc_value(e->left.expr); return EXPR_NOT(val1); case E_EQUAL: - sym_calc_value(e->left.sym); - sym_calc_value(e->right.sym); - str1 = sym_get_string_value(e->left.sym); - str2 = sym_get_string_value(e->right.sym); - return !strcmp(str1, str2) ? yes : no; + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: - sym_calc_value(e->left.sym); - sym_calc_value(e->right.sym); - str1 = sym_get_string_value(e->left.sym); - str2 = sym_get_string_value(e->right.sym); - return !strcmp(str1, str2) ? no : yes; + break; default: printf("expr_calc_value: %d?\n", e->type); return no; } + + sym_calc_value(e->left.sym); + sym_calc_value(e->right.sym); + str1 = sym_get_string_value(e->left.sym); + str2 = sym_get_string_value(e->right.sym); + + if (e->left.sym->type != S_STRING || e->right.sym->type != S_STRING) { + k1 = expr_parse_string(str1, e->left.sym->type, &lval); + k2 = expr_parse_string(str2, e->right.sym->type, &rval); + } + + if (k1 == k_string || k2 == k_string) + res = strcmp(str1, str2); + else if (k1 == k_invalid || k2 == k_invalid) { + if (e->type != E_EQUAL && e->type != E_UNEQUAL) { + printf("Cannot compare \"%s\" and \"%s\"\n", str1, str2); + return no; + } + res = strcmp(str1, str2); + } else if (k1 == k_unsigned || k2 == k_unsigned) + res = (lval.u > rval.u) - (lval.u < rval.u); + else /* if (k1 == k_signed && k2 == k_signed) */ + res = (lval.s > rval.s) - (lval.s < rval.s); + + switch(e->type) { + case E_EQUAL: + return res ? no : yes; + case E_GEQ: + return res >= 0 ? yes : no; + case E_GTH: + return res > 0 ? yes : no; + case E_LEQ: + return res <= 0 ? yes : no; + case E_LTH: + return res < 0 ? yes : no; + case E_UNEQUAL: + return res ? yes : no; + default: + printf("expr_calc_value: relation %d?\n", e->type); + return no; + } } -int expr_compare_type(enum expr_type t1, enum expr_type t2) +static int expr_compare_type(enum expr_type t1, enum expr_type t2) { -#if 0 - return 1; -#else if (t1 == t2) return 0; switch (t1) { + case E_LEQ: + case E_LTH: + case E_GEQ: + case E_GTH: + if (t2 == E_EQUAL || t2 == E_UNEQUAL) + return 1; case E_EQUAL: case E_UNEQUAL: if (t2 == E_NOT) @@ -1005,52 +1135,11 @@ int expr_compare_type(enum expr_type t1, enum expr_type t2) } printf("[%dgt%d?]", t1, t2); return 0; -#endif } -static inline struct expr * -expr_get_leftmost_symbol(const struct expr *e) -{ - - if (e == NULL) - return NULL; - - while (e->type != E_SYMBOL) - e = e->left.expr; - - return expr_copy(e); -} - -/* - * Given expression `e1' and `e2', returns the leaf of the longest - * sub-expression of `e1' not containing 'e2. - */ -struct expr *expr_simplify_unmet_dep(struct expr *e1, struct expr *e2) -{ - struct expr *ret; - - switch (e1->type) { - case E_OR: - return expr_alloc_and( - expr_simplify_unmet_dep(e1->left.expr, e2), - expr_simplify_unmet_dep(e1->right.expr, e2)); - case E_AND: { - struct expr *e; - e = expr_alloc_and(expr_copy(e1), expr_copy(e2)); - e = expr_eliminate_dups(e); - ret = (!expr_eq(e, e1)) ? e1 : NULL; - expr_free(e); - break; - } - default: - ret = e1; - break; - } - - return expr_get_leftmost_symbol(ret); -} - -void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken) +void expr_print(struct expr *e, + void (*fn)(void *, struct symbol *, const char *), + void *data, int prevtoken) { if (!e) { fn(data, NULL, "y"); @@ -1078,6 +1167,24 @@ void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char * fn(data, NULL, "="); fn(data, e->right.sym, e->right.sym->name); break; + case E_LEQ: + case E_LTH: + if (e->left.sym->name) + fn(data, e->left.sym, e->left.sym->name); + else + fn(data, NULL, ""); + fn(data, NULL, e->type == E_LEQ ? "<=" : "<"); + fn(data, e->right.sym, e->right.sym->name); + break; + case E_GEQ: + case E_GTH: + if (e->left.sym->name) + fn(data, e->left.sym, e->left.sym->name); + else + fn(data, NULL, ""); + fn(data, NULL, e->type == E_GEQ ? ">=" : ">"); + fn(data, e->right.sym, e->right.sym->name); + break; case E_UNEQUAL: if (e->left.sym->name) fn(data, e->left.sym, e->left.sym->name); @@ -1166,3 +1273,33 @@ void expr_gstr_print(struct expr *e, struct gstr *gs) { expr_print(e, expr_print_gstr_helper, gs, E_NONE); } + +/* + * Transform the top level "||" tokens into newlines and prepend each + * line with a minus. This makes expressions much easier to read. + * Suitable for reverse dependency expressions. + */ +static void expr_print_revdep(struct expr *e, + void (*fn)(void *, struct symbol *, const char *), + void *data, tristate pr_type, const char **title) +{ + if (e->type == E_OR) { + expr_print_revdep(e->left.expr, fn, data, pr_type, title); + expr_print_revdep(e->right.expr, fn, data, pr_type, title); + } else if (expr_calc_value(e) == pr_type) { + if (*title) { + fn(data, NULL, *title); + *title = NULL; + } + + fn(data, NULL, " - "); + expr_print(e, fn, data, E_NONE); + fn(data, NULL, "\n"); + } +} + +void expr_gstr_print_revdep(struct expr *e, struct gstr *gs, + tristate pr_type, const char *title) +{ + expr_print_revdep(e, expr_print_gstr_helper, gs, pr_type, &title); +} diff --git a/bsp/buildroot/support/kconfig/expr.h b/bsp/buildroot/support/kconfig/expr.h index ba663e1d..94a383b2 100644 --- a/bsp/buildroot/support/kconfig/expr.h +++ b/bsp/buildroot/support/kconfig/expr.h @@ -29,7 +29,9 @@ typedef enum tristate { } tristate; enum expr_type { - E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_LIST, E_SYMBOL, E_RANGE + E_NONE, E_OR, E_AND, E_NOT, + E_EQUAL, E_UNEQUAL, E_LTH, E_LEQ, E_GTH, E_GEQ, + E_LIST, E_SYMBOL, E_RANGE }; union expr_data { @@ -72,17 +74,61 @@ enum { S_DEF_COUNT }; +/* + * Represents a configuration symbol. + * + * Choices are represented as a special kind of symbol and have the + * SYMBOL_CHOICE bit set in 'flags'. + */ struct symbol { + /* The next symbol in the same bucket in the symbol hash table */ struct symbol *next; + + /* The name of the symbol, e.g. "FOO" for 'config FOO' */ char *name; + + /* S_BOOLEAN, S_TRISTATE, ... */ enum symbol_type type; + + /* + * The calculated value of the symbol. The SYMBOL_VALID bit is set in + * 'flags' when this is up to date. Note that this value might differ + * from the user value set in e.g. a .config file, due to visibility. + */ struct symbol_value curr; + + /* + * Values for the symbol provided from outside. def[S_DEF_USER] holds + * the .config value. + */ struct symbol_value def[S_DEF_COUNT]; + + /* + * An upper bound on the tristate value the user can set for the symbol + * if it is a boolean or tristate. Calculated from prompt dependencies, + * which also inherit dependencies from enclosing menus, choices, and + * ifs. If 'n', the user value will be ignored. + * + * Symbols lacking prompts always have visibility 'n'. + */ tristate visible; + + /* SYMBOL_* flags */ int flags; + + /* List of properties. See prop_type. */ struct property *prop; + + /* Dependencies from enclosing menus, choices, and ifs */ struct expr_value dir_dep; + + /* Reverse dependencies through being selected by other symbols */ struct expr_value rev_dep; + + /* + * "Weak" reverse dependencies through being implied by other symbols + */ + struct expr_value implied; }; #define for_all_symbols(i, sym) for (i = 0; i < SYMBOL_HASHSIZE; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER) @@ -109,6 +155,9 @@ struct symbol { /* choice values need to be set before calculating this symbol value */ #define SYMBOL_NEED_SET_CHOICE_VALUES 0x100000 +/* Set symbol to y if allnoconfig; used for symbols that hide others */ +#define SYMBOL_ALLNOCONFIG_Y 0x200000 + #define SYMBOL_MAXLENGTH 256 #define SYMBOL_HASHSIZE 9973 @@ -127,10 +176,11 @@ enum prop_type { P_UNKNOWN, P_PROMPT, /* prompt "foo prompt" or "BAZ Value" */ P_COMMENT, /* text associated with a comment */ - P_MENU, /* prompt associated with a menuconfig option */ + P_MENU, /* prompt associated with a menu or menuconfig symbol */ P_DEFAULT, /* default y */ P_CHOICE, /* choice value */ P_SELECT, /* select BAR */ + P_IMPLY, /* imply BAR */ P_RANGE, /* range 7..100 (for a symbol) */ P_ENV, /* value from environment variable */ P_SYMBOL, /* where a symbol is defined */ @@ -159,22 +209,67 @@ struct property { for (st = sym->prop; st; st = st->next) \ if (st->text) +/* + * Represents a node in the menu tree, as seen in e.g. menuconfig (though used + * for all front ends). Each symbol, menu, etc. defined in the Kconfig files + * gets a node. A symbol defined in multiple locations gets one node at each + * location. + */ struct menu { + /* The next menu node at the same level */ struct menu *next; + + /* The parent menu node, corresponding to e.g. a menu or choice */ struct menu *parent; + + /* The first child menu node, for e.g. menus and choices */ struct menu *list; + + /* + * The symbol associated with the menu node. Choices are implemented as + * a special kind of symbol. NULL for menus, comments, and ifs. + */ struct symbol *sym; + + /* + * The prompt associated with the node. This holds the prompt for a + * symbol as well as the text for a menu or comment, along with the + * type (P_PROMPT, P_MENU, etc.) + */ struct property *prompt; + + /* + * 'visible if' dependencies. If more than one is given, they will be + * ANDed together. + */ struct expr *visibility; + + /* + * Ordinary dependencies from e.g. 'depends on' and 'if', ANDed + * together + */ struct expr *dep; + + /* MENU_* flags */ unsigned int flags; + + /* Any help text associated with the node */ char *help; + + /* The location where the menu node appears in the Kconfig files */ struct file *file; int lineno; + + /* For use by front ends that need to store auxiliary data */ void *data; }; +/* + * Set on a menu node when the corresponding symbol changes state in some way. + * Can be checked by front ends. + */ #define MENU_CHANGED 0x0001 + #define MENU_ROOT 0x0002 struct jump_key { @@ -202,24 +297,20 @@ struct expr *expr_alloc_and(struct expr *e1, struct expr *e2); struct expr *expr_alloc_or(struct expr *e1, struct expr *e2); struct expr *expr_copy(const struct expr *org); void expr_free(struct expr *e); -int expr_eq(struct expr *e1, struct expr *e2); void expr_eliminate_eq(struct expr **ep1, struct expr **ep2); tristate expr_calc_value(struct expr *e); -struct expr *expr_eliminate_yn(struct expr *e); struct expr *expr_trans_bool(struct expr *e); struct expr *expr_eliminate_dups(struct expr *e); struct expr *expr_transform(struct expr *e); int expr_contains_symbol(struct expr *dep, struct symbol *sym); bool expr_depends_symbol(struct expr *dep, struct symbol *sym); -struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2); -struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2); -void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2); struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym); -struct expr *expr_simplify_unmet_dep(struct expr *e1, struct expr *e2); void expr_fprint(struct expr *e, FILE *out); struct gstr; /* forward */ void expr_gstr_print(struct expr *e, struct gstr *gs); +void expr_gstr_print_revdep(struct expr *e, struct gstr *gs, + tristate pr_type, const char *title); static inline int expr_is_yes(struct expr *e) { diff --git a/bsp/buildroot/support/kconfig/gconf.c b/bsp/buildroot/support/kconfig/gconf.c index 7cbe68eb..0c2d1c18 100644 --- a/bsp/buildroot/support/kconfig/gconf.c +++ b/bsp/buildroot/support/kconfig/gconf.c @@ -169,14 +169,6 @@ void init_main_window(const gchar * glade_file) style = gtk_widget_get_style(main_wnd); widget = glade_xml_get_widget(xml, "toolbar1"); -#if 0 /* Use stock Gtk icons instead */ - replace_button_icon(xml, main_wnd->window, style, - "button1", (gchar **) xpm_back); - replace_button_icon(xml, main_wnd->window, style, - "button2", (gchar **) xpm_load); - replace_button_icon(xml, main_wnd->window, style, - "button3", (gchar **) xpm_save); -#endif replace_button_icon(xml, main_wnd->window, style, "button4", (gchar **) xpm_single_view); replace_button_icon(xml, main_wnd->window, style, @@ -184,22 +176,6 @@ void init_main_window(const gchar * glade_file) replace_button_icon(xml, main_wnd->window, style, "button6", (gchar **) xpm_tree_view); -#if 0 - switch (view_mode) { - case SINGLE_VIEW: - widget = glade_xml_get_widget(xml, "button4"); - g_signal_emit_by_name(widget, "clicked"); - break; - case SPLIT_VIEW: - widget = glade_xml_get_widget(xml, "button5"); - g_signal_emit_by_name(widget, "clicked"); - break; - case FULL_VIEW: - widget = glade_xml_get_widget(xml, "button6"); - g_signal_emit_by_name(widget, "clicked"); - break; - } -#endif txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w)); tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1", "foreground", "red", @@ -938,7 +914,7 @@ on_treeview2_button_press_event(GtkWidget * widget, current = menu; display_tree_part(); gtk_widget_set_sensitive(back_btn, TRUE); - } else if ((col == COL_OPTION)) { + } else if (col == COL_OPTION) { toggle_sym_value(menu); gtk_tree_view_expand_row(view, path, TRUE); } @@ -1404,7 +1380,7 @@ static void display_tree(struct menu *menu) && (tree == tree2)) continue; /* - if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) + if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) || (view_mode == FULL_VIEW) || (view_mode == SPLIT_VIEW))*/ @@ -1498,9 +1474,12 @@ int main(int ac, char *av[]) case 'a': //showAll = 1; break; + case 's': + conf_set_message_callback(NULL); + break; case 'h': case '?': - printf("%s \n", av[0]); + printf("%s [-s] \n", av[0]); exit(0); } name = av[2]; diff --git a/bsp/buildroot/support/kconfig/kconf_id.c b/bsp/buildroot/support/kconfig/kconf_id.c new file mode 100644 index 00000000..3ea9c5f9 --- /dev/null +++ b/bsp/buildroot/support/kconfig/kconf_id.c @@ -0,0 +1,53 @@ + +static struct kconf_id kconf_id_array[] = { + { "mainmenu", T_MAINMENU, TF_COMMAND }, + { "menu", T_MENU, TF_COMMAND }, + { "endmenu", T_ENDMENU, TF_COMMAND }, + { "source", T_SOURCE, TF_COMMAND }, + { "choice", T_CHOICE, TF_COMMAND }, + { "endchoice", T_ENDCHOICE, TF_COMMAND }, + { "comment", T_COMMENT, TF_COMMAND }, + { "config", T_CONFIG, TF_COMMAND }, + { "menuconfig", T_MENUCONFIG, TF_COMMAND }, + { "help", T_HELP, TF_COMMAND }, + { "---help---", T_HELP, TF_COMMAND }, + { "if", T_IF, TF_COMMAND|TF_PARAM }, + { "endif", T_ENDIF, TF_COMMAND }, + { "depends", T_DEPENDS, TF_COMMAND }, + { "optional", T_OPTIONAL, TF_COMMAND }, + { "default", T_DEFAULT, TF_COMMAND, S_UNKNOWN }, + { "prompt", T_PROMPT, TF_COMMAND }, + { "tristate", T_TYPE, TF_COMMAND, S_TRISTATE }, + { "def_tristate", T_DEFAULT, TF_COMMAND, S_TRISTATE }, + { "bool", T_TYPE, TF_COMMAND, S_BOOLEAN }, + { "def_bool", T_DEFAULT, TF_COMMAND, S_BOOLEAN }, + { "int", T_TYPE, TF_COMMAND, S_INT }, + { "hex", T_TYPE, TF_COMMAND, S_HEX }, + { "string", T_TYPE, TF_COMMAND, S_STRING }, + { "select", T_SELECT, TF_COMMAND }, + { "imply", T_IMPLY, TF_COMMAND }, + { "range", T_RANGE, TF_COMMAND }, + { "visible", T_VISIBLE, TF_COMMAND }, + { "option", T_OPTION, TF_COMMAND }, + { "on", T_ON, TF_PARAM }, + { "modules", T_OPT_MODULES, TF_OPTION }, + { "defconfig_list", T_OPT_DEFCONFIG_LIST, TF_OPTION }, + { "env", T_OPT_ENV, TF_OPTION }, + { "allnoconfig_y", T_OPT_ALLNOCONFIG_Y, TF_OPTION }, +}; + +#define KCONF_ID_ARRAY_SIZE (sizeof(kconf_id_array)/sizeof(struct kconf_id)) + +static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len) +{ + int i; + + for (i = 0; i < KCONF_ID_ARRAY_SIZE; i++) { + struct kconf_id *id = kconf_id_array+i; + int l = strlen(id->name); + + if (len == l && !memcmp(str, id->name, len)) + return id; + } + return NULL; +} diff --git a/bsp/buildroot/support/kconfig/kxgettext.c b/bsp/buildroot/support/kconfig/kxgettext.c index 2858738b..240880a8 100644 --- a/bsp/buildroot/support/kconfig/kxgettext.c +++ b/bsp/buildroot/support/kconfig/kxgettext.c @@ -101,7 +101,7 @@ static struct message *message__new(const char *msg, char *option, if (self->files == NULL) goto out_fail; - self->msg = strdup(msg); + self->msg = xstrdup(msg); if (self->msg == NULL) goto out_fail_msg; diff --git a/bsp/buildroot/support/kconfig/list.h b/bsp/buildroot/support/kconfig/list.h index 685d80e1..45cb237a 100644 --- a/bsp/buildroot/support/kconfig/list.h +++ b/bsp/buildroot/support/kconfig/list.h @@ -1,3 +1,4 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #ifndef LIST_H #define LIST_H @@ -34,7 +35,7 @@ struct list_head { * list_entry - get the struct for this entry * @ptr: the &struct list_head pointer. * @type: the type of the struct this is embedded in. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_entry(ptr, type, member) \ container_of(ptr, type, member) @@ -43,7 +44,7 @@ struct list_head { * list_for_each_entry - iterate over list of given type * @pos: the type * to use as a loop cursor. * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_for_each_entry(pos, head, member) \ for (pos = list_entry((head)->next, typeof(*pos), member); \ @@ -55,7 +56,7 @@ struct list_head { * @pos: the type * to use as a loop cursor. * @n: another type * to use as temporary storage * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @member: the name of the list_head within the struct. */ #define list_for_each_entry_safe(pos, n, head, member) \ for (pos = list_entry((head)->next, typeof(*pos), member), \ diff --git a/bsp/buildroot/support/kconfig/lkc.h b/bsp/buildroot/support/kconfig/lkc.h index 09f4edfd..f4394af6 100644 --- a/bsp/buildroot/support/kconfig/lkc.h +++ b/bsp/buildroot/support/kconfig/lkc.h @@ -21,9 +21,7 @@ static inline char *bind_textdomain_codeset(const char *dn, char *c) { return c; extern "C" { #endif -#define P(name,type,arg) extern type name arg #include "lkc_proto.h" -#undef P #define SRCTREE "srctree" @@ -61,17 +59,16 @@ enum conf_def_mode { #define T_OPT_MODULES 1 #define T_OPT_DEFCONFIG_LIST 2 #define T_OPT_ENV 3 +#define T_OPT_ALLNOCONFIG_Y 4 struct kconf_id { - int name; + const char *name; int token; unsigned int flags; enum symbol_type stype; }; -extern int zconfdebug; - -int zconfparse(void); +extern int yylineno; void zconfdump(FILE *out); void zconf_starthelp(void); FILE *zconf_fopen(const char *name); @@ -89,11 +86,6 @@ void sym_add_change_count(int count); bool conf_set_all_new_symbols(enum conf_def_mode mode); void set_all_choice_values(struct symbol *csym); -struct conf_printer { - void (*print_symbol)(FILE *, struct symbol *, const char *, void *); - void (*print_comment)(FILE *, const char *, void *); -}; - /* confdata.c and expr.c */ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out) { @@ -109,10 +101,8 @@ void menu_warn(struct menu *menu, const char *fmt, ...); struct menu *menu_add_menu(void); void menu_end_menu(void); void menu_add_entry(struct symbol *sym); -void menu_end_entry(void); void menu_add_dep(struct expr *dep); void menu_add_visibility(struct expr *dep); -struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep); struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep); void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep); void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep); @@ -125,6 +115,8 @@ struct file *file_lookup(const char *name); int file_write_dep(const char *name); void *xmalloc(size_t size); void *xcalloc(size_t nmemb, size_t size); +void *xrealloc(void *p, size_t size); +char *xstrdup(const char *s); struct gstr { size_t len; @@ -136,7 +128,6 @@ struct gstr { int max_width; }; struct gstr str_new(void); -struct gstr str_assign(const char *s); void str_free(struct gstr *gs); void str_append(struct gstr *gs, const char *s); void str_printf(struct gstr *gs, const char *fmt, ...); @@ -147,8 +138,6 @@ extern struct expr *sym_env_list; void sym_init(void); void sym_clear_all_valid(void); -void sym_set_all_changed(void); -void sym_set_changed(struct symbol *sym); struct symbol *sym_choice_default(struct symbol *sym); const char *sym_get_string_default(struct symbol *sym); struct symbol *sym_check_deps(struct symbol *sym); diff --git a/bsp/buildroot/support/kconfig/lkc_proto.h b/bsp/buildroot/support/kconfig/lkc_proto.h index ecdb9659..9dc8abfb 100644 --- a/bsp/buildroot/support/kconfig/lkc_proto.h +++ b/bsp/buildroot/support/kconfig/lkc_proto.h @@ -1,57 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 */ #include /* confdata.c */ -P(conf_parse,void,(const char *name)); -P(conf_read,int,(const char *name)); -P(conf_read_simple,int,(const char *name, int)); -P(conf_write_defconfig,int,(const char *name)); -P(conf_write,int,(const char *name)); -P(conf_write_autoconf,int,(void)); -P(conf_get_changed,bool,(void)); -P(conf_set_changed_callback, void,(void (*fn)(void))); -P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap))); +void conf_parse(const char *name); +int conf_read(const char *name); +int conf_read_simple(const char *name, int); +int conf_write_defconfig(const char *name); +int conf_write(const char *name); +int conf_write_autoconf(void); +bool conf_get_changed(void); +void conf_set_changed_callback(void (*fn)(void)); +void conf_set_message_callback(void (*fn)(const char *fmt, va_list ap)); /* menu.c */ -P(rootmenu,struct menu,); +extern struct menu rootmenu; -P(menu_is_empty, bool, (struct menu *menu)); -P(menu_is_visible, bool, (struct menu *menu)); -P(menu_has_prompt, bool, (struct menu *menu)); -P(menu_get_prompt,const char *,(struct menu *menu)); -P(menu_get_root_menu,struct menu *,(struct menu *menu)); -P(menu_get_parent_menu,struct menu *,(struct menu *menu)); -P(menu_has_help,bool,(struct menu *menu)); -P(menu_get_help,const char *,(struct menu *menu)); -P(get_symbol_str, void, (struct gstr *r, struct symbol *sym, struct list_head - *head)); -P(get_relations_str, struct gstr, (struct symbol **sym_arr, struct list_head - *head)); -P(menu_get_ext_help,void,(struct menu *menu, struct gstr *help)); +bool menu_is_empty(struct menu *menu); +bool menu_is_visible(struct menu *menu); +bool menu_has_prompt(struct menu *menu); +const char * menu_get_prompt(struct menu *menu); +struct menu * menu_get_root_menu(struct menu *menu); +struct menu * menu_get_parent_menu(struct menu *menu); +bool menu_has_help(struct menu *menu); +const char * menu_get_help(struct menu *menu); +struct gstr get_relations_str(struct symbol **sym_arr, struct list_head *head); +void menu_get_ext_help(struct menu *menu, struct gstr *help); /* symbol.c */ -P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]); +extern struct symbol * symbol_hash[SYMBOL_HASHSIZE]; -P(sym_lookup,struct symbol *,(const char *name, int flags)); -P(sym_find,struct symbol *,(const char *name)); -P(sym_expand_string_value,const char *,(const char *in)); -P(sym_escape_string_value, const char *,(const char *in)); -P(sym_re_search,struct symbol **,(const char *pattern)); -P(sym_type_name,const char *,(enum symbol_type type)); -P(sym_calc_value,void,(struct symbol *sym)); -P(sym_get_type,enum symbol_type,(struct symbol *sym)); -P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri)); -P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri)); -P(sym_toggle_tristate_value,tristate,(struct symbol *sym)); -P(sym_string_valid,bool,(struct symbol *sym, const char *newval)); -P(sym_string_within_range,bool,(struct symbol *sym, const char *str)); -P(sym_set_string_value,bool,(struct symbol *sym, const char *newval)); -P(sym_is_changable,bool,(struct symbol *sym)); -P(sym_get_choice_prop,struct property *,(struct symbol *sym)); -P(sym_get_default_prop,struct property *,(struct symbol *sym)); -P(sym_get_string_value,const char *,(struct symbol *sym)); +struct symbol * sym_lookup(const char *name, int flags); +struct symbol * sym_find(const char *name); +char *sym_expand_string_value(const char *in); +const char * sym_escape_string_value(const char *in); +struct symbol ** sym_re_search(const char *pattern); +const char * sym_type_name(enum symbol_type type); +void sym_calc_value(struct symbol *sym); +enum symbol_type sym_get_type(struct symbol *sym); +bool sym_tristate_within_range(struct symbol *sym,tristate tri); +bool sym_set_tristate_value(struct symbol *sym,tristate tri); +tristate sym_toggle_tristate_value(struct symbol *sym); +bool sym_string_valid(struct symbol *sym, const char *newval); +bool sym_string_within_range(struct symbol *sym, const char *str); +bool sym_set_string_value(struct symbol *sym, const char *newval); +bool sym_is_changable(struct symbol *sym); +struct property * sym_get_choice_prop(struct symbol *sym); +const char * sym_get_string_value(struct symbol *sym); -P(prop_get_type_name,const char *,(enum prop_type type)); +const char * prop_get_type_name(enum prop_type type); /* expr.c */ -P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2)); -P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken)); +void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken); diff --git a/bsp/buildroot/support/kconfig/lxdialog/check-lxdialog.sh b/bsp/buildroot/support/kconfig/lxdialog/check-lxdialog.sh index 3ce0a233..16cd9a31 100755 --- a/bsp/buildroot/support/kconfig/lxdialog/check-lxdialog.sh +++ b/bsp/buildroot/support/kconfig/lxdialog/check-lxdialog.sh @@ -1,4 +1,5 @@ #!/bin/sh +# SPDX-License-Identifier: GPL-2.0 # Check ncurses compatibility # What library to link @@ -54,7 +55,8 @@ EOF echo " *** required header files." 1>&2 echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2 echo " *** " 1>&2 - echo " *** Install ncurses (ncurses-devel) and try again." 1>&2 + echo " *** Install ncurses (ncurses-devel or libncurses-dev " 1>&2 + echo " *** depending on your distribution) and try again." 1>&2 echo " *** " 1>&2 exit 1 fi diff --git a/bsp/buildroot/support/kconfig/lxdialog/checklist.c b/bsp/buildroot/support/kconfig/lxdialog/checklist.c index 3b15c08e..8d016faa 100644 --- a/bsp/buildroot/support/kconfig/lxdialog/checklist.c +++ b/bsp/buildroot/support/kconfig/lxdialog/checklist.c @@ -168,13 +168,13 @@ do_resize: /* create new window for the list */ list = subwin(dialog, list_height, list_width, y + box_y + 1, - x + box_x + 1); + x + box_x + 1); keypad(list, TRUE); /* draw a box around the list items */ draw_box(dialog, box_y, box_x, list_height + 2, list_width + 2, - dlg.menubox_border.atr, dlg.menubox.atr); + dlg.menubox_border.atr, dlg.menubox.atr); /* Find length of longest item in order to center checklist */ check_x = 0; diff --git a/bsp/buildroot/support/kconfig/lxdialog/dialog.h b/bsp/buildroot/support/kconfig/lxdialog/dialog.h index b4343d38..fcffd5b4 100644 --- a/bsp/buildroot/support/kconfig/lxdialog/dialog.h +++ b/bsp/buildroot/support/kconfig/lxdialog/dialog.h @@ -170,7 +170,7 @@ char item_tag(void); /* item list manipulation for lxdialog use */ #define MAXITEMSTR 200 struct dialog_item { - char str[MAXITEMSTR]; /* promtp displayed */ + char str[MAXITEMSTR]; /* prompt displayed */ char tag; void *data; /* pointer to menu item - used by menubox+checklist */ int selected; /* Set to 1 by dialog_*() function if selected. */ diff --git a/bsp/buildroot/support/kconfig/lxdialog/inputbox.c b/bsp/buildroot/support/kconfig/lxdialog/inputbox.c index 447a5821..d58de1dc 100644 --- a/bsp/buildroot/support/kconfig/lxdialog/inputbox.c +++ b/bsp/buildroot/support/kconfig/lxdialog/inputbox.c @@ -42,7 +42,7 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected) * Display a dialog box for inputing a string */ int dialog_inputbox(const char *title, const char *prompt, int height, int width, - const char *init) + const char *init) { int i, x, y, box_y, box_x, box_width; int input_x = 0, key = 0, button = -1; diff --git a/bsp/buildroot/support/kconfig/lxdialog/menubox.c b/bsp/buildroot/support/kconfig/lxdialog/menubox.c index b0d0d698..18552490 100644 --- a/bsp/buildroot/support/kconfig/lxdialog/menubox.c +++ b/bsp/buildroot/support/kconfig/lxdialog/menubox.c @@ -64,7 +64,7 @@ static int menu_width, item_x; * Print menu item */ static void do_print_item(WINDOW * win, const char *item, int line_y, - int selected, int hotkey) + int selected, int hotkey) { int j; char *menu_item = malloc(menu_width + 1); @@ -182,7 +182,7 @@ static void do_scroll(WINDOW *win, int *scroll, int n) * Display a menu for choosing among a number of options */ int dialog_menu(const char *title, const char *prompt, - const void *selected, int *s_scroll) + const void *selected, int *s_scroll) { int i, j, x, y, box_x, box_y; int height, width, menu_height; diff --git a/bsp/buildroot/support/kconfig/lxdialog/util.c b/bsp/buildroot/support/kconfig/lxdialog/util.c index 58a8289d..f7abdeb9 100644 --- a/bsp/buildroot/support/kconfig/lxdialog/util.c +++ b/bsp/buildroot/support/kconfig/lxdialog/util.c @@ -623,7 +623,7 @@ void item_make(const char *fmt, ...) void item_add_str(const char *fmt, ...) { va_list ap; - size_t avail; + size_t avail; avail = sizeof(item_cur->node.str) - strlen(item_cur->node.str); diff --git a/bsp/buildroot/support/kconfig/mconf.c b/bsp/buildroot/support/kconfig/mconf.c index 91c4df78..279f4552 100644 --- a/bsp/buildroot/support/kconfig/mconf.c +++ b/bsp/buildroot/support/kconfig/mconf.c @@ -246,7 +246,7 @@ search_help[] = N_( " Selected by: BAR [=n]\n" "-----------------------------------------------------------------\n" "o The line 'Type:' shows the type of the configuration option for\n" - " this symbol (boolean, tristate, string, ...)\n" + " this symbol (bool, tristate, string, ...)\n" "o The line 'Prompt:' shows the text used in the menu structure for\n" " this symbol\n" "o The 'Defined at' line tells at what file / line number the symbol\n" @@ -279,6 +279,7 @@ static int child_count; static int single_menu_mode; static int show_all_options; static int save_and_exit; +static int silent; static void conf(struct menu *menu, struct menu *active_menu); static void conf_choice(struct menu *menu); @@ -299,7 +300,7 @@ static void set_config_filename(const char *config_filename) int size; size = snprintf(menu_backtitle, sizeof(menu_backtitle), - "%s - %s", config_filename, rootmenu.prompt->text); + "%s - %s", config_filename, rootmenu.prompt->text); if (size >= sizeof(menu_backtitle)) menu_backtitle[sizeof(menu_backtitle)-1] = '\0'; set_dialog_backtitle(menu_backtitle); @@ -330,10 +331,10 @@ static void set_subtitle(void) list_for_each_entry(sp, &trail, entries) { if (sp->text) { if (pos) { - pos->next = xcalloc(sizeof(*pos), 1); + pos->next = xcalloc(1, sizeof(*pos)); pos = pos->next; } else { - subtitles = pos = xcalloc(sizeof(*pos), 1); + subtitles = pos = xcalloc(1, sizeof(*pos)); } pos->text = sp->text; } @@ -777,10 +778,12 @@ static void conf_message_callback(const char *fmt, va_list ap) char buf[PATH_MAX+1]; vsnprintf(buf, sizeof(buf), fmt, ap); - if (save_and_exit) - printf("%s", buf); - else + if (save_and_exit) { + if (!silent) + printf("%s", buf); + } else { show_textbox(NULL, buf, 6, 60); + } } static void show_help(struct menu *menu) @@ -977,16 +980,18 @@ static int handle_exit(void) } /* fall through */ case -1: - printf(_("\n\n" - "*** End of the configuration.\n" - "*** Execute 'make' to start the build or try 'make help'." - "\n\n")); + if (!silent) + printf(_("\n\n" + "*** End of the configuration.\n" + "*** Execute 'make' to start the build or try 'make help'." + "\n\n")); res = 0; break; default: - fprintf(stderr, _("\n\n" - "Your configuration changes were NOT saved." - "\n\n")); + if (!silent) + fprintf(stderr, _("\n\n" + "Your configuration changes were NOT saved." + "\n\n")); if (res != KEY_ESC) res = 0; } @@ -1010,6 +1015,12 @@ int main(int ac, char **av) signal(SIGINT, sig_handler); + if (ac > 1 && strcmp(av[1], "-s") == 0) { + silent = 1; + /* Silence conf_read() until the real callback is set up */ + conf_set_message_callback(NULL); + av++; + } conf_parse(av[1]); conf_read(NULL); @@ -1034,4 +1045,3 @@ int main(int ac, char **av) return res; } - diff --git a/bsp/buildroot/support/kconfig/menu.c b/bsp/buildroot/support/kconfig/menu.c index db1512ae..5c5c1374 100644 --- a/bsp/buildroot/support/kconfig/menu.c +++ b/bsp/buildroot/support/kconfig/menu.c @@ -62,13 +62,8 @@ void menu_add_entry(struct symbol *sym) menu_add_symbol(P_SYMBOL, sym, NULL); } -void menu_end_entry(void) -{ -} - struct menu *menu_add_menu(void) { - menu_end_entry(); last_entry_ptr = ¤t_entry->list; return current_menu = current_entry; } @@ -79,19 +74,23 @@ void menu_end_menu(void) current_menu = current_menu->parent; } -static struct expr *menu_check_dep(struct expr *e) +/* + * Rewrites 'm' to 'm' && MODULES, so that it evaluates to 'n' when running + * without modules + */ +static struct expr *rewrite_m(struct expr *e) { if (!e) return e; switch (e->type) { case E_NOT: - e->left.expr = menu_check_dep(e->left.expr); + e->left.expr = rewrite_m(e->left.expr); break; case E_OR: case E_AND: - e->left.expr = menu_check_dep(e->left.expr); - e->right.expr = menu_check_dep(e->right.expr); + e->left.expr = rewrite_m(e->left.expr); + e->right.expr = rewrite_m(e->right.expr); break; case E_SYMBOL: /* change 'm' into 'm' && MODULES */ @@ -106,7 +105,7 @@ static struct expr *menu_check_dep(struct expr *e) void menu_add_dep(struct expr *dep) { - current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep)); + current_entry->dep = expr_alloc_and(current_entry->dep, dep); } void menu_set_type(int type) @@ -125,13 +124,13 @@ void menu_set_type(int type) sym_type_name(sym->type), sym_type_name(type)); } -struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep) +static struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep) { struct property *prop = prop_alloc(type, current_entry->sym); prop->menu = current_entry; prop->expr = expr; - prop->visible.expr = menu_check_dep(dep); + prop->visible.expr = dep; if (prompt) { if (isspace(*prompt)) { @@ -213,10 +212,14 @@ void menu_add_option(int token, char *arg) sym_defconfig_list = current_entry->sym; else if (sym_defconfig_list != current_entry->sym) zconf_error("trying to redefine defconfig symbol"); + sym_defconfig_list->flags |= SYMBOL_AUTO; break; case T_OPT_ENV: prop_add_env(arg); break; + case T_OPT_ALLNOCONFIG_Y: + current_entry->sym->flags |= SYMBOL_ALLNOCONFIG_Y; + break; } } @@ -230,6 +233,8 @@ static void sym_check_prop(struct symbol *sym) { struct property *prop; struct symbol *sym2; + char *use; + for (prop = sym->prop; prop; prop = prop->next) { switch (prop->type) { case P_DEFAULT: @@ -247,25 +252,37 @@ static void sym_check_prop(struct symbol *sym) "'%s': number is invalid", sym->name); } + if (sym_is_choice(sym)) { + struct property *choice_prop = + sym_get_choice_prop(sym2); + + if (!choice_prop || + prop_get_symbol(choice_prop) != sym) + prop_warn(prop, + "choice default symbol '%s' is not contained in the choice", + sym2->name); + } break; case P_SELECT: + case P_IMPLY: + use = prop->type == P_SELECT ? "select" : "imply"; sym2 = prop_get_symbol(prop); if (sym->type != S_BOOLEAN && sym->type != S_TRISTATE) prop_warn(prop, - "config symbol '%s' uses select, but is " - "not boolean or tristate", sym->name); + "config symbol '%s' uses %s, but is " + "not bool or tristate", sym->name, use); else if (sym2->type != S_UNKNOWN && - sym2->type != S_BOOLEAN && - sym2->type != S_TRISTATE) + sym2->type != S_BOOLEAN && + sym2->type != S_TRISTATE) prop_warn(prop, - "'%s' has wrong type. 'select' only " - "accept arguments of boolean and " - "tristate type", sym2->name); + "'%s' has wrong type. '%s' only " + "accept arguments of bool and " + "tristate type", sym2->name, use); break; case P_RANGE: if (sym->type != S_INT && sym->type != S_HEX) prop_warn(prop, "range is only allowed " - "for int or hex symbols"); + "for int or hex symbols"); if (!menu_validate_number(sym, prop->expr->left.sym) || !menu_validate_number(sym, prop->expr->right.sym)) prop_warn(prop, "range is invalid"); @@ -285,6 +302,11 @@ void menu_finalize(struct menu *parent) sym = parent->sym; if (parent->list) { + /* + * This menu node has children. We (recursively) process them + * and propagate parent dependencies before moving on. + */ + if (sym && sym_is_choice(sym)) { if (sym->type == S_UNKNOWN) { /* find the first choice value to find out choice type */ @@ -302,65 +324,169 @@ void menu_finalize(struct menu *parent) if (menu->sym && menu->sym->type == S_UNKNOWN) menu_set_type(sym->type); } + + /* + * Use the choice itself as the parent dependency of + * the contained items. This turns the mode of the + * choice into an upper bound on the visibility of the + * choice value symbols. + */ parentdep = expr_alloc_symbol(sym); } else if (parent->prompt) + /* Menu node for 'menu' */ parentdep = parent->prompt->visible.expr; else + /* Menu node for 'if' */ parentdep = parent->dep; + /* For each child menu node... */ for (menu = parent->list; menu; menu = menu->next) { - basedep = expr_transform(menu->dep); + /* + * Propagate parent dependencies to the child menu + * node, also rewriting and simplifying expressions + */ + basedep = rewrite_m(menu->dep); + basedep = expr_transform(basedep); basedep = expr_alloc_and(expr_copy(parentdep), basedep); basedep = expr_eliminate_dups(basedep); menu->dep = basedep; + if (menu->sym) + /* + * Note: For symbols, all prompts are included + * too in the symbol's own property list + */ prop = menu->sym->prop; else + /* + * For non-symbol menu nodes, we just need to + * handle the prompt + */ prop = menu->prompt; + + /* For each property... */ for (; prop; prop = prop->next) { if (prop->menu != menu) + /* + * Two possibilities: + * + * 1. The property lacks dependencies + * and so isn't location-specific, + * e.g. an 'option' + * + * 2. The property belongs to a symbol + * defined in multiple locations and + * is from some other location. It + * will be handled there in that + * case. + * + * Skip the property. + */ continue; - dep = expr_transform(prop->visible.expr); + + /* + * Propagate parent dependencies to the + * property's condition, rewriting and + * simplifying expressions at the same time + */ + dep = rewrite_m(prop->visible.expr); + dep = expr_transform(dep); dep = expr_alloc_and(expr_copy(basedep), dep); dep = expr_eliminate_dups(dep); if (menu->sym && menu->sym->type != S_TRISTATE) dep = expr_trans_bool(dep); prop->visible.expr = dep; + + /* + * Handle selects and implies, which modify the + * dependencies of the selected/implied symbol + */ if (prop->type == P_SELECT) { struct symbol *es = prop_get_symbol(prop); es->rev_dep.expr = expr_alloc_or(es->rev_dep.expr, expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep))); + } else if (prop->type == P_IMPLY) { + struct symbol *es = prop_get_symbol(prop); + es->implied.expr = expr_alloc_or(es->implied.expr, + expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep))); } } } + + if (sym && sym_is_choice(sym)) + expr_free(parentdep); + + /* + * Recursively process children in the same fashion before + * moving on + */ for (menu = parent->list; menu; menu = menu->next) menu_finalize(menu); } else if (sym) { + /* + * Automatic submenu creation. If sym is a symbol and A, B, C, + * ... are consecutive items (symbols, menus, ifs, etc.) that + * all depend on sym, then the following menu structure is + * created: + * + * sym + * +-A + * +-B + * +-C + * ... + * + * This also works recursively, giving the following structure + * if A is a symbol and B depends on A: + * + * sym + * +-A + * | +-B + * +-C + * ... + */ + basedep = parent->prompt ? parent->prompt->visible.expr : NULL; basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no); basedep = expr_eliminate_dups(expr_transform(basedep)); + + /* Examine consecutive elements after sym */ last_menu = NULL; for (menu = parent->next; menu; menu = menu->next) { dep = menu->prompt ? menu->prompt->visible.expr : menu->dep; if (!expr_contains_symbol(dep, sym)) + /* No dependency, quit */ break; if (expr_depends_symbol(dep, sym)) + /* Absolute dependency, put in submenu */ goto next; + + /* + * Also consider it a dependency on sym if our + * dependencies contain sym and are a "superset" of + * sym's dependencies, e.g. '(sym || Q) && R' when sym + * depends on R. + * + * Note that 'R' might be from an enclosing menu or if, + * making this a more common case than it might seem. + */ dep = expr_trans_compare(dep, E_UNEQUAL, &symbol_no); dep = expr_eliminate_dups(expr_transform(dep)); dep2 = expr_copy(basedep); expr_eliminate_eq(&dep, &dep2); expr_free(dep); if (!expr_is_yes(dep2)) { + /* Not superset, quit */ expr_free(dep2); break; } + /* Superset, put in submenu */ expr_free(dep2); next: menu_finalize(menu); menu->parent = parent; last_menu = menu; } + expr_free(basedep); if (last_menu) { parent->list = parent->next; parent->next = last_menu->next; @@ -409,6 +535,35 @@ void menu_finalize(struct menu *parent) *ep = expr_alloc_one(E_LIST, NULL); (*ep)->right.sym = menu->sym; } + + /* + * This code serves two purposes: + * + * (1) Flattening 'if' blocks, which do not specify a submenu + * and only add dependencies. + * + * (Automatic submenu creation might still create a submenu + * from an 'if' before this code runs.) + * + * (2) "Undoing" any automatic submenus created earlier below + * promptless symbols. + * + * Before: + * + * A + * if ... (or promptless symbol) + * +-B + * +-C + * D + * + * After: + * + * A + * if ... (or promptless symbol) + * B + * C + * D + */ if (menu->list && (!menu->prompt || !menu->prompt->text)) { for (last_menu = menu->list; ; last_menu = last_menu->next) { last_menu->parent = parent; @@ -433,6 +588,15 @@ void menu_finalize(struct menu *parent) sym->flags |= SYMBOL_WARNED; } + /* + * For non-optional choices, add a reverse dependency (corresponding to + * a select) of ' && m'. This prevents the user from + * setting the choice mode to 'n' when the choice is visible. + * + * This would also work for non-choice symbols, but only non-optional + * choices clear SYMBOL_OPTIONAL as of writing. Choices are implemented + * as a type of symbol. + */ if (sym && !sym_is_optional(sym) && parent->prompt) { sym->rev_dep.expr = expr_alloc_or(sym->rev_dep.expr, expr_alloc_and(parent->prompt->visible.expr, @@ -474,7 +638,7 @@ bool menu_is_visible(struct menu *menu) if (menu->visibility) { if (expr_calc_value(menu->visibility) == no) - return no; + return false; } sym = menu->sym; @@ -545,7 +709,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop, { int i, j; struct menu *submenu[8], *menu, *location = NULL; - struct jump_key *jump; + struct jump_key *jump = NULL; str_printf(r, _("Prompt: %s\n"), _(prop->text)); menu = prop->menu->parent; @@ -583,7 +747,7 @@ static void get_prompt_str(struct gstr *r, struct property *prop, str_printf(r, _(" Location:\n")); for (j = 4; --i >= 0; j += 2) { menu = submenu[i]; - if (head && location && menu == location) + if (jump && menu == location) jump->offset = strlen(r->s); str_printf(r, "%*c-> %s", j, ' ', _(menu_get_prompt(menu))); @@ -609,13 +773,30 @@ static struct property *get_symbol_prop(struct symbol *sym) return prop; } +static void get_symbol_props_str(struct gstr *r, struct symbol *sym, + enum prop_type tok, const char *prefix) +{ + bool hit = false; + struct property *prop; + + for_all_properties(sym, prop, tok) { + if (!hit) { + str_append(r, prefix); + hit = true; + } else + str_printf(r, " && "); + expr_gstr_print(prop->expr, r); + } + if (hit) + str_append(r, "\n"); +} + /* * head is optional and may be NULL */ -void get_symbol_str(struct gstr *r, struct symbol *sym, +static void get_symbol_str(struct gstr *r, struct symbol *sym, struct list_head *head) { - bool hit; struct property *prop; if (sym && sym->name) { @@ -645,22 +826,20 @@ void get_symbol_str(struct gstr *r, struct symbol *sym, } } - hit = false; - for_all_properties(sym, prop, P_SELECT) { - if (!hit) { - str_append(r, " Selects: "); - hit = true; - } else - str_printf(r, " && "); - expr_gstr_print(prop->expr, r); - } - if (hit) - str_append(r, "\n"); + get_symbol_props_str(r, sym, P_SELECT, _(" Selects: ")); if (sym->rev_dep.expr) { - str_append(r, _(" Selected by: ")); - expr_gstr_print(sym->rev_dep.expr, r); - str_append(r, "\n"); + expr_gstr_print_revdep(sym->rev_dep.expr, r, yes, " Selected by [y]:\n"); + expr_gstr_print_revdep(sym->rev_dep.expr, r, mod, " Selected by [m]:\n"); + expr_gstr_print_revdep(sym->rev_dep.expr, r, no, " Selected by [n]:\n"); } + + get_symbol_props_str(r, sym, P_IMPLY, _(" Implies: ")); + if (sym->implied.expr) { + expr_gstr_print_revdep(sym->implied.expr, r, yes, " Implied by [y]:\n"); + expr_gstr_print_revdep(sym->implied.expr, r, mod, " Implied by [m]:\n"); + expr_gstr_print_revdep(sym->implied.expr, r, no, " Implied by [n]:\n"); + } + str_append(r, "\n\n"); } diff --git a/bsp/buildroot/support/kconfig/merge_config.sh b/bsp/buildroot/support/kconfig/merge_config.sh index e1d7ffa7..14917806 100755 --- a/bsp/buildroot/support/kconfig/merge_config.sh +++ b/bsp/buildroot/support/kconfig/merge_config.sh @@ -32,14 +32,18 @@ usage() { echo " -m only merge the fragments, do not execute the make command" echo " -n use allnoconfig instead of alldefconfig" echo " -r list redundant entries when merging fragments" - echo " -O dir to put generated output files" + echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead." echo " -e colon-separated list of br2-external trees to use (optional)" + echo + echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_ + environment variable." } -MAKE=true +RUNMAKE=true ALLTARGET=alldefconfig WARNREDUN=false OUTPUT=. +CONFIG_PREFIX=${CONFIG_-CONFIG_} while true; do case $1 in @@ -49,7 +53,7 @@ while true; do continue ;; "-m") - MAKE=false + RUNMAKE=false shift continue ;; @@ -83,44 +87,66 @@ while true; do esac done +if [ "$#" -lt 1 ] ; then + usage + exit +fi + +if [ -z "$KCONFIG_CONFIG" ]; then + if [ "$OUTPUT" != . ]; then + KCONFIG_CONFIG=$(readlink -m -- "$OUTPUT/.config") + else + KCONFIG_CONFIG=.config + fi +fi + INITFILE=$1 shift; +if [ ! -r "$INITFILE" ]; then + echo "The base file '$INITFILE' does not exist. Exit." >&2 + exit 1 +fi + MERGE_LIST=$* -SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" +SED_CONFIG_EXP1="s/^\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)=.*/\1/p" +SED_CONFIG_EXP2="s/^# \(${CONFIG_PREFIX}[a-zA-Z0-9_]*\) is not set$/\1/p" + TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) echo "Using $INITFILE as base" cat $INITFILE > $TMP_FILE -# Merge files, printing warnings on overrided values +# Merge files, printing warnings on overridden values for MERGE_FILE in $MERGE_LIST ; do echo "Merging $MERGE_FILE" - CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE) + if [ ! -r "$MERGE_FILE" ]; then + echo "The merge file '$MERGE_FILE' does not exist. Exit." >&2 + exit 1 + fi + CFG_LIST=$(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $MERGE_FILE) for CFG in $CFG_LIST ; do - grep -q -w $CFG $TMP_FILE - if [ $? -eq 0 ] ; then - PREV_VAL=$(grep -w $CFG $TMP_FILE) - NEW_VAL=$(grep -w $CFG $MERGE_FILE) - if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then + grep -q -w $CFG $TMP_FILE || continue + PREV_VAL=$(grep -w $CFG $TMP_FILE) + NEW_VAL=$(grep -w $CFG $MERGE_FILE) + if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then echo Value of $CFG is redefined by fragment $MERGE_FILE: echo Previous value: $PREV_VAL echo New value: $NEW_VAL echo - elif [ "$WARNREDUN" = "true" ]; then + elif [ "$WARNREDUN" = "true" ]; then echo Value of $CFG is redundant by fragment $MERGE_FILE: - fi - sed -i "/$CFG[ =]/d" $TMP_FILE fi + sed -i "/$CFG[ =]/d" $TMP_FILE done cat $MERGE_FILE >> $TMP_FILE done -if [ "$MAKE" = "false" ]; then - cp $TMP_FILE $OUTPUT/.config +if [ "$RUNMAKE" = "false" ]; then + cp -T -- "$TMP_FILE" "$KCONFIG_CONFIG" echo "#" - echo "# merged configuration written to $OUTPUT/.config (needs make)" + echo "# merged configuration written to $KCONFIG_CONFIG (needs make)" echo "#" clean_up exit @@ -141,10 +167,10 @@ make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERNAL_ARG $OUTPUT_ARG $ALLTARGET # Check all specified config values took (might have missed-dependency issues) -for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do +for CFG in $(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $TMP_FILE); do REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE) - ACTUAL_VAL=$(grep -w -e "$CFG" $OUTPUT/.config) + ACTUAL_VAL=$(grep -w -e "$CFG" "$KCONFIG_CONFIG") if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then echo "Value requested for $CFG not in final .config" echo "Requested value: $REQUESTED_VAL" diff --git a/bsp/buildroot/support/kconfig/nconf.c b/bsp/buildroot/support/kconfig/nconf.c index 4fbecd24..00311477 100644 --- a/bsp/buildroot/support/kconfig/nconf.c +++ b/bsp/buildroot/support/kconfig/nconf.c @@ -5,7 +5,9 @@ * Derived from menuconfig. * */ +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include #include @@ -269,7 +271,7 @@ static struct mitem k_menu_items[MAX_MENU_ITEMS]; static int items_num; static int global_exit; /* the currently selected button */ -const char *current_instructions = menu_instructions; +static const char *current_instructions = menu_instructions; static char *dialog_input_result; static int dialog_input_result_len; @@ -303,7 +305,7 @@ struct function_keys { }; static const int function_keys_num = 9; -struct function_keys function_keys[] = { +static struct function_keys function_keys[] = { { .key_str = "F1", .func = "Help", @@ -506,7 +508,7 @@ static int get_mext_match(const char *match_str, match_f flag) index = (index + items_num) % items_num; while (true) { char *str = k_menu_items[index].str; - if (strcasestr(str, match_str) != 0) + if (strcasestr(str, match_str) != NULL) return index; if (flag == FIND_NEXT_MATCH_UP || flag == MATCH_TINKER_PATTERN_UP) @@ -1065,7 +1067,7 @@ static int do_match(int key, struct match_state *state, int *ans) static void conf(struct menu *menu) { - struct menu *submenu = 0; + struct menu *submenu = NULL; const char *prompt = menu_get_prompt(menu); struct symbol *sym; int res; @@ -1232,7 +1234,7 @@ static void show_help(struct menu *menu) static void conf_choice(struct menu *menu) { const char *prompt = _(menu_get_prompt(menu)); - struct menu *child = 0; + struct menu *child = NULL; struct symbol *active; int selected_index = 0; int last_top_row = 0; @@ -1454,7 +1456,7 @@ static void conf_save(void) } } -void setup_windows(void) +static void setup_windows(void) { int lines, columns; @@ -1482,6 +1484,11 @@ int main(int ac, char **av) bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); + if (ac > 1 && strcmp(av[1], "-s") == 0) { + /* Silence conf_read() until the real callback is set up */ + conf_set_message_callback(NULL); + av++; + } conf_parse(av[1]); conf_read(NULL); @@ -1554,4 +1561,3 @@ int main(int ac, char **av) endwin(); return 0; } - diff --git a/bsp/buildroot/support/kconfig/nconf.gui.c b/bsp/buildroot/support/kconfig/nconf.gui.c index 8275f0e5..88874acf 100644 --- a/bsp/buildroot/support/kconfig/nconf.gui.c +++ b/bsp/buildroot/support/kconfig/nconf.gui.c @@ -6,6 +6,7 @@ * */ #include "nconf.h" +#include "lkc.h" /* a list of all the different widgets we use */ attributes_t attributes[ATTR_MAX+1] = {0}; @@ -129,7 +130,7 @@ static void no_colors_theme(void) mkattrn(FUNCTION_TEXT, A_REVERSE); } -void set_colors() +void set_colors(void) { start_color(); use_default_colors(); @@ -192,7 +193,7 @@ const char *get_line(const char *text, int line_no) int lines = 0; if (!text) - return 0; + return NULL; for (i = 0; text[i] != '\0' && lines < line_no; i++) if (text[i] == '\n') @@ -364,15 +365,17 @@ int dialog_inputbox(WINDOW *main_window, WINDOW *prompt_win; WINDOW *form_win; PANEL *panel; - int i, x, y; + int i, x, y, lines, columns, win_lines, win_cols; int res = -1; int cursor_position = strlen(init); int cursor_form_win; char *result = *resultp; + getmaxyx(stdscr, lines, columns); + if (strlen(init)+1 > *result_len) { *result_len = strlen(init)+1; - *resultp = result = realloc(result, *result_len); + *resultp = result = xrealloc(result, *result_len); } /* find the widest line of msg: */ @@ -386,14 +389,19 @@ int dialog_inputbox(WINDOW *main_window, if (title) prompt_width = max(prompt_width, strlen(title)); + win_lines = min(prompt_lines+6, lines-2); + win_cols = min(prompt_width+7, columns-2); + prompt_lines = max(win_lines-6, 0); + prompt_width = max(win_cols-7, 0); + /* place dialog in middle of screen */ - y = (getmaxy(stdscr)-(prompt_lines+4))/2; - x = (getmaxx(stdscr)-(prompt_width+4))/2; + y = (lines-win_lines)/2; + x = (columns-win_cols)/2; strncpy(result, init, *result_len); /* create the windows */ - win = newwin(prompt_lines+6, prompt_width+7, y, x); + win = newwin(win_lines, win_cols, y, x); prompt_win = derwin(win, prompt_lines+1, prompt_width, 2, 2); form_win = derwin(win, 1, prompt_width, prompt_lines+3, 2); keypad(form_win, TRUE); diff --git a/bsp/buildroot/support/kconfig/nconf.h b/bsp/buildroot/support/kconfig/nconf.h index 0d526170..9f6f21d3 100644 --- a/bsp/buildroot/support/kconfig/nconf.h +++ b/bsp/buildroot/support/kconfig/nconf.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,8 +24,6 @@ #include #include -#include "ncurses.h" - #define max(a, b) ({\ typeof(a) _a = a;\ typeof(b) _b = b;\ diff --git a/bsp/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch b/bsp/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch index e76198a3..43ae61a9 100644 --- a/bsp/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch +++ b/bsp/buildroot/support/kconfig/patches/01-kconfig-kernel-to-buildroot.patch @@ -8,8 +8,8 @@ Index: kconfig/gconf.glade =================================================================== ---- kconfig.orig/gconf.glade 2013-12-27 22:14:32.395629843 +0100 -+++ kconfig/gconf.glade 2013-12-27 22:14:32.387630158 +0100 +--- kconfig.orig/gconf.glade ++++ kconfig/gconf.glade @@ -4,7 +4,7 @@ @@ -21,9 +21,9 @@ Index: kconfig/gconf.glade False Index: kconfig/mconf.c =================================================================== ---- kconfig.orig/mconf.c 2013-12-27 22:14:32.395629843 +0100 -+++ kconfig/mconf.c 2013-12-27 22:14:42.179244153 +0100 -@@ -176,9 +176,9 @@ +--- kconfig.orig/mconf.c ++++ kconfig/mconf.c +@@ -176,9 +176,9 @@ menu_instructions[] = N_( "Arrow keys navigate the menu. " " selects submenus ---> (or empty submenus ----). " "Highlighted letters are hotkeys. " @@ -35,7 +35,7 @@ Index: kconfig/mconf.c radiolist_instructions[] = N_( "Use the arrow keys to navigate this window or " "press the hotkey of the item you wish to select " -@@ -959,7 +959,7 @@ +@@ -962,7 +962,7 @@ static int handle_exit(void) if (conf_get_changed()) res = dialog_yesno(NULL, _("Do you wish to save your new configuration?\n" @@ -46,44 +46,44 @@ Index: kconfig/mconf.c res = -1; Index: kconfig/zconf.tab.c_shipped =================================================================== ---- kconfig.orig/zconf.tab.c_shipped 2013-12-27 22:14:32.395629843 +0100 -+++ kconfig/zconf.tab.c_shipped 2013-12-27 22:14:32.391630000 +0100 -@@ -2297,7 +2297,7 @@ +--- kconfig.orig/zconf.tab.c_shipped ++++ kconfig/zconf.tab.c_shipped +@@ -1515,7 +1515,7 @@ yyreduce: + * later regardless of whether it comes from the 'prompt' in + * mainmenu_stmt or here + */ +- menu_add_prompt(P_MENU, xstrdup("Linux Kernel Configuration"), NULL); ++ menu_add_prompt(P_MENU, xstrdup("Buildroot Configuration"), NULL); + } - sym_init(); - _menu_init(); -- rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL); -+ rootmenu.prompt = menu_add_prompt(P_MENU, "Buildroot Configuration", NULL); - - if (getenv("ZCONF_DEBUG")) - zconfdebug = 1; + break; Index: kconfig/zconf.y =================================================================== ---- kconfig.orig/zconf.y 2013-12-27 22:14:32.395629843 +0100 -+++ kconfig/zconf.y 2013-12-27 22:14:32.391630000 +0100 -@@ -493,7 +493,7 @@ +--- kconfig.orig/zconf.y ++++ kconfig/zconf.y +@@ -127,7 +127,7 @@ no_mainmenu_stmt: /* empty */ + * later regardless of whether it comes from the 'prompt' in + * mainmenu_stmt or here + */ +- menu_add_prompt(P_MENU, xstrdup("Linux Kernel Configuration"), NULL); ++ menu_add_prompt(P_MENU, xstrdup("Buildroot Configuration"), NULL); + }; - sym_init(); - _menu_init(); -- rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL); -+ rootmenu.prompt = menu_add_prompt(P_MENU, "Buildroot Configuration", NULL); - if (getenv("ZCONF_DEBUG")) - zconfdebug = 1; Index: kconfig/confdata.c =================================================================== ---- kconfig.orig/confdata.c 2013-12-27 22:14:32.395629843 +0100 -+++ kconfig/confdata.c 2013-12-27 22:14:32.391630000 +0100 -@@ -25,7 +25,7 @@ +--- kconfig.orig/confdata.c ++++ kconfig/confdata.c +@@ -30,7 +30,7 @@ static void conf_message(const char *fmt static const char *conf_filename; - static int conf_lineno, conf_warnings, conf_unsaved; + static int conf_lineno, conf_warnings; -const char conf_defname[] = "arch/$ARCH/defconfig"; +const char conf_defname[] = ".defconfig"; static void conf_warning(const char *fmt, ...) { -@@ -63,7 +63,7 @@ +@@ -69,7 +69,7 @@ static void conf_message(const char *fmt const char *conf_get_configname(void) { @@ -94,9 +94,9 @@ Index: kconfig/confdata.c } Index: kconfig/qconf.cc =================================================================== ---- kconfig.orig/qconf.cc 2013-12-27 22:12:15.825013567 +0100 -+++ kconfig/qconf.cc 2013-12-27 22:14:57.826627300 +0100 -@@ -70,7 +70,7 @@ +--- kconfig.orig/qconf.cc ++++ kconfig/qconf.cc +@@ -55,7 +55,7 @@ static inline QString qgettext(const QSt } ConfigSettings::ConfigSettings() diff --git a/bsp/buildroot/support/kconfig/patches/06-br-build-system-integration.patch b/bsp/buildroot/support/kconfig/patches/06-br-build-system-integration.patch index 3faa39ed..35420cbb 100644 --- a/bsp/buildroot/support/kconfig/patches/06-br-build-system-integration.patch +++ b/bsp/buildroot/support/kconfig/patches/06-br-build-system-integration.patch @@ -1,35 +1,74 @@ ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -Index: b/Makefile +Index: kconfig/Makefile =================================================================== ---- a/Makefile -+++ b/Makefile -@@ -159,11 +159,11 @@ +--- kconfig.orig/Makefile ++++ kconfig/Makefile +@@ -205,7 +205,35 @@ qconf-cxxobjs := qconf.o + qconf-objs := zconf.tab.o + gconf-objs := gconf.o zconf.tab.o - hostprogs-y := conf - --ifeq ($(MAKECMDGOALS),nconfig) +-hostprogs-y := conf nconf mconf kxgettext qconf gconf ++hostprogs-y := conf ++ +ifeq ($(MAKECMDGOALS),nconf) - hostprogs-y += nconf - endif - --ifeq ($(MAKECMDGOALS),menuconfig) ++ hostprogs-y += nconf ++endif ++ +ifeq ($(MAKECMDGOALS),mconf) - hostprogs-y += mconf - endif ++ hostprogs-y += mconf ++endif ++ ++ifeq ($(MAKECMDGOALS),update-po-config) ++ hostprogs-y += kxgettext ++endif ++ ++ifeq ($(MAKECMDGOALS),qconf) ++ qconf-target := 1 ++endif ++ ++ifeq ($(MAKECMDGOALS),gconf) ++ gconf-target := 1 ++endif ++ ++ifeq ($(qconf-target),1) ++ hostprogs-y += qconf ++endif ++ ++ifeq ($(gconf-target),1) ++ hostprogs-y += gconf ++endif -@@ -171,10 +171,10 @@ - hostprogs-y += kxgettext - endif + targets += zconf.lex.c + clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck +@@ -243,7 +271,7 @@ HOSTLOADLIBES_nconf = $(shell \ + || echo "-lmenu -lpanel -lncurses" ) + $(obj)/qconf.o: $(obj)/.tmp_qtcheck -ifeq ($(MAKECMDGOALS),xconfig) +ifeq ($(MAKECMDGOALS),qconf) - qconf-target := 1 - endif --ifeq ($(MAKECMDGOALS),gconfig) -+ifeq ($(MAKECMDGOALS),gconf) - gconf-target := 1 + $(obj)/.tmp_qtcheck: $(src)/Makefile + -include $(obj)/.tmp_qtcheck + +@@ -270,9 +298,8 @@ $(obj)/.tmp_qtcheck: + echo "KC_QT_MOC=$$moc" >> $@ endif ++ifeq ($(MAKECMDGOALS),gconf) + $(obj)/gconf.o: $(obj)/.tmp_gtkcheck +- +-ifeq ($(MAKECMDGOALS),gconfig) + -include $(obj)/.tmp_gtkcheck + + # GTK+ needs some extra effort, too... +@@ -300,11 +327,8 @@ $(obj)/zconf.tab.o: $(obj)/zconf.lex.c + + $(obj)/qconf.o: $(obj)/qconf.moc + +-quiet_cmd_moc = MOC $@ +- cmd_moc = $(KC_QT_MOC) -i $< -o $@ +- + $(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck +- $(call cmd,moc) ++ $(KC_QT_MOC) -i $< -o $@ + + # Extract gconf menu items for i18n support + $(obj)/gconf.glade.h: $(obj)/gconf.glade diff --git a/bsp/buildroot/support/kconfig/patches/10-br-build-system.patch b/bsp/buildroot/support/kconfig/patches/10-br-build-system.patch index be6fda07..abf24636 100644 --- a/bsp/buildroot/support/kconfig/patches/10-br-build-system.patch +++ b/bsp/buildroot/support/kconfig/patches/10-br-build-system.patch @@ -3,10 +3,10 @@ foo.h | 12 ++++++++++++ 2 files changed, 65 insertions(+) -Index: b/Makefile.br +Index: kconfig/Makefile.br =================================================================== --- /dev/null -+++ b/Makefile.br ++++ kconfig/Makefile.br @@ -0,0 +1,53 @@ +src := . +top_srcdir=../../ @@ -61,10 +61,10 @@ Index: b/Makefile.br + +FORCE: +.PHONY: FORCE clean distclean -Index: b/foo.h +Index: kconfig/foo.h =================================================================== --- /dev/null -+++ b/foo.h ++++ kconfig/foo.h @@ -0,0 +1,12 @@ +#ifndef __KCONFIG_FOO_H +#define __KCONFIG_FOO_H diff --git a/bsp/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch b/bsp/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch index b38af262..387c633a 100644 --- a/bsp/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch +++ b/bsp/buildroot/support/kconfig/patches/11-use-mktemp-for-lxdialog.patch @@ -2,11 +2,11 @@ lxdialog/check-lxdialog.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: b/lxdialog/check-lxdialog.sh +Index: kconfig/lxdialog/check-lxdialog.sh =================================================================== ---- a/lxdialog/check-lxdialog.sh -+++ b/lxdialog/check-lxdialog.sh -@@ -36,7 +36,7 @@ +--- kconfig.orig/lxdialog/check-lxdialog.sh ++++ kconfig/lxdialog/check-lxdialog.sh +@@ -41,7 +41,7 @@ ccflags() } # Temp file, try to clean up after us diff --git a/bsp/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch b/bsp/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch index a5777da3..7d5941fc 100644 --- a/bsp/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch +++ b/bsp/buildroot/support/kconfig/patches/12-fix-glade-file-path.patch @@ -2,11 +2,11 @@ gconf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: b/gconf.c +Index: kconfig/gconf.c =================================================================== ---- a/gconf.c -+++ b/gconf.c -@@ -1486,7 +1486,7 @@ +--- kconfig.orig/gconf.c ++++ kconfig/gconf.c +@@ -1462,7 +1462,7 @@ int main(int ac, char *av[]) /* Determine GUI path */ env = getenv(SRCTREE); if (env) diff --git a/bsp/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch b/bsp/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch index ec3134f9..a3b33ba6 100644 --- a/bsp/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch +++ b/bsp/buildroot/support/kconfig/patches/14-support-out-of-tree-config.patch @@ -4,11 +4,11 @@ util.c | 16 +++++++++++++-- 3 files changed, 61 insertions(+), 18 deletions(-) -Index: b/conf.c +Index: kconfig/conf.c =================================================================== ---- a/conf.c -+++ b/conf.c -@@ -558,7 +558,6 @@ +--- kconfig.orig/conf.c ++++ kconfig/conf.c +@@ -565,7 +565,6 @@ int main(int ac, char **av) } name = av[optind]; conf_parse(name); @@ -16,10 +16,10 @@ Index: b/conf.c if (sync_kconfig) { name = conf_get_configname(); if (stat(name, &tmpstat)) { -Index: b/confdata.c +Index: kconfig/confdata.c =================================================================== ---- a/confdata.c -+++ b/confdata.c +--- kconfig.orig/confdata.c ++++ kconfig/confdata.c @@ -13,6 +13,7 @@ #include #include @@ -28,7 +28,7 @@ Index: b/confdata.c #include "lkc.h" -@@ -70,9 +71,7 @@ +@@ -76,9 +77,7 @@ const char *conf_get_configname(void) const char *conf_get_autoconfig_name(void) { @@ -39,7 +39,7 @@ Index: b/confdata.c } static char *conf_expand_value(const char *in) -@@ -742,6 +741,9 @@ +@@ -748,6 +747,9 @@ int conf_write(const char *name) char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1]; char *env; @@ -49,7 +49,7 @@ Index: b/confdata.c dirname[0] = 0; if (name && name[0]) { struct stat st; -@@ -836,6 +838,7 @@ +@@ -842,6 +844,7 @@ static int conf_split_config(void) { const char *name; char path[PATH_MAX+1]; @@ -57,9 +57,9 @@ Index: b/confdata.c char *s, *d, c; struct symbol *sym; struct stat sb; -@@ -844,8 +847,20 @@ - name = conf_get_autoconfig_name(); +@@ -851,8 +854,20 @@ static int conf_split_config(void) conf_read_simple(name, S_DEF_AUTO); + sym_calc_value(modules_sym); - if (chdir("include/config")) - return 1; @@ -80,7 +80,7 @@ Index: b/confdata.c res = 0; for_all_symbols(i, sym) { -@@ -938,9 +953,11 @@ +@@ -945,9 +960,11 @@ static int conf_split_config(void) close(fd); } out: @@ -95,7 +95,7 @@ Index: b/confdata.c return res; } -@@ -950,25 +967,38 @@ +@@ -957,25 +974,38 @@ int conf_write_autoconf(void) const char *name; FILE *out, *tristate, *out_h; int i; @@ -138,7 +138,7 @@ Index: b/confdata.c if (!out_h) { fclose(out); fclose(tristate); -@@ -1000,19 +1030,22 @@ +@@ -1007,19 +1037,22 @@ int conf_write_autoconf(void) name = getenv("KCONFIG_AUTOHEADER"); if (!name) name = "include/generated/autoconf.h"; @@ -164,11 +164,11 @@ Index: b/confdata.c return 1; return 0; -Index: b/util.c +Index: kconfig/util.c =================================================================== ---- a/util.c -+++ b/util.c -@@ -34,6 +34,8 @@ +--- kconfig.orig/util.c ++++ kconfig/util.c +@@ -34,6 +34,8 @@ struct file *file_lookup(const char *nam /* write a dependency file as used by kbuild to track dependencies */ int file_write_dep(const char *name) { @@ -177,7 +177,7 @@ Index: b/util.c struct symbol *sym, *env_sym; struct expr *e; struct file *file; -@@ -41,7 +43,16 @@ +@@ -41,7 +43,16 @@ int file_write_dep(const char *name) if (!name) name = ".kconfig.d"; @@ -195,7 +195,7 @@ Index: b/util.c if (!out) return 1; fprintf(out, "deps_config := \\\n"); -@@ -72,7 +83,8 @@ +@@ -72,7 +83,8 @@ int file_write_dep(const char *name) fprintf(out, "\n$(deps_config): ;\n"); fclose(out); diff --git a/bsp/buildroot/support/kconfig/patches/15-fix-qconf-moc-rule.patch b/bsp/buildroot/support/kconfig/patches/15-fix-qconf-moc-rule.patch deleted file mode 100644 index c1848d76..00000000 --- a/bsp/buildroot/support/kconfig/patches/15-fix-qconf-moc-rule.patch +++ /dev/null @@ -1,24 +0,0 @@ -Fix the rule that generates the .moc file - -The Linux kernel has a "cmd" make function, but we don't have it in -Buildroot, so we need to adjust this rule. - -Signed-off-by: Thomas Petazzoni - -Index: b/Makefile -=================================================================== ---- a/Makefile -+++ b/Makefile -@@ -309,11 +309,8 @@ - - $(obj)/qconf.o: $(obj)/qconf.moc - --quiet_cmd_moc = MOC $@ -- cmd_moc = $(KC_QT_MOC) -i $< -o $@ -- - $(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck -- $(call cmd,moc) -+ $(KC_QT_MOC) -i $< -o $@ - - # Extract gconf menu items for I18N support - $(obj)/gconf.glade.h: $(obj)/gconf.glade diff --git a/bsp/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch b/bsp/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch index 972d2de9..08f7ec5d 100644 --- a/bsp/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch +++ b/bsp/buildroot/support/kconfig/patches/16-fix-space-to-de-select-options.patch @@ -26,10 +26,10 @@ Date: Wed Nov 13 22:45:02 2013 +0100 --- Note: I'll be running this upstream soonish. -diff --git a/support/kconfig/lxdialog/menubox.c b/support/kconfig/lxdialog/menubox.c -index 48d382e..6fc7e78 100644 ---- a/lxdialog/menubox.c -+++ b/lxdialog/menubox.c +Index: kconfig/lxdialog/menubox.c +=================================================================== +--- kconfig.orig/lxdialog/menubox.c ++++ kconfig/lxdialog/menubox.c @@ -285,7 +285,7 @@ do_resize: if (key < 256 && isalpha(key)) key = tolower(key); diff --git a/bsp/buildroot/support/kconfig/patches/17-backport-kecho.patch b/bsp/buildroot/support/kconfig/patches/17-backport-kecho.patch new file mode 100644 index 00000000..9d138766 --- /dev/null +++ b/bsp/buildroot/support/kconfig/patches/17-backport-kecho.patch @@ -0,0 +1,26 @@ +This commit added kecho to scripts/Kbuild.include (and doc). +Backported just Kbuild.include part to Makefile + +commit 5410ecc0def8955ab99810c5626cc7e156991896 +Author: Mike Frysinger +Date: Thu Nov 6 03:31:34 2008 -0500 + + kbuild: introduce $(kecho) convenience echo + +Index: kconfig/Makefile +=================================================================== +--- kconfig.orig/Makefile ++++ kconfig/Makefile +@@ -6,6 +6,12 @@ + PHONY += xconfig gconfig menuconfig config syncconfig update-po-config \ + localmodconfig localyesconfig + ++# Easy method for doing a status message ++ kecho := : ++ quiet_kecho := echo ++silent_kecho := : ++kecho := $($(quiet)kecho) ++ + ifdef KBUILD_KCONFIG + Kconfig := $(KBUILD_KCONFIG) + else diff --git a/bsp/buildroot/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch b/bsp/buildroot/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch deleted file mode 100644 index 1eb48ef9..00000000 --- a/bsp/buildroot/support/kconfig/patches/17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch +++ /dev/null @@ -1,50 +0,0 @@ -From be8af2d54a66911693eddc556e4f7a866670082b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= -Date: Sun, 14 Sep 2014 12:57:50 +0200 -Subject: [PATCH] kconfig/lxdialog: get ncurses CFLAGS with pkg-config -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This makes "make menuconfig" also work on systems where ncurses is not -installed in a standard location (such as on NixOS). - -This patch changes ccflags() so that it tries pkg-config first, and only -if pkg-config fails does it go back to the fallback/manual checks. This -is the same algorithm that ldflags() already uses. - -Signed-off-by: Bjørn Forsman -Signed-off-by: Michal Marek ---- -[This patch is already applied upstream (is part of linux v3.18): -https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=be8af2d54a66911693eddc556e4f7a866670082b - -I'm adding this instead of doing a full upstream kconfig sync because -there was a conflict in one of the Buildroot kconfig patches (against -linux 3.18-rc1), which I was unable to resolve. Just drop this patch next time -Buildroot kconfig is synced against upstream. -] - - scripts/kconfig/lxdialog/check-lxdialog.sh | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh -index 9d2a4c5..5075ebf 100755 ---- a/lxdialog/check-lxdialog.sh -+++ b/lxdialog/check-lxdialog.sh -@@ -21,7 +21,11 @@ ldflags() - # Where is ncurses.h? - ccflags() - { -- if [ -f /usr/include/ncursesw/curses.h ]; then -+ if pkg-config --cflags ncursesw 2>/dev/null; then -+ echo '-DCURSES_LOC="" -DNCURSES_WIDECHAR=1' -+ elif pkg-config --cflags ncurses 2>/dev/null; then -+ echo '-DCURSES_LOC=""' -+ elif [ -f /usr/include/ncursesw/curses.h ]; then - echo '-I/usr/include/ncursesw -DCURSES_LOC=""' - echo ' -DNCURSES_WIDECHAR=1' - elif [ -f /usr/include/ncurses/ncurses.h ]; then --- -2.1.3 - diff --git a/bsp/buildroot/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch b/bsp/buildroot/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch deleted file mode 100644 index 3ca48d07..00000000 --- a/bsp/buildroot/support/kconfig/patches/18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 7285996aa0006d671bb01f0d35991d254b2b2b01 Mon Sep 17 00:00:00 2001 -From: Brian Norris -Date: Wed, 4 Jun 2014 00:52:31 -0700 -Subject: kconfig: nconfig: fix multi-byte UTF handling - -Currently, Kconfig descriptions that use multi-byte UTF-8 characters -(such as MTD_NAND_CAFE) will have their menu entries dropped from the -'make nconfig' ncurses menu, and all subsequent entries in the same -window will be omitted. This seems to be due to the ncurses 'menu' -library, which does not traditionally handle UTF-8 >8-bit characters -properly. - -The ncursesw library ('w' is for "wide") is written to handle these -UTF-8 characters, and is practically a drop-in replacement at the source -level. Use it by default, if available. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=43067 -Signed-off-by: Brian Norris -Cc: "Yann E. MORIN" -Cc: Martin Walch -Acked-by: Sam Ravnborg -Signed-off-by: Michal Marek ---- - scripts/kconfig/Makefile | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -(limited to 'scripts/kconfig/Makefile') - -diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile -index e7bf38e..c059385 100644 ---- a/scripts/kconfig/Makefile -+++ b/scripts/kconfig/Makefile -@@ -191,7 +191,8 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \ - HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) - - HOSTLOADLIBES_nconf = $(shell \ -- pkg-config --libs menu panel ncurses 2>/dev/null \ -+ pkg-config --libs menuw panelw ncursesw 2>/dev/null \ -+ || pkg-config --libs menu panel ncurses 2>/dev/null \ - || echo "-lmenu -lpanel -lncurses" ) - $(obj)/qconf.o: $(obj)/.tmp_qtcheck - --- -cgit v1.1 - diff --git a/bsp/buildroot/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch b/bsp/buildroot/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch new file mode 100644 index 00000000..f2a261f3 --- /dev/null +++ b/bsp/buildroot/support/kconfig/patches/18-merge-config.sh-create-temporary-files-in-tmp.patch @@ -0,0 +1,27 @@ +commit 0f56304521db42bd2c05867fd78a247104a4ad95 +Author: Henrique Marks +Date: Mon, 7 Dec 2015 12:08:45 -0200 + + merge_config.sh: create temporary files in /tmp + + Creating temporary files in /tmp (or the path pointed by $TMPDIR) allows the + buildroot top directory to be read-only and shareable between multible builds. + This follows what other scripts do, e.g. check-kernel-headers.sh. + + Signed-off-by: Henrique Marks + Signed-off-by: Carlos Santos + Signed-off-by: Peter Korsgaard + +Index: kconfig/merge_config.sh +=================================================================== +--- kconfig.orig/merge_config.sh ++++ kconfig/merge_config.sh +@@ -100,7 +100,7 @@ fi + + MERGE_LIST=$* + SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" +-TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX) ++TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) + + echo "Using $INITFILE as base" + cat $INITFILE > $TMP_FILE diff --git a/bsp/buildroot/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch b/bsp/buildroot/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch new file mode 100644 index 00000000..1d0ef323 --- /dev/null +++ b/bsp/buildroot/support/kconfig/patches/19-merge_config.sh-add-br2-external-support.patch @@ -0,0 +1,47 @@ +commit 28fac3973b3c693c453594b007c08c1e1e5c4af3 +Author: Ilya Kuzmich +Date: Tue, 9 Jan 2018 14:37:43 +0300 + + merge_config.sh: add br2-external support + + Pass BR2_EXTERNAL value via -e option. + This will prevent merge_config.sh from silently eating any symbols defined in + external trees on a clean buildroot tree invocation. + + Signed-off-by: Ilya Kuzmich + Acked-by: "Yann E. MORIN" + Signed-off-by: Peter Korsgaard + +Index: kconfig/merge_config.sh +=================================================================== +--- kconfig.orig/merge_config.sh ++++ kconfig/merge_config.sh +@@ -33,6 +33,7 @@ usage() { + echo " -n use allnoconfig instead of alldefconfig" + echo " -r list redundant entries when merging fragments" + echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead." ++ echo " -e colon-separated list of br2-external trees to use (optional)" + } + + RUNMAKE=true +@@ -71,6 +72,11 @@ while true; do + shift 2 + continue + ;; ++ "-e") ++ EXTERNAL_ARG="BR2_EXTERNAL=$2" ++ shift 2 ++ continue ++ ;; + *) + break + ;; +@@ -151,7 +157,7 @@ fi + # Use the merged file as the starting point for: + # alldefconfig: Fills in any missing symbols with Kconfig default + # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set +-make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET ++make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERNAL_ARG $OUTPUT_ARG $ALLTARGET + + + # Check all specified config values took (might have missed-dependency issues) diff --git a/bsp/buildroot/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch b/bsp/buildroot/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch new file mode 100644 index 00000000..645043b1 --- /dev/null +++ b/bsp/buildroot/support/kconfig/patches/20-merge_config.sh-Allow-to-define-config-prefix.patch @@ -0,0 +1,31 @@ +Index: kconfig/merge_config.sh +=================================================================== +--- kconfig.orig/merge_config.sh ++++ kconfig/merge_config.sh +@@ -34,12 +34,16 @@ usage() { + echo " -r list redundant entries when merging fragments" + echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead." + echo " -e colon-separated list of br2-external trees to use (optional)" ++ echo ++ echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_ ++ environment variable." + } + + RUNMAKE=true + ALLTARGET=alldefconfig + WARNREDUN=false + OUTPUT=. ++CONFIG_PREFIX=${CONFIG_-CONFIG_} + + while true; do + case $1 in +@@ -105,7 +109,8 @@ if [ ! -r "$INITFILE" ]; then + fi + + MERGE_LIST=$* +-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p" ++SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p" ++ + TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) + + echo "Using $INITFILE as base" diff --git a/bsp/buildroot/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch b/bsp/buildroot/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch new file mode 100644 index 00000000..c11144e4 --- /dev/null +++ b/bsp/buildroot/support/kconfig/patches/21-Avoid-false-positive-matches-from-comment-lines.patch @@ -0,0 +1,32 @@ +Index: kconfig/merge_config.sh +=================================================================== +--- kconfig.orig/merge_config.sh ++++ kconfig/merge_config.sh +@@ -109,7 +109,8 @@ if [ ! -r "$INITFILE" ]; then + fi + + MERGE_LIST=$* +-SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)[= ].*/\2/p" ++SED_CONFIG_EXP1="s/^\(${CONFIG_PREFIX}[a-zA-Z0-9_]*\)=.*/\1/p" ++SED_CONFIG_EXP2="s/^# \(${CONFIG_PREFIX}[a-zA-Z0-9_]*\) is not set$/\1/p" + + TMP_FILE=$(mktemp -t .tmp.config.XXXXXXXXXX) + +@@ -123,7 +124,7 @@ for MERGE_FILE in $MERGE_LIST ; do + echo "The merge file '$MERGE_FILE' does not exist. Exit." >&2 + exit 1 + fi +- CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE) ++ CFG_LIST=$(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $MERGE_FILE) + + for CFG in $CFG_LIST ; do + grep -q -w $CFG $TMP_FILE || continue +@@ -166,7 +167,7 @@ make KCONFIG_ALLCONFIG=$TMP_FILE $EXTERN + + + # Check all specified config values took (might have missed-dependency issues) +-for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do ++for CFG in $(sed -n -e "$SED_CONFIG_EXP1" -e "$SED_CONFIG_EXP2" $TMP_FILE); do + + REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE) + ACTUAL_VAL=$(grep -w -e "$CFG" "$KCONFIG_CONFIG") diff --git a/bsp/buildroot/support/kconfig/patches/series b/bsp/buildroot/support/kconfig/patches/series index 1a53ba99..e5a6f69d 100644 --- a/bsp/buildroot/support/kconfig/patches/series +++ b/bsp/buildroot/support/kconfig/patches/series @@ -4,7 +4,9 @@ 11-use-mktemp-for-lxdialog.patch 12-fix-glade-file-path.patch 14-support-out-of-tree-config.patch -15-fix-qconf-moc-rule.patch 16-fix-space-to-de-select-options.patch -17-kconfig-lxdialog-get-ncurses-CFLAGS-with-pkg-config.patch -18-kconfig-nconfig-fix-multi-byte-UTF-handling.patch +17-backport-kecho.patch +18-merge-config.sh-create-temporary-files-in-tmp.patch +19-merge_config.sh-add-br2-external-support.patch +20-merge_config.sh-Allow-to-define-config-prefix.patch +21-Avoid-false-positive-matches-from-comment-lines.patch diff --git a/bsp/buildroot/support/kconfig/qconf.cc b/bsp/buildroot/support/kconfig/qconf.cc index f630567c..7896b584 100644 --- a/bsp/buildroot/support/kconfig/qconf.cc +++ b/bsp/buildroot/support/kconfig/qconf.cc @@ -1,32 +1,17 @@ /* * Copyright (C) 2002 Roman Zippel + * Copyright (C) 2015 Boris Barbulovski * Released under the terms of the GNU GPL v2.0. */ #include -#if QT_VERSION < 0x040000 -#include -#include -#include -#include +#include +#include #include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#include -#include -#include -#include -#include -#endif +#include +#include +#include #include #include @@ -57,7 +42,7 @@ static QApplication *configApp; static ConfigSettings *configSettings; -Q3Action *ConfigMainWindow::saveAction; +QAction *ConfigMainWindow::saveAction; static inline QString qgettext(const char* str) { @@ -66,7 +51,7 @@ static inline QString qgettext(const char* str) static inline QString qgettext(const QString& str) { - return QString::fromLocal8Bit(gettext(str.latin1())); + return QString::fromLocal8Bit(gettext(str.toLatin1())); } ConfigSettings::ConfigSettings() @@ -77,14 +62,22 @@ ConfigSettings::ConfigSettings() /** * Reads a list of integer values from the application settings. */ -Q3ValueList ConfigSettings::readSizes(const QString& key, bool *ok) +QList ConfigSettings::readSizes(const QString& key, bool *ok) { - Q3ValueList result; - QStringList entryList = readListEntry(key, ok); - QStringList::Iterator it; + QList result; - for (it = entryList.begin(); it != entryList.end(); ++it) - result.push_back((*it).toInt()); + if (contains(key)) + { + QStringList entryList = value(key).toStringList(); + QStringList::Iterator it; + + for (it = entryList.begin(); it != entryList.end(); ++it) + result.push_back((*it).toInt()); + + *ok = true; + } + else + *ok = false; return result; } @@ -92,14 +85,16 @@ Q3ValueList ConfigSettings::readSizes(const QString& key, bool *ok) /** * Writes a list of integer values to the application settings. */ -bool ConfigSettings::writeSizes(const QString& key, const Q3ValueList& value) +bool ConfigSettings::writeSizes(const QString& key, const QList& value) { QStringList stringList; - Q3ValueList::ConstIterator it; + QList::ConstIterator it; for (it = value.begin(); it != value.end(); ++it) stringList.push_back(QString::number(*it)); - return writeEntry(key, stringList); + setValue(key, stringList); + + return true; } @@ -109,9 +104,6 @@ bool ConfigSettings::writeSizes(const QString& key, const Q3ValueList& valu */ void ConfigItem::okRename(int col) { - Parent::okRename(col); - sym_set_string_value(menu->sym, text(dataColIdx).latin1()); - listView()->updateList(this); } /* @@ -149,11 +141,11 @@ void ConfigItem::updateMenu(void) } else { if (sym) break; - setPixmap(promptColIdx, 0); + setPixmap(promptColIdx, QIcon()); } goto set_prompt; case P_COMMENT: - setPixmap(promptColIdx, 0); + setPixmap(promptColIdx, QIcon()); goto set_prompt; default: ; @@ -170,7 +162,7 @@ void ConfigItem::updateMenu(void) char ch; if (!sym_is_changable(sym) && list->optMode == normalOpt) { - setPixmap(promptColIdx, 0); + setPixmap(promptColIdx, QIcon()); setText(noColIdx, QString::null); setText(modColIdx, QString::null); setText(yesColIdx, QString::null); @@ -216,9 +208,6 @@ void ConfigItem::updateMenu(void) data = sym_get_string_value(sym); - int i = list->mapIdx(dataColIdx); - if (i >= 0) - setRenameEnabled(i, TRUE); setText(dataColIdx, data); if (type == S_STRING) prompt = QString("%1: %2").arg(prompt).arg(data); @@ -250,18 +239,6 @@ void ConfigItem::testUpdateMenu(bool v) updateMenu(); } -void ConfigItem::paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align) -{ - ConfigList* list = listView(); - - if (visible) { - if (isSelected() && !list->hasFocus() && list->mode == menuMode) - Parent::paintCell(p, list->inactivedColorGroup, column, width, align); - else - Parent::paintCell(p, cg, column, width, align); - } else - Parent::paintCell(p, list->disabledColorGroup, column, width, align); -} /* * construct a menu entry @@ -274,7 +251,7 @@ void ConfigItem::init(void) menu->data = this; if (list->mode != fullMode) - setOpen(TRUE); + setExpanded(true); sym_calc_value(menu->sym); } updateMenu(); @@ -299,7 +276,7 @@ ConfigItem::~ConfigItem(void) ConfigLineEdit::ConfigLineEdit(ConfigView* parent) : Parent(parent) { - connect(this, SIGNAL(lostFocus()), SLOT(hide())); + connect(this, SIGNAL(editingFinished()), SLOT(hide())); } void ConfigLineEdit::show(ConfigItem* i) @@ -320,7 +297,7 @@ void ConfigLineEdit::keyPressEvent(QKeyEvent* e) break; case Qt::Key_Return: case Qt::Key_Enter: - sym_set_string_value(item->menu->sym, text().latin1()); + sym_set_string_value(item->menu->sym, text().toLatin1()); parent()->updateList(item); break; default: @@ -333,39 +310,39 @@ void ConfigLineEdit::keyPressEvent(QKeyEvent* e) } ConfigList::ConfigList(ConfigView* p, const char *name) - : Parent(p, name), + : Parent(p), updateAll(false), symbolYesPix(xpm_symbol_yes), symbolModPix(xpm_symbol_mod), symbolNoPix(xpm_symbol_no), choiceYesPix(xpm_choice_yes), choiceNoPix(xpm_choice_no), menuPix(xpm_menu), menuInvPix(xpm_menu_inv), menuBackPix(xpm_menuback), voidPix(xpm_void), - showName(false), showRange(false), showData(false), optMode(normalOpt), + showName(false), showRange(false), showData(false), mode(singleMode), optMode(normalOpt), rootEntry(0), headerPopup(0) { int i; - setSorting(-1); - setRootIsDecorated(TRUE); - disabledColorGroup = palette().active(); - disabledColorGroup.setColor(QColorGroup::Text, palette().disabled().text()); - inactivedColorGroup = palette().active(); - inactivedColorGroup.setColor(QColorGroup::Highlight, palette().disabled().highlight()); + setObjectName(name); + setSortingEnabled(false); + setRootIsDecorated(true); - connect(this, SIGNAL(selectionChanged(void)), + setVerticalScrollMode(ScrollPerPixel); + setHorizontalScrollMode(ScrollPerPixel); + + setHeaderLabels(QStringList() << _("Option") << _("Name") << "N" << "M" << "Y" << _("Value")); + + connect(this, SIGNAL(itemSelectionChanged(void)), SLOT(updateSelection(void))); if (name) { configSettings->beginGroup(name); - showName = configSettings->readBoolEntry("/showName", false); - showRange = configSettings->readBoolEntry("/showRange", false); - showData = configSettings->readBoolEntry("/showData", false); - optMode = (enum optionMode)configSettings->readNumEntry("/optionMode", false); + showName = configSettings->value("/showName", false).toBool(); + showRange = configSettings->value("/showRange", false).toBool(); + showData = configSettings->value("/showData", false).toBool(); + optMode = (enum optionMode)configSettings->value("/optionMode", 0).toInt(); configSettings->endGroup(); connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings())); } - for (i = 0; i < colNr; i++) - colMap[i] = colRevMap[i] = -1; - addColumn(promptColIdx, _("Option")); + addColumn(promptColIdx); reinit(); } @@ -390,26 +367,26 @@ void ConfigList::reinit(void) removeColumn(nameColIdx); if (showName) - addColumn(nameColIdx, _("Name")); + addColumn(nameColIdx); if (showRange) { - addColumn(noColIdx, "N"); - addColumn(modColIdx, "M"); - addColumn(yesColIdx, "Y"); + addColumn(noColIdx); + addColumn(modColIdx); + addColumn(yesColIdx); } if (showData) - addColumn(dataColIdx, _("Value")); + addColumn(dataColIdx); updateListAll(); } void ConfigList::saveSettings(void) { - if (name()) { - configSettings->beginGroup(name()); - configSettings->writeEntry("/showName", showName); - configSettings->writeEntry("/showRange", showRange); - configSettings->writeEntry("/showData", showData); - configSettings->writeEntry("/optionMode", (int)optMode); + if (!objectName().isEmpty()) { + configSettings->beginGroup(objectName()); + configSettings->setValue("/showName", showName); + configSettings->setValue("/showRange", showRange); + configSettings->setValue("/showData", showData); + configSettings->setValue("/optionMode", (int)optMode); configSettings->endGroup(); } } @@ -431,7 +408,10 @@ void ConfigList::updateSelection(void) struct menu *menu; enum prop_type type; - ConfigItem* item = (ConfigItem*)selectedItem(); + if (selectedItems().count() == 0) + return; + + ConfigItem* item = (ConfigItem*)selectedItems().first(); if (!item) return; @@ -451,21 +431,23 @@ void ConfigList::updateList(ConfigItem* item) if (!rootEntry) { if (mode != listMode) goto update; - Q3ListViewItemIterator it(this); + QTreeWidgetItemIterator it(this); ConfigItem* item; - for (; it.current(); ++it) { - item = (ConfigItem*)it.current(); + while (*it) { + item = (ConfigItem*)(*it); if (!item->menu) continue; item->testUpdateMenu(menu_is_visible(item->menu)); + + ++it; } return; } if (rootEntry != &rootmenu && (mode == singleMode || (mode == symbolMode && rootEntry->parent != &rootmenu))) { - item = firstChild(); + item = (ConfigItem *)topLevelItem(0); if (!item) item = new ConfigItem(this, 0, true); last = item; @@ -479,12 +461,14 @@ void ConfigList::updateList(ConfigItem* item) item->testUpdateMenu(true); updateMenuList(item, rootEntry); - triggerUpdate(); + update(); + resizeColumnToContents(0); return; } update: updateMenuList(this, rootEntry); - triggerUpdate(); + update(); + resizeColumnToContents(0); } void ConfigList::setValue(ConfigItem* item, tristate val) @@ -506,7 +490,7 @@ void ConfigList::setValue(ConfigItem* item, tristate val) if (!sym_set_tristate_value(sym, val)) return; if (oldval == no && item->menu->list) - item->setOpen(TRUE); + item->setExpanded(true); parent()->updateList(item); break; } @@ -524,7 +508,7 @@ void ConfigList::changeValue(ConfigItem* item) sym = menu->sym; if (!sym) { if (item->menu->list) - item->setOpen(!item->isOpen()); + item->setExpanded(!item->isExpanded()); return; } @@ -536,9 +520,9 @@ void ConfigList::changeValue(ConfigItem* item) newexpr = sym_toggle_tristate_value(sym); if (item->menu->list) { if (oldexpr == newexpr) - item->setOpen(!item->isOpen()); + item->setExpanded(!item->isExpanded()); else if (oldexpr == no) - item->setOpen(TRUE); + item->setExpanded(true); } if (oldexpr != newexpr) parent()->updateList(item); @@ -546,10 +530,7 @@ void ConfigList::changeValue(ConfigItem* item) case S_INT: case S_HEX: case S_STRING: - if (colMap[dataColIdx] >= 0) - item->startRename(colMap[dataColIdx]); - else - parent()->lineEdit->show(item); + parent()->lineEdit->show(item); break; } } @@ -566,8 +547,10 @@ void ConfigList::setRootMenu(struct menu *menu) updateMenuList(this, 0); rootEntry = menu; updateListAll(); - setSelected(currentItem(), hasFocus()); - ensureItemVisible(currentItem()); + if (currentItem()) { + currentItem()->setSelected(hasFocus()); + scrollToItem(currentItem()); + } } void ConfigList::setParentMenu(void) @@ -580,13 +563,16 @@ void ConfigList::setParentMenu(void) return; setRootMenu(menu_get_parent_menu(rootEntry->parent)); - Q3ListViewItemIterator it(this); - for (; (item = (ConfigItem*)it.current()); it++) { + QTreeWidgetItemIterator it(this); + while (*it) { + item = (ConfigItem *)(*it); if (item->menu == oldroot) { setCurrentItem(item); - ensureItemVisible(item); + scrollToItem(item); break; } + + ++it; } } @@ -597,8 +583,7 @@ void ConfigList::setParentMenu(void) * parent: either the menu list widget or a menu entry widget * menu: entry to be updated */ -template -void ConfigList::updateMenuList(P* parent, struct menu* menu) +void ConfigList::updateMenuList(ConfigItem *parent, struct menu* menu) { struct menu* child; ConfigItem* item; @@ -607,8 +592,11 @@ void ConfigList::updateMenuList(P* parent, struct menu* menu) enum prop_type type; if (!menu) { - while ((item = parent->firstChild())) - delete item; + while (parent->childCount() > 0) + { + delete parent->takeChild(0); + } + return; } @@ -660,9 +648,74 @@ void ConfigList::updateMenuList(P* parent, struct menu* menu) } } +void ConfigList::updateMenuList(ConfigList *parent, struct menu* menu) +{ + struct menu* child; + ConfigItem* item; + ConfigItem* last; + bool visible; + enum prop_type type; + + if (!menu) { + while (parent->topLevelItemCount() > 0) + { + delete parent->takeTopLevelItem(0); + } + + return; + } + + last = (ConfigItem*)parent->topLevelItem(0); + if (last && !last->goParent) + last = 0; + for (child = menu->list; child; child = child->next) { + item = last ? last->nextSibling() : (ConfigItem*)parent->topLevelItem(0); + type = child->prompt ? child->prompt->type : P_UNKNOWN; + + switch (mode) { + case menuMode: + if (!(child->flags & MENU_ROOT)) + goto hide; + break; + case symbolMode: + if (child->flags & MENU_ROOT) + goto hide; + break; + default: + break; + } + + visible = menu_is_visible(child); + if (!menuSkip(child)) { + if (!child->sym && !child->list && !child->prompt) + continue; + if (!item || item->menu != child) + item = new ConfigItem(parent, last, child, visible); + else + item->testUpdateMenu(visible); + + if (mode == fullMode || mode == menuMode || type != P_MENU) + updateMenuList(item, child); + else + updateMenuList(item, 0); + last = item; + continue; + } + hide: + if (item && item->menu == child) { + last = (ConfigItem*)parent->topLevelItem(0); + if (last == item) + last = 0; + else while (last->nextSibling() != item) + last = last->nextSibling(); + delete item; + } + } +} + void ConfigList::keyPressEvent(QKeyEvent* ev) { - Q3ListViewItem* i = currentItem(); + QTreeWidgetItem* i = currentItem(); ConfigItem* item; struct menu *menu; enum prop_type type; @@ -714,20 +767,20 @@ void ConfigList::keyPressEvent(QKeyEvent* ev) ev->accept(); } -void ConfigList::contentsMousePressEvent(QMouseEvent* e) +void ConfigList::mousePressEvent(QMouseEvent* e) { //QPoint p(contentsToViewport(e->pos())); //printf("contentsMousePressEvent: %d,%d\n", p.x(), p.y()); - Parent::contentsMousePressEvent(e); + Parent::mousePressEvent(e); } -void ConfigList::contentsMouseReleaseEvent(QMouseEvent* e) +void ConfigList::mouseReleaseEvent(QMouseEvent* e) { - QPoint p(contentsToViewport(e->pos())); + QPoint p = e->pos(); ConfigItem* item = (ConfigItem*)itemAt(p); struct menu *menu; enum prop_type ptype; - const QPixmap* pm; + QIcon icon; int idx, x; if (!item) @@ -735,14 +788,13 @@ void ConfigList::contentsMouseReleaseEvent(QMouseEvent* e) menu = item->menu; x = header()->offset() + p.x(); - idx = colRevMap[header()->sectionAt(x)]; + idx = header()->logicalIndexAt(x); switch (idx) { case promptColIdx: - pm = item->pixmap(promptColIdx); - if (pm) { - int off = header()->sectionPos(0) + itemMargin() + - treeStepSize() * (item->depth() + (rootIsDecorated() ? 1 : 0)); - if (x >= off && x < off + pm->width()) { + icon = item->pixmap(promptColIdx); + if (!icon.isNull()) { + int off = header()->sectionPosition(0) + visualRect(indexAt(p)).x() + 4; // 4 is Hardcoded image offset. There might be a way to do it properly. + if (x >= off && x < off + icon.availableSizes().first().width()) { if (item->goParent) { emit parentSelected(); break; @@ -773,19 +825,19 @@ void ConfigList::contentsMouseReleaseEvent(QMouseEvent* e) skip: //printf("contentsMouseReleaseEvent: %d,%d\n", p.x(), p.y()); - Parent::contentsMouseReleaseEvent(e); + Parent::mouseReleaseEvent(e); } -void ConfigList::contentsMouseMoveEvent(QMouseEvent* e) +void ConfigList::mouseMoveEvent(QMouseEvent* e) { //QPoint p(contentsToViewport(e->pos())); //printf("contentsMouseMoveEvent: %d,%d\n", p.x(), p.y()); - Parent::contentsMouseMoveEvent(e); + Parent::mouseMoveEvent(e); } -void ConfigList::contentsMouseDoubleClickEvent(QMouseEvent* e) +void ConfigList::mouseDoubleClickEvent(QMouseEvent* e) { - QPoint p(contentsToViewport(e->pos())); + QPoint p = e->pos(); // TODO: Check if this works(was contentsToViewport). ConfigItem* item = (ConfigItem*)itemAt(p); struct menu *menu; enum prop_type ptype; @@ -807,7 +859,7 @@ void ConfigList::contentsMouseDoubleClickEvent(QMouseEvent* e) skip: //printf("contentsMouseDoubleClickEvent: %d,%d\n", p.x(), p.y()); - Parent::contentsMouseDoubleClickEvent(e); + Parent::mouseDoubleClickEvent(e); } void ConfigList::focusInEvent(QFocusEvent *e) @@ -818,7 +870,7 @@ void ConfigList::focusInEvent(QFocusEvent *e) ConfigItem* item = (ConfigItem *)currentItem(); if (item) { - setSelected(item, TRUE); + item->setSelected(true); menu = item->menu; } emit gotFocus(menu); @@ -828,33 +880,33 @@ void ConfigList::contextMenuEvent(QContextMenuEvent *e) { if (e->y() <= header()->geometry().bottom()) { if (!headerPopup) { - Q3Action *action; + QAction *action; - headerPopup = new Q3PopupMenu(this); - action = new Q3Action(NULL, _("Show Name"), 0, this); - action->setToggleAction(TRUE); + headerPopup = new QMenu(this); + action = new QAction(_("Show Name"), this); + action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), parent(), SLOT(setShowName(bool))); connect(parent(), SIGNAL(showNameChanged(bool)), action, SLOT(setOn(bool))); - action->setOn(showName); - action->addTo(headerPopup); - action = new Q3Action(NULL, _("Show Range"), 0, this); - action->setToggleAction(TRUE); + action->setChecked(showName); + headerPopup->addAction(action); + action = new QAction(_("Show Range"), this); + action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), parent(), SLOT(setShowRange(bool))); connect(parent(), SIGNAL(showRangeChanged(bool)), action, SLOT(setOn(bool))); - action->setOn(showRange); - action->addTo(headerPopup); - action = new Q3Action(NULL, _("Show Data"), 0, this); - action->setToggleAction(TRUE); + action->setChecked(showRange); + headerPopup->addAction(action); + action = new QAction(_("Show Data"), this); + action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), parent(), SLOT(setShowData(bool))); connect(parent(), SIGNAL(showDataChanged(bool)), action, SLOT(setOn(bool))); - action->setOn(showData); - action->addTo(headerPopup); + action->setChecked(showData); + headerPopup->addAction(action); } headerPopup->exec(e->globalPos()); e->accept(); @@ -868,11 +920,17 @@ QAction *ConfigView::showAllAction; QAction *ConfigView::showPromptAction; ConfigView::ConfigView(QWidget* parent, const char *name) - : Parent(parent, name) + : Parent(parent) { - list = new ConfigList(this, name); + setObjectName(name); + QVBoxLayout *verticalLayout = new QVBoxLayout(this); + verticalLayout->setContentsMargins(0, 0, 0, 0); + + list = new ConfigList(this); + verticalLayout->addWidget(list); lineEdit = new ConfigLineEdit(this); lineEdit->hide(); + verticalLayout->addWidget(lineEdit); this->nextView = viewList; viewList = this; @@ -931,10 +989,13 @@ void ConfigView::setShowData(bool b) void ConfigList::setAllOpen(bool open) { - Q3ListViewItemIterator it(this); + QTreeWidgetItemIterator it(this); - for (; it.current(); it++) - it.current()->setOpen(open); + while (*it) { + (*it)->setExpanded(open); + + ++it; + } } void ConfigView::updateList(ConfigItem* item) @@ -954,11 +1015,14 @@ void ConfigView::updateListAll(void) } ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name) - : Parent(parent, name), sym(0), _menu(0) + : Parent(parent), sym(0), _menu(0) { - if (name) { - configSettings->beginGroup(name); - _showDebug = configSettings->readBoolEntry("/showDebug", false); + setObjectName(name); + + + if (!objectName().isEmpty()) { + configSettings->beginGroup(objectName()); + setShowDebug(configSettings->value("/showDebug", false).toBool()); configSettings->endGroup(); connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings())); } @@ -966,9 +1030,9 @@ ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name) void ConfigInfoView::saveSettings(void) { - if (name()) { - configSettings->beginGroup(name()); - configSettings->writeEntry("/showDebug", showDebug()); + if (!objectName().isEmpty()) { + configSettings->beginGroup(objectName()); + configSettings->setValue("/showDebug", showDebug()); configSettings->endGroup(); } } @@ -1127,8 +1191,8 @@ QString ConfigInfoView::print_filter(const QString &str) { QRegExp re("[<>&\"\\n]"); QString res = str; - for (int i = 0; (i = res.find(re, i)) >= 0;) { - switch (res[i].latin1()) { + for (int i = 0; (i = res.indexOf(re, i)) >= 0;) { + switch (res[i].toLatin1()) { case '<': res.replace(i, 1, "<"); i += 4; @@ -1167,37 +1231,42 @@ void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char *text += str2; } -Q3PopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos) +QMenu* ConfigInfoView::createStandardContextMenu(const QPoint & pos) { - Q3PopupMenu* popup = Parent::createPopupMenu(pos); - Q3Action* action = new Q3Action(NULL, _("Show Debug Info"), 0, popup); - action->setToggleAction(TRUE); + QMenu* popup = Parent::createStandardContextMenu(pos); + QAction* action = new QAction(_("Show Debug Info"), popup); + action->setCheckable(true); connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool))); connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool))); - action->setOn(showDebug()); - popup->insertSeparator(); - action->addTo(popup); + action->setChecked(showDebug()); + popup->addSeparator(); + popup->addAction(action); return popup; } -void ConfigInfoView::contentsContextMenuEvent(QContextMenuEvent *e) +void ConfigInfoView::contextMenuEvent(QContextMenuEvent *e) { - Parent::contentsContextMenuEvent(e); + Parent::contextMenuEvent(e); } ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *name) - : Parent(parent, name), result(NULL) + : Parent(parent), result(NULL) { - setCaption("Search Config"); + setObjectName(name); + setWindowTitle("Search Config"); - QVBoxLayout* layout1 = new QVBoxLayout(this, 11, 6); - QHBoxLayout* layout2 = new QHBoxLayout(0, 0, 6); + QVBoxLayout* layout1 = new QVBoxLayout(this); + layout1->setContentsMargins(11, 11, 11, 11); + layout1->setSpacing(6); + QHBoxLayout* layout2 = new QHBoxLayout(0); + layout2->setContentsMargins(0, 0, 0, 0); + layout2->setSpacing(6); layout2->addWidget(new QLabel(_("Find:"), this)); editField = new QLineEdit(this); connect(editField, SIGNAL(returnPressed()), SLOT(search())); layout2->addWidget(editField); searchButton = new QPushButton(_("Search"), this); - searchButton->setAutoDefault(FALSE); + searchButton->setAutoDefault(false); connect(searchButton, SIGNAL(clicked()), SLOT(search())); layout2->addWidget(searchButton); layout1->addLayout(layout2); @@ -1215,19 +1284,19 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *nam layout1->addWidget(split); if (name) { - int x, y, width, height; + QVariant x, y; + int width, height; bool ok; configSettings->beginGroup(name); - width = configSettings->readNumEntry("/window width", parent->width() / 2); - height = configSettings->readNumEntry("/window height", parent->height() / 2); + width = configSettings->value("/window width", parent->width() / 2).toInt(); + height = configSettings->value("/window height", parent->height() / 2).toInt(); resize(width, height); - x = configSettings->readNumEntry("/window x", 0, &ok); - if (ok) - y = configSettings->readNumEntry("/window y", 0, &ok); - if (ok) - move(x, y); - Q3ValueList sizes = configSettings->readSizes("/split", &ok); + x = configSettings->value("/window x"); + y = configSettings->value("/window y"); + if ((x.isValid())&&(y.isValid())) + move(x.toInt(), y.toInt()); + QList sizes = configSettings->readSizes("/split", &ok); if (ok) split->setSizes(sizes); configSettings->endGroup(); @@ -1237,12 +1306,12 @@ ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *nam void ConfigSearchWindow::saveSettings(void) { - if (name()) { - configSettings->beginGroup(name()); - configSettings->writeEntry("/window x", pos().x()); - configSettings->writeEntry("/window y", pos().y()); - configSettings->writeEntry("/window width", size().width()); - configSettings->writeEntry("/window height", size().height()); + if (!objectName().isEmpty()) { + configSettings->beginGroup(objectName()); + configSettings->setValue("/window x", pos().x()); + configSettings->setValue("/window y", pos().y()); + configSettings->setValue("/window width", size().width()); + configSettings->setValue("/window height", size().height()); configSettings->writeSizes("/split", split->sizes()); configSettings->endGroup(); } @@ -1258,7 +1327,7 @@ void ConfigSearchWindow::search(void) list->list->clear(); info->clear(); - result = sym_re_search(editField->text().latin1()); + result = sym_re_search(editField->text().toLatin1()); if (!result) return; for (p = result; *p; p++) { @@ -1275,29 +1344,25 @@ ConfigMainWindow::ConfigMainWindow(void) : searchWindow(0) { QMenuBar* menu; - bool ok; - int x, y, width, height; + bool ok = true; + QVariant x, y; + int width, height; char title[256]; QDesktopWidget *d = configApp->desktop(); snprintf(title, sizeof(title), "%s%s", rootmenu.prompt->text, -#if QT_VERSION < 0x040000 - " (Qt3)" -#else "" -#endif ); - setCaption(title); + setWindowTitle(title); - width = configSettings->readNumEntry("/window width", d->width() - 64); - height = configSettings->readNumEntry("/window height", d->height() - 64); + width = configSettings->value("/window width", d->width() - 64).toInt(); + height = configSettings->value("/window height", d->height() - 64).toInt(); resize(width, height); - x = configSettings->readNumEntry("/window x", 0, &ok); - if (ok) - y = configSettings->readNumEntry("/window y", 0, &ok); - if (ok) - move(x, y); + x = configSettings->value("/window x"); + y = configSettings->value("/window y"); + if ((x.isValid())&&(y.isValid())) + move(x.toInt(), y.toInt()); split1 = new QSplitter(this); split1->setOrientation(Qt::Horizontal); @@ -1314,127 +1379,116 @@ ConfigMainWindow::ConfigMainWindow(void) configList = configView->list; helpText = new ConfigInfoView(split2, "help"); - helpText->setTextFormat(Qt::RichText); setTabOrder(configList, helpText); configList->setFocus(); menu = menuBar(); - toolBar = new Q3ToolBar("Tools", this); + toolBar = new QToolBar("Tools", this); + addToolBar(toolBar); - backAction = new Q3Action("Back", QPixmap(xpm_back), _("Back"), 0, this); - connect(backAction, SIGNAL(activated()), SLOT(goBack())); - backAction->setEnabled(FALSE); - Q3Action *quitAction = new Q3Action("Quit", _("&Quit"), Qt::CTRL + Qt::Key_Q, this); - connect(quitAction, SIGNAL(activated()), SLOT(close())); - Q3Action *loadAction = new Q3Action("Load", QPixmap(xpm_load), _("&Load"), Qt::CTRL + Qt::Key_L, this); - connect(loadAction, SIGNAL(activated()), SLOT(loadConfig())); - saveAction = new Q3Action("Save", QPixmap(xpm_save), _("&Save"), Qt::CTRL + Qt::Key_S, this); - connect(saveAction, SIGNAL(activated()), SLOT(saveConfig())); + backAction = new QAction(QPixmap(xpm_back), _("Back"), this); + connect(backAction, SIGNAL(triggered(bool)), SLOT(goBack())); + backAction->setEnabled(false); + QAction *quitAction = new QAction(_("&Quit"), this); + quitAction->setShortcut(Qt::CTRL + Qt::Key_Q); + connect(quitAction, SIGNAL(triggered(bool)), SLOT(close())); + QAction *loadAction = new QAction(QPixmap(xpm_load), _("&Load"), this); + loadAction->setShortcut(Qt::CTRL + Qt::Key_L); + connect(loadAction, SIGNAL(triggered(bool)), SLOT(loadConfig())); + saveAction = new QAction(QPixmap(xpm_save), _("&Save"), this); + saveAction->setShortcut(Qt::CTRL + Qt::Key_S); + connect(saveAction, SIGNAL(triggered(bool)), SLOT(saveConfig())); conf_set_changed_callback(conf_changed); // Set saveAction's initial state conf_changed(); - Q3Action *saveAsAction = new Q3Action("Save As...", _("Save &As..."), 0, this); - connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs())); - Q3Action *searchAction = new Q3Action("Find", _("&Find"), Qt::CTRL + Qt::Key_F, this); - connect(searchAction, SIGNAL(activated()), SLOT(searchConfig())); - Q3Action *singleViewAction = new Q3Action("Single View", QPixmap(xpm_single_view), _("Single View"), 0, this); - connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView())); - Q3Action *splitViewAction = new Q3Action("Split View", QPixmap(xpm_split_view), _("Split View"), 0, this); - connect(splitViewAction, SIGNAL(activated()), SLOT(showSplitView())); - Q3Action *fullViewAction = new Q3Action("Full View", QPixmap(xpm_tree_view), _("Full View"), 0, this); - connect(fullViewAction, SIGNAL(activated()), SLOT(showFullView())); + QAction *saveAsAction = new QAction(_("Save &As..."), this); + connect(saveAsAction, SIGNAL(triggered(bool)), SLOT(saveConfigAs())); + QAction *searchAction = new QAction(_("&Find"), this); + searchAction->setShortcut(Qt::CTRL + Qt::Key_F); + connect(searchAction, SIGNAL(triggered(bool)), SLOT(searchConfig())); + singleViewAction = new QAction(QPixmap(xpm_single_view), _("Single View"), this); + singleViewAction->setCheckable(true); + connect(singleViewAction, SIGNAL(triggered(bool)), SLOT(showSingleView())); + splitViewAction = new QAction(QPixmap(xpm_split_view), _("Split View"), this); + splitViewAction->setCheckable(true); + connect(splitViewAction, SIGNAL(triggered(bool)), SLOT(showSplitView())); + fullViewAction = new QAction(QPixmap(xpm_tree_view), _("Full View"), this); + fullViewAction->setCheckable(true); + connect(fullViewAction, SIGNAL(triggered(bool)), SLOT(showFullView())); - Q3Action *showNameAction = new Q3Action(NULL, _("Show Name"), 0, this); - showNameAction->setToggleAction(TRUE); + QAction *showNameAction = new QAction(_("Show Name"), this); + showNameAction->setCheckable(true); connect(showNameAction, SIGNAL(toggled(bool)), configView, SLOT(setShowName(bool))); - connect(configView, SIGNAL(showNameChanged(bool)), showNameAction, SLOT(setOn(bool))); - showNameAction->setOn(configView->showName()); - Q3Action *showRangeAction = new Q3Action(NULL, _("Show Range"), 0, this); - showRangeAction->setToggleAction(TRUE); + showNameAction->setChecked(configView->showName()); + QAction *showRangeAction = new QAction(_("Show Range"), this); + showRangeAction->setCheckable(true); connect(showRangeAction, SIGNAL(toggled(bool)), configView, SLOT(setShowRange(bool))); - connect(configView, SIGNAL(showRangeChanged(bool)), showRangeAction, SLOT(setOn(bool))); - showRangeAction->setOn(configList->showRange); - Q3Action *showDataAction = new Q3Action(NULL, _("Show Data"), 0, this); - showDataAction->setToggleAction(TRUE); + QAction *showDataAction = new QAction(_("Show Data"), this); + showDataAction->setCheckable(true); connect(showDataAction, SIGNAL(toggled(bool)), configView, SLOT(setShowData(bool))); - connect(configView, SIGNAL(showDataChanged(bool)), showDataAction, SLOT(setOn(bool))); - showDataAction->setOn(configList->showData); QActionGroup *optGroup = new QActionGroup(this); - optGroup->setExclusive(TRUE); - connect(optGroup, SIGNAL(selected(QAction *)), configView, + optGroup->setExclusive(true); + connect(optGroup, SIGNAL(triggered(QAction*)), configView, SLOT(setOptionMode(QAction *))); - connect(optGroup, SIGNAL(selected(QAction *)), menuView, + connect(optGroup, SIGNAL(triggered(QAction *)), menuView, SLOT(setOptionMode(QAction *))); -#if QT_VERSION >= 0x040000 configView->showNormalAction = new QAction(_("Show Normal Options"), optGroup); configView->showAllAction = new QAction(_("Show All Options"), optGroup); configView->showPromptAction = new QAction(_("Show Prompt Options"), optGroup); -#else - configView->showNormalAction = new QAction(_("Show Normal Options"), 0, optGroup); - configView->showAllAction = new QAction(_("Show All Options"), 0, optGroup); - configView->showPromptAction = new QAction(_("Show Prompt Options"), 0, optGroup); -#endif - configView->showNormalAction->setToggleAction(TRUE); - configView->showNormalAction->setOn(configList->optMode == normalOpt); - configView->showAllAction->setToggleAction(TRUE); - configView->showAllAction->setOn(configList->optMode == allOpt); - configView->showPromptAction->setToggleAction(TRUE); - configView->showPromptAction->setOn(configList->optMode == promptOpt); + configView->showNormalAction->setCheckable(true); + configView->showAllAction->setCheckable(true); + configView->showPromptAction->setCheckable(true); - Q3Action *showDebugAction = new Q3Action(NULL, _("Show Debug Info"), 0, this); - showDebugAction->setToggleAction(TRUE); + QAction *showDebugAction = new QAction( _("Show Debug Info"), this); + showDebugAction->setCheckable(true); connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool))); - connect(helpText, SIGNAL(showDebugChanged(bool)), showDebugAction, SLOT(setOn(bool))); - showDebugAction->setOn(helpText->showDebug()); + showDebugAction->setChecked(helpText->showDebug()); - Q3Action *showIntroAction = new Q3Action(NULL, _("Introduction"), 0, this); - connect(showIntroAction, SIGNAL(activated()), SLOT(showIntro())); - Q3Action *showAboutAction = new Q3Action(NULL, _("About"), 0, this); - connect(showAboutAction, SIGNAL(activated()), SLOT(showAbout())); + QAction *showIntroAction = new QAction( _("Introduction"), this); + connect(showIntroAction, SIGNAL(triggered(bool)), SLOT(showIntro())); + QAction *showAboutAction = new QAction( _("About"), this); + connect(showAboutAction, SIGNAL(triggered(bool)), SLOT(showAbout())); // init tool bar - backAction->addTo(toolBar); + toolBar->addAction(backAction); toolBar->addSeparator(); - loadAction->addTo(toolBar); - saveAction->addTo(toolBar); + toolBar->addAction(loadAction); + toolBar->addAction(saveAction); toolBar->addSeparator(); - singleViewAction->addTo(toolBar); - splitViewAction->addTo(toolBar); - fullViewAction->addTo(toolBar); + toolBar->addAction(singleViewAction); + toolBar->addAction(splitViewAction); + toolBar->addAction(fullViewAction); // create config menu - Q3PopupMenu* config = new Q3PopupMenu(this); - menu->insertItem(_("&File"), config); - loadAction->addTo(config); - saveAction->addTo(config); - saveAsAction->addTo(config); - config->insertSeparator(); - quitAction->addTo(config); + QMenu* config = menu->addMenu(_("&File")); + config->addAction(loadAction); + config->addAction(saveAction); + config->addAction(saveAsAction); + config->addSeparator(); + config->addAction(quitAction); // create edit menu - Q3PopupMenu* editMenu = new Q3PopupMenu(this); - menu->insertItem(_("&Edit"), editMenu); - searchAction->addTo(editMenu); + QMenu* editMenu = menu->addMenu(_("&Edit")); + editMenu->addAction(searchAction); // create options menu - Q3PopupMenu* optionMenu = new Q3PopupMenu(this); - menu->insertItem(_("&Option"), optionMenu); - showNameAction->addTo(optionMenu); - showRangeAction->addTo(optionMenu); - showDataAction->addTo(optionMenu); - optionMenu->insertSeparator(); - optGroup->addTo(optionMenu); - optionMenu->insertSeparator(); + QMenu* optionMenu = menu->addMenu(_("&Option")); + optionMenu->addAction(showNameAction); + optionMenu->addAction(showRangeAction); + optionMenu->addAction(showDataAction); + optionMenu->addSeparator(); + optionMenu->addActions(optGroup->actions()); + optionMenu->addSeparator(); + optionMenu->addAction(showDebugAction); // create help menu - Q3PopupMenu* helpMenu = new Q3PopupMenu(this); - menu->insertSeparator(); - menu->insertItem(_("&Help"), helpMenu); - showIntroAction->addTo(helpMenu); - showAboutAction->addTo(helpMenu); + menu->addSeparator(); + QMenu* helpMenu = menu->addMenu(_("&Help")); + helpMenu->addAction(showIntroAction); + helpMenu->addAction(showAboutAction); connect(configList, SIGNAL(menuChanged(struct menu *)), helpText, SLOT(setInfo(struct menu *))); @@ -1456,7 +1510,7 @@ ConfigMainWindow::ConfigMainWindow(void) connect(helpText, SIGNAL(menuSelected(struct menu *)), SLOT(setMenuLink(struct menu *))); - QString listMode = configSettings->readEntry("/listMode", "symbol"); + QString listMode = configSettings->value("/listMode", "symbol").toString(); if (listMode == "single") showSingleView(); else if (listMode == "full") @@ -1465,7 +1519,7 @@ ConfigMainWindow::ConfigMainWindow(void) showSplitView(); // UI setup done, restore splitter positions - Q3ValueList sizes = configSettings->readSizes("/split1", &ok); + QList sizes = configSettings->readSizes("/split1", &ok); if (ok) split1->setSizes(sizes); @@ -1476,7 +1530,7 @@ ConfigMainWindow::ConfigMainWindow(void) void ConfigMainWindow::loadConfig(void) { - QString s = Q3FileDialog::getOpenFileName(conf_get_configname(), NULL, this); + QString s = QFileDialog::getOpenFileName(this, "", conf_get_configname()); if (s.isNull()) return; if (conf_read(QFile::encodeName(s))) @@ -1495,7 +1549,7 @@ bool ConfigMainWindow::saveConfig(void) void ConfigMainWindow::saveConfigAs(void) { - QString s = Q3FileDialog::getSaveFileName(conf_get_configname(), NULL, this); + QString s = QFileDialog::getSaveFileName(this, "", conf_get_configname()); if (s.isNull()) return; saveConfig(); @@ -1512,9 +1566,9 @@ void ConfigMainWindow::changeMenu(struct menu *menu) { configList->setRootMenu(menu); if (configList->rootEntry->parent == &rootmenu) - backAction->setEnabled(FALSE); + backAction->setEnabled(false); else - backAction->setEnabled(TRUE); + backAction->setEnabled(true); } void ConfigMainWindow::setMenuLink(struct menu *menu) @@ -1546,8 +1600,8 @@ void ConfigMainWindow::setMenuLink(struct menu *menu) return; item = menuList->findConfigItem(parent); if (item) { - menuList->setSelected(item, TRUE); - menuList->ensureItemVisible(item); + item->setSelected(true); + menuList->scrollToItem(item); } list->setRootMenu(parent); } @@ -1562,8 +1616,8 @@ void ConfigMainWindow::setMenuLink(struct menu *menu) if (list) { item = list->findConfigItem(menu); if (item) { - list->setSelected(item, TRUE); - list->ensureItemVisible(item); + item->setSelected(true); + list->scrollToItem(item); list->setFocus(); } } @@ -1577,15 +1631,21 @@ void ConfigMainWindow::listFocusChanged(void) void ConfigMainWindow::goBack(void) { - ConfigItem* item; + ConfigItem* item, *oldSelection; configList->setParentMenu(); if (configList->rootEntry == &rootmenu) - backAction->setEnabled(FALSE); - item = (ConfigItem*)menuList->selectedItem(); + backAction->setEnabled(false); + + if (menuList->selectedItems().count() == 0) + return; + + item = (ConfigItem*)menuList->selectedItems().first(); + oldSelection = item; while (item) { if (item->menu == configList->rootEntry) { - menuList->setSelected(item, TRUE); + oldSelection->setSelected(false); + item->setSelected(true); break; } item = (ConfigItem*)item->parent(); @@ -1594,6 +1654,13 @@ void ConfigMainWindow::goBack(void) void ConfigMainWindow::showSingleView(void) { + singleViewAction->setEnabled(false); + singleViewAction->setChecked(true); + splitViewAction->setEnabled(true); + splitViewAction->setChecked(false); + fullViewAction->setEnabled(true); + fullViewAction->setChecked(false); + menuView->hide(); menuList->setRootMenu(0); configList->mode = singleMode; @@ -1601,28 +1668,41 @@ void ConfigMainWindow::showSingleView(void) configList->updateListAll(); else configList->setRootMenu(&rootmenu); - configList->setAllOpen(TRUE); configList->setFocus(); } void ConfigMainWindow::showSplitView(void) { + singleViewAction->setEnabled(true); + singleViewAction->setChecked(false); + splitViewAction->setEnabled(false); + splitViewAction->setChecked(true); + fullViewAction->setEnabled(true); + fullViewAction->setChecked(false); + configList->mode = symbolMode; if (configList->rootEntry == &rootmenu) configList->updateListAll(); else configList->setRootMenu(&rootmenu); - configList->setAllOpen(TRUE); + configList->setAllOpen(true); configApp->processEvents(); menuList->mode = menuMode; menuList->setRootMenu(&rootmenu); - menuList->setAllOpen(TRUE); + menuList->setAllOpen(true); menuView->show(); menuList->setFocus(); } void ConfigMainWindow::showFullView(void) { + singleViewAction->setEnabled(true); + singleViewAction->setChecked(false); + splitViewAction->setEnabled(true); + splitViewAction->setChecked(false); + fullViewAction->setEnabled(false); + fullViewAction->setChecked(true); + menuView->hide(); menuList->setRootMenu(0); configList->mode = fullMode; @@ -1630,7 +1710,6 @@ void ConfigMainWindow::showFullView(void) configList->updateListAll(); else configList->setRootMenu(&rootmenu); - configList->setAllOpen(FALSE); configList->setFocus(); } @@ -1684,7 +1763,8 @@ void ConfigMainWindow::showIntro(void) void ConfigMainWindow::showAbout(void) { - static const QString str = _("qconf is Copyright (C) 2002 Roman Zippel .\n\n" + static const QString str = _("qconf is Copyright (C) 2002 Roman Zippel .\n" + "Copyright (C) 2015 Boris Barbulovski .\n\n" "Bug reports and feature request can also be entered at http://bugzilla.kernel.org/\n"); QMessageBox::information(this, "qconf", str); @@ -1692,10 +1772,10 @@ void ConfigMainWindow::showAbout(void) void ConfigMainWindow::saveSettings(void) { - configSettings->writeEntry("/window x", pos().x()); - configSettings->writeEntry("/window y", pos().y()); - configSettings->writeEntry("/window width", size().width()); - configSettings->writeEntry("/window height", size().height()); + configSettings->setValue("/window x", pos().x()); + configSettings->setValue("/window y", pos().y()); + configSettings->setValue("/window width", size().width()); + configSettings->setValue("/window height", size().height()); QString entry; switch(configList->mode) { @@ -1714,7 +1794,7 @@ void ConfigMainWindow::saveSettings(void) default: break; } - configSettings->writeEntry("/listMode", entry); + configSettings->setValue("/listMode", entry); configSettings->writeSizes("/split1", split1->sizes()); configSettings->writeSizes("/split2", split2->sizes()); @@ -1746,7 +1826,7 @@ static const char *progname; static void usage(void) { - printf(_("%s \n"), progname); + printf(_("%s [-s] \n").toLatin1().constData(), progname); exit(0); } @@ -1762,6 +1842,9 @@ int main(int ac, char** av) configApp = new QApplication(ac, av); if (ac > 1 && av[1][0] == '-') { switch (av[1][1]) { + case 's': + conf_set_message_callback(NULL); + break; case 'h': case '?': usage(); @@ -1782,7 +1865,6 @@ int main(int ac, char** av) v = new ConfigMainWindow(); //zconfdump(stdout); - configApp->setMainWidget(v); configApp->connect(configApp, SIGNAL(lastWindowClosed()), SLOT(quit())); configApp->connect(configApp, SIGNAL(aboutToQuit()), v, SLOT(saveSettings())); v->show(); @@ -1790,6 +1872,8 @@ int main(int ac, char** av) configSettings->endGroup(); delete configSettings; + delete v; + delete configApp; return 0; } diff --git a/bsp/buildroot/support/kconfig/qconf.h b/bsp/buildroot/support/kconfig/qconf.h index bde0c6b6..a40036d1 100644 --- a/bsp/buildroot/support/kconfig/qconf.h +++ b/bsp/buildroot/support/kconfig/qconf.h @@ -3,26 +3,18 @@ * Released under the terms of the GNU GPL v2.0. */ -#if QT_VERSION < 0x040000 -#include -#else -#include -#endif +#include +#include +#include +#include #include - -#if QT_VERSION < 0x040000 -#define Q3ValueList QValueList -#define Q3PopupMenu QPopupMenu -#define Q3ListView QListView -#define Q3ListViewItem QListViewItem -#define Q3VBox QVBox -#define Q3TextBrowser QTextBrowser -#define Q3MainWindow QMainWindow -#define Q3Action QAction -#define Q3ToolBar QToolBar -#define Q3ListViewItemIterator QListViewItemIterator -#define Q3FileDialog QFileDialog -#endif +#include +#include +#include +#include +#include +#include +#include "expr.h" class ConfigView; class ConfigList; @@ -33,8 +25,8 @@ class ConfigMainWindow; class ConfigSettings : public QSettings { public: ConfigSettings(); - Q3ValueList readSizes(const QString& key, bool *ok); - bool writeSizes(const QString& key, const Q3ValueList& value); + QList readSizes(const QString& key, bool *ok); + bool writeSizes(const QString& key, const QList& value); }; enum colIdx { @@ -47,9 +39,9 @@ enum optionMode { normalOpt = 0, allOpt, promptOpt }; -class ConfigList : public Q3ListView { +class ConfigList : public QTreeWidget { Q_OBJECT - typedef class Q3ListView Parent; + typedef class QTreeWidget Parent; public: ConfigList(ConfigView* p, const char *name = 0); void reinit(void); @@ -61,10 +53,10 @@ public: protected: void keyPressEvent(QKeyEvent *e); - void contentsMousePressEvent(QMouseEvent *e); - void contentsMouseReleaseEvent(QMouseEvent *e); - void contentsMouseMoveEvent(QMouseEvent *e); - void contentsMouseDoubleClickEvent(QMouseEvent *e); + void mousePressEvent(QMouseEvent *e); + void mouseReleaseEvent(QMouseEvent *e); + void mouseMoveEvent(QMouseEvent *e); + void mouseDoubleClickEvent(QMouseEvent *e); void focusInEvent(QFocusEvent *e); void contextMenuEvent(QContextMenuEvent *e); @@ -95,32 +87,23 @@ public: } ConfigItem* firstChild() const { - return (ConfigItem *)Parent::firstChild(); + return (ConfigItem *)children().first(); } - int mapIdx(colIdx idx) + void addColumn(colIdx idx) { - return colMap[idx]; - } - void addColumn(colIdx idx, const QString& label) - { - colMap[idx] = Parent::addColumn(label); - colRevMap[colMap[idx]] = idx; + showColumn(idx); } void removeColumn(colIdx idx) { - int col = colMap[idx]; - if (col >= 0) { - Parent::removeColumn(col); - colRevMap[col] = colMap[idx] = -1; - } + hideColumn(idx); } void setAllOpen(bool open); void setParentMenu(void); bool menuSkip(struct menu *); - template - void updateMenuList(P*, struct menu*); + void updateMenuList(ConfigItem *parent, struct menu*); + void updateMenuList(ConfigList *parent, struct menu*); bool updateAll; @@ -132,30 +115,26 @@ public: enum listMode mode; enum optionMode optMode; struct menu *rootEntry; - QColorGroup disabledColorGroup; - QColorGroup inactivedColorGroup; - Q3PopupMenu* headerPopup; - -private: - int colMap[colNr]; - int colRevMap[colNr]; + QPalette disabledColorGroup; + QPalette inactivedColorGroup; + QMenu* headerPopup; }; -class ConfigItem : public Q3ListViewItem { - typedef class Q3ListViewItem Parent; +class ConfigItem : public QTreeWidgetItem { + typedef class QTreeWidgetItem Parent; public: - ConfigItem(Q3ListView *parent, ConfigItem *after, struct menu *m, bool v) - : Parent(parent, after), menu(m), visible(v), goParent(false) + ConfigItem(ConfigList *parent, ConfigItem *after, struct menu *m, bool v) + : Parent(parent, after), nextItem(0), menu(m), visible(v), goParent(false) { init(); } ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v) - : Parent(parent, after), menu(m), visible(v), goParent(false) + : Parent(parent, after), nextItem(0), menu(m), visible(v), goParent(false) { init(); } - ConfigItem(Q3ListView *parent, ConfigItem *after, bool v) - : Parent(parent, after), menu(0), visible(v), goParent(true) + ConfigItem(ConfigList *parent, ConfigItem *after, bool v) + : Parent(parent, after), nextItem(0), menu(0), visible(v), goParent(true) { init(); } @@ -166,33 +145,43 @@ public: void testUpdateMenu(bool v); ConfigList* listView() const { - return (ConfigList*)Parent::listView(); + return (ConfigList*)Parent::treeWidget(); } ConfigItem* firstChild() const { - return (ConfigItem *)Parent::firstChild(); + return (ConfigItem *)Parent::child(0); } - ConfigItem* nextSibling() const + ConfigItem* nextSibling() { - return (ConfigItem *)Parent::nextSibling(); + ConfigItem *ret = NULL; + ConfigItem *_parent = (ConfigItem *)parent(); + + if(_parent) { + ret = (ConfigItem *)_parent->child(_parent->indexOfChild(this)+1); + } else { + QTreeWidget *_treeWidget = treeWidget(); + ret = (ConfigItem *)_treeWidget->topLevelItem(_treeWidget->indexOfTopLevelItem(this)+1); + } + + return ret; } void setText(colIdx idx, const QString& text) { - Parent::setText(listView()->mapIdx(idx), text); + Parent::setText(idx, text); } QString text(colIdx idx) const { - return Parent::text(listView()->mapIdx(idx)); + return Parent::text(idx); } - void setPixmap(colIdx idx, const QPixmap& pm) + void setPixmap(colIdx idx, const QIcon &icon) { - Parent::setPixmap(listView()->mapIdx(idx), pm); + Parent::setIcon(idx, icon); } - const QPixmap* pixmap(colIdx idx) const + const QIcon pixmap(colIdx idx) const { - return Parent::pixmap(listView()->mapIdx(idx)); + return icon(idx); } - void paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align); + // TODO: Implement paintCell ConfigItem* nextItem; struct menu *menu; @@ -216,9 +205,9 @@ public: ConfigItem *item; }; -class ConfigView : public Q3VBox { +class ConfigView : public QWidget { Q_OBJECT - typedef class Q3VBox Parent; + typedef class QWidget Parent; public: ConfigView(QWidget* parent, const char *name = 0); ~ConfigView(void); @@ -249,9 +238,9 @@ public: static QAction *showPromptAction; }; -class ConfigInfoView : public Q3TextBrowser { +class ConfigInfoView : public QTextBrowser { Q_OBJECT - typedef class Q3TextBrowser Parent; + typedef class QTextBrowser Parent; public: ConfigInfoView(QWidget* parent, const char *name = 0); bool showDebug(void) const { return _showDebug; } @@ -271,8 +260,8 @@ protected: QString debug_info(struct symbol *sym); static QString print_filter(const QString &str); static void expr_print_help(void *data, struct symbol *sym, const char *str); - Q3PopupMenu* createPopupMenu(const QPoint& pos); - void contentsContextMenuEvent(QContextMenuEvent *e); + QMenu *createStandardContextMenu(const QPoint & pos); + void contextMenuEvent(QContextMenuEvent *e); struct symbol *sym; struct menu *_menu; @@ -299,10 +288,10 @@ protected: struct symbol **result; }; -class ConfigMainWindow : public Q3MainWindow { +class ConfigMainWindow : public QMainWindow { Q_OBJECT - static Q3Action *saveAction; + static QAction *saveAction; static void conf_changed(void); public: ConfigMainWindow(void); @@ -331,8 +320,11 @@ protected: ConfigView *configView; ConfigList *configList; ConfigInfoView *helpText; - Q3ToolBar *toolBar; - Q3Action *backAction; - QSplitter* split1; - QSplitter* split2; + QToolBar *toolBar; + QAction *backAction; + QAction *singleViewAction; + QAction *splitViewAction; + QAction *fullViewAction; + QSplitter *split1; + QSplitter *split2; }; diff --git a/bsp/buildroot/support/kconfig/streamline_config.pl b/bsp/buildroot/support/kconfig/streamline_config.pl old mode 100644 new mode 100755 index 4606cdfb..a2e83ab1 --- a/bsp/buildroot/support/kconfig/streamline_config.pl +++ b/bsp/buildroot/support/kconfig/streamline_config.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/usr/bin/env perl # # Copyright 2005-2009 - Steven Rostedt # Licensed under the terms of the GNU GPL License version 2 @@ -42,6 +42,7 @@ # mv config_strip .config # make oldconfig # +use warnings; use strict; use Getopt::Long; @@ -137,7 +138,7 @@ my $ksource = ($ARGV[0] ? $ARGV[0] : '.'); my $kconfig = $ARGV[1]; my $lsmod_file = $ENV{'LSMOD'}; -my @makefiles = `find $ksource -name Makefile 2>/dev/null`; +my @makefiles = `find $ksource -name Makefile -or -name Kbuild 2>/dev/null`; chomp @makefiles; my %depends; @@ -188,7 +189,7 @@ sub read_kconfig { $cont = 0; # collect any Kconfig sources - if (/^source\s*"(.*)"/) { + if (/^source\s+"?([^"]+)/) { my $kconfig = $1; # prevent reading twice. if (!defined($read_kconfigs{$kconfig})) { @@ -219,6 +220,13 @@ sub read_kconfig { $depends{$config} = $1; } elsif ($state eq "DEP" && /^\s*depends\s+on\s+(.*)$/) { $depends{$config} .= " " . $1; + } elsif ($state eq "DEP" && /^\s*def(_(bool|tristate)|ault)\s+(\S.*)$/) { + my $dep = $3; + if ($dep !~ /^\s*(y|m|n)\s*$/) { + $dep =~ s/.*\sif\s+//; + $depends{$config} .= " " . $dep; + dprint "Added default depends $dep to $config\n"; + } # Get the configs that select this config } elsif ($state ne "NONE" && /^\s*select\s+(\S+)/) { @@ -230,7 +238,7 @@ sub read_kconfig { } # configs without prompts must be selected - } elsif ($state ne "NONE" && /^\s*tristate\s\S/) { + } elsif ($state ne "NONE" && /^\s*(tristate\s+\S|prompt\b)/) { # note if the config has a prompt $prompts{$config} = 1; @@ -249,8 +257,8 @@ sub read_kconfig { $iflevel-- if ($iflevel); - # stop on "help" - } elsif (/^\s*help\s*$/) { + # stop on "help" and keywords that end a menu entry + } elsif (/^\s*(---)?help(---)?\s*$/ || /^(comment|choice|menu)\b/) { $state = "NONE"; } } @@ -447,7 +455,7 @@ sub parse_config_depends $p =~ s/^[^$valid]*[$valid]+//; # We only need to process if the depend config is a module - if (!defined($orig_configs{$conf}) || !$orig_configs{conf} eq "m") { + if (!defined($orig_configs{$conf}) || $orig_configs{$conf} eq "y") { next; } @@ -582,7 +590,7 @@ while ($repeat) { # Now we need to see if we have to check selects; loop_select; -} +} my %setconfigs; @@ -603,6 +611,40 @@ foreach my $line (@config_file) { next; } + if (/CONFIG_MODULE_SIG_KEY="(.+)"/) { + my $orig_cert = $1; + my $default_cert = "certs/signing_key.pem"; + + # Check that the logic in this script still matches the one in Kconfig + if (!defined($depends{"MODULE_SIG_KEY"}) || + $depends{"MODULE_SIG_KEY"} !~ /"\Q$default_cert\E"/) { + print STDERR "WARNING: MODULE_SIG_KEY assertion failure, ", + "update needed to ", __FILE__, " line ", __LINE__, "\n"; + print; + } elsif ($orig_cert ne $default_cert && ! -f $orig_cert) { + print STDERR "Module signature verification enabled but ", + "module signing key \"$orig_cert\" not found. Resetting ", + "signing key to default value.\n"; + print "CONFIG_MODULE_SIG_KEY=\"$default_cert\"\n"; + } else { + print; + } + next; + } + + if (/CONFIG_SYSTEM_TRUSTED_KEYS="(.+)"/) { + my $orig_keys = $1; + + if (! -f $orig_keys) { + print STDERR "System keyring enabled but keys \"$orig_keys\" ", + "not found. Resetting keys to default value.\n"; + print "CONFIG_SYSTEM_TRUSTED_KEYS=\"\"\n"; + } else { + print; + } + next; + } + if (/^(CONFIG.*)=(m|y)/) { if (defined($configs{$1})) { if ($localyesconfig) { diff --git a/bsp/buildroot/support/kconfig/symbol.c b/bsp/buildroot/support/kconfig/symbol.c index 7caabdb5..f0b2e3b3 100644 --- a/bsp/buildroot/support/kconfig/symbol.c +++ b/bsp/buildroot/support/kconfig/symbol.c @@ -77,7 +77,7 @@ const char *sym_type_name(enum symbol_type type) { switch (type) { case S_BOOLEAN: - return "boolean"; + return "bool"; case S_TRISTATE: return "tristate"; case S_INT: @@ -112,7 +112,7 @@ struct property *sym_get_env_prop(struct symbol *sym) return NULL; } -struct property *sym_get_default_prop(struct symbol *sym) +static struct property *sym_get_default_prop(struct symbol *sym) { struct property *prop; @@ -183,18 +183,52 @@ static void sym_validate_range(struct symbol *sym) sprintf(str, "%lld", val2); else sprintf(str, "0x%llx", val2); - sym->curr.val = strdup(str); + sym->curr.val = xstrdup(str); +} + +static void sym_set_changed(struct symbol *sym) +{ + struct property *prop; + + sym->flags |= SYMBOL_CHANGED; + for (prop = sym->prop; prop; prop = prop->next) { + if (prop->menu) + prop->menu->flags |= MENU_CHANGED; + } +} + +static void sym_set_all_changed(void) +{ + struct symbol *sym; + int i; + + for_all_symbols(i, sym) + sym_set_changed(sym); } static void sym_calc_visibility(struct symbol *sym) { struct property *prop; + struct symbol *choice_sym = NULL; tristate tri; /* any prompt visible? */ tri = no; + + if (sym_is_choice_value(sym)) + choice_sym = prop_get_symbol(sym_get_choice_prop(sym)); + for_all_prompts(sym, prop) { prop->visible.tri = expr_calc_value(prop->visible.expr); + /* + * Tristate choice_values with visibility 'mod' are + * not visible if the corresponding choice's value is + * 'yes'. + */ + if (choice_sym && sym->type == S_TRISTATE && + prop->visible.tri == mod && choice_sym->curr.tri == yes) + prop->visible.tri = no; + tri = EXPR_OR(tri, prop->visible.tri); } if (tri == mod && (sym->type != S_TRISTATE || modules_val == no)) @@ -209,7 +243,7 @@ static void sym_calc_visibility(struct symbol *sym) tri = yes; if (sym->dir_dep.expr) tri = expr_calc_value(sym->dir_dep.expr); - if (tri == mod) + if (tri == mod && sym_get_type(sym) == S_BOOLEAN) tri = yes; if (sym->dir_dep.tri != tri) { sym->dir_dep.tri = tri; @@ -224,6 +258,15 @@ static void sym_calc_visibility(struct symbol *sym) sym->rev_dep.tri = tri; sym_set_changed(sym); } + tri = no; + if (sym->implied.expr && sym->dir_dep.tri != no) + tri = expr_calc_value(sym->implied.expr); + if (tri == mod && sym_get_type(sym) == S_BOOLEAN) + tri = yes; + if (sym->implied.tri != tri) { + sym->implied.tri = tri; + sym_set_changed(sym); + } } /* @@ -290,6 +333,27 @@ static struct symbol *sym_calc_choice(struct symbol *sym) return def_sym; } +static void sym_warn_unmet_dep(struct symbol *sym) +{ + struct gstr gs = str_new(); + + str_printf(&gs, + "\nWARNING: unmet direct dependencies detected for %s\n", + sym->name); + str_printf(&gs, + " Depends on [%c]: ", + sym->dir_dep.tri == mod ? 'm' : 'n'); + expr_gstr_print(sym->dir_dep.expr, &gs); + str_printf(&gs, "\n"); + + expr_gstr_print_revdep(sym->rev_dep.expr, &gs, yes, + " Selected by [y]:\n"); + expr_gstr_print_revdep(sym->rev_dep.expr, &gs, mod, + " Selected by [m]:\n"); + + fputs(str_get(&gs), stderr); +} + void sym_calc_value(struct symbol *sym) { struct symbol_value newval, oldval; @@ -328,11 +392,13 @@ void sym_calc_value(struct symbol *sym) sym->curr.tri = no; return; } - if (!sym_is_choice_value(sym)) - sym->flags &= ~SYMBOL_WRITE; + sym->flags &= ~SYMBOL_WRITE; sym_calc_visibility(sym); + if (sym->visible != no) + sym->flags |= SYMBOL_WRITE; + /* set default if recursively called */ sym->curr = newval; @@ -347,7 +413,6 @@ void sym_calc_value(struct symbol *sym) /* if the symbol is visible use the user value * if available, otherwise try the default value */ - sym->flags |= SYMBOL_WRITE; if (sym_has_value(sym)) { newval.tri = EXPR_AND(sym->def[S_DEF_USER].tri, sym->visible); @@ -359,38 +424,31 @@ void sym_calc_value(struct symbol *sym) if (!sym_is_choice(sym)) { prop = sym_get_default_prop(sym); if (prop) { - sym->flags |= SYMBOL_WRITE; newval.tri = EXPR_AND(expr_calc_value(prop->expr), prop->visible.tri); + if (newval.tri != no) + sym->flags |= SYMBOL_WRITE; + } + if (sym->implied.tri != no) { + sym->flags |= SYMBOL_WRITE; + newval.tri = EXPR_OR(newval.tri, sym->implied.tri); } } calc_newval: - if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) { - struct expr *e; - e = expr_simplify_unmet_dep(sym->rev_dep.expr, - sym->dir_dep.expr); - fprintf(stderr, "warning: ("); - expr_fprint(e, stderr); - fprintf(stderr, ") selects %s which has unmet direct dependencies (", - sym->name); - expr_fprint(sym->dir_dep.expr, stderr); - fprintf(stderr, ")\n"); - expr_free(e); - } + if (sym->dir_dep.tri < sym->rev_dep.tri) + sym_warn_unmet_dep(sym); newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri); } - if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN) + if (newval.tri == mod && + (sym_get_type(sym) == S_BOOLEAN || sym->implied.tri == yes)) newval.tri = yes; break; case S_STRING: case S_HEX: case S_INT: - if (sym->visible != no) { - sym->flags |= SYMBOL_WRITE; - if (sym_has_value(sym)) { - newval.val = sym->def[S_DEF_USER].val; - break; - } + if (sym->visible != no && sym_has_value(sym)) { + newval.val = sym->def[S_DEF_USER].val; + break; } prop = sym_get_default_prop(sym); if (prop) { @@ -447,28 +505,7 @@ void sym_clear_all_valid(void) for_all_symbols(i, sym) sym->flags &= ~SYMBOL_VALID; sym_add_change_count(1); - if (modules_sym) - sym_calc_value(modules_sym); -} - -void sym_set_changed(struct symbol *sym) -{ - struct property *prop; - - sym->flags |= SYMBOL_CHANGED; - for (prop = sym->prop; prop; prop = prop->next) { - if (prop->menu) - prop->menu->flags |= MENU_CHANGED; - } -} - -void sym_set_all_changed(void) -{ - struct symbol *sym; - int i; - - for_all_symbols(i, sym) - sym_set_changed(sym); + sym_calc_value(modules_sym); } bool sym_tristate_within_range(struct symbol *sym, tristate val) @@ -485,6 +522,8 @@ bool sym_tristate_within_range(struct symbol *sym, tristate val) return false; if (sym->visible <= sym->rev_dep.tri) return false; + if (sym->implied.tri == yes && val == mod) + return false; if (sym_is_choice_value(sym) && sym->visible == yes) return val == yes; return val >= sym->rev_dep.tri && val <= sym->visible; @@ -737,6 +776,10 @@ const char *sym_get_string_default(struct symbol *sym) if (sym->type == S_BOOLEAN && val == mod) val = yes; + /* adjust the default value if this symbol is implied by another */ + if (val < sym->implied.tri) + val = sym->implied.tri; + switch (sym->type) { case S_BOOLEAN: case S_TRISTATE: @@ -818,7 +861,7 @@ struct symbol *sym_lookup(const char *name, int flags) : !(symbol->flags & (SYMBOL_CONST|SYMBOL_CHOICE)))) return symbol; } - new_name = strdup(name); + new_name = xstrdup(name); } else { new_name = NULL; hash = 0; @@ -868,12 +911,16 @@ struct symbol *sym_find(const char *name) * name to be expanded shall be prefixed by a '$'. Unknown symbol expands to * the empty string. */ -const char *sym_expand_string_value(const char *in) +char *sym_expand_string_value(const char *in) { const char *src; char *res; size_t reslen; + /* + * Note: 'in' might come from a token that's about to be + * freed, so make sure to always allocate a new string + */ reslen = strlen(in) + 1; res = xmalloc(reslen); res[0] = '\0'; @@ -901,7 +948,7 @@ const char *sym_expand_string_value(const char *in) newlen = strlen(res) + strlen(symval) + strlen(src) + 1; if (newlen > reslen) { reslen = newlen; - res = realloc(res, reslen); + res = xrealloc(res, reslen); } strcat(res, symval); @@ -1028,7 +1075,7 @@ struct symbol **sym_re_search(const char *pattern) } if (sym_match_arr) { qsort(sym_match_arr, cnt, sizeof(struct sym_match), sym_rel_comp); - sym_arr = malloc((cnt+1) * sizeof(struct symbol)); + sym_arr = malloc((cnt+1) * sizeof(struct symbol *)); if (!sym_arr) goto sym_re_search_free; for (i = 0; i < cnt; i++) @@ -1117,6 +1164,7 @@ static void sym_check_print_recursive(struct symbol *last_sym) if (stack->sym == last_sym) fprintf(stderr, "%s:%d:error: recursive dependency detected!\n", prop->file->name, prop->lineno); + if (stack->expr) { fprintf(stderr, "%s:%d:\tsymbol %s %s value contains %s\n", prop->file->name, prop->lineno, @@ -1146,6 +1194,11 @@ static void sym_check_print_recursive(struct symbol *last_sym) } } + fprintf(stderr, + "For a resolution refer to Documentation/kbuild/kconfig-language.txt\n" + "subsection \"Kconfig recursive dependency limitations\"\n" + "\n"); + if (check_top == &cv_stack) dep_stack_remove(); } @@ -1166,6 +1219,10 @@ static struct symbol *sym_check_expr_deps(struct expr *e) case E_NOT: return sym_check_expr_deps(e->left.expr); case E_EQUAL: + case E_GEQ: + case E_GTH: + case E_LEQ: + case E_LTH: case E_UNEQUAL: sym = sym_check_deps(e->left.sym); if (sym) @@ -1176,7 +1233,7 @@ static struct symbol *sym_check_expr_deps(struct expr *e) default: break; } - printf("Oops! How to check %d?\n", e->type); + fprintf(stderr, "Oops! How to check %d?\n", e->type); return NULL; } @@ -1333,6 +1390,8 @@ const char *prop_get_type_name(enum prop_type type) return "choice"; case P_SELECT: return "select"; + case P_IMPLY: + return "imply"; case P_RANGE: return "range"; case P_SYMBOL: diff --git a/bsp/buildroot/support/kconfig/util.c b/bsp/buildroot/support/kconfig/util.c index 60eb5661..18a8e523 100644 --- a/bsp/buildroot/support/kconfig/util.c +++ b/bsp/buildroot/support/kconfig/util.c @@ -14,11 +14,11 @@ struct file *file_lookup(const char *name) { struct file *file; - const char *file_name = sym_expand_string_value(name); + char *file_name = sym_expand_string_value(name); for (file = file_list; file; file = file->next) { if (!strcmp(name, file->name)) { - free((void *)file_name); + free(file_name); return file; } } @@ -100,16 +100,6 @@ struct gstr str_new(void) return gs; } -/* Allocate and assign growable string */ -struct gstr str_assign(const char *s) -{ - struct gstr gs; - gs.s = strdup(s); - gs.len = strlen(s) + 1; - gs.max_width = 0; - return gs; -} - /* Free storage for growable string */ void str_free(struct gstr *gs) { @@ -126,7 +116,7 @@ void str_append(struct gstr *gs, const char *s) if (s) { l = strlen(gs->s) + strlen(s) + 1; if (l > gs->len) { - gs->s = realloc(gs->s, l); + gs->s = xrealloc(gs->s, l); gs->len = l; } strcat(gs->s, s); @@ -168,4 +158,22 @@ void *xcalloc(size_t nmemb, size_t size) exit(1); } +void *xrealloc(void *p, size_t size) +{ + p = realloc(p, size); + if (p) + return p; + fprintf(stderr, "Out of memory.\n"); + exit(1); +} +char *xstrdup(const char *s) +{ + char *p; + + p = strdup(s); + if (p) + return p; + fprintf(stderr, "Out of memory.\n"); + exit(1); +} diff --git a/bsp/buildroot/support/kconfig/zconf.gperf b/bsp/buildroot/support/kconfig/zconf.gperf deleted file mode 100644 index f14ab411..00000000 --- a/bsp/buildroot/support/kconfig/zconf.gperf +++ /dev/null @@ -1,47 +0,0 @@ -%language=ANSI-C -%define hash-function-name kconf_id_hash -%define lookup-function-name kconf_id_lookup -%define string-pool-name kconf_id_strings -%compare-strncmp -%enum -%pic -%struct-type - -struct kconf_id; - -static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len); - -%% -mainmenu, T_MAINMENU, TF_COMMAND -menu, T_MENU, TF_COMMAND -endmenu, T_ENDMENU, TF_COMMAND -source, T_SOURCE, TF_COMMAND -choice, T_CHOICE, TF_COMMAND -endchoice, T_ENDCHOICE, TF_COMMAND -comment, T_COMMENT, TF_COMMAND -config, T_CONFIG, TF_COMMAND -menuconfig, T_MENUCONFIG, TF_COMMAND -help, T_HELP, TF_COMMAND -if, T_IF, TF_COMMAND|TF_PARAM -endif, T_ENDIF, TF_COMMAND -depends, T_DEPENDS, TF_COMMAND -optional, T_OPTIONAL, TF_COMMAND -default, T_DEFAULT, TF_COMMAND, S_UNKNOWN -prompt, T_PROMPT, TF_COMMAND -tristate, T_TYPE, TF_COMMAND, S_TRISTATE -def_tristate, T_DEFAULT, TF_COMMAND, S_TRISTATE -bool, T_TYPE, TF_COMMAND, S_BOOLEAN -boolean, T_TYPE, TF_COMMAND, S_BOOLEAN -def_bool, T_DEFAULT, TF_COMMAND, S_BOOLEAN -int, T_TYPE, TF_COMMAND, S_INT -hex, T_TYPE, TF_COMMAND, S_HEX -string, T_TYPE, TF_COMMAND, S_STRING -select, T_SELECT, TF_COMMAND -range, T_RANGE, TF_COMMAND -visible, T_VISIBLE, TF_COMMAND -option, T_OPTION, TF_COMMAND -on, T_ON, TF_PARAM -modules, T_OPT_MODULES, TF_OPTION -defconfig_list, T_OPT_DEFCONFIG_LIST,TF_OPTION -env, T_OPT_ENV, TF_OPTION -%% diff --git a/bsp/buildroot/support/kconfig/zconf.hash.c_shipped b/bsp/buildroot/support/kconfig/zconf.hash.c_shipped deleted file mode 100644 index 40df0005..00000000 --- a/bsp/buildroot/support/kconfig/zconf.hash.c_shipped +++ /dev/null @@ -1,286 +0,0 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ -/* Command-line: gperf -t --output-file scripts/kconfig/zconf.hash.c_shipped -a -C -E -g -k '1,3,$' -p -t scripts/kconfig/zconf.gperf */ - -#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ - && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ - && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ - && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ - && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ - && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ - && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ - && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ - && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ - && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ - && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ - && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ - && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ - && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ - && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ - && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ - && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ - && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ - && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ - && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ - && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ - && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ - && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) -/* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." -#endif - -#line 10 "scripts/kconfig/zconf.gperf" -struct kconf_id; - -static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len); -/* maximum key range = 71, duplicates = 0 */ - -#ifdef __GNUC__ -__inline -#else -#ifdef __cplusplus -inline -#endif -#endif -static unsigned int -kconf_id_hash (register const char *str, register unsigned int len) -{ - static const unsigned char asso_values[] = - { - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 25, 25, - 0, 0, 0, 5, 0, 0, 73, 73, 5, 0, - 10, 5, 45, 73, 20, 20, 0, 15, 15, 73, - 20, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73 - }; - register int hval = len; - - switch (hval) - { - default: - hval += asso_values[(unsigned char)str[2]]; - /*FALLTHROUGH*/ - case 2: - case 1: - hval += asso_values[(unsigned char)str[0]]; - break; - } - return hval + asso_values[(unsigned char)str[len - 1]]; -} - -struct kconf_id_strings_t - { - char kconf_id_strings_str2[sizeof("if")]; - char kconf_id_strings_str3[sizeof("int")]; - char kconf_id_strings_str5[sizeof("endif")]; - char kconf_id_strings_str7[sizeof("default")]; - char kconf_id_strings_str8[sizeof("tristate")]; - char kconf_id_strings_str9[sizeof("endchoice")]; - char kconf_id_strings_str12[sizeof("def_tristate")]; - char kconf_id_strings_str13[sizeof("def_bool")]; - char kconf_id_strings_str14[sizeof("defconfig_list")]; - char kconf_id_strings_str17[sizeof("on")]; - char kconf_id_strings_str18[sizeof("optional")]; - char kconf_id_strings_str21[sizeof("option")]; - char kconf_id_strings_str22[sizeof("endmenu")]; - char kconf_id_strings_str23[sizeof("mainmenu")]; - char kconf_id_strings_str25[sizeof("menuconfig")]; - char kconf_id_strings_str27[sizeof("modules")]; - char kconf_id_strings_str29[sizeof("menu")]; - char kconf_id_strings_str31[sizeof("select")]; - char kconf_id_strings_str32[sizeof("comment")]; - char kconf_id_strings_str33[sizeof("env")]; - char kconf_id_strings_str35[sizeof("range")]; - char kconf_id_strings_str36[sizeof("choice")]; - char kconf_id_strings_str39[sizeof("bool")]; - char kconf_id_strings_str41[sizeof("source")]; - char kconf_id_strings_str42[sizeof("visible")]; - char kconf_id_strings_str43[sizeof("hex")]; - char kconf_id_strings_str46[sizeof("config")]; - char kconf_id_strings_str47[sizeof("boolean")]; - char kconf_id_strings_str51[sizeof("string")]; - char kconf_id_strings_str54[sizeof("help")]; - char kconf_id_strings_str56[sizeof("prompt")]; - char kconf_id_strings_str72[sizeof("depends")]; - }; -static const struct kconf_id_strings_t kconf_id_strings_contents = - { - "if", - "int", - "endif", - "default", - "tristate", - "endchoice", - "def_tristate", - "def_bool", - "defconfig_list", - "on", - "optional", - "option", - "endmenu", - "mainmenu", - "menuconfig", - "modules", - "menu", - "select", - "comment", - "env", - "range", - "choice", - "bool", - "source", - "visible", - "hex", - "config", - "boolean", - "string", - "help", - "prompt", - "depends" - }; -#define kconf_id_strings ((const char *) &kconf_id_strings_contents) -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif -const struct kconf_id * -kconf_id_lookup (register const char *str, register unsigned int len) -{ - enum - { - TOTAL_KEYWORDS = 32, - MIN_WORD_LENGTH = 2, - MAX_WORD_LENGTH = 14, - MIN_HASH_VALUE = 2, - MAX_HASH_VALUE = 72 - }; - - static const struct kconf_id wordlist[] = - { - {-1}, {-1}, -#line 25 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2, T_IF, TF_COMMAND|TF_PARAM}, -#line 36 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3, T_TYPE, TF_COMMAND, S_INT}, - {-1}, -#line 26 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5, T_ENDIF, TF_COMMAND}, - {-1}, -#line 29 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7, T_DEFAULT, TF_COMMAND, S_UNKNOWN}, -#line 31 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8, T_TYPE, TF_COMMAND, S_TRISTATE}, -#line 20 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9, T_ENDCHOICE, TF_COMMAND}, - {-1}, {-1}, -#line 32 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12, T_DEFAULT, TF_COMMAND, S_TRISTATE}, -#line 35 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13, T_DEFAULT, TF_COMMAND, S_BOOLEAN}, -#line 45 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14, T_OPT_DEFCONFIG_LIST,TF_OPTION}, - {-1}, {-1}, -#line 43 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17, T_ON, TF_PARAM}, -#line 28 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18, T_OPTIONAL, TF_COMMAND}, - {-1}, {-1}, -#line 42 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21, T_OPTION, TF_COMMAND}, -#line 17 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22, T_ENDMENU, TF_COMMAND}, -#line 15 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23, T_MAINMENU, TF_COMMAND}, - {-1}, -#line 23 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str25, T_MENUCONFIG, TF_COMMAND}, - {-1}, -#line 44 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27, T_OPT_MODULES, TF_OPTION}, - {-1}, -#line 16 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29, T_MENU, TF_COMMAND}, - {-1}, -#line 39 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31, T_SELECT, TF_COMMAND}, -#line 21 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32, T_COMMENT, TF_COMMAND}, -#line 46 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33, T_OPT_ENV, TF_OPTION}, - {-1}, -#line 40 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35, T_RANGE, TF_COMMAND}, -#line 19 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36, T_CHOICE, TF_COMMAND}, - {-1}, {-1}, -#line 33 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39, T_TYPE, TF_COMMAND, S_BOOLEAN}, - {-1}, -#line 18 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41, T_SOURCE, TF_COMMAND}, -#line 41 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42, T_VISIBLE, TF_COMMAND}, -#line 37 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43, T_TYPE, TF_COMMAND, S_HEX}, - {-1}, {-1}, -#line 22 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46, T_CONFIG, TF_COMMAND}, -#line 34 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47, T_TYPE, TF_COMMAND, S_BOOLEAN}, - {-1}, {-1}, {-1}, -#line 38 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51, T_TYPE, TF_COMMAND, S_STRING}, - {-1}, {-1}, -#line 24 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str54, T_HELP, TF_COMMAND}, - {-1}, -#line 30 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str56, T_PROMPT, TF_COMMAND}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, - {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, -#line 27 "scripts/kconfig/zconf.gperf" - {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str72, T_DEPENDS, TF_COMMAND} - }; - - if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) - { - register int key = kconf_id_hash (str, len); - - if (key <= MAX_HASH_VALUE && key >= 0) - { - register int o = wordlist[key].name; - if (o >= 0) - { - register const char *s = o + kconf_id_strings; - - if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') - return &wordlist[key]; - } - } - } - return 0; -} -#line 47 "scripts/kconfig/zconf.gperf" - diff --git a/bsp/buildroot/support/kconfig/zconf.l b/bsp/buildroot/support/kconfig/zconf.l index 1a9f53e5..045093d8 100644 --- a/bsp/buildroot/support/kconfig/zconf.l +++ b/bsp/buildroot/support/kconfig/zconf.l @@ -1,5 +1,5 @@ %option nostdinit noyywrap never-interactive full ecs -%option 8bit nodefault perf-report perf-report +%option 8bit nodefault yylineno %option noinput %x COMMAND HELP STRING PARAM %{ @@ -27,8 +27,8 @@ static char *text; static int text_size, text_asize; struct buffer { - struct buffer *parent; - YY_BUFFER_STATE state; + struct buffer *parent; + YY_BUFFER_STATE state; }; struct buffer *current_buf; @@ -52,7 +52,7 @@ static void append_string(const char *str, int size) if (new_size > text_asize) { new_size += START_STRSIZE - 1; new_size &= -START_STRSIZE; - text = realloc(text, new_size); + text = xrealloc(text, new_size); text_asize = new_size; } memcpy(text + text_size, str, size); @@ -66,9 +66,16 @@ static void alloc_string(const char *str, int size) memcpy(text, str, size); text[size] = 0; } + +static void warn_ignored_character(char chr) +{ + fprintf(stderr, + "%s:%d:warning: ignoring unsupported character '%c'\n", + zconf_curname(), zconf_lineno(), chr); +} %} -n [A-Za-z0-9_] +n [A-Za-z0-9_-] %% int str = 0; @@ -76,7 +83,6 @@ n [A-Za-z0-9_] [ \t]*#.*\n | [ \t]*\n { - current_file->lineno++; return T_EOL; } [ \t]*#.* @@ -97,19 +103,18 @@ n [A-Za-z0-9_] const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); BEGIN(PARAM); current_pos.file = current_file; - current_pos.lineno = current_file->lineno; + current_pos.lineno = yylineno; if (id && id->flags & TF_COMMAND) { - zconflval.id = id; + yylval.id = id; return id->token; } alloc_string(yytext, yyleng); - zconflval.string = text; + yylval.string = text; return T_WORD; } - . + . warn_ignored_character(*yytext); \n { BEGIN(INITIAL); - current_file->lineno++; return T_EOL; } } @@ -122,26 +127,30 @@ n [A-Za-z0-9_] "!" return T_NOT; "=" return T_EQUAL; "!=" return T_UNEQUAL; + "<=" return T_LESS_EQUAL; + ">=" return T_GREATER_EQUAL; + "<" return T_LESS; + ">" return T_GREATER; \"|\' { str = yytext[0]; new_string(); BEGIN(STRING); } - \n BEGIN(INITIAL); current_file->lineno++; return T_EOL; - --- /* ignore */ - ({n}|[-/.])+ { + \n BEGIN(INITIAL); return T_EOL; + ({n}|[/.])+ { const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); if (id && id->flags & TF_PARAM) { - zconflval.id = id; + yylval.id = id; return id->token; } alloc_string(yytext, yyleng); - zconflval.string = text; + yylval.string = text; return T_WORD; } #.* /* comment */ - \\\n current_file->lineno++; - . + \\\n ; + [[:blank:]]+ + . warn_ignored_character(*yytext); <> { BEGIN(INITIAL); } @@ -150,7 +159,7 @@ n [A-Za-z0-9_] { [^'"\\\n]+/\n { append_string(yytext, yyleng); - zconflval.string = text; + yylval.string = text; return T_WORD_QUOTE; } [^'"\\\n]+ { @@ -158,7 +167,7 @@ n [A-Za-z0-9_] } \\.?/\n { append_string(yytext + 1, yyleng - 1); - zconflval.string = text; + yylval.string = text; return T_WORD_QUOTE; } \\.? { @@ -167,14 +176,15 @@ n [A-Za-z0-9_] \'|\" { if (str == yytext[0]) { BEGIN(PARAM); - zconflval.string = text; + yylval.string = text; return T_WORD_QUOTE; } else append_string(yytext, 1); } \n { - printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno()); - current_file->lineno++; + fprintf(stderr, + "%s:%d:warning: multi-line strings not supported\n", + zconf_curname(), zconf_lineno()); BEGIN(INITIAL); return T_EOL; } @@ -207,12 +217,10 @@ n [A-Za-z0-9_] } } [ \t]*\n/[^ \t\n] { - current_file->lineno++; zconf_endhelp(); return T_HELPTEXT; } [ \t]*\n { - current_file->lineno++; append_string("\n", 1); } [^ \t\n].* { @@ -250,7 +258,7 @@ void zconf_starthelp(void) static void zconf_endhelp(void) { - zconflval.string = text; + yylval.string = text; BEGIN(INITIAL); } @@ -283,7 +291,7 @@ void zconf_initscan(const char *name) { yyin = zconf_fopen(name); if (!yyin) { - printf("can't find file %s\n", name); + fprintf(stderr, "can't find file %s\n", name); exit(1); } @@ -291,7 +299,7 @@ void zconf_initscan(const char *name) memset(current_buf, 0, sizeof(*current_buf)); current_file = file_lookup(name); - current_file->lineno = 1; + yylineno = 1; } void zconf_nextfile(const char *name) @@ -304,35 +312,34 @@ void zconf_nextfile(const char *name) current_buf->state = YY_CURRENT_BUFFER; yyin = zconf_fopen(file->name); if (!yyin) { - printf("%s:%d: can't open file \"%s\"\n", - zconf_curname(), zconf_lineno(), file->name); + fprintf(stderr, "%s:%d: can't open file \"%s\"\n", + zconf_curname(), zconf_lineno(), file->name); exit(1); } yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); buf->parent = current_buf; current_buf = buf; - for (iter = current_file->parent; iter; iter = iter->parent ) { - if (!strcmp(current_file->name,iter->name) ) { - printf("%s:%d: recursive inclusion detected. " - "Inclusion path:\n current file : '%s'\n", - zconf_curname(), zconf_lineno(), - zconf_curname()); - iter = current_file->parent; - while (iter && \ - strcmp(iter->name,current_file->name)) { - printf(" included from: '%s:%d'\n", - iter->name, iter->lineno-1); + current_file->lineno = yylineno; + file->parent = current_file; + + for (iter = current_file; iter; iter = iter->parent) { + if (!strcmp(iter->name, file->name)) { + fprintf(stderr, + "Recursive inclusion detected.\n" + "Inclusion path:\n" + " current file : %s\n", file->name); + iter = file; + do { iter = iter->parent; - } - if (iter) - printf(" included from: '%s:%d'\n", - iter->name, iter->lineno+1); + fprintf(stderr, " included from: %s:%d\n", + iter->name, iter->lineno - 1); + } while (strcmp(iter->name, file->name)); exit(1); } } - file->lineno = 1; - file->parent = current_file; + + yylineno = 1; current_file = file; } @@ -341,6 +348,8 @@ static void zconf_endfile(void) struct buffer *parent; current_file = current_file->parent; + if (current_file) + yylineno = current_file->lineno; parent = current_buf->parent; if (parent) { diff --git a/bsp/buildroot/support/kconfig/zconf.lex.c_shipped b/bsp/buildroot/support/kconfig/zconf.lex.c_shipped index a0521aa5..33913d43 100644 --- a/bsp/buildroot/support/kconfig/zconf.lex.c_shipped +++ b/bsp/buildroot/support/kconfig/zconf.lex.c_shipped @@ -1,33 +1,12 @@ -#line 3 "scripts/kconfig/zconf.lex.c_shipped" - #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ -#define yy_create_buffer zconf_create_buffer -#define yy_delete_buffer zconf_delete_buffer -#define yy_flex_debug zconf_flex_debug -#define yy_init_buffer zconf_init_buffer -#define yy_flush_buffer zconf_flush_buffer -#define yy_load_buffer_state zconf_load_buffer_state -#define yy_switch_to_buffer zconf_switch_to_buffer -#define yyin zconfin -#define yyleng zconfleng -#define yylex zconflex -#define yylineno zconflineno -#define yyout zconfout -#define yyrestart zconfrestart -#define yytext zconftext -#define yywrap zconfwrap -#define yyalloc zconfalloc -#define yyrealloc zconfrealloc -#define yyfree zconffree - #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 4 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -72,7 +51,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -103,63 +81,61 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ -#ifdef __cplusplus +/* begin standard C++ headers. */ -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif /* Returned upon end-of-file. */ #define YY_NULL 0 -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * - /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START - /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE zconfrestart(zconfin ) - +#define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -171,37 +147,56 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -extern int zconfleng; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif -extern FILE *zconfin, *zconfout; +extern int yyleng; + +extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - #define YY_LESS_LINENO(n) + /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires + * access to the local variable yy_act. Since yyless() is a macro, it would break + * existing scanners that call yyless() from OUTSIDE yylex. + * One obvious solution it to make yy_act a global. I tried that, and saw + * a 5% performance hit in a non-yylineno scanner, because yy_act is + * normally declared as a register variable-- so it is not worth it. + */ + #define YY_LESS_LINENO(n) \ + do { \ + int yyl;\ + for ( yyl = n; yyl < yyleng; ++yyl )\ + if ( yytext[yyl] == '\n' )\ + --yylineno;\ + }while(0) + #define YY_LINENO_REWIND_TO(dst) \ + do {\ + const char *p;\ + for ( p = yy_cp-1; p >= (dst); --p)\ + if ( *p == '\n' )\ + --yylineno;\ + }while(0) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ - /* Undo effects of setting up zconftext. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up zconftext again */ \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) - #define unput(c) yyunput( c, (yytext_ptr) ) -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -214,7 +209,7 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -242,7 +237,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -259,8 +254,8 @@ struct yy_buffer_state * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via zconfrestart()), so that the user can continue scanning by - * just pointing zconfin at a new input file. + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 @@ -270,7 +265,7 @@ struct yy_buffer_state /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general @@ -281,428 +276,439 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) - /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] -/* yy_hold_char holds the character lost when zconftext is formed. */ +/* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int zconfleng; +int yyleng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ -/* Flag which is used to allow zconfwrap()'s to do buffer switches - * instead of setting up a fresh zconfin. A bit of a hack ... +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; -void zconfrestart (FILE *input_file ); -void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size ); -void zconf_delete_buffer (YY_BUFFER_STATE b ); -void zconf_flush_buffer (YY_BUFFER_STATE b ); -void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer ); -void zconfpop_buffer_state (void ); +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void ); -static void zconfensure_buffer_stack (void ); -static void zconf_load_buffer_state (void ); -static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file ); +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) -#define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER ) +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); -YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len ); - -void *zconfalloc (yy_size_t ); -void *zconfrealloc (void *,yy_size_t ); -void zconffree (void * ); - -#define yy_new_buffer zconf_create_buffer +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * ); +#define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ - zconfensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - zconf_create_buffer(zconfin,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } - #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ - zconfensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - zconf_create_buffer(zconfin,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } - #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) /* Begin user sect3 */ -#define zconfwrap(n) 1 +#define yywrap() (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP +typedef flex_uint8_t YY_CHAR; -typedef unsigned char YY_CHAR; - -FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0; +FILE *yyin = NULL, *yyout = NULL; typedef int yy_state_type; -extern int zconflineno; +extern int yylineno; +int yylineno = 1; -int zconflineno = 1; +extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif +#define yytext_ptr yytext -extern char *zconftext; -#define yytext_ptr zconftext -static yyconst flex_int16_t yy_nxt[][17] = +static const flex_int16_t yy_nxt[][18] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0, 0, 0, 0 }, { 11, 12, 13, 14, 12, 12, 15, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12 + 12, 12, 12, 12, 12, 12, 12, 12 }, { 11, 12, 13, 14, 12, 12, 15, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12 + 12, 12, 12, 12, 12, 12, 12, 12 }, { 11, 16, 16, 17, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 18, 16, 16, 16 + 16, 18, 16, 16, 16, 16, 16, 16 }, { 11, 16, 16, 17, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 18, 16, 16, 16 + 16, 18, 16, 16, 16, 16, 16, 16 }, { 11, 19, 20, 21, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19 + 19, 19, 19, 19, 19, 19, 19, 19 }, { 11, 19, 20, 21, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19 + 19, 19, 19, 19, 19, 19, 19, 19 }, { 11, 22, 22, 23, 22, 24, 22, 22, 24, 22, - 22, 22, 22, 22, 22, 25, 22 + 22, 22, 22, 22, 22, 22, 25, 22 }, { 11, 22, 22, 23, 22, 24, 22, 22, 24, 22, - 22, 22, 22, 22, 22, 25, 22 + 22, 22, 22, 22, 22, 22, 25, 22 }, { - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32, - 33, 34, 35, 35, 36, 37, 38 + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33, + 34, 35, 35, 36, 37, 38, 39, 40 }, { - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32, - 33, 34, 35, 35, 36, 37, 38 + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33, + 34, 35, 35, 36, 37, 38, 39, 40 }, { -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, - -11, -11, -11, -11, -11, -11, -11 + -11, -11, -11, -11, -11, -11, -11, -11 }, { 11, -12, -12, -12, -12, -12, -12, -12, -12, -12, - -12, -12, -12, -12, -12, -12, -12 + -12, -12, -12, -12, -12, -12, -12, -12 }, { - 11, -13, 39, 40, -13, -13, 41, -13, -13, -13, - -13, -13, -13, -13, -13, -13, -13 + 11, -13, 41, 42, -13, -13, 43, -13, -13, -13, + -13, -13, -13, -13, -13, -13, -13, -13 }, { 11, -14, -14, -14, -14, -14, -14, -14, -14, -14, - -14, -14, -14, -14, -14, -14, -14 + -14, -14, -14, -14, -14, -14, -14, -14 }, { - 11, 42, 42, 43, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42 + 11, 44, 44, 45, 44, 44, 44, 44, 44, 44, + 44, 44, 44, 44, 44, 44, 44, 44 }, { 11, -16, -16, -16, -16, -16, -16, -16, -16, -16, - -16, -16, -16, -16, -16, -16, -16 + -16, -16, -16, -16, -16, -16, -16, -16 }, { 11, -17, -17, -17, -17, -17, -17, -17, -17, -17, - -17, -17, -17, -17, -17, -17, -17 + -17, -17, -17, -17, -17, -17, -17, -17 }, { 11, -18, -18, -18, -18, -18, -18, -18, -18, -18, - -18, -18, -18, 44, -18, -18, -18 + -18, 46, -18, -18, -18, -18, -18, -18 }, { - 11, 45, 45, -19, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45 + 11, 47, 47, -19, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47 }, { - 11, -20, 46, 47, -20, -20, -20, -20, -20, -20, - -20, -20, -20, -20, -20, -20, -20 + 11, -20, 48, 49, -20, -20, -20, -20, -20, -20, + -20, -20, -20, -20, -20, -20, -20, -20 }, { - 11, 48, -21, -21, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48 + 11, 50, -21, -21, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50 }, { - 11, 49, 49, 50, 49, -22, 49, 49, -22, 49, - 49, 49, 49, 49, 49, -22, 49 + 11, 51, 51, 52, 51, -22, 51, 51, -22, 51, + 51, 51, 51, 51, 51, 51, -22, 51 }, { 11, -23, -23, -23, -23, -23, -23, -23, -23, -23, - -23, -23, -23, -23, -23, -23, -23 + -23, -23, -23, -23, -23, -23, -23, -23 }, { 11, -24, -24, -24, -24, -24, -24, -24, -24, -24, - -24, -24, -24, -24, -24, -24, -24 + -24, -24, -24, -24, -24, -24, -24, -24 }, { - 11, 51, 51, 52, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51 + 11, 53, 53, 54, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53 }, { 11, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26 + -26, -26, -26, -26, -26, -26, -26, -26 }, { - 11, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27 + 11, -27, 55, -27, -27, -27, -27, -27, -27, -27, + -27, -27, -27, -27, -27, -27, -27, -27 }, { 11, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, 53, -28, -28 + -28, -28, -28, -28, -28, -28, -28, -28 }, { 11, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29 + -29, -29, -29, -29, 56, -29, -29, -29 }, { - 11, 54, 54, -30, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54 + 11, -30, -30, -30, -30, -30, -30, -30, -30, -30, + -30, -30, -30, -30, -30, -30, -30, -30 }, { - 11, -31, -31, -31, -31, -31, -31, 55, -31, -31, - -31, -31, -31, -31, -31, -31, -31 + 11, 57, 57, -31, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57 }, { - 11, -32, -32, -32, -32, -32, -32, -32, -32, -32, - -32, -32, -32, -32, -32, -32, -32 + 11, -32, -32, -32, -32, -32, -32, 58, -32, -32, + -32, -32, -32, -32, -32, -32, -32, -32 }, { 11, -33, -33, -33, -33, -33, -33, -33, -33, -33, - -33, -33, -33, -33, -33, -33, -33 + -33, -33, -33, -33, -33, -33, -33, -33 }, { 11, -34, -34, -34, -34, -34, -34, -34, -34, -34, - -34, 56, 57, 57, -34, -34, -34 + -34, -34, -34, -34, -34, -34, -34, -34 }, { 11, -35, -35, -35, -35, -35, -35, -35, -35, -35, - -35, 57, 57, 57, -35, -35, -35 + -35, 59, 59, -35, -35, -35, -35, -35 }, { 11, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36 + -36, -36, -36, -36, 60, -36, -36, -36 }, { - 11, -37, -37, 58, -37, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, -37, -37 + 11, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37, -37, -37 }, { 11, -38, -38, -38, -38, -38, -38, -38, -38, -38, - -38, -38, -38, -38, -38, -38, 59 + -38, -38, -38, -38, 61, -38, -38, -38 }, { - 11, -39, 39, 40, -39, -39, 41, -39, -39, -39, - -39, -39, -39, -39, -39, -39, -39 + 11, -39, -39, 62, -39, -39, -39, -39, -39, -39, + -39, -39, -39, -39, -39, -39, -39, -39 }, { 11, -40, -40, -40, -40, -40, -40, -40, -40, -40, - -40, -40, -40, -40, -40, -40, -40 + -40, -40, -40, -40, -40, -40, -40, 63 }, { - 11, 42, 42, 43, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42 + 11, -41, 41, 42, -41, -41, 43, -41, -41, -41, + -41, -41, -41, -41, -41, -41, -41, -41 }, { - 11, 42, 42, 43, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42 + 11, -42, -42, -42, -42, -42, -42, -42, -42, -42, + -42, -42, -42, -42, -42, -42, -42, -42 }, { - 11, -43, -43, -43, -43, -43, -43, -43, -43, -43, - -43, -43, -43, -43, -43, -43, -43 + 11, 44, 44, 45, 44, 44, 44, 44, 44, 44, + 44, 44, 44, 44, 44, 44, 44, 44 }, { - 11, -44, -44, -44, -44, -44, -44, -44, -44, -44, - -44, -44, -44, 44, -44, -44, -44 + 11, 44, 44, 45, 44, 44, 44, 44, 44, 44, + 44, 44, 44, 44, 44, 44, 44, 44 }, { - 11, 45, 45, -45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45 + 11, -45, -45, -45, -45, -45, -45, -45, -45, -45, + -45, -45, -45, -45, -45, -45, -45, -45 }, { - 11, -46, 46, 47, -46, -46, -46, -46, -46, -46, - -46, -46, -46, -46, -46, -46, -46 + 11, -46, -46, -46, -46, -46, -46, -46, -46, -46, + -46, 46, -46, -46, -46, -46, -46, -46 }, { - 11, 48, -47, -47, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48 + 11, 47, 47, -47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47 }, { - 11, -48, -48, -48, -48, -48, -48, -48, -48, -48, - -48, -48, -48, -48, -48, -48, -48 + 11, -48, 48, 49, -48, -48, -48, -48, -48, -48, + -48, -48, -48, -48, -48, -48, -48, -48 }, { - 11, 49, 49, 50, 49, -49, 49, 49, -49, 49, - 49, 49, 49, 49, 49, -49, 49 + 11, 50, -49, -49, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50 }, { 11, -50, -50, -50, -50, -50, -50, -50, -50, -50, - -50, -50, -50, -50, -50, -50, -50 + -50, -50, -50, -50, -50, -50, -50, -50 }, { - 11, -51, -51, 52, -51, -51, -51, -51, -51, -51, - -51, -51, -51, -51, -51, -51, -51 + 11, 51, 51, 52, 51, -51, 51, 51, -51, 51, + 51, 51, 51, 51, 51, 51, -51, 51 }, { 11, -52, -52, -52, -52, -52, -52, -52, -52, -52, - -52, -52, -52, -52, -52, -52, -52 + -52, -52, -52, -52, -52, -52, -52, -52 }, { - 11, -53, -53, -53, -53, -53, -53, -53, -53, -53, - -53, -53, -53, -53, -53, -53, -53 + 11, -53, -53, 54, -53, -53, -53, -53, -53, -53, + -53, -53, -53, -53, -53, -53, -53, -53 }, { - 11, 54, 54, -54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54 + 11, -54, -54, -54, -54, -54, -54, -54, -54, -54, + -54, -54, -54, -54, -54, -54, -54, -54 }, { - 11, -55, -55, -55, -55, -55, -55, -55, -55, -55, - -55, -55, -55, -55, -55, -55, -55 + 11, -55, 55, -55, -55, -55, -55, -55, -55, -55, + -55, -55, -55, -55, -55, -55, -55, -55 }, { 11, -56, -56, -56, -56, -56, -56, -56, -56, -56, - -56, 60, 57, 57, -56, -56, -56 + -56, -56, -56, -56, -56, -56, -56, -56 }, { - 11, -57, -57, -57, -57, -57, -57, -57, -57, -57, - -57, 57, 57, 57, -57, -57, -57 + 11, 57, 57, -57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57 }, { 11, -58, -58, -58, -58, -58, -58, -58, -58, -58, - -58, -58, -58, -58, -58, -58, -58 + -58, -58, -58, -58, -58, -58, -58, -58 }, { 11, -59, -59, -59, -59, -59, -59, -59, -59, -59, - -59, -59, -59, -59, -59, -59, -59 + -59, 59, 59, -59, -59, -59, -59, -59 }, { 11, -60, -60, -60, -60, -60, -60, -60, -60, -60, - -60, 57, 57, 57, -60, -60, -60 + -60, -60, -60, -60, -60, -60, -60, -60 + }, + + { + 11, -61, -61, -61, -61, -61, -61, -61, -61, -61, + -61, -61, -61, -61, -61, -61, -61, -61 + }, + + { + 11, -62, -62, -62, -62, -62, -62, -62, -62, -62, + -62, -62, -62, -62, -62, -62, -62, -62 + }, + + { + 11, -63, -63, -63, -63, -63, -63, -63, -63, -63, + -63, -63, -63, -63, -63, -63, -63, -63 }, } ; -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg ); /* Done after the current pattern has been matched and before the - * corresponding action - sets up zconftext. + * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - zconfleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 33 -#define YY_END_OF_BUFFER 34 +#define YY_NUM_RULES 37 +#define YY_END_OF_BUFFER 38 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -710,32 +716,33 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[61] = +static const flex_int16_t yy_accept[64] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 34, 5, 4, 2, 3, 7, 8, 6, 32, 29, - 31, 24, 28, 27, 26, 22, 17, 13, 16, 20, - 22, 11, 12, 19, 19, 14, 22, 22, 4, 2, - 3, 3, 1, 6, 32, 29, 31, 30, 24, 23, - 26, 25, 15, 20, 9, 19, 19, 21, 10, 18 + 38, 5, 4, 2, 3, 7, 8, 6, 36, 33, + 35, 28, 32, 31, 30, 26, 25, 21, 13, 20, + 23, 26, 11, 12, 22, 18, 14, 19, 26, 26, + 4, 2, 3, 3, 1, 6, 36, 33, 35, 34, + 28, 27, 30, 29, 25, 15, 23, 9, 22, 16, + 17, 24, 10 } ; -static yyconst flex_int32_t yy_ec[256] = +static const YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 5, 6, 1, 1, 7, 8, 9, - 10, 1, 1, 1, 11, 12, 12, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 1, 1, 1, - 14, 1, 1, 1, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 1, 15, 1, 1, 13, 1, 13, 13, 13, 13, + 10, 1, 1, 1, 11, 12, 12, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 1, 1, 13, + 14, 15, 1, 1, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 1, 16, 1, 1, 11, 1, 11, 11, 11, 11, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 1, 16, 1, 1, 1, 1, 1, 1, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 1, 17, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -752,8 +759,14 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -extern int zconf_flex_debug; -int zconf_flex_debug = 0; +/* Table of booleans, true if rule could match eol. */ +static const flex_int32_t yy_rule_can_match_eol[38] = + { 0, +1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, }; + +extern int yy_flex_debug; +int yy_flex_debug = 0; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. @@ -762,7 +775,7 @@ int zconf_flex_debug = 0; #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *zconftext; +char *yytext; #define YY_NO_INPUT 1 /* @@ -789,8 +802,8 @@ static char *text; static int text_size, text_asize; struct buffer { - struct buffer *parent; - YY_BUFFER_STATE state; + struct buffer *parent; + YY_BUFFER_STATE state; }; struct buffer *current_buf; @@ -814,7 +827,7 @@ static void append_string(const char *str, int size) if (new_size > text_asize) { new_size += START_STRSIZE - 1; new_size &= -START_STRSIZE; - text = realloc(text, new_size); + text = xrealloc(text, new_size); text_asize = new_size; } memcpy(text + text_size, str, size); @@ -829,6 +842,13 @@ static void alloc_string(const char *str, int size) text[size] = 0; } +static void warn_ignored_character(char chr) +{ + fprintf(stderr, + "%s:%d:warning: ignoring unsupported character '%c'\n", + zconf_curname(), zconf_lineno(), chr); +} + #define INITIAL 0 #define COMMAND 1 #define HELP 2 @@ -847,36 +867,36 @@ static void alloc_string(const char *str, int size) #define YY_EXTRA_TYPE void * #endif -static int yy_init_globals (void ); +static int yy_init_globals ( void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ -int zconflex_destroy (void ); +int yylex_destroy ( void ); -int zconfget_debug (void ); +int yyget_debug ( void ); -void zconfset_debug (int debug_flag ); +void yyset_debug ( int debug_flag ); -YY_EXTRA_TYPE zconfget_extra (void ); +YY_EXTRA_TYPE yyget_extra ( void ); -void zconfset_extra (YY_EXTRA_TYPE user_defined ); +void yyset_extra ( YY_EXTRA_TYPE user_defined ); -FILE *zconfget_in (void ); +FILE *yyget_in ( void ); -void zconfset_in (FILE * in_str ); +void yyset_in ( FILE * _in_str ); -FILE *zconfget_out (void ); +FILE *yyget_out ( void ); -void zconfset_out (FILE * out_str ); +void yyset_out ( FILE * _out_str ); -int zconfget_leng (void ); + int yyget_leng ( void ); -char *zconfget_text (void ); +char *yyget_text ( void ); -int zconfget_lineno (void ); +int yyget_lineno ( void ); -void zconfset_lineno (int line_number ); +void yyset_lineno ( int _line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. @@ -884,35 +904,43 @@ void zconfset_lineno (int line_number ); #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int zconfwrap (void ); +extern "C" int yywrap ( void ); #else -extern int zconfwrap (void ); +extern int yywrap ( void ); #endif #endif - static void yyunput (int c,char *buf_ptr ); +#ifndef YY_NO_UNPUT + static void yyunput ( int c, char *buf_ptr ); + +#endif + #ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); +static void yy_flex_strncpy ( char *, const char *, int ); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); +static int yy_flex_strlen ( const char * ); #endif #ifndef YY_NO_INPUT - #ifdef __cplusplus -static int yyinput (void ); +static int yyinput ( void ); #else -static int input (void ); +static int input ( void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -920,7 +948,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -929,7 +957,7 @@ static int input (void ); #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ errno=0; \ - while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \ + while ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \ { \ if( errno != EINTR) \ { \ @@ -937,7 +965,7 @@ static int input (void ); break; \ } \ errno=0; \ - clearerr(zconfin); \ + clearerr(yyin); \ }\ \ @@ -969,12 +997,12 @@ static int input (void ); #ifndef YY_DECL #define YY_DECL_IS_OURS 1 -extern int zconflex (void); +extern int yylex (void); -#define YY_DECL int zconflex (void) +#define YY_DECL int yylex (void) #endif /* !YY_DECL */ -/* Code executed at the beginning of each rule, after zconftext and zconfleng +/* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION @@ -983,7 +1011,7 @@ extern int zconflex (void); /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif #define YY_RULE_SETUP \ @@ -993,13 +1021,10 @@ extern int zconflex (void); */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; - int str = 0; - int ts, i; - if ( !(yy_init) ) { (yy_init) = 1; @@ -1011,26 +1036,31 @@ YY_DECL if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ - if ( ! zconfin ) - zconfin = stdin; + if ( ! yyin ) + yyin = stdin; - if ( ! zconfout ) - zconfout = stdout; + if ( ! yyout ) + yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { - zconfensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - zconf_create_buffer(zconfin,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); } - zconf_load_buffer_state( ); + yy_load_buffer_state( ); } - while ( 1 ) /* loops until end-of-file is reached */ + { + + int str = 0; + int ts, i; + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); - /* Support of zconftext. */ + /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of @@ -1050,6 +1080,16 @@ yy_find_action: YY_DO_BEFORE_ACTION; + if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) + { + int yyl; + for ( yyl = 0; yyl < yyleng; ++yyl ) + if ( yytext[yyl] == '\n' ) + + yylineno++; +; + } + do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) @@ -1060,7 +1100,6 @@ case 2: /* rule 2 can match eol */ YY_RULE_SETUP { - current_file->lineno++; return T_EOL; } YY_BREAK @@ -1077,7 +1116,7 @@ YY_RULE_SETUP case 5: YY_RULE_SETUP { - unput(zconftext[0]); + unput(yytext[0]); BEGIN(COMMAND); } YY_BREAK @@ -1085,29 +1124,28 @@ YY_RULE_SETUP case 6: YY_RULE_SETUP { - const struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng); + const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); BEGIN(PARAM); current_pos.file = current_file; - current_pos.lineno = current_file->lineno; + current_pos.lineno = yylineno; if (id && id->flags & TF_COMMAND) { - zconflval.id = id; + yylval.id = id; return id->token; } - alloc_string(zconftext, zconfleng); - zconflval.string = text; + alloc_string(yytext, yyleng); + yylval.string = text; return T_WORD; } YY_BREAK case 7: YY_RULE_SETUP - +warn_ignored_character(*yytext); YY_BREAK case 8: /* rule 8 can match eol */ YY_RULE_SETUP { BEGIN(INITIAL); - current_file->lineno++; return T_EOL; } YY_BREAK @@ -1142,46 +1180,62 @@ return T_UNEQUAL; YY_BREAK case 16: YY_RULE_SETUP +return T_LESS_EQUAL; + YY_BREAK +case 17: +YY_RULE_SETUP +return T_GREATER_EQUAL; + YY_BREAK +case 18: +YY_RULE_SETUP +return T_LESS; + YY_BREAK +case 19: +YY_RULE_SETUP +return T_GREATER; + YY_BREAK +case 20: +YY_RULE_SETUP { - str = zconftext[0]; + str = yytext[0]; new_string(); BEGIN(STRING); } YY_BREAK -case 17: -/* rule 17 can match eol */ -YY_RULE_SETUP -BEGIN(INITIAL); current_file->lineno++; return T_EOL; - YY_BREAK -case 18: -YY_RULE_SETUP -/* ignore */ - YY_BREAK -case 19: -YY_RULE_SETUP -{ - const struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng); - if (id && id->flags & TF_PARAM) { - zconflval.id = id; - return id->token; - } - alloc_string(zconftext, zconfleng); - zconflval.string = text; - return T_WORD; - } - YY_BREAK -case 20: -YY_RULE_SETUP -/* comment */ - YY_BREAK case 21: /* rule 21 can match eol */ YY_RULE_SETUP -current_file->lineno++; +BEGIN(INITIAL); return T_EOL; YY_BREAK case 22: +YY_RULE_SETUP +{ + const struct kconf_id *id = kconf_id_lookup(yytext, yyleng); + if (id && id->flags & TF_PARAM) { + yylval.id = id; + return id->token; + } + alloc_string(yytext, yyleng); + yylval.string = text; + return T_WORD; + } + YY_BREAK +case 23: +YY_RULE_SETUP +/* comment */ + YY_BREAK +case 24: +/* rule 24 can match eol */ +YY_RULE_SETUP +; + YY_BREAK +case 25: YY_RULE_SETUP + YY_BREAK +case 26: +YY_RULE_SETUP +warn_ignored_character(*yytext); YY_BREAK case YY_STATE_EOF(PARAM): { @@ -1189,59 +1243,62 @@ case YY_STATE_EOF(PARAM): } YY_BREAK -case 23: -/* rule 23 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up zconftext again */ -YY_RULE_SETUP -{ - append_string(zconftext, zconfleng); - zconflval.string = text; - return T_WORD_QUOTE; - } - YY_BREAK -case 24: -YY_RULE_SETUP -{ - append_string(zconftext, zconfleng); - } - YY_BREAK -case 25: -/* rule 25 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */ -(yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up zconftext again */ -YY_RULE_SETUP -{ - append_string(zconftext + 1, zconfleng - 1); - zconflval.string = text; - return T_WORD_QUOTE; - } - YY_BREAK -case 26: -YY_RULE_SETUP -{ - append_string(zconftext + 1, zconfleng - 1); - } - YY_BREAK case 27: +/* rule 27 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP { - if (str == zconftext[0]) { - BEGIN(PARAM); - zconflval.string = text; - return T_WORD_QUOTE; - } else - append_string(zconftext, 1); + append_string(yytext, yyleng); + yylval.string = text; + return T_WORD_QUOTE; } YY_BREAK case 28: -/* rule 28 can match eol */ YY_RULE_SETUP { - printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno()); - current_file->lineno++; + append_string(yytext, yyleng); + } + YY_BREAK +case 29: +/* rule 29 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); +(yy_c_buf_p) = yy_cp -= 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +{ + append_string(yytext + 1, yyleng - 1); + yylval.string = text; + return T_WORD_QUOTE; + } + YY_BREAK +case 30: +YY_RULE_SETUP +{ + append_string(yytext + 1, yyleng - 1); + } + YY_BREAK +case 31: +YY_RULE_SETUP +{ + if (str == yytext[0]) { + BEGIN(PARAM); + yylval.string = text; + return T_WORD_QUOTE; + } else + append_string(yytext, 1); + } + YY_BREAK +case 32: +/* rule 32 can match eol */ +YY_RULE_SETUP +{ + fprintf(stderr, + "%s:%d:warning: multi-line strings not supported\n", + zconf_curname(), zconf_lineno()); BEGIN(INITIAL); return T_EOL; } @@ -1252,12 +1309,12 @@ case YY_STATE_EOF(STRING): } YY_BREAK -case 29: +case 33: YY_RULE_SETUP { ts = 0; - for (i = 0; i < zconfleng; i++) { - if (zconftext[i] == '\t') + for (i = 0; i < yyleng; i++) { + if (yytext[i] == '\t') ts = (ts & ~7) + 8; else ts++; @@ -1277,35 +1334,34 @@ YY_RULE_SETUP } } YY_BREAK -case 30: -/* rule 30 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */ +case 34: +/* rule 34 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; -YY_DO_BEFORE_ACTION; /* set up zconftext again */ +YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP { - current_file->lineno++; zconf_endhelp(); return T_HELPTEXT; } YY_BREAK -case 31: -/* rule 31 can match eol */ +case 35: +/* rule 35 can match eol */ YY_RULE_SETUP { - current_file->lineno++; append_string("\n", 1); } YY_BREAK -case 32: +case 36: YY_RULE_SETUP { - while (zconfleng) { - if ((zconftext[zconfleng-1] != ' ') && (zconftext[zconfleng-1] != '\t')) + while (yyleng) { + if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t')) break; - zconfleng--; + yyleng--; } - append_string(zconftext, zconfleng); + append_string(yytext, yyleng); if (!first_ts) first_ts = last_ts; } @@ -1324,11 +1380,11 @@ case YY_STATE_EOF(COMMAND): zconf_endfile(); return T_EOL; } - fclose(zconfin); + fclose(yyin); yyterminate(); } YY_BREAK -case 33: +case 37: YY_RULE_SETUP YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK @@ -1346,15 +1402,15 @@ YY_FATAL_ERROR( "flex scanner jammed" ); { /* We're scanning a new file or input source. It's * possible that this happened because the user - * just pointed zconfin at a new source and called - * zconflex(). If so, then we have to assure + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -1407,11 +1463,11 @@ YY_FATAL_ERROR( "flex scanner jammed" ); { (yy_did_buffer_switch_on_eof) = 0; - if ( zconfwrap( ) ) + if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up - * zconftext, we can now set up + * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the @@ -1460,7 +1516,8 @@ YY_FATAL_ERROR( "flex scanner jammed" ); "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ -} /* end of zconflex */ + } /* end of user's declarations */ +} /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * @@ -1471,9 +1528,9 @@ YY_FATAL_ERROR( "flex scanner jammed" ); */ static int yy_get_next_buffer (void) { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) @@ -1502,7 +1559,7 @@ static int yy_get_next_buffer (void) /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1522,7 +1579,7 @@ static int yy_get_next_buffer (void) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); @@ -1538,11 +1595,12 @@ static int yy_get_next_buffer (void) b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); + yyrealloc( (void *) b->yy_ch_buf, + (yy_size_t) (b->yy_buf_size + 2) ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -1560,7 +1618,7 @@ static int yy_get_next_buffer (void) /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); + (yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } @@ -1570,7 +1628,7 @@ static int yy_get_next_buffer (void) if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - zconfrestart(zconfin ); + yyrestart( yyin ); } else @@ -1584,12 +1642,15 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) zconfrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); } (yy_n_chars) += number_to_move; @@ -1605,8 +1666,8 @@ static int yy_get_next_buffer (void) static yy_state_type yy_get_previous_state (void) { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; yy_current_state = (yy_start); @@ -1625,30 +1686,32 @@ static int yy_get_next_buffer (void) */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { - register int yy_is_jam; + int yy_is_jam; yy_current_state = yy_nxt[yy_current_state][1]; yy_is_jam = (yy_current_state <= 0); - return yy_is_jam ? 0 : yy_current_state; + return yy_is_jam ? 0 : yy_current_state; } - static void yyunput (int c, register char * yy_bp ) +#ifndef YY_NO_UNPUT + + static void yyunput (int c, char * yy_bp ) { - register char *yy_cp; + char *yy_cp; yy_cp = (yy_c_buf_p); - /* undo effects of setting up zconftext */ + /* undo effects of setting up yytext */ *yy_cp = (yy_hold_char); if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register int number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + int number_to_move = (yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = + char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -1657,7 +1720,7 @@ static int yy_get_next_buffer (void) yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); @@ -1665,11 +1728,17 @@ static int yy_get_next_buffer (void) *--yy_cp = (char) c; + if ( c == '\n' ){ + --yylineno; + } + (yytext_ptr) = yy_bp; (yy_hold_char) = *yy_cp; (yy_c_buf_p) = yy_cp; } +#endif + #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) @@ -1694,7 +1763,7 @@ static int yy_get_next_buffer (void) else { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); + int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) @@ -1711,14 +1780,14 @@ static int yy_get_next_buffer (void) */ /* Reset buffer status. */ - zconfrestart(zconfin ); + yyrestart( yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( zconfwrap( ) ) - return EOF; + if ( yywrap( ) ) + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -1737,9 +1806,14 @@ static int yy_get_next_buffer (void) } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve zconftext */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); + if ( c == '\n' ) + + yylineno++; +; + return c; } #endif /* ifndef YY_NO_INPUT */ @@ -1749,32 +1823,32 @@ static int yy_get_next_buffer (void) * * @note This function does not reset the start condition to @c INITIAL . */ - void zconfrestart (FILE * input_file ) + void yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ - zconfensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - zconf_create_buffer(zconfin,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); } - zconf_init_buffer(YY_CURRENT_BUFFER,input_file ); - zconf_load_buffer_state( ); + yy_init_buffer( YY_CURRENT_BUFFER, input_file ); + yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ - void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer ) + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with - * zconfpop_buffer_state(); - * zconfpush_buffer_state(new_buffer); + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); */ - zconfensure_buffer_stack (); + yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; @@ -1787,21 +1861,21 @@ static int yy_get_next_buffer (void) } YY_CURRENT_BUFFER_LVALUE = new_buffer; - zconf_load_buffer_state( ); + yy_load_buffer_state( ); /* We don't actually know whether we did this switch during - * EOF (zconfwrap()) processing, but the only time this flag - * is looked at is after zconfwrap() is called, so it's safe + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } -static void zconf_load_buffer_state (void) +static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } @@ -1811,35 +1885,35 @@ static void zconf_load_buffer_state (void) * * @return the allocated buffer state. */ - YY_BUFFER_STATE zconf_create_buffer (FILE * file, int size ) + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; - b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; - zconf_init_buffer(b,file ); + yy_init_buffer( b, file ); return b; } /** Destroy the buffer. - * @param b a buffer created with zconf_create_buffer() + * @param b a buffer created with yy_create_buffer() * */ - void zconf_delete_buffer (YY_BUFFER_STATE b ) + void yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) @@ -1849,27 +1923,27 @@ static void zconf_load_buffer_state (void) YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - zconffree((void *) b->yy_ch_buf ); + yyfree( (void *) b->yy_ch_buf ); - zconffree((void *) b ); + yyfree( (void *) b ); } /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, - * such as during a zconfrestart() or at EOF. + * such as during a yyrestart() or at EOF. */ - static void zconf_init_buffer (YY_BUFFER_STATE b, FILE * file ) + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; - zconf_flush_buffer(b ); + yy_flush_buffer( b ); b->yy_input_file = file; b->yy_fill_buffer = 1; - /* If b is the current buffer, then zconf_init_buffer was _probably_ - * called from zconfrestart() or through yy_get_next_buffer. + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ @@ -1886,7 +1960,7 @@ static void zconf_load_buffer_state (void) * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ - void zconf_flush_buffer (YY_BUFFER_STATE b ) + void yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; @@ -1906,7 +1980,7 @@ static void zconf_load_buffer_state (void) b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) - zconf_load_buffer_state( ); + yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes @@ -1915,14 +1989,14 @@ static void zconf_load_buffer_state (void) * @param new_buffer The new state. * */ -void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer ) +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; - zconfensure_buffer_stack(); + yyensure_buffer_stack(); - /* This block is copied from zconf_switch_to_buffer. */ + /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ @@ -1936,8 +2010,8 @@ void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer ) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; - /* copied from zconf_switch_to_buffer. */ - zconf_load_buffer_state( ); + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } @@ -1945,18 +2019,18 @@ void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer ) * The next element becomes the new top. * */ -void zconfpop_buffer_state (void) +void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; - zconf_delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { - zconf_load_buffer_state( ); + yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } @@ -1964,9 +2038,9 @@ void zconfpop_buffer_state (void) /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ -static void zconfensure_buffer_stack (void) +static void yyensure_buffer_stack (void) { - int num_to_alloc; + yy_size_t num_to_alloc; if (!(yy_buffer_stack)) { @@ -1974,15 +2048,15 @@ static void zconfensure_buffer_stack (void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" ); - + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; @@ -1991,15 +2065,15 @@ static void zconfensure_buffer_stack (void) if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" ); + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); @@ -2011,9 +2085,9 @@ static void zconfensure_buffer_stack (void) * @param base the character buffer * @param size the size in bytes of the character buffer * - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE zconf_scan_buffer (char * base, yy_size_t size ) +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; @@ -2021,49 +2095,49 @@ YY_BUFFER_STATE zconf_scan_buffer (char * base, yy_size_t size ) base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL; - b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - zconf_switch_to_buffer(b ); + yy_switch_to_buffer( b ); return b; } -/** Setup the input buffer state to scan a string. The next call to zconflex() will +/** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use - * zconf_scan_bytes() instead. + * yy_scan_bytes() instead. */ -YY_BUFFER_STATE zconf_scan_string (yyconst char * yystr ) +YY_BUFFER_STATE yy_scan_string (const char * yystr ) { - return zconf_scan_bytes(yystr,strlen(yystr) ); + return yy_scan_bytes( yystr, (int) strlen(yystr) ); } -/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE zconf_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; @@ -2071,19 +2145,19 @@ YY_BUFFER_STATE zconf_scan_bytes (yyconst char * yybytes, int _yybytes_len ) int i; /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) zconfalloc(n ); + n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n ); if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" ); + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - b = zconf_scan_buffer(buf,n ); + b = yy_scan_buffer( buf, n ); if ( ! b ) - YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" ); + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. @@ -2097,9 +2171,9 @@ YY_BUFFER_STATE zconf_scan_bytes (yyconst char * yybytes, int _yybytes_len ) #define YY_EXIT_FAILURE 2 #endif -static void yy_fatal_error (yyconst char* msg ) +static void yynoreturn yy_fatal_error (const char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -2109,14 +2183,14 @@ static void yy_fatal_error (yyconst char* msg ) #define yyless(n) \ do \ { \ - /* Undo effects of setting up zconftext. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ - zconftext[zconfleng] = (yy_hold_char); \ - (yy_c_buf_p) = zconftext + yyless_macro_arg; \ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ - zconfleng = yyless_macro_arg; \ + yyleng = yyless_macro_arg; \ } \ while ( 0 ) @@ -2125,126 +2199,129 @@ static void yy_fatal_error (yyconst char* msg ) /** Get the current line number. * */ -int zconfget_lineno (void) +int yyget_lineno (void) { - - return zconflineno; + + return yylineno; } /** Get the input stream. * */ -FILE *zconfget_in (void) +FILE *yyget_in (void) { - return zconfin; + return yyin; } /** Get the output stream. * */ -FILE *zconfget_out (void) +FILE *yyget_out (void) { - return zconfout; + return yyout; } /** Get the length of the current token. * */ -int zconfget_leng (void) +int yyget_leng (void) { - return zconfleng; + return yyleng; } /** Get the current token. * */ -char *zconfget_text (void) +char *yyget_text (void) { - return zconftext; + return yytext; } /** Set the current line number. - * @param line_number + * @param _line_number line number * */ -void zconfset_lineno (int line_number ) +void yyset_lineno (int _line_number ) { - zconflineno = line_number; + yylineno = _line_number; } /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * - * @see zconf_switch_to_buffer + * @see yy_switch_to_buffer */ -void zconfset_in (FILE * in_str ) +void yyset_in (FILE * _in_str ) { - zconfin = in_str ; + yyin = _in_str ; } -void zconfset_out (FILE * out_str ) +void yyset_out (FILE * _out_str ) { - zconfout = out_str ; + yyout = _out_str ; } -int zconfget_debug (void) +int yyget_debug (void) { - return zconf_flex_debug; + return yy_flex_debug; } -void zconfset_debug (int bdebug ) +void yyset_debug (int _bdebug ) { - zconf_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. - * This function is called from zconflex_destroy(), so don't allocate here. + * This function is called from yylex_destroy(), so don't allocate here. */ - (yy_buffer_stack) = 0; + /* We do not touch yylineno unless the option is enabled. */ + yylineno = 1; + + (yy_buffer_stack) = NULL; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; + (yy_c_buf_p) = NULL; (yy_init) = 0; (yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT - zconfin = stdin; - zconfout = stdout; + yyin = stdin; + yyout = stdout; #else - zconfin = (FILE *) 0; - zconfout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by - * zconflex_init() + * yylex_init() */ return 0; } -/* zconflex_destroy is for both reentrant and non-reentrant scanners. */ -int zconflex_destroy (void) +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ - zconf_delete_buffer(YY_CURRENT_BUFFER ); + yy_delete_buffer( YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; - zconfpop_buffer_state(); + yypop_buffer_state(); } /* Destroy the stack itself. */ - zconffree((yy_buffer_stack) ); + yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time - * zconflex() is called, initialization will occur. */ + * yylex() is called, initialization will occur. */ yy_init_globals( ); return 0; @@ -2255,18 +2332,19 @@ int zconflex_destroy (void) */ #ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +static void yy_flex_strncpy (char* s1, const char * s2, int n ) { - register int i; + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) +static int yy_flex_strlen (const char * s ) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2274,13 +2352,14 @@ static int yy_flex_strlen (yyconst char * s ) } #endif -void *zconfalloc (yy_size_t size ) +void *yyalloc (yy_size_t size ) { - return (void *) malloc( size ); + return malloc(size); } -void *zconfrealloc (void * ptr, yy_size_t size ) +void *yyrealloc (void * ptr, yy_size_t size ) { + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2288,12 +2367,12 @@ void *zconfrealloc (void * ptr, yy_size_t size ) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } -void zconffree (void * ptr ) +void yyfree (void * ptr ) { - free( (char *) ptr ); /* see zconfrealloc() for (char *) cast */ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" @@ -2307,7 +2386,7 @@ void zconf_starthelp(void) static void zconf_endhelp(void) { - zconflval.string = text; + yylval.string = text; BEGIN(INITIAL); } @@ -2337,9 +2416,9 @@ FILE *zconf_fopen(const char *name) void zconf_initscan(const char *name) { - zconfin = zconf_fopen(name); - if (!zconfin) { - printf("can't find file %s\n", name); + yyin = zconf_fopen(name); + if (!yyin) { + fprintf(stderr, "can't find file %s\n", name); exit(1); } @@ -2347,7 +2426,7 @@ void zconf_initscan(const char *name) memset(current_buf, 0, sizeof(*current_buf)); current_file = file_lookup(name); - current_file->lineno = 1; + yylineno = 1; } void zconf_nextfile(const char *name) @@ -2358,37 +2437,36 @@ void zconf_nextfile(const char *name) memset(buf, 0, sizeof(*buf)); current_buf->state = YY_CURRENT_BUFFER; - zconfin = zconf_fopen(file->name); - if (!zconfin) { - printf("%s:%d: can't open file \"%s\"\n", - zconf_curname(), zconf_lineno(), file->name); + yyin = zconf_fopen(file->name); + if (!yyin) { + fprintf(stderr, "%s:%d: can't open file \"%s\"\n", + zconf_curname(), zconf_lineno(), file->name); exit(1); } - zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE)); + yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE)); buf->parent = current_buf; current_buf = buf; - for (iter = current_file->parent; iter; iter = iter->parent ) { - if (!strcmp(current_file->name,iter->name) ) { - printf("%s:%d: recursive inclusion detected. " - "Inclusion path:\n current file : '%s'\n", - zconf_curname(), zconf_lineno(), - zconf_curname()); - iter = current_file->parent; - while (iter && \ - strcmp(iter->name,current_file->name)) { - printf(" included from: '%s:%d'\n", - iter->name, iter->lineno-1); + current_file->lineno = yylineno; + file->parent = current_file; + + for (iter = current_file; iter; iter = iter->parent) { + if (!strcmp(iter->name, file->name)) { + fprintf(stderr, + "Recursive inclusion detected.\n" + "Inclusion path:\n" + " current file : %s\n", file->name); + iter = file; + do { iter = iter->parent; - } - if (iter) - printf(" included from: '%s:%d'\n", - iter->name, iter->lineno+1); + fprintf(stderr, " included from: %s:%d\n", + iter->name, iter->lineno - 1); + } while (strcmp(iter->name, file->name)); exit(1); } } - file->lineno = 1; - file->parent = current_file; + + yylineno = 1; current_file = file; } @@ -2397,12 +2475,14 @@ static void zconf_endfile(void) struct buffer *parent; current_file = current_file->parent; + if (current_file) + yylineno = current_file->lineno; parent = current_buf->parent; if (parent) { - fclose(zconfin); - zconf_delete_buffer(YY_CURRENT_BUFFER); - zconf_switch_to_buffer(parent->state); + fclose(yyin); + yy_delete_buffer(YY_CURRENT_BUFFER); + yy_switch_to_buffer(parent->state); } free(current_buf); current_buf = parent; diff --git a/bsp/buildroot/support/kconfig/zconf.tab.c_shipped b/bsp/buildroot/support/kconfig/zconf.tab.c_shipped index f3430308..4eca5b31 100644 --- a/bsp/buildroot/support/kconfig/zconf.tab.c_shipped +++ b/bsp/buildroot/support/kconfig/zconf.tab.c_shipped @@ -1,19 +1,19 @@ -/* A Bison parser, made by GNU Bison 2.5. */ +/* A Bison parser, made by GNU Bison 3.0.4. */ /* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. - + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see . */ @@ -26,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.5" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -58,17 +58,7 @@ /* Pull parsers. */ #define YYPULL 1 -/* Using locations. */ -#define YYLSP_NEEDED 0 -/* Substitute the variable and function names. */ -#define yyparse zconfparse -#define yylex zconflex -#define yyerror zconferror -#define yylval zconflval -#define yychar zconfchar -#define yydebug zconfdebug -#define yynerrs zconfnerrs /* Copy the first part of user declarations. */ @@ -95,10 +85,10 @@ int cdebug = PRINTD; -extern int zconflex(void); +int yylex(void); +static void yyerror(const char *err); static void zconfprint(const char *err, ...); static void zconf_error(const char *err, ...); -static void zconferror(const char *err); static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken); struct symbol *symbol_hash[SYMBOL_HASHSIZE]; @@ -108,10 +98,13 @@ static struct menu *current_menu, *current_entry; -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE @@ -121,58 +114,65 @@ static struct menu *current_menu, *current_entry; # define YYERROR_VERBOSE 0 #endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 + +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif +#if YYDEBUG +extern int yydebug; #endif - -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - T_MAINMENU = 258, - T_MENU = 259, - T_ENDMENU = 260, - T_SOURCE = 261, - T_CHOICE = 262, - T_ENDCHOICE = 263, - T_COMMENT = 264, - T_CONFIG = 265, - T_MENUCONFIG = 266, - T_HELP = 267, - T_HELPTEXT = 268, - T_IF = 269, - T_ENDIF = 270, - T_DEPENDS = 271, - T_OPTIONAL = 272, - T_PROMPT = 273, - T_TYPE = 274, - T_DEFAULT = 275, - T_SELECT = 276, - T_RANGE = 277, - T_VISIBLE = 278, - T_OPTION = 279, - T_ON = 280, - T_WORD = 281, - T_WORD_QUOTE = 282, - T_UNEQUAL = 283, - T_CLOSE_PAREN = 284, - T_OPEN_PAREN = 285, - T_EOL = 286, - T_OR = 287, - T_AND = 288, - T_EQUAL = 289, - T_NOT = 290 - }; + enum yytokentype + { + T_MAINMENU = 258, + T_MENU = 259, + T_ENDMENU = 260, + T_SOURCE = 261, + T_CHOICE = 262, + T_ENDCHOICE = 263, + T_COMMENT = 264, + T_CONFIG = 265, + T_MENUCONFIG = 266, + T_HELP = 267, + T_HELPTEXT = 268, + T_IF = 269, + T_ENDIF = 270, + T_DEPENDS = 271, + T_OPTIONAL = 272, + T_PROMPT = 273, + T_TYPE = 274, + T_DEFAULT = 275, + T_SELECT = 276, + T_IMPLY = 277, + T_RANGE = 278, + T_VISIBLE = 279, + T_OPTION = 280, + T_ON = 281, + T_WORD = 282, + T_WORD_QUOTE = 283, + T_UNEQUAL = 284, + T_LESS = 285, + T_LESS_EQUAL = 286, + T_GREATER = 287, + T_GREATER_EQUAL = 288, + T_CLOSE_PAREN = 289, + T_OPEN_PAREN = 290, + T_EOL = 291, + T_OR = 292, + T_AND = 293, + T_EQUAL = 294, + T_NOT = 295 + }; #endif - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE + +union YYSTYPE { @@ -184,19 +184,25 @@ typedef union YYSTYPE const struct kconf_id *id; +}; -} YYSTYPE; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif +extern YYSTYPE yylval; + +int yyparse (void); + + + /* Copy the second part of user declarations. */ -/* Include zconf.hash.c here so it can see the token constants. */ -#include "zconf.hash.c" +/* Include kconf_id.c here so it can see the token constants. */ +#include "kconf_id.c" @@ -212,11 +218,8 @@ typedef unsigned char yytype_uint8; #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; #else -typedef short int yytype_int8; +typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 @@ -236,8 +239,7 @@ typedef short int yytype_int16; # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -251,38 +253,67 @@ typedef short int yytype_int16; # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ -# define YY_(msgid) msgid +# define YY_(Msgid) Msgid +# endif +#endif + +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) +# define YYUSE(E) ((void) (E)) #else -# define YYUSE(e) /* empty */ +# define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int yyi) -#else -static int -YYID (yyi) - int yyi; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return yyi; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined yyoverflow || YYERROR_VERBOSE @@ -301,9 +332,9 @@ YYID (yyi) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif @@ -313,8 +344,8 @@ YYID (yyi) # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -330,7 +361,7 @@ YYID (yyi) # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 @@ -338,15 +369,13 @@ YYID (yyi) # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -356,7 +385,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -381,35 +410,35 @@ union yyalloc elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from FROM to TO. The source and destination do +/* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ @@ -417,25 +446,27 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 11 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 290 +#define YYLAST 325 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 36 +#define YYNTOKENS 41 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 50 +#define YYNNTS 52 /* YYNRULES -- Number of rules. */ -#define YYNRULES 118 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 191 +#define YYNRULES 126 +/* YYNSTATES -- Number of states. */ +#define YYNSTATES 206 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 290 +#define YYMAXUTOK 295 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -467,87 +498,30 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35 + 35, 36, 37, 38, 39, 40 }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 6, 8, 11, 13, 14, 17, 20, - 23, 26, 31, 36, 40, 42, 44, 46, 48, 50, - 52, 54, 56, 58, 60, 62, 64, 66, 68, 72, - 75, 79, 82, 86, 89, 90, 93, 96, 99, 102, - 105, 108, 112, 117, 122, 127, 133, 137, 138, 142, - 143, 146, 150, 153, 155, 159, 160, 163, 166, 169, - 172, 175, 180, 184, 187, 192, 193, 196, 200, 202, - 206, 207, 210, 213, 216, 220, 224, 228, 230, 234, - 235, 238, 241, 244, 248, 252, 255, 258, 261, 262, - 265, 268, 271, 276, 277, 280, 283, 286, 287, 290, - 292, 294, 297, 300, 303, 305, 308, 309, 312, 314, - 318, 322, 326, 329, 333, 337, 339, 341, 342 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int8 yyrhs[] = -{ - 37, 0, -1, 81, 38, -1, 38, -1, 63, 39, - -1, 39, -1, -1, 39, 41, -1, 39, 55, -1, - 39, 67, -1, 39, 80, -1, 39, 26, 1, 31, - -1, 39, 40, 1, 31, -1, 39, 1, 31, -1, - 16, -1, 18, -1, 19, -1, 21, -1, 17, -1, - 22, -1, 20, -1, 23, -1, 31, -1, 61, -1, - 71, -1, 44, -1, 46, -1, 69, -1, 26, 1, - 31, -1, 1, 31, -1, 10, 26, 31, -1, 43, - 47, -1, 11, 26, 31, -1, 45, 47, -1, -1, - 47, 48, -1, 47, 49, -1, 47, 75, -1, 47, - 73, -1, 47, 42, -1, 47, 31, -1, 19, 78, - 31, -1, 18, 79, 82, 31, -1, 20, 83, 82, - 31, -1, 21, 26, 82, 31, -1, 22, 84, 84, - 82, 31, -1, 24, 50, 31, -1, -1, 50, 26, - 51, -1, -1, 34, 79, -1, 7, 85, 31, -1, - 52, 56, -1, 80, -1, 53, 58, 54, -1, -1, - 56, 57, -1, 56, 75, -1, 56, 73, -1, 56, - 31, -1, 56, 42, -1, 18, 79, 82, 31, -1, - 19, 78, 31, -1, 17, 31, -1, 20, 26, 82, - 31, -1, -1, 58, 41, -1, 14, 83, 81, -1, - 80, -1, 59, 62, 60, -1, -1, 62, 41, -1, - 62, 67, -1, 62, 55, -1, 3, 79, 81, -1, - 4, 79, 31, -1, 64, 76, 74, -1, 80, -1, - 65, 68, 66, -1, -1, 68, 41, -1, 68, 67, - -1, 68, 55, -1, 6, 79, 31, -1, 9, 79, - 31, -1, 70, 74, -1, 12, 31, -1, 72, 13, - -1, -1, 74, 75, -1, 74, 31, -1, 74, 42, - -1, 16, 25, 83, 31, -1, -1, 76, 77, -1, - 76, 31, -1, 23, 82, -1, -1, 79, 82, -1, - 26, -1, 27, -1, 5, 31, -1, 8, 31, -1, - 15, 31, -1, 31, -1, 81, 31, -1, -1, 14, - 83, -1, 84, -1, 84, 34, 84, -1, 84, 28, - 84, -1, 30, 83, 29, -1, 35, 83, -1, 83, - 32, 83, -1, 83, 33, 83, -1, 26, -1, 27, - -1, -1, 26, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 103, 103, 103, 105, 105, 107, 109, 110, 111, - 112, 113, 114, 118, 122, 122, 122, 122, 122, 122, - 122, 122, 126, 127, 128, 129, 130, 131, 135, 136, - 142, 150, 156, 164, 174, 176, 177, 178, 179, 180, - 181, 184, 192, 198, 208, 214, 220, 223, 225, 236, - 237, 242, 251, 256, 264, 267, 269, 270, 271, 272, - 273, 276, 282, 293, 299, 309, 311, 316, 324, 332, - 335, 337, 338, 339, 344, 351, 358, 363, 371, 374, - 376, 377, 378, 381, 389, 396, 403, 409, 416, 418, - 419, 420, 423, 431, 433, 434, 437, 444, 446, 451, - 452, 455, 456, 457, 461, 462, 465, 466, 469, 470, - 471, 472, 473, 474, 475, 478, 479, 482, 483 + 0, 110, 110, 110, 112, 112, 116, 124, 134, 136, + 137, 138, 139, 140, 141, 145, 149, 149, 149, 149, + 149, 149, 149, 149, 149, 153, 154, 155, 156, 157, + 158, 162, 163, 169, 176, 181, 188, 197, 199, 200, + 201, 202, 203, 204, 207, 215, 221, 231, 237, 243, + 249, 252, 254, 267, 268, 273, 283, 288, 296, 299, + 301, 302, 303, 304, 305, 308, 314, 325, 331, 341, + 343, 348, 356, 364, 367, 369, 370, 371, 376, 383, + 388, 396, 399, 401, 402, 403, 406, 415, 422, 427, + 433, 451, 453, 454, 455, 458, 466, 468, 469, 472, + 479, 481, 486, 487, 490, 491, 492, 496, 497, 500, + 501, 504, 505, 506, 507, 508, 509, 510, 511, 512, + 513, 514, 518, 520, 521, 524, 525 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +#if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -555,335 +529,300 @@ static const char *const yytname[] = "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", - "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE", - "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", + "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_IMPLY", + "T_RANGE", "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", + "T_UNEQUAL", "T_LESS", "T_LESS_EQUAL", "T_GREATER", "T_GREATER_EQUAL", "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL", - "T_NOT", "$accept", "input", "start", "stmt_list", "option_name", - "common_stmt", "option_error", "config_entry_start", "config_stmt", + "T_NOT", "$accept", "input", "start", "mainmenu_stmt", + "no_mainmenu_stmt", "stmt_list", "option_name", "common_stmt", + "option_error", "config_entry_start", "config_stmt", "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", "config_option", "symbol_option", "symbol_option_list", "symbol_option_arg", "choice", "choice_entry", "choice_end", "choice_stmt", "choice_option_list", "choice_option", "choice_block", - "if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu", - "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt", - "comment", "comment_stmt", "help_start", "help", "depends_list", - "depends", "visibility_list", "visible", "prompt_stmt_opt", "prompt", - "end", "nl", "if_expr", "expr", "symbol", "word_opt", 0 + "if_entry", "if_end", "if_stmt", "if_block", "menu", "menu_entry", + "menu_end", "menu_stmt", "menu_block", "source_stmt", "comment", + "comment_stmt", "help_start", "help", "depends_list", "depends", + "visibility_list", "visible", "prompt_stmt_opt", "prompt", "end", "nl", + "if_expr", "expr", "nonconst_symbol", "symbol", "word_opt", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290 + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295 }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 36, 37, 37, 38, 38, 39, 39, 39, 39, - 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, - 40, 40, 41, 41, 41, 41, 41, 41, 42, 42, - 43, 44, 45, 46, 47, 47, 47, 47, 47, 47, - 47, 48, 48, 48, 48, 48, 49, 50, 50, 51, - 51, 52, 53, 54, 55, 56, 56, 56, 56, 56, - 56, 57, 57, 57, 57, 58, 58, 59, 60, 61, - 62, 62, 62, 62, 63, 64, 65, 66, 67, 68, - 68, 68, 68, 69, 70, 71, 72, 73, 74, 74, - 74, 74, 75, 76, 76, 76, 77, 78, 78, 79, - 79, 80, 80, 80, 81, 81, 82, 82, 83, 83, - 83, 83, 83, 83, 83, 84, 84, 85, 85 -}; +#define YYPACT_NINF -92 -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 2, 1, 2, 1, 0, 2, 2, 2, - 2, 4, 4, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, - 3, 2, 3, 2, 0, 2, 2, 2, 2, 2, - 2, 3, 4, 4, 4, 5, 3, 0, 3, 0, - 2, 3, 2, 1, 3, 0, 2, 2, 2, 2, - 2, 4, 3, 2, 4, 0, 2, 3, 1, 3, - 0, 2, 2, 2, 3, 3, 3, 1, 3, 0, - 2, 2, 2, 3, 3, 2, 2, 2, 0, 2, - 2, 2, 4, 0, 2, 2, 2, 0, 2, 1, - 1, 2, 2, 2, 1, 2, 0, 2, 1, 3, - 3, 3, 2, 3, 3, 1, 1, 0, 1 -}; +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-92))) -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 6, 0, 104, 0, 3, 0, 6, 6, 99, 100, - 0, 1, 0, 0, 0, 0, 117, 0, 0, 0, - 0, 0, 0, 14, 18, 15, 16, 20, 17, 19, - 21, 0, 22, 0, 7, 34, 25, 34, 26, 55, - 65, 8, 70, 23, 93, 79, 9, 27, 88, 24, - 10, 0, 105, 2, 74, 13, 0, 101, 0, 118, - 0, 102, 0, 0, 0, 115, 116, 0, 0, 0, - 108, 103, 0, 0, 0, 0, 0, 0, 0, 88, - 0, 0, 75, 83, 51, 84, 30, 32, 0, 112, - 0, 0, 67, 0, 0, 11, 12, 0, 0, 0, - 0, 97, 0, 0, 0, 47, 0, 40, 39, 35, - 36, 0, 38, 37, 0, 0, 97, 0, 59, 60, - 56, 58, 57, 66, 54, 53, 71, 73, 69, 72, - 68, 106, 95, 0, 94, 80, 82, 78, 81, 77, - 90, 91, 89, 111, 113, 114, 110, 109, 29, 86, - 0, 106, 0, 106, 106, 106, 0, 0, 0, 87, - 63, 106, 0, 106, 0, 96, 0, 0, 41, 98, - 0, 0, 106, 49, 46, 28, 0, 62, 0, 107, - 92, 42, 43, 44, 0, 0, 48, 61, 64, 45, - 50 -}; +#define YYTABLE_NINF -89 -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int16 yydefgoto[] = -{ - -1, 3, 4, 5, 33, 34, 108, 35, 36, 37, - 38, 74, 109, 110, 157, 186, 39, 40, 124, 41, - 76, 120, 77, 42, 128, 43, 78, 6, 44, 45, - 137, 46, 80, 47, 48, 49, 111, 112, 81, 113, - 79, 134, 152, 153, 50, 7, 165, 69, 70, 60 -}; +#define yytable_value_is_error(Yytable_value) \ + 0 -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -90 + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { - 4, 42, -90, 96, -90, 111, -90, 15, -90, -90, - 75, -90, 82, 42, 104, 42, 110, 107, 42, 115, - 125, -4, 121, -90, -90, -90, -90, -90, -90, -90, - -90, 162, -90, 163, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, 139, -90, -90, 138, -90, 142, -90, 143, -90, - 152, -90, 164, 167, 168, -90, -90, -4, -4, 77, - -18, -90, 177, 185, 33, 71, 195, 247, 236, -2, - 236, 171, -90, -90, -90, -90, -90, -90, 41, -90, - -4, -4, 138, 97, 97, -90, -90, 186, 187, 194, - 42, 42, -4, 196, 97, -90, 219, -90, -90, -90, - -90, 210, -90, -90, 204, 42, 42, 199, -90, -90, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, 222, -90, 223, -90, -90, -90, -90, -90, -90, - -90, -90, -90, -90, 215, -90, -90, -90, -90, -90, - -4, 222, 228, 222, -5, 222, 97, 35, 229, -90, - -90, 222, 232, 222, -4, -90, 135, 233, -90, -90, - 234, 235, 222, 240, -90, -90, 237, -90, 239, -13, - -90, -90, -90, -90, 244, 42, -90, -90, -90, -90, - -90 + 20, 33, -92, 16, -92, -92, -92, 21, -92, -92, + 29, -92, 152, 186, -92, -92, 40, 67, 33, 71, + 33, 42, 80, 33, 78, 78, 31, 82, -92, -92, + -92, -92, -92, -92, -92, -92, -92, 120, -92, 131, + -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, + -92, -92, -92, -92, -92, -92, -92, -92, 109, -92, + 118, -92, 128, -92, 129, -92, 141, 142, -92, 31, + 31, 74, -92, 69, -92, 144, 145, 28, 119, 248, + 286, 77, 38, 77, 219, -92, -92, -92, -92, -92, + -92, -7, -92, 31, 31, 40, 52, 52, 52, 52, + 52, 52, -92, -92, 146, 147, 158, 33, 33, 31, + 78, 78, 52, -92, 184, -92, -92, -92, -92, 176, + -92, -92, 162, 33, 33, 78, -92, -92, -92, -92, + -92, -92, -92, -92, -92, -92, -92, -92, -92, 197, + -92, 272, -92, -92, -92, -92, -92, -92, -92, -92, + -92, -92, 174, -92, -92, -92, -92, -92, -92, -92, + -92, -92, 31, 197, 178, 197, 59, 197, 197, 52, + 27, 179, -92, -92, 197, 180, 197, 31, -92, 111, + 181, -92, -92, 182, 185, 195, 197, 193, -92, -92, + 208, -92, 209, 113, -92, -92, -92, -92, -92, 211, + 33, -92, -92, -92, -92, -92 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 7, 0, 107, 0, 3, 8, 8, 7, 102, 103, + 0, 1, 0, 0, 108, 2, 6, 0, 0, 0, + 0, 125, 0, 0, 0, 0, 0, 0, 16, 21, + 17, 18, 23, 19, 20, 22, 24, 0, 25, 0, + 9, 37, 28, 37, 29, 59, 69, 10, 74, 26, + 96, 82, 11, 30, 91, 27, 12, 15, 0, 104, + 0, 126, 0, 105, 0, 122, 0, 0, 124, 0, + 0, 0, 123, 111, 106, 0, 0, 0, 0, 0, + 0, 0, 91, 0, 0, 78, 86, 55, 87, 33, + 35, 0, 119, 0, 0, 71, 0, 0, 0, 0, + 0, 0, 13, 14, 0, 0, 0, 0, 100, 0, + 0, 0, 0, 51, 0, 43, 42, 38, 39, 0, + 41, 40, 0, 0, 100, 0, 63, 64, 60, 62, + 61, 70, 58, 57, 75, 77, 73, 76, 72, 109, + 98, 0, 97, 83, 85, 81, 84, 80, 93, 94, + 92, 118, 120, 121, 117, 112, 113, 114, 115, 116, + 32, 89, 0, 109, 0, 109, 109, 109, 109, 0, + 0, 0, 90, 67, 109, 0, 109, 0, 99, 0, + 0, 44, 101, 0, 0, 0, 109, 53, 50, 31, + 0, 66, 0, 110, 95, 45, 46, 47, 48, 0, + 0, 52, 65, 68, 49, 54 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -90, -90, 269, 271, -90, 23, -70, -90, -90, -90, - -90, 243, -90, -90, -90, -90, -90, -90, -90, -48, - -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, - -90, -20, -90, -90, -90, -90, -90, 206, 205, -68, - -90, -90, 169, -1, 27, -7, 118, -66, -89, -90 + -92, -92, 241, -92, -92, 244, -92, -13, -66, -92, + -92, -92, -92, 218, -92, -92, -92, -92, -92, -92, + -92, -69, -92, -92, -92, -92, -92, -92, -92, -92, + -92, -92, 12, -92, -92, -92, -92, -92, 172, 170, + -64, -92, -92, 148, -1, 34, 1, 139, -68, -21, + -91, -92 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -86 + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int16 yydefgoto[] = +{ + -1, 3, 4, 5, 6, 12, 39, 40, 116, 41, + 42, 43, 44, 77, 117, 118, 170, 201, 45, 46, + 132, 47, 79, 128, 80, 48, 136, 49, 81, 50, + 51, 145, 52, 83, 53, 54, 55, 119, 120, 84, + 121, 82, 142, 164, 165, 56, 7, 178, 71, 72, + 73, 62 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 10, 88, 89, 54, 146, 147, 119, 1, 122, 164, - 93, 141, 56, 142, 58, 156, 94, 62, 1, 90, - 91, 131, 65, 66, 144, 145, 67, 90, 91, 132, - 127, 68, 136, -31, 97, 2, 154, -31, -31, -31, - -31, -31, -31, -31, -31, 98, 52, -31, -31, 99, - -31, 100, 101, 102, 103, 104, -31, 105, 129, 106, - 138, 173, 92, 141, 107, 142, 174, 172, 8, 9, - 143, -33, 97, 90, 91, -33, -33, -33, -33, -33, - -33, -33, -33, 98, 166, -33, -33, 99, -33, 100, - 101, 102, 103, 104, -33, 105, 11, 106, 179, 151, - 123, 126, 107, 135, 125, 130, 2, 139, 2, 90, - 91, -5, 12, 55, 161, 13, 14, 15, 16, 17, - 18, 19, 20, 65, 66, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 57, 59, 31, 61, -4, - 12, 63, 32, 13, 14, 15, 16, 17, 18, 19, - 20, 64, 71, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 30, 72, 73, 31, 180, 90, 91, 52, - 32, -85, 97, 82, 83, -85, -85, -85, -85, -85, - -85, -85, -85, 84, 190, -85, -85, 99, -85, -85, - -85, -85, -85, -85, -85, 85, 97, 106, 86, 87, - -52, -52, 140, -52, -52, -52, -52, 98, 95, -52, - -52, 99, 114, 115, 116, 117, 96, 148, 149, 150, - 158, 106, 155, 159, 97, 163, 118, -76, -76, -76, - -76, -76, -76, -76, -76, 160, 164, -76, -76, 99, - 13, 14, 15, 16, 17, 18, 19, 20, 91, 106, - 21, 22, 14, 15, 140, 17, 18, 19, 20, 168, - 175, 21, 22, 177, 181, 182, 183, 32, 187, 167, - 188, 169, 170, 171, 185, 189, 53, 51, 32, 176, - 75, 178, 121, 0, 133, 162, 0, 0, 0, 0, - 184 + 10, 91, 92, 66, 67, 154, 155, 156, 157, 158, + 159, 16, 135, 127, 144, 130, 11, 58, 149, 60, + 150, 169, 64, 1, 1, 152, 153, 151, -34, 104, + 93, 94, -34, -34, -34, -34, -34, -34, -34, -34, + 105, 166, -34, -34, 106, -34, 107, 108, 109, 110, + 111, 112, -34, 113, 187, 114, 2, 14, 65, 68, + 8, 9, 139, 188, 115, 2, 69, 131, 134, 61, + 143, 70, 95, 177, 140, 149, 14, 150, 186, 65, + 68, 18, 19, 20, 21, 22, 23, 24, 25, 167, + 168, 26, 27, 137, 179, 146, 93, 94, 96, 97, + 98, 99, 100, 57, 176, 65, 163, 59, 101, 193, + 2, 93, 94, 38, 133, 138, 63, 147, 74, -36, + 104, 75, 174, -36, -36, -36, -36, -36, -36, -36, + -36, 105, 76, -36, -36, 106, -36, 107, 108, 109, + 110, 111, 112, -36, 113, 85, 114, 194, 93, 94, + 93, 94, -4, 17, 86, 115, 18, 19, 20, 21, + 22, 23, 24, 25, 87, 88, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 89, 90, 37, + 102, 103, 160, 161, 162, 171, -5, 17, 38, 172, + 18, 19, 20, 21, 22, 23, 24, 25, 173, 205, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 177, 94, 37, 181, 189, 191, 195, 196, -88, + 104, 197, 38, -88, -88, -88, -88, -88, -88, -88, + -88, 198, 200, -88, -88, 106, -88, -88, -88, -88, + -88, -88, -88, -88, 202, 203, 114, 204, 15, 104, + 13, 129, 141, -56, -56, 148, -56, -56, -56, -56, + 105, 78, -56, -56, 106, 122, 123, 124, 125, 0, + 0, 0, 175, 104, 0, 114, -79, -79, -79, -79, + -79, -79, -79, -79, 126, 0, -79, -79, 106, 0, + 0, 19, 20, 0, 22, 23, 24, 25, 0, 114, + 26, 27, 180, 0, 182, 183, 184, 185, 148, 0, + 0, 0, 0, 190, 0, 192, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 199 }; -#define yypact_value_is_default(yystate) \ - ((yystate) == (-90)) - -#define yytable_value_is_error(yytable_value) \ - YYID (0) - static const yytype_int16 yycheck[] = { - 1, 67, 68, 10, 93, 94, 76, 3, 76, 14, - 28, 81, 13, 81, 15, 104, 34, 18, 3, 32, - 33, 23, 26, 27, 90, 91, 30, 32, 33, 31, - 78, 35, 80, 0, 1, 31, 102, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 31, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 78, 26, - 80, 26, 69, 133, 31, 133, 31, 156, 26, 27, - 29, 0, 1, 32, 33, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 150, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 0, 26, 164, 100, - 77, 78, 31, 80, 77, 78, 31, 80, 31, 32, - 33, 0, 1, 31, 115, 4, 5, 6, 7, 8, - 9, 10, 11, 26, 27, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 31, 26, 26, 31, 0, - 1, 26, 31, 4, 5, 6, 7, 8, 9, 10, - 11, 26, 31, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 1, 1, 26, 31, 32, 33, 31, - 31, 0, 1, 31, 31, 4, 5, 6, 7, 8, - 9, 10, 11, 31, 185, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 31, 1, 26, 31, 31, - 5, 6, 31, 8, 9, 10, 11, 12, 31, 14, - 15, 16, 17, 18, 19, 20, 31, 31, 31, 25, - 1, 26, 26, 13, 1, 26, 31, 4, 5, 6, - 7, 8, 9, 10, 11, 31, 14, 14, 15, 16, - 4, 5, 6, 7, 8, 9, 10, 11, 33, 26, - 14, 15, 5, 6, 31, 8, 9, 10, 11, 31, - 31, 14, 15, 31, 31, 31, 31, 31, 31, 151, - 31, 153, 154, 155, 34, 31, 7, 6, 31, 161, - 37, 163, 76, -1, 79, 116, -1, -1, -1, -1, - 172 + 1, 69, 70, 24, 25, 96, 97, 98, 99, 100, + 101, 10, 81, 79, 83, 79, 0, 18, 84, 20, + 84, 112, 23, 3, 3, 93, 94, 34, 0, 1, + 37, 38, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 109, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 27, 27, 36, 36, 27, 28, + 27, 28, 24, 36, 36, 36, 35, 80, 81, 27, + 83, 40, 71, 14, 36, 141, 36, 141, 169, 27, + 28, 4, 5, 6, 7, 8, 9, 10, 11, 110, + 111, 14, 15, 81, 162, 83, 37, 38, 29, 30, + 31, 32, 33, 36, 125, 27, 107, 36, 39, 177, + 36, 37, 38, 36, 80, 81, 36, 83, 36, 0, + 1, 1, 123, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 1, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 36, 27, 36, 37, 38, + 37, 38, 0, 1, 36, 36, 4, 5, 6, 7, + 8, 9, 10, 11, 36, 36, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 36, 36, 27, + 36, 36, 36, 36, 26, 1, 0, 1, 36, 13, + 4, 5, 6, 7, 8, 9, 10, 11, 36, 200, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 14, 38, 27, 36, 36, 36, 36, 36, 0, + 1, 36, 36, 4, 5, 6, 7, 8, 9, 10, + 11, 36, 39, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 36, 36, 27, 36, 7, 1, + 6, 79, 82, 5, 6, 36, 8, 9, 10, 11, + 12, 43, 14, 15, 16, 17, 18, 19, 20, -1, + -1, -1, 124, 1, -1, 27, 4, 5, 6, 7, + 8, 9, 10, 11, 36, -1, 14, 15, 16, -1, + -1, 5, 6, -1, 8, 9, 10, 11, -1, 27, + 14, 15, 163, -1, 165, 166, 167, 168, 36, -1, + -1, -1, -1, 174, -1, 176, -1, -1, -1, -1, + -1, -1, 36, -1, -1, 186 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 3, 31, 37, 38, 39, 63, 81, 26, 27, - 79, 0, 1, 4, 5, 6, 7, 8, 9, 10, - 11, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 26, 31, 40, 41, 43, 44, 45, 46, 52, - 53, 55, 59, 61, 64, 65, 67, 69, 70, 71, - 80, 39, 31, 38, 81, 31, 79, 31, 79, 26, - 85, 31, 79, 26, 26, 26, 27, 30, 35, 83, - 84, 31, 1, 1, 47, 47, 56, 58, 62, 76, - 68, 74, 31, 31, 31, 31, 31, 31, 83, 83, - 32, 33, 81, 28, 34, 31, 31, 1, 12, 16, - 18, 19, 20, 21, 22, 24, 26, 31, 42, 48, - 49, 72, 73, 75, 17, 18, 19, 20, 31, 42, - 57, 73, 75, 41, 54, 80, 41, 55, 60, 67, - 80, 23, 31, 74, 77, 41, 55, 66, 67, 80, - 31, 42, 75, 29, 83, 83, 84, 84, 31, 31, - 25, 79, 78, 79, 83, 26, 84, 50, 1, 13, - 31, 79, 78, 26, 14, 82, 83, 82, 31, 82, - 82, 82, 84, 26, 31, 31, 82, 31, 82, 83, - 31, 31, 31, 31, 82, 34, 51, 31, 31, 31, - 79 + 0, 3, 36, 42, 43, 44, 45, 87, 27, 28, + 85, 0, 46, 46, 36, 43, 87, 1, 4, 5, + 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 27, 36, 47, + 48, 50, 51, 52, 53, 59, 60, 62, 66, 68, + 70, 71, 73, 75, 76, 77, 86, 36, 85, 36, + 85, 27, 92, 36, 85, 27, 90, 90, 28, 35, + 40, 89, 90, 91, 36, 1, 1, 54, 54, 63, + 65, 69, 82, 74, 80, 36, 36, 36, 36, 36, + 36, 89, 89, 37, 38, 87, 29, 30, 31, 32, + 33, 39, 36, 36, 1, 12, 16, 18, 19, 20, + 21, 22, 23, 25, 27, 36, 49, 55, 56, 78, + 79, 81, 17, 18, 19, 20, 36, 49, 64, 79, + 81, 48, 61, 86, 48, 62, 67, 73, 86, 24, + 36, 80, 83, 48, 62, 72, 73, 86, 36, 49, + 81, 34, 89, 89, 91, 91, 91, 91, 91, 91, + 36, 36, 26, 85, 84, 85, 89, 90, 90, 91, + 57, 1, 13, 36, 85, 84, 90, 14, 88, 89, + 88, 36, 88, 88, 88, 88, 91, 27, 36, 36, + 88, 36, 88, 89, 36, 36, 36, 36, 36, 88, + 39, 58, 36, 36, 36, 85 }; -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 41, 42, 42, 43, 43, 44, 45, 46, 46, + 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, + 48, 49, 49, 50, 51, 52, 53, 54, 54, 54, + 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, + 56, 57, 57, 58, 58, 59, 60, 61, 62, 63, + 63, 63, 63, 63, 63, 64, 64, 64, 64, 65, + 65, 66, 67, 68, 69, 69, 69, 69, 70, 71, + 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, + 79, 80, 80, 80, 80, 81, 82, 82, 82, 83, + 84, 84, 85, 85, 86, 86, 86, 87, 87, 88, + 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 90, 91, 91, 92, 92 +}; -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 2, 1, 2, 2, 3, 0, 0, 2, + 2, 2, 2, 4, 4, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 3, 2, 3, 2, 3, 2, 0, 2, 2, + 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, + 3, 0, 3, 0, 2, 3, 2, 1, 3, 0, + 2, 2, 2, 2, 2, 4, 3, 2, 4, 0, + 2, 3, 1, 3, 0, 2, 2, 2, 3, 3, + 1, 3, 0, 2, 2, 2, 3, 3, 2, 2, + 2, 0, 2, 2, 2, 4, 0, 2, 2, 2, + 0, 2, 1, 1, 2, 2, 2, 1, 2, 0, + 2, 1, 3, 3, 3, 3, 3, 3, 3, 2, + 3, 3, 1, 1, 1, 0, 1 +}; -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab -#define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) + +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - - -/* This macro is provided for backward compatibility. */ - -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif /* Enable debugging if requested. */ #if YYDEBUG @@ -893,54 +832,46 @@ while (YYID (0)) # define YYFPRINTF fprintf # endif -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif { + FILE *yyo = yyoutput; + YYUSE (yyo); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); # endif - switch (yytype) - { - default: - break; - } + YYUSE (yytype); } @@ -948,22 +879,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif { - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); @@ -974,16 +894,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) -#else -static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; -#endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) @@ -994,49 +906,42 @@ yy_stack_print (yybottom, yytop) YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) { + unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; - unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); + yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -1050,7 +955,7 @@ int yydebug; /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -1073,15 +978,8 @@ int yydebug; # define yystrlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) @@ -1097,16 +995,8 @@ yystrlen (yystr) # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif { char *yyd = yydest; const char *yys = yysrc; @@ -1136,27 +1026,27 @@ yytnamerr (char *yyres, const char *yystr) char const *yyp = yystr; for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } do_not_strip_quotes: ; } @@ -1179,12 +1069,11 @@ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]); + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ - const char *yyformat = 0; + const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per @@ -1192,10 +1081,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, int yycount = 0; /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - - for details. YYERROR is fine as it does not invoke this - function. - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected @@ -1244,11 +1129,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, break; } yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } } } } @@ -1268,10 +1155,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, # undef YYCASE_ } - yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } if (*yymsg_alloc < yysize) { @@ -1308,78 +1197,58 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif { YYUSE (yyvaluep); - if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN switch (yytype) { - case 53: /* "choice_entry" */ + case 60: /* choice_entry */ - { + { fprintf(stderr, "%s:%d: missing end statement for this entry\n", - (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno); - if (current_menu == (yyvaluep->menu)) + ((*yyvaluep).menu)->file->name, ((*yyvaluep).menu)->lineno); + if (current_menu == ((*yyvaluep).menu)) menu_end_menu(); -}; +} - break; - case 59: /* "if_entry" */ + break; - { + case 66: /* if_entry */ + + { fprintf(stderr, "%s:%d: missing end statement for this entry\n", - (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno); - if (current_menu == (yyvaluep->menu)) + ((*yyvaluep).menu)->file->name, ((*yyvaluep).menu)->lineno); + if (current_menu == ((*yyvaluep).menu)) menu_end_menu(); -}; +} - break; - case 65: /* "menu_entry" */ + break; - { + case 71: /* menu_entry */ + + { fprintf(stderr, "%s:%d: missing end statement for this entry\n", - (yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno); - if (current_menu == (yyvaluep->menu)) + ((*yyvaluep).menu)->file->name, ((*yyvaluep).menu)->lineno); + if (current_menu == ((*yyvaluep).menu)) menu_end_menu(); -}; +} + + break; - break; default: - break; + break; } + YY_IGNORE_MAYBE_UNINITIALIZED_END } -/* Prevent warnings from -Wmissing-prototypes. */ -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ /* The lookahead symbol. */ @@ -1387,7 +1256,6 @@ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; - /* Number of syntax errors so far. */ int yynerrs; @@ -1396,37 +1264,18 @@ int yynerrs; | yyparse. | `----------*/ -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int yyparse (void) -#else -int -yyparse () - -#endif -#endif { int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: - `yyss': related to states. - `yyvs': related to semantic values. + 'yyss': related to states. + 'yyvs': related to semantic values. - Refer to the stacks thru separate pointers, to allow yyoverflow + Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ @@ -1444,7 +1293,7 @@ yyparse () int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ - int yytoken; + int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; @@ -1462,9 +1311,8 @@ yyparse () Keep to zero when no symbol should be popped. */ int yylen = 0; - yytoken = 0; - yyss = yyssa; - yyvs = yyvsa; + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); @@ -1473,14 +1321,6 @@ yyparse () yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - yyssp = yyss; - yyvsp = yyvs; - goto yysetstate; /*------------------------------------------------------------. @@ -1501,23 +1341,23 @@ yyparse () #ifdef yyoverflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); - yyss = yyss1; - yyvs = yyvs1; + yyss = yyss1; + yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE @@ -1525,22 +1365,22 @@ yyparse () # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; + yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ @@ -1549,10 +1389,10 @@ yyparse () yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -1581,7 +1421,7 @@ yybackup: if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + yychar = yylex (); } if (yychar <= YYEOF) @@ -1621,7 +1461,9 @@ yybackup: yychar = YYEMPTY; yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; @@ -1644,7 +1486,7 @@ yyreduce: yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -1657,402 +1499,505 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 10: + case 6: + + { + menu_add_prompt(P_MENU, (yyvsp[-1].string), NULL); +} - { zconf_error("unexpected end statement"); } break; - case 11: + case 7: + + { + /* + * Hack: Keep the main menu title on the heap so we can safely free it + * later regardless of whether it comes from the 'prompt' in + * mainmenu_stmt or here + */ + menu_add_prompt(P_MENU, xstrdup("Buildroot Configuration"), NULL); +} - { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); } break; case 12: - { - zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name); -} + { zconf_error("unexpected end statement"); } + break; case 13: - { zconf_error("invalid statement"); } + { zconf_error("unknown statement \"%s\"", (yyvsp[-2].string)); } + break; - case 28: - - { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); } - break; - - case 29: - - { zconf_error("invalid option"); } - break; - - case 30: + case 14: { - struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); - sym->flags |= SYMBOL_OPTIONAL; - menu_add_entry(sym); - printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); + zconf_error("unexpected option \"%s\"", (yyvsp[-2].id)->name); } + + break; + + case 15: + + { zconf_error("invalid statement"); } + break; case 31: - { - menu_end_entry(); - printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); -} + { zconf_error("unknown option \"%s\"", (yyvsp[-2].string)); } + break; case 32: - { - struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0); - sym->flags |= SYMBOL_OPTIONAL; - menu_add_entry(sym); - printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); -} + { zconf_error("invalid option"); } + break; case 33: + { + (yyvsp[-1].symbol)->flags |= SYMBOL_OPTIONAL; + menu_add_entry((yyvsp[-1].symbol)); + printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].symbol)->name); +} + + break; + + case 34: + + { + printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 35: + + { + (yyvsp[-1].symbol)->flags |= SYMBOL_OPTIONAL; + menu_add_entry((yyvsp[-1].symbol)); + printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].symbol)->name); +} + + break; + + case 36: + { if (current_entry->prompt) current_entry->prompt->type = P_MENU; else zconfprint("warning: menuconfig statement without prompt"); - menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); } - break; - case 41: - - { - menu_set_type((yyvsp[(1) - (3)].id)->stype); - printd(DEBUG_PARSE, "%s:%d:type(%u)\n", - zconf_curname(), zconf_lineno(), - (yyvsp[(1) - (3)].id)->stype); -} - break; - - case 42: - - { - menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); - printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); -} - break; - - case 43: - - { - menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)); - if ((yyvsp[(1) - (4)].id)->stype != S_UNKNOWN) - menu_set_type((yyvsp[(1) - (4)].id)->stype); - printd(DEBUG_PARSE, "%s:%d:default(%u)\n", - zconf_curname(), zconf_lineno(), - (yyvsp[(1) - (4)].id)->stype); -} break; case 44: { - menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); - printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); + menu_set_type((yyvsp[-2].id)->stype); + printd(DEBUG_PARSE, "%s:%d:type(%u)\n", + zconf_curname(), zconf_lineno(), + (yyvsp[-2].id)->stype); } + break; case 45: { - menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr)); - printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); + menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); } + + break; + + case 46: + + { + menu_add_expr(P_DEFAULT, (yyvsp[-2].expr), (yyvsp[-1].expr)); + if ((yyvsp[-3].id)->stype != S_UNKNOWN) + menu_set_type((yyvsp[-3].id)->stype); + printd(DEBUG_PARSE, "%s:%d:default(%u)\n", + zconf_curname(), zconf_lineno(), + (yyvsp[-3].id)->stype); +} + + break; + + case 47: + + { + menu_add_symbol(P_SELECT, (yyvsp[-2].symbol), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); +} + break; case 48: { - const struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string))); - if (id && id->flags & TF_OPTION) - menu_add_option(id->token, (yyvsp[(3) - (3)].string)); - else - zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string)); - free((yyvsp[(2) - (3)].string)); + menu_add_symbol(P_IMPLY, (yyvsp[-2].symbol), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:imply\n", zconf_curname(), zconf_lineno()); } + break; case 49: - { (yyval.string) = NULL; } - break; - - case 50: - - { (yyval.string) = (yyvsp[(2) - (2)].string); } - break; - - case 51: - { - struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE); - sym->flags |= SYMBOL_AUTO; - menu_add_entry(sym); - menu_add_expr(P_CHOICE, NULL, NULL); - printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); + menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[-3].symbol), (yyvsp[-2].symbol)), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno()); } + break; case 52: { - (yyval.menu) = menu_add_menu(); + const struct kconf_id *id = kconf_id_lookup((yyvsp[-1].string), strlen((yyvsp[-1].string))); + if (id && id->flags & TF_OPTION) { + menu_add_option(id->token, (yyvsp[0].string)); + free((yyvsp[0].string)); + } + else + zconfprint("warning: ignoring unknown option %s", (yyvsp[-1].string)); + free((yyvsp[-1].string)); } + break; case 53: + { (yyval.string) = NULL; } + + break; + + case 54: + + { (yyval.string) = (yyvsp[0].string); } + + break; + + case 55: + { - if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) { + struct symbol *sym = sym_lookup((yyvsp[-1].string), SYMBOL_CHOICE); + sym->flags |= SYMBOL_AUTO; + menu_add_entry(sym); + menu_add_expr(P_CHOICE, NULL, NULL); + free((yyvsp[-1].string)); + printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); +} + + break; + + case 56: + + { + (yyval.menu) = menu_add_menu(); +} + + break; + + case 57: + + { + if (zconf_endtoken((yyvsp[0].id), T_CHOICE, T_ENDCHOICE)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno()); } } + break; - case 61: + case 65: { - menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr)); + menu_add_prompt(P_PROMPT, (yyvsp[-2].string), (yyvsp[-1].expr)); printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno()); } + break; - case 62: + case 66: { - if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) { - menu_set_type((yyvsp[(1) - (3)].id)->stype); + if ((yyvsp[-2].id)->stype == S_BOOLEAN || (yyvsp[-2].id)->stype == S_TRISTATE) { + menu_set_type((yyvsp[-2].id)->stype); printd(DEBUG_PARSE, "%s:%d:type(%u)\n", zconf_curname(), zconf_lineno(), - (yyvsp[(1) - (3)].id)->stype); + (yyvsp[-2].id)->stype); } else YYERROR; } - break; - case 63: - - { - current_entry->sym->flags |= SYMBOL_OPTIONAL; - printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); -} - break; - - case 64: - - { - if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) { - menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr)); - printd(DEBUG_PARSE, "%s:%d:default\n", - zconf_curname(), zconf_lineno()); - } else - YYERROR; -} break; case 67: { - printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); - menu_add_entry(NULL); - menu_add_dep((yyvsp[(2) - (3)].expr)); - (yyval.menu) = menu_add_menu(); + current_entry->sym->flags |= SYMBOL_OPTIONAL; + printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); } + break; case 68: { - if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) { + if ((yyvsp[-3].id)->stype == S_UNKNOWN) { + menu_add_symbol(P_DEFAULT, (yyvsp[-2].symbol), (yyvsp[-1].expr)); + printd(DEBUG_PARSE, "%s:%d:default\n", + zconf_curname(), zconf_lineno()); + } else + YYERROR; +} + + break; + + case 71: + + { + printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno()); + menu_add_entry(NULL); + menu_add_dep((yyvsp[-1].expr)); + (yyval.menu) = menu_add_menu(); +} + + break; + + case 72: + + { + if (zconf_endtoken((yyvsp[0].id), T_IF, T_ENDIF)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno()); } } + break; - case 74: - - { - menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); -} - break; - - case 75: + case 78: { menu_add_entry(NULL); - menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL); + menu_add_prompt(P_MENU, (yyvsp[-1].string), NULL); printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); } + break; - case 76: + case 79: { (yyval.menu) = menu_add_menu(); } + break; - case 77: + case 80: { - if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) { + if (zconf_endtoken((yyvsp[0].id), T_MENU, T_ENDMENU)) { menu_end_menu(); printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno()); } } - break; - case 83: - - { - printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string)); - zconf_nextfile((yyvsp[(2) - (3)].string)); -} - break; - - case 84: - - { - menu_add_entry(NULL); - menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL); - printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); -} - break; - - case 85: - - { - menu_end_entry(); -} break; case 86: { - printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); - zconf_starthelp(); + printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[-1].string)); + zconf_nextfile((yyvsp[-1].string)); + free((yyvsp[-1].string)); } + break; case 87: { - current_entry->help = (yyvsp[(2) - (2)].string); + menu_add_entry(NULL); + menu_add_prompt(P_COMMENT, (yyvsp[-1].string), NULL); + printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno()); } + break; - case 92: + case 89: { - menu_add_dep((yyvsp[(3) - (4)].expr)); + printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno()); + zconf_starthelp(); +} + + break; + + case 90: + + { + if (current_entry->help) { + free(current_entry->help); + zconfprint("warning: '%s' defined with more than one help text -- only the last one will be used", + current_entry->sym->name ?: ""); + } + + /* Is the help text empty or all whitespace? */ + if ((yyvsp[0].string)[strspn((yyvsp[0].string), " \f\n\r\t\v")] == '\0') + zconfprint("warning: '%s' defined with blank help text", + current_entry->sym->name ?: ""); + + current_entry->help = (yyvsp[0].string); +} + + break; + + case 95: + + { + menu_add_dep((yyvsp[-1].expr)); printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno()); } + break; - case 96: + case 99: { - menu_add_visibility((yyvsp[(2) - (2)].expr)); + menu_add_visibility((yyvsp[0].expr)); } - break; - case 98: - - { - menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr)); -} break; case 101: - { (yyval.id) = (yyvsp[(1) - (2)].id); } + { + menu_add_prompt(P_PROMPT, (yyvsp[-1].string), (yyvsp[0].expr)); +} + break; - case 102: + case 104: + + { (yyval.id) = (yyvsp[-1].id); } - { (yyval.id) = (yyvsp[(1) - (2)].id); } break; - case 103: + case 105: + + { (yyval.id) = (yyvsp[-1].id); } - { (yyval.id) = (yyvsp[(1) - (2)].id); } break; case 106: - { (yyval.expr) = NULL; } - break; + { (yyval.id) = (yyvsp[-1].id); } - case 107: - - { (yyval.expr) = (yyvsp[(2) - (2)].expr); } - break; - - case 108: - - { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); } break; case 109: - { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); } + { (yyval.expr) = NULL; } + break; case 110: - { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); } + { (yyval.expr) = (yyvsp[0].expr); } + break; case 111: - { (yyval.expr) = (yyvsp[(2) - (3)].expr); } + { (yyval.expr) = expr_alloc_symbol((yyvsp[0].symbol)); } + break; case 112: - { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); } + { (yyval.expr) = expr_alloc_comp(E_LTH, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + break; case 113: - { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); } + { (yyval.expr) = expr_alloc_comp(E_LEQ, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + break; case 114: - { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); } + { (yyval.expr) = expr_alloc_comp(E_GTH, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + break; case 115: - { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); } + { (yyval.expr) = expr_alloc_comp(E_GEQ, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + break; case 116: - { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); } + { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + break; case 117: + { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[-2].symbol), (yyvsp[0].symbol)); } + + break; + + case 118: + + { (yyval.expr) = (yyvsp[-1].expr); } + + break; + + case 119: + + { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[0].expr)); } + + break; + + case 120: + + { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[-2].expr), (yyvsp[0].expr)); } + + break; + + case 121: + + { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[-2].expr), (yyvsp[0].expr)); } + + break; + + case 122: + + { (yyval.symbol) = sym_lookup((yyvsp[0].string), 0); free((yyvsp[0].string)); } + + break; + + case 124: + + { (yyval.symbol) = sym_lookup((yyvsp[0].string), SYMBOL_CONST); free((yyvsp[0].string)); } + + break; + + case 125: + { (yyval.string) = NULL; } + break; @@ -2078,7 +2023,7 @@ yyreduce: *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -2093,9 +2038,9 @@ yyreduce: goto yynewstate; -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ @@ -2146,20 +2091,20 @@ yyerrlab: if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -2178,7 +2123,7 @@ yyerrorlab: if (/*CONSTCOND*/ 0) goto yyerrorlab; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; @@ -2191,35 +2136,37 @@ yyerrorlab: | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ + yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) - YYABORT; + YYABORT; yydestruct ("Error: popping", - yystos[yystate], yyvsp); + yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ @@ -2243,7 +2190,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#if !defined(yyoverflow) || YYERROR_VERBOSE +#if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2262,14 +2209,14 @@ yyreturn: yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); } - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); + yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow @@ -2280,16 +2227,14 @@ yyreturn: if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif - /* Make sure YYID is used. */ - return YYID (yyresult); + return yyresult; } - - void conf_parse(const char *name) { + const char *tmp; struct symbol *sym; int i; @@ -2297,25 +2242,26 @@ void conf_parse(const char *name) sym_init(); _menu_init(); - rootmenu.prompt = menu_add_prompt(P_MENU, "Buildroot Configuration", NULL); if (getenv("ZCONF_DEBUG")) - zconfdebug = 1; - zconfparse(); - if (zconfnerrs) + yydebug = 1; + yyparse(); + if (yynerrs) exit(1); if (!modules_sym) modules_sym = sym_find( "n" ); + tmp = rootmenu.prompt->text; rootmenu.prompt->text = _(rootmenu.prompt->text); rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text); + free((char*)tmp); menu_finalize(&rootmenu); for_all_symbols(i, sym) { if (sym_check_deps(sym)) - zconfnerrs++; - } - if (zconfnerrs) + yynerrs++; + } + if (yynerrs) exit(1); sym_set_change_count(1); } @@ -2339,17 +2285,17 @@ static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtok { if (id->token != endtoken) { zconf_error("unexpected '%s' within %s block", - kconf_id_strings + id->name, zconf_tokenname(starttoken)); - zconfnerrs++; + id->name, zconf_tokenname(starttoken)); + yynerrs++; return false; } if (current_menu->file != current_file) { zconf_error("'%s' in different file than '%s'", - kconf_id_strings + id->name, zconf_tokenname(starttoken)); + id->name, zconf_tokenname(starttoken)); fprintf(stderr, "%s:%d: location of the '%s'\n", current_menu->file->name, current_menu->lineno, zconf_tokenname(starttoken)); - zconfnerrs++; + yynerrs++; return false; } return true; @@ -2370,7 +2316,7 @@ static void zconf_error(const char *err, ...) { va_list ap; - zconfnerrs++; + yynerrs++; fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); va_start(ap, err); vfprintf(stderr, err, ap); @@ -2378,7 +2324,7 @@ static void zconf_error(const char *err, ...) fprintf(stderr, "\n"); } -static void zconferror(const char *err) +static void yyerror(const char *err) { fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err); } @@ -2411,7 +2357,7 @@ static void print_symbol(FILE *out, struct menu *menu) fprintf(out, "\nconfig %s\n", sym->name); switch (sym->type) { case S_BOOLEAN: - fputs(" boolean\n", out); + fputs(" bool\n", out); break; case S_TRISTATE: fputs(" tristate\n", out); @@ -2459,6 +2405,11 @@ static void print_symbol(FILE *out, struct menu *menu) expr_fprint(prop->expr, out); fputc('\n', out); break; + case P_IMPLY: + fputs( " imply ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; case P_RANGE: fputs( " range ", out); expr_fprint(prop->expr, out); @@ -2535,4 +2486,3 @@ void zconfdump(FILE *out) #include "expr.c" #include "symbol.c" #include "menu.c" - diff --git a/bsp/buildroot/support/kconfig/zconf.y b/bsp/buildroot/support/kconfig/zconf.y index 08ac041f..7b34de28 100644 --- a/bsp/buildroot/support/kconfig/zconf.y +++ b/bsp/buildroot/support/kconfig/zconf.y @@ -20,10 +20,10 @@ int cdebug = PRINTD; -extern int zconflex(void); +int yylex(void); +static void yyerror(const char *err); static void zconfprint(const char *err, ...); static void zconf_error(const char *err, ...); -static void zconferror(const char *err); static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken); struct symbol *symbol_hash[SYMBOL_HASHSIZE]; @@ -31,7 +31,7 @@ struct symbol *symbol_hash[SYMBOL_HASHSIZE]; static struct menu *current_menu, *current_entry; %} -%expect 30 +%expect 32 %union { @@ -62,6 +62,7 @@ static struct menu *current_menu, *current_entry; %token T_TYPE %token T_DEFAULT %token T_SELECT +%token T_IMPLY %token T_RANGE %token T_VISIBLE %token T_OPTION @@ -69,6 +70,10 @@ static struct menu *current_menu, *current_entry; %token T_WORD %token T_WORD_QUOTE %token T_UNEQUAL +%token T_LESS +%token T_LESS_EQUAL +%token T_GREATER +%token T_GREATER_EQUAL %token T_CLOSE_PAREN %token T_OPEN_PAREN %token T_EOL @@ -76,9 +81,11 @@ static struct menu *current_menu, *current_entry; %left T_OR %left T_AND %left T_EQUAL T_UNEQUAL +%left T_LESS T_LESS_EQUAL T_GREATER T_GREATER_EQUAL %nonassoc T_NOT %type prompt +%type nonconst_symbol %type symbol %type expr %type if_expr @@ -95,14 +102,34 @@ static struct menu *current_menu, *current_entry; } if_entry menu_entry choice_entry %{ -/* Include zconf.hash.c here so it can see the token constants. */ -#include "zconf.hash.c" +/* Include kconf_id.c here so it can see the token constants. */ +#include "kconf_id.c" %} %% input: nl start | start; -start: mainmenu_stmt stmt_list | stmt_list; +start: mainmenu_stmt stmt_list | no_mainmenu_stmt stmt_list; + +/* mainmenu entry */ + +mainmenu_stmt: T_MAINMENU prompt nl +{ + menu_add_prompt(P_MENU, $2, NULL); +}; + +/* Default main menu, if there's no mainmenu entry */ + +no_mainmenu_stmt: /* empty */ +{ + /* + * Hack: Keep the main menu title on the heap so we can safely free it + * later regardless of whether it comes from the 'prompt' in + * mainmenu_stmt or here + */ + menu_add_prompt(P_MENU, xstrdup("Buildroot Configuration"), NULL); +}; + stmt_list: /* empty */ @@ -113,13 +140,13 @@ stmt_list: | stmt_list T_WORD error T_EOL { zconf_error("unknown statement \"%s\"", $2); } | stmt_list option_name error T_EOL { - zconf_error("unexpected option \"%s\"", kconf_id_strings + $2->name); + zconf_error("unexpected option \"%s\"", $2->name); } | stmt_list error T_EOL { zconf_error("invalid statement"); } ; option_name: - T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_OPTIONAL | T_RANGE | T_DEFAULT | T_VISIBLE + T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_IMPLY | T_OPTIONAL | T_RANGE | T_DEFAULT | T_VISIBLE ; common_stmt: @@ -139,26 +166,23 @@ option_error: /* config/menuconfig entry */ -config_entry_start: T_CONFIG T_WORD T_EOL +config_entry_start: T_CONFIG nonconst_symbol T_EOL { - struct symbol *sym = sym_lookup($2, 0); - sym->flags |= SYMBOL_OPTIONAL; - menu_add_entry(sym); - printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), $2); + $2->flags |= SYMBOL_OPTIONAL; + menu_add_entry($2); + printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), $2->name); }; config_stmt: config_entry_start config_option_list { - menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); }; -menuconfig_entry_start: T_MENUCONFIG T_WORD T_EOL +menuconfig_entry_start: T_MENUCONFIG nonconst_symbol T_EOL { - struct symbol *sym = sym_lookup($2, 0); - sym->flags |= SYMBOL_OPTIONAL; - menu_add_entry(sym); - printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2); + $2->flags |= SYMBOL_OPTIONAL; + menu_add_entry($2); + printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2->name); }; menuconfig_stmt: menuconfig_entry_start config_option_list @@ -167,7 +191,6 @@ menuconfig_stmt: menuconfig_entry_start config_option_list current_entry->prompt->type = P_MENU; else zconfprint("warning: menuconfig statement without prompt"); - menu_end_entry(); printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno()); }; @@ -205,12 +228,18 @@ config_option: T_DEFAULT expr if_expr T_EOL $1->stype); }; -config_option: T_SELECT T_WORD if_expr T_EOL +config_option: T_SELECT nonconst_symbol if_expr T_EOL { - menu_add_symbol(P_SELECT, sym_lookup($2, 0), $3); + menu_add_symbol(P_SELECT, $2, $3); printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno()); }; +config_option: T_IMPLY nonconst_symbol if_expr T_EOL +{ + menu_add_symbol(P_IMPLY, $2, $3); + printd(DEBUG_PARSE, "%s:%d:imply\n", zconf_curname(), zconf_lineno()); +}; + config_option: T_RANGE symbol symbol if_expr T_EOL { menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,$2, $3), $4); @@ -225,8 +254,10 @@ symbol_option_list: | symbol_option_list T_WORD symbol_option_arg { const struct kconf_id *id = kconf_id_lookup($2, strlen($2)); - if (id && id->flags & TF_OPTION) + if (id && id->flags & TF_OPTION) { menu_add_option(id->token, $3); + free($3); + } else zconfprint("warning: ignoring unknown option %s", $2); free($2); @@ -245,6 +276,7 @@ choice: T_CHOICE word_opt T_EOL sym->flags |= SYMBOL_AUTO; menu_add_entry(sym); menu_add_expr(P_CHOICE, NULL, NULL); + free($2); printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno()); }; @@ -296,10 +328,10 @@ choice_option: T_OPTIONAL T_EOL printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno()); }; -choice_option: T_DEFAULT T_WORD if_expr T_EOL +choice_option: T_DEFAULT nonconst_symbol if_expr T_EOL { if ($1->stype == S_UNKNOWN) { - menu_add_symbol(P_DEFAULT, sym_lookup($2, 0), $3); + menu_add_symbol(P_DEFAULT, $2, $3); printd(DEBUG_PARSE, "%s:%d:default\n", zconf_curname(), zconf_lineno()); } else @@ -339,13 +371,6 @@ if_block: | if_block choice_stmt ; -/* mainmenu entry */ - -mainmenu_stmt: T_MAINMENU prompt nl -{ - menu_add_prompt(P_MENU, $2, NULL); -}; - /* menu entry */ menu: T_MENU prompt T_EOL @@ -382,6 +407,7 @@ source_stmt: T_SOURCE prompt T_EOL { printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2); zconf_nextfile($2); + free($2); }; /* comment entry */ @@ -394,9 +420,7 @@ comment: T_COMMENT prompt T_EOL }; comment_stmt: comment depends_list -{ - menu_end_entry(); -}; +; /* help option */ @@ -408,6 +432,17 @@ help_start: T_HELP T_EOL help: help_start T_HELPTEXT { + if (current_entry->help) { + free(current_entry->help); + zconfprint("warning: '%s' defined with more than one help text -- only the last one will be used", + current_entry->sym->name ?: ""); + } + + /* Is the help text empty or all whitespace? */ + if ($2[strspn($2, " \f\n\r\t\v")] == '\0') + zconfprint("warning: '%s' defined with blank help text", + current_entry->sym->name ?: ""); + current_entry->help = $2; }; @@ -467,6 +502,10 @@ if_expr: /* empty */ { $$ = NULL; } ; expr: symbol { $$ = expr_alloc_symbol($1); } + | symbol T_LESS symbol { $$ = expr_alloc_comp(E_LTH, $1, $3); } + | symbol T_LESS_EQUAL symbol { $$ = expr_alloc_comp(E_LEQ, $1, $3); } + | symbol T_GREATER symbol { $$ = expr_alloc_comp(E_GTH, $1, $3); } + | symbol T_GREATER_EQUAL symbol { $$ = expr_alloc_comp(E_GEQ, $1, $3); } | symbol T_EQUAL symbol { $$ = expr_alloc_comp(E_EQUAL, $1, $3); } | symbol T_UNEQUAL symbol { $$ = expr_alloc_comp(E_UNEQUAL, $1, $3); } | T_OPEN_PAREN expr T_CLOSE_PAREN { $$ = $2; } @@ -475,7 +514,10 @@ expr: symbol { $$ = expr_alloc_symbol($1); } | expr T_AND expr { $$ = expr_alloc_two(E_AND, $1, $3); } ; -symbol: T_WORD { $$ = sym_lookup($1, 0); free($1); } +/* For symbol definitions, selects, etc., where quotes are not accepted */ +nonconst_symbol: T_WORD { $$ = sym_lookup($1, 0); free($1); }; + +symbol: nonconst_symbol | T_WORD_QUOTE { $$ = sym_lookup($1, SYMBOL_CONST); free($1); } ; @@ -486,6 +528,7 @@ word_opt: /* empty */ { $$ = NULL; } void conf_parse(const char *name) { + const char *tmp; struct symbol *sym; int i; @@ -493,25 +536,26 @@ void conf_parse(const char *name) sym_init(); _menu_init(); - rootmenu.prompt = menu_add_prompt(P_MENU, "Buildroot Configuration", NULL); if (getenv("ZCONF_DEBUG")) - zconfdebug = 1; - zconfparse(); - if (zconfnerrs) + yydebug = 1; + yyparse(); + if (yynerrs) exit(1); if (!modules_sym) modules_sym = sym_find( "n" ); + tmp = rootmenu.prompt->text; rootmenu.prompt->text = _(rootmenu.prompt->text); rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text); + free((char*)tmp); menu_finalize(&rootmenu); for_all_symbols(i, sym) { if (sym_check_deps(sym)) - zconfnerrs++; - } - if (zconfnerrs) + yynerrs++; + } + if (yynerrs) exit(1); sym_set_change_count(1); } @@ -535,17 +579,17 @@ static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtok { if (id->token != endtoken) { zconf_error("unexpected '%s' within %s block", - kconf_id_strings + id->name, zconf_tokenname(starttoken)); - zconfnerrs++; + id->name, zconf_tokenname(starttoken)); + yynerrs++; return false; } if (current_menu->file != current_file) { zconf_error("'%s' in different file than '%s'", - kconf_id_strings + id->name, zconf_tokenname(starttoken)); + id->name, zconf_tokenname(starttoken)); fprintf(stderr, "%s:%d: location of the '%s'\n", current_menu->file->name, current_menu->lineno, zconf_tokenname(starttoken)); - zconfnerrs++; + yynerrs++; return false; } return true; @@ -566,7 +610,7 @@ static void zconf_error(const char *err, ...) { va_list ap; - zconfnerrs++; + yynerrs++; fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno()); va_start(ap, err); vfprintf(stderr, err, ap); @@ -574,7 +618,7 @@ static void zconf_error(const char *err, ...) fprintf(stderr, "\n"); } -static void zconferror(const char *err) +static void yyerror(const char *err) { fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err); } @@ -607,7 +651,7 @@ static void print_symbol(FILE *out, struct menu *menu) fprintf(out, "\nconfig %s\n", sym->name); switch (sym->type) { case S_BOOLEAN: - fputs(" boolean\n", out); + fputs(" bool\n", out); break; case S_TRISTATE: fputs(" tristate\n", out); @@ -655,6 +699,11 @@ static void print_symbol(FILE *out, struct menu *menu) expr_fprint(prop->expr, out); fputc('\n', out); break; + case P_IMPLY: + fputs( " imply ", out); + expr_fprint(prop->expr, out); + fputc('\n', out); + break; case P_RANGE: fputs( " range ", out); expr_fprint(prop->expr, out); diff --git a/bsp/buildroot/support/misc/Vagrantfile b/bsp/buildroot/support/misc/Vagrantfile index 54b45da6..6168f058 100644 --- a/bsp/buildroot/support/misc/Vagrantfile +++ b/bsp/buildroot/support/misc/Vagrantfile @@ -5,14 +5,14 @@ ################################################################################ # Buildroot version to use -RELEASE='2018.02' +RELEASE='2019.02' ### Change here for more memory/cores ### VM_MEMORY=2048 VM_CORES=1 Vagrant.configure('2') do |config| - config.vm.box = 'bento/ubuntu-16.04' + config.vm.box = 'ubuntu/bionic64' config.vm.provider :vmware_fusion do |v, override| v.vmx['memsize'] = VM_MEMORY diff --git a/bsp/buildroot/support/misc/toolchainfile.cmake.in b/bsp/buildroot/support/misc/toolchainfile.cmake.in index 1f5d2371..b25031a6 100644 --- a/bsp/buildroot/support/misc/toolchainfile.cmake.in +++ b/bsp/buildroot/support/misc/toolchainfile.cmake.in @@ -15,6 +15,7 @@ string(REPLACE "/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) set(CMAKE_SYSTEM_NAME Buildroot) +set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@) # Set the {C,CXX}FLAGS appended by CMake depending on the build type @@ -45,6 +46,8 @@ set(CMAKE_BUILD_TYPE @@CMAKE_BUILD_TYPE@@ CACHE STRING "Buildroot build configur set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@" CACHE STRING "Buildroot CFLAGS") set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@" CACHE STRING "Buildroot CXXFLAGS") set(CMAKE_EXE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for executables") +set(CMAKE_SHARED_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for shared libraries") +set(CMAKE_MODULE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for module libraries") set(CMAKE_INSTALL_SO_NO_EXE 0) diff --git a/bsp/buildroot/support/scripts/brpkgutil.py b/bsp/buildroot/support/scripts/brpkgutil.py index 4c99ae91..e70d5253 100644 --- a/bsp/buildroot/support/scripts/brpkgutil.py +++ b/bsp/buildroot/support/scripts/brpkgutil.py @@ -1,5 +1,6 @@ # Copyright (C) 2010-2013 Thomas Petazzoni +import logging import sys import subprocess @@ -7,18 +8,18 @@ import subprocess # Execute the "make -show-version" command to get the version of a given # list of packages, and return the version formatted as a Python dictionary. def get_version(pkgs): - sys.stderr.write("Getting version for %s\n" % pkgs) + logging.info("Getting version for %s" % pkgs) cmd = ["make", "-s", "--no-print-directory"] for pkg in pkgs: cmd.append("%s-show-version" % pkg) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) output = p.communicate()[0] if p.returncode != 0: - sys.stderr.write("Error getting version %s\n" % pkgs) + logging.error("Error getting version %s" % pkgs) sys.exit(1) output = output.split("\n") if len(output) != len(pkgs) + 1: - sys.stderr.write("Error getting version\n") + logging.error("Error getting version") sys.exit(1) version = {} for i in range(0, len(pkgs)): @@ -28,18 +29,18 @@ def get_version(pkgs): def _get_depends(pkgs, rule): - sys.stderr.write("Getting dependencies for %s\n" % pkgs) + logging.info("Getting dependencies for %s" % pkgs) cmd = ["make", "-s", "--no-print-directory"] for pkg in pkgs: cmd.append("%s-%s" % (pkg, rule)) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) output = p.communicate()[0] if p.returncode != 0: - sys.stderr.write("Error getting dependencies %s\n" % pkgs) + logging.error("Error getting dependencies %s\n" % pkgs) sys.exit(1) output = output.split("\n") if len(output) != len(pkgs) + 1: - sys.stderr.write("Error getting dependencies\n") + logging.error("Error getting dependencies") sys.exit(1) deps = {} for i in range(0, len(pkgs)): diff --git a/bsp/buildroot/support/scripts/check-bin-arch b/bsp/buildroot/support/scripts/check-bin-arch index 7f976967..66b8d899 100755 --- a/bsp/buildroot/support/scripts/check-bin-arch +++ b/bsp/buildroot/support/scripts/check-bin-arch @@ -20,6 +20,10 @@ declare -a IGNORES=( # pru-software-support) legitimately install ELF binaries that # are not for the target architecture "/usr/share" + + # Skip files in /lib/grub, since it is possible to have it + # for a different architecture (e.g. i386 grub on x86_64). + "/lib/grub" ) while getopts p:l:r:a:i: OPT ; do diff --git a/bsp/buildroot/support/scripts/check-host-rpath b/bsp/buildroot/support/scripts/check-host-rpath index 169628de..c8939569 100755 --- a/bsp/buildroot/support/scripts/check-host-rpath +++ b/bsp/buildroot/support/scripts/check-host-rpath @@ -39,6 +39,11 @@ is_elf() { |grep -E 'Requesting program interpreter:' >/dev/null 2>&1 } +# This function tells whether a given ELF executable (first argument) +# needs a RPATH pointing to the host library directory or not. It +# needs such an RPATH if at least of the libraries used by the ELF +# executable is available in the host library directory. This function +# returns 0 when a RPATH is needed, 1 otherwise. elf_needs_rpath() { local file="${1}" local hostdir="${2}" @@ -54,6 +59,13 @@ elf_needs_rpath() { return 1 } +# This function checks whether at least one of the RPATH of the given +# ELF executable (first argument) properly points to the host library +# directory (second argument), either through an absolute RPATH or a +# relative RPATH. Having such a RPATH will make sure the ELF +# executable will find at runtime the shared libraries it depends +# on. This function returns 0 when a proper RPATH was found, or 1 +# otherwise. check_elf_has_rpath() { local file="${1}" local hostdir="${2}" @@ -63,7 +75,8 @@ check_elf_has_rpath() { for dir in ${rpath//:/ }; do # Remove duplicate and trailing '/' for proper match dir="$( sed -r -e 's:/+:/:g; s:/$::;' <<<"${dir}" )" - [ "${dir}" = "${hostdir}/lib" -o "${dir}" = "\$ORIGIN/../lib" ] && return 0 + [ "${dir}" = "${hostdir}/lib" ] && return 0 + [ "${dir}" = "\$ORIGIN/../lib" ] && return 0 done done < <( readelf -d "${file}" \ |sed -r -e '/.* \(R(UN)?PATH\) +Library r(un)?path: \[(.+)\]$/!d' \ diff --git a/bsp/buildroot/support/scripts/check-merged-usr.sh b/bsp/buildroot/support/scripts/check-merged-usr.sh new file mode 100755 index 00000000..433857cd --- /dev/null +++ b/bsp/buildroot/support/scripts/check-merged-usr.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Check if a given custom skeleton or overlay complies to the merged /usr +# requirements: +# / +# /bin -> usr/bin +# /lib -> usr/lib +# /sbin -> usr/sbin +# /usr/bin/ +# /usr/lib/ +# /usr/sbin/ +# +# Output: the list of non-compliant paths (empty if compliant). +# + +# Extract the inode numbers for all of those directories. In case any is +# a symlink, we want to get the inode of the pointed-to directory, so we +# append '/.' to be sure we get the target directory. Since the symlinks +# can be anyway (/bin -> /usr/bin or /usr/bin -> /bin), we do that for +# all of them. +# +lib_inode=$(stat -c '%i' "${1}/lib/." 2>/dev/null) +bin_inode=$(stat -c '%i' "${1}/bin/." 2>/dev/null) +sbin_inode=$(stat -c '%i' "${1}/sbin/." 2>/dev/null) +usr_lib_inode=$(stat -c '%i' "${1}/usr/lib/." 2>/dev/null) +usr_bin_inode=$(stat -c '%i' "${1}/usr/bin/." 2>/dev/null) +usr_sbin_inode=$(stat -c '%i' "${1}/usr/sbin/." 2>/dev/null) + +not_merged_dirs="" +test -z "$lib_inode" || \ + test "$lib_inode" = "$usr_lib_inode" || \ + not_merged_dirs="/lib" +test -z "$bin_inode" || \ + test "$bin_inode" = "$usr_bin_inode" || \ + not_merged_dirs="$not_merged_dirs /bin" +test -z "$sbin_inode" || \ + test "$sbin_inode" = "$usr_sbin_inode" || \ + not_merged_dirs="$not_merged_dirs /sbin" +echo "${not_merged_dirs# }" diff --git a/bsp/buildroot/support/scripts/check-uniq-files b/bsp/buildroot/support/scripts/check-uniq-files index f1101762..fbc6b5d6 100755 --- a/bsp/buildroot/support/scripts/check-uniq-files +++ b/bsp/buildroot/support/scripts/check-uniq-files @@ -1,7 +1,6 @@ #!/usr/bin/env python import sys -import csv import argparse from collections import defaultdict diff --git a/bsp/buildroot/support/scripts/generate-gitlab-ci-yml b/bsp/buildroot/support/scripts/generate-gitlab-ci-yml new file mode 100755 index 00000000..262a7649 --- /dev/null +++ b/bsp/buildroot/support/scripts/generate-gitlab-ci-yml @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -e +set -o pipefail + +input="${1}" + +cat "${input}" + +( + cd configs + LC_ALL=C ls -1 *_defconfig +) \ + | sed 's/$/: { extends: .defconfig }/' + +./support/testing/run-tests -l 2>&1 \ + | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: { extends: .runtime_test }/' \ + | LC_ALL=C sort diff --git a/bsp/buildroot/support/scripts/graph-build-time b/bsp/buildroot/support/scripts/graph-build-time index 415d431f..ba3cdad8 100755 --- a/bsp/buildroot/support/scripts/graph-build-time +++ b/bsp/buildroot/support/scripts/graph-build-time @@ -69,14 +69,14 @@ import matplotlib.font_manager as fm # noqa: E402 import csv # noqa: E402 import argparse # noqa: E402 -steps = ['extract', 'patch', 'configure', 'build', +steps = ['download', 'extract', 'patch', 'configure', 'build', 'install-target', 'install-staging', 'install-images', 'install-host'] -default_colors = ['#e60004', '#009836', '#2e1d86', '#ffed00', +default_colors = ['#8d02ff', '#e60004', '#009836', '#2e1d86', '#ffed00', '#0068b5', '#f28e00', '#940084', '#97c000'] -alternate_colors = ['#00e0e0', '#3f7f7f', '#ff0000', '#00c000', +alternate_colors = ['#ffbe0a', '#96bdff', '#3f7f7f', '#ff0000', '#00c000', '#0080ff', '#c000ff', '#00eeee', '#e0e000'] @@ -260,7 +260,7 @@ def read_data(input_file): return None for row in reader: - time = int(row[0].strip()) + time = float(row[0].strip()) state = row[1].strip() step = row[2].strip() pkg = row[3].strip() diff --git a/bsp/buildroot/support/scripts/graph-depends b/bsp/buildroot/support/scripts/graph-depends index 51b69c44..d2b100f3 100755 --- a/bsp/buildroot/support/scripts/graph-depends +++ b/bsp/buildroot/support/scripts/graph-depends @@ -21,6 +21,7 @@ # # Copyright (C) 2010-2013 Thomas Petazzoni +import logging import sys import subprocess import argparse @@ -31,96 +32,6 @@ import brpkgutil # Modes of operation: MODE_FULL = 1 # draw full dependency graph for all selected packages MODE_PKG = 2 # draw dependency graph for a given package -mode = 0 - -# Limit drawing the dependency graph to this depth. 0 means 'no limit'. -max_depth = 0 - -# Whether to draw the transitive dependencies -transitive = True - -parser = argparse.ArgumentParser(description="Graph packages dependencies") -parser.add_argument("--check-only", "-C", dest="check_only", action="store_true", default=False, - help="Only do the dependency checks (circular deps...)") -parser.add_argument("--outfile", "-o", metavar="OUT_FILE", dest="outfile", - help="File in which to generate the dot representation") -parser.add_argument("--package", '-p', metavar="PACKAGE", - help="Graph the dependencies of PACKAGE") -parser.add_argument("--depth", '-d', metavar="DEPTH", dest="depth", type=int, default=0, - help="Limit the dependency graph to DEPTH levels; 0 means no limit.") -parser.add_argument("--stop-on", "-s", metavar="PACKAGE", dest="stop_list", action="append", - help="Do not graph past this package (can be given multiple times)." + - " Can be a package name or a glob, " + - " 'virtual' to stop on virtual packages, or " + - "'host' to stop on host packages.") -parser.add_argument("--exclude", "-x", metavar="PACKAGE", dest="exclude_list", action="append", - help="Like --stop-on, but do not add PACKAGE to the graph.") -parser.add_argument("--colours", "-c", metavar="COLOR_LIST", dest="colours", - default="lightblue,grey,gainsboro", - help="Comma-separated list of the three colours to use" + - " to draw the top-level package, the target" + - " packages, and the host packages, in this order." + - " Defaults to: 'lightblue,grey,gainsboro'") -parser.add_argument("--transitive", dest="transitive", action='store_true', - default=False) -parser.add_argument("--no-transitive", dest="transitive", action='store_false', - help="Draw (do not draw) transitive dependencies") -parser.add_argument("--direct", dest="direct", action='store_true', default=True, - help="Draw direct dependencies (the default)") -parser.add_argument("--reverse", dest="direct", action='store_false', - help="Draw reverse dependencies") -args = parser.parse_args() - -check_only = args.check_only - -if args.outfile is None: - outfile = sys.stdout -else: - if check_only: - sys.stderr.write("don't specify outfile and check-only at the same time\n") - sys.exit(1) - outfile = open(args.outfile, "w") - -if args.package is None: - mode = MODE_FULL -else: - mode = MODE_PKG - rootpkg = args.package - -max_depth = args.depth - -if args.stop_list is None: - stop_list = [] -else: - stop_list = args.stop_list - -if args.exclude_list is None: - exclude_list = [] -else: - exclude_list = args.exclude_list - -transitive = args.transitive - -if args.direct: - get_depends_func = brpkgutil.get_depends - arrow_dir = "forward" -else: - if mode == MODE_FULL: - sys.stderr.write("--reverse needs a package\n") - sys.exit(1) - get_depends_func = brpkgutil.get_rdepends - arrow_dir = "back" - -# Get the colours: we need exactly three colours, -# so no need not split more than 4 -# We'll let 'dot' validate the colours... -colours = args.colours.split(',', 4) -if len(colours) != 3: - sys.stderr.write("Error: incorrect colour list '%s'\n" % args.colours) - sys.exit(1) -root_colour = colours[0] -target_colour = colours[1] -host_colour = colours[2] allpkgs = [] @@ -129,7 +40,7 @@ allpkgs = [] # Buildroot PACKAGES and return it formatted as a Python list. This # list is used as the starting point for full dependency graphs def get_targets(): - sys.stderr.write("Getting targets\n") + logging.info("Getting targets") cmd = ["make", "-s", "--no-print-directory", "show-targets"] p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) output = p.communicate()[0].strip() @@ -145,7 +56,7 @@ def get_targets(): # 'dependencies', which contains tuples of the form (pkg1 -> # pkg2_on_which_pkg1_depends, pkg3 -> pkg4_on_which_pkg3_depends) and # the function finally returns this list. -def get_all_depends(pkgs): +def get_all_depends(pkgs, get_depends_func): dependencies = [] # Filter the packages for which we already have the dependencies @@ -175,7 +86,7 @@ def get_all_depends(pkgs): deps.add(dep) if len(deps) != 0: - newdeps = get_all_depends(deps) + newdeps = get_all_depends(deps, get_depends_func) if newdeps is not None: dependencies += newdeps @@ -189,41 +100,6 @@ def pkg_node_name(pkg): return "_" + pkg.replace("-", "") -TARGET_EXCEPTIONS = [ - "target-finalize", - "target-post-image", -] - -# In full mode, start with the result of get_targets() to get the main -# targets and then use get_all_depends() for all targets -if mode == MODE_FULL: - targets = get_targets() - dependencies = [] - allpkgs.append('all') - filtered_targets = [] - for tg in targets: - # Skip uninteresting targets - if tg in TARGET_EXCEPTIONS: - continue - dependencies.append(('all', tg)) - filtered_targets.append(tg) - deps = get_all_depends(filtered_targets) - if deps is not None: - dependencies += deps - rootpkg = 'all' - -# In pkg mode, start directly with get_all_depends() on the requested -# package -elif mode == MODE_PKG: - dependencies = get_all_depends([rootpkg]) - -# Make the dependencies a dictionnary { 'pkg':[dep1, dep2, ...] } -dict_deps = {} -for dep in dependencies: - if dep[0] not in dict_deps: - dict_deps[dep[0]] = [] - dict_deps[dep[0]].append(dep[1]) - # Basic cache for the results of the is_dep() function, in order to # optimize the execution time. The cache is a dict of dict of boolean # values. The key to the primary dict is "pkg", and the key of the @@ -294,10 +170,15 @@ def remove_transitive_deps(pkg, deps): return new_d +# List of dependencies that all/many packages have, and that we want +# to trim when generating the dependency graph. +MANDATORY_DEPS = ['toolchain', 'skeleton'] + + # This function removes the dependency on some 'mandatory' package, like the # 'toolchain' package, or the 'skeleton' package def remove_mandatory_deps(pkg, deps): - return [p for p in deps[pkg] if p not in ['toolchain', 'skeleton']] + return [p for p in deps[pkg] if p not in MANDATORY_DEPS] # This function will check that there is no loop in the dependency chain @@ -312,10 +193,10 @@ def check_circular_deps(deps): chain.append(pkg) for p in deps[pkg]: if p in chain: - sys.stderr.write("\nRecursion detected for : %s\n" % (p)) + logging.warning("\nRecursion detected for : %s" % (p)) while True: _p = chain.pop() - sys.stderr.write("which is a dependency of: %s\n" % (_p)) + logging.warning("which is a dependency of: %s" % (_p)) if p == _p: sys.exit(1) recurse(p) @@ -329,42 +210,32 @@ def check_circular_deps(deps): # This functions trims down the dependency list of all packages. # It applies in sequence all the dependency-elimination methods. -def remove_extra_deps(deps): +def remove_extra_deps(deps, rootpkg, transitive): for pkg in list(deps.keys()): - if not pkg == 'all': + if not pkg == rootpkg: deps[pkg] = remove_mandatory_deps(pkg, deps) for pkg in list(deps.keys()): - if not transitive or pkg == 'all': + if not transitive or pkg == rootpkg: deps[pkg] = remove_transitive_deps(pkg, deps) return deps -check_circular_deps(dict_deps) -if check_only: - sys.exit(0) - -dict_deps = remove_extra_deps(dict_deps) -dict_version = brpkgutil.get_version([pkg for pkg in allpkgs - if pkg != "all" and not pkg.startswith("root")]) - - # Print the attributes of a node: label and fill-color -def print_attrs(pkg): +def print_attrs(outfile, pkg, version, depth, colors): name = pkg_node_name(pkg) if pkg == 'all': label = 'ALL' else: label = pkg - if pkg == 'all' or (mode == MODE_PKG and pkg == rootpkg): - color = root_colour + if depth == 0: + color = colors[0] else: if pkg.startswith('host') \ or pkg.startswith('toolchain') \ or pkg.startswith('rootfs'): - color = host_colour + color = colors[2] else: - color = target_colour - version = dict_version.get(pkg) + color = colors[1] if version == "virtual": outfile.write("%s [label = <%s>]\n" % (name, label)) else: @@ -372,12 +243,19 @@ def print_attrs(pkg): outfile.write("%s [color=%s,style=filled]\n" % (name, color)) +done_deps = [] + + # Print the dependency graph of a package -def print_pkg_deps(depth, pkg): +def print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list, + arrow_dir, draw_graph, depth, max_depth, pkg, colors): if pkg in done_deps: return done_deps.append(pkg) - print_attrs(pkg) + if draw_graph: + print_attrs(outfile, pkg, dict_version.get(pkg), depth, colors) + elif depth != 0: + outfile.write("%s " % pkg) if pkg not in dict_deps: return for p in stop_list: @@ -401,14 +279,149 @@ def print_pkg_deps(depth, pkg): add = False break if add: - outfile.write("%s -> %s [dir=%s]\n" % (pkg_node_name(pkg), pkg_node_name(d), arrow_dir)) - print_pkg_deps(depth + 1, d) + if draw_graph: + outfile.write("%s -> %s [dir=%s]\n" % (pkg_node_name(pkg), pkg_node_name(d), arrow_dir)) + print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list, + arrow_dir, draw_graph, depth + 1, max_depth, d, colors) -# Start printing the graph data -outfile.write("digraph G {\n") +def parse_args(): + parser = argparse.ArgumentParser(description="Graph packages dependencies") + parser.add_argument("--check-only", "-C", dest="check_only", action="store_true", default=False, + help="Only do the dependency checks (circular deps...)") + parser.add_argument("--outfile", "-o", metavar="OUT_FILE", dest="outfile", + help="File in which to generate the dot representation") + parser.add_argument("--package", '-p', metavar="PACKAGE", + help="Graph the dependencies of PACKAGE") + parser.add_argument("--depth", '-d', metavar="DEPTH", dest="depth", type=int, default=0, + help="Limit the dependency graph to DEPTH levels; 0 means no limit.") + parser.add_argument("--stop-on", "-s", metavar="PACKAGE", dest="stop_list", action="append", + help="Do not graph past this package (can be given multiple times)." + + " Can be a package name or a glob, " + + " 'virtual' to stop on virtual packages, or " + + "'host' to stop on host packages.") + parser.add_argument("--exclude", "-x", metavar="PACKAGE", dest="exclude_list", action="append", + help="Like --stop-on, but do not add PACKAGE to the graph.") + parser.add_argument("--colors", "-c", metavar="COLOR_LIST", dest="colors", + default="lightblue,grey,gainsboro", + help="Comma-separated list of the three colors to use" + + " to draw the top-level package, the target" + + " packages, and the host packages, in this order." + + " Defaults to: 'lightblue,grey,gainsboro'") + parser.add_argument("--transitive", dest="transitive", action='store_true', + default=False) + parser.add_argument("--no-transitive", dest="transitive", action='store_false', + help="Draw (do not draw) transitive dependencies") + parser.add_argument("--direct", dest="direct", action='store_true', default=True, + help="Draw direct dependencies (the default)") + parser.add_argument("--reverse", dest="direct", action='store_false', + help="Draw reverse dependencies") + parser.add_argument("--quiet", '-q', dest="quiet", action='store_true', + help="Quiet") + parser.add_argument("--flat-list", '-f', dest="flat_list", action='store_true', default=False, + help="Do not draw graph, just print a flat list") + return parser.parse_args() -done_deps = [] -print_pkg_deps(0, rootpkg) -outfile.write("}\n") +def main(): + args = parse_args() + + check_only = args.check_only + + logging.basicConfig(stream=sys.stderr, format='%(message)s', + level=logging.WARNING if args.quiet else logging.INFO) + + if args.outfile is None: + outfile = sys.stdout + else: + if check_only: + logging.error("don't specify outfile and check-only at the same time") + sys.exit(1) + outfile = open(args.outfile, "w") + + if args.package is None: + mode = MODE_FULL + else: + mode = MODE_PKG + rootpkg = args.package + + if args.stop_list is None: + stop_list = [] + else: + stop_list = args.stop_list + + if args.exclude_list is None: + exclude_list = [] + else: + exclude_list = args.exclude_list + + if args.direct: + get_depends_func = brpkgutil.get_depends + arrow_dir = "forward" + else: + if mode == MODE_FULL: + logging.error("--reverse needs a package") + sys.exit(1) + get_depends_func = brpkgutil.get_rdepends + arrow_dir = "back" + + draw_graph = not args.flat_list + + # Get the colors: we need exactly three colors, + # so no need not split more than 4 + # We'll let 'dot' validate the colors... + colors = args.colors.split(',', 4) + if len(colors) != 3: + logging.error("Error: incorrect color list '%s'" % args.colors) + sys.exit(1) + + # In full mode, start with the result of get_targets() to get the main + # targets and then use get_all_depends() for all targets + if mode == MODE_FULL: + targets = get_targets() + dependencies = [] + allpkgs.append('all') + filtered_targets = [] + for tg in targets: + dependencies.append(('all', tg)) + filtered_targets.append(tg) + deps = get_all_depends(filtered_targets, get_depends_func) + if deps is not None: + dependencies += deps + rootpkg = 'all' + + # In pkg mode, start directly with get_all_depends() on the requested + # package + elif mode == MODE_PKG: + dependencies = get_all_depends([rootpkg], get_depends_func) + + # Make the dependencies a dictionnary { 'pkg':[dep1, dep2, ...] } + dict_deps = {} + for dep in dependencies: + if dep[0] not in dict_deps: + dict_deps[dep[0]] = [] + dict_deps[dep[0]].append(dep[1]) + + check_circular_deps(dict_deps) + if check_only: + sys.exit(0) + + dict_deps = remove_extra_deps(dict_deps, rootpkg, args.transitive) + dict_version = brpkgutil.get_version([pkg for pkg in allpkgs + if pkg != "all" and not pkg.startswith("root")]) + + # Start printing the graph data + if draw_graph: + outfile.write("digraph G {\n") + + print_pkg_deps(outfile, dict_deps, dict_version, stop_list, exclude_list, + arrow_dir, draw_graph, 0, args.depth, rootpkg, colors) + + if draw_graph: + outfile.write("}\n") + else: + outfile.write("\n") + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/bsp/buildroot/support/scripts/pkg-stats b/bsp/buildroot/support/scripts/pkg-stats index 48a2cc29..b0be7d91 100755 --- a/bsp/buildroot/support/scripts/pkg-stats +++ b/bsp/buildroot/support/scripts/pkg-stats @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env python # Copyright (C) 2009 by Thomas Petazzoni # @@ -16,16 +16,405 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# This script generates an HTML file that contains a report about all -# Buildroot packages, their usage of the different package -# infrastructure and possible cleanup actions -# -# Run the script from the Buildroot toplevel directory: -# -# ./support/scripts/pkg-stats > /tmp/pkg.html -# +import argparse +import datetime +import fnmatch +import os +from collections import defaultdict +import re +import subprocess +import sys +import requests # URL checking +import json +import certifi +from urllib3 import HTTPSConnectionPool +from urllib3.exceptions import HTTPError +from multiprocessing import Pool -echo " +INFRA_RE = re.compile(r"\$\(eval \$\(([a-z-]*)-package\)\)") +URL_RE = re.compile(r"\s*https?://\S*\s*$") + +RM_API_STATUS_ERROR = 1 +RM_API_STATUS_FOUND_BY_DISTRO = 2 +RM_API_STATUS_FOUND_BY_PATTERN = 3 +RM_API_STATUS_NOT_FOUND = 4 + + +class Package: + all_licenses = list() + all_license_files = list() + all_versions = dict() + + def __init__(self, name, path): + self.name = name + self.path = path + self.infras = None + self.has_license = False + self.has_license_files = False + self.has_hash = False + self.patch_count = 0 + self.warnings = 0 + self.current_version = None + self.url = None + self.url_status = None + self.url_worker = None + self.latest_version = (RM_API_STATUS_ERROR, None, None) + + def pkgvar(self): + return self.name.upper().replace("-", "_") + + def set_url(self): + """ + Fills in the .url field + """ + self.url_status = "No Config.in" + for filename in os.listdir(os.path.dirname(self.path)): + if fnmatch.fnmatch(filename, 'Config.*'): + fp = open(os.path.join(os.path.dirname(self.path), filename), "r") + for config_line in fp: + if URL_RE.match(config_line): + self.url = config_line.strip() + self.url_status = "Found" + fp.close() + return + self.url_status = "Missing" + fp.close() + + def set_infra(self): + """ + Fills in the .infras field + """ + self.infras = list() + with open(self.path, 'r') as f: + lines = f.readlines() + for l in lines: + match = INFRA_RE.match(l) + if not match: + continue + infra = match.group(1) + if infra.startswith("host-"): + self.infras.append(("host", infra[5:])) + else: + self.infras.append(("target", infra)) + + def set_license(self): + """ + Fills in the .has_license and .has_license_files fields + """ + var = self.pkgvar() + if var in self.all_licenses: + self.has_license = True + if var in self.all_license_files: + self.has_license_files = True + + def set_hash_info(self): + """ + Fills in the .has_hash field + """ + hashpath = self.path.replace(".mk", ".hash") + self.has_hash = os.path.exists(hashpath) + + def set_patch_count(self): + """ + Fills in the .patch_count field + """ + self.patch_count = 0 + pkgdir = os.path.dirname(self.path) + for subdir, _, _ in os.walk(pkgdir): + self.patch_count += len(fnmatch.filter(os.listdir(subdir), '*.patch')) + + def set_current_version(self): + """ + Fills in the .current_version field + """ + var = self.pkgvar() + if var in self.all_versions: + self.current_version = self.all_versions[var] + + def set_check_package_warnings(self): + """ + Fills in the .warnings field + """ + cmd = ["./utils/check-package"] + pkgdir = os.path.dirname(self.path) + for root, dirs, files in os.walk(pkgdir): + for f in files: + if f.endswith(".mk") or f.endswith(".hash") or f == "Config.in" or f == "Config.in.host": + cmd.append(os.path.join(root, f)) + o = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[1] + lines = o.splitlines() + for line in lines: + m = re.match("^([0-9]*) warnings generated", line) + if m: + self.warnings = int(m.group(1)) + return + + def __eq__(self, other): + return self.path == other.path + + def __lt__(self, other): + return self.path < other.path + + def __str__(self): + return "%s (path='%s', license='%s', license_files='%s', hash='%s', patches=%d)" % \ + (self.name, self.path, self.has_license, self.has_license_files, self.has_hash, self.patch_count) + + +def get_pkglist(npackages, package_list): + """ + Builds the list of Buildroot packages, returning a list of Package + objects. Only the .name and .path fields of the Package object are + initialized. + + npackages: limit to N packages + package_list: limit to those packages in this list + """ + WALK_USEFUL_SUBDIRS = ["boot", "linux", "package", "toolchain"] + WALK_EXCLUDES = ["boot/common.mk", + "linux/linux-ext-.*.mk", + "package/freescale-imx/freescale-imx.mk", + "package/gcc/gcc.mk", + "package/gstreamer/gstreamer.mk", + "package/gstreamer1/gstreamer1.mk", + "package/gtk2-themes/gtk2-themes.mk", + "package/matchbox/matchbox.mk", + "package/opengl/opengl.mk", + "package/qt5/qt5.mk", + "package/x11r7/x11r7.mk", + "package/doc-asciidoc.mk", + "package/pkg-.*.mk", + "package/nvidia-tegra23/nvidia-tegra23.mk", + "toolchain/toolchain-external/pkg-toolchain-external.mk", + "toolchain/toolchain-external/toolchain-external.mk", + "toolchain/toolchain.mk", + "toolchain/helpers.mk", + "toolchain/toolchain-wrapper.mk"] + packages = list() + count = 0 + for root, dirs, files in os.walk("."): + rootdir = root.split("/") + if len(rootdir) < 2: + continue + if rootdir[1] not in WALK_USEFUL_SUBDIRS: + continue + for f in files: + if not f.endswith(".mk"): + continue + # Strip ending ".mk" + pkgname = f[:-3] + if package_list and pkgname not in package_list: + continue + pkgpath = os.path.join(root, f) + skip = False + for exclude in WALK_EXCLUDES: + # pkgpath[2:] strips the initial './' + if re.match(exclude, pkgpath[2:]): + skip = True + continue + if skip: + continue + p = Package(pkgname, pkgpath) + packages.append(p) + count += 1 + if npackages and count == npackages: + return packages + return packages + + +def package_init_make_info(): + # Licenses + o = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", + "-s", "printvars", "VARS=%_LICENSE"]) + for l in o.splitlines(): + # Get variable name and value + pkgvar, value = l.split("=") + + # If present, strip HOST_ from variable name + if pkgvar.startswith("HOST_"): + pkgvar = pkgvar[5:] + + # Strip _LICENSE + pkgvar = pkgvar[:-8] + + # If value is "unknown", no license details available + if value == "unknown": + continue + Package.all_licenses.append(pkgvar) + + # License files + o = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", + "-s", "printvars", "VARS=%_LICENSE_FILES"]) + for l in o.splitlines(): + # Get variable name and value + pkgvar, value = l.split("=") + + # If present, strip HOST_ from variable name + if pkgvar.startswith("HOST_"): + pkgvar = pkgvar[5:] + + if pkgvar.endswith("_MANIFEST_LICENSE_FILES"): + continue + + # Strip _LICENSE_FILES + pkgvar = pkgvar[:-14] + + Package.all_license_files.append(pkgvar) + + # Version + o = subprocess.check_output(["make", "BR2_HAVE_DOT_CONFIG=y", + "-s", "printvars", "VARS=%_VERSION"]) + + # We process first the host package VERSION, and then the target + # package VERSION. This means that if a package exists in both + # target and host variants, with different version numbers + # (unlikely), we'll report the target version number. + version_list = o.splitlines() + version_list = [x for x in version_list if x.startswith("HOST_")] + \ + [x for x in version_list if not x.startswith("HOST_")] + for l in version_list: + # Get variable name and value + pkgvar, value = l.split("=") + + # If present, strip HOST_ from variable name + if pkgvar.startswith("HOST_"): + pkgvar = pkgvar[5:] + + if pkgvar.endswith("_DL_VERSION"): + continue + + # Strip _VERSION + pkgvar = pkgvar[:-8] + + Package.all_versions[pkgvar] = value + + +def check_url_status_worker(url, url_status): + if url_status != "Missing" and url_status != "No Config.in": + try: + url_status_code = requests.head(url, timeout=30).status_code + if url_status_code >= 400: + return "Invalid(%s)" % str(url_status_code) + except requests.exceptions.RequestException: + return "Invalid(Err)" + return "Ok" + return url_status + + +def check_package_urls(packages): + Package.pool = Pool(processes=64) + for pkg in packages: + pkg.url_worker = pkg.pool.apply_async(check_url_status_worker, (pkg.url, pkg.url_status)) + for pkg in packages: + pkg.url_status = pkg.url_worker.get(timeout=3600) + + +def release_monitoring_get_latest_version_by_distro(pool, name): + try: + req = pool.request('GET', "/api/project/Buildroot/%s" % name) + except HTTPError: + return (RM_API_STATUS_ERROR, None, None) + + if req.status != 200: + return (RM_API_STATUS_NOT_FOUND, None, None) + + data = json.loads(req.data) + + if 'version' in data: + return (RM_API_STATUS_FOUND_BY_DISTRO, data['version'], data['id']) + else: + return (RM_API_STATUS_FOUND_BY_DISTRO, None, data['id']) + + +def release_monitoring_get_latest_version_by_guess(pool, name): + try: + req = pool.request('GET', "/api/projects/?pattern=%s" % name) + except HTTPError: + return (RM_API_STATUS_ERROR, None, None) + + if req.status != 200: + return (RM_API_STATUS_NOT_FOUND, None, None) + + data = json.loads(req.data) + + projects = data['projects'] + projects.sort(key=lambda x: x['id']) + + for p in projects: + if p['name'] == name and 'version' in p: + return (RM_API_STATUS_FOUND_BY_PATTERN, p['version'], p['id']) + + return (RM_API_STATUS_NOT_FOUND, None, None) + + +def check_package_latest_version(packages): + """ + Fills in the .latest_version field of all Package objects + + This field has a special format: + (status, version, id) + with: + - status: one of RM_API_STATUS_ERROR, + RM_API_STATUS_FOUND_BY_DISTRO, RM_API_STATUS_FOUND_BY_PATTERN, + RM_API_STATUS_NOT_FOUND + - version: string containing the latest version known by + release-monitoring.org for this package + - id: string containing the id of the project corresponding to this + package, as known by release-monitoring.org + """ + pool = HTTPSConnectionPool('release-monitoring.org', port=443, + cert_reqs='CERT_REQUIRED', ca_certs=certifi.where(), + timeout=30) + count = 0 + for pkg in packages: + v = release_monitoring_get_latest_version_by_distro(pool, pkg.name) + if v[0] == RM_API_STATUS_NOT_FOUND: + v = release_monitoring_get_latest_version_by_guess(pool, pkg.name) + + pkg.latest_version = v + print("[%d/%d] Package %s" % (count, len(packages), pkg.name)) + count += 1 + + +def calculate_stats(packages): + stats = defaultdict(int) + for pkg in packages: + # If packages have multiple infra, take the first one. For the + # vast majority of packages, the target and host infra are the + # same. There are very few packages that use a different infra + # for the host and target variants. + if len(pkg.infras) > 0: + infra = pkg.infras[0][1] + stats["infra-%s" % infra] += 1 + else: + stats["infra-unknown"] += 1 + if pkg.has_license: + stats["license"] += 1 + else: + stats["no-license"] += 1 + if pkg.has_license_files: + stats["license-files"] += 1 + else: + stats["no-license-files"] += 1 + if pkg.has_hash: + stats["hash"] += 1 + else: + stats["no-hash"] += 1 + if pkg.latest_version[0] == RM_API_STATUS_FOUND_BY_DISTRO: + stats["rmo-mapping"] += 1 + else: + stats["rmo-no-mapping"] += 1 + if not pkg.latest_version[1]: + stats["version-unknown"] += 1 + elif pkg.latest_version[1] == pkg.current_version: + stats["version-uptodate"] += 1 + else: + stats["version-not-uptodate"] += 1 + stats["patches"] += pkg.patch_count + return stats + + +html_header = """ + Statistics of Buildroot packages @@ -61,395 +472,271 @@ td.lotsofpatches { Results

              +""" + +html_footer = """ + + + +""" + + +def infra_str(infra_list): + if not infra_list: + return "Unknown" + elif len(infra_list) == 1: + return "%s
              %s" % (infra_list[0][1], infra_list[0][0]) + elif infra_list[0][1] == infra_list[1][1]: + return "%s
              %s + %s" % \ + (infra_list[0][1], infra_list[0][0], infra_list[1][0]) + else: + return "%s (%s)
              %s (%s)" % \ + (infra_list[0][1], infra_list[0][0], + infra_list[1][1], infra_list[1][0]) + + +def boolean_str(b): + if b: + return "Yes" + else: + return "No" + + +def dump_html_pkg(f, pkg): + f.write("
    %s%s%s%s%s%s%s%s%d%s
    - + + + -" - -autotools_packages=0 -cmake_packages=0 -kconfig_packages=0 -luarocks_package=0 -perl_packages=0 -python_packages=0 -rebar_packages=0 -virtual_packages=0 -generic_packages=0 -waf_packages=0 -manual_packages=0 -packages_with_licence=0 -packages_without_licence=0 -packages_with_license_files=0 -packages_without_license_files=0 -packages_with_hash_file=0 -packages_without_hash_file=0 -total_patch_count=0 -cnt=0 - -for i in $(find boot/ linux/ package/ toolchain/ -name '*.mk' | sort) ; do - - if test \ - $i = "boot/common.mk" -o \ - $i = "linux/linux-ext-ev3dev-linux-drivers.mk" -o \ - $i = "linux/linux-ext-fbtft.mk" -o \ - $i = "linux/linux-ext-xenomai.mk" -o \ - $i = "linux/linux-ext-rtai.mk" -o \ - $i = "package/freescale-imx/freescale-imx.mk" -o \ - $i = "package/gcc/gcc.mk" -o \ - $i = "package/gstreamer/gstreamer.mk" -o \ - $i = "package/gstreamer1/gstreamer1.mk" -o \ - $i = "package/gtk2-themes/gtk2-themes.mk" -o \ - $i = "package/matchbox/matchbox.mk" -o \ - $i = "package/opengl/opengl.mk" -o \ - $i = "package/qt5/qt5.mk" -o \ - $i = "package/x11r7/x11r7.mk" -o \ - $i = "package/doc-asciidoc.mk" -o \ - $i = "package/pkg-autotools.mk" -o \ - $i = "package/pkg-cmake.mk" -o \ - $i = "package/pkg-kconfig.mk" -o \ - $i = "package/pkg-luarocks.mk" -o \ - $i = "package/pkg-perl.mk" -o \ - $i = "package/pkg-python.mk" -o \ - $i = "package/pkg-rebar.mk" -o \ - $i = "package/pkg-virtual.mk" -o \ - $i = "package/pkg-download.mk" -o \ - $i = "package/pkg-generic.mk" -o \ - $i = "package/pkg-waf.mk" -o \ - $i = "package/pkg-kernel-module.mk" -o \ - $i = "package/pkg-utils.mk" -o \ - $i = "package/nvidia-tegra23/nvidia-tegra23.mk" -o \ - $i = "toolchain/toolchain-external/pkg-toolchain-external.mk" -o \ - $i = "toolchain/toolchain-external/toolchain-external.mk" -o \ - $i = "toolchain/toolchain.mk" -o \ - $i = "toolchain/helpers.mk" -o \ - $i = "toolchain/toolchain-wrapper.mk" ; then - echo "skipping $i" 1>&2 - continue - fi - - cnt=$((cnt+1)) - - hashost=0 - hastarget=0 - infratype="" - - # Determine package infrastructure - if grep -E "\(host-autotools-package\)" $i > /dev/null ; then - infratype="autotools" - hashost=1 - fi - - if grep -E "\(autotools-package\)" $i > /dev/null ; then - infratype="autotools" - hastarget=1 - fi - - if grep -E "\(kconfig-package\)" $i > /dev/null ; then - infratype="kconfig" - hastarget=1 - fi - - if grep -E "\(host-luarocks-package\)" $i > /dev/null ; then - infratype="luarocks" - hashost=1 - fi - - if grep -E "\(luarocks-package\)" $i > /dev/null ; then - infratype="luarocks" - hastarget=1 - fi - - if grep -E "\(host-perl-package\)" $i > /dev/null ; then - infratype="perl" - hashost=1 - fi - - if grep -E "\(perl-package\)" $i > /dev/null ; then - infratype="perl" - hastarget=1 - fi - - if grep -E "\(host-python-package\)" $i > /dev/null ; then - infratype="python" - hashost=1 - fi - - if grep -E "\(python-package\)" $i > /dev/null ; then - infratype="python" - hastarget=1 - fi - - if grep -E "\(host-rebar-package\)" $i > /dev/null ; then - infratype="rebar" - hashost=1 - fi - - if grep -E "\(rebar-package\)" $i > /dev/null ; then - infratype="rebar" - hastarget=1 - fi - - if grep -E "\(host-virtual-package\)" $i > /dev/null ; then - infratype="virtual" - hashost=1 - fi - - if grep -E "\(virtual-package\)" $i > /dev/null ; then - infratype="virtual" - hastarget=1 - fi - - if grep -E "\(host-generic-package\)" $i > /dev/null ; then - infratype="generic" - hashost=1 - fi - - if grep -E "\(generic-package\)" $i > /dev/null ; then - infratype="generic" - hastarget=1 - fi - - if grep -E "\(host-cmake-package\)" $i > /dev/null ; then - infratype="cmake" - hashost=1 - fi - - if grep -E "\(cmake-package\)" $i > /dev/null ; then - infratype="cmake" - hastarget=1 - fi - - if grep -E "\(toolchain-external-package\)" $i > /dev/null ; then - infratype="toolchain-external" - hastarget=1 - fi - - if grep -E "\(waf-package\)" $i > /dev/null ; then - infratype="waf" - hastarget=1 - fi - - pkg=$(basename $i) - dir=$(dirname $i) - pkg=${pkg%.mk} - pkgvariable=$(echo ${pkg} | tr "a-z-" "A-Z_") +""") + for pkg in sorted(packages): + dump_html_pkg(f, pkg) + f.write("
    Id Package Patch count Infrastructure License License files Hash fileCurrent versionLatest version WarningsUpstream URL
    ") - # Count packages per infrastructure - if [ -z ${infratype} ] ; then - infratype="manual" - manual_packages=$(($manual_packages+1)) - elif [ ${infratype} = "autotools" ]; then - autotools_packages=$(($autotools_packages+1)) - elif [ ${infratype} = "cmake" ]; then - cmake_packages=$(($cmake_packages+1)) - elif [ ${infratype} = "kconfig" ]; then - kconfig_packages=$(($kconfig_packages+1)) - elif [ ${infratype} = "luarocks" ]; then - luarocks_packages=$(($luarocks_packages+1)) - elif [ ${infratype} = "perl" ]; then - perl_packages=$(($perl_packages+1)) - elif [ ${infratype} = "python" ]; then - python_packages=$(($python_packages+1)) - elif [ ${infratype} = "rebar" ]; then - rebar_packages=$(($rebar_packages+1)) - elif [ ${infratype} = "virtual" ]; then - virtual_packages=$(($virtual_packages+1)) - elif [ ${infratype} = "generic" ]; then - generic_packages=$(($generic_packages+1)) - elif [ ${infratype} = "waf" ]; then - waf_packages=$(($waf_packages+1)) - fi +def dump_html_stats(f, stats): + f.write("\n") + f.write("\n") + infras = [infra[6:] for infra in stats.keys() if infra.startswith("infra-")] + for infra in infras: + f.write(" \n" % + (infra, stats["infra-%s" % infra])) + f.write(" \n" % + stats["license"]) + f.write(" \n" % + stats["no-license"]) + f.write(" \n" % + stats["license-files"]) + f.write(" \n" % + stats["no-license-files"]) + f.write(" \n" % + stats["hash"]) + f.write(" \n" % + stats["no-hash"]) + f.write(" \n" % + stats["patches"]) + f.write("\n" % + stats["rmo-mapping"]) + f.write("\n" % + stats["rmo-no-mapping"]) + f.write("\n" % + stats["version-uptodate"]) + f.write("\n" % + stats["version-not-uptodate"]) + f.write("\n" % + stats["version-unknown"]) + f.write("
    Packages using the %s infrastructure%s
    Packages having license information%s
    Packages not having license information%s
    Packages having license files information%s
    Packages not having license files information%s
    Packages having a hash file%s
    Packages not having a hash file%s
    Total number of patches%s
    Packages having a mapping on release-monitoring.org%s
    Packages lacking a mapping on release-monitoring.org%s
    Packages that are up-to-date%s
    Packages that are not up-to-date%s
    Packages with no known upstream version%s
    \n") - if grep -qE "^${pkgvariable}_LICENSE[ ]*=" $i ; then - packages_with_license=$(($packages_with_license+1)) - license=1 - else - packages_without_license=$(($packages_without_license+1)) - license=0 - fi - if grep -qE "^${pkgvariable}_LICENSE_FILES[ ]*=" $i ; then - packages_with_license_files=$(($packages_with_license_files+1)) - license_files=1 - else - packages_without_license_files=$(($packages_without_license_files+1)) - license_files=0 - fi +def dump_gen_info(f): + # Updated on Mon Feb 19 08:12:08 CET 2018, Git commit aa77030b8f5e41f1c53eb1c1ad664b8c814ba032 + o = subprocess.check_output(["git", "log", "master", "-n", "1", "--pretty=format:%H"]) + git_commit = o.splitlines()[0] + f.write("

    Updated on %s, git commit %s

    \n" % + (str(datetime.datetime.utcnow()), git_commit)) - if test -f ${dir}/${pkg}.hash; then - packages_with_hash_file=$(($packages_with_hash_file+1)) - hash_file=1 - else - packages_without_hash_file=$(($packages_without_hash_file+1)) - hash_file=0 - fi - echo "" +def dump_html(packages, stats, output): + with open(output, 'w') as f: + f.write(html_header) + dump_html_all_pkgs(f, packages) + dump_html_stats(f, stats) + dump_gen_info(f) + f.write(html_footer) - echo "$cnt" - echo "$i" - package_dir=$(dirname $i) - patch_count=$(find ${package_dir} -name '*.patch' | wc -l) - total_patch_count=$(($total_patch_count+$patch_count)) +def parse_args(): + parser = argparse.ArgumentParser() + parser.add_argument('-o', dest='output', action='store', required=True, + help='HTML output file') + parser.add_argument('-n', dest='npackages', type=int, action='store', + help='Number of packages') + parser.add_argument('-p', dest='packages', action='store', + help='List of packages (comma separated)') + return parser.parse_args() - if test $patch_count -lt 1 ; then - patch_count_class="nopatches" - elif test $patch_count -lt 5 ; then - patch_count_class="somepatches" - else - patch_count_class="lotsofpatches" - fi - echo "" - echo "$patch_count" - echo "" +def __main__(): + args = parse_args() + if args.npackages and args.packages: + print("ERROR: -n and -p are mutually exclusive") + sys.exit(1) + if args.packages: + package_list = args.packages.split(",") + else: + package_list = None + print("Build package list ...") + packages = get_pkglist(args.npackages, package_list) + print("Getting package make info ...") + package_init_make_info() + print("Getting package details ...") + for pkg in packages: + pkg.set_infra() + pkg.set_license() + pkg.set_hash_info() + pkg.set_patch_count() + pkg.set_check_package_warnings() + pkg.set_current_version() + pkg.set_url() + print("Checking URL status") + check_package_urls(packages) + print("Getting latest versions ...") + check_package_latest_version(packages) + print("Calculate stats") + stats = calculate_stats(packages) + print("Write HTML") + dump_html(packages, stats, args.output) - if [ ${infratype} = "manual" ] ; then - echo "manual" - else - echo "" - echo "${infratype}
    " - if [ ${hashost} -eq 1 -a ${hastarget} -eq 1 ]; then - echo "target + host" - elif [ ${hashost} -eq 1 ]; then - echo "host" - else - echo "target" - fi - echo "" - fi - if [ ${license} -eq 0 ] ; then - echo "No" - else - echo "Yes" - fi - - if [ ${license_files} -eq 0 ] ; then - echo "No" - else - echo "Yes" - fi - - if [ ${hash_file} -eq 0 ] ; then - echo "No" - else - echo "Yes" - fi - - file_list=$(find ${package_dir} -name '*.mk' -o -name '*.in*' -o -name '*.hash') - nwarnings=$(./utils/check-package ${file_list} 2>&1 | sed '/\([0-9]*\) warnings generated/!d; s//\1/') - if [ ${nwarnings} -eq 0 ] ; then - echo "${nwarnings}" - else - echo "${nwarnings}" - fi - - echo "" - -done -echo "" - -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "" -echo "
    Packages using the generic infrastructure$generic_packages
    Packages using the cmake infrastructure$cmake_packages
    Packages using the autotools infrastructure$autotools_packages
    Packages using the luarocks infrastructure$luarocks_packages
    Packages using the kconfig infrastructure$kconfig_packages
    Packages using the perl infrastructure$perl_packages
    Packages using the python infrastructure$python_packages
    Packages using the rebar infrastructure$rebar_packages
    Packages using the virtual infrastructure$virtual_packages
    Packages using the waf infrastructure$waf_packages
    Packages not using any infrastructure$manual_packages
    Packages having license information$packages_with_license
    Packages not having licence information$packages_without_license
    Packages having license files information$packages_with_license_files
    Packages not having licence files information$packages_without_license_files
    Packages having hash file$packages_with_hash_file
    Packages not having hash file$packages_without_hash_file
    Number of patches in all packages$total_patch_count
    TOTAL$cnt
    " - -echo "
    " -echo "Updated on $(LANG=C date), Git commit $(git log master -n 1 --pretty=format:%H)" -echo "" - -echo " -" -echo "" +__main__() diff --git a/bsp/buildroot/support/scripts/setlocalversion b/bsp/buildroot/support/scripts/setlocalversion index 33cd605b..b39b751f 100755 --- a/bsp/buildroot/support/scripts/setlocalversion +++ b/bsp/buildroot/support/scripts/setlocalversion @@ -53,7 +53,7 @@ if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then fi # Check for mercurial and a mercurial repo. -if hgid=`hg id 2>/dev/null`; then +if hgid=`HGRCPATH= hg id --id --tags 2>/dev/null`; then tag=`printf '%s' "$hgid" | cut -d' ' -f2 --only-delimited` # Do we have an untagged version? diff --git a/bsp/buildroot/support/scripts/xorg-release b/bsp/buildroot/support/scripts/xorg-release deleted file mode 100755 index c512038c..00000000 --- a/bsp/buildroot/support/scripts/xorg-release +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/env python - -# This script generates a report on the packaging status of X.org -# releases in Buildroot. It does so by downloading the list of -# tarballs that are part of a given X.org release, and compare that -# with the packages that are available in Buildroot. - -import BeautifulSoup -import re -import os -import urllib -from distutils.version import LooseVersion - -# This can be customized -XORG_VERSION = "X11R7.7" - -# Key names in dictionaries -XORG_VERSION_KEY = "xorg-version" -BR_VERSION_KEY = "br-version" -BR_NAME_KEY = "br-name" - -# Packages part of X.org releases that we do not want to package in -# Buildroot (old drivers for hardware unlikely to be used in embedded -# contexts). -XORG_EXCEPTIONS = [ - 'xf86-video-suncg6', - 'xf86-video-sunffb', -] - -# Get the list of tarballs of a X.org release, parse it, and return a -# dictionary of dictionaries, of the form: -# -# { : { XORG_VERSION_KEY: }, -# : { XORG_VERSION_KEY: }} -# -def get_xorg_release_pkgs(): - u = urllib.URLopener().open("http://www.x.org/releases/%s/src/everything/" % XORG_VERSION) - b = BeautifulSoup.BeautifulSoup() - b.feed(u.read()) - links = b.findAll("a") - packages = {} - r = re.compile("(.*)-([0-9\.]*).tar.bz2") - # We now have a list of all links. - for link in links: - href = link.get("href") - # Skip everything but tarballs - if not href.endswith(".tar.bz2"): - continue - # Separate the name and the version - groups = r.match(href) - if not groups: - continue - name = groups.group(1) - version = groups.group(2) - # Skip packages we don't want to hear about - if name in XORG_EXCEPTIONS: - continue - packages[name] = { XORG_VERSION_KEY : version } - return packages - -# Files and directories in package/x11r7/ that should be ignored in -# our processing. -BUILDROOT_EXCEPTIONS = [ - "mcookie", # Code is directly in package directory - "x11r7.mk", - "Config.in", - "xdriver_xf86-input-tslib", # From Pengutronix, not part of X.org releases -] - -# Prefixes of directories in package/x11r7/ that must be stripped -# before trying to match Buildroot package names with X.org tarball -# names. -BUILDROOT_PREFIXES = [ - "xapp", - "xdriver", - "xfont", - "xlib", - "xserver", - "xutil", - "xproto", -] - -# From a Buildroot package name, try to see if a prefix should be -# stripped from it. For example, passing "xapp_xlsfonts" as argument -# to this function will return "xlsfonts". -def buildroot_strip_prefix(dirname): - for prefix in BUILDROOT_PREFIXES: - if dirname.startswith(prefix + "_"): - return dirname[len(prefix) + 1:] - return dirname - -# From a Buildroot package name, parse its .mk file to find the -# Buildroot version of the package by looking at the _VERSION -# line. -def buildroot_get_version(dirname): - f = open(os.path.join("package", "x11r7", dirname, dirname + ".mk")) - r = re.compile("^([A-Z0-9_]*)_VERSION = ([0-9\.]*)$") - for l in f.readlines(): - m = r.match(l) - if m: - return m.group(2) - return None - -# Augment the information of the X.org list of packages (given as -# argument) by details about their packaging in Buildroot. Those -# details are found by looking at the contents of package/x11r7/. -def get_buildroot_pkgs(packages): - dirs = os.listdir(os.path.join(os.getcwd(), "package", "x11r7")) - for d in dirs: - # Skip exceptions - if d in BUILDROOT_EXCEPTIONS: - continue - pkgname = buildroot_strip_prefix(d) - version = buildroot_get_version(d) - if packages.has_key(pkgname): - # There is a X.org package of the same name, so we just - # add information to the existing dict entry. - packages[pkgname]['br-version'] = version - packages[pkgname]['br-name'] = d - else: - # There is no X.org package with this name, so we add a - # new dict entry. - packages[pkgname] = { BR_VERSION_KEY: version, - BR_NAME_KEY : d } - return packages - -def show_summary(packages): - FORMAT_STRING = "%40s | %15s | %15s | %-30s" - print FORMAT_STRING % ("Package name", "Vers in BR", "Vers in X.org", "Action") - print FORMAT_STRING % ("-" * 40, "-" * 15, "-" * 15, "-" * 30) - pkgs = packages.keys() - pkgs.sort() - total_pkgs = 0 - upgrade_pkgs = 0 - add_pkgs = 0 - remove_pkgs = 0 - nothing_todo_pkgs = 0 - for pkgname in pkgs: - pkg = packages[pkgname] - total_pkgs += 1 - if pkg.has_key(XORG_VERSION_KEY) and not pkg.has_key(BR_VERSION_KEY): - xorg_version = pkg[XORG_VERSION_KEY] - br_version = "N/A" - action = "Add to Buildroot" - add_pkgs += 1 - elif not pkg.has_key(XORG_VERSION_KEY) and pkg.has_key(BR_VERSION_KEY): - br_version = pkg[BR_VERSION_KEY] - xorg_version = "N/A" - action = "Remove from Buildroot" - remove_pkgs += 1 - elif LooseVersion(pkg[XORG_VERSION_KEY]) > LooseVersion(pkg[BR_VERSION_KEY]): - br_version = pkg[BR_VERSION_KEY] - xorg_version = pkg[XORG_VERSION_KEY] - action = "Upgrade" - upgrade_pkgs += 1 - elif LooseVersion(pkg[XORG_VERSION_KEY]) < LooseVersion(pkg[BR_VERSION_KEY]): - br_version = pkg[BR_VERSION_KEY] - xorg_version = pkg[XORG_VERSION_KEY] - action = "More recent" - nothing_todo_pkgs += 1 - else: - br_version = pkg[BR_VERSION_KEY] - xorg_version = pkg[XORG_VERSION_KEY] - action = "" - nothing_todo_pkgs += 1 - - print FORMAT_STRING % (pkgname, br_version.center(15), xorg_version.center(15), action) - print FORMAT_STRING % ("-" * 40, "-" * 15, "-" * 15, "-" * 30) - STAT_FORMAT_STRING = "%40s : %3d" - print STAT_FORMAT_STRING % ("Total number of packages", total_pkgs) - print STAT_FORMAT_STRING % ("Packages to upgrade", upgrade_pkgs) - print STAT_FORMAT_STRING % ("Packages to add", add_pkgs) - print STAT_FORMAT_STRING % ("Packages to remove", remove_pkgs) - print STAT_FORMAT_STRING % ("Packages with nothing to do", nothing_todo_pkgs) - -packages = get_xorg_release_pkgs() -packages = get_buildroot_pkgs(packages) -# print packages -show_summary(packages) - diff --git a/bsp/buildroot/support/testing/conf/docker-compose-kernel.config b/bsp/buildroot/support/testing/conf/docker-compose-kernel.config new file mode 100644 index 00000000..9468ef8d --- /dev/null +++ b/bsp/buildroot/support/testing/conf/docker-compose-kernel.config @@ -0,0 +1,103 @@ +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +# CONFIG_CROSS_MEMORY_ATTACH is not set +CONFIG_HIGH_RES_TIMERS=y +CONFIG_CGROUPS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_SCHED=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_COMPAT_BRK is not set +# CONFIG_X86_EXTENDED_PLATFORM is not set +CONFIG_IOSF_MBI=y +CONFIG_MCORE2=y +# CONFIG_X86_MCE is not set +# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set +CONFIG_LEGACY_VSYSCALL_NONE=y +# CONFIG_SUSPEND is not set +# CONFIG_ACPI is not set +CONFIG_CPU_IDLE=y +CONFIG_PCI_MSI=y +# CONFIG_VIRTUALIZATION is not set +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set +# CONFIG_INET_XFRM_MODE_TUNNEL is not set +# CONFIG_INET_XFRM_MODE_BEET is not set +# CONFIG_IPV6 is not set +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=y +# CONFIG_NF_CONNTRACK_PROCFS is not set +# CONFIG_NF_CT_PROTO_DCCP is not set +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_IPVS=y +CONFIG_IP_VS=y +CONFIG_IP_VS_RR=y +CONFIG_IP_VS_NFCT=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_BRIDGE=y +# CONFIG_BRIDGE_IGMP_SNOOPING is not set +# CONFIG_WIRELESS is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_VIRTIO_BLK=y +CONFIG_NETDEVICES=y +CONFIG_DUMMY=y +CONFIG_MACVLAN=y +CONFIG_VXLAN=y +CONFIG_VETH=y +CONFIG_VIRTIO_NET=y +# CONFIG_ETHERNET is not set +# CONFIG_WLAN is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_DEVMEM is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +# CONFIG_SERIAL_8250_LPSS is not set +# CONFIG_SERIAL_8250_MID is not set +# CONFIG_HW_RANDOM_INTEL is not set +# CONFIG_HW_RANDOM_AMD is not set +# CONFIG_HW_RANDOM_VIA is not set +CONFIG_HW_RANDOM_VIRTIO=y +# CONFIG_DEVPORT is not set +# CONFIG_HWMON is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_RTC_CLASS=y +CONFIG_VIRTIO_PCI=y +# CONFIG_VIRTIO_PCI_LEGACY is not set +# CONFIG_X86_PLATFORM_DEVICES is not set +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT4_FS=y +CONFIG_OVERLAY_FS=y +CONFIG_OVERLAY_FS_REDIRECT_DIR=y +CONFIG_TMPFS=y +# CONFIG_MISC_FILESYSTEMS is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +CONFIG_KEYS=y +CONFIG_SECURITYFS=y +# CONFIG_CRYPTO_ECHAINIV is not set +# CONFIG_CRYPTO_HW is not set +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_UNWINDER_FRAME_POINTER=y diff --git a/bsp/buildroot/support/testing/conf/docker-compose.yml b/bsp/buildroot/support/testing/conf/docker-compose.yml new file mode 100644 index 00000000..49ff2677 --- /dev/null +++ b/bsp/buildroot/support/testing/conf/docker-compose.yml @@ -0,0 +1,4 @@ +version: '3' +services: + busybox: + image: "busybox:latest" diff --git a/bsp/buildroot/support/testing/conf/f2fs-kernel-fragment.config b/bsp/buildroot/support/testing/conf/f2fs-kernel-fragment.config new file mode 100644 index 00000000..0fca7e78 --- /dev/null +++ b/bsp/buildroot/support/testing/conf/f2fs-kernel-fragment.config @@ -0,0 +1,5 @@ +CONFIG_F2FS_FS=y +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_F2FS_FS_SECURITY=y diff --git a/bsp/buildroot/support/testing/infra/__init__.py b/bsp/buildroot/support/testing/infra/__init__.py index b03e8917..e229e908 100644 --- a/bsp/buildroot/support/testing/infra/__init__.py +++ b/bsp/buildroot/support/testing/infra/__init__.py @@ -34,17 +34,17 @@ def download(dldir, filename): os.makedirs(dldir) tmpfile = tempfile.mktemp(dir=dldir) - print "Downloading to {}".format(tmpfile) + print("Downloading to {}".format(tmpfile)) try: url_fh = urlopen(os.path.join(ARTIFACTS_URL, filename)) with open(tmpfile, "w+") as tmpfile_fh: tmpfile_fh.write(url_fh.read()) - except (HTTPError, URLError), err: + except (HTTPError, URLError) as err: os.unlink(tmpfile) raise err - print "Renaming from %s to %s" % (tmpfile, finalpath) + print("Renaming from {} to {}".format(tmpfile, finalpath)) os.rename(tmpfile, finalpath) return finalpath diff --git a/bsp/buildroot/support/testing/infra/basetest.py b/bsp/buildroot/support/testing/infra/basetest.py index 75492269..a176bc32 100644 --- a/bsp/buildroot/support/testing/infra/basetest.py +++ b/bsp/buildroot/support/testing/infra/basetest.py @@ -28,8 +28,9 @@ MINIMAL_CONFIG = \ """ -class BRTest(unittest.TestCase): +class BRConfigTest(unittest.TestCase): config = None + br2_external = list() downloaddir = None outputdir = None logtofile = True @@ -38,15 +39,15 @@ class BRTest(unittest.TestCase): timeout_multiplier = 1 def __init__(self, names): - super(BRTest, self).__init__(names) + super(BRConfigTest, self).__init__(names) self.testname = self.__class__.__name__ self.builddir = self.outputdir and os.path.join(self.outputdir, self.testname) - self.emulator = None + self.config += '\nBR2_DL_DIR="{}"\n'.format(self.downloaddir) self.config += "\nBR2_JLEVEL={}\n".format(self.jlevel) def show_msg(self, msg): - print "{} {:40s} {}".format(datetime.datetime.now().strftime("%H:%M:%S"), - self.testname, msg) + print("{} {:40s} {}".format(datetime.datetime.now().strftime("%H:%M:%S"), + self.testname, msg)) def setUp(self): self.show_msg("Starting") @@ -55,6 +56,22 @@ class BRTest(unittest.TestCase): if not self.keepbuilds: self.b.delete() + if not self.b.is_finished(): + self.b.configure(make_extra_opts=["BR2_EXTERNAL={}".format(":".join(self.br2_external))]) + + def tearDown(self): + self.show_msg("Cleaning up") + if self.b and not self.keepbuilds: + self.b.delete() + + +class BRTest(BRConfigTest): + def __init__(self, names): + super(BRTest, self).__init__(names) + self.emulator = None + + def setUp(self): + super(BRTest, self).setUp() if not self.b.is_finished(): self.show_msg("Building") self.b.build() @@ -64,8 +81,6 @@ class BRTest(unittest.TestCase): self.logtofile, self.timeout_multiplier) def tearDown(self): - self.show_msg("Cleaning up") if self.emulator: self.emulator.stop() - if self.b and not self.keepbuilds: - self.b.delete() + super(BRTest, self).tearDown() diff --git a/bsp/buildroot/support/testing/infra/builder.py b/bsp/buildroot/support/testing/infra/builder.py index 7512339a..01874755 100644 --- a/bsp/buildroot/support/testing/infra/builder.py +++ b/bsp/buildroot/support/testing/infra/builder.py @@ -12,7 +12,17 @@ class Builder(object): self.builddir = builddir self.logfile = infra.open_log_file(builddir, "build", logtofile) - def build(self): + def configure(self, make_extra_opts=[], make_extra_env={}): + """Configure the build. + + make_extra_opts: a list of arguments to be passed to the make + command. + e.g. make_extra_opts=["BR2_EXTERNAL=/path"] + + make_extra_env: a dict of variables to be appended (or replaced) + in the environment that calls make. + e.g. make_extra_env={"BR2_DL_DIR": "/path"} + """ if not os.path.isdir(self.builddir): os.makedirs(self.builddir) @@ -24,15 +34,43 @@ class Builder(object): "> end defconfig\n") self.logfile.flush() + env = {"PATH": os.environ["PATH"]} + env.update(make_extra_env) + cmd = ["make", - "O={}".format(self.builddir), - "olddefconfig"] - ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile) + "O={}".format(self.builddir)] + cmd += make_extra_opts + cmd += ["olddefconfig"] + + ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, + env=env) if ret != 0: raise SystemError("Cannot olddefconfig") + def build(self, make_extra_opts=[], make_extra_env={}): + """Perform the build. + + make_extra_opts: a list of arguments to be passed to the make + command. It can include a make target. + e.g. make_extra_opts=["foo-source"] + + make_extra_env: a dict of variables to be appended (or replaced) + in the environment that calls make. + e.g. make_extra_env={"BR2_DL_DIR": "/path"} + """ + env = {"PATH": os.environ["PATH"]} + if "http_proxy" in os.environ: + self.logfile.write("Using system proxy: " + + os.environ["http_proxy"] + "\n") + env['http_proxy'] = os.environ["http_proxy"] + env['https_proxy'] = os.environ["http_proxy"] + env.update(make_extra_env) + cmd = ["make", "-C", self.builddir] - ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile) + cmd += make_extra_opts + + ret = subprocess.call(cmd, stdout=self.logfile, stderr=self.logfile, + env=env) if ret != 0: raise SystemError("Build failed") diff --git a/bsp/buildroot/support/testing/run-tests b/bsp/buildroot/support/testing/run-tests index f8cee09e..813b9270 100755 --- a/bsp/buildroot/support/testing/run-tests +++ b/bsp/buildroot/support/testing/run-tests @@ -5,7 +5,7 @@ import os import nose2 import multiprocessing -from infra.basetest import BRTest +from infra.basetest import BRConfigTest def main(): @@ -38,10 +38,10 @@ def main(): test_dir = os.path.dirname(script_path) if args.stdout: - BRTest.logtofile = False + BRConfigTest.logtofile = False if args.list: - print "List of tests" + print("List of tests") nose2.discover(argv=[script_path, "-s", test_dir, "-v", @@ -52,37 +52,36 @@ def main(): if args.download is None: args.download = os.getenv("BR2_DL_DIR") if args.download is None: - print "Missing download directory, please use -d/--download" - print "" + print("Missing download directory, please use -d/--download") + print("") parser.print_help() return 1 - BRTest.downloaddir = os.path.abspath(args.download) - os.putenv("BR2_DL_DIR", BRTest.downloaddir) + BRConfigTest.downloaddir = os.path.abspath(args.download) if args.output is None: - print "Missing output directory, please use -o/--output" - print "" + print("Missing output directory, please use -o/--output") + print("") parser.print_help() return 1 if not os.path.exists(args.output): os.mkdir(args.output) - BRTest.outputdir = os.path.abspath(args.output) + BRConfigTest.outputdir = os.path.abspath(args.output) if args.all is False and len(args.testname) == 0: - print "No test selected" - print "" + print("No test selected") + print("") parser.print_help() return 1 - BRTest.keepbuilds = args.keep + BRConfigTest.keepbuilds = args.keep if args.testcases != 1: if args.testcases < 1: - print "Invalid number of testcases to run simultaneously" - print "" + print("Invalid number of testcases to run simultaneously") + print("") parser.print_help() return 1 # same default BR2_JLEVEL as package/Makefile.in @@ -90,23 +89,23 @@ def main(): each_testcase = br2_jlevel / args.testcases if each_testcase < 1: each_testcase = 1 - BRTest.jlevel = each_testcase + BRConfigTest.jlevel = each_testcase if args.jlevel: if args.jlevel < 0: - print "Invalid BR2_JLEVEL to use for each testcase" - print "" + print("Invalid BR2_JLEVEL to use for each testcase") + print("") parser.print_help() return 1 # the user can override the auto calculated value - BRTest.jlevel = args.jlevel + BRConfigTest.jlevel = args.jlevel if args.timeout_multiplier < 1: - print "Invalid multiplier for timeout values" - print "" + print("Invalid multiplier for timeout values") + print("") parser.print_help() return 1 - BRTest.timeout_multiplier = args.timeout_multiplier + BRConfigTest.timeout_multiplier = args.timeout_multiplier nose2_args = ["-v", "-N", str(args.testcases), diff --git a/bsp/buildroot/support/testing/tests/boot/test_atf.py b/bsp/buildroot/support/testing/tests/boot/test_atf.py index 75cea01f..bb3701ba 100644 --- a/bsp/buildroot/support/testing/tests/boot/test_atf.py +++ b/bsp/buildroot/support/testing/tests/boot/test_atf.py @@ -40,7 +40,7 @@ class TestATFAllwinner(infra.basetest.BRTest): BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="bananapi_m64" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y @@ -63,7 +63,7 @@ class TestATFMarvell(infra.basetest.BRTest): BR2_TARGET_ARM_TRUSTED_FIRMWARE=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/MarvellEmbeddedProcessors/atf-marvell.git" - BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="43965481990fd92e9666cf9371a8cf478055ec7c" + BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="711ecd32afe465b38052b5ba374c825b158eea18" BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="a80x0_mcbin" BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33=y @@ -74,7 +74,7 @@ class TestATFMarvell(infra.basetest.BRTest): BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="mvebu_mcbin-88f8040" BR2_TARGET_UBOOT_CUSTOM_VERSION=y - BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.09" + BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2018.09" BR2_TARGET_UBOOT_NEEDS_DTC=y """ diff --git a/bsp/buildroot/support/testing/tests/core/test_hardening.py b/bsp/buildroot/support/testing/tests/core/test_hardening.py new file mode 100644 index 00000000..82e0f3d8 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/core/test_hardening.py @@ -0,0 +1,110 @@ +import os +import subprocess +import json + +import infra.basetest + + +class TestHardeningBase(infra.basetest.BRTest): + config = \ + """ + BR2_powerpc64=y + BR2_powerpc_e5500=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y + BR2_TOOLCHAIN_EXTERNAL_URL="https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc64-e5500/tarballs/powerpc64-e5500--glibc--stable-2018.02-2.tar.bz2" + BR2_TOOLCHAIN_EXTERNAL_GCC_6=y + BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1=y + BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y + BR2_TOOLCHAIN_EXTERNAL_CXX=y + BR2_PACKAGE_LIGHTTPD=y + BR2_PACKAGE_HOST_CHECKSEC=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + checksec_files = ["usr/sbin/lighttpd", "bin/busybox"] + + def checksec_run(self, target_file): + filepath = os.path.join(self.builddir, "target", target_file) + cmd = ["host/bin/checksec", "--output", "json", "--file", filepath] + # Checksec is being used for elf file analysis only. There are no + # assumptions of target/run-time checks as part of this testing. + ret = subprocess.check_output(cmd, + stderr=open(os.devnull, "w"), + cwd=self.builddir, + env={"LANG": "C"}) + return json.loads(ret) + + +class TestRelro(TestHardeningBase): + config = TestHardeningBase.config + \ + """ + BR2_RELRO_FULL=y + """ + + def test_run(self): + for f in self.checksec_files: + out = self.checksec_run(f) + self.assertEqual(out["file"]["relro"], "full") + self.assertEqual(out["file"]["pie"], "yes") + + +class TestRelroPartial(TestHardeningBase): + config = TestHardeningBase.config + \ + """ + BR2_RELRO_PARTIAL=y + """ + + def test_run(self): + for f in self.checksec_files: + out = self.checksec_run(f) + self.assertEqual(out["file"]["relro"], "partial") + self.assertEqual(out["file"]["pie"], "no") + + +class TestSspNone(TestHardeningBase): + config = TestHardeningBase.config + \ + """ + BR2_SSP_NONE=y + """ + + def test_run(self): + for f in self.checksec_files: + out = self.checksec_run(f) + self.assertEqual(out["file"]["canary"], "no") + + +class TestSspStrong(TestHardeningBase): + config = TestHardeningBase.config + \ + """ + BR2_SSP_STRONG=y + """ + + def test_run(self): + for f in self.checksec_files: + out = self.checksec_run(f) + self.assertEqual(out["file"]["canary"], "yes") + + +class TestFortifyNone(TestHardeningBase): + config = TestHardeningBase.config + \ + """ + BR2_FORTIFY_SOURCE_NONE=y + """ + + def test_run(self): + for f in self.checksec_files: + out = self.checksec_run(f) + self.assertEqual(out["file"]["fortified"], "0") + + +class TestFortifyConserv(TestHardeningBase): + config = TestHardeningBase.config + \ + """ + BR2_FORTIFY_SOURCE_1=y + """ + + def test_run(self): + for f in self.checksec_files: + out = self.checksec_run(f) + self.assertNotEqual(out["file"]["fortified"], "0") diff --git a/bsp/buildroot/support/testing/tests/core/test_post_scripts.py b/bsp/buildroot/support/testing/tests/core/test_post_scripts.py index edb339d8..40a36b79 100644 --- a/bsp/buildroot/support/testing/tests/core/test_post_scripts.py +++ b/bsp/buildroot/support/testing/tests/core/test_post_scripts.py @@ -18,17 +18,17 @@ class TestPostScripts(infra.basetest.BRTest): infra.filepath("tests/core/post-fakeroot.sh"), infra.filepath("tests/core/post-image.sh")) - def check_post_log_file(self, path, what): + def check_post_log_file(self, f, what, target_dir): lines = {} - with open(path, 'rb') as csvfile: + with open(os.path.join(self.builddir, "build", f), 'rb') as csvfile: r = csv.reader(csvfile, delimiter=',') for row in r: lines[row[0]] = row[1] - self.assertEqual(lines["arg1"], os.path.join(self.builddir, what)) + self.assertEqual(lines["arg1"], what) self.assertEqual(lines["arg2"], "foobar") self.assertEqual(lines["arg3"], "baz") - self.assertEqual(lines["TARGET_DIR"], os.path.join(self.builddir, "target")) + self.assertEqual(lines["TARGET_DIR"], target_dir) self.assertEqual(lines["BUILD_DIR"], os.path.join(self.builddir, "build")) self.assertEqual(lines["HOST_DIR"], os.path.join(self.builddir, "host")) staging = os.readlink(os.path.join(self.builddir, "staging")) @@ -37,9 +37,12 @@ class TestPostScripts(infra.basetest.BRTest): self.assertEqual(lines["BR2_CONFIG"], os.path.join(self.builddir, ".config")) def test_run(self): - f = os.path.join(self.builddir, "build", "post-build.log") - self.check_post_log_file(f, "target") - f = os.path.join(self.builddir, "build", "post-fakeroot.log") - self.check_post_log_file(f, "target") - f = os.path.join(self.builddir, "build", "post-image.log") - self.check_post_log_file(f, "images") + self.check_post_log_file("post-build.log", + os.path.join(self.builddir, "target"), + os.path.join(self.builddir, "target")) + self.check_post_log_file("post-fakeroot.log", + os.path.join(self.builddir, "build/buildroot-fs/tar/target"), + os.path.join(self.builddir, "build/buildroot-fs/tar/target")) + self.check_post_log_file("post-image.log", + os.path.join(self.builddir, "images"), + os.path.join(self.builddir, "target")) diff --git a/bsp/buildroot/board/digilent/zybo/system.bit b/bsp/buildroot/support/testing/tests/download/__init__.py similarity index 100% rename from bsp/buildroot/board/digilent/zybo/system.bit rename to bsp/buildroot/support/testing/tests/download/__init__.py diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/Config.in b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/Config.in new file mode 100644 index 00000000..e69de29b diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.desc b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.desc new file mode 100644 index 00000000..41316c8b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.desc @@ -0,0 +1 @@ +name: GIT_HASH diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.mk new file mode 100644 index 00000000..4646dfe2 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/external.mk @@ -0,0 +1,4 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_GIT_HASH_PATH)/package/*/*.mk)) + +# Get the git server port number from the test infra +GITREMOTE_PORT_NUMBER ?= 9418 diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash new file mode 100644 index 00000000..b9e1baec --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.hash @@ -0,0 +1 @@ +sha256 0000000000000000000000000000000000000000000000000000000000000000 bad-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk new file mode 100644 index 00000000..5497bd6b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/bad/bad.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# bad +# +################################################################################ + +BAD_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +BAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.hash new file mode 100644 index 00000000..9e92ab8a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.hash @@ -0,0 +1 @@ +sha256 d00ae598e9e770d607621a86766030b42eaa58156cb8d482b043969da7963c23 good-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.mk new file mode 100644 index 00000000..0f0eefd9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/good/good.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# good +# +################################################################################ + +GOOD_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +GOOD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk new file mode 100644 index 00000000..1da19d88 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-hash/package/nohash/nohash.mk @@ -0,0 +1,10 @@ +################################################################################ +# +# nohash +# +################################################################################ + +NOHASH_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +NOHASH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/Config.in b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/Config.in new file mode 100644 index 00000000..e69de29b diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.desc b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.desc new file mode 100644 index 00000000..69f40d46 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.desc @@ -0,0 +1 @@ +name: GIT_REFS diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.mk new file mode 100644 index 00000000..ab38c27e --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/external.mk @@ -0,0 +1,4 @@ +include $(sort $(wildcard $(BR2_EXTERNAL_GIT_REFS_PATH)/package/*/*.mk)) + +# Get the git server port number from the test infra +GITREMOTE_PORT_NUMBER ?= 9418 diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash new file mode 100644 index 00000000..648bccec --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.hash @@ -0,0 +1,2 @@ +sha256 70b76187369e47db69dac02c5696e63b35199cd20490fa473d289dd377774613 git-partial-sha1-branch-head-68c197d0879d485f4f6c.tar.gz +sha256 2c1126513651b0d346a4e6d1bb75ac1c9999217e18026302d27bea47b06c7fb2 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk new file mode 100644 index 00000000..6d4177c5 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-branch-head/git-partial-sha1-branch-head.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-branch-head +# +################################################################################ + +GIT_PARTIAL_SHA1_BRANCH_HEAD_VERSION = 68c197d0879d485f4f6c +GIT_PARTIAL_SHA1_BRANCH_HEAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_BRANCH_HEAD_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash new file mode 100644 index 00000000..d064362e --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.hash @@ -0,0 +1,2 @@ +sha256 9db079b9e215799d59975db7b2b26671eff1932ee6cf1075296f2ace3e2cb746 git-partial-sha1-reachable-by-branch-317406308d9259e2231b.tar.gz +sha256 fabbc65c442bacb5e69b7adfea6d14fbbfc1327134322efd12771dc84387d507 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk new file mode 100644 index 00000000..2f65b5c9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-branch/git-partial-sha1-reachable-by-branch.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-reachable-by-branch +# +################################################################################ + +GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_VERSION = 317406308d9259e2231b +GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_REACHABLE_BY_BRANCH_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash new file mode 100644 index 00000000..76960866 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.hash @@ -0,0 +1,2 @@ +sha256 f2ef9772f13a9ef9a2c7cde0795e179defb12320d1747fc8d2408748ef5844c2 git-partial-sha1-reachable-by-tag-46bae5b639e5a18e2cc4.tar.gz +sha256 2de87d77a2f226813f2d9bda906e970e4195605cdba6680443c0c04d89c532b6 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk new file mode 100644 index 00000000..05aa659d --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-reachable-by-tag/git-partial-sha1-reachable-by-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-reachable-by-tag +# +################################################################################ + +GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_VERSION = 46bae5b639e5a18e2cc4 +GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_REACHABLE_BY_TAG_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash new file mode 100644 index 00000000..e627caf9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.hash @@ -0,0 +1,2 @@ +sha256 721143b41b8e56cfd9025833f1602e900a490627db2504e5b4907baa23e0019e git-partial-sha1-tag-itself-2b0e0d98a49c97da6a61.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk new file mode 100644 index 00000000..51549239 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-itself/git-partial-sha1-tag-itself.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-tag-itself +# +################################################################################ + +GIT_PARTIAL_SHA1_TAG_ITSELF_VERSION = 2b0e0d98a49c97da6a61 +GIT_PARTIAL_SHA1_TAG_ITSELF_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_TAG_ITSELF_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash new file mode 100644 index 00000000..f957a0e2 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.hash @@ -0,0 +1,2 @@ +sha256 0fbf7fe935f962ceaafcf8e0ffd25dd2a83752c3f0fd055a942a53f8c9235fa7 git-partial-sha1-tag-points-to-516c9c5f64ec66534d4d.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk new file mode 100644 index 00000000..c810e811 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-partial-sha1-tag-points-to/git-partial-sha1-tag-points-to.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-partial-sha1-tag-points-to +# +################################################################################ + +GIT_PARTIAL_SHA1_TAG_POINTS_TO_VERSION = 516c9c5f64ec66534d4d +GIT_PARTIAL_SHA1_TAG_POINTS_TO_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_PARTIAL_SHA1_TAG_POINTS_TO_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash new file mode 100644 index 00000000..3e8f76d3 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.hash @@ -0,0 +1,2 @@ +sha256 a21a2507b6d94ad484e49e3a9ae698f672a57469aab8e1779da77df7c9d4d337 git-sha1-branch-head-68c197d0879d485f4f6cee85544722b79e68e59f.tar.gz +sha256 2c1126513651b0d346a4e6d1bb75ac1c9999217e18026302d27bea47b06c7fb2 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk new file mode 100644 index 00000000..d3ecaa85 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-branch-head/git-sha1-branch-head.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-branch-head +# +################################################################################ + +GIT_SHA1_BRANCH_HEAD_VERSION = 68c197d0879d485f4f6cee85544722b79e68e59f +GIT_SHA1_BRANCH_HEAD_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_BRANCH_HEAD_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash new file mode 100644 index 00000000..f8d7b5dc --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.hash @@ -0,0 +1,2 @@ +sha256 8909e76d898e651af0bc23fae4103b87888bfe77448d71aaf1fbec3da97a3ce2 git-sha1-reachable-by-branch-317406308d9259e2231bd0d6ddad3de3832bce08.tar.gz +sha256 fabbc65c442bacb5e69b7adfea6d14fbbfc1327134322efd12771dc84387d507 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk new file mode 100644 index 00000000..badf9e13 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-branch/git-sha1-reachable-by-branch.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-reachable-by-branch +# +################################################################################ + +GIT_SHA1_REACHABLE_BY_BRANCH_VERSION = 317406308d9259e2231bd0d6ddad3de3832bce08 +GIT_SHA1_REACHABLE_BY_BRANCH_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_REACHABLE_BY_BRANCH_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash new file mode 100644 index 00000000..0eb0ca09 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.hash @@ -0,0 +1,2 @@ +sha256 9b20256a3058221a8e91031f11700d9945ea84e8f328fa8e42e1cb9f7a30e3b2 git-sha1-reachable-by-tag-46bae5b639e5a18e2cc4dc508f080d566baeff59.tar.gz +sha256 2de87d77a2f226813f2d9bda906e970e4195605cdba6680443c0c04d89c532b6 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk new file mode 100644 index 00000000..b5fde7b5 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-reachable-by-tag/git-sha1-reachable-by-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-reachable-by-tag +# +################################################################################ + +GIT_SHA1_REACHABLE_BY_TAG_VERSION = 46bae5b639e5a18e2cc4dc508f080d566baeff59 +GIT_SHA1_REACHABLE_BY_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_REACHABLE_BY_TAG_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash new file mode 100644 index 00000000..48c13485 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.hash @@ -0,0 +1,2 @@ +sha256 7d301c1a1054d6aee49193ca9e938f4da561ff73fb01719662865aa38bdc4361 git-sha1-tag-itself-2b0e0d98a49c97da6a618ab36337e2058eb733a2.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk new file mode 100644 index 00000000..89144966 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-itself/git-sha1-tag-itself.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-tag-itself +# +################################################################################ + +GIT_SHA1_TAG_ITSELF_VERSION = 2b0e0d98a49c97da6a618ab36337e2058eb733a2 +GIT_SHA1_TAG_ITSELF_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_TAG_ITSELF_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash new file mode 100644 index 00000000..3dcafc20 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.hash @@ -0,0 +1,2 @@ +sha256 c1f9f5734529a31140a71c031534460811f001b4db37d26833f386358150ab47 git-sha1-tag-points-to-516c9c5f64ec66534d4d069c2e408d9ae4dce023.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk new file mode 100644 index 00000000..adaae732 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-sha1-tag-points-to/git-sha1-tag-points-to.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-sha1-tag-points-to +# +################################################################################ + +GIT_SHA1_TAG_POINTS_TO_VERSION = 516c9c5f64ec66534d4d069c2e408d9ae4dce023 +GIT_SHA1_TAG_POINTS_TO_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SHA1_TAG_POINTS_TO_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash new file mode 100644 index 00000000..3bd0a446 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.hash @@ -0,0 +1,2 @@ +sha256 f9d46ff8a1a344c6c31fa4211220f3085c446abd31626232540703158276f22c git-submodule-disabled-a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f.tar.gz +sha256 ba8b6ddc4726bfb6a05045ebfd8c43263c968ad1bc601bd46a25bc055008eddc file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk new file mode 100644 index 00000000..7a35b3b5 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-disabled/git-submodule-disabled.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-submodule-disabled +# +################################################################################ + +GIT_SUBMODULE_DISABLED_VERSION = a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f +GIT_SUBMODULE_DISABLED_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SUBMODULE_DISABLED_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash new file mode 100644 index 00000000..7f92c652 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.hash @@ -0,0 +1 @@ +sha256 139a34c3c844c844dee74b6746418cfa75fbcc4205794ac8c0b3cd7d55a76792 git-submodule-enabled-a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f.tar.gz diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk new file mode 100644 index 00000000..48a42f5e --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-submodule-enabled/git-submodule-enabled.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-submodule-enabled +# +################################################################################ + +GIT_SUBMODULE_ENABLED_VERSION = a9dbc1e23c45e8e1b88c0448763f54d714eb6f8f +GIT_SUBMODULE_ENABLED_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_SUBMODULE_ENABLED_GIT_SUBMODULES = YES + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash new file mode 100644 index 00000000..1cd0b15f --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.hash @@ -0,0 +1,2 @@ +sha256 85dcb5bcf9bed496688d0eb01c7a3ce05c5b46b984cc1e9e76a6dbefd976e6b3 git-tag-mytag.tar.gz +sha256 6de8772a0a58fa62e2b8c58d4dae55c9db7534ad3b3918ecc849a9008d58f081 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk new file mode 100644 index 00000000..6960ceb2 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-tag/git-tag.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-tag +# +################################################################################ + +GIT_TAG_VERSION = mytag +GIT_TAG_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_TAG_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash new file mode 100644 index 00000000..47b2b8b7 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.hash @@ -0,0 +1,2 @@ + sha256 04715901977503d1df650e0959f4d31d8e7b105e2ac99a2182e0652b8f13baa1 git-wrong-content-a238b1dfcd825d47d834af3c5223417c8411d90d.tar.gz + sha256 0000000000000000000000000000000000000000000000000000000000000000 file diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk new file mode 100644 index 00000000..786224da --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-content/git-wrong-content.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-wrong-content +# +################################################################################ + +GIT_WRONG_CONTENT_VERSION = a238b1dfcd825d47d834af3c5223417c8411d90d +GIT_WRONG_CONTENT_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_WRONG_CONTENT_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk new file mode 100644 index 00000000..f9d0d222 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/br2-external/git-refs/package/git-wrong-sha1/git-wrong-sha1.mk @@ -0,0 +1,11 @@ +################################################################################ +# +# git-wrong-sha1 +# +################################################################################ + +GIT_WRONG_SHA1_VERSION = 0000000000000000000000000000000000000000 +GIT_WRONG_SHA1_SITE = git://localhost:$(GITREMOTE_PORT_NUMBER)/repo.git +GIT_WRONG_SHA1_LICENSE_FILES = file + +$(eval $(generic-package)) diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes new file mode 100644 index 00000000..eb50c64a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/.gitattributes @@ -0,0 +1 @@ +objects/*/* binary diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/HEAD b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/HEAD new file mode 100644 index 00000000..4e92c1f2 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/HEAD @@ -0,0 +1 @@ +cb545facf77bbc5f24f95b6d503c338d10b7b717 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/config b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/config new file mode 100644 index 00000000..07d359d0 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/config @@ -0,0 +1,4 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/07/cabc655213bdf7087d8dd50fda95124e935570 b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/07/cabc655213bdf7087d8dd50fda95124e935570 new file mode 100644 index 0000000000000000000000000000000000000000..cbf5085af8cdca19c43017c92369ddc8002f1a3d GIT binary patch literal 22 dcmbUJ21Qop+W=aH2UY+8 literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/1d/f823cb8a6d1866148ae50a8009762a9c4c777f b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/1d/f823cb8a6d1866148ae50a8009762a9c4c777f new file mode 100644 index 0000000000000000000000000000000000000000..04055b899ecbdc3bceb2d7936757f360e90544a5 GIT binary patch literal 180 zcmV;l089UP0j-Wf4#FT106p^xK2WpJg47t}2fXMDb{9~h6hrag?``72yYV{7OomI& zsmWfORjVOLR6Sr+R$C(U-VSb1q?wp3@(?`O-VrJk53FHoGCBYi%*KHN7_CMVmVh>k zG4N<%AvQY_fi>fV64+lcAx>o iLYL_l{*)8*lT@dLIH$`Ld{<)Z=(YXjRlEVZ`fTHP_gG8- literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/7d/52f458bdb0f9f5a4beb46fa82824421b8b988e b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/7d/52f458bdb0f9f5a4beb46fa82824421b8b988e new file mode 100644 index 0000000000000000000000000000000000000000..2b78a01965068cc6f7c89402eea4e7f9a03ba807 GIT binary patch literal 65 zcmV-H0KWft0ZYosPf{>5V~8#;P0GzrDa}b$P%27IE7k?_jg(@!I13U>G8AkT;9^{y XrA0YF0X;o^xR_pgW(gMne83k7uwXDWFfcPQQP4}zEXmDJDa}bOW~dGN60vu~&#z1NZOLDu zq2eUnJ);k*EG;u9m4W@#p41@Wz27-%d$01}nkwWsIkdpg%m4@!ic-^xb&E@rj2O=P cCjD3J+P-ChfArrU3~L^=ueW&(03qxzkxyhgmjD0& literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/bc/c81ba6e5bd8bf52c95688ae8d3e697e131fa23 new file mode 100644 index 0000000000000000000000000000000000000000..7d2a9d55c1a92dfa2122308cc05a4a5b96d70d8f GIT binary patch literal 22 dcmb7uwXDWFfcPQQP4}zEXmDJDa}bOW~dGN60vu~&#z1NZOLDu zq2eUnJ);k*EG;u9m0`~b>19v%c7N5Gn$h**^0Vm=4Sy*cni&9rLQ!g3v2Jl`k`cpM c-=zPFUE8-T@Q?ocgJI2s_VqTe0l@My>J95W4gdfE literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/objects/e7/9c5e8f964493290a409888d5413a737e8e5dd5 new file mode 100644 index 0000000000000000000000000000000000000000..df2037a2d2d30afb20e31cd558c92c2edabe7cf6 GIT binary patch literal 23 fcmbeEHo=7RuBigTc zdbzh&r$+0a<|suo8w3gBg5A7viIdm@=pYIf-q5*1A#+gQX_S5HOx}4(Sz;v0UaXVN zQ(zC65mz=qk)nwzUFSz1`dD)s-1U1Jv+lWHKC6BicRaKQzMWgDUx(b=t2Q21@L>hi m3s?Yk)7$hc|CCdgE1AV8b*ksR@X|#V`g#7#tNI184{X$IS6W&C literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule new file mode 100644 index 00000000..bf97dc41 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub1.git/refs/heads/submodule @@ -0,0 +1 @@ +1df823cb8a6d1866148ae50a8009762a9c4c777f diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes new file mode 100644 index 00000000..eb50c64a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/.gitattributes @@ -0,0 +1 @@ +objects/*/* binary diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/HEAD b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/HEAD new file mode 100644 index 00000000..bbf19a4b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/HEAD @@ -0,0 +1 @@ +32d61bae693af7879da63b89a60d3ae67f851e56 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/config b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/config new file mode 100644 index 00000000..07d359d0 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/config @@ -0,0 +1,4 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/0a/846af45c3e455789435f49f80d70e86b65b9d7 b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/0a/846af45c3e455789435f49f80d70e86b65b9d7 new file mode 100644 index 0000000000000000000000000000000000000000..aaa29dbd8a5a74a24f51a8522b695a7474349f3c GIT binary patch literal 22 dcmb9VlXr?Ff%bxNXyJgW#DSb`VwR38s6y~@A-qb;6--o&g%g8 GZVq_HQWiM? literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/85/8f666af75b7c0dfba6b8be7eac5f196e7a1221 new file mode 100644 index 0000000000000000000000000000000000000000..10f24a087ff08320b8fc5922db728472bd276e9a GIT binary patch literal 49 zcmb3 literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/objects/99/f2e3e1cb15f9b52fa29f66d380dda061d917ab new file mode 100644 index 0000000000000000000000000000000000000000..9db72668cf9374b0b85a25a19f30084fd460072d GIT binary patch literal 49 zcmbfy8RY^ z{@h!u)9yV!%^_kFCJiBwM&y{GC{y6X5`{9VdkzxGdGE{*4cVs6Wi7$0dY6bJuLP?i zYtaNiSs+EyeHJ!!na4itXU#N9w;wcS-Eu#ls(l^*xNA3jKQyY}yWHEGbqEPCphLTW k2QXK?PEUDI&YUmo7jMj0J#12zuDbB=%RR5=4+?N@DHiEdA^-pY literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule new file mode 100644 index 00000000..39dc53f0 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/refs-sub2.git/refs/heads/submodule @@ -0,0 +1 @@ +e83f6f805bd016b90acafc8702c52d778eb57310 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/.gitattributes b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/.gitattributes new file mode 100644 index 00000000..eb50c64a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/.gitattributes @@ -0,0 +1 @@ +objects/*/* binary diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/HEAD b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/HEAD new file mode 100644 index 00000000..cb089cd8 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/config b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/config new file mode 100644 index 00000000..07d359d0 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/config @@ -0,0 +1,4 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/0b/d8ceb961c3b2b210f64a67d57f4b5cd669d343 new file mode 100644 index 0000000000000000000000000000000000000000..ef7fbd4154aea755d8ee2684e420700467e9245c GIT binary patch literal 22 dcmbAT(SQY{RanuOb literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/25/59d83bfe937fc0412d96ed664663c9e8a99055 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/25/59d83bfe937fc0412d96ed664663c9e8a99055 new file mode 100644 index 0000000000000000000000000000000000000000..cbf60fc7298ec12b3d7cd388fecac606ca31536e GIT binary patch literal 22 dcmbfX_pTQVgXFZ*LP9?v2|?W-`9y zoEleBZ(1ed0ZDFA1Yzu;w9*KG;8n@fvydbGOYBD68F&+@j z>O_rU6i9A}CNjIUTdDk¦'ÿSN•^¬R§zÞ˜–.²”ï׿̪1nS \ No newline at end of file diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/34/d1da713bf7de1c535e1d7d3ca985afd84bc7e5 new file mode 100644 index 0000000000000000000000000000000000000000..29f2d4fd004afa03b43e3148207e258e7aa9fc41 GIT binary patch literal 23 fcmbAT3SQY^Qam@(V literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 new file mode 100644 index 00000000..3bf8865e --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/46/bae5b639e5a18e2cc4dc508f080d566baeff59 @@ -0,0 +1 @@ +x­Î1n!@Qל‚ ¬Å0àa£(òÒÄ'˜e`–“··¥î-·¯øú±ÕZ†F‹»ÑSÒ1›ìrðB )![±~™çƒ‡À(±1 ~¹§mh¶%X/Ž$ ãŒÑ[‹( ³Åãܺþ*‘»4ýÉ}”-¶ËwÑïý÷õǵrùÙÇV?4xC³pðz2hŒºë}z¤åÔà”:•uK2µœ§åúöÌ©ºÍFkb \ No newline at end of file diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 new file mode 100644 index 00000000..0bda23ab --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/51/6c9c5f64ec66534d4d069c2e408d9ae4dce023 @@ -0,0 +1,2 @@ +x­ÎKN1EQÆ^…7БåBQ6À„¬ º\n¬à6rœ»'æˆéyÒÓ¥ÞZÒû4³dc|ZK +¾pÖœÅ\ôV“Ââ‚uшO¼OéüŠ «·‰udCä2ŠEE•Á?æR ¼Í÷>ä[%¹ËW³îÔ¯—*_ÆÚ/ž¶†õã@½¥D¬\”UJÜõ=ùŸîÄÄÍq®ÛÎyé¥,ë×ó_JÅ7Êle \ No newline at end of file diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f new file mode 100644 index 00000000..3e421bb9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/68/c197d0879d485f4f6cee85544722b79e68e59f @@ -0,0 +1 @@ +x­Î=N1†ajŸÂØÈ;³ë„ !'ÏL+xŒ)¸=+¥HÑ>Ò÷éåVkÁ?®j3,cð°¨pˆâ ÍxA&I™R`拺nûp‹óè¢$X“àœÅ‰!AQŒ™ÕEC?ãÒºý(L]š}§>ÊÆíûZìK¿á¡Þñí\©|¸ÕW;¯.¤5¢G;9tÎìºGý§;“;m|cŽå¼©Lítšòïó#±æ$bl· \ No newline at end of file diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/8b/8a7e885a041da72b1ee9a47c5b9300b172a9e7 new file mode 100644 index 0000000000000000000000000000000000000000..70cf1795f3210f81951d0995823bb958867ba710 GIT binary patch literal 65 zcmbc8ET5e-2otN7bXAz literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/92/ef85be57d627f280d8ce3724452ac21c9a6452 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/92/ef85be57d627f280d8ce3724452ac21c9a6452 new file mode 100644 index 0000000000000000000000000000000000000000..1f2474ba3209802c0f297f390eb517b4419621f9 GIT binary patch literal 20 bcmbRu$&;~&-~u5KipxZpJlJ^_>ocTx0A{CtxuHtpv)kOZ{w$R{aqq=Y5Kr@lr^^Nx#*Anz+HXf*Qs*3>|(2*8XW|19*ox$ l7yz~DHa*fm<<#}Iz=TR2%V|wAwVbErzJKLa{Q9VlXr?Ff%bxNXyJgWiYvTtI+!UJ(=J**;<>Gt?O@iAAbq} H3k46<$LbTr literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/cf/0f4f85d7a1237e377a2d25b996518a877ea001 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/cf/0f4f85d7a1237e377a2d25b996518a877ea001 new file mode 100644 index 0000000000000000000000000000000000000000..fd224552518d57b0b8b0a1d618eef507f798555f GIT binary patch literal 49 zcmV-10M7q-0V^p=O;s>9VlXr?Ff%bxNXyJgWtjB7bzk^3^-m2q&Y7#YY8{f9l@bI1 H7n%=ExH=M# literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/d4/e2941d18a63535400476324ddeb7f40164be41 b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/objects/d4/e2941d18a63535400476324ddeb7f40164be41 new file mode 100644 index 0000000000000000000000000000000000000000..4d82169300d0d8a2e31ced481501bff6647ef6b7 GIT binary patch literal 121 zcmV-<0EYi~0V^p=O;s>7uwXDWFfcPQQP4}zEXmDJDa}bOX6Wv!>xg2JU9K(na!F0} zWQL7JE1yG^rDf)%GN?x0u>Lo>{(z(Iw6|$)$tPc|oDgbgW&i{VMX71Uy2YhQh73O# b=2AU<WBpF}NR{H!

    7uwXDWFfcPQQP4}zEXmDJDa}bOX6Wv!>xg2JU9K(na!F0} zWQL7JE1yG^rDf)%GH~BGw=?nZrcDChywb1Md&gYMyzFdfW&i{VMX71Uy2YhQh73O# b=2AU<WBwy!O?8)rGE literal 0 HcmV?d00001 diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/master b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/master new file mode 100644 index 00000000..b6bccc1c --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/master @@ -0,0 +1 @@ +a238b1dfcd825d47d834af3c5223417c8411d90d diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch new file mode 100644 index 00000000..45cec546 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/mybranch @@ -0,0 +1 @@ +68c197d0879d485f4f6cee85544722b79e68e59f diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule new file mode 100644 index 00000000..e9f4f32c --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/heads/submodule @@ -0,0 +1 @@ +2fa37f6885d7eb746df75eccaddbacf3ac82799d diff --git a/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag new file mode 100644 index 00000000..8c09448a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/git-remote/repo.git/refs/tags/mytag @@ -0,0 +1 @@ +2b0e0d98a49c97da6a618ab36337e2058eb733a2 diff --git a/bsp/buildroot/support/testing/tests/download/gitremote.py b/bsp/buildroot/support/testing/tests/download/gitremote.py new file mode 100644 index 00000000..3b35456d --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/gitremote.py @@ -0,0 +1,46 @@ +# subprocess does not kill the child daemon when a test case fails by raising +# an exception. So use pexpect instead. +import infra + +import pexpect + + +GIT_REMOTE_PORT_INITIAL = 9418 +GIT_REMOTE_PORT_LAST = GIT_REMOTE_PORT_INITIAL + 99 + + +class GitRemote(object): + def __init__(self, builddir, serveddir, logtofile): + """ + Start a local git server. + + In order to support test cases in parallel, select the port the + server will listen to in runtime. Since there is no reliable way + to allocate the port prior to starting the server (another + process in the host machine can use the port between it is + selected from a list and it is really allocated to the server) + try to start the server in a port and in the case it is already + in use, try the next one in the allowed range. + """ + self.daemon = None + self.port = None + self.logfile = infra.open_log_file(builddir, "gitremote", logtofile) + + daemon_cmd = ["git", "daemon", "--reuseaddr", "--verbose", + "--listen=localhost", "--export-all", + "--base-path={}".format(serveddir)] + for port in range(GIT_REMOTE_PORT_INITIAL, GIT_REMOTE_PORT_LAST + 1): + cmd = daemon_cmd + ["--port={port}".format(port=port)] + self.logfile.write("> starting git remote with '{}'\n".format(" ".join(cmd))) + self.daemon = pexpect.spawn(cmd[0], cmd[1:], logfile=self.logfile) + ret = self.daemon.expect(["Ready to rumble", + "Address already in use"]) + if ret == 0: + self.port = port + return + raise SystemError("Could not find a free port to run git remote") + + def stop(self): + if self.daemon is None: + return + self.daemon.terminate(force=True) diff --git a/bsp/buildroot/support/testing/tests/download/test_git.py b/bsp/buildroot/support/testing/tests/download/test_git.py new file mode 100644 index 00000000..24555572 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/download/test_git.py @@ -0,0 +1,81 @@ +import os +import shutil + +from gitremote import GitRemote + +import infra + + +class GitTestBase(infra.basetest.BRConfigTest): + config = \ + """ + BR2_BACKUP_SITE="" + """ + gitremotedir = infra.filepath("tests/download/git-remote") + gitremote = None + + def setUp(self): + super(GitTestBase, self).setUp() + self.gitremote = GitRemote(self.builddir, self.gitremotedir, self.logtofile) + + def tearDown(self): + self.show_msg("Cleaning up") + if self.gitremote: + self.gitremote.stop() + if self.b and not self.keepbuilds: + self.b.delete() + + def check_hash(self, package): + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + env = {"BR2_DL_DIR": os.path.join(self.builddir, "dl"), + "GITREMOTE_PORT_NUMBER": str(self.gitremote.port)} + self.b.build(["{}-dirclean".format(package), + "{}-source".format(package)], + env) + + def check_download(self, package): + # store downloaded tarball inside the output dir so the test infra + # cleans it up at the end + dl_dir = os.path.join(self.builddir, "dl") + # enforce we test the download + if os.path.exists(dl_dir): + shutil.rmtree(dl_dir) + env = {"BR2_DL_DIR": dl_dir, + "GITREMOTE_PORT_NUMBER": str(self.gitremote.port)} + self.b.build(["{}-dirclean".format(package), + "{}-legal-info".format(package)], + env) + + +class TestGitHash(GitTestBase): + br2_external = [infra.filepath("tests/download/br2-external/git-hash")] + + def test_run(self): + with self.assertRaises(SystemError): + self.check_hash("bad") + self.check_hash("good") + self.check_hash("nohash") + + +class TestGitRefs(GitTestBase): + br2_external = [infra.filepath("tests/download/br2-external/git-refs")] + + def test_run(self): + with self.assertRaises(SystemError): + self.check_download("git-wrong-content") + with self.assertRaises(SystemError): + self.check_download("git-wrong-sha1") + self.check_download("git-partial-sha1-branch-head") + self.check_download("git-partial-sha1-reachable-by-branch") + self.check_download("git-partial-sha1-reachable-by-tag") + self.check_download("git-partial-sha1-tag-itself") + self.check_download("git-partial-sha1-tag-points-to") + self.check_download("git-sha1-branch-head") + self.check_download("git-sha1-reachable-by-branch") + self.check_download("git-sha1-reachable-by-tag") + self.check_download("git-sha1-tag-itself") + self.check_download("git-sha1-tag-points-to") + self.check_download("git-submodule-disabled") + self.check_download("git-submodule-enabled") + self.check_download("git-tag") diff --git a/bsp/buildroot/support/testing/tests/fs/test_f2fs.py b/bsp/buildroot/support/testing/tests/fs/test_f2fs.py new file mode 100644 index 00000000..819c619a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/fs/test_f2fs.py @@ -0,0 +1,51 @@ +import os +import subprocess + +import infra.basetest + + +def dumpf2fs_getprop(out, prop): + for line in out: + fields = line.split(" = ") + if fields[0] == prop: + return fields[1].strip() + + +class TestF2FS(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_F2FS=y + BR2_TARGET_ROOTFS_F2FS_SIZE="128M" + BR2_TARGET_ROOTFS_F2FS_OVERPROVISION=0 + BR2_TARGET_ROOTFS_F2FS_DISCARD=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_USE_DEFCONFIG=y + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + """.format(infra.filepath("conf/f2fs-kernel-fragment.config")) + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.f2fs") + out = subprocess.check_output(["host/sbin/dump.f2fs", img], + cwd=self.builddir, + env={"LANG": "C"}) + out = out.splitlines() + prop = dumpf2fs_getprop(out, "Info: total sectors") + self.assertEqual(prop, "262144 (128 MB)") + + kernel = os.path.join(self.builddir, "images", "zImage") + kernel_cmdline = ["root=/dev/mmcblk0", "rootfstype=f2fs", + "console=ttyAMA0"] + dtb = infra.download(self.downloaddir, "vexpress-v2p-ca9.dtb") + options = ["-M", "vexpress-a9", "-dtb", dtb, + "-drive", "file={},if=sd,format=raw".format(img)] + self.emulator.boot(arch="armv7", kernel=kernel, + kernel_cmdline=kernel_cmdline, + options=options) + self.emulator.login() + cmd = "mount | grep '/dev/root on / type f2fs'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) diff --git a/bsp/buildroot/support/testing/tests/package/copy-sample-script-to-target.sh b/bsp/buildroot/support/testing/tests/package/copy-sample-script-to-target.sh new file mode 100755 index 00000000..6448a80d --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/copy-sample-script-to-target.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -e + +shift +for file in "$@"; do + cp -f "${file}" "${TARGET_DIR}/root/" +done diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_argh.py b/bsp/buildroot/support/testing/tests/package/sample_python_argh.py new file mode 100644 index 00000000..48247bf6 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_argh.py @@ -0,0 +1,10 @@ +import argh + + +@argh.arg("foo", help="help for foo") +@argh.arg("--bar", help="help for bar") +def main(foo, bar=False): + print("{}, {}".format(foo, bar)) + + +argh.dispatch_command(main) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_attrs.py b/bsp/buildroot/support/testing/tests/package/sample_python_attrs.py new file mode 100644 index 00000000..f2249449 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_attrs.py @@ -0,0 +1,15 @@ +import attr + + +@attr.s +class Obj(object): + x = attr.ib() + y = attr.ib(default=1) + + +obj1 = Obj(2) +assert(obj1.x == 2) +assert(obj1.y == 1) +obj2 = Obj(3, 4) +assert(obj2.x == 3) +assert(obj2.y == 4) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_autobahn.py b/bsp/buildroot/support/testing/tests/package/sample_python_autobahn.py new file mode 100644 index 00000000..8189b6a6 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_autobahn.py @@ -0,0 +1 @@ +import autobahn.wamp # noqa diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_automat.py b/bsp/buildroot/support/testing/tests/package/sample_python_automat.py new file mode 100644 index 00000000..baf536f9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_automat.py @@ -0,0 +1,27 @@ +from automat import MethodicalMachine + + +class Led(object): + _machine = MethodicalMachine() + + @_machine.state() + def led_on(self): + "led is on" + + @_machine.state(initial=True) + def led_off(self): + "led is off" + + @_machine.input() + def turn_on(self): + "turn the led on" + + @_machine.output() + def _light(self): + print("light") + + led_off.upon(turn_on, enter=led_on, outputs=[_light]) + + +led = Led() +led.turn_on() diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_bitstring.py b/bsp/buildroot/support/testing/tests/package/sample_python_bitstring.py new file mode 100644 index 00000000..2cc10dba --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_bitstring.py @@ -0,0 +1,6 @@ +import bitstring + +value = bitstring.BitArray("uint:12=42") +assert(value.hex == "02a") +assert(value.bin == "000000101010") +assert(value.uint == 42) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_cbor_dec.py b/bsp/buildroot/support/testing/tests/package/sample_python_cbor_dec.py new file mode 100644 index 00000000..5ca5e3aa --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_cbor_dec.py @@ -0,0 +1,10 @@ +import cbor + +with open("/tmp/data.cbor", "rb") as f: + serialized = f.read() +data = cbor.loads(serialized) +print(data) +assert(data["name"] == "python-cbor") +assert(data["versions"] == ["1", "2"]) +assert(data["group"]["is_a_package"] is True) +assert(data["group"]["value"] == 42) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_cbor_enc.py b/bsp/buildroot/support/testing/tests/package/sample_python_cbor_enc.py new file mode 100644 index 00000000..1bde92bb --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_cbor_enc.py @@ -0,0 +1,14 @@ +import cbor + +data = { + "name": "python-cbor", + "versions": ["1", "2"], + "group": { + "is_a_package": True, + "value": 42 + } +} +serialized = cbor.dumps(data) +print(serialized) +with open("/tmp/data.cbor", "wb") as f: + f.write(serialized) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_click.py b/bsp/buildroot/support/testing/tests/package/sample_python_click.py new file mode 100644 index 00000000..759868d0 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_click.py @@ -0,0 +1,12 @@ +import click + + +@click.command() +@click.argument("foo") +@click.option("--bar", is_flag=True, help="help for bar") +def main(foo, bar): + click.echo("{}, {}".format(foo, bar)) + + +if __name__ == '__main__': + main() diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_constantly.py b/bsp/buildroot/support/testing/tests/package/sample_python_constantly.py new file mode 100644 index 00000000..570cf85b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_constantly.py @@ -0,0 +1,19 @@ +from constantly import ValueConstant, Values + + +class RESULT(Values): + OK = ValueConstant(0) + FAIL = ValueConstant(-1) + + @classmethod + def get(cls, rc): + if rc == 0: + return cls.OK + else: + return cls.FAIL + + +print(list(RESULT.iterconstants())) +assert(RESULT.OK < RESULT.FAIL) +assert(RESULT.OK.value > RESULT.FAIL.value) +assert(RESULT.get(-5) == RESULT.FAIL) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_crossbar.py b/bsp/buildroot/support/testing/tests/package/sample_python_crossbar.py new file mode 100644 index 00000000..3695fe92 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_crossbar.py @@ -0,0 +1,3 @@ +import crossbar + +crossbar.run(["version"]) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_cryptography.py b/bsp/buildroot/support/testing/tests/package/sample_python_cryptography.py new file mode 100644 index 00000000..ec9883dc --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_cryptography.py @@ -0,0 +1,3 @@ +from cryptography.fernet import Fernet +key = Fernet.generate_key() +f = Fernet(key) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_incremental.py b/bsp/buildroot/support/testing/tests/package/sample_python_incremental.py new file mode 100644 index 00000000..b6e2aa80 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_incremental.py @@ -0,0 +1,3 @@ +import incremental +v = incremental.Version("package", 1, 2, 3, release_candidate=4) +assert(str(v) == "[package, version 1.2.3rc4]") diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_passlib.py b/bsp/buildroot/support/testing/tests/package/sample_python_passlib.py new file mode 100644 index 00000000..3ab348b9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_passlib.py @@ -0,0 +1,5 @@ +from passlib.hash import pbkdf2_sha256 + +hash = pbkdf2_sha256.hash("password") +assert(pbkdf2_sha256.verify("passWord", hash) is False) +assert(pbkdf2_sha256.verify("password", hash) is True) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_pexpect.py b/bsp/buildroot/support/testing/tests/package/sample_python_pexpect.py new file mode 100644 index 00000000..cfe395fc --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_pexpect.py @@ -0,0 +1,8 @@ +import pexpect + +p = pexpect.spawn(["login"]) +p.expect("login:") +p.sendline("wrong") +p.expect("Password:") +p.sendline("wrong") +p.expect("Login incorrect") diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_pynacl.py b/bsp/buildroot/support/testing/tests/package/sample_python_pynacl.py new file mode 100644 index 00000000..d17c50eb --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_pynacl.py @@ -0,0 +1,3 @@ +import nacl.utils + +nonce = nacl.utils.random(16) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_dec.py b/bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_dec.py new file mode 100644 index 00000000..9ab89311 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_dec.py @@ -0,0 +1,10 @@ +import yaml + +with open("/tmp/data.yml", "rb") as f: + serialized = f.read() +data = yaml.load(serialized) +print(data) +assert(data["name"] == "python-pyyaml") +assert(data["versions"] == ["1", "2"]) +assert(data["group"]["is_a_package"] is True) +assert(data["group"]["value"] == 42) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_enc.py b/bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_enc.py new file mode 100644 index 00000000..30759949 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_pyyaml_enc.py @@ -0,0 +1,14 @@ +import yaml + +data = { + "name": "python-pyyaml", + "versions": ["1", "2"], + "group": { + "is_a_package": True, + "value": 42 + } +} +serialized = yaml.dump(data, default_flow_style=False) +print(serialized) +with open("/tmp/data.yml", "w") as f: + f.write(serialized) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_service_identity.py b/bsp/buildroot/support/testing/tests/package/sample_python_service_identity.py new file mode 100644 index 00000000..3184b6c5 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_service_identity.py @@ -0,0 +1,2 @@ +from service_identity import VerificationError # noqa +from service_identity.pyopenssl import verify_hostname # noqa diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_subprocess32.py b/bsp/buildroot/support/testing/tests/package/sample_python_subprocess32.py new file mode 100644 index 00000000..8579745c --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_subprocess32.py @@ -0,0 +1,6 @@ +import subprocess32 + +output = subprocess32.check_output(["ls", "-l", "/dev/null"]) +print(output) +assert("/dev/null" in output) +assert("No such" not in output) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_treq.py b/bsp/buildroot/support/testing/tests/package/sample_python_treq.py new file mode 100644 index 00000000..974fdcd8 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_treq.py @@ -0,0 +1,16 @@ +from twisted.internet import reactor +import treq + + +def done(response): + print(response.code) + reactor.stop() + + +def err(fail): + print(fail.value) + reactor.stop() + + +treq.get("https://localhost").addCallback(done).addErrback(err) +reactor.run() diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_twisted.py b/bsp/buildroot/support/testing/tests/package/sample_python_twisted.py new file mode 100644 index 00000000..47d6c5de --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_twisted.py @@ -0,0 +1,9 @@ +from twisted.internet import protocol, reactor, endpoints + + +class F(protocol.Factory): + pass + + +endpoints.serverFromString(reactor, "tcp:1234").listen(F()) +reactor.run() diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_txaio_asyncio.py b/bsp/buildroot/support/testing/tests/package/sample_python_txaio_asyncio.py new file mode 100644 index 00000000..77f11ed8 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_txaio_asyncio.py @@ -0,0 +1,3 @@ +import txaio +txaio.use_asyncio() +f0 = txaio.create_future() diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_txaio_twisted.py b/bsp/buildroot/support/testing/tests/package/sample_python_txaio_twisted.py new file mode 100644 index 00000000..13ea82a9 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_txaio_twisted.py @@ -0,0 +1,3 @@ +import txaio +txaio.use_twisted() +f0 = txaio.create_future() diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_txtorcon.py b/bsp/buildroot/support/testing/tests/package/sample_python_txtorcon.py new file mode 100644 index 00000000..c4a2ae6f --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_txtorcon.py @@ -0,0 +1 @@ +import txtorcon # noqa diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_ubjson_dec.py b/bsp/buildroot/support/testing/tests/package/sample_python_ubjson_dec.py new file mode 100644 index 00000000..12ccdfd5 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_ubjson_dec.py @@ -0,0 +1,10 @@ +import ubjson + +with open("/tmp/data.json", "rb") as f: + serialized = f.read() +data = ubjson.loadb(serialized) +print(data) +assert(data["name"] == "python-ubjson") +assert(data["versions"] == ["1", "2"]) +assert(data["group"]["is_a_package"] is True) +assert(data["group"]["value"] == 42) diff --git a/bsp/buildroot/support/testing/tests/package/sample_python_ubjson_enc.py b/bsp/buildroot/support/testing/tests/package/sample_python_ubjson_enc.py new file mode 100644 index 00000000..9a2140ef --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/sample_python_ubjson_enc.py @@ -0,0 +1,14 @@ +import ubjson + +data = { + "name": "python-ubjson", + "versions": ["1", "2"], + "group": { + "is_a_package": True, + "value": 42 + } +} +serialized = ubjson.dumpb(data) +print(serialized) +with open("/tmp/data.json", "wb") as f: + f.write(serialized) diff --git a/bsp/buildroot/support/testing/tests/package/test_atop.py b/bsp/buildroot/support/testing/tests/package/test_atop.py new file mode 100644 index 00000000..32c5a07c --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_atop.py @@ -0,0 +1,40 @@ +import os + +import infra.basetest + + +class TestAtop(infra.basetest.BRTest): + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_PACKAGE_ATOP=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + kernel = os.path.join(self.builddir, "images", "zImage") + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + dtb = os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb") + self.emulator.boot(arch="armv7", kernel=kernel, options=["-initrd", cpio_file, "-M", "vexpress-a9", "-dtb", dtb]) + self.emulator.login() + + cmd = "atop -V | grep '^Version'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + cmd = "atop -a 1 2 | grep '% *atop *$'" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) diff --git a/bsp/buildroot/support/testing/tests/package/test_docker_compose.py b/bsp/buildroot/support/testing/tests/package/test_docker_compose.py new file mode 100644 index 00000000..de53a3da --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_docker_compose.py @@ -0,0 +1,63 @@ +import os + +import infra.basetest + + +class TestDockerCompose(infra.basetest.BRTest): + config = \ + """ + BR2_x86_64=y + BR2_x86_core2=y + BR2_TOOLCHAIN_BUILDROOT_GLIBC=y + BR2_KERNEL_HEADERS_4_19=y + BR2_SYSTEM_DHCP="eth0" + BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_SCRIPT_ARGS="{}" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}" + BR2_PACKAGE_CA_CERTIFICATES=y + BR2_PACKAGE_CGROUPFS_MOUNT=y + BR2_PACKAGE_DOCKER_CLI=y + BR2_PACKAGE_DOCKER_COMPOSE=y + BR2_PACKAGE_DOCKER_ENGINE=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="512M" + # BR2_TARGET_ROOTFS_TAR is not set + """.format( + infra.filepath("tests/package/copy-sample-script-to-target.sh"), + infra.filepath("conf/docker-compose.yml"), + infra.filepath("conf/docker-compose-kernel.config")) + + def wait_for_dockerd(self): + # dockerd takes a while to start up + _, _ = self.emulator.run('while [ ! -e /var/run/docker.sock ]; do sleep 1; done', 120) + + def docker_test(self): + # will download container if not available, which may take some time + _, exit_code = self.emulator.run('docker run --rm busybox:latest /bin/true', 120) + self.assertEqual(exit_code, 0) + + def docker_compose_test(self): + # will download container if not available, which may take some time + _, exit_code = self.emulator.run('docker-compose up', 120) + self.assertEqual(exit_code, 0) + + def test_run(self): + kernel = os.path.join(self.builddir, "images", "bzImage") + rootfs = os.path.join(self.builddir, "images", "rootfs.ext2") + self.emulator.boot(arch="x86_64", + kernel=kernel, + kernel_cmdline=["root=/dev/vda", "console=ttyS0"], + options=["-cpu", "core2duo", + "-m", "512M", + "-device", "virtio-rng-pci", + "-drive", "file={},format=raw,if=virtio".format(rootfs), + "-net", "nic,model=virtio", + "-net", "user"]) + self.emulator.login() + self.wait_for_dockerd() + self.docker_test() + self.docker_compose_test() diff --git a/bsp/buildroot/support/testing/tests/package/test_dropbear.py b/bsp/buildroot/support/testing/tests/package/test_dropbear.py index 8f7f1fee..bfec8701 100644 --- a/bsp/buildroot/support/testing/tests/package/test_dropbear.py +++ b/bsp/buildroot/support/testing/tests/package/test_dropbear.py @@ -4,14 +4,16 @@ import infra.basetest class TestDropbear(infra.basetest.BRTest): + passwd = "testpwd" config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ - BR2_TARGET_GENERIC_ROOT_PASSWD="testpwd" + BR2_TARGET_GENERIC_ROOT_PASSWD="{}" BR2_SYSTEM_DHCP="eth0" BR2_PACKAGE_DROPBEAR=y + BR2_PACKAGE_SSHPASS=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set - """ + """.format(passwd) def test_run(self): img = os.path.join(self.builddir, "images", "rootfs.cpio") @@ -19,11 +21,12 @@ class TestDropbear(infra.basetest.BRTest): kernel="builtin", options=["-initrd", img, "-net", "nic", - "-net", "user,hostfwd=tcp::2222-:22"]) - self.emulator.login("testpwd") + "-net", "user"]) + self.emulator.login(self.passwd) cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:22" _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) - # Would be useful to try to login through SSH here, through - # localhost:2222, though it is not easy to pass the ssh - # password on the command line. + + cmd = "sshpass -p {} ssh -y localhost /bin/true".format(self.passwd) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) diff --git a/bsp/buildroot/support/testing/tests/package/test_lua.py b/bsp/buildroot/support/testing/tests/package/test_lua.py new file mode 100644 index 00000000..77358ba1 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_lua.py @@ -0,0 +1,59 @@ +import os + +import infra.basetest + + +class TestLuaBase(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + def version_test(self, version): + cmd = "lua -v" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn(version, output[0]) + + def g_version_test(self, expected): + cmd = "lua -e 'print(_G._VERSION)'" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertEqual(output[0], expected) + + def module_test(self, module, script="a=1"): + cmd = "lua -l {} -e '{}'".format(module, script) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestLua(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + """ + + def test_run(self): + self.login() + self.version_test('Lua 5.3') + self.g_version_test('Lua 5.3') + + +class TestLuajit(TestLuaBase): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + """ + + def test_run(self): + self.login() + self.version_test('LuaJIT 2') + self.g_version_test('Lua 5.1') diff --git a/bsp/buildroot/support/testing/tests/package/test_perl.py b/bsp/buildroot/support/testing/tests/package/test_perl.py new file mode 100644 index 00000000..033b7cf3 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl.py @@ -0,0 +1,66 @@ +import os + +import infra.basetest + + +class TestPerlBase(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def login(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + def module_test(self, module, script="1"): + cmd = "perl -M{} -e '{}'".format(module, script) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPerl(TestPerlBase): + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + """ + + def version_test(self): + cmd = "perl -v" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn("This is perl 5", output[1]) + + def core_modules_test(self): + self.module_test("Cwd") + self.module_test("Data::Dumper") + self.module_test("Devel::Peek") + self.module_test("Digest::MD5") + self.module_test("Digest::SHA") + self.module_test("Encode") + self.module_test("Fcntl") + self.module_test("File::Glob") + self.module_test("Hash::Util") + self.module_test("I18N::Langinfo") + self.module_test("IO::Handle") + self.module_test("IPC::SysV") + self.module_test("List::Util") + self.module_test("MIME::Base64") + self.module_test("POSIX") + self.module_test("Socket") + self.module_test("Storable") + self.module_test("Sys::Hostname") + self.module_test("Sys::Syslog") + self.module_test("Time::HiRes") + self.module_test("Time::Piece") + self.module_test("Unicode::Collate") + self.module_test("Unicode::Normalize") + + def test_run(self): + self.login() + self.version_test() + self.core_modules_test() diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_class_load.py b/bsp/buildroot/support/testing/tests/package/test_perl_class_load.py new file mode 100644 index 00000000..fbcd904a --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_class_load.py @@ -0,0 +1,28 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlClassLoad(TestPerlBase): + """ + package: + Class-Load + direct dependencies: + Data-OptList + Module-Implementation + Module-Runtime + Package-Stash + Try-Tiny + indirect dependencies: + Dist-CheckConflicts + Params-Util XS + Sub-Install + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_CLASS_LOAD=y + """ + + def test_run(self): + self.login() + self.module_test("Class::Load") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_dbd_mysql.py b/bsp/buildroot/support/testing/tests/package/test_perl_dbd_mysql.py new file mode 100644 index 00000000..f8fe832b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_dbd_mysql.py @@ -0,0 +1,21 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlDBDmysql(TestPerlBase): + """ + package: + DBD-mysql XS + direct dependencies: + DBI XS + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_DBD_MYSQL=y + """ + + def test_run(self): + self.login() + self.module_test("DBI") + self.module_test("DBD::mysql") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_encode_detect.py b/bsp/buildroot/support/testing/tests/package/test_perl_encode_detect.py new file mode 100644 index 00000000..4b33fee0 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_encode_detect.py @@ -0,0 +1,20 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlEncodeDetect(TestPerlBase): + """ + package: + Encode-Detect XS + direct dependencies: + Module-Build + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_ENCODE_DETECT=y + """ + + def test_run(self): + self.login() + self.module_test("Encode::Detect") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_gdgraph.py b/bsp/buildroot/support/testing/tests/package/test_perl_gdgraph.py new file mode 100644 index 00000000..23ddbca4 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_gdgraph.py @@ -0,0 +1,22 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlGDGraph(TestPerlBase): + """ + package: + GDGraph + direct dependencies: + GD XS + GDTextUtil + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_GDGRAPH=y + """ + + def test_run(self): + self.login() + self.module_test("GD") + self.module_test("GD::Graph") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_io_socket_multicast.py b/bsp/buildroot/support/testing/tests/package/test_perl_io_socket_multicast.py new file mode 100644 index 00000000..48a086a6 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_io_socket_multicast.py @@ -0,0 +1,21 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlIOSocketMulticast(TestPerlBase): + """ + package: + IO-Socket-Multicast XS + direct dependencies: + IO-Interface XS + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_IO_SOCKET_MULTICAST=y + """ + + def test_run(self): + self.login() + self.module_test("IO::Interface") + self.module_test("IO::Socket::Multicast") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_io_socket_ssl.py b/bsp/buildroot/support/testing/tests/package/test_perl_io_socket_ssl.py new file mode 100644 index 00000000..51663e83 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_io_socket_ssl.py @@ -0,0 +1,21 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlIOSocketSSL(TestPerlBase): + """ + package: + IO-Socket-SSL + direct dependencies: + Net-SSLeay XS + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_IO_SOCKET_SSL=y + """ + + def test_run(self): + self.login() + self.module_test("Net::SSLeay") + self.module_test("IO::Socket::SSL") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_libwww_perl.py b/bsp/buildroot/support/testing/tests/package/test_perl_libwww_perl.py new file mode 100644 index 00000000..af9f7c7e --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_libwww_perl.py @@ -0,0 +1,41 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerllibwwwperl(TestPerlBase): + """ + package: + libwww-perl + direct dependencies: + Encode-Locale + File-Listing + HTML-Parser XS + HTTP-Cookies + HTTP-Daemon + HTTP-Date + HTTP-Message + HTTP-Negotiate + LWP-MediaTypes + Net-HTTP + Try-Tiny + URI + WWW-RobotRules + indirect dependencies: + HTML-Tagset + IO-HTML + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_LIBWWW_PERL=y + """ + + def test_run(self): + self.login() + self.module_test("LWP") + self.module_test("LWP::UserAgent") + self.module_test("LWP::Authen::Basic") + self.module_test("LWP::Authen::Digest") + self.module_test("HTTP::Message") + self.module_test("HTTP::Daemon") + self.module_test("WWW::RobotRules") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_mail_dkim.py b/bsp/buildroot/support/testing/tests/package/test_perl_mail_dkim.py new file mode 100644 index 00000000..7affce82 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_mail_dkim.py @@ -0,0 +1,28 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlMailDKIM(TestPerlBase): + """ + package: + Mail-DKIM + direct dependencies: + Crypt-OpenSSL-RSA XS + MailTools + Net-DNS + Net-DNS-Resolver-Mock + YAML-LibYAML XS + indirect dependencies: + Crypt-OpenSSL-Random XS + Digest-HMAC + TimeDate + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_MAIL_DKIM=y + """ + + def test_run(self): + self.login() + self.module_test("Mail::DKIM") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_x10.py b/bsp/buildroot/support/testing/tests/package/test_perl_x10.py new file mode 100644 index 00000000..84feb74e --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_x10.py @@ -0,0 +1,22 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlX10(TestPerlBase): + """ + package: + X10 + direct dependencies: + Astro-SunTime + Device-SerialPort XS + Time-ParseDate + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_X10=y + """ + + def test_run(self): + self.login() + self.module_test("X10") diff --git a/bsp/buildroot/support/testing/tests/package/test_perl_xml_libxml.py b/bsp/buildroot/support/testing/tests/package/test_perl_xml_libxml.py new file mode 100644 index 00000000..faace5dd --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_perl_xml_libxml.py @@ -0,0 +1,22 @@ +from tests.package.test_perl import TestPerlBase + + +class TestPerlXMLLibXML(TestPerlBase): + """ + package: + XML-LibXML XS + direct dependencies: + XML-NamespaceSupport + XML-SAX + XML-SAX-Base + """ + + config = TestPerlBase.config + \ + """ + BR2_PACKAGE_PERL=y + BR2_PACKAGE_PERL_XML_LIBXML=y + """ + + def test_run(self): + self.login() + self.module_test("XML::LibXML") diff --git a/bsp/buildroot/support/testing/tests/package/test_prosody.py b/bsp/buildroot/support/testing/tests/package/test_prosody.py new file mode 100644 index 00000000..8ef8ff95 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_prosody.py @@ -0,0 +1,48 @@ +from tests.package.test_lua import TestLuaBase + + +class TestProsody(TestLuaBase): + def lua_dependencies_test(self): + self.module_test('bit') # luabitop + self.module_test('lfs') # luafilesystem + self.module_test('lxp') # luaexpat + self.module_test('socket') # luasocket + self.module_test('ssl') # luasec + + def prosody_test(self): + # prosody was launched as service + cmd = "prosodyctl status" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + self.assertIn("Prosody is running", output[0]) + + +class TestProsodyLua51(TestProsody): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUA=y + BR2_PACKAGE_LUA_5_1=y + BR2_PACKAGE_PROSODY=y + """ + + def test_run(self): + self.login() + self.version_test('Lua 5.1') + self.g_version_test('Lua 5.1') + self.lua_dependencies_test() + self.prosody_test() + + +class TestProsodyLuajit(TestProsody): + config = TestLuaBase.config + \ + """ + BR2_PACKAGE_LUAJIT=y + BR2_PACKAGE_PROSODY=y + """ + + def test_run(self): + self.login() + self.version_test('LuaJIT 2') + self.g_version_test('Lua 5.1') + self.lua_dependencies_test() + self.prosody_test() diff --git a/bsp/buildroot/support/testing/tests/package/test_python.py b/bsp/buildroot/support/testing/tests/package/test_python.py index 26cf4994..bcd363ad 100644 --- a/bsp/buildroot/support/testing/tests/package/test_python.py +++ b/bsp/buildroot/support/testing/tests/package/test_python.py @@ -68,3 +68,58 @@ class TestPython3(TestPythonBase): self.math_floor_test() self.libc_time_test() self.zlib_test() + + +class TestPythonPackageBase(TestPythonBase): + """Common class to test a python package. + + Build an image containing the scripts listed in sample_scripts, start the + emulator, login to it and for each sample script in the image run the python + interpreter passing the name of the script and check the status code is 0. + + Each test case that inherits from this class must have: + __test__ = True - to let nose2 know that it is a test case + config - defconfig fragment with the packages to run the test + It also can have: + sample_scripts - list of scripts to add to the image and run on the target + timeout - timeout to the script to run when the default from the + test infra is not enough + When custom commands need be issued on the target the method + run_sample_scripts can be overridden. + """ + + __test__ = False + config_sample_scripts = \ + """ + BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_SCRIPT_ARGS="{}" + """.format(infra.filepath("tests/package/copy-sample-script-to-target.sh"), + "{sample_scripts}") + sample_scripts = None + timeout = -1 + + def __init__(self, names): + """Add the scripts to the target in build time.""" + super(TestPythonPackageBase, self).__init__(names) + if self.sample_scripts: + scripts = [infra.filepath(s) for s in self.sample_scripts] + self.config += self.config_sample_scripts.format(sample_scripts=" ".join(scripts)) + + def check_sample_scripts_exist(self): + """Check the scripts were really added to the image.""" + scripts = [os.path.basename(s) for s in self.sample_scripts] + cmd = "md5sum " + " ".join(scripts) + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + def run_sample_scripts(self): + """Run each script previously added to the image.""" + for script in self.sample_scripts: + cmd = self.interpreter + " " + os.path.basename(script) + _, exit_code = self.emulator.run(cmd, timeout=self.timeout) + self.assertEqual(exit_code, 0) + + def test_run(self): + self.login() + self.check_sample_scripts_exist() + self.run_sample_scripts() diff --git a/bsp/buildroot/support/testing/tests/package/test_python_argh.py b/bsp/buildroot/support/testing/tests/package/test_python_argh.py new file mode 100644 index 00000000..de4b4cbe --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_argh.py @@ -0,0 +1,45 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonArgh(TestPythonPackageBase): + config = TestPythonPackageBase.config + sample_scripts = ["tests/package/sample_python_argh.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_argh.py -h" + output, exit_code = self.emulator.run(cmd) + self.assertIn("usage:", output[0]) + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.py 123" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "123, False") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.py --bar 456" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "456, True") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_argh.py" + output, exit_code = self.emulator.run(cmd) + self.assertIn("usage:", output[0]) + self.assertEqual(exit_code, 2) + + +class TestPythonPy2Argh(TestPythonArgh): + __test__ = True + config = TestPythonArgh.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_ARGH=y + """ + + +class TestPythonPy3Argh(TestPythonArgh): + __test__ = True + config = TestPythonArgh.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ARGH=y + """ diff --git a/bsp/buildroot/support/testing/tests/package/test_python_attrs.py b/bsp/buildroot/support/testing/tests/package/test_python_attrs.py new file mode 100644 index 00000000..9f597034 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_attrs.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Attrs(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_ATTRS=y + """ + sample_scripts = ["tests/package/sample_python_attrs.py"] + + +class TestPythonPy3Attrs(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_ATTRS=y + """ + sample_scripts = ["tests/package/sample_python_attrs.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_autobahn.py b/bsp/buildroot/support/testing/tests/package/test_python_autobahn.py new file mode 100644 index 00000000..af1f617d --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_autobahn.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Autobahn(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_AUTOBAHN=y + """ + sample_scripts = ["tests/package/sample_python_autobahn.py"] + + +class TestPythonPy3Autobahn(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AUTOBAHN=y + """ + sample_scripts = ["tests/package/sample_python_autobahn.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_automat.py b/bsp/buildroot/support/testing/tests/package/test_python_automat.py new file mode 100644 index 00000000..00a7ed65 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_automat.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Automat(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_AUTOMAT=y + """ + sample_scripts = ["tests/package/sample_python_automat.py"] + timeout = 30 + + +class TestPythonPy3Automat(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_AUTOMAT=y + """ + sample_scripts = ["tests/package/sample_python_automat.py"] + timeout = 30 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_bitstring.py b/bsp/buildroot/support/testing/tests/package/test_python_bitstring.py new file mode 100644 index 00000000..63b3fdb6 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_bitstring.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Bitstring(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_BITSTRING=y + """ + sample_scripts = ["tests/package/sample_python_bitstring.py"] + + +class TestPythonPy3Bitstring(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_BITSTRING=y + """ + sample_scripts = ["tests/package/sample_python_bitstring.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_cbor.py b/bsp/buildroot/support/testing/tests/package/test_python_cbor.py new file mode 100644 index 00000000..9da35037 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_cbor.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Cbor(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CBOR=y + """ + sample_scripts = ["tests/package/sample_python_cbor_enc.py", + "tests/package/sample_python_cbor_dec.py"] + + +class TestPythonPy3Cbor(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CBOR=y + """ + sample_scripts = ["tests/package/sample_python_cbor_enc.py", + "tests/package/sample_python_cbor_dec.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_click.py b/bsp/buildroot/support/testing/tests/package/test_python_click.py new file mode 100644 index 00000000..db57d3aa --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_click.py @@ -0,0 +1,44 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonClick(TestPythonPackageBase): + sample_scripts = ["tests/package/sample_python_click.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_click.py --help" + output, exit_code = self.emulator.run(cmd) + self.assertIn("Usage:", output[0]) + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_click.py 123" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "123, False") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_click.py --bar 456" + output, exit_code = self.emulator.run(cmd) + self.assertEqual(output[0], "456, True") + self.assertEqual(exit_code, 0) + + cmd = self.interpreter + " sample_python_click.py" + output, exit_code = self.emulator.run(cmd) + self.assertIn("Usage:", output[0]) + self.assertEqual(exit_code, 2) + + +class TestPythonPy2Click(TestPythonClick): + __test__ = True + config = TestPythonClick.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CLICK=y + """ + + +class TestPythonPy3Click(TestPythonClick): + __test__ = True + config = TestPythonClick.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CLICK=y + """ diff --git a/bsp/buildroot/support/testing/tests/package/test_python_constantly.py b/bsp/buildroot/support/testing/tests/package/test_python_constantly.py new file mode 100644 index 00000000..5be01c4f --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_constantly.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Constantly(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CONSTANTLY=y + """ + sample_scripts = ["tests/package/sample_python_constantly.py"] + + +class TestPythonPy3Constantly(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CONSTANTLY=y + """ + sample_scripts = ["tests/package/sample_python_constantly.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_crossbar.py b/bsp/buildroot/support/testing/tests/package/test_python_crossbar.py new file mode 100644 index 00000000..2d7b739b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_crossbar.py @@ -0,0 +1,14 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy3Crossbar(TestPythonPackageBase): + __test__ = True + # use haveged to generate enough entropy so crossbar -> pynacl -> libsodium don't hang waiting for /dev/random + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CROSSBAR=y + BR2_PACKAGE_HAVEGED=y + """ + sample_scripts = ["tests/package/sample_python_crossbar.py"] + timeout = 60 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_cryptography.py b/bsp/buildroot/support/testing/tests/package/test_python_cryptography.py new file mode 100644 index 00000000..14515fcd --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_cryptography.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Cryptography(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y + """ + sample_scripts = ["tests/package/sample_python_cryptography.py"] + timeout = 40 + + +class TestPythonPy3Cryptography(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_CRYPTOGRAPHY=y + """ + sample_scripts = ["tests/package/sample_python_cryptography.py"] + timeout = 40 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_incremental.py b/bsp/buildroot/support/testing/tests/package/test_python_incremental.py new file mode 100644 index 00000000..49800d89 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_incremental.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Incremental(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_INCREMENTAL=y + """ + sample_scripts = ["tests/package/sample_python_incremental.py"] + timeout = 30 + + +class TestPythonPy3Incremental(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_INCREMENTAL=y + """ + sample_scripts = ["tests/package/sample_python_incremental.py"] + timeout = 30 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_passlib.py b/bsp/buildroot/support/testing/tests/package/test_python_passlib.py new file mode 100644 index 00000000..7c85882b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_passlib.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Passlib(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PASSLIB=y + """ + sample_scripts = ["tests/package/sample_python_passlib.py"] + timeout = 30 + + +class TestPythonPy3Passlib(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PASSLIB=y + """ + sample_scripts = ["tests/package/sample_python_passlib.py"] + timeout = 30 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_pexpect.py b/bsp/buildroot/support/testing/tests/package/test_python_pexpect.py new file mode 100644 index 00000000..ba31cdbd --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_pexpect.py @@ -0,0 +1,21 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Pexpect(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PEXPECT=y + """ + sample_scripts = ["tests/package/sample_python_pexpect.py"] + + +class TestPythonPy3Pexpect(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PEXPECT=y + """ + sample_scripts = ["tests/package/sample_python_pexpect.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_pynacl.py b/bsp/buildroot/support/testing/tests/package/test_python_pynacl.py new file mode 100644 index 00000000..729a8875 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_pynacl.py @@ -0,0 +1,27 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Pynacl(TestPythonPackageBase): + __test__ = True + # use haveged to generate enough entropy so pynacl -> libsodium don't hang waiting for /dev/random + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PYNACL=y + BR2_PACKAGE_HAVEGED=y + """ + sample_scripts = ["tests/package/sample_python_pynacl.py"] + timeout = 10 + + +class TestPythonPy3Pynacl(TestPythonPackageBase): + __test__ = True + # use haveged to generate enough entropy so pynacl -> libsodium don't hang waiting for /dev/random + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYNACL=y + BR2_PACKAGE_HAVEGED=y + """ + sample_scripts = ["tests/package/sample_python_pynacl.py"] + timeout = 10 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_pyyaml.py b/bsp/buildroot/support/testing/tests/package/test_python_pyyaml.py new file mode 100644 index 00000000..cd45a57b --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_pyyaml.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Pyyaml(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_PYYAML=y + """ + sample_scripts = ["tests/package/sample_python_pyyaml_enc.py", + "tests/package/sample_python_pyyaml_dec.py"] + + +class TestPythonPy3Pyyaml(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_PYYAML=y + """ + sample_scripts = ["tests/package/sample_python_pyyaml_enc.py", + "tests/package/sample_python_pyyaml_dec.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_service_identity.py b/bsp/buildroot/support/testing/tests/package/test_python_service_identity.py new file mode 100644 index 00000000..6aeb77de --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_service_identity.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2ServiceIdentity(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_SERVICE_IDENTITY=y + """ + sample_scripts = ["tests/package/sample_python_service_identity.py"] + timeout = 30 + + +class TestPythonPy3ServiceIdentity(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_SERVICE_IDENTITY=y + """ + sample_scripts = ["tests/package/sample_python_service_identity.py"] + timeout = 30 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_subprocess32.py b/bsp/buildroot/support/testing/tests/package/test_python_subprocess32.py new file mode 100644 index 00000000..d2878046 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_subprocess32.py @@ -0,0 +1,11 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Subprocess32(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_SUBPROCESS32=y + """ + sample_scripts = ["tests/package/sample_python_subprocess32.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_treq.py b/bsp/buildroot/support/testing/tests/package/test_python_treq.py new file mode 100644 index 00000000..7108b956 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_treq.py @@ -0,0 +1,29 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonTreq(TestPythonPackageBase): + sample_scripts = ["tests/package/sample_python_treq.py"] + + def run_sample_scripts(self): + cmd = self.interpreter + " sample_python_treq.py" + output, exit_code = self.emulator.run(cmd, timeout=20) + self.assertIn("Connection refused", output[0]) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Treq(TestPythonTreq): + __test__ = True + config = TestPythonTreq.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TREQ=y + """ + + +class TestPythonPy3Treq(TestPythonTreq): + __test__ = True + config = TestPythonTreq.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TREQ=y + """ diff --git a/bsp/buildroot/support/testing/tests/package/test_python_twisted.py b/bsp/buildroot/support/testing/tests/package/test_python_twisted.py new file mode 100644 index 00000000..a458ee45 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_twisted.py @@ -0,0 +1,39 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonTwisted(TestPythonPackageBase): + config = TestPythonPackageBase.config + sample_scripts = ["tests/package/sample_python_twisted.py"] + + def run_sample_scripts(self): + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 1) + + cmd = self.interpreter + " sample_python_twisted.py &" + # give some time to setup the server + cmd += "sleep 30" + _, exit_code = self.emulator.run(cmd, timeout=35) + self.assertEqual(exit_code, 0) + + cmd = "netstat -ltn 2>/dev/null | grep 0.0.0.0:1234" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + +class TestPythonPy2Twisted(TestPythonTwisted): + __test__ = True + config = TestPythonTwisted.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + + +class TestPythonPy3Twisted(TestPythonTwisted): + __test__ = True + config = TestPythonTwisted.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ diff --git a/bsp/buildroot/support/testing/tests/package/test_python_txaio.py b/bsp/buildroot/support/testing/tests/package/test_python_txaio.py new file mode 100644 index 00000000..7bff1bc2 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_txaio.py @@ -0,0 +1,22 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Txaio(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TXAIO=y + BR2_PACKAGE_PYTHON_TWISTED=y + """ + sample_scripts = ["tests/package/sample_python_txaio_twisted.py"] + + +class TestPythonPy3Txaio(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TXAIO=y + """ + sample_scripts = ["tests/package/sample_python_txaio_asyncio.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_python_txtorcon.py b/bsp/buildroot/support/testing/tests/package/test_python_txtorcon.py new file mode 100644 index 00000000..1ac2f691 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_txtorcon.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Txtorcon(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_TXTORCON=y + """ + sample_scripts = ["tests/package/sample_python_txtorcon.py"] + timeout = 30 + + +class TestPythonPy3Txtorcon(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_TXTORCON=y + """ + sample_scripts = ["tests/package/sample_python_txtorcon.py"] + timeout = 30 diff --git a/bsp/buildroot/support/testing/tests/package/test_python_ubjson.py b/bsp/buildroot/support/testing/tests/package/test_python_ubjson.py new file mode 100644 index 00000000..85c707e2 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_python_ubjson.py @@ -0,0 +1,23 @@ +from tests.package.test_python import TestPythonPackageBase + + +class TestPythonPy2Ubjson(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON=y + BR2_PACKAGE_PYTHON_UBJSON=y + """ + sample_scripts = ["tests/package/sample_python_ubjson_enc.py", + "tests/package/sample_python_ubjson_dec.py"] + + +class TestPythonPy3Ubjson(TestPythonPackageBase): + __test__ = True + config = TestPythonPackageBase.config + \ + """ + BR2_PACKAGE_PYTHON3=y + BR2_PACKAGE_PYTHON_UBJSON=y + """ + sample_scripts = ["tests/package/sample_python_ubjson_enc.py", + "tests/package/sample_python_ubjson_dec.py"] diff --git a/bsp/buildroot/support/testing/tests/package/test_rust.py b/bsp/buildroot/support/testing/tests/package/test_rust.py index 2dc814f9..9854c369 100644 --- a/bsp/buildroot/support/testing/tests/package/test_rust.py +++ b/bsp/buildroot/support/testing/tests/package/test_rust.py @@ -57,25 +57,25 @@ class TestRustBase(infra.basetest.BRTest): class TestRustBin(TestRustBase): config = \ - """ - BR2_arm=y - BR2_cortex_a9=y - BR2_ARM_ENABLE_NEON=y - BR2_ARM_ENABLE_VFP=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - BR2_SYSTEM_DHCP="eth0" - BR2_LINUX_KERNEL=y - BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" - BR2_LINUX_KERNEL_DEFCONFIG="vexpress" - BR2_LINUX_KERNEL_DTS_SUPPORT=y - BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" - BR2_TARGET_ROOTFS_CPIO=y - # BR2_TARGET_ROOTFS_TAR is not set - BR2_PACKAGE_HOST_CARGO=y - BR2_PACKAGE_HOST_RUSTC=y - """ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_CARGO=y + BR2_PACKAGE_HOST_RUSTC=y + """ def test_run(self): self.build_test_prog() @@ -86,26 +86,26 @@ class TestRustBin(TestRustBase): class TestRust(TestRustBase): config = \ - """ - BR2_arm=y - BR2_cortex_a9=y - BR2_ARM_ENABLE_NEON=y - BR2_ARM_ENABLE_VFP=y - BR2_TOOLCHAIN_EXTERNAL=y - BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" - BR2_SYSTEM_DHCP="eth0" - BR2_LINUX_KERNEL=y - BR2_LINUX_KERNEL_CUSTOM_VERSION=y - BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" - BR2_LINUX_KERNEL_DEFCONFIG="vexpress" - BR2_LINUX_KERNEL_DTS_SUPPORT=y - BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" - BR2_TARGET_ROOTFS_CPIO=y - # BR2_TARGET_ROOTFS_TAR is not set - BR2_PACKAGE_HOST_CARGO=y - BR2_PACKAGE_HOST_RUSTC=y - BR2_PACKAGE_HOST_RUST=y - """ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_NEON=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" + BR2_SYSTEM_DHCP="eth0" + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11.3" + BR2_LINUX_KERNEL_DEFCONFIG="vexpress" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9" + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_PACKAGE_HOST_CARGO=y + BR2_PACKAGE_HOST_RUSTC=y + BR2_PACKAGE_HOST_RUST=y + """ def test_run(self): self.build_test_prog() diff --git a/bsp/buildroot/support/testing/tests/package/test_syslog_ng.py b/bsp/buildroot/support/testing/tests/package/test_syslog_ng.py new file mode 100644 index 00000000..0155ef14 --- /dev/null +++ b/bsp/buildroot/support/testing/tests/package/test_syslog_ng.py @@ -0,0 +1,34 @@ +import os + +import infra.basetest + + +class TestSyslogNg(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y + BR2_PACKAGE_SYSLOG_NG=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", kernel="builtin", options=["-initrd", cpio_file]) + self.emulator.login() + + cmd = "grep syslog-ng /var/log/messages | grep starting" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + cmd = "logger my-message;" + cmd += "sleep 1;" + cmd += "grep my-message /var/log/messages" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 0) + + cmd = "syslog-ng-ctl reload;" + cmd += "sleep 1;" + cmd += "grep syslog-ng /var/log/messages | grep -i warning" + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 1) diff --git a/bsp/buildroot/system/Config.in b/bsp/buildroot/system/Config.in index d48cf8d8..498b56e2 100644 --- a/bsp/buildroot/system/Config.in +++ b/bsp/buildroot/system/Config.in @@ -31,10 +31,6 @@ config BR2_ROOTFS_SKELETON_CUSTOM_PATH help Path to custom target skeleton. -# dummy config so merged /usr workarounds can also be activated for -# custom rootfs skeleton -config BR2_ROOTFS_MERGED_USR - endif if BR2_ROOTFS_SKELETON_DEFAULT @@ -61,40 +57,22 @@ endif choice bool "Passwords encoding" - default BR2_TARGET_GENERIC_PASSWD_MD5 + default BR2_TARGET_GENERIC_PASSWD_SHA256 help Choose the password encoding scheme to use when Buildroot needs to encode a password (eg. the root password, below). Note: this is used at build-time, and *not* at runtime. -config BR2_TARGET_GENERIC_PASSWD_MD5 - bool "md5" - help - Use MD5 to encode passwords. - - The default. Wildly available, and pretty good. - Although pretty strong, MD5 is now an old hash function, and - suffers from some weaknesses, which makes it susceptible to - brute-force attacks. - config BR2_TARGET_GENERIC_PASSWD_SHA256 bool "sha-256" help - Use SHA256 to encode passwords. - - Very strong, but not ubiquitous, although available in glibc - for some time now. Choose only if you are sure your C library - understands SHA256 passwords. + Use SHA256 to encode passwords which is stronger than MD5. config BR2_TARGET_GENERIC_PASSWD_SHA512 bool "sha-512" help - Use SHA512 to encode passwords. - - Extremely strong, but not ubiquitous, although available in glibc - for some time now. Choose only if you are sure your C library - understands SHA512 passwords. + Use SHA512 to encode passwords which is stronger than SHA256 endchoice # Passwd encoding @@ -128,8 +106,6 @@ config BR2_INIT_SYSTEMD bool "systemd" depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_USES_GLIBC - depends on BR2_USE_WCHAR - depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_TOOLCHAIN_HAS_SSP depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS @@ -137,9 +113,12 @@ config BR2_INIT_SYSTEMD select BR2_ROOTFS_MERGED_USR select BR2_PACKAGE_SYSTEMD -comment "systemd needs a glibc toolchain, headers >= 3.10" - depends on !(BR2_TOOLCHAIN_USES_GLIBC \ - && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10) +comment "systemd needs a glibc toolchain w/ SSP, headers >= 3.10" + depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_HAS_SSP || \ + !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 config BR2_INIT_NONE bool "None" @@ -209,8 +188,6 @@ config BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES help Support extended attributes handling in device tables -if BR2_ROOTFS_SKELETON_DEFAULT - config BR2_ROOTFS_MERGED_USR bool "Use symlinks to /usr for /bin, /sbin and /lib" help @@ -219,9 +196,11 @@ config BR2_ROOTFS_MERGED_USR is the historical UNIX way. In this case, /usr can be a filesystem on a partition separate from / . - If you say 'y' here, then /bin, /sbin and /lib will be symlinks - to their counterparts in /usr. In this case, /usr can not be a - separate filesystem. + If you say 'y' here, then /bin, /sbin and /lib will be + symlinks to their counterparts in /usr. In this case, /usr can + not be a separate filesystem. + +if BR2_ROOTFS_SKELETON_DEFAULT config BR2_TARGET_ENABLE_ROOT_LOGIN bool "Enable root login with password" @@ -230,10 +209,10 @@ config BR2_TARGET_ENABLE_ROOT_LOGIN help Allow root to log in with a password. - If not enabled, root will not be able to log in with a password. - However, if you have an ssh server and you add an ssh key, you - can still allow root to log in. Alternatively, you can use sudo - to become root. + If not enabled, root will not be able to log in with a + password. However, if you have an ssh server and you add an + ssh key, you can still allow root to log in. Alternatively, + you can use sudo to become root. config BR2_TARGET_GENERIC_ROOT_PASSWD string "Root password" @@ -242,25 +221,28 @@ config BR2_TARGET_GENERIC_ROOT_PASSWD help Set the initial root password. - If set to empty (the default), then no root password will be set, - and root will need no password to log in. + If set to empty (the default), then no root password will be + set, and root will need no password to log in. - If the password starts with any of $1$, $5$ or $6$, it is considered - to be already crypt-encoded with respectively md5, sha256 or sha512. - Any other value is taken to be a clear-text value, and is crypt-encoded - as per the "Passwords encoding" scheme, above. + If the password starts with any of $1$, $5$ or $6$, it is + considered to be already crypt-encoded with respectively md5, + sha256 or sha512. Any other value is taken to be a clear-text + value, and is crypt-encoded as per the "Passwords encoding" + scheme, above. - Note: "$" signs in the hashed password must be doubled. For example, - if the hashed password is "$1$longsalt$v35DIIeMo4yUfI23yditq0", - then you must enter it as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0" - (this is necessary otherwise make would attempt to interpret the $ - as a variable expansion). + Note: "$" signs in the hashed password must be doubled. For + example, if the hashed password is + "$1$longsalt$v35DIIeMo4yUfI23yditq0", then you must enter it + as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0" (this is necessary + otherwise make would attempt to interpret the $ as a variable + expansion). WARNING! WARNING! The password appears as-is in the .config file, and may appear - in the build log! Avoid using a valuable password if either the - .config file or the build log may be distributed, or at the - very least use a strong cryptographic hash for your password! + in the build log! Avoid using a valuable password if either + the .config file or the build log may be distributed, or at + the very least use a strong cryptographic hash for your + password! choice bool "/bin/sh" @@ -375,10 +357,10 @@ config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW default y help The root filesystem is typically mounted read-only at boot. - By default, buildroot remounts it in read-write mode early during the - boot process. - Say no here if you would rather like your root filesystem to remain - read-only. + By default, buildroot remounts it in read-write mode early + during the boot process. + Say no here if you would rather like your root filesystem to + remain read-only. If unsure, say Y. config BR2_SYSTEM_DHCP @@ -391,14 +373,25 @@ config BR2_SYSTEM_DHCP If left empty, no automatic DHCP requests will take place. - For more complicated network setups use an overlay to overwrite - /etc/network/interfaces or add a networkd configuration file. + For more complicated network setups use an overlay to + overwrite /etc/network/interfaces or add a networkd + configuration file. comment "automatic network configuration via DHCP needs ifupdown or busybox or networkd" depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || BR2_PACKAGE_SYSTEMD_NETWORKD) endif # BR2_ROOTFS_SKELETON_DEFAULT +config BR2_SYSTEM_DEFAULT_PATH + string "Set the system's default PATH" + default "/bin:/sbin:/usr/bin:/usr/sbin" + help + Sets the system's default PATH. It is being used in + /etc/profile in the skeleton-init-common package and by some + daemons. + + The default should work in most cases. + config BR2_ENABLE_LOCALE_PURGE bool "Purge unwanted locales" default y @@ -468,18 +461,19 @@ config BR2_TARGET_TZ_ZONELIST help Space-separated list of time zones to compile. - The value "default" includes all commonly used time zones. Note - that this set consumes around 5.5M for glibc and 2.1M for uClibc. + The value "default" includes all commonly used time zones. + Note that this set consumes around 5.5M for glibc and 2.1M for + uClibc. - The full list is the list of files in the time zone database source, - not including the build and .tab files. + The full list is the list of files in the time zone database + source, not including the build and .tab files. config BR2_TARGET_LOCALTIME string "default local time" default "Etc/UTC" help - The time zone to install as the default local time, expressed as a - tzdata location, such as: + The time zone to install as the default local time, expressed + as a tzdata location, such as: Etc/UTC (the default) GMT Europe/Paris @@ -506,24 +500,24 @@ config BR2_ROOTFS_OVERLAY root filesystem after the build has finished and before it is packed into the selected filesystem images. - They are copied as-is into the rootfs, excluding files ending with - ~ and .git, .svn and .hg directories. + They are copied as-is into the rootfs, excluding files ending + with ~ and .git, .svn and .hg directories. config BR2_ROOTFS_POST_BUILD_SCRIPT string "Custom scripts to run before creating filesystem images" default "" help - Specify a space-separated list of scripts to be run after the build - has finished and before Buildroot starts packing the files into - selected filesystem images. + Specify a space-separated list of scripts to be run after the + build has finished and before Buildroot starts packing the + files into selected filesystem images. - This gives users the opportunity to do board-specific cleanups, - add-ons and the like, so the generated files can be used directly - without further processing. + This gives users the opportunity to do board-specific + cleanups, add-ons and the like, so the generated files can be + used directly without further processing. - These scripts are called with the target directory name as first - argument. Make sure the exit code of those scripts are 0, otherwise - make will stop after calling them. + These scripts are called with the target directory name as + first argument. Make sure the exit code of those scripts are + 0, otherwise make will stop after calling them. config BR2_ROOTFS_POST_FAKEROOT_SCRIPT string "Custom scripts to run inside the fakeroot environment" @@ -548,8 +542,9 @@ config BR2_ROOTFS_POST_FAKEROOT_SCRIPT to create arbitrary entries statically in /dev - BR2_ROOTFS_DEVICE_TABLE - to set arbitrary permissions as well as extended attributes - (such as capabilities) on files and directories, + to set arbitrary permissions as well as extended + attributes (such as capabilities) on files and + directories, - BR2_ROOTFS_USERS_TABLES: to create arbitrary users and their home directories @@ -581,16 +576,16 @@ config BR2_ROOTFS_POST_SCRIPT_ARGS || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \ || BR2_ROOTFS_POST_IMAGE_SCRIPT != "" help - Pass these additional arguments to each post-build or post-image - scripts. + Pass these additional arguments to each post-build or + post-image scripts. - Note that all the post-build and post-image scripts will be passed - the same set of arguments, you can not pass different arguments to - each script. + Note that all the post-build and post-image scripts will be + passed the same set of arguments, you can not pass different + arguments to each script. - Note also, as stated in their respective help text, that the first - argument to each post-build or post-image script is the target - directory / images directory. The arguments in this option will be - passed *after* those. + Note also, as stated in their respective help text, that the + first argument to each post-build or post-image script is the + target directory / images directory. The arguments in this + option will be passed *after* those. endmenu diff --git a/bsp/buildroot/system/skeleton/dev/fd b/bsp/buildroot/system/skeleton/dev/fd new file mode 120000 index 00000000..10e8ab73 --- /dev/null +++ b/bsp/buildroot/system/skeleton/dev/fd @@ -0,0 +1 @@ +../proc/self/fd \ No newline at end of file diff --git a/bsp/buildroot/system/skeleton/dev/stderr b/bsp/buildroot/system/skeleton/dev/stderr new file mode 120000 index 00000000..c67586eb --- /dev/null +++ b/bsp/buildroot/system/skeleton/dev/stderr @@ -0,0 +1 @@ +../proc/self/fd/2 \ No newline at end of file diff --git a/bsp/buildroot/system/skeleton/dev/stdin b/bsp/buildroot/system/skeleton/dev/stdin new file mode 120000 index 00000000..2825dc0f --- /dev/null +++ b/bsp/buildroot/system/skeleton/dev/stdin @@ -0,0 +1 @@ +../proc/self/fd/0 \ No newline at end of file diff --git a/bsp/buildroot/system/skeleton/dev/stdout b/bsp/buildroot/system/skeleton/dev/stdout new file mode 120000 index 00000000..35e0f620 --- /dev/null +++ b/bsp/buildroot/system/skeleton/dev/stdout @@ -0,0 +1 @@ +../proc/self/fd/1 \ No newline at end of file diff --git a/bsp/buildroot/system/skeleton/etc/profile b/bsp/buildroot/system/skeleton/etc/profile index 1255d23f..db29e449 100644 --- a/bsp/buildroot/system/skeleton/etc/profile +++ b/bsp/buildroot/system/skeleton/etc/profile @@ -1,4 +1,4 @@ -export PATH=/bin:/sbin:/usr/bin:/usr/sbin +export PATH=@PATH@ if [ "$PS1" ]; then if [ "`id -u`" -eq 0 ]; then diff --git a/bsp/buildroot/system/system.mk b/bsp/buildroot/system/system.mk index ca6bf138..8db87cb1 100644 --- a/bsp/buildroot/system/system.mk +++ b/bsp/buildroot/system/system.mk @@ -86,3 +86,7 @@ define SYSTEM_REMOUNT_ROOT_INITTAB $(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab endef endif + +ifeq ($(BR_BUILDING)$(BR2_SYSTEM_DEFAULT_PATH),y"") +$(error BR2_SYSTEM_DEFAULT_PATH can't be empty) +endif diff --git a/bsp/buildroot/toolchain/Config.in b/bsp/buildroot/toolchain/Config.in index bf1166b6..bcbc3cf9 100644 --- a/bsp/buildroot/toolchain/Config.in +++ b/bsp/buildroot/toolchain/Config.in @@ -15,11 +15,16 @@ config BR2_TOOLCHAIN_USES_GLIBC select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_NPTL - select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS + select BR2_TOOLCHAIN_HAS_UCONTEXT select BR2_TOOLCHAIN_SUPPORTS_PIE config BR2_TOOLCHAIN_USES_UCLIBC bool + # ucontext is only available for a subset of the supported + # architectures + select BR2_TOOLCHAIN_HAS_UCONTEXT if BR2_ARM_CPU_HAS_ARM || BR2_i386 \ + || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el \ + || BR2_sparc || BR2_x86_64 select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_m68k && !BR2_microblaze && !BR2_STATIC_LIBS config BR2_TOOLCHAIN_USES_MUSL @@ -29,6 +34,7 @@ config BR2_TOOLCHAIN_USES_MUSL select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_THREADS_NPTL + select BR2_TOOLCHAIN_HAS_UCONTEXT select BR2_TOOLCHAIN_SUPPORTS_PIE if !BR2_STATIC_LIBS choice @@ -42,7 +48,6 @@ choice config BR2_TOOLCHAIN_BUILDROOT bool "Buildroot toolchain" - select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS depends on BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT config BR2_TOOLCHAIN_EXTERNAL @@ -56,6 +61,555 @@ endchoice source "toolchain/toolchain-buildroot/Config.in" source "toolchain/toolchain-external/Config.in" -source "toolchain/toolchain-common.in" + +# Generic toolchain options + +# we want gdb config in the middle of both source and external +# toolchains, but mconf won't let us source the same file twice, +# so put it here instead +source "package/gdb/Config.in.host" + +comment "Toolchain Generic Options" + +# https://sourceware.org/bugzilla/show_bug.cgi?id=19615 +# Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1). +config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 + bool + +# https://sourceware.org/bugzilla/show_bug.cgi?id=20006 +# Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1). +config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 + bool + +# Atomic types can be: +# - never lock-free +# - sometimes lock-free +# - always lock-free +# see https://en.cppreference.com/w/c/atomic/ATOMIC_LOCK_FREE_consts +# +# On most architectures, gcc provides "always lock-free" atomic types, +# but a few architectures are limited to "sometimes lock-free" +# types. This hidden option allows to know if the architecture +# provides "always lock-free" atomic types. +config BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS + bool + default y + depends on !BR2_nios2 + depends on !BR2_ARM_CPU_ARMV4 + depends on !BR2_ARM_CPU_ARMV5 + depends on !BR2_sparc_v8 + depends on !BR2_m68k_cf5208 + +# GCC uses thunk functions to adjust the 'this' pointer when calling +# C++ member functions in classes derived with multiple inheritance. +# Generation of thunk functions requires support from the compiler +# back end. In the absence of that support target-independent code +# in the C++ front end is used to generate thunk functions, but it +# does not support vararg functions. +# or1k will support it in the gcc mainline starting with gcc-9. +config BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK + bool + default y + depends on !BR2_or1k + depends on !BR2_xtensa + +# Prior to gcc 7.x, exception_ptr, nested_exception and future from +# libstdc++ would only be provided on architectures that support +# always lock-free atomic ints. See +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735. This issue has +# been removed in GCC 7.x, where exception propagation is now +# supported without lock-free atomic int. +config BR2_TOOLCHAIN_HAS_GCC_BUG_64735 + bool + default y if !BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS && \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. This bug no +# longer exists in gcc 8.x. +config BR2_TOOLCHAIN_HAS_GCC_BUG_85180 + bool + default y if BR2_microblaze + +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85862 +# An infinite loop exists in the find_base_term() logic of 6.x +# on microblaze. http://autobuild.buildroot.net/results/158e8ebb39713e1b436a5cc1a1916f46c30694df/ +config BR2_TOOLCHAIN_HAS_GCC_BUG_85862 + bool + default y if BR2_microblaze + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 + +config BR2_TOOLCHAIN_HAS_NATIVE_RPC + bool + +config BR2_USE_WCHAR + bool + +config BR2_ENABLE_LOCALE + bool + +config BR2_INSTALL_LIBSTDCPP + bool + +config BR2_TOOLCHAIN_HAS_FORTRAN + bool + +config BR2_TOOLCHAIN_HAS_THREADS + bool + +config BR2_TOOLCHAIN_HAS_THREADS_DEBUG + bool + +config BR2_TOOLCHAIN_HAS_THREADS_NPTL + bool + +config BR2_TOOLCHAIN_HAS_SSP + bool + +config BR2_TOOLCHAIN_HAS_UCONTEXT + bool + +config BR2_TOOLCHAIN_SUPPORTS_PIE + bool + +config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY + bool "Copy gconv libraries" + depends on BR2_TOOLCHAIN_USES_GLIBC + help + The gconv libraries are used to convert between different + character sets (charsets). + + Say 'y' if you need to store and/or display different + charsets. + +config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST + string "Gconv libraries to copy" + depends on BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY + help + Set to the list of gconv libraries to copy. + Leave empty to copy all gconv libraries. + + Specify only the basename of the libraries, leave + out the .so extension. Eg.: + IBM850 ISO8859-15 UNICODE + + Note: the full set of gconv libs are ~8MiB (on ARM). + +# This boolean is true if the toolchain provides a built-in full +# featured gettext implementation (glibc), and false if only a stub +# gettext implementation is provided (uclibc, musl) +config BR2_TOOLCHAIN_HAS_FULL_GETTEXT + bool + +config BR2_USE_MMU + bool "Enable MMU support" if BR2_ARCH_HAS_MMU_OPTIONAL + default y if BR2_ARCH_HAS_MMU_OPTIONAL || BR2_ARCH_HAS_MMU_MANDATORY + help + If your target has a MMU, you should say Y here. If you + are unsure, just say Y. + +config BR2_TARGET_OPTIMIZATION + string "Target Optimizations" + default "" + help + Optimizations to use when building for the target host. + NOTE: gcc optimization level is defined in build options. + +config BR2_TARGET_LDFLAGS + string "Target linker options" + help + Extra options to pass to the linker when building for the + target. + + Note that options with a '$' sign (eg. + -Wl,-rpath='$ORIGIN/../lib') are not supported. + +config BR2_ECLIPSE_REGISTER + bool "Register toolchain within Eclipse Buildroot plug-in" + help + This options tells Buildroot to generate the necessary + configuration files to make your toolchain appear within + Eclipse, through the Eclipse Buildroot plugin. + +# Options for packages to depend on, if they require at least a +# specific version of the kernel headers. +# Toolchains should choose the adequate option (ie. the highest +# version, not all of them). +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + bool + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + +# This order guarantees that the highest version is set, as kconfig +# stops affecting a value on the first matching default. +config BR2_TOOLCHAIN_HEADERS_AT_LEAST + string + default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + default "4.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 + default "4.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 + default "4.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + default "4.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 + default "4.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 + default "4.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 + default "4.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 + default "4.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + default "4.9" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 + default "4.8" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 + default "4.7" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 + default "4.6" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 + default "4.5" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 + default "4.4" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 + default "4.3" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 + default "4.2" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 + default "4.1" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 + default "4.0" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 + default "3.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 + default "3.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 + default "3.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 + default "3.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 + default "3.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 + default "3.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 + default "3.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 + default "3.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 + default "3.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 + default "3.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 + default "3.9" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 + default "3.8" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 + default "3.7" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 + default "3.6" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 + default "3.5" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 + default "3.4" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 + default "3.3" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 + default "3.2" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 + default "3.1" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 + default "3.0" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 + default "2.6" + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 + bool + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_5 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_6 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_5 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_7 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + +config BR2_TOOLCHAIN_GCC_AT_LEAST_8 + bool + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 + +# This order guarantees that the highest version is set, as kconfig +# stops affecting a value on the first matching default. +config BR2_TOOLCHAIN_GCC_AT_LEAST + string + default "8" if BR2_TOOLCHAIN_GCC_AT_LEAST_8 + default "7" if BR2_TOOLCHAIN_GCC_AT_LEAST_7 + default "6" if BR2_TOOLCHAIN_GCC_AT_LEAST_6 + default "5" if BR2_TOOLCHAIN_GCC_AT_LEAST_5 + default "4.9" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + default "4.8" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + default "4.7" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + default "4.6" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 + default "4.5" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + default "4.4" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 + default "4.3" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 + +config BR2_TOOLCHAIN_HAS_MNAN_OPTION + bool + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + +config BR2_TOOLCHAIN_HAS_SYNC_1 + bool + default y + depends on !BR2_m68k_cf + depends on !BR2_microblaze + depends on !BR2_sparc + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) + +config BR2_TOOLCHAIN_HAS_SYNC_2 + bool + default y if BR2_TOOLCHAIN_HAS_SYNC_1 + +config BR2_TOOLCHAIN_HAS_SYNC_4 + bool + default y + depends on !BR2_m68k_cf + depends on !BR2_sparc + depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) + +# The availability of __sync for 8-byte types on ARM is somewhat +# complicated: +# +# - It appeared in gcc starting with gcc 4.7. +# +# - On ARMv7, there is no problem, it can be directly implemented in +# userspace. +# +# - On < ARMv7, it requires help from the kernel. Unfortunately, the +# libgcc code implementing 8-byte __sync with the help from the +# kernel calls __write() when a failure occurs, which is a function +# internal to glibc, not available in uClibc and musl. This means +# that the 8-byte __sync operations are not available on < ARMv7 +# with uClibc and musl. This problem was fixed as part of gcc +# PR68059, which was backported to the gcc 5 branch, but isn't yet +# part of any gcc 5.x release. +# +config BR2_TOOLCHAIN_ARM_HAS_SYNC_8 + bool + default y + depends on BR2_arm || BR2_armeb + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_ARM_CPU_ARMV7A + +# 8-byte intrinsics available on most x86 CPUs, except a few old ones +config BR2_TOOLCHAIN_X86_HAS_SYNC_8 + bool + default y + depends on BR2_i386 + depends on !BR2_x86_i486 + depends on !BR2_x86_c3 + depends on !BR2_x86_winchip_c6 + depends on !BR2_x86_winchip2 + +# 8-byte intrinsics available: +# - On all 64 bits architecture +# - On a certain combinations of ARM platforms +# - On certain x86 32 bits CPUs +config BR2_TOOLCHAIN_HAS_SYNC_8 + bool + default y if BR2_ARCH_IS_64 + default y if BR2_TOOLCHAIN_ARM_HAS_SYNC_8 + default y if BR2_TOOLCHAIN_X86_HAS_SYNC_8 + +# libatomic is available since gcc 4.8, when thread support is +# enabled. Also, libatomic doesn't recognize "uclinux" as a valid OS +# part of the tuple, and is therefore not build on uclinux targets, +# which is why BR2_BINFMT_FLAT configurations are excluded. +config BR2_TOOLCHAIN_HAS_LIBATOMIC + bool + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \ + BR2_TOOLCHAIN_HAS_THREADS && \ + !BR2_BINFMT_FLAT + +# __atomic intrinsics are available: +# - with gcc 4.8, either through built-ins or libatomic, on all +# architectures. Since we don't want to separate the cases where +# libatomic is needed vs. not needed, we simplify thing and only +# support situations where libatomic is available, even if on some +# architectures libatomic is not strictly needed as all __atomic +# intrinsics might be built-in. The only case where libatomic is +# missing entirely is when the toolchain does not have support for +# threads. However, a package that does not need threads but still +# uses atomics is quite a corner case, which does not warrant the +# added complexity. +# - with gcc 4.7, libatomic did not exist, so only built-ins are +# available. This means that __atomic can only be used in a subset +# of the architectures +config BR2_TOOLCHAIN_HAS_ATOMIC + bool + default y if BR2_TOOLCHAIN_HAS_LIBATOMIC + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_arm + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_armeb + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_xtensa + default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_ARCH_IS_64 + +# - libquadmath is not needed/available on all architectures (but gcc +# correctly handles this already). +# - At least, libquadmath is available on: +# - i*86 +# - x86_64 +# - When available, libquadmath requires wchar support. +config BR2_TOOLCHAIN_HAS_LIBQUADMATH + bool + default y if BR2_i386 || BR2_x86_64 endmenu diff --git a/bsp/buildroot/toolchain/helpers.mk b/bsp/buildroot/toolchain/helpers.mk index 1792286a..e5520c00 100644 --- a/bsp/buildroot/toolchain/helpers.mk +++ b/bsp/buildroot/toolchain/helpers.mk @@ -241,14 +241,11 @@ check_glibc = \ # $2: cross-readelf path check_musl = \ __CROSS_CC=$(strip $1) ; \ - __CROSS_READELF=$(strip $2) ; \ - echo 'void main(void) {}' | $${__CROSS_CC} -x c -o $(BUILD_DIR)/.br-toolchain-test.tmp - >/dev/null 2>&1; \ - if ! $${__CROSS_READELF} -l $(BUILD_DIR)/.br-toolchain-test.tmp 2> /dev/null | grep 'program interpreter: /lib/ld-musl' -q; then \ - rm -f $(BUILD_DIR)/.br-toolchain-test.tmp*; \ + libc_a_path=`$${__CROSS_CC} -print-file-name=libc.a` ; \ + if ! strings $${libc_a_path} | grep -q MUSL_LOCPATH ; then \ echo "Incorrect selection of the C library" ; \ exit -1; \ - fi ; \ - rm -f $(BUILD_DIR)/.br-toolchain-test.tmp* + fi # # Check the conformity of Buildroot configuration with regard to the diff --git a/bsp/buildroot/toolchain/toolchain-buildroot/Config.in b/bsp/buildroot/toolchain/toolchain-buildroot/Config.in index 3f576297..beb17a21 100644 --- a/bsp/buildroot/toolchain/toolchain-buildroot/Config.in +++ b/bsp/buildroot/toolchain/toolchain-buildroot/Config.in @@ -27,13 +27,13 @@ choice config BR2_TOOLCHAIN_BUILDROOT_UCLIBC bool "uClibc-ng" - select BR2_TOOLCHAIN_USES_UCLIBC depends on BR2_aarch64 || BR2_aarch64_be || BR2_arcle || BR2_arceb || \ BR2_arm || BR2_armeb || \ - BR2_bfin || BR2_i386 || BR2_m68k || BR2_microblaze || \ + BR2_i386 || BR2_m68k || BR2_microblaze || \ BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \ BR2_or1k || BR2_powerpc || BR2_sh2a || BR2_sh4 || \ BR2_sh4eb || BR2_sparc || BR2_xtensa || BR2_x86_64 + select BR2_TOOLCHAIN_USES_UCLIBC help This option selects uClibc-ng as the C library for the cross-compilation toolchain. @@ -46,14 +46,16 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC BR2_aarch64_be || BR2_i386 || BR2_mips || \ BR2_mipsel || BR2_mips64 || BR2_mips64el|| \ BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ - BR2_sh || BR2_sparc64 || BR2_x86_64 || \ - BR2_microblaze || BR2_nios2 || BR2_archs38 + BR2_riscv || BR2_sh || BR2_sparc64 || \ + BR2_x86_64 || BR2_microblaze || BR2_nios2 || \ + (BR2_arcle && BR2_ARC_ATOMIC_EXT) depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008 depends on !BR2_powerpc_SPE + depends on BR2_RISCV_ISA_RVA || !BR2_riscv select BR2_TOOLCHAIN_USES_GLIBC # our glibc.mk enables RPC support select BR2_TOOLCHAIN_HAS_NATIVE_RPC diff --git a/bsp/buildroot/toolchain/toolchain-common.in b/bsp/buildroot/toolchain/toolchain-common.in deleted file mode 100644 index 8941e0f3..00000000 --- a/bsp/buildroot/toolchain/toolchain-common.in +++ /dev/null @@ -1,469 +0,0 @@ -# Generic toolchain options - -# we want gdb config in the middle of both source and external -# toolchains, but mconf won't let us source the same file twice, -# so put it here instead -source "package/gdb/Config.in.host" - -comment "Toolchain Generic Options" - -# https://sourceware.org/bugzilla/show_bug.cgi?id=19615 -# Affect toolchains built with binutils 2.26 (fixed in binutils 2.26.1). -config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 - bool - -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735 -# exception_ptr, nested_exception, and future from libstdc++ are not -# available for architectures not supporting always lock-free atomic -# ints before GCC 7 -config BR2_TOOLCHAIN_HAS_GCC_BUG_64735 - bool - default y if BR2_nios2 - default y if BR2_ARM_CPU_ARMV4 - default y if BR2_ARM_CPU_ARMV5 - default y if BR2_sparc_v8 - default y if BR2_m68k_cf5208 - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 - -config BR2_TOOLCHAIN_HAS_NATIVE_RPC - bool - -config BR2_USE_WCHAR - bool - -config BR2_ENABLE_LOCALE - bool - -config BR2_INSTALL_LIBSTDCPP - bool - -config BR2_TOOLCHAIN_HAS_FORTRAN - bool - -config BR2_TOOLCHAIN_HAS_THREADS - bool - -config BR2_TOOLCHAIN_HAS_THREADS_DEBUG - bool - -config BR2_TOOLCHAIN_HAS_THREADS_NPTL - bool - -config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS - bool - -config BR2_TOOLCHAIN_HAS_SSP - bool - -config BR2_TOOLCHAIN_SUPPORTS_PIE - bool - -config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY - bool "Copy gconv libraries" - depends on BR2_TOOLCHAIN_USES_GLIBC - help - The gconv libraries are used to convert between different - character sets (charsets). - - Say 'y' if you need to store and/or display different charsets. - -config BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST - string "Gconv libraries to copy" - depends on BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY - help - Set to the list of gconv libraries to copy. - Leave empty to copy all gconv libraries. - - Specify only the basename of the libraries, leave - out the .so extension. Eg.: - IBM850 ISO8859-15 UNICODE - - Note: the full set of gconv libs are ~8MiB (on ARM). - -# This boolean is true if the toolchain provides a built-in full -# featured gettext implementation (glibc), and false if only a stub -# gettext implementation is provided (uclibc, musl) -config BR2_TOOLCHAIN_HAS_FULL_GETTEXT - bool - -config BR2_USE_MMU - bool "Enable MMU support" if BR2_ARCH_HAS_MMU_OPTIONAL - default y if BR2_ARCH_HAS_MMU_OPTIONAL || BR2_ARCH_HAS_MMU_MANDATORY - help - If your target has a MMU, you should say Y here. If you - are unsure, just say Y. - -config BR2_TARGET_OPTIMIZATION - string "Target Optimizations" - default "" - help - Optimizations to use when building for the target host. - NOTE: gcc optimization level is defined in build options. - -config BR2_TARGET_LDFLAGS - string "Target linker options" - help - Extra options to pass to the linker when building for the target. - - Note that options with a '$' sign (eg. -Wl,-rpath='$ORIGIN/../lib') - are not supported. - -config BR2_ECLIPSE_REGISTER - bool "Register toolchain within Eclipse Buildroot plug-in" - help - This options tells Buildroot to generate the necessary - configuration files to make your toolchain appear within - Eclipse, through the Eclipse Buildroot plugin. - -# Options for packages to depend on, if they require at least a -# specific version of the kernel headers. -# Toolchains should choose the adequate option (ie. the highest -# version, not all of them). -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 - bool - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 - -config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 - bool - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 - -# This order guarantees that the highest version is set, as kconfig -# stops affecting a value on the first matching default. -config BR2_TOOLCHAIN_HEADERS_AT_LEAST - string - default "4.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 - default "4.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14 - default "4.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13 - default "4.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 - default "4.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11 - default "4.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 - default "4.9" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9 - default "4.8" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8 - default "4.7" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - default "4.6" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6 - default "4.5" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 - default "4.4" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4 - default "4.3" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3 - default "4.2" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2 - default "4.1" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1 - default "4.0" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0 - default "3.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19 - default "3.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 - default "3.17" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 - default "3.16" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16 - default "3.15" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 - default "3.14" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14 - default "3.13" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13 - default "3.12" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 - default "3.11" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11 - default "3.10" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 - default "3.9" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9 - default "3.8" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8 - default "3.7" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 - default "3.6" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6 - default "3.5" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5 - default "3.4" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4 - default "3.3" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3 - default "3.2" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2 - default "3.1" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 - default "3.0" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 - default "2.6" - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 - bool - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_5 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_6 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_5 - -config BR2_TOOLCHAIN_GCC_AT_LEAST_7 - bool - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 - -# This order guarantees that the highest version is set, as kconfig -# stops affecting a value on the first matching default. -config BR2_TOOLCHAIN_GCC_AT_LEAST - string - default "7" if BR2_TOOLCHAIN_GCC_AT_LEAST_7 - default "6" if BR2_TOOLCHAIN_GCC_AT_LEAST_6 - default "5" if BR2_TOOLCHAIN_GCC_AT_LEAST_5 - default "4.9" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - default "4.8" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 - default "4.7" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - default "4.6" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_6 - default "4.5" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 - default "4.4" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_4 - default "4.3" if BR2_TOOLCHAIN_GCC_AT_LEAST_4_3 - -config BR2_TOOLCHAIN_HAS_MNAN_OPTION - bool - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 - -config BR2_TOOLCHAIN_HAS_SYNC_1 - bool - default y - depends on !BR2_bfin - depends on !BR2_m68k_cf - depends on !BR2_microblaze - depends on !BR2_sparc - depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) - -config BR2_TOOLCHAIN_HAS_SYNC_2 - bool - default y if BR2_TOOLCHAIN_HAS_SYNC_1 - -config BR2_TOOLCHAIN_HAS_SYNC_4 - bool - default y - depends on !BR2_m68k_cf - depends on !BR2_sparc - depends on !(BR2_arc && !BR2_ARC_ATOMIC_EXT) - -# The availability of __sync for 8-byte types on ARM is somewhat -# complicated: -# -# - It appeared in gcc starting with gcc 4.7. -# -# - On ARMv7, there is no problem, it can be directly implemented in -# userspace. -# -# - On < ARMv7, it requires help from the kernel. Unfortunately, the -# libgcc code implementing 8-byte __sync with the help from the -# kernel calls __write() when a failure occurs, which is a function -# internal to glibc, not available in uClibc and musl. This means -# that the 8-byte __sync operations are not available on < ARMv7 -# with uClibc and musl. This problem was fixed as part of gcc -# PR68059, which was backported to the gcc 5 branch, but isn't yet -# part of any gcc 5.x release. -# -config BR2_TOOLCHAIN_ARM_HAS_SYNC_8 - bool - default y - depends on BR2_arm || BR2_armeb - depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 - depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_ARM_CPU_ARMV7A - -# 8-byte intrinsics available on most x86 CPUs, except a few old ones -config BR2_TOOLCHAIN_X86_HAS_SYNC_8 - bool - default y - depends on BR2_i386 - depends on !BR2_x86_i486 - depends on !BR2_x86_c3 - depends on !BR2_x86_winchip_c6 - depends on !BR2_x86_winchip2 - -# 8-byte intrinsics available: -# - On all 64 bits architecture -# - On a certain combinations of ARM platforms -# - On certain x86 32 bits CPUs -config BR2_TOOLCHAIN_HAS_SYNC_8 - bool - default y if BR2_ARCH_IS_64 - default y if BR2_TOOLCHAIN_ARM_HAS_SYNC_8 - default y if BR2_TOOLCHAIN_X86_HAS_SYNC_8 - -# libatomic is available since gcc 4.8, when thread support is -# enabled. Also, libatomic doesn't recognize "uclinux" as a valid OS -# part of the tuple, and is therefore not build on uclinux targets, -# which is why BR2_BINFMT_FLAT configurations are excluded. -config BR2_TOOLCHAIN_HAS_LIBATOMIC - bool - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 && \ - BR2_TOOLCHAIN_HAS_THREADS && \ - !BR2_BINFMT_FLAT - -# __atomic intrinsics are available: -# - with gcc 4.8, either through built-ins or libatomic, on all -# architectures. Since we don't want to separate the cases where -# libatomic is needed vs. not needed, we simplify thing and only -# support situations where libatomic is available, even if on some -# architectures libatomic is not strictly needed as all __atomic -# intrinsics might be built-in. The only case where libatomic is -# missing entirely is when the toolchain does not have support for -# threads. However, a package that does not need threads but still -# uses atomics is quite a corner case, which does not warrant the -# added complexity. -# - with gcc 4.7, libatomic did not exist, so only built-ins are -# available. This means that __atomic can only be used in a subset -# of the architectures -config BR2_TOOLCHAIN_HAS_ATOMIC - bool - default y if BR2_TOOLCHAIN_HAS_LIBATOMIC - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_arm - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_armeb - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_xtensa - default y if BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 && BR2_ARCH_IS_64 - -# - libquadmath is not needed/available on all architectures (but gcc -# correctly handles this already). -# - At least, libquadmath is available on: -# - i*86 -# - x86_64 -# - When available, libquadmath requires wchar support. -config BR2_TOOLCHAIN_HAS_LIBQUADMATH - bool - default y if BR2_i386 || BR2_x86_64 diff --git a/bsp/buildroot/toolchain/toolchain-external/Config.in b/bsp/buildroot/toolchain/toolchain-external/Config.in index c4063b17..1f14f035 100644 --- a/bsp/buildroot/toolchain/toolchain-external/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/Config.in @@ -11,14 +11,20 @@ comment "glibc toolchains only available with shared lib support" # Kept toolchains sorted by architecture in order to use some toolchain # as default choice -# Aarch64 (use Linaro toolchain by default) +# Aarch64 (use ARM toolchain by default) +source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in" +# Aarch64 big-endian +source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in" +source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in" + # ARC source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in" -# ARM (use Linaro toolchain by default) +# ARM (use ARM toolchain by default) +source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in" source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in" source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in" @@ -53,15 +59,16 @@ choice config BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD bool "Toolchain to be downloaded and installed" help - Select this option if you want Buildroot to download and install the - toolchain. If you have selected a custom toolchain, specify the URL - in BR2_TOOLCHAIN_EXTERNAL_URL. + Select this option if you want Buildroot to download and + install the toolchain. If you have selected a custom + toolchain, specify the URL in BR2_TOOLCHAIN_EXTERNAL_URL. config BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED bool "Pre-installed toolchain" help - Select this option if you want to use a pre-installed toolchain. - Specify the path to this toolchain in BR2_TOOLCHAIN_EXTERNAL_PATH. + Select this option if you want to use a pre-installed + toolchain. Specify the path to this toolchain in + BR2_TOOLCHAIN_EXTERNAL_PATH. endchoice @@ -106,13 +113,19 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX # BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL and BR2_TOOLCHAIN_EXTERNAL_PREFIX # Aarch64 +source "toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-aarch64/Config.in.options" +# Aarch64 big-endian +source "toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options" +source "toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options" + # ARC source "toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in.options" # ARM +source "toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options" source "toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in.options" source "toolchain/toolchain-external/toolchain-external-codesourcery-arm/Config.in.options" diff --git a/bsp/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk b/bsp/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk index 3bf9fac4..db3570d9 100644 --- a/bsp/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/bsp/buildroot/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -77,7 +77,11 @@ ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) TOOLCHAIN_EXTERNAL_BIN := $(dir $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) endif else -TOOLCHAIN_EXTERNAL_BIN = $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin +TOOLCHAIN_EXTERNAL_REL_BIN_PATH = $(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH)) +ifeq ($(TOOLCHAIN_EXTERNAL_REL_BIN_PATH),) +TOOLCHAIN_EXTERNAL_REL_BIN_PATH = bin +endif +TOOLCHAIN_EXTERNAL_BIN = $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_REL_BIN_PATH) endif # If this is a buildroot toolchain, it already has a wrapper which we want to @@ -147,18 +151,6 @@ TOOLCHAIN_EXTERNAL_LIBS += $(call qstrip,$(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS)) # Definition of the CFLAGS to use with the external toolchain, as well as the # common toolchain wrapper build arguments # -ifeq ($(call qstrip,$(BR2_GCC_TARGET_CPU_REVISION)),) -CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)) -else -CC_TARGET_CPU_ := $(call qstrip,$(BR2_GCC_TARGET_CPU)-$(BR2_GCC_TARGET_CPU_REVISION)) -endif -CC_TARGET_ARCH_ := $(call qstrip,$(BR2_GCC_TARGET_ARCH)) -CC_TARGET_ABI_ := $(call qstrip,$(BR2_GCC_TARGET_ABI)) -CC_TARGET_NAN_ := $(call qstrip,$(BR2_GCC_TARGET_NAN)) -CC_TARGET_FP32_MODE_ := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE)) -CC_TARGET_FPU_ := $(call qstrip,$(BR2_GCC_TARGET_FPU)) -CC_TARGET_FLOAT_ABI_ := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI)) -CC_TARGET_MODE_ := $(call qstrip,$(BR2_GCC_TARGET_MODE)) # march/mtune/floating point mode needs to be passed to the external toolchain # to select the right multilib variant @@ -166,39 +158,39 @@ ifeq ($(BR2_x86_64),y) TOOLCHAIN_EXTERNAL_CFLAGS += -m64 TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_64 endif -ifneq ($(CC_TARGET_ARCH_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -march=$(CC_TARGET_ARCH_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARCH='"$(CC_TARGET_ARCH_)"' +ifneq ($(GCC_TARGET_ARCH),) +TOOLCHAIN_EXTERNAL_CFLAGS += -march=$(GCC_TARGET_ARCH) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ARCH='"$(GCC_TARGET_ARCH)"' endif -ifneq ($(CC_TARGET_CPU_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mcpu=$(CC_TARGET_CPU_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_CPU='"$(CC_TARGET_CPU_)"' +ifneq ($(GCC_TARGET_CPU),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mcpu=$(GCC_TARGET_CPU) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_CPU='"$(GCC_TARGET_CPU)"' endif -ifneq ($(CC_TARGET_ABI_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(CC_TARGET_ABI_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(CC_TARGET_ABI_)"' +ifneq ($(GCC_TARGET_ABI),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mabi=$(GCC_TARGET_ABI) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_ABI='"$(GCC_TARGET_ABI)"' endif ifeq ($(BR2_TOOLCHAIN_HAS_MNAN_OPTION),y) -ifneq ($(CC_TARGET_NAN_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mnan=$(CC_TARGET_NAN_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_NAN='"$(CC_TARGET_NAN_)"' +ifneq ($(GCC_TARGET_NAN),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mnan=$(GCC_TARGET_NAN) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_NAN='"$(GCC_TARGET_NAN)"' endif endif -ifneq ($(CC_TARGET_FP32_MODE_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mfp$(CC_TARGET_FP32_MODE_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FP32_MODE='"$(CC_TARGET_FP32_MODE_)"' +ifneq ($(GCC_TARGET_FP32_MODE),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mfp$(GCC_TARGET_FP32_MODE) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FP32_MODE='"$(GCC_TARGET_FP32_MODE)"' endif -ifneq ($(CC_TARGET_FPU_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mfpu=$(CC_TARGET_FPU_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(CC_TARGET_FPU_)"' +ifneq ($(GCC_TARGET_FPU),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mfpu=$(GCC_TARGET_FPU) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FPU='"$(GCC_TARGET_FPU)"' endif -ifneq ($(CC_TARGET_FLOAT_ABI_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -mfloat-abi=$(CC_TARGET_FLOAT_ABI_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FLOAT_ABI='"$(CC_TARGET_FLOAT_ABI_)"' +ifneq ($(GCC_TARGET_FLOAT_ABI),) +TOOLCHAIN_EXTERNAL_CFLAGS += -mfloat-abi=$(GCC_TARGET_FLOAT_ABI) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_FLOAT_ABI='"$(GCC_TARGET_FLOAT_ABI)"' endif -ifneq ($(CC_TARGET_MODE_),) -TOOLCHAIN_EXTERNAL_CFLAGS += -m$(CC_TARGET_MODE_) -TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MODE='"$(CC_TARGET_MODE_)"' +ifneq ($(GCC_TARGET_MODE),) +TOOLCHAIN_EXTERNAL_CFLAGS += -m$(GCC_TARGET_MODE) +TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_MODE='"$(GCC_TARGET_MODE)"' endif ifeq ($(BR2_BINFMT_FLAT),y) TOOLCHAIN_EXTERNAL_CFLAGS += -Wl,-elf2flt @@ -553,8 +545,7 @@ define $(2)_CONFIGURE_CMDS $$(call check_uclibc,$$$${SYSROOT_DIR}) ; \ elif test "$$(BR2_TOOLCHAIN_EXTERNAL_MUSL)" = "y" ; then \ $$(call check_musl,\ - "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)",\ - $$(TOOLCHAIN_EXTERNAL_READELF)) ; \ + "$$(TOOLCHAIN_EXTERNAL_CC) $$(TOOLCHAIN_EXTERNAL_CFLAGS)") ; \ else \ $$(call check_glibc,$$$${SYSROOT_DIR}) ; \ fi diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in new file mode 100644 index 00000000..d992be01 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in @@ -0,0 +1,19 @@ +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE + bool "Arm AArch64 BE 2018.11" + depends on BR2_aarch64_be + depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Arm toolchain for the AArch64 Big Endian architecture. + + This is the same toolchain that was previously distributed by + Linaro. + + https://developer.arm.com/open-source/gnu-toolchain diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options new file mode 100644 index 00000000..add4adad --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "aarch64_be-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-arm-aarch64-be" + +endif diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash new file mode 100644 index 00000000..580e10dd --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.hash @@ -0,0 +1,4 @@ +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/gcc-arm-8.2-2018.11-x86_64-aarch64_be-linux-gnu.tar.xz.asc +md5 ab9a31ebe529b0a0cae78e610a9ffa0b gcc-arm-8.2-2018.11-x86_64-aarch64_be-linux-gnu.tar.xz +# locally calculated +sha256 36df73194804ac52053edf469c7ace73fb4b243a8306dadfb7b95c4f485abde4 gcc-arm-8.2-2018.11-x86_64-aarch64_be-linux-gnu.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk new file mode 100644 index 00000000..a41d9cad --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/toolchain-external-arm-aarch64-be.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-arm-aarch64-be +# +################################################################################ + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION) + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE_VERSION)-x86_64-aarch64_be-linux-gnu.tar.xz + +$(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in new file mode 100644 index 00000000..fbb5e025 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -0,0 +1,19 @@ +config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 + bool "Arm AArch64 2018.11" + depends on BR2_aarch64 + depends on BR2_HOSTARCH = "x86_64" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Arm toolchain for the AArch64 architecture. + + This is the same toolchain that was previously distributed by + Linaro. + + https://developer.arm.com/open-source/gnu-toolchain diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options new file mode 100644 index 00000000..19b75805 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "aarch64-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-arm-aarch64" + +endif diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash new file mode 100644 index 00000000..cda90f75 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -0,0 +1,4 @@ +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz.asc +md5 319ca548ff05b0ec1008988a7e5ab619 gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz +# locally calculated +sha256 0142366da2f30feb1c366997cbdaa02286c8f1aa527c0fc177ee5ce8e77970fc gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk new file mode 100644 index 00000000..0398bd12 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-arm-aarch64 +# +################################################################################ + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION) + +TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-linux-gnu.tar.xz + +$(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in new file mode 100644 index 00000000..04497378 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -0,0 +1,30 @@ +comment "Arm toolchains available for Cortex-A + EABIhf" + depends on BR2_arm + depends on !BR2_ARM_CPU_ARMV7A || !BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + +config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM + bool "Arm ARM 2018.11" + depends on BR2_arm + depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A + depends on BR2_HOSTARCH = "x86_64" + depends on BR2_ARM_EABIHF + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Arm toolchain for the ARM architecture. It uses GCC 8.2.1, + GDB 8.1.1, glibc 2.28, Binutils 2.30. It generates code that + runs on all Cortex-A profile devices, but tuned for the + Cortex-A9. The code generated uses the hard floating point + calling convention, and uses the VFPv3-D16 FPU instructions. + + This is the same toolchain that was previously distributed by + Linaro. + + https://developer.arm.com/open-source/gnu-toolchain diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options new file mode 100644 index 00000000..16e7d6ff --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_ARM_ARM + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "arm-linux-gnueabihf" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-arm-arm" + +endif diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash new file mode 100644 index 00000000..cd7f5265 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash @@ -0,0 +1,4 @@ +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2018.11/gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz.asc +md5 59ccf965837ed1c5ba59e5ad4b688b21 gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz +# locally calculated +sha256 3f9bc7a68f744a5edc7caebff5f3f2c3bc1ff9d8ac8b05f7680a0071461deede gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk new file mode 100644 index 00000000..0c21affd --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# toolchain-external-arm-arm +# +################################################################################ + +TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION) + +TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-x86_64-arm-linux-gnueabihf.tar.xz + +$(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in index 8b2eab0a..be6e56a2 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/Config.in @@ -1,19 +1,19 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS - bool "Codescape IMG GNU Linux Toolchain 2016.05" + bool "Codescape IMG GNU Linux Toolchain 2018.09" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R6 || (BR2_MIPS_CPU_MIPS64R6 && !BR2_MIPS_SOFT_FLOAT) select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_HAS_FORTRAN help - Codescape IMG GNU Linux Toolchain 2016.05 for the MIPS - architecture, from Imagination Technologies. It uses gcc - 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel - headers 4.7. It has support for the following variants: + Codescape IMG GNU Linux Toolchain 2018.09 for the MIPS + architecture, from MIPS Tech LLC. It uses gcc 6.3.0, + binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers + 4.7. It has support for the following variants: - MIPS32r6 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI Select 'MIPS (big endian)' Target Architecture Select 'mips 32r6' Target Architecture Variant @@ -30,12 +30,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS Select 'MIPS (little endian)' Target Architecture Select 'mips 32r6' Target Architecture Variant Enable 'Use soft-float' - - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS + - MIPS32r6 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, + microMIPS Select 'MIPS (little endian)' Target Architecture Select 'mips 32r6' Target Architecture Variant Disable 'Use soft-float' Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, microMIPS + - MIPS32r6 - Little-Endian, Soft-Float, 2008 NaN, o32 ABI, + microMIPS Select 'MIPS (little endian)' Target Architecture Select 'mips 32r6' Target Architecture Variant Enable 'Use soft-float' diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash index 6a12cfa0..b540164a 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.hash @@ -1,4 +1,4 @@ -# Codescape toolchains from Imagination Technologies -# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-06/downloads.html -sha256 8d9cdf711dd402d7bf82883d425c221038fe8ce9d0c91a3f6b30939d9d55476c Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz -sha256 6e2784d6df962fe4db7510c8a62ce3947b73f54207b10e18b52da59d1bc487bd Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.IMG.Linux.CentOS-5.x86_64.tar.gz +# Codescape toolchains from MIPS Tech LLC +# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html +sha256 ac035f3b6a8767522977963d8e1490520d58bccca7956f4503a1eefff6492b71 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz +sha256 09280f4fcbb993607905bf9a43bf5f3db2beed85726f0675b8453e19a9ddc429 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk index 49a7027d..55424918 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-img-mips/toolchain-external-codescape-img-mips.mk @@ -4,14 +4,14 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2016.05-06 -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION = 2018.09-02 +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION) TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_STRIP_COMPONENTS = 2 ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-5.x86.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86.tar.gz else -TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-5.x86_64.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS_VERSION).for.MIPS.IMG.Linux.CentOS-6.x86_64.tar.gz endif # Special fixup for Codescape MIPS toolchains, that have bin- and diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in index db191fd1..15d62847 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/Config.in @@ -1,20 +1,20 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS - bool "Codescape MTI GNU Linux Toolchain 2016.05" + bool "Codescape MTI GNU Linux Toolchain 2018.09" depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_5 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \ BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT) select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 + select BR2_TOOLCHAIN_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_HAS_FORTRAN help - Codescape MTI GNU Linux Toolchain 2016.05 for the MIPS - architecture, from Imagination Technologies. It uses gcc - 4.9.2, binutils 2.24.90, glibc 2.20, gdb 7.9.1 and kernel - headers 4.7. It has support for the following variants: + Codescape MTI GNU Linux Toolchain 2018.09 for the MIPS + architecture, from MIPS Tech LLC. It uses gcc 6.3.0, + binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers + 4.7. It has support for the following variants: - MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI Select 'MIPS (big endian)' Target Architecture Select 'mips 32r2' Target Architecture Variant @@ -41,12 +41,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS Select 'MIPS (little endian)' Target Architecture Select 'mips 32r2' Target Architecture Variant Enable 'Use soft-float' - - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, microMIPS + - MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI, + microMIPS Select 'MIPS (little endian)' Target Architecture Select 'mips 32r2' Target Architecture Variant Enable 'Use soft-float' Set BR2_TARGET_OPTIMIZATION to '-mmicromips' - - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, microMIPS + - MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI, + microMIPS Select 'MIPS (little endian)' Target Architecture Select 'mips 32r2' Target Architecture Variant Disable 'Use soft-float' diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash index d31f9980..8e70af50 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.hash @@ -1,4 +1,4 @@ -# Codescape toolchains from Imagination Technologies -# From: http://codescape-mips-sdk.imgtec.com/components/toolchain/2016.05-06/downloads.html -sha256 3a7aba259beb05f0e3054b5a61a368a5085447f47361949a938ac9cc7de4227b Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz -sha256 a676a8b3647c8c651fb8935a75db8f00b79d36ec55676f7c05bac12b550788f7 Codescape.GNU.Tools.Package.2016.05-06.for.MIPS.MTI.Linux.CentOS-5.x86_64.tar.gz +# Codescape toolchains from MIPS Tech LLC +# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html +sha256 c883a404fd7ea5718e2249a530802e223381f2be52265f88e9b1ce7035c232f3 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz +sha256 d6310a970b0a8a19ad8e0a2b3ead8c38ee90d0e284a9b2511200ce447f460d2c Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk index d63a3675..9bee1ab8 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codescape-mti-mips/toolchain-external-codescape-mti-mips.mk @@ -4,14 +4,14 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2016.05-06 -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = http://codescape-mips-sdk.imgtec.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2018.09-02 +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION) TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STRIP_COMPONENTS = 2 ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-5.x86.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz else -TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-5.x86_64.tar.gz +TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz endif # Special fixup for Codescape MIPS toolchains, that have bin- and diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in index 50c5a200..9187333b 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-amd64/Config.in @@ -13,6 +13,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 select BR2_TOOLCHAIN_GCC_AT_LEAST_6 select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615 # based-on binutils-2.26 + select BR2_TOOLCHAIN_HAS_BINUTILS_BUG_20006 # based-on binutils-2.26 help Sourcery CodeBench toolchain for the amd64 (x86_64) architectures, from Mentor Graphics. It uses gcc 6.2, diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in index 4ac9c95c..9d785a4b 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/Config.in @@ -1,16 +1,17 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII - bool "Sourcery CodeBench Nios-II 2017.05" + bool "Sourcery CodeBench Nios-II 2018.05" depends on BR2_nios2 - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on !BR2_STATIC_LIBS select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP select BR2_HOSTARCH_NEEDS_IA32_LIBS - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7 - select BR2_TOOLCHAIN_GCC_AT_LEAST_6 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 help Sourcery CodeBench toolchain for the Nios-II architecture, - from Mentor Graphics. It uses gcc 6.3, binutils 2.26, - glibc 2.25, gdb 7.11 and kernel headers 4.7. + from Mentor Graphics. It uses gcc 7.3, binutils 2.28, + glibc 2.27, gdb 8.0.1 and kernel headers 4.15.5. diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash index 3643f921..518e677f 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.hash @@ -1,6 +1,6 @@ -# From https://sourcery.mentor.com/GNUToolchain/release3302 -md5 54b7f7056c2159f3a9ddeca8ca775ed1 sourceryg++-2017.05-4-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 -md5 529a7fecf33d0d113a446413b9d1e173 sourceryg++-2017.05-4-nios2-linux-gnu.src.tar.bz2 +# From https://sourcery.mentor.com/GNUToolchain/release3374 +md5 4f536b3b9b4e00f483e82e304c0a27ae sourceryg++-2018.05-5-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 +md5 be42ab83da2e8db7b73dc890c2549570 sourceryg++-2018.05-5-nios2-linux-gnu.src.tar.bz2 # Locally calculated -sha256 3f0307da3c0770b7cc3ed4a845038e6e438d3e3a96ce880f9a86b3d35f948a07 sourceryg++-2017.05-4-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 -sha256 6e65878d0453708ee19098d3d68985bda244938d35999f3859915a2f5574fa08 sourceryg++-2017.05-4-nios2-linux-gnu.src.tar.bz2 +sha256 c19afb432b5b23f8d5d639831d3a423a3ea3c9cc62e0015020d20ea2eb36dd1b sourceryg++-2018.05-5-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2 +sha256 d73a6364106dd62352711f932d3be8e97fdaaa548995678b5d38d9f21e22437a sourceryg++-2018.05-5-nios2-linux-gnu.src.tar.bz2 diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk index dfa4ea42..cb0fe760 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-codesourcery-niosII/toolchain-external-codesourcery-niosII.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_VERSION = 2017.05-4 +TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_VERSION = 2018.05-5 TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_SITE = https://sourcery.mentor.com/public/gnu_toolchain/$(TOOLCHAIN_EXTERNAL_PREFIX) TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_SOURCE = sourceryg++-$(TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII_VERSION)-$(TOOLCHAIN_EXTERNAL_PREFIX)-i686-pc-linux-gnu.tar.bz2 diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 70c7d8e3..08a79ee4 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -12,12 +12,22 @@ config BR2_TOOLCHAIN_EXTERNAL_URL help URL of the custom toolchain tarball to download and install. +config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH + string "Toolchain relative binary path" + default "bin" + depends on BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD + help + Path to where the binaries (e.g. the compiler) can be found, + relative to the downloaded toolchain root directory. The + default is "bin" and is correct for most toolchains. + config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX string "Toolchain prefix" default "$(ARCH)-linux" choice bool "External toolchain gcc version" + default BR2_TOOLCHAIN_EXTERNAL_GCC_8 if BR2_ARCH_NEEDS_GCC_AT_LEAST_8 default BR2_TOOLCHAIN_EXTERNAL_GCC_7 if BR2_ARCH_NEEDS_GCC_AT_LEAST_7 default BR2_TOOLCHAIN_EXTERNAL_GCC_6 if BR2_ARCH_NEEDS_GCC_AT_LEAST_6 default BR2_TOOLCHAIN_EXTERNAL_GCC_5 if BR2_ARCH_NEEDS_GCC_AT_LEAST_5 @@ -28,8 +38,13 @@ choice Set to the gcc version that is used by your external toolchain. +config BR2_TOOLCHAIN_EXTERNAL_GCC_8 + bool "8.x" + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 + config BR2_TOOLCHAIN_EXTERNAL_GCC_7 bool "7.x" + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_GCC_AT_LEAST_7 config BR2_TOOLCHAIN_EXTERNAL_GCC_6 @@ -108,6 +123,26 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 + bool "4.20.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19 + bool "4.19.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_18 + bool "4.18.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_17 + bool "4.17.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17 + +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16 + bool "4.16.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_15 bool "4.15.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 @@ -264,9 +299,6 @@ choice config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC bool "uClibc/uClibc-ng" select BR2_TOOLCHAIN_EXTERNAL_UCLIBC - # For the time being, we assume that all custom external - # toolchains have shadow password support. - select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS help Select this option if your external toolchain uses the uClibc (available from http://www.uclibc.org/) @@ -320,8 +352,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LOCALE config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS bool "Toolchain has threads support?" - select BR2_TOOLCHAIN_HAS_THREADS default y + select BR2_TOOLCHAIN_HAS_THREADS help Select this option if your external toolchain has thread support. If you don't know, leave the default value, @@ -331,8 +363,8 @@ if BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG bool "Toolchain has threads debugging support?" - select BR2_TOOLCHAIN_HAS_THREADS_DEBUG default y + select BR2_TOOLCHAIN_HAS_THREADS_DEBUG help Select this option if your external toolchain has thread debugging support. If you don't know, leave the default @@ -340,8 +372,8 @@ config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG config BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL bool "Toolchain has NPTL threads support?" - select BR2_TOOLCHAIN_HAS_THREADS_NPTL default y + select BR2_TOOLCHAIN_HAS_THREADS_NPTL help Select this option if your external toolchain uses the NPTL (Native Posix Thread Library) implementation of Posix @@ -354,9 +386,9 @@ endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP bool "Toolchain has SSP support?" - select BR2_TOOLCHAIN_HAS_SSP default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC default y if BR2_TOOLCHAIN_EXTERNAL_MUSL + select BR2_TOOLCHAIN_HAS_SSP help Selection this option if your external toolchain has Stack Smashing Protection support enabled. If you don't know, @@ -365,9 +397,9 @@ config BR2_TOOLCHAIN_EXTERNAL_HAS_SSP config BR2_TOOLCHAIN_EXTERNAL_INET_RPC bool "Toolchain has RPC support?" - select BR2_TOOLCHAIN_HAS_NATIVE_RPC - depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL default y if BR2_TOOLCHAIN_EXTERNAL_GLIBC + depends on !BR2_TOOLCHAIN_EXTERNAL_MUSL + select BR2_TOOLCHAIN_HAS_NATIVE_RPC help Select this option if your external toolchain supports RPC. If you don't know, leave the default value, Buildroot @@ -381,6 +413,14 @@ config BR2_TOOLCHAIN_EXTERNAL_CXX support. If you don't know, leave the default value, Buildroot will tell you if it's correct or not. +config BR2_TOOLCHAIN_EXTERNAL_FORTRAN + bool "Toolchain has Fortran support?" + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Select this option if your external toolchain has Fortran + support. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + config BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS string "Extra toolchain libraries to be copied to target" help diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in new file mode 100644 index 00000000..9e7d2a62 --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in @@ -0,0 +1,15 @@ +config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE + bool "Linaro AArch64 BE 2018.05" + depends on BR2_aarch64_be + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" + depends on !BR2_STATIC_LIBS + select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_TOOLCHAIN_HAS_SSP + select BR2_INSTALL_LIBSTDCPP + select BR2_TOOLCHAIN_HAS_NATIVE_RPC + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 + select BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_TOOLCHAIN_HAS_FORTRAN + help + Toolchain for the AArch64 Big Endian architecture, from + http://www.linaro.org/engineering/armv8/ diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options new file mode 100644 index 00000000..d44750ff --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/Config.in.options @@ -0,0 +1,9 @@ +if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE + +config BR2_TOOLCHAIN_EXTERNAL_PREFIX + default "aarch64_be-linux-gnu" + +config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL + default "toolchain-external-linaro-aarch64-be" + +endif diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash new file mode 100644 index 00000000..f93642ec --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 412da19c1d1bff0f3172bc19fd2c024207d8d716dbe7a8dad4bf9e3d6b71d149 gcc-linaro-7.3.1-2018.05-i686_aarch64_be-linux-gnu.tar.xz +sha256 277c1483f8dbd6007c945ffeb706fa1ba1da8ec1c397cf5cf1e29c25081426e5 gcc-linaro-7.3.1-2018.05-x86_64_aarch64_be-linux-gnu.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk new file mode 100644 index 00000000..7a01151b --- /dev/null +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64-be/toolchain-external-linaro-aarch64-be.mk @@ -0,0 +1,16 @@ +################################################################################ +# +# toolchain-external-linaro-aarch64-be +# +################################################################################ + +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION = 2018.05 +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_SITE = https://releases.linaro.org/components/toolchain/binaries/7.3-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION)/aarch64_be-linux-gnu + +ifeq ($(HOSTARCH),x86) +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION)-i686_aarch64_be-linux-gnu.tar.xz +else +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE_VERSION)-x86_64_aarch64_be-linux-gnu.tar.xz +endif + +$(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in index 9134c27f..aabf2cff 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64 - bool "Linaro AArch64 2017.11" + bool "Linaro AArch64 2018.05" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on !BR2_STATIC_LIBS diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash index fb24f1b3..938e37c7 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 3130033eaf18d7f7d775aa8ade1c7044683b0db6f332cae29cab7d1caaee97ed gcc-linaro-7.2.1-2017.11-i686_aarch64-linux-gnu.tar.xz -sha256 20181f828e1075f1a493947ff91e82dd578ce9f8638fbdfc39e24b62857d8f8d gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz +sha256 466b801a60491ae1e2ce9952e0615cf04cf611596c6ffd5bfe8a89ef5be47e03 gcc-linaro-7.3.1-2018.05-i686_aarch64-linux-gnu.tar.xz +sha256 73eed74e593e2267504efbcf3678918bb22409ab7afa3dc7c135d2c6790c2345 gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk index 93e00669..1015d630 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-aarch64/toolchain-external-linaro-aarch64.mk @@ -4,13 +4,13 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2017.11 -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/7.2-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2018.05 +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/7.3-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz else -TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz endif $(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in index d383273c..e880d5db 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/Config.in @@ -4,7 +4,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM - bool "Linaro ARM 2017.11" + bool "Linaro ARM 2018.05" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" @@ -19,8 +19,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM select BR2_TOOLCHAIN_HAS_FORTRAN help Linaro toolchain for the ARM architecture. It uses Linaro - GCC 2017.11 (based on gcc 7.2.1), Linaro GDB 2017.11 (based on - GDB 8.0), glibc 2.25, Binutils 2017.11 (based on 2.28). It + GCC 2018.05 (based on gcc 7.3.1), Linaro GDB 2018.05 (based on + GDB 8.1), glibc 2.25, Binutils 2018.05 (based on 2.28). It generates code that runs on all Cortex-A profile devices, but tuned for the Cortex-A9. The code generated is Thumb 2, with the hard floating point calling convention, and uses diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash index 352cbb25..bd09cb5a 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 72919a3a99d4e28309bc8b0e615f44c65824ef012de50db3ffe9a34776e6f510 gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabihf.tar.xz -sha256 cee0087b1f1205b73996651b99acd3a926d136e71047048f1758ffcec69b1ca2 gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz +sha256 0613b5be14eb7d50a772bbd72069c428558e6e53fa5fce7201d75a13a475ffff gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz +sha256 7248bf105d0d468887a9b8a7120bb281ac8ad0223d9cb3d00dc7c2d498485d91 gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk index 5437fe2d..fda356bc 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-arm/toolchain-external-linaro-arm.mk @@ -4,13 +4,13 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2017.11 -TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/7.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf +TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2018.05 +TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/7.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz else -TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz endif $(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in index a3dd3c90..ebc6edef 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/Config.in @@ -4,7 +4,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB - bool "Linaro armeb 2017.11" + bool "Linaro armeb 2018.05" depends on BR2_armeb depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" @@ -18,8 +18,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB select BR2_TOOLCHAIN_GCC_AT_LEAST_7 help Linaro toolchain for the ARM big endian architecture. It - uses Linaro GCC 2017.11 (based on gcc 7.2.1), Linaro GDB - 2017.11 (based on GDB 8.0), glibc 2.25, Binutils 2017.11 + uses Linaro GCC 2018.05 (based on gcc 7.3.1), Linaro GDB + 2018.05 (based on GDB 8.1), glibc 2.25, Binutils 2018.05 (based on 2.28). It generates code that runs on all Cortex-A profile devices, but tuned for the Cortex-A9. The code generated is Thumb 2, with the hard floating point calling diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash index c61611c0..a3b6b88b 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 1337734b61fa246ab20a371d2802d09ad80d7b17eb62327b3b69b9edfb6bc4a1 gcc-linaro-7.2.1-2017.11-i686_armeb-linux-gnueabihf.tar.xz -sha256 c313149b6ea14e31f643aeee39e1460ae4245b75c75befd042ff4b63a07971c0 gcc-linaro-7.2.1-2017.11-x86_64_armeb-linux-gnueabihf.tar.xz +sha256 60bf9924a0c039c94deb85cb9b129d0f28b28eadbb1fb3f7e2e227679cc43fc9 gcc-linaro-7.3.1-2018.05-i686_armeb-linux-gnueabihf.tar.xz +sha256 c1bbd598b78458d6b7ea1c971fddf736c00d57890c7131fdafd4e789289c42f9 gcc-linaro-7.3.1-2018.05-x86_64_armeb-linux-gnueabihf.tar.xz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk index 1daa1c93..b8ea80ff 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-linaro-armeb/toolchain-external-linaro-armeb.mk @@ -4,14 +4,14 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2017.11 +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2018.05 -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/7.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/7.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf ifeq ($(HOSTARCH),x86) -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz else -TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-7.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz +TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-7.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz endif $(eval $(toolchain-external-package)) diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in index fefbb47b..5cb0ce2a 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in @@ -1,7 +1,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC - bool "Synopsys ARC 2017.09 toolchain" + bool "Synopsys ARC 2018.09 toolchain" depends on BR2_arc - depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7 + depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_8 depends on BR2_HOSTARCH = "x86_64" select BR2_TOOLCHAIN_EXTERNAL_UCLIBC select BR2_INSTALL_LIBSTDCPP @@ -11,8 +11,8 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC select BR2_TOOLCHAIN_HAS_THREADS_NPTL select BR2_TOOLCHAIN_HAS_THREADS_DEBUG select BR2_TOOLCHAIN_HAS_SSP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 - select BR2_TOOLCHAIN_GCC_AT_LEAST_7 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15 + select BR2_TOOLCHAIN_GCC_AT_LEAST_8 help Toolchain for the ARC cores, from https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash index 3479e18c..20eac19c 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.hash @@ -1,5 +1,5 @@ -# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.09-release -sha256 ef74a7567a7341bc5e5d7bf6bcff64c2515be175d08a7def52df847583080ac2 arc_gnu_2017.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz -sha256 8a7620dd7500641de40adb2ae490d90d53fcad01d13f77ba305fc00df32a26e3 arc_gnu_2017.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz -sha256 ef7afba0da38cc08d863850f4987ebd16c71c8920c51990f490ad79389f102c1 arc_gnu_2017.09_prebuilt_uclibc_le_archs_linux_install.tar.gz -sha256 eab1d4872298008bd141104368ec0b7873af600a09704827f767ae57b067c874 arc_gnu_2017.09_prebuilt_uclibc_be_archs_linux_install.tar.gz +# From https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2018.09-release +sha256 324b422eec3b9b36ea64c9e13167a4467fc13ab230eff34f2fa785039b460c16 arc_gnu_2018.09_prebuilt_uclibc_le_arc700_linux_install.tar.gz +sha256 b0299ad9be0c300237789e5bf8e45d72bf040aab00c3718fbdb4160b75d2ed8f arc_gnu_2018.09_prebuilt_uclibc_be_arc700_linux_install.tar.gz +sha256 d1a4c039416b3da4d94ea066f861cc96ec60afec9c2bab1b2e937555b5e05238 arc_gnu_2018.09_prebuilt_uclibc_le_archs_linux_install.tar.gz +sha256 a519ed3686dc8e3c5f86646988d38647aa039f4af3204d9b7e84efa26cd37221 arc_gnu_2018.09_prebuilt_uclibc_be_archs_linux_install.tar.gz diff --git a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk index d751934c..e3ff17ff 100644 --- a/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk +++ b/bsp/buildroot/toolchain/toolchain-external/toolchain-external-synopsys-arc/toolchain-external-synopsys-arc.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2017.09 +TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION = 2018.09 TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_SITE = https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-$(TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC_VERSION)-release ifeq ($(BR2_arc750d)$(BR2_arc770d),y) diff --git a/bsp/buildroot/toolchain/toolchain-wrapper.c b/bsp/buildroot/toolchain/toolchain-wrapper.c index c5eb813d..e9c5cd9d 100644 --- a/bsp/buildroot/toolchain/toolchain-wrapper.c +++ b/bsp/buildroot/toolchain/toolchain-wrapper.c @@ -49,8 +49,12 @@ static char _date_[sizeof("-D__DATE__=\"MMM DD YYYY\"")]; * -D__TIME__= * -D__DATE__= * -Wno-builtin-macro-redefined + * -Wl,-z,now + * -Wl,-z,relro + * -fPIE + * -pie */ -#define EXCLUSIVE_ARGS 6 +#define EXCLUSIVE_ARGS 10 static char *predef_args[] = { #ifdef BR_CCACHE @@ -94,6 +98,15 @@ static char *predef_args[] = { #if defined(BR_MIPS_TARGET_BIG_ENDIAN) || defined(BR_ARC_TARGET_BIG_ENDIAN) "-EB", #endif +#ifdef BR_SSP_REGULAR + "-fstack-protector", +#endif +#ifdef BR_SSP_STRONG + "-fstack-protector-strong", +#endif +#ifdef BR_SSP_ALL + "-fstack-protector-all", +#endif #ifdef BR_ADDITIONAL_CFLAGS BR_ADDITIONAL_CFLAGS #endif @@ -236,7 +249,7 @@ int main(int argc, char **argv) char *env_debug; char *paranoid_wrapper; int paranoid; - int ret, i, count = 0, debug; + int ret, i, count = 0, debug, found_shared = 0; /* Calculate the relative paths */ basename = strrchr(progpath, '/'); @@ -363,6 +376,80 @@ int main(int argc, char **argv) *cur++ = "-Wno-builtin-macro-redefined"; } +#ifdef BR2_RELRO_FULL + /* Patterned after Fedora/Gentoo hardening approaches. + * https://fedoraproject.org/wiki/Changes/Harden_All_Packages + * https://wiki.gentoo.org/wiki/Hardened/Toolchain#Position_Independent_Executables_.28PIEs.29 + * + * A few checks are added to allow disabling of PIE + * 1) -fno-pie and -no-pie are used by other distros to disable PIE in + * cases where the compiler enables it by default. The logic below + * maintains that behavior. + * Ref: https://wiki.ubuntu.com/SecurityTeam/PIE + * 2) A check for -fno-PIE has been used in older Linux Kernel builds + * in a similar way to -fno-pie or -no-pie. + * 3) A check is added for Kernel and U-boot defines + * (-D__KERNEL__ and -D__UBOOT__). + */ + for (i = 1; i < argc; i++) { + /* Apply all incompatible link flag and disable checks first */ + if (!strcmp(argv[i], "-r") || + !strcmp(argv[i], "-Wl,-r") || + !strcmp(argv[i], "-static") || + !strcmp(argv[i], "-D__KERNEL__") || + !strcmp(argv[i], "-D__UBOOT__") || + !strcmp(argv[i], "-fno-pie") || + !strcmp(argv[i], "-fno-PIE") || + !strcmp(argv[i], "-no-pie")) + break; + /* Record that shared was present which disables -pie but don't + * break out of loop as a check needs to occur that possibly + * still allows -fPIE to be set + */ + if (!strcmp(argv[i], "-shared")) + found_shared = 1; + } + + if (i == argc) { + /* Compile and link condition checking have been kept split + * between these two loops, as there maybe already are valid + * compile flags set for position independence. In that case + * the wrapper just adds the -pie for link. + */ + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-fpie") || + !strcmp(argv[i], "-fPIE") || + !strcmp(argv[i], "-fpic") || + !strcmp(argv[i], "-fPIC")) + break; + } + /* Both args below can be set at compile/link time + * and are ignored correctly when not used + */ + if(i == argc) + *cur++ = "-fPIE"; + + if (!found_shared) + *cur++ = "-pie"; + } +#endif + /* Are we building the Linux Kernel or U-Boot? */ + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-D__KERNEL__") || + !strcmp(argv[i], "-D__UBOOT__")) + break; + } + if (i == argc) { + /* https://wiki.gentoo.org/wiki/Hardened/Toolchain#Mark_Read-Only_Appropriate_Sections */ +#ifdef BR2_RELRO_PARTIAL + *cur++ = "-Wl,-z,relro"; +#endif +#ifdef BR2_RELRO_FULL + *cur++ = "-Wl,-z,now"; + *cur++ = "-Wl,-z,relro"; +#endif + } + paranoid_wrapper = getenv("BR_COMPILER_PARANOID_UNSAFE_PATH"); if (paranoid_wrapper && strlen(paranoid_wrapper) > 0) paranoid = 1; diff --git a/bsp/buildroot/toolchain/toolchain-wrapper.mk b/bsp/buildroot/toolchain/toolchain-wrapper.mk index 6e95545e..613f5f6c 100644 --- a/bsp/buildroot/toolchain/toolchain-wrapper.mk +++ b/bsp/buildroot/toolchain/toolchain-wrapper.mk @@ -1,4 +1,8 @@ -# This file contains the definition of the toolchain wrapper build commands +################################################################################ +# +# definition of the toolchain wrapper build commands +# +################################################################################ # We use --hash-style=both to increase the compatibility of the generated # binary with older platforms, except for MIPS, where the only acceptable @@ -41,6 +45,20 @@ ifeq ($(BR2_CCACHE_USE_BASEDIR),y) TOOLCHAIN_WRAPPER_ARGS += -DBR_CCACHE_BASEDIR='"$(BASE_DIR)"' endif +ifeq ($(BR2_RELRO_PARTIAL),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR2_RELRO_PARTIAL +else ifeq ($(BR2_RELRO_FULL),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR2_RELRO_FULL +endif + +ifeq ($(BR2_SSP_REGULAR),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR_SSP_REGULAR +else ifeq ($(BR2_SSP_STRONG),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR_SSP_STRONG +else ifeq ($(BR2_SSP_ALL),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR_SSP_ALL +endif + define TOOLCHAIN_WRAPPER_BUILD $(HOSTCC) $(HOST_CFLAGS) $(TOOLCHAIN_WRAPPER_ARGS) \ -s -Wl,--hash-style=$(TOOLCHAIN_WRAPPER_HASH_STYLE) \ diff --git a/bsp/buildroot/toolchain/toolchain.mk b/bsp/buildroot/toolchain/toolchain.mk index 59fc905c..08d16496 100644 --- a/bsp/buildroot/toolchain/toolchain.mk +++ b/bsp/buildroot/toolchain/toolchain.mk @@ -1,22 +1,16 @@ -# This file contains toolchain-related customisation of the content -# of the target/ directory. Those customisations are added to the -# TARGET_FINALIZE_HOOKS, to be applied just after all packages -# have been built. +################################################################################ +# +# toolchain-related customisation of the content of the target/ directory +# +################################################################################ -# Install default nsswitch.conf file if the skeleton doesn't provide it -ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) -define GLIBC_COPY_NSSWITCH_FILE - $(Q)if [ ! -f "$(TARGET_DIR)/etc/nsswitch.conf" ]; then \ - $(INSTALL) -D -m 0644 package/glibc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf ; \ - fi -endef -TOOLCHAIN_TARGET_FINALIZE_HOOKS += GLIBC_COPY_NSSWITCH_FILE -endif +# Those customisations are added to the TARGET_FINALIZE_HOOKS, to be applied +# just after all packages have been built. # Install the gconv modules ifeq ($(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY),y) -GCONV_LIBS = $(call qstrip,$(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST)) -define COPY_GCONV_LIBS +TOOLCHAIN_GLIBC_GCONV_LIBS = $(call qstrip,$(BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_LIST)) +define TOOLCHAIN_GLIBC_COPY_GCONV_LIBS $(Q)found_gconv=no; \ for d in $(TOOLCHAIN_EXTERNAL_PREFIX) ''; do \ [ -d "$(STAGING_DIR)/usr/lib/$${d}/gconv" ] || continue; \ @@ -27,14 +21,14 @@ define COPY_GCONV_LIBS printf "Unable to find gconv modules\n" >&2; \ exit 1; \ fi; \ - if [ -z "$(GCONV_LIBS)" ]; then \ + if [ -z "$(TOOLCHAIN_GLIBC_GCONV_LIBS)" ]; then \ $(INSTALL) -m 0644 -D $(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules \ $(TARGET_DIR)/usr/lib/gconv/gconv-modules && \ $(INSTALL) -m 0644 $(STAGING_DIR)/usr/lib/$${d}/gconv/*.so \ $(TARGET_DIR)/usr/lib/gconv \ || exit 1; \ else \ - for l in $(GCONV_LIBS); do \ + for l in $(TOOLCHAIN_GLIBC_GCONV_LIBS); do \ $(INSTALL) -m 0644 -D $(STAGING_DIR)/usr/lib/$${d}/gconv/$${l}.so \ $(TARGET_DIR)/usr/lib/gconv/$${l}.so \ || exit 1; \ @@ -47,10 +41,10 @@ define COPY_GCONV_LIBS || exit 1; \ done; \ done; \ - ./support/scripts/expunge-gconv-modules "$(GCONV_LIBS)" \ + ./support/scripts/expunge-gconv-modules "$(TOOLCHAIN_GLIBC_GCONV_LIBS)" \ <$(STAGING_DIR)/usr/lib/$${d}/gconv/gconv-modules \ >$(TARGET_DIR)/usr/lib/gconv/gconv-modules; \ fi endef -TOOLCHAIN_TARGET_FINALIZE_HOOKS += COPY_GCONV_LIBS +TOOLCHAIN_TARGET_FINALIZE_HOOKS += TOOLCHAIN_GLIBC_COPY_GCONV_LIBS endif diff --git a/bsp/buildroot/toolchain/toolchain/toolchain.mk b/bsp/buildroot/toolchain/toolchain/toolchain.mk index 179c09ed..17fb6214 100644 --- a/bsp/buildroot/toolchain/toolchain/toolchain.mk +++ b/bsp/buildroot/toolchain/toolchain/toolchain.mk @@ -37,7 +37,14 @@ TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_MUSL_KERNEL_HEADERS_COMPATIBIL TOOLCHAIN_INSTALL_STAGING = YES endif -$(eval $(virtual-package)) +# Install default nsswitch.conf file if the skeleton doesn't provide it +ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) +define GLIBC_COPY_NSSWITCH_FILE + @if [ ! -f "$(TARGET_DIR)/etc/nsswitch.conf" ]; then \ + $(INSTALL) -D -m 0644 package/glibc/nsswitch.conf $(TARGET_DIR)/etc/nsswitch.conf ; \ + fi +endef +TOOLCHAIN_POST_INSTALL_TARGET_HOOKS += GLIBC_COPY_NSSWITCH_FILE +endif -toolchain: $(HOST_DIR)/share/buildroot/toolchainfile.cmake -toolchain: $(HOST_DIR)/share/buildroot/Platform/Buildroot.cmake +$(eval $(virtual-package)) diff --git a/bsp/buildroot/utils/check-package b/bsp/buildroot/utils/check-package index a87a74de..ce1fe98d 100755 --- a/bsp/buildroot/utils/check-package +++ b/bsp/buildroot/utils/check-package @@ -4,7 +4,9 @@ from __future__ import print_function import argparse import inspect +import os import re +import six import sys import checkpackagelib.lib_config @@ -24,6 +26,9 @@ def parse_args(): parser.add_argument("files", metavar="F", type=str, nargs="*", help="list of files") + parser.add_argument("--br2-external", "-b", dest='intree_only', action="store_false", + help="do not apply the pathname filters used for intree files") + parser.add_argument("--manual-url", action="store", default="http://nightly.buildroot.org/", help="default: %(default)s") @@ -40,13 +45,33 @@ def parse_args(): return parser.parse_args() -CONFIG_IN_FILENAME = re.compile("/Config\.\S*$") -FILE_IS_FROM_A_PACKAGE = re.compile("package/[^/]*/") +CONFIG_IN_FILENAME = re.compile("Config\.\S*$") +DO_CHECK_INTREE = re.compile("|".join([ + "Config.in", + "arch/", + "boot/", + "fs/", + "linux/", + "package/", + "system/", + "toolchain/", + ])) +DO_NOT_CHECK_INTREE = re.compile("|".join([ + "boot/barebox/barebox\.mk$", + "fs/common\.mk$", + "package/doc-asciidoc\.mk$", + "package/pkg-\S*\.mk$", + "toolchain/helpers\.mk$", + "toolchain/toolchain-external/pkg-toolchain-external\.mk$", + ])) def get_lib_from_filename(fname): - if FILE_IS_FROM_A_PACKAGE.search(fname) is None: - return None + if flags.intree_only: + if DO_CHECK_INTREE.match(fname) is None: + return None + if DO_NOT_CHECK_INTREE.match(fname): + return None if CONFIG_IN_FILENAME.search(fname): return checkpackagelib.lib_config if fname.endswith(".hash"): @@ -103,10 +128,19 @@ def check_file_using_lib(fname): for cf in objects: nwarnings += print_warnings(cf.before()) - for lineno, text in enumerate(open(fname, "r").readlines()): + if six.PY3: + f = open(fname, "r", errors="surrogateescape") + else: + f = open(fname, "r") + lastline = "" + for lineno, text in enumerate(f.readlines()): nlines += 1 for cf in objects: + if cf.disable.search(lastline): + continue nwarnings += print_warnings(cf.check_line(lineno + 1, text)) + lastline = text + f.close() for cf in objects: nwarnings += print_warnings(cf.after()) @@ -117,7 +151,16 @@ def __main__(): global flags flags = parse_args() - if len(flags.files) == 0: + if flags.intree_only: + # change all paths received to be relative to the base dir + base_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + files_to_check = [os.path.relpath(os.path.abspath(f), base_dir) for f in flags.files] + # move current dir so the script find the files + os.chdir(base_dir) + else: + files_to_check = flags.files + + if len(files_to_check) == 0: print("No files to check style") sys.exit(1) @@ -125,7 +168,7 @@ def __main__(): total_warnings = 0 total_lines = 0 - for fname in flags.files: + for fname in files_to_check: nwarnings, nlines = check_file_using_lib(fname) total_warnings += nwarnings total_lines += nlines diff --git a/bsp/buildroot/utils/checkpackagelib/base.py b/bsp/buildroot/utils/checkpackagelib/base.py index fc09bec9..9544a64e 100644 --- a/bsp/buildroot/utils/checkpackagelib/base.py +++ b/bsp/buildroot/utils/checkpackagelib/base.py @@ -1,10 +1,12 @@ # See utils/checkpackagelib/readme.txt before editing this file. +import re class _CheckFunction(object): def __init__(self, filename, url_to_manual): self.filename = filename self.url_to_manual = url_to_manual + self.disable = re.compile(r"^\s*# check-package .*\b{}\b".format(self.__class__.__name__)) def before(self): pass diff --git a/bsp/buildroot/utils/checkpackagelib/lib.py b/bsp/buildroot/utils/checkpackagelib/lib.py index 91f4ad49..6afe1aab 100644 --- a/bsp/buildroot/utils/checkpackagelib/lib.py +++ b/bsp/buildroot/utils/checkpackagelib/lib.py @@ -1,6 +1,6 @@ # See utils/checkpackagelib/readme.txt before editing this file. -from base import _CheckFunction +from checkpackagelib.base import _CheckFunction class ConsecutiveEmptyLines(_CheckFunction): diff --git a/bsp/buildroot/utils/checkpackagelib/lib_config.py b/bsp/buildroot/utils/checkpackagelib/lib_config.py index 11d885f8..89d44da5 100644 --- a/bsp/buildroot/utils/checkpackagelib/lib_config.py +++ b/bsp/buildroot/utils/checkpackagelib/lib_config.py @@ -5,11 +5,11 @@ import re -from base import _CheckFunction -from lib import ConsecutiveEmptyLines # noqa: F401 -from lib import EmptyLastLine # noqa: F401 -from lib import NewlineAtEof # noqa: F401 -from lib import TrailingSpace # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 def _empty_or_comment(text): @@ -132,6 +132,12 @@ class Indent(_CheckFunction): text] elif entry in entries_that_should_not_be_indented: if not text.startswith(entry): + # four Config.in files have a special but legitimate indentation rule + if self.filename in ["package/Config.in", + "package/Config.in.host", + "package/kodi/Config.in", + "package/x11r7/Config.in"]: + return return ["{}:{}: should not be indented" .format(self.filename, lineno), text] diff --git a/bsp/buildroot/utils/checkpackagelib/lib_hash.py b/bsp/buildroot/utils/checkpackagelib/lib_hash.py index 6d4cc9fd..3e381119 100644 --- a/bsp/buildroot/utils/checkpackagelib/lib_hash.py +++ b/bsp/buildroot/utils/checkpackagelib/lib_hash.py @@ -5,11 +5,11 @@ import re -from base import _CheckFunction -from lib import ConsecutiveEmptyLines # noqa: F401 -from lib import EmptyLastLine # noqa: F401 -from lib import NewlineAtEof # noqa: F401 -from lib import TrailingSpace # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 def _empty_line_or_comment(text): diff --git a/bsp/buildroot/utils/checkpackagelib/lib_mk.py b/bsp/buildroot/utils/checkpackagelib/lib_mk.py index 2df2e1a8..00efeb7f 100644 --- a/bsp/buildroot/utils/checkpackagelib/lib_mk.py +++ b/bsp/buildroot/utils/checkpackagelib/lib_mk.py @@ -6,16 +6,20 @@ import re -from base import _CheckFunction -from lib import ConsecutiveEmptyLines # noqa: F401 -from lib import EmptyLastLine # noqa: F401 -from lib import NewlineAtEof # noqa: F401 -from lib import TrailingSpace # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import ConsecutiveEmptyLines # noqa: F401 +from checkpackagelib.lib import EmptyLastLine # noqa: F401 +from checkpackagelib.lib import NewlineAtEof # noqa: F401 +from checkpackagelib.lib import TrailingSpace # noqa: F401 + +# used in more than one check +start_conditional = ["ifdef", "ifeq", "ifndef", "ifneq"] +end_conditional = ["endif"] class Indent(_CheckFunction): COMMENT = re.compile("^\s*#") - CONDITIONAL = re.compile("^\s*(ifeq|ifneq|endif)\s") + CONDITIONAL = re.compile("^\s*({})\s".format("|".join(start_conditional + end_conditional))) ENDS_WITH_BACKSLASH = re.compile(r"^[^#].*\\$") END_DEFINE = re.compile("^\s*endef\s") MAKEFILE_TARGET = re.compile("^[^# \t]+:\s") @@ -69,6 +73,66 @@ class Indent(_CheckFunction): text] +class OverriddenVariable(_CheckFunction): + CONCATENATING = re.compile("^([A-Z0-9_]+)\s*(\+|:|)=\s*\$\(\\1\)") + END_CONDITIONAL = re.compile("^\s*({})".format("|".join(end_conditional))) + OVERRIDING_ASSIGNMENTS = [':=', "="] + START_CONDITIONAL = re.compile("^\s*({})".format("|".join(start_conditional))) + VARIABLE = re.compile("^([A-Z0-9_]+)\s*((\+|:|)=)") + USUALLY_OVERRIDDEN = re.compile("^[A-Z0-9_]+({})".format("|".join([ + "_ARCH\s*=\s*", + "_CPU\s*=\s*", + "_SITE\s*=\s*", + "_SOURCE\s*=\s*", + "_VERSION\s*=\s*"]))) + + def before(self): + self.conditional = 0 + self.unconditionally_set = [] + self.conditionally_set = [] + + def check_line(self, lineno, text): + if self.START_CONDITIONAL.search(text): + self.conditional += 1 + return + if self.END_CONDITIONAL.search(text): + self.conditional -= 1 + return + + m = self.VARIABLE.search(text) + if m is None: + return + variable, assignment = m.group(1, 2) + + if self.conditional == 0: + if variable in self.conditionally_set: + self.unconditionally_set.append(variable) + if assignment in self.OVERRIDING_ASSIGNMENTS: + return ["{}:{}: unconditional override of variable {} previously conditionally set" + .format(self.filename, lineno, variable), + text] + + if variable not in self.unconditionally_set: + self.unconditionally_set.append(variable) + return + if assignment in self.OVERRIDING_ASSIGNMENTS: + return ["{}:{}: unconditional override of variable {}" + .format(self.filename, lineno, variable), + text] + else: + if variable not in self.unconditionally_set: + self.conditionally_set.append(variable) + return + if self.CONCATENATING.search(text): + return + if self.USUALLY_OVERRIDDEN.search(text): + return + if assignment in self.OVERRIDING_ASSIGNMENTS: + return ["{}:{}: conditional override of variable {}" + .format(self.filename, lineno, variable), + text] + + class PackageHeader(_CheckFunction): def before(self): self.skip = False @@ -123,7 +187,7 @@ class RemoveDefaultPackageSourceVariable(_CheckFunction): class SpaceBeforeBackslash(_CheckFunction): - TAB_OR_MULTIPLE_SPACES_BEFORE_BACKSLASH = re.compile(r"^.*( |\t)\\$") + TAB_OR_MULTIPLE_SPACES_BEFORE_BACKSLASH = re.compile(r"^.*( |\t ?)\\$") def check_line(self, lineno, text): if self.TAB_OR_MULTIPLE_SPACES_BEFORE_BACKSLASH.match(text.rstrip()): @@ -159,14 +223,19 @@ class TypoInPackageVariable(_CheckFunction): "ACLOCAL_DIR", "ACLOCAL_HOST_DIR", "BR_CCACHE_INITIAL_SETUP", + "BR_LIBC", "BR_NO_CHECK_HASH_FOR", + "LINUX_EXTENSIONS", "LINUX_POST_PATCH_HOOKS", "LINUX_TOOLS", "LUA_RUN", "MKFS_JFFS2", "MKIMAGE_ARCH", + "PACKAGES_PERMISSIONS_TABLE", "PKG_CONFIG_HOST_BINARY", + "SUMTOOL", "TARGET_FINALIZE_HOOKS", + "TARGETS_ROOTFS", "XTENSA_CORE_NAME"])) PACKAGE_NAME = re.compile("/([^/]+)\.mk") VARIABLE = re.compile("^([A-Z0-9_]+_[A-Z0-9_]+)\s*(\+|)=") @@ -176,8 +245,10 @@ class TypoInPackageVariable(_CheckFunction): package = package.replace("-", "_").upper() # linux tools do not use LINUX_TOOL_ prefix for variables package = package.replace("LINUX_TOOL_", "") + # linux extensions do not use LINUX_EXT_ prefix for variables + package = package.replace("LINUX_EXT_", "") self.package = package - self.REGEX = re.compile("^(HOST_)?({}_[A-Z0-9_]+)".format(package)) + self.REGEX = re.compile("^(HOST_|ROOTFS_)?({}_[A-Z0-9_]+)".format(package)) self.FIND_VIRTUAL = re.compile( "^{}_PROVIDES\s*(\+|)=\s*(.*)".format(package)) self.virtual = [] @@ -215,8 +286,8 @@ class UselessFlag(_CheckFunction): "_INSTALL_REDISTRIBUTE\s*=\s*YES", "_INSTALL_STAGING\s*=\s*NO", "_INSTALL_TARGET\s*=\s*YES"]))) - END_CONDITIONAL = re.compile("^\s*(endif)") - START_CONDITIONAL = re.compile("^\s*(ifeq|ifneq)") + END_CONDITIONAL = re.compile("^\s*({})".format("|".join(end_conditional))) + START_CONDITIONAL = re.compile("^\s*({})".format("|".join(start_conditional))) def before(self): self.conditional = 0 @@ -244,3 +315,13 @@ class UselessFlag(_CheckFunction): "({}#_infrastructure_for_autotools_based_packages)" .format(self.filename, lineno, self.url_to_manual), text] + + +class VariableWithBraces(_CheckFunction): + VARIABLE_WITH_BRACES = re.compile(r"^[^#].*[^$]\${\w+}") + + def check_line(self, lineno, text): + if self.VARIABLE_WITH_BRACES.match(text.rstrip()): + return ["{}:{}: use $() to delimit variables, not ${{}}" + .format(self.filename, lineno), + text] diff --git a/bsp/buildroot/utils/checkpackagelib/lib_patch.py b/bsp/buildroot/utils/checkpackagelib/lib_patch.py index 555621af..453b782e 100644 --- a/bsp/buildroot/utils/checkpackagelib/lib_patch.py +++ b/bsp/buildroot/utils/checkpackagelib/lib_patch.py @@ -5,8 +5,8 @@ import re -from base import _CheckFunction -from lib import NewlineAtEof # noqa: F401 +from checkpackagelib.base import _CheckFunction +from checkpackagelib.lib import NewlineAtEof # noqa: F401 class ApplyOrder(_CheckFunction): diff --git a/bsp/buildroot/utils/genrandconfig b/bsp/buildroot/utils/genrandconfig index fa2c0f7f..a2190d6d 100755 --- a/bsp/buildroot/utils/genrandconfig +++ b/bsp/buildroot/utils/genrandconfig @@ -127,7 +127,7 @@ def get_toolchain_configs(toolchains_csv, buildrootdir): with open(toolchains_csv) as r: # filter empty lines and comments - lines = [ t for t in r.readlines() if len(t.strip()) > 0 and t[0] != '#' ] + lines = [t for t in r.readlines() if len(t.strip()) > 0 and t[0] != '#'] toolchains = decode_byte_list(lines) configs = [] @@ -187,6 +187,7 @@ def is_toolchain_usable(configfile, config): if platform.machine() == 'x86_64': if 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM=y\n' in configlines or \ 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64=y\n' in configlines or \ + 'BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64_BE=y\n' in configlines or \ 'BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB=y\n' in configlines: ldd_version_output = subprocess.check_output(['ldd', '--version']) glibc_version = ldd_version_output.splitlines()[0].split()[-1] @@ -210,6 +211,8 @@ def fixup_config(configfile): with open(configfile) as configf: configlines = configf.readlines() + BR2_TOOLCHAIN_EXTERNAL_URL = 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/' + if "BR2_NEEDS_HOST_JAVA=y\n" in configlines and not sysinfo.has("java"): return False if "BR2_NEEDS_HOST_JAVAC=y\n" in configlines and not sysinfo.has("javac"): @@ -221,36 +224,36 @@ def fixup_config(configfile): return False # The ctng toolchain is affected by PR58854 if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv5-ctng-linux-gnueabi.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'armv5-ctng-linux-gnueabi.tar.xz"\n' in configlines: return False # The ctng toolchain tigger an assembler error with guile package when compiled with -Os (same issue as for CS ARM 2014.05-29) if 'BR2_PACKAGE_GUILE=y\n' in configlines and \ 'BR2_OPTIMIZE_S=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv5-ctng-linux-gnueabi.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'armv5-ctng-linux-gnueabi.tar.xz"\n' in configlines: return False # The ctng toolchain is affected by PR58854 if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv6-ctng-linux-uclibcgnueabi.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'armv6-ctng-linux-uclibcgnueabi.tar.xz"\n' in configlines: return False # The ctng toolchain is affected by PR58854 if 'BR2_PACKAGE_LTTNG_TOOLS=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/armv7-ctng-linux-gnueabihf.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'armv7-ctng-linux-gnueabihf.tar.xz"\n' in configlines: return False # The ctng toolchain is affected by PR60155 if 'BR2_PACKAGE_SDL=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'powerpc-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # The ctng toolchain is affected by PR60155 if 'BR2_PACKAGE_LIBMPEG2=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/powerpc-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'powerpc-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # This MIPS toolchain uses eglibc-2.18 which lacks SYS_getdents64 if 'BR2_PACKAGE_STRONGSWAN=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: return False # This MIPS toolchain uses eglibc-2.18 which lacks SYS_getdents64 if 'BR2_PACKAGE_PYTHON3=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: return False # libffi not available on sh2a and ARMv7-M, but propagating libffi # arch dependencies in Buildroot is really too much work, so we @@ -266,37 +269,37 @@ def fixup_config(configfile): configlines.append('BR2_PACKAGE_SUNXI_BOARDS_FEX_FILE="a10/hackberry.fex"\n') # This MIPS uClibc toolchain fails to build the gdb package if 'BR2_PACKAGE_GDB=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # This MIPS uClibc toolchain fails to build the rt-tests package if 'BR2_PACKAGE_RT_TESTS=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # This MIPS uClibc toolchain fails to build the civetweb package if 'BR2_PACKAGE_CIVETWEB=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # This MIPS ctng toolchain fails to build the python3 package if 'BR2_PACKAGE_PYTHON3=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mips64el-ctng_n64-linux-gnu.tar.xz"\n' in configlines: return False # This MIPS uClibc toolchain fails to build the strace package if 'BR2_PACKAGE_STRACE=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # This MIPS uClibc toolchain fails to build the cdrkit package if 'BR2_PACKAGE_CDRKIT=y\n' in configlines and \ 'BR2_STATIC_LIBS=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # uClibc vfork static linking issue if 'BR2_PACKAGE_ALSA_LIB=y\n' in configlines and \ 'BR2_STATIC_LIBS=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/i486-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'i486-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # This MIPS uClibc toolchain fails to build the weston package if 'BR2_PACKAGE_WESTON=y\n' in configlines and \ - 'BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: + BR2_TOOLCHAIN_EXTERNAL_URL + 'mipsel-ctng-linux-uclibc.tar.xz"\n' in configlines: return False # The cs nios2 2017.02 toolchain is affected by binutils PR19405 if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ @@ -307,17 +310,9 @@ def fixup_config(configfile): 'BR2_PACKAGE_QT5BASE_GUI=y\n' in configlines: return False # The cs nios2 2017.02 toolchain is affected by binutils PR19405 - if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ - 'BR2_PACKAGE_QT_GUI_MODULE=y\n' in configlines: - return False - # The cs nios2 2017.02 toolchain is affected by binutils PR19405 if 'BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII=y\n' in configlines and \ 'BR2_PACKAGE_FLANN=y\n' in configlines: return False - # or1k affected by binutils PR21464 - if 'BR2_or1k=y\n' in configlines and \ - 'BR2_PACKAGE_QT_GUI_MODULE=y\n' in configlines: - return False with open(configfile, "w+") as configf: configf.writelines(configlines) @@ -363,6 +358,8 @@ def gen_config(args): configlines.append("BR2_STATIC_LIBS=y\n") if randint(0, 20) == 0: configlines.append("BR2_PACKAGE_PYTHON_PY_ONLY=y\n") + if randint(0, 5) == 0: + configlines.append("BR2_OPTIMIZE_2=y\n") # Write out the configuration file if not os.path.exists(args.outputdir): @@ -405,7 +402,7 @@ def gen_config(args): "savedefconfig"]) return subprocess.call(["make", "O=%s" % args.outputdir, "-C", args.buildrootdir, - "core-dependencies"]) + "dependencies"]) if __name__ == '__main__': diff --git a/bsp/buildroot/utils/get-developers b/bsp/buildroot/utils/get-developers index c8879388..750fc556 100755 --- a/bsp/buildroot/utils/get-developers +++ b/bsp/buildroot/utils/get-developers @@ -24,11 +24,6 @@ def parse_args(): def __main__(): - # DEVELOPERS is one level up from here - devs_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') - devs = getdeveloperlib.parse_developers(devs_dir) - if devs is None: - sys.exit(1) args = parse_args() # Check that only one action is given @@ -50,9 +45,17 @@ def __main__(): print("No action specified") return + # getdeveloperlib expects to be executed from the toplevel buildroot + # directory, which is one level up from this script + os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) + + devs = getdeveloperlib.parse_developers() + if devs is None: + sys.exit(1) + # Handle the check action if args.check: - files = getdeveloperlib.check_developers(devs, devs_dir) + files = getdeveloperlib.check_developers(devs) for f in files: print(f) diff --git a/bsp/buildroot/utils/getdeveloperlib.py b/bsp/buildroot/utils/getdeveloperlib.py index 84665520..2c8d4775 100644 --- a/bsp/buildroot/utils/getdeveloperlib.py +++ b/bsp/buildroot/utils/getdeveloperlib.py @@ -158,8 +158,6 @@ def parse_developers(basepath=None): linen = 0 if basepath is None: basepath = os.getcwd() - else: - basepath = os.path.abspath(basepath) with open(os.path.join(basepath, "DEVELOPERS"), "r") as f: files = [] name = None diff --git a/bsp/buildroot/utils/scancpan b/bsp/buildroot/utils/scancpan index 6d1cdc57..8073ad19 100755 --- a/bsp/buildroot/utils/scancpan +++ b/bsp/buildroot/utils/scancpan @@ -483,10 +483,13 @@ use Module::CoreList; use HTTP::Tiny; use Safe; use MetaCPAN::API::Tiny; +use Digest::SHA qw(sha256_hex); +use Text::Wrap; +$Text::Wrap::columns = 62; -# Below, 5.026 should be aligned with the version of perl actually +# Below, 5.028 should be aligned with the version of perl actually # bundled in Buildroot: -die <<"MSG" if $] < 5.026; +die <<"MSG" if $] < 5.028; This script needs a host perl with the same major version as Buildroot target perl. Your current host perl is: @@ -494,7 +497,7 @@ Your current host perl is: version $] You may install a local one by running: - perlbrew install perl-5.26.0 + perlbrew install perl-5.28.0 MSG my ($help, $man, $quiet, $force, $recommend, $test, $host); @@ -516,14 +519,25 @@ my %dist; # name -> metacpan data my %need_target; # name -> 1 if target package is needed my %need_host; # name -> 1 if host package is needed my %need_dlopen; # name -> 1 if requires dynamic library +my %is_xs; # name -> 1 if XS module my %deps_build; # name -> list of host dependencies my %deps_runtime; # name -> list of target dependencies -my %deps_optional; # name -> list of optional target dependencies -my %license_files; # name -> list of license files +my %license_files; # name -> hash of license files my %checksum; # author -> list of checksum my $mirror = 'http://cpan.metacpan.org'; # a CPAN mirror my $mcpan = MetaCPAN::API::Tiny->new(base_url => 'http://fastapi.metacpan.org/v1'); my $ua = HTTP::Tiny->new(); +my $new_pkgs; + +my %white_list = ( + 'ExtUtils-Config' => 1, + 'ExtUtils-InstallPaths' => 1, + 'ExtUtils-Helpers' => 1, + 'File-ShareDir-Install' => 1, + 'Module-Build' => 1, + 'Module-Build-Tiny' => 1, +); +my @info = (); sub get_checksum { my ($url) = @_; @@ -556,7 +570,36 @@ sub find_license_files { if (scalar @license_files == 0 && $manifest =~ m/(README)[\n\s]/i) { @license_files = ($1); } - return \@license_files; + if (scalar @license_files == 0 && $manifest =~ m/(README\.md)[\n\s]/i) { + @license_files = ($1); + } + return @license_files; +} + +sub want_test { + my ($distname) = @_; + return 1 if $need_dlopen{$distname} && scalar @{$deps_runtime{$distname}} > 0; +} + +sub get_dependencies { + my ($distname) = @_; + my %dep = map { $_ => 1 } @{$deps_runtime{$distname}}; + for my $direct (@{$deps_runtime{$distname}}) { + for (get_dependencies( $direct )) { + $dep{$_} = 1; + } + } + return keys %dep; +} + +sub get_indirect_dependencies { + my ($distname) = @_; + my %indirect; + my %direct = map { $_ => 1 } @{$deps_runtime{$distname}}; + for my $dep (get_dependencies( $distname )) { + $indirect{$dep} = 1 unless exists $direct{$dep}; + } + return keys %indirect; } sub fetch { @@ -567,16 +610,19 @@ sub fetch { say qq{fetch ${name}} unless $quiet; my $result = $mcpan->release( distribution => $name ); $dist{$name} = $result; + $license_files{$name} = {}; eval { - my $manifest = $mcpan->source( author => $result->{author}, - release => $name . q{-} . $result->{version}, - path => 'MANIFEST' ); - $need_dlopen{$name} = is_xs( $manifest ); - $license_files{$name} = find_license_files( $manifest ); + my $author = $result->{author}; + my $release = $name . q{-} . $result->{version}; + my $manifest = $mcpan->source( author => $author, release => $release, path => 'MANIFEST' ); + $need_dlopen{$name} = $is_xs{$name} = is_xs( $manifest ); + foreach my $fname (find_license_files( $manifest )) { + my $license = $mcpan->source( author => $author, release => $release, path => $fname ); + $license_files{$name}->{$fname} = sha256_hex( $license ); + } }; if ($@) { warn $@; - $license_files{$name} = []; } my %build = (); my %runtime = (); @@ -591,6 +637,7 @@ sub fetch { # we could use the host Module::CoreList data, because host perl and # target perl have the same major version next if ${$dep}{phase} eq q{develop}; + next if ${$dep}{phase} eq q{x_Dist_Zilla}; next if !($test && $top) && ${$dep}{phase} eq q{test}; my $distname = $mcpan->module( $modname )->{distribution}; if (${$dep}{phase} eq q{runtime}) { @@ -603,11 +650,12 @@ sub fetch { } else { # configure, build $build{$distname} = 1; + push @info, qq{[$name] suspicious dependency on $distname} + unless exists $white_list{$distname}; } } $deps_build{$name} = [keys %build]; $deps_runtime{$name} = [keys %runtime]; - $deps_optional{$name} = [keys %optional]; foreach my $distname (@{$deps_build{$name}}) { fetch( $distname, 0, 1 ); } @@ -615,7 +663,7 @@ sub fetch { fetch( $distname, $need_target, $need_host ); $need_dlopen{$name} ||= $need_dlopen{$distname}; } - foreach my $distname (@{$deps_optional{$name}}) { + foreach my $distname (keys %optional) { fetch( $distname, $need_target, $need_host ); } } @@ -642,6 +690,24 @@ sub brname { return uc $name; } +# Buildroot requires license name as in http://spdx.org/licenses/ +sub brlicense { + my $license = shift; + $license =~ s|apache_1_1|Apache-1.1|; + $license =~ s|apache_2_0|Apache-2.0|; + $license =~ s|artistic_2|Artistic-2.0|; + $license =~ s|artistic|Artistic-1.0|; + $license =~ s|lgpl_2_1|LGPL-2.1|; + $license =~ s|lgpl_3_0|LGPL-3.0|; + $license =~ s|gpl_2|GPL-2.0|; + $license =~ s|gpl_3|GPL-3.0|; + $license =~ s|mit|MIT|; + $license =~ s|mozilla_1_1|Mozilla-1.1|; + $license =~ s|openssl|OpenSSL|; + $license =~ s|perl_5|Artistic or GPL-1.0+|; + return $license; +} + while (my ($distname, $dist) = each %dist) { my $fsname = fsname( $distname ); my $dirname = q{package/} . $fsname; @@ -649,9 +715,15 @@ while (my ($distname, $dist) = each %dist) { my $mkname = $dirname . q{/} . $fsname . q{.mk}; my $hashname = $dirname . q{/} . $fsname . q{.hash}; my $brname = brname( $fsname ); - mkdir $dirname unless -d $dirname; + my $testname = q{support/testing/tests/package/test_} . lc $brname . q{.py}; + unless (-d $dirname) { + mkdir $dirname; + $new_pkgs = 1; + } if ($need_target{$distname} && ($force || !-f $cfgname)) { - my $abstract = $dist->{abstract}; + $dist->{abstract} =~ s|\s+$||; + $dist->{abstract} .= q{.} unless $dist->{abstract} =~ m|\.$|; + my $abstract = wrap( q{}, qq{\t }, $dist->{abstract} ); my $homepage = $dist->{resources}->{homepage} || qq{https://metacpan.org/release/${distname}}; say qq{write ${cfgname}} unless $quiet; open my $fh, q{>}, $cfgname; @@ -660,7 +732,7 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{\tdepends on !BR2_STATIC_LIBS} if $need_dlopen{$distname}; foreach my $dep (sort @{$deps_runtime{$distname}}) { my $brdep = brname( fsname( $dep ) ); - say {$fh} qq{\tselect BR2_PACKAGE_${brdep}}; + say {$fh} qq{\tselect BR2_PACKAGE_${brdep} # runtime}; } say {$fh} qq{\thelp}; say {$fh} qq{\t ${abstract}\n} if $abstract; @@ -679,20 +751,21 @@ while (my ($distname, $dist) = each %dist) { # the auth part is not used, because we use $(BR2_CPAN_MIRROR) my ($filename, $directories, $suffix) = fileparse( $path, q{tar.gz}, q{tgz} ); $directories =~ s|/$||; - my $dependencies = join q{ }, map( { q{host-} . fsname( $_ ); } sort @{$deps_build{$distname}} ), - map( { fsname( $_ ); } sort @{$deps_runtime{$distname}} ); - my $host_dependencies = join q{ }, map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}}, - @{$deps_runtime{$distname}} ); - my $license = ref $dist->{license} eq 'ARRAY' - ? join q{ or }, @{$dist->{license}} - : $dist->{license}; - # BR requires license name as in http://spdx.org/licenses/ - $license =~ s|apache_2_0|Apache-2.0|; - $license =~ s|artistic_2|Artistic-2.0|; - $license =~ s|mit|MIT|; - $license =~ s|openssl|OpenSSL|; - $license =~ s|perl_5|Artistic or GPL-1.0+|; - my $license_files = join q{ }, @{$license_files{$distname}}; + my @dependencies = map( { q{host-} . fsname( $_ ); } sort @{$deps_build{$distname}} ); + my $dependencies = join qq{ \\\n\t}, @dependencies; + $dependencies = qq{\\\n\t} . $dependencies if scalar @dependencies > 1; + my @host_dependencies = map { q{host-} . fsname( $_ ); } sort( @{$deps_build{$distname}}, + @{$deps_runtime{$distname}} ); + my $host_dependencies = join qq{ \\\n\t}, @host_dependencies; + $host_dependencies = qq{\\\n\t} . $host_dependencies if scalar @host_dependencies > 1; + my $license = brlicense( ref $dist->{license} eq 'ARRAY' + ? join q{ or }, @{$dist->{license}} + : $dist->{license} ); + my $license_files = join q{ }, sort keys %{$license_files{$distname}}; + if ($license_files && (!$license || $license eq q{unknown})) { + push @info, qq{[$distname] undefined LICENSE, see $license_files}; + $license = q{???}; + } say qq{write ${mkname}} unless $quiet; open my $fh, q{>}, $mkname; say {$fh} qq{################################################################################}; @@ -706,18 +779,10 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{${brname}_SITE = \$(BR2_CPAN_MIRROR)${directories}}; say {$fh} qq{${brname}_DEPENDENCIES = ${dependencies}} if $need_target{$distname} && $dependencies; say {$fh} qq{HOST_${brname}_DEPENDENCIES = ${host_dependencies}} if $need_host{$distname} && $host_dependencies; - say {$fh} qq{${brname}_LICENSE = ${license}} if $license && $license ne q{unknown}; + say {$fh} qq{${brname}_LICENSE = ${license}} if $license; say {$fh} qq{${brname}_LICENSE_FILES = ${license_files}} if $license_files; + say {$fh} qq{${brname}_DISTNAME = ${distname}}; say {$fh} qq{}; - foreach (sort @{$deps_optional{$distname}}) { - next if grep { $_ eq $distname; } @{$deps_runtime{$_}}; # avoid cyclic dependencies - my $opt_brname = brname( $_ ); - my $opt_fsname = fsname( $_ ); - say {$fh} qq{ifeq (\$(BR2_PACKAGE_PERL_${opt_brname}),y)}; - say {$fh} qq{${brname}_DEPENDENCIES += ${opt_fsname}}; - say {$fh} qq{endif}; - say {$fh} qq{}; - } say {$fh} qq{\$(eval \$(perl-package))} if $need_target{$distname}; say {$fh} qq{\$(eval \$(host-perl-package))} if $need_host{$distname}; close $fh; @@ -731,28 +796,82 @@ while (my ($distname, $dist) = each %dist) { say {$fh} qq{# retrieved by scancpan from ${mirror}/}; say {$fh} qq{md5 ${md5} ${filename}}; say {$fh} qq{sha256 ${sha256} ${filename}}; + my %license_files = %{$license_files{$distname}}; + if (scalar keys %license_files) { + say {$fh} q{}; + say {$fh} qq{# computed by scancpan}; + foreach my $license (sort keys %license_files) { + my $digest = $license_files{$license}; + say {$fh} qq{sha256 ${digest} ${license}}; + } + } + close $fh; + } + if (want_test( $distname ) && ($force || !-f $testname)) { + my $classname = $distname; + $classname =~ s|-||g; + my $modname = $distname; + $modname =~ s|-|::|g; + my $mark = $is_xs{$distname} ? q{ XS} : q{}; + my @indirect = (get_indirect_dependencies( $distname )); + say qq{write ${testname}} unless $quiet; + open my $fh, q{>}, $testname; + say {$fh} qq{from tests.package.test_perl import TestPerlBase}; + say {$fh} qq{}; + say {$fh} qq{}; + say {$fh} qq{class TestPerl${classname}(TestPerlBase):}; + say {$fh} qq{ """}; + say {$fh} qq{ package:}; + say {$fh} qq{ ${distname}${mark}}; + say {$fh} qq{ direct dependencies:}; + foreach my $dep (sort @{$deps_runtime{$distname}}) { + $mark = $is_xs{$dep} ? q{ XS} : q{}; + say {$fh} qq{ ${dep}${mark}}; + } + if (scalar @indirect > 0) { + say {$fh} qq{ indirect dependencies:}; + foreach my $dep (sort @indirect) { + $mark = $is_xs{$dep} ? q{ XS} : q{}; + say {$fh} qq{ ${dep}${mark}}; + } + } + say {$fh} qq{ """}; + say {$fh} qq{}; + say {$fh} qq{ config = TestPerlBase.config + \\}; + say {$fh} qq{ """}; + say {$fh} qq{ BR2_PACKAGE_PERL=y}; + say {$fh} qq{ BR2_PACKAGE_${brname}=y}; + say {$fh} qq{ """}; + say {$fh} qq{}; + say {$fh} qq{ def test_run(self):}; + say {$fh} qq{ self.login()}; + say {$fh} qq{ self.module_test("${modname}")}; close $fh; } } -my %pkg; -my $cfgname = q{package/Config.in}; -if (-f $cfgname) { - open my $fh, q{<}, $cfgname; - while (<$fh>) { - chomp; - $pkg{$_} = 1 if m|package/perl-|; +if ($new_pkgs) { + my %pkg; + my $cfgname = q{package/Config.in}; + if (-f $cfgname) { + open my $fh, q{<}, $cfgname; + while (<$fh>) { + chomp; + $pkg{$_} = 1 if m|package/perl-|; + } + close $fh; } - close $fh; + + foreach my $distname (keys %need_target) { + my $fsname = fsname( $distname ); + $pkg{qq{\tsource "package/${fsname}/Config.in"}} = 1; + } + + say qq{${cfgname} must contain the following lines:}; + say join qq{\n}, sort keys %pkg; } -foreach my $distname (keys %need_target) { - my $fsname = fsname( $distname ); - $pkg{qq{\tsource "package/${fsname}/Config.in"}} = 1; -} - -say qq{${cfgname} must contain the following lines:}; -say join qq{\n}, sort keys %pkg; +say join qq{\n}, @info; __END__ @@ -762,7 +881,7 @@ utils/scancpan Try-Tiny Moo =head1 SYNOPSIS -supports/scripts/scancpan [options] [distname ...] +utils/scancpan [options] [distname ...] Options: -help @@ -819,7 +938,6 @@ Perl/CPAN distributions required by the specified distnames. The dependencies and metadata are fetched from https://metacpan.org/. After running this script, it is necessary to check the generated files. -You have to manually add the license files (PERL_FOO_LICENSE_FILES variable). For distributions that link against a target library, you have to add the buildroot package name for that library to the DEPENDENCIES variable. @@ -831,7 +949,7 @@ in order to work with the right CoreList data. =head1 LICENSE -Copyright (C) 2013-2017 by Francois Perrad +Copyright (C) 2013-2018 by Francois Perrad This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -852,9 +970,9 @@ This script is a part of Buildroot. This script requires the module C (version 1.131730) which was included at the beginning of this file by the tool C. -See L. +See L. -See L. +See L. These both libraries are free software and may be distributed under the same terms as perl itself. diff --git a/bsp/buildroot/utils/scanpypi b/bsp/buildroot/utils/scanpypi index cb4b5e76..55b3d1e6 100755 --- a/bsp/buildroot/utils/scanpypi +++ b/bsp/buildroot/utils/scanpypi @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python """ Utility for building Buildroot packages for existing PyPI packages @@ -7,13 +7,12 @@ Any package built by scanpypi should be manually checked for errors. """ from __future__ import print_function +from __future__ import absolute_import import argparse import json -import urllib2 import sys import os import shutil -import StringIO import tarfile import zipfile import errno @@ -23,6 +22,16 @@ import textwrap import tempfile import imp from functools import wraps +import six.moves.urllib.request +import six.moves.urllib.error +import six.moves.urllib.parse +from six.moves import map +from six.moves import zip +from six.moves import input +if six.PY2: + import StringIO +else: + import io BUF_SIZE = 65536 @@ -88,6 +97,7 @@ def pkg_buildroot_name(pkg_name): pkg_name -- String to rename """ name = re.sub('[^\w-]', '', pkg_name.lower()) + name = name.replace('_', '-') prefix = 'python-' pattern = re.compile('^(?!' + prefix + ')(.+?)$') name = pattern.sub(r'python-\1', name) @@ -147,15 +157,15 @@ class BuildrootPackage(): self.metadata_url = 'https://pypi.org/pypi/{pkg}/json'.format( pkg=self.real_name) try: - pkg_json = urllib2.urlopen(self.metadata_url).read().decode() - except urllib2.HTTPError as error: + pkg_json = six.moves.urllib.request.urlopen(self.metadata_url).read().decode() + except six.moves.urllib.error.HTTPError as error: print('ERROR:', error.getcode(), error.msg, file=sys.stderr) print('ERROR: Could not find package {pkg}.\n' 'Check syntax inside the python package index:\n' 'https://pypi.python.org/pypi/ ' .format(pkg=self.real_name)) raise - except urllib2.URLError: + except six.moves.urllib.error.URLError: print('ERROR: Could not find package {pkg}.\n' 'Check syntax inside the python package index:\n' 'https://pypi.python.org/pypi/ ' @@ -169,6 +179,7 @@ class BuildrootPackage(): """ Download a package using metadata from pypi """ + download = None try: self.metadata['urls'][0]['filename'] except IndexError: @@ -181,7 +192,7 @@ class BuildrootPackage(): 'digests': None}] # In this case, we can't get the name of the downloaded file # from the pypi api, so we need to find it, this should work - urlpath = urllib2.urlparse.urlparse( + urlpath = six.moves.urllib.parse.urlparse( self.metadata['info']['download_url']).path # urlparse().path give something like # /path/to/file-version.tar.gz @@ -192,9 +203,9 @@ class BuildrootPackage(): continue try: print('Downloading package {pkg} from {url}...'.format( - pkg=self.real_name, url=download_url['url'])) - download = urllib2.urlopen(download_url['url']) - except urllib2.HTTPError as http_error: + pkg=self.real_name, url=download_url['url'])) + download = six.moves.urllib.request.urlopen(download_url['url']) + except six.moves.urllib.error.HTTPError as http_error: download = http_error else: self.used_url = download_url @@ -204,14 +215,33 @@ class BuildrootPackage(): self.md5_sum = hashlib.md5(self.as_string).hexdigest() if self.md5_sum == download_url['digests']['md5']: break - else: - if download.__class__ == urllib2.HTTPError: - raise download - raise DownloadFailed('Failed to download package {pkg}' + + if download is None: + raise DownloadFailed('Failed to download package {pkg}: ' + 'No source archive available' .format(pkg=self.real_name)) + elif download.__class__ == six.moves.urllib.error.HTTPError: + raise download + self.filename = self.used_url['filename'] self.url = self.used_url['url'] + def check_archive(self, members): + """ + Check archive content before extracting + + Keyword arguments: + members -- list of archive members + """ + # Protect against https://github.com/snyk/zip-slip-vulnerability + # Older python versions do not validate that the extracted files are + # inside the target directory. Detect and error out on evil paths + evil = [e for e in members if os.path.relpath(e).startswith(('/', '..'))] + if evil: + print('ERROR: Refusing to extract {} with suspicious members {}'.format( + self.filename, evil)) + sys.exit(1) + def extract_package(self, tmp_path): """ Extract the package contents into a directrory @@ -219,7 +249,10 @@ class BuildrootPackage(): Keyword arguments: tmp_path -- directory where you want the package to be extracted """ - as_file = StringIO.StringIO(self.as_string) + if six.PY2: + as_file = StringIO.StringIO(self.as_string) + else: + as_file = io.BytesIO(self.as_string) if self.filename[-3:] == 'zip': with zipfile.ZipFile(as_file) as as_zipfile: tmp_pkg = os.path.join(tmp_path, self.buildroot_name) @@ -233,6 +266,7 @@ class BuildrootPackage(): print('Removing {pkg}...'.format(pkg=tmp_pkg)) shutil.rmtree(tmp_pkg) os.makedirs(tmp_pkg) + self.check_archive(as_zipfile.namelist()) as_zipfile.extractall(tmp_pkg) pkg_filename = self.filename.split(".zip")[0] else: @@ -248,6 +282,7 @@ class BuildrootPackage(): print('Removing {pkg}...'.format(pkg=tmp_pkg)) shutil.rmtree(tmp_pkg) os.makedirs(tmp_pkg) + self.check_archive(as_tarfile.getnames()) as_tarfile.extractall(tmp_pkg) pkg_filename = self.filename.split(".tar")[0] @@ -265,6 +300,12 @@ class BuildrootPackage(): sys.path.append(self.tmp_extract) s_file, s_path, s_desc = imp.find_module('setup', [self.tmp_extract]) setup = imp.load_module('setup', s_file, s_path, s_desc) + if self.metadata_name in self.setup_args: + pass + elif self.metadata_name.replace('_', '-') in self.setup_args: + self.metadata_name = self.metadata_name.replace('_', '-') + elif self.metadata_name.replace('-', '_') in self.setup_args: + self.metadata_name = self.metadata_name.replace('-', '_') try: self.setup_metadata = self.setup_args[self.metadata_name] except KeyError: @@ -304,8 +345,8 @@ class BuildrootPackage(): if len(item) > 0 and item[0] != '#'] req_not_found = self.pkg_req - self.pkg_req = map(pkg_buildroot_name, self.pkg_req) - pkg_tuples = zip(req_not_found, self.pkg_req) + self.pkg_req = list(map(pkg_buildroot_name, self.pkg_req)) + pkg_tuples = list(zip(req_not_found, self.pkg_req)) # pkg_tuples is a list of tuples that looks like # ('werkzeug','python-werkzeug') because I need both when checking if # dependencies already exist or are already in the download list @@ -338,13 +379,14 @@ class BuildrootPackage(): version=self.version) lines.append(version_line) - targz = self.filename.replace( - self.version, - '$({name}_VERSION)'.format(name=self.mk_name)) - targz_line = '{name}_SOURCE = {filename}\n'.format( - name=self.mk_name, - filename=targz) - lines.append(targz_line) + if self.buildroot_name != self.real_name: + targz = self.filename.replace( + self.version, + '$({name}_VERSION)'.format(name=self.mk_name)) + targz_line = '{name}_SOURCE = {filename}\n'.format( + name=self.mk_name, + filename=targz) + lines.append(targz_line) if self.filename not in self.url: # Sometimes the filename is in the url, sometimes it's not @@ -413,8 +455,7 @@ class BuildrootPackage(): classifiers_licenses = [regexp.sub(r"\1", lic) for lic in self.metadata['info']['classifiers'] if regexp.match(lic)] - licenses = map(lambda x: license_dict[x] if x in license_dict else x, - classifiers_licenses) + licenses = [license_dict[x] if x in license_dict else x for x in classifiers_licenses] if not len(licenses): print('WARNING: License has been set to "{license}". It is most' ' likely wrong, please change it if need be'.format( @@ -428,8 +469,10 @@ class BuildrootPackage(): for license_file in license_files: with open(license_file) as lic_file: match = liclookup.match(lic_file.read()) - if match.confidence >= 90.0: + if match is not None and match.confidence >= 90.0: license_names.append(match.license.id) + else: + license_names.append("FIXME: license id couldn't be detected") if len(license_names) > 0: license_line = ('{name}_LICENSE =' @@ -547,7 +590,7 @@ class BuildrootPackage(): hash_line = '{method}\t{digest} {filename}\n'.format( method='sha256', digest=sha256.hexdigest(), - filename=os.path.basename(license_file)) + filename=license_file.replace(self.tmp_extract, '')[1:]) lines.append(hash_line) with open(path_to_hash, 'w') as hash_file: @@ -574,7 +617,7 @@ class BuildrootPackage(): lines.append('\thelp\n') - help_lines = textwrap.wrap(self.metadata['info']['summary'], + help_lines = textwrap.wrap(self.metadata['info']['summary'], 62, initial_indent='\t ', subsequent_indent='\t ') @@ -585,7 +628,7 @@ class BuildrootPackage(): # \t + two spaces is 3 char long help_lines.append('') help_lines.append('\t ' + self.metadata['info']['home_page']) - help_lines = map(lambda x: x + '\n', help_lines) + help_lines = [x + '\n' for x in help_lines] lines += help_lines with open(path_to_config, 'w') as config_file: @@ -626,7 +669,7 @@ def main(): print('Fetching package', package.real_name) try: package.fetch_package_info() - except (urllib2.URLError, urllib2.HTTPError): + except (six.moves.urllib.error.URLError, six.moves.urllib.error.HTTPError): continue if package.metadata_name.lower() == 'setuptools': # setuptools imports itself, that does not work very well @@ -636,7 +679,7 @@ def main(): try: package.download_package() - except urllib2.HTTPError as error: + except six.moves.urllib.error.HTTPError as error: print('Error: {code} {reason}'.format(code=error.code, reason=error.reason)) print('Error downloading package :', package.buildroot_name) @@ -684,7 +727,7 @@ def main(): continue print('Error: Package {name} already exists' .format(name=package.pkg_dir)) - del_pkg = raw_input( + del_pkg = input( 'Do you want to delete existing package ? [y/N]') if del_pkg.lower() == 'y': shutil.rmtree(package.pkg_dir) diff --git a/bsp/buildroot/utils/size-stats-compare b/bsp/buildroot/utils/size-stats-compare index e5a1ec3f..a3d7f250 100755 --- a/bsp/buildroot/utils/size-stats-compare +++ b/bsp/buildroot/utils/size-stats-compare @@ -24,14 +24,15 @@ import csv import argparse import sys + def read_file_size_csv(inputf, detail=None): """Extract package or file sizes from CSV file into size dictionary""" sizes = {} reader = csv.reader(inputf) header = next(reader) - if (header[0] != 'File name' or header[1] != 'Package name' or - header[2] != 'File size' or header[3] != 'Package size'): + if header[0] != 'File name' or header[1] != 'Package name' or \ + header[2] != 'File size' or header[3] != 'Package size': print(("Input file %s does not contain the expected header. Are you " "sure this file corresponds to the file-size-stats.csv " "file created by 'make graph-size'?") % inputf.name) @@ -45,6 +46,7 @@ def read_file_size_csv(inputf, detail=None): return sizes + def compare_sizes(old, new): """Return delta/added/removed dictionaries based on two input size dictionaries""" @@ -64,6 +66,7 @@ def compare_sizes(old, new): return delta + def print_results(result, threshold): """Print the given result dictionary sorted by size, ignoring any entries below or equal to threshold""" diff --git a/bsp/buildroot/utils/test-pkg b/bsp/buildroot/utils/test-pkg index 17d3756d..1995fa85 100755 --- a/bsp/buildroot/utils/test-pkg +++ b/bsp/buildroot/utils/test-pkg @@ -5,28 +5,37 @@ TOOLCHAINS_CSV='support/config-fragments/autobuild/toolchain-configs.csv' main() { local o O opts - local cfg dir pkg random toolchains_dir toolchain + local cfg dir pkg random toolchains_dir toolchain all number mode local ret nb nb_skip nb_fail nb_legal nb_tc build_dir local -a toolchains - o='hc:d:p:r:t:' + o='hac:d:n:p:r:t:' O='help,config-snippet:build-dir:package:,random:,toolchains-dir:' opts="$(getopt -n "${my_name}" -o "${o}" -l "${O}" -- "${@}")" eval set -- "${opts}" random=0 + all=0 + number=0 + mode=0 toolchains_csv="${TOOLCHAINS_CSV}" while [ ${#} -gt 0 ]; do case "${1}" in (-h|--help) help; exit 0 ;; + (-a|--all) + all=1; shift 1 + ;; (-c|--config-snippet) cfg="${2}"; shift 2 ;; (-d|--build-dir) dir="${2}"; shift 2 ;; + (-n|--number) + number="${2}"; shift 2 + ;; (-p|--package) pkg="${2}"; shift 2 ;; @@ -51,15 +60,37 @@ main() { dir="${HOME}/br-test-pkg" fi + if [ ${random} -gt 0 ]; then + mode=$((mode+1)) + fi + + if [ ${number} -gt 0 ]; then + mode=$((mode+1)) + fi + + if [ ${all} -eq 1 ]; then + mode=$((mode+1)) + fi + + # Default mode is to test the N first toolchains, which have been + # chosen to be a good selection of toolchains. + if [ ${mode} -eq 0 ] ; then + number=6 + elif [ ${mode} -gt 1 ] ; then + printf "error: --all, --number and --random are mutually exclusive\n" >&2; exit 1 + fi + # Extract the URLs of the toolchains; drop internal toolchains # E.g.: http://server/path/to/name.config,arch,libc # --> http://server/path/to/name.config toolchains=($(sed -r -e 's/,.*//; /internal/d; /^#/d; /^$/d;' "${toolchains_csv}" \ |if [ ${random} -gt 0 ]; then \ sort -R |head -n ${random} - else - cat - fi |sort + elif [ ${number} -gt 0 ]; then \ + head -n ${number} + else + sort + fi ) ) @@ -98,7 +129,7 @@ build_one() { mkdir -p "${dir}" - support/kconfig/merge_config.sh -O "${dir}" \ + CONFIG_= support/kconfig/merge_config.sh -O "${dir}" \ "${toolchainconfig}" "support/config-fragments/minimal.config" "${cfg}" \ >> "${dir}/logfile" 2>&1 # We want all the options from the snippet to be present as-is (set @@ -121,7 +152,7 @@ build_one() { fi # shellcheck disable=SC2086 - if ! make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then + if ! BR_FORCE_CHECK_DEPENDENCIES=YES make O="${dir}" ${pkg} >> "${dir}/logfile" 2>&1; then return 2 fi @@ -154,6 +185,10 @@ toolchain config fragment and the required host architecture, separated by a comma. The config fragments should contain only the toolchain and architecture settings. +By default, a useful subset of toolchains is tested. If needed, all +toolchains can be tested (-a), an arbitrary number of toolchains (-n +in order, -r for random). + Options: -h, --help @@ -170,9 +205,16 @@ Options: Test-build the package PKG, by running 'make PKG'; if not specified, just runs 'make'. + -a, --all + Test all toolchains, instead of the default subset defined by + Buildroot developers. + + -n N, --number N + Test N toolchains, in the order defined in the toolchain CSV + file. + -r N, --random N - Limit the tests to the N randomly selected toolchains, instead of - building with all toolchains. + Limit the tests to the N randomly selected toolchains. -t CSVFILE, --toolchains-csv CSVFILE CSV file containing the paths to config fragments of toolchains to